Conceptes Avançats de Sistemes Operatius

Esteu aquí

Crèdits
6
Tipus
Complementària d'especialitat (Tecnologies de la informació)
Requisits
  • Orequisit: SO2
  • Orequisit: SOA
Departament
AC
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

  1. 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
  2. Analisi i avaluacio de les abstraccions del sistema operatiu
    Competències relacionades: CEC2.1, CEC3.1, G7.3, CTI1.4,
  3. Usar les eines de desenvolupament de sistemes operatius
    Competències relacionades: CEC2.3, G7.3,
    Subcompetences:
    • Compiladors, enllaçadors i altres eines de suport
  4. 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
  5. 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
  6. 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
  7. 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
  8. Implementar i avaluar support per temps real
    Competències relacionades: CEC2.1, CEC3.1, G7.3, CTI1.4,
  9. Implementar i avaluar suport de virtualitzacio
    Competències relacionades: CEC2.3, CEC2.5, CEC2.4, G7.3, CTI1.4,
  10. Usar el suport del sistema operatiu per a dispositius mobils
    Competències relacionades: CTI3.4, CEC2.1, CEC4.1, CEC3.1, G7.3, CTI1.4,
    Subcompetences:
    • Suport per a comunicacions mobils
    • Us dels recursos en entorns mobils
  11. Gestionar instal.lacions informatiques
    Competències relacionades: CEC4.1, CEC4.2, CTI1.4,

Continguts

  1. 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
  2. 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.
  3. Eines del maquinari de suport al sistema operatiu
    Eines bàsiques que ofereix el maquinari per tal de poder implementar els sistemes operatius.
  4. 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.
  5. 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
  6. Sistemes de fitxers
    Gestió de dades en els sistemes de fitxers i eines de suport a la seva integritat
  7. Gestió de dispositius
    Representació dels dispositius dins els sistemes operatius, tractament dels diferents dispositius: disc, xarxa, interacció amb l'usuari.
  8. Desenvolupament de gestors de dispositius
    Introducció de nous gestors de dispositius en el sistema operatiu
  9. Suport del sistema operatiu per aplicacions per temps real
    Eines i llibreries de suport a aplicacions que donin resposta en temps real
  10. 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).
  11. 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
  12. 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

Activitat Acte 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
Objectius: 1 2
Continguts:
Teoria
3h
Problemes
0h
Laboratori
4h
Aprenentatge dirigit
0h
Aprenentatge autònom
8h

Desenvolupament de Sistemes Operatius

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.
Objectius: 3
Continguts:
Teoria
2h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h

Eines de suport del maquinari

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
Objectius: 1 4
Continguts:
Teoria
2h
Problemes
0h
Laboratori
4h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h

Primer control

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
Tipus: examen de teoria
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
Objectius: 1 2 5
Continguts:
Teoria
2h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Sistemes de fitxers

Participacio a les discussions sobre les possibilitats d'implementar el jounaling en els sistemes de fitxers
  • Teoria: Implementacio dels sistemes de fitxers
  • Laboratori: Us del journaling per a incrementar la integritat de les dades
  • Aprenentatge autònom: Cerca de les caracteristiques de diversos sistemes de fitxers
Objectius: 1 2 6
Continguts:
Teoria
2h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Desenvolupament de gestors de dispositius

Participacio en les discussions sobre les alternatives d'implementacio dels controladors de dispositiu
  • Teoria: Implementacio de controladors de dispositiu
  • Laboratori: Implementacio de controladors de dispositiu
  • Aprenentatge dirigit: Implementacio de controladors de dispositiu USB
  • Aprenentatge autònom: Alternatives en la implementacio de controladors de dispositiu
Objectius: 3 4 7
Continguts:
Teoria
3h
Problemes
0h
Laboratori
6h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h

Segon control

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: 1 2 3 4 6 7
Setmana: 10
Tipus: examen de teoria
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
Objectius: 1 2 8
Continguts:
Teoria
2h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Suport del sistema operatiu als entorns virtualitzats

Participacio en les discussions sobre les tecniques d'implementacio d'entorns virtualitzats de forma nadiua i no-nadiua
  • Teoria: Entorns virtualitzats
  • Laboratori: Instal.lacio i execucio d'un entorn virtualitzat
  • Aprenentatge autònom: Entorns virtualitzats existents executant-se en un entorn nadiu
Objectius: 1 2 9
Continguts:
Teoria
2h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Suport del sistema operatiu per a dispositius mobils

Participacio en les discussions sobre les alternatives de sistemes operatius per a dispositius mobils
  • Teoria: Suport del sistema operatiu per a dispositius mobils
  • Laboratori: Avaluacio del rendiment d'un sistema per a dispositiu mobil i comparacio amb el d'un sistema operatiu tradicional
  • Aprenentatge autònom: Comparacio del serveis que ofereixen els sistemes per a dispositius mobils amb els serveis oferts per sistemes tradicionals
Objectius: 1 2 3 10
Continguts:
Teoria
2h
Problemes
0h
Laboratori
4h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h

Gestió d'una instal.lacio informatica

Participacio en les discussions sobre el dimensionament d'una instal.lacio informatica
  • Teoria: Gestio d'una instal.lacio informatica
Objectius: 2 11
Continguts:
Teoria
1h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Tercer control

En aquesta prova s'avalua el coneixement i la pràctica adquirits durant tot el curs.
Objectius: 1 2 3 4 6 7 8 9 10 5 11
Setmana: 14
Tipus: examen de teoria
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: 1 2 3 4 6 7 8 9 10 5 11
Setmana: 14
Tipus: examen de laboratori
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: 1 2 3 4 6 7 8 9 10 5 11
Setmana: 15 (Fora d'horari lectiu)
Tipus: examen de teoria
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.

Bibliografia

Bàsica:

Capacitats prèvies

- 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