En l'assignatura de Conceptes Avançats de Sistemes Operatius (CASO), l'estudiant aprendrà a dissenyar, implementar i analitzar sistemes operatius, l'entorn d'execució que ofereixen i avaluar la seva qualitat. Els continguts de l'assignatura cobreixen els temes d'arquitectures on s'executa un sistema operatiu, des d'entorns mòbils fins a servidors, suport hardware necessari per l'SO, tipus de serveis que ofereixen els sistemes operatius, requeriments de les aplicacions i temps real, control de l'energia, suport al paral·lelisme, desenvolupament d'aplicacions sobre l'SO, tècniques de virtualització i gestió de la garantia i seguretat del sistema i les aplicacions. L'avaluació de l'assignatura es farà mitjançant tres controls parcials al llarg del quadrimestre, un examen de laboratori i un examen final.
Professorat
Responsable
Xavier Martorell Bofill (
)
Altres
Jordi Fornes de Juan (
)
Hores setmanals
Teoria
2
Problemes
0
Laboratori
2
Aprenentatge dirigit
0
Aprenentatge autònom
6
Competències
Competències Tècniques de cada especialitat
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.
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.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.
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.
Competències Transversals
Aprenentatge autònom
G7 [Avaluable] - Detectar carències en el coneixement propi i superar-les mitjançant la reflexió crítica i l'elecció de la millor actuació per ampliar aquest coneixement. Capacitat per a l'aprenentatge de nous mètodes i tecnologies, i versatilitat per a adaptar-se a noves situacions.
G7.3
- Aprenentatge autònom: capacitat de planificació i organització del treball personal. Aplicar els coneixements adquirits a la realització d'una tasca en funció de la pertinença i de la importància, decidir la manera de dur-la a terme i el temps que se li ha de dedicar, i seleccionar les fonts d'informació més adients. Identificar la importància d'establir i mantenir contactes amb els companys d'estudis, amb el professorat i amb els professionals (networking). Identificar fòrums d'informació sobre enginyeria TIC, els seus avenços i el seu impacte en la societat (IEEE, associacions, etc.).
Objectius
Treballar amb les abstraccions del sistema operatiu
Competències relacionades:
CEC2.3,
CEC2.4,
G7.3,
CTI1.4,
Subcompetences:
Gestió de memòria
Gestió de processos i fluxos
Accés a fitxers
Gestió de les comunicacions
Analisi i avaluacio de les abstraccions del sistema operatiu
Competències relacionades:
CEC2.1,
CEC3.1,
G7.3,
CTI1.4,
Usar les eines de desenvolupament de sistemes operatius
Competències relacionades:
CEC2.3,
G7.3,
Subcompetences:
Compiladors, enllaçadors i altres eines de suport
Saber usar en cada moment les eines de suport del maquinari al sistema operatiu
Competències relacionades:
CEC2.1,
CEC2.4,
CEC3.1,
CTI1.4,
Subcompetences:
Gestió de la memòria, TLB i taules de pàgines
Eines de sincronitzacio
Utilitzar les tecniques d'avaluacio del rendiment de sistemes operatius
Competències relacionades:
CEC2.1,
CEC3.1,
G7.3,
CTI1.4,
Subcompetences:
Avaluacio de la sobrecarrega que introdueixen els serveis de sistema
Suport del sistema operatiu als sistemes de fitxers
Competències relacionades:
CEC2.3,
CEC2.5,
CEC2.4,
G7.3,
Subcompetences:
Eines de suport a la integritat de dades: journaling
Coneixer, saber usar i implementar gestors de dispositius dins el sistema operatiu
Competències relacionades:
CTI3.4,
CEC2.5,
CEC2.4,
G7.3,
Subcompetences:
Dispositius d'emmagatzament
Dispositius d'interaccio amb l'usuari
Dispositius de comunicacions
Implementar i avaluar support per temps real
Competències relacionades:
CEC2.1,
CEC3.1,
G7.3,
CTI1.4,
Abstraccions del Sistema Operatiu
En aquest tema, es presenten les abstracccions que els sistemes operatius ofereixen al nivell usuari i a les aplicacions: processos i fluxos, regions de memòria, magatzems de dades i entrada/sortida, gestió de dispositius. Es fan comparacions entre diferents abstraccions que s'ofereixen com a equivalents i es determina quines són més apropiades
Eines de desenvolupament dels sistemes operatius
Es presenten les eines necessàries per al desenvolupament dels sistemes operatius:compilador i enllaçador, gestors de protocols, etc.
Eines del maquinari de suport al sistema operatiu
Eines bàsiques que ofereix el maquinari per tal de poder implementar els sistemes operatius.
Eines de sincronitzacio
Ús de les eines de sincronització que ofereix el maquinari en el sistema operatiu i com s'ofereixen eficientment al nivell de les aplicacions.
Avaluació del rendiment del sistema operatiu
Determinar la sobrecàrrega que introdueix l'ús de cada abstracció del sistema operatiu i avaluació del rendiment del sistema
Sistemes de fitxers
Gestió de dades en els sistemes de fitxers i eines de suport a la seva integritat
Gestió de dispositius
Representació dels dispositius dins els sistemes operatius, tractament dels diferents dispositius: disc, xarxa, interacció amb l'usuari.
Desenvolupament de gestors de dispositius
Introducció de nous gestors de dispositius en el sistema operatiu
Suport del sistema operatiu per aplicacions per temps real
Eines i llibreries de suport a aplicacions que donin resposta en temps real
Suport del sistema operatiu als entorns virtualitzats
Implementació de màquines virtuals amb/sense suport del maquinari. Opcions d'implementació de màquines virtuals nadiues i no-nadiues (en entorns físicament diferents).
Suport del sistema operatiu per dispositius mòbils
Es presenten les diferències entre un sistema sobretaula/portàtil i el sistema operatiu que dóna suport a dispositius mòbils
Gestio d'una instal.lacio informatica
Gestionar una instal.lacio informatica des de la seva planificacio i compra, instal.lacio, posada en marxa, i manteniment
Activitats
ActivitatActe avaluatiu
Abstraccions del Sistema Operatiu
L'estudiant participa activament a la sessió, treballant en grup sobre els temes presentats, i en les comparatives de possibles implementacions.
Teoria: Descripcio i comparativa de les abstraccions que ofereixen els sistemes operatius
Laboratori: Entrada en l'entorn del laboratori i realitzacio de practiques comparant diverses maneres de crear processos i fluxos, gestionar memoria, etc.
Aprenentatge autònom: Completar l'estudi de les abstraccions del sistema operatiu
Estudi de les eines de desenvolupament de sistemes operatius, participacio en les discussions a classe i realitzacio de les practiques de compilacio del sistema operatiu
Teoria: Descripcio de les eines de desenvolupament
Laboratori: Compilacio del sistema operatiu
Aprenentatge autònom: Compilacio dels processos de sistema, init, servidors de xarxa, etc.
Participacio a les discussions sobre l'us del suport del maquinari dins el sistema operatiu per a la implementacio de l'espai d'adreces i gestio de memoria, i de la sincronitzacio
Teoria: Descripcio dels mecanismes del maquinari de suport als espai d'adreces i la sincronitzacio
Laboratori: Implementacio de sincronitzacio usant les tecniques que ofereix el maquinari
Aprenentatge autònom: Comparativa de facilitat d'us i rendiment de les eines de sincronitzacio
En aquesta prova s'avalua el coneixement i la pràctica adquirida en els primers 3 temes de l'assignatura. Consisteix en una prova escrita realitzada en hores de classe.
Setmana:
5
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h
Avaluacio del rendiment del sistema operatiu
Participacio en les discussions sobre les tecniques d'avaluacio del rendiment i les alternatives que existeixen per a obtenir mesures fiables i de baix impacte en l'execucio del sistema
Teoria: Tecniques d'avaluacio del rendiment del sistema
Laboratori: Mesura i avaluacio del rendiment del sistema
Aprenentatge autònom: Teniques d'avaluacio basades en comptadors d'events del maquinari
En aquesta prova s'avalua el coneixement i la pràctica adquirits en les 9 primeres setmanes de l'assignatura, incloent els temes 1 a 7. Objectius:123467 Setmana:
10
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h
Suport a aplicacions de temps real
Participacio en les discussions sobre les alternatives d'implementacio del suport a temps real
Teoria: Suport per temps real
Laboratori: Instal.lacio del suport per temps real en el sistema operatiu
Aprenentatge dirigit: Politiques de planificacio per temps real
Aprenentatge autònom: Analisi del rendiment de serveis per temps real, comparant-los amb els serveis tradicionals
En aquesta prova s'avalua el coneixement i la pràctica adquirits durant tot el curs. Objectius:1234678910511 Setmana:
14
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h
Examen de laboratori
En aquesta prova es realitzen exercicis pràctics de forma individual, relacionats amb tots els temes vistos a l'assignatura. Es pot disposar de llibres i apunts. Objectius:1234678910511 Setmana:
14
Teoria
0h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
8h
Examen final
Per aquells estudiants que necessitin superar els mínims de l'assignatura o vulguin pujar nota, aquest examen es realitzarà un cop acabades les classes Objectius:1234678910511 Setmana:
15 (Fora d'horari lectiu)
Teoria
3h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
12h
Metodologia docent
El professor exposa els temes proposats a les sessions de teoria, alhora que obre discussions entre i amb els estudiants sobre diversos temes. Cada sessio de teoria inclou la proposta de diversos temes relacionats amb la classe, que els estudiants treballaran de forma autonoma pel seu compte.
Les sessions de laboratori segueixen els temes exposats a la teoria i serveixen per consolidar l'us i avaluacio de les abstraccions i serveis del sistema operatiu.
Per tal de treballar en la competencia d'aprenentatge autonom, durant el curs es realitzaran 2 activitats de treball personal, relacionades amb els serveis que ofereixen els sistemes operatius. Els temes de les activitats es definiran durant el curs. Seran per exemple, la introduccio de noves crides al sistema, la interacio entre sistemes Android i Linux, afegir serveis al sistema operatiu a traves de llibreries, avaluacio del rendiment del sistema, etc.
Mètode d'avaluació
La competència transversal d'aprenentatge autònom s'avalua a partir dels informes de seguiment entregats durant el curs i pesa un 10% de la nota final.
Les competències tècniques s'avaluen a partir de la teoria (40%) i l'examen de laboratori (50%).
La teoria s'avalua a partir dels controls parcials i l'examen final. La nota dels 3 controls parcials surt de la mitjana ponderada de les 3 proves, amb els següents pesos: 25, 25 i 50%. Si la nota ponderada dels 3 controls parcials és igual o superior a 6.0, l'assistència a l'examen final serà optativa.
En el cas que un estudiant es presenti a l'examen final, la seva nota de teoria serà la més alta que s'obtingui d'entre la nota obtinguda a l'examen final i la mitjana ponderada dels parcials.
- Sistemes operatius a nivell d'usuari
- Nivell basic sobre l'estructura interna del sistema operatiu
- Llenguatges de programacio C i C++
- Mecanismes de compilacio i enllaç
- Conceptes basics d'arquitectura de computadors