Vés al contingut

Conceptes Avançats de Sistemes Operatius

Crèdits
6
Tipus
Complementària d'especialitat (Enginyeria de Computadors)
Requisits
Departament
AC
Web
http://docencia.ac.upc.edu/FIB/grau/CASO
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

Altres

Hores setmanals

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

Competències

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.
  • 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
    Teoria
    0h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    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
    Teoria
    0h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    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
    Teoria
    0h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    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
    Teoria
    0h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    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)
    Teoria
    0h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    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àsic

    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