Sistemes Operatius II

Esteu aquí

Crèdits
6
Tipus
Obligatòria d'especialitat (Enginyeria de Computadors)
Requisits
  • Prerequisit: SO
  • Aquesta assignatura no es pot matricular si has aprovat: SOA
Departament
AC
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.

Professorat

Responsable

  • Juan José Costa Prats ( )

Altres

  • Alex Pajuelo Gonzalez ( )
  • Yolanda Becerra Fontal ( )

Hores setmanals

Teoria
2
Problemes
0
Laboratori
2
Aprenentatge dirigit
0
Aprenentatge autònom
6

Competències

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.

Competències Transversals

Actitud adequada davant el treball

  • G8 [Avaluable] - 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ó.

ús solvent dels recursos d'informació

  • G6 [Avaluable] - 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.

Competències Tècniques de cada especialitat

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

  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: CEC2.5, CEC3.2, CT6.3, CEC2.2, CEC2.4,
  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: CEC2.1, CEC2.3, CEC2.5, CT6.1, CT6.3, CT7.3, CEC2.2, CEC2.4, CEC4.2,
  3. Conèixer el mecanisme d'inserció dinàmica de codi sobre un SO real.
    Competències relacionades: CEC2.5, CT6.1, CT6.3, CT7.3, CEC2.4, CEC3.1, CEC4.2,
  4. Ser capaç d'implementar un controlador de dispositiu i inserir-lo en un SO real.
    Competències relacionades: CEC2.3, CEC2.5, CT6.1, CT6.3, CT7.3, CEC2.2, CEC2.4, CEC3.1,
  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: CEC2.5, CEC3.2, CT7.3, CEC2.4, CEC4.2,
  6. Conèixer alguns factors de risc en la la seguretat d'un sistema operatiu.
    Competències relacionades: CT7.3, CEC2.4, CEC4.2,
  7. Conèixer la implementació de diverses polítiques d'accés i seguretat.
    Competències relacionades: CEC2.5, CT6.3, CT7.3, CEC2.4, CEC4.2,
  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: CEC2.3, CEC2.5, CEC3.2, CT6.1, CT6.3, CT7.3, CEC2.2, CEC2.4,
  9. Desenvolupar programari de sistema per una arquitectura específica com intel x86. Usant llenguatge C i assemblador.
    Competències relacionades: CEC2.1, CEC2.3, CEC2.5, CEC3.2, CT6.1, CT6.3, CEC2.2, CEC2.4,
  10. Seleccionar els paràmetres del sistema operatiu més adequats en funció de la plataforma a utilitzar
    Competències relacionades: CEC3.2, CT6.1, CT7.3, CEC3.1, CEC4.2,
  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: G6.3,
  12. Saber descriure els conceptes més bàsics sobre la visió del SO de les xarxes de computadors.
    Competències relacionades: CEC2.5, CEC4.1, CT6.3, CEC2.4,
  13. Tenir una actitud proactiva per la qualitat i la millora contínua
    Competències relacionades: G8.3,
    Subcompetences:
    • 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
  14. Ser capaç d'adaptar-se a situacions de restriccions temporals i/o de recursos i/o de falta d'informació
    Competències relacionades: G8.3,
    Subcompetences:
    • Ser capaç de realitzar un treball a partir d'enunciat que té manques d'informació.

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

Activitat Acte avaluatiu


Familiarització amb l'entorn de treball

Adquisició del coneixement necessari per desenvolupar el laboratori.
  • Teoria: teoria
Objectius: 1 2 8 9
Teoria
0h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h

Rutina d'atenció a una interrupció

Desenvolupar una rutina d'atenció a l'interupció de rellotge
Objectius: 1 2 8 9 13 14
Continguts:
Teoria
2h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Creació d'un punt d'entrada al sistema

Creació d'un nou punt d'entrada al sistema per usar serveis del sistema
Objectius: 1 2 6 8 9 13 14
Continguts:
Teoria
2h
Problemes
0h
Laboratori
1h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Gestió de memòria

Es descriuran els principals algoritmes i la implementació de memòria virtual.
Objectius: 1 2 6 7 8 9
Continguts:
Teoria
4h
Problemes
0h
Laboratori
3h
Aprenentatge dirigit
0h
Aprenentatge autònom
8h

Gestió de processos

Desenvolupar les estructures bàsiques de gestió de processos, així com les funcionalitats per identificar, crear i destruir processos
Objectius: 1 2 6 8 9 10 13 14
Continguts:
Teoria
6h
Problemes
0h
Laboratori
6h
Aprenentatge dirigit
0h
Aprenentatge autònom
8h

Primer Control

Primera part de l'assignatura
Objectius: 1 2 6 8 9
Setmana: 8
Tipus: examen de teoria
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h

Primer examen Lab

Primer examen Laboratori
Objectius: 1 2 6 7 8 9 12
Setmana: 8
Tipus: examen de laboratori
Teoria
0h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h

Planificació de processos

Implementar el canvi de context i un planificador simple basat en quantum
Objectius: 2 6 8 9 13 14
Continguts:
Teoria
0h
Problemes
0h
Laboratori
6h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h

Extensió del kernel

Es descriuran els mecanismes més usats d'extensió del nucli d'un sistema operatiu
Objectius: 1 2 3 4 6 9 10
Continguts:
Teoria
1h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Gestió Entrada/Sortida i sistemes de fitxers

Desenvolupar alguns dels mecanismes d'entrada/sortida del sistema de fitxers d'un sistema operatiu
Objectius: 1 2 6 7 8 9 10 12 13 14
Continguts:
Teoria
5h
Problemes
0h
Laboratori
4h
Aprenentatge dirigit
0h
Aprenentatge autònom
7h

Comunicació entre processos

Implementació dels semafors
Objectius: 1 2 5 6 8 9 13 14
Continguts:
Teoria
2h
Problemes
0h
Laboratori
1h
Aprenentatge dirigit
0h
Aprenentatge autònom
7h

Xarxa

Montar una petita xarxa amb algun servei especialitzat
Objectius: 6 7 10 11 12
Teoria
1h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Segon Control

Segon control
Objectius: 1 2 3 4 5 6 7 8 9 10 12
Setmana: 14
Tipus: examen de teoria
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h

Projecte

Lliurament del codi i la documentació del proyecto.
Objectius: 1 2 3 4 5 6 7 8 9 10 12
Setmana: 14
Tipus: entrega
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h

Examen Final Teoria

Examen final de l'assignatura
Objectius: 10 12 1 2 3 4 5 6 7 8 9
Setmana: 15 (Fora d'horari lectiu)
Tipus: examen de teoria
Teoria
3h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h

Exàmen final laboratori


Objectius: 2 3 4 5 6 7 8 9 10
Setmana: 15 (Fora d'horari lectiu)
Tipus: examen de laboratori
Teoria
0h
Problemes
0h
Laboratori
3h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h

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ó

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 = (CT + CTr)*(10/11)

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

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

CT = max (CTc, CTf)

La nota CTc avalua les components de teoria (T) i de laboratori (L). La fórmula per calcular aquesta nota és la següent:

CTc = 40% T + 60% L

Per a calcular T s'utilitzen dos controls amb els mateixos pesos:

T = 50% T1 + 50% T2

Per a calcular L s'utilitza un control (L1), una nota de seguiment (S) i un projecte (P):

L = 30% L1 + 20% S + 50% P

La nota de seguiment (S) s'extreurà de l'avaluació que faci el professor sobre el correcte progrés de l'alumne al laboratori.

La nota de projecte (P) correspon al disseny, seguiment i implementació final del projecte.

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. Només poden optar a aquesta nota els alumnes que no hagin aprovat l'avaluació continuada. 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

Bibliografia

Bàsica:

Complementaria:

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.