Professorat
Responsable
- Xavier Martorell Bofill ( xavim@ac.upc.edu )
Altres
- Jordi Fornes de Juan ( jfornes@ac.upc.edu )
Hores setmanals
Teoria
2
Problemes
0
Laboratori
2
Aprenentatge dirigit
0
Aprenentatge autònom
6
Competències
Especialitat tecnologies de la informació
- 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.4 - Dissenyar software de comunicacions.
Especialitat enginyeria de computadors
- 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.1 - Analitzar, avaluar i seleccionar les plataformes hardware i software més adients per al suport d'aplicacions encastades i de temps real.
- 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.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, -
Implementar i avaluar suport de virtualitzacio
Competències relacionades: CEC2.3, CEC2.5, CEC2.4, G7.3, CTI1.4, -
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
-
Gestionar instal.lacions informatiques
Competències relacionades: CEC4.1, CEC4.2, CTI1.4,
Continguts
-
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
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
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.
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
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
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
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
Continguts:
Teoria
3h
Problemes
0h
Laboratori
6h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h
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
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
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
Continguts:
Teoria
2h
Problemes
0h
Laboratori
4h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h
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 classesObjectius: 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
-
Operating system concepts
- Silberschatz, A.; Galvin, P.B.; Gagne, G,
John Wiley & Sons,
2019.
ISBN: 9781119454083
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004148389706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Operating systems: internals and design principles
- Stallings, W,
Pearson Education Limited,
2017.
ISBN: 9781292214306
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991001576049706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
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