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

Sistemes Operatius II ( SO2 )

Crèdits ECTS Departament Tipus Requisits Idiomes Impartició
6.0 AC
  • Obligatòria d'especialitat (Enginyeria de Computadors)
Pre-requisit SO
  • Català   
  • Castellà   
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, mitjançant la implementació de diferents components del sistema, i diferents mètriques per a l'avaluació del seu rendiment.

Professors

Responsable:   Juan José Costa Prats (jcosta@ac.upc.edu)
Altres: Manuel Alejandro Pajuelo Gonzalez (mpajuelo@ac.upc.edu)
Yolanda Becerra Fontal (yolandab@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

  • ÚS SOLVENT DELS RECURSOS D'INFORMACIÓ

  • G6 - Gestionar l'adquisició, l'estructuració, l'anàlisi i la visualització de dades i d'informació de l'àmbit de l'enginyeria informàtica, i valorar de forma crítica els resultats d'aquesta gestió.
  • G6.3 - Planificar i utilitzar la informació necessària per a un treball acadèmic (per exemple, per al treball de final de grau) a partir d'una reflexió crítica sobre els recursos d'informació utilitzats. Gestionar la informació de manera competent, independent i autònoma. Avaluar la informació trobada i identificar-ne les llacunes.
  • ACTITUD ADEQUADA DAVANT EL TREBALL

  • G8 - Tenir motivació per a la realització professional i per a afrontar nous reptes, tenir una visió àmplia de les possibilitats de la carrera professional en l'àmbit de l'enginyeria en informàtica. Sentir-se motivat per la qualitat i la millora contínua, i actuar amb rigor en el desenvolupament professional. Capacitat d'adaptació als canvis organitzatius o tecnològics. Capacitat de treballar en situacions de carència d'informació i/o amb restriccions temporals i/o de recursos.
  • G8.3 - Estar motivat pel desenvolupament professional, per a afrontar nous reptes i per la millora contínua. Tenir capacitat de treball en situacions de falta d'informació.


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.
  • CT7 - Avaluar i seleccionar plataformes de producció hardware i software per a l'execució d'aplicacions i de serveis informàtics.
  • CT7.3 - Determinar els factors que incideixen negativament en la seguretat i la fiabilitat d'un sistema hardware/software, i minimitzar-ne els efectes.
  • ESPECIALITAT ENGINYERIA DE COMPUTADORS

  • CEC2 - Analitzar i avaluar arquitectures de computadors incloent plataformes paral·leles i distribuïdes, i desenvolupar i optimitzar software per a aquestes plataformes.
  • CEC2.1 - Analitzar, avaluar, seleccionar i configurar plataformes hardware per al desenvolupament i l'execució d'aplicacions i serveis informàtics.
  • CEC2.2 - Programar considerant l'arquitectura hardware, tant en assemblador com en alt nivell.
  • CEC2.3 - Desenvolupar i analitzar software per a sistemes basats en microprocessadors i les seves interfícies amb usuaris i altres dispositius.
  • CEC2.4 - Dissenyar i implementar software de sistema i de comunicacions.
  • CEC2.5 - Dissenyar i implementar sistemes operatius.
  • CEC3 - Desenvolupar i analitzar hardware i software per a sistemes encastats i/o de molt baix consum.
  • CEC3.1 - Analitzar, avaluar i seleccionar les plataformes hardware i software més adients per al suport d'aplicacions encastades i de temps real.
  • CEC3.2 - Desenvolupar processadors específics i sistemes encastats; desenvolupar i optimitzar el software d'aquests sistemes. 
  • CEC4 - Dissenyar, desplegar, administrar i gestionar xarxes de computadors, i gestionar la garantia i la seguretat dels sistemes informàtics.
  • CEC4.1 - Dissenyar, desplegar, administrar i gestionar xarxes de computadors.
  • CEC4.2 - Demostrar comprensió, aplicar i gestionar la garantia i la seguretat dels sistemes informàtics.

Objectius Específics

  1. Conèixer el funcionament d'un SO real, des 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. Conèixer el mecanisme d'inserció dinàmica de codi sobre un SO real.

    Competències relacionades
  4. Ser capaç d'implementar un controlador de dispositiu i inserir-lo en un SO real.

    Competències relacionades
  5. Conèixer la programació multifil, la problemàtica de l'ús compartit de memòria i els mecanismes d'exclusió mútua

    Competències relacionades
  6. Conèixer alguns factors de risc en la la seguretat d'un sistema operatiu.

    Competències relacionades
  7. Conèixer la implementació de diverses polítiques d'accés i seguretat.

    Competències relacionades
  8. Ser capaç d'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.

    Competències relacionades
  9. Desenvolupar programari de sistema per una arquitectura específica com intel x86. Usant llenguatge C i assemblador.

    Competències relacionades
  10. Seleccionar els paràmetres del sistema operatiu més adequats en funció de la plataforma a utilitzar

    Competències relacionades
  11. Buscar, organitzar i resumir informació rellevant i de qualitat sobre un tema desconegut. Escriure documents amb una reflexió crítica sobre les idees principals d'aquest tema.

    Competències relacionades
  12. Saber descriure els conceptes més bàsics sobre la visió del SO de les xarxes de computadors.

    Competències relacionades
  13. Tenir una actitud proactiva per la qualitat i la millora contínua

    SubObjectius
    • Ser capaç de produïr un codi de qualitat que compleixi els requeriments dels enunciats, que sigui clar i ben organitzat.
    • Ser capaç de valorar la qualitat d'un codi mitjançant rúbriques

    Competències relacionades
  14. Ser capaç d'adaptar-se a situacions de restriccions temporals i/o de recursos i/o de falta d'informació

    SubObjectius
    • Ser capaç de realitzar un treball a partir d'enunciat que té manques d'informació.

    Competències relacionades

Continguts

1. Inicialització del sistema

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

2. Mecanismes d'entrada al sistema

Es descriuran i discutiran les possibles implementacions de mecanismes d'entrada al sistema juntament amb el seu suport hardware. Es detallaran els aspectes importants dels mecanismes i les dependències entre el sistema operatiu i el hardware. Es comentarà 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 memoria

En aquest capítol es tractaran els següents temes: Espai d'adreces lògic del procés. Sistemes de memòria basats en paginació i el seu suport hardware. Disseny i implementació de la memòria virtual. Algorismes 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 i dependència del hardware.

4. Gestió de processos

En aquest capítol es tractaran els següents temes: Implementació detallada del bloc de control de procés. Implementació detallada del procés de creació de processos. Implementació detallada del procés de finalització de processos. Implementació detallada del procés de càrrega d'executables. Implementació detallada del canvi de context entre processos. Descripció detallada de les estructures i algorismes de planificació de processos. Implementació detallada 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 de nucli del SO. Càrrega de mòduls de 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 del SO independent i dependent del dispositiu. Implementació d'un descriptor de dispositius. Descripció, funcionament i implementació de les estructures relatives a la E / S i al sistema de fitxers. Descripció i implementació de l'estructura lògica del sistema de fitxers en disc. Mecanismes de comunicació entre processos a través del sistema de fitxers. Mecanismes de comunicació entre processos a través de la xarxa. Descripció i 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:

Descripció tipus d'hores
T     teoria
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
  • 5. Extensió del nucli del sistema
Creació d'un punt d'entrada al sistema T      P      L      AA    AD    Total 
2.0 0.0 1.0 4.0 0.0 7.0

Alumne: Creació d'un nou punt d'entrada al sistema per usar serveis del sistema

Objectius:

Continguts
  • 1. Inicialització del sistema
  • 2. Mecanismes d'entrada al sistema
  • 5. Extensió del nucli del sistema
Gestió de memòria T      P      L      AA    AD    Total 
6.0 0.0 1.0 6.0 0.0 13.0

Alumne: Es descriuran els principals algoritmes i la implementació de memòria virtual.

Objectius:

Continguts
  • 3. Gestió de memoria
  • 4. Gestió de processos
Gestió de processos T      P      L      AA    AD    Total 
6.0 0.0 8.0 6.0 0.0 20.0

Alumne: Desenvolupar les estructures bàsiques de gestió de processos, així com les funcionalitats per identificar, crear i destruir processos

Objectius:

Continguts
  • 2. Mecanismes d'entrada al sistema
  • 3. Gestió de memoria
  • 4. Gestió de processos
Primer Control T      P      L      AA    AD    Total 
1.0 - - 6.0 - 7.0

Primera part de l'assignatura

Setmana 8
Tipus Examen: Control de teoria

Objectius:
Primer examen Lab T      P      L      AA    AD    Total 
- - 1.0 6.0 - 7.0

Primer examen Laboratori

Setmana 8
Tipus Examen: Control de laboratori

Objectius:
Planificació de processos T      P      L      AA    AD    Total 
0.0 0.0 6.0 6.0 0.0 12.0

Alumne: Implementar el canvi de context i un planificador simple basat en quantum

Objectius:

Continguts
  • 2. Mecanismes d'entrada al sistema
  • 4. Gestió de processos
Extensió del kernel T      P      L      AA    AD    Total 
3.0 0.0 0.0 4.0 0.0 7.0

Alumne: Es descriuran els mecanismes més usats d'extensió del nucli d'un sistema operatiu

Objectius:

Continguts
  • 5. Extensió del nucli del sistema
Gestió Entrada/Sortida i sistemes de fitxers T      P      L      AA    AD    Total 
5.0 0.0 4.0 6.0 0.0 15.0

Alumne: Desenvolupar alguns dels mecanismes d'entrada/sortida del sistema de fitxers d'un sistema operatiu

Objectius:

Continguts
  • 6. Gestió de l'entrada / sortida i sistema de fitxers
Comunicació entre processos T      P      L      AA    AD    Total 
2.0 0.0 3.0 6.0 0.0 11.0

Alumne: Implementació dels semafors

Objectius:

Continguts
  • 7. Memòria compartida
Xarxa T      P      L      AA    AD    Total 
1.0 0.0 0.0 4.0 0.0 5.0

Alumne: Montar una petita xarxa amb algun servei especialitzat

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

Segon control

Setmana 14
Tipus Examen: Control de teoria

Objectius:
Segon examen lab T      P      L      AA    AD    Total 
- - 2.0 6.0 - 8.0

Segon examen laboratori

Setmana 14
Tipus Examen: Control de laboratori

Objectius:
Examen Final Teoria T      P      L      AA    AD    Total 
- - - 6.0 3.0 9.0

Examen final de l'assignatura

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. Durant el laboratori es dissenyarà, i implementarà un sistema operatiu didàctic anomenat Zeos. Aquesta pràctica es realitzarà en grups de 2 persones.

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

  • 5.0 % - Planificar i utilitzar la informació necessària per a un treball acadèmic (per exemple, per al treball de final de grau) a partir d'una reflexió crítica sobre els recursos d'informació utilitzats. Gestionar la informació de manera competent, independent i autònoma. Avaluar la informació trobada i identificar-ne les llacunes.
  • 5.0 % - Estar motivat pel desenvolupament professional, per a afrontar nous reptes i per la millora contínua. Tenir capacitat de treball en situacions de falta d'informació.

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 .


  • KERNIGHAN, Brian W.; RITCHIE, Dennis M. , C. Programming Language , Prentice Hall , 1988 .


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


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