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
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,
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,
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,
Conèixer alguns factors de risc en la la seguretat d'un sistema operatiu.
Competències relacionades:
CT7.3,
CEC2.4,
CEC4.2,
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,
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,
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,
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,
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,
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,
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
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
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.
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.
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.
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.
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.
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.
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
ActivitatActe avaluatiu
Familiarització amb l'entorn de treball
Adquisició del coneixement necessari per desenvolupar el laboratori.
Desenvolupar les estructures bàsiques de gestió de processos, així com les funcionalitats per identificar, crear i destruir processos Objectius:12689101314 Continguts:
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 = 50% T + 50% 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 = 40% L1 + 10% 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
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.