Saltar al contingut Saltar a navegacio
Mapa
  • Inici
  • Informació
  • Contacte
  • Mapa

Sistemes Operatius Avançats ( SOA )

Crèdits ECTS Departament Tipus Requisits Idiomes Impartició
6.0 AC
  • Obligatòria d'especialitat (Tecnologies de la informació)
Pre-requisit SO
  • Català   
  • Castellà   
  • Anglès   
Centre on s'imparteix l'assignatura: Facultat d'Informàtica de Barcelona (FIB) - Universitat Politècnica de Catalunya - BarcelonaTECH

Descripció

Aquesta assignatura ofereix una visió interna del funcionament bàsic d'un Sistema Operatiu, avaluant la implicació que té sobre el rendiment de les aplicacions la implementació de diferents components de sistema.

Professors

Responsable:   Yolanda Becerra Fontal (yolandab@ac.upc.edu)
Altres: Juan José Costa Prats (jcosta@ac.upc.edu)
Manuel Alejandro Pajuelo Gonzalez (mpajuelo@ac.upc.edu)
Dedicació en hores setmanals T : 2.0 P : 0.0 L : 2.0 AA : 5.6 AD : 0.4

Competències Genèriques

Competències Transversals

  • TERCERA LLENGUA

  • G3 - Conèixer l'idioma anglès amb un nivell adequat de forma oral i escrita, i en consonància amb les necessitats que tindran els graduats i les graduades en Enginyeria Informàtica. Capacitat de treballar en un grup multidisciplinar i en un entorn multilingüe i de comunicar, tant per escrit com de forma oral, coneixements, procediments, resultats i idees relacionats amb la professió d'enginyer tècnic en informàtica.
  • G3.1 - Comprendre i utilitzar eficaçment manuals, especificacions de productes i altra informació de caràcter tècnic escrita en anglès.


Competències Tècniques

  • COMPETÈNCIES TÈCNIQUES COMUNES

  • CT6 - Demostrar coneixement i comprensió del funcionament intern d'un computador i del funcionament de les comunicacions entre ordinadors.
  • CT6.1 - Demostrar coneixement i tenir capacitat per a administrar i mantenir sistemes, serveis i aplicacions informàtiques.
  • CT6.3 - Demostrar coneixement de les característiques, funcionalitats i estructura dels Sistemes Operatius que en permeti un ús adequat, administració i disseny, així com la implementació d'aplicacions basades en els seus serveis.
  • CT6.4 - Demostrar coneixement i capacitat d'aplicació de les característiques, de les funcionalitats i de l'estructura dels Sistemes Distribuïts i de les Xarxes de Computadors i d'Internet que en garanteixi l'ús i l'administració, així com el disseny i la implementació d'aplicacions basades en elles.
  • CT7 - Avaluar i seleccionar plataformes de producció hardware i software per a l'execució d'aplicacions i de serveis informàtics.
  • CT7.1 - Demostrar coneixement de les mètriques de qualitat i saber-les utilitzar.
  • CT7.2 - Avaluar sistemes hardware/software en funció d'un criteri de qualitat determinat.
  • CT8 - Planificar, concebre, desplegar i dirigir projectes, serveis i sistemes informàtics en tots els àmbits, liderar-ne la posada en marxa, la millora contínua i valorar-ne l'impacte econòmic i social.
  • CT8.7 - Controlar versions i configuracions del projecte.
  • ESPECIALITAT TECNOLOGIES DE LA INFORMACIÓ

  • CTI1 - Definir, planificar i gestionar la instal·lació de la infraestructura TIC de l'organització.
  • CTI1.4 - Seleccionar, dissenyar, desplegar, integrar, avaluar, construir, gestionar, explotar i mantenir les tecnologies de hardware, software i xarxes, dintre dels paràmetres de cost i qualitat adequats.
  • CTI3 - Dissenyar solucions que integrin tecnologies de hardware, software i comunicacions (i capacitat de desenvolupar solucions específiques de software de sistemes) per a sistemes distribuïts i dispositius de computació ubiqua.
  • CTI3.4 - Dissenyar software de comunicacions.

Objectius Específics

  1. Conèixer el funcionament d'un SO real, des de que arrenca l'ordinador i la inicialització del sistema, passant per la gestió dinàmica de recursos, fins que s'apaga l'ordinador.

    Competències relacionades
  2. Conèixer els detalls de la implementació d'alguns dels components bàsics d'un SO real: codi d'inicialització, codi de gestió de memòria, codi de gestió de l'entrada / sortida, codi de gestió dels processos i codi de càrrega de fitxers executables.

    Competències relacionades
  3. Descriure el funcionament del mecanisme d'inserció dinàmica de codi en un SO real

    Competències relacionades
  4. Detallar l'estructura interna d'un mòdul de nucli identificant els diferents components juntament amb la seva relació amb la interfície genèrica del SO i lús d'estructures en memòria per al control de l'entrada / sortida.

    Competències relacionades
  5. Conèixer la programació multifil, la problemàtica de l'ús compartit de memòria i la implementació de mecanismes d'exclusió mútua juntament amb el suport hardware necessari.

    Competències relacionades
  6. Implementar alguns dels components bàsics d'un SO real: codi d'inicialització, codi de gestió de memòria, codi de gestió de l'entrada / sortida, codi de gestió dels processos i codi de càrrega de fitxers executables utilitzant llenguatge C i assemblador sobre una arquitectura intel x86.

    Competències relacionades
  7. Comparar i avaluar les diferents alternatives d'implementació de codi de gestió de recursos mitjançant mètriques de cost, eficiència i qualitat

    Competències relacionades
  8. Dissenyar programari de comunicacions en aplicacions multiprocés i / o multifil.

    Competències relacionades
  9. Saber utilitzar i entendre els documents tècnics en anglès proporcionats amb el sistema operatiu.

    Competències relacionades
  10. Utilitzar programari de control de versions.

    Competències relacionades

Continguts

1. Inicialització del sistema

En aquest capítol s'explicaran totes les accions que es fan per arrencar tots els serveis que ofereix un sistema operatiu. També es descriuran i discutiran les possibles implementacions d'aquest procés en un sistema operatiu actual.

2. Mecanismes d'entrada al sistema

Es descriuran i discutiran les possibles implementacions de mecanismes d'entrada al sistema junt amb el seu suport hardware. Es detallaran els aspectes més importants dels mecanismes i les dependències entre el sistema operatiu i el hardware. Es comentaran els avantatges de la implementació de tècniques de virtualització actuals. Es presentaran i discutiran les diferents implementacions de sistemes operatius actuals.

3. Gestió de memòria

En aquest capítol es tractaran els següents temes: espai de adreces lògiques del procés. Sistemes de memòria basats en paginació i el seu suport hardware. Disseny i implementació de la memoria virtual. Algoritmes de reemplaç de la memòria virtual. Implementació de memòria compartida. Alternatives de disseny i implementació de sistemes de memòria en sistemes operatius actuals.

4. Gestió de processos

En aquest capítol se tractaran els següents temes: implementació detallada del bloc de control del procés. Implementació detallada de la creació d'un procés. Implementació detallada de la finalització d'un procés. Implementació detallada de la carrega d'un executable. Implementació detallada del canvi de context entre processos. Descripció detallada de les estructures i algoritmes de planificació de processos. Implementació de tallada de les rutines de planificació de processos. Descripció i discussió de les diferents implementacions de planificació de processos en sistemes operatius actuals.

5. Extensió del nucli del sistema

En aquest capítol es tractaran els següents temes: concepte, disseny i implementació de mòduls del SO. Carrega de mòduls del nucli en temps d'inicialització del sistema i en temps d'execució. Descripció de l'accés a funcionalitats implementades en mòduls de nucli. Descripció de la relació entre mòduls de nucli i dispositius físics i lògics.

6. Gestió de l'entrada/sortida i sistema de fitxers

En aquest capítol es tractaran els següents temes: descripció i implementació de la part independent i dependent del dispositiu. Implementació d'un descriptor de dispositius. Descripció, funcionament i implementació de les estructures relatives a la entrada/sortida i al sistema de fitxers. Descripció i implementació de l'estructura lògica del sistema de fitxers a disc. Mecanismes de comunicació a través del sistema de fitxers. Mecanismes de comunicació a través d'una xarxa. Descripció de la implementació de diversos sistemes de fitxers actuals.

7. Memòria compartida

En aquest capítol es tractaran els següents temes: problemàtica de tenir memòria compartida entre diversos fluxos d'execució dins d'un procés. Condicions de carrera. Zones d'exclusió mútua. Descripció i implementació de mecanismes d'exclusió mútua en l'accés a memòria compartida, en concret, test and set, mutex i semàfors. Descripció, implementació i discussió de mecanismes d'exclusió mútua en sistemes operatius actuals.

Activitats

Llegenda

ActivitatActivitat de tipus Acte avaluatiu T P L AA AD
Activitat Activitat de tipus Acte avaluatiu Hores de Teoria Hores de Problemes Hores de Laboratori Hores d'Aprenentatge Autònom Hores d'Aprenentatge Dirigit

Familiarització amb l'entorn de treball T      P      L      AA    AD    Total 
0.0 0.0 2.0 2.0 0.0 4.0

Alumne: Adquisició del coneixement necessari per desenvolupar el laboratori.

Objectius:
Rutina d'atenció a una interrupció T      P      L      AA    AD    Total 
2.0 0.0 2.0 4.0 0.0 8.0

Alumne: Desenvolupar una rutina d'atenció a l'interupció de rellotge

Objectius:

Continguts
  • 1. Inicialització del sistema
  • 2. Mecanismes d'entrada al sistema
Creació d'un punt d'entrada al sistema T      P      L      AA    AD    Total 
2.0 0.0 2.0 5.0 0.0 9.0

Alumne: Creació d'un nou punt d'entrada al sistema per configuració interna

Objectius:

Continguts
  • 1. Inicialització del sistema
  • 2. Mecanismes d'entrada al sistema
Gestió de memòria T      P      L      AA    AD    Total 
3.0 0.0 3.0 6.0 0.0 12.0

Alumne: Assimilar els continguts d'aquest tema

Objectius:

Continguts
  • 3. Gestió de memòria
Gestió de processos T      P      L      AA    AD    Total 
6.0 0.0 7.0 8.0 0.0 21.0

Alumne: Implementació del component de gestió de processos (creació, planificador, polítiques de planificació, ...)

Objectius:

Continguts
  • 4. Gestió de processos
Primer control teoria T      P      L      AA    AD    Total 
1.0 - - 6.0 - 7.0

Setmana 8
Tipus Examen: Control de teoria

Objectius:
Primer control laboratori T      P      L      AA    AD    Total 
- - 1.0 6.0 - 7.0

Setmana 8
Tipus Examen: Control de laboratori

Objectius:
Extensió del kernel T      P      L      AA    AD    Total 
1.0 0.0 0.0 6.0 0.0 7.0

Alumne: Assimilar els conceptes d'aquest tema

Objectius:

Continguts
  • 5. Extensió del nucli del sistema
Entrada i sortida i sistema de fitxers T      P      L      AA    AD    Total 
6.0 0.0 0.0 6.0 0.0 12.0

Alumne: Assimilar els conceptes d'aquest tema

Objectius:

Continguts
  • 6. Gestió de l'entrada/sortida i sistema de fitxers
Comunicación entre procesos T      P      L      AA    AD    Total 
6.0 0.0 7.0 6.0 0.0 19.0

Alumne: Desenvolupament d'aplicacions multiprocés/multifil, amb intercanvi d'informació, i avaluació del seu rendiment

Objectius:

Continguts
  • 4. Gestió de processos
  • 6. Gestió de l'entrada/sortida i sistema de fitxers
  • 7. Memòria compartida
Anàlisi del rendiment del sistema T      P      L      AA    AD    Total 
1.0 0.0 4.0 5.0 0.0 10.0

Alumne: L'alumne pensarà, decidirà i avaluarà diverses mètriques a nivell de sistema

Objectius:

Continguts
  • 3. Gestió de memòria
  • 4. Gestió de processos
Segon control de laboratori T      P      L      AA    AD    Total 
- - 2.0 6.0 - 8.0

Setmana 14
Tipus Examen: Control de laboratori

Objectius:
Segon control teoria T      P      L      AA    AD    Total 
2.0 - - 6.0 - 8.0

Setmana 14
Tipus Examen: Control de teoria

Objectius:
Exàmen final Teoria T      P      L      AA    AD    Total 
- - - 6.0 3.0 9.0

Setmana 15-18
Tipus Examen: Examen final

Objectius:
Exàmen final laboratori T      P      L      AA    AD    Total 
- - - 6.0 3.0 9.0

Setmana 15-18
Tipus Examen: Examen final

Objectius:
Total per tipus T      P      L      AA    AD    Total 
30.0 0.0 30.0 84.0 6.0 150.0

Metodologia docent

L'assignatura tindrà principalment dos tipus de classe: teoria i laboratoris. Les classes de teoria seran per explicar els conceptes, dissenys i implementació dels diferents components d'un sistema operatiu actual. Aquestes classes es faran amb el suport de transparencies.

Les classes de laboratori seran setmanals. Les primeres 7 setmanes es dissenyarà, implementarà i avaluarà un planificador de processos en un sistema operatiu didàctic anomenat Zeos. Les darreres 7 setmanes s'implementaran i avaluaran aplicacions multiprocés/multifil a Linux.

Mètode d'avaluació

Tipus d'avaluació

Es pot aprovar l'assignatura amb la màxima nota mitjançant l'avaluació continuada durant les 14 setmanes de classe

La nota final de l'assignatura està composta per la nota de la competència tècnica (CT), i la nota de la competència transversal (CTr) mitjançant la fórmula:

Nota Assig = min (10, CT + CTr)

On la nota màxima de CTr és 1.

La nota de la CT es pot obtenir obtenir per avaluació continuada (CTc) o per un examen final (CTf). Es calcula com:

CT = max (CTc, CTf)

La nota CTc està composta de diversos actes avaluatius: controls de teoria (T), controls de laboratori (L), i lliuraments del treball realitzat en les sessions de laboratori (E). La fórmula per calcular aquesta nota és la següent:

CTc = 50% T + 25% L + 25% E

Per a calcular T s'utilitzen dos controls amb un pes de 40% i de 60% respectivament:

T = 40% T1 + 60% T2

Per a calcular L també s'utilitzen dos controls amb els mateixos pesos:

L = 40% L1 + 60% L2.

El càlcul de E es basarà en diversos lliuraments al llarg del curs, cadascuna amb idèntic valor.

La nota CTf es calcula mitjançant un examen de teoria (T) i un examen de laboratori (L). Per obtenir aquesta nota és obligatori fer tots dos exàmens. La fórmula és la següent:

CTf = 50% T + 50% L

La nota de la competència transversal (CTr) s'obtindrà durant tot el quadrimestre a través de diverses activitats. La qualificació d'aquesta competència tindrà valors A, B, C, D o NA: A correspon a un nivell excel · lent, B a un nivell desitjat, C a un nivell suficient, D a un nivell no superat i NA a no avaluat.

Pes de les competències transversals en l'avaluació de la part específica de l'assignatura

  • 10.0 % - Comprendre i utilitzar eficaçment manuals, especificacions de productes i altra informació de caràcter tècnic escrita en anglès.

Bibliografía bàsica

  • SILBERSCHATZ,Abraham; GALVIN, Peter B. ; GAGNE, Greg , Operating System Concepts , John Wiley &Sons , INC. , 2009 .


Bibliografía complementària

  • BOVET, Daniel P.;CESATI, Marco , Understanding the Linux Kernel , O'Reilly .


  • RUSSINOVIC, Mark; SALOMON, David A. , Windows Internals: Including Windows Server 2008 and Windows Vista, Fifth Edition , Microsoft Press , 2009 .


  • STALLINGS, William , Operating Systems: Internals and Design Principles (4th Edition) , Pearson Education , 2000 .


Capacitats prèvies

L'estudiant ha de tenir les capacitats técniques que li otorguen les assignatures cursades previament a més de un nivell d'anglés técnic mitjà com per llegir i entendre una documentació.

En quant a capacitats técniques les podriem resumir en:

-En quant a sistemes operatius: Coneixement dels conceptes bàsics d'un sistema operatiu junt amb programació d'aplicacions fent servir la interficie genèrica de crides al sistema tot impartit a Sistemes Operatius.
-En quant a estructura de computadores: Coneixement dels elements principals d'un ordenador, relacio d'aquests elements entre si, representació interna de dades i coneixements de llenguatge màquina.
-En quant a programació: Capacitat de fer programes complexos i modularitzats desde cero que incloguin definició de tipus de dades, referències amb punters i codi en ensamblador. Compilació i muntatge d'executables.

Compartir

 
logo FIB © Facultat d'Informàtica de Barcelona - Contacte - RSS