La assignatura ofereix una visió del SO des de tres punts de vista: serveis que ofereix el sistema a usuaris/programes i la seva utilització, principals elements de disseny interns de un kernel (estructures de dades i algorismes) , i finalment relaciona aquests dos components per entendre com afecta al rendiment de un sistema la execució dels programes de forma concurrent (o parallela segons la arquitectura). La assignatura es bassa en el context del kernel de un SO (dins del node), no entrant en aspectes de xarxa.
Professorat
Responsable
Yolanda Becerra Fontal (
)
Altres
Adrià Armejach Sanosa (
)
Amador Millán Vizuete (
)
Carlos Garcia Calatrava (
)
David Álvarez Robert (
)
Enric Morancho Llena (
)
Javier Verdu Mula (
)
Jordi Fornes de Juan (
)
Jordi Guitart Fernandez (
)
Jordi Torres Viñals (
)
Julita Corbalan Gonzalez (
)
Pere Barlet Ros (
)
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
CT2 - Utilitzar d'una manera apropiada teories, procediments i eines en el desenvolupament professional de l'enginyeria informàtica en tots els seus àmbits (especificació, disseny, implementació, desplegament -implantació- i avaluació de productes) de manera que es demostri la comprensió dels compromisos adoptats a les decisions de disseny.
CT2.3
- Dissenyar, desenvolupar, seleccionar i avaluar aplicacions, sistemes i serveis informàtics i, al mateix temps, assegurar-ne la fiabilitat, la seguretat i la qualitat en funció de principis ètics i de la legislació i la normativa vigents.
CT3 - Demostrar coneixement i comprensió del context organitzatiu, econòmic i legal en el qual es desenvolupa la seva feina (coneixement adequat del concepte d'empresa, del marc institucional i jurídic de l'empresa, d'organització i gestió de les empreses).
CT3.6
- Demostrar coneixement de la dimensió ètica a l'empresa: la responsabilitat social i corporativa en general i, en particular, les responsabilitats civils i professionals de l'enginyer en informàtica.
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.2
- Demostrar coneixement, comprensió i capacitat d'avaluar l'estructura i l'arquitectura dels computadors, i els components bàsics que els componen.
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.1
- Demostrar coneixement de les mètriques de qualitat i saber-les utilitzar.
CT7.2
- Avaluar sistemes hardware/software en funció d'un criteri de qualitat determinat.
CT7.3
- Determinar els factors que incideixen negativament en la seguretat i la fiabilitat d'un sistema hardware/software, i minimitzar-ne els efectes.
CT8 - Planificar, concebre, desplegar i dirigir projectes, serveis i sistemes informàtics en tots els àmbits, liderar-ne la posada en marxa, la millora contínua i valorar-ne l'impacte econòmic i social.
CT8.4
- Elaborar el plec de condicions tècniques d'una instal·lació informàtica que compleixi els estàndards i la normativa vigent.
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.1
- Tenir una visió àmplia de les possibilitats de la carrera professional en l'àmbit de l'enginyeria en informàtica. Tenir una actitud positiva i receptiva respecte de la qualitat en el desenvolupament de la professió.
Objectius
Conèixer les principals funcions d'un S.O. i el perqué de la seva necessitat (abstracció/cirtualització del hardware, seguretat, eficiència)
Competències relacionades:
CT6.1,
CT6.3,
CT7.1,
CT7.2,
CT7.3,
CT6.2,
CT8.4,
CT3.6,
CT2.3,
Entendre com ofereix i gestiona el S.O. els seus serveis i funcionalitats internament mitjançant dades de representació i gestió dels recursos, algorismes i suport hardware
Competències relacionades:
CT6.1,
CT6.3,
CT7.1,
CT7.2,
CT7.3,
CT6.2,
CT8.4,
CT3.6,
CT2.3,
Tenir una visió general dels sistemes informàtics: conèixer les diferents interfícies i components que interactuen amb el S.O. (hardware, llibreries de sistema, llibreries de llenguatge+programes d'usuari)
Competències relacionades:
CT6.1,
CT6.3,
CT7.1,
CT7.2,
CT7.3,
CT6.2,
CT8.4,
CT3.6,
CT2.3,
Per cada funcionalitat bàsica del sistema (gestió de processos, memòria i e/s): conèixer com influeixen aspectes bàsics de les diferents arquitectures i entorns que poden suportar els sistemes operatius
Competències relacionades:
CT7.3,
CT8.4,
Per cada funcionalitat bàsica del sistema (gestió de processos, memòria i e/s): Entendre l'element hardware que pretenem virtualitzar
Competències relacionades:
CT6.1,
CT6.3,
CT7.1,
CT7.2,
CT7.3,
CT6.2,
CT8.4,
CT3.6,
CT2.3,
Per cada funcionalitat bàsica del sistema (gestió de processos, memòria i e/s): conèixer i ser capaç d'usar la funcionalitat bàsica que ofereix el sistema a l'usuari.
Competències relacionades:
CT6.1,
CT7.3,
CT2.3,
Per cada funcionalitat bàsica del sistema (gestió de procesos, memòria i e/s): conèixer el elements bàsics de disseny (tipus de dades, estructures de gestió de dades i algorismes de gestió) per oferir aquesta funcionalitat.
Competències relacionades:
CT6.3,
CT7.3,
CT2.3,
Per cada funcionalitat bàsica del sistema (gestió de processos, memòria i e/s): conèixer la rel.lació bàsica amb l'arquitectura dels elements de disseny bàsics en S.O.
Competències relacionades:
CT6.3,
CT7.3,
CT2.3,
Per cada recurs bàsic que gestiona el S.O. (procesos, memòria virtual i e/s) conèixer les métriques bàsiques per avaluar un servei de sistema i ser capaç d'aplicar-les a nivell teòric.
Competències relacionades:
CT7.1,
CT7.2,
Per cada recurs bàsic que gestiona el sistema (processos, memòria i e/s), conèixer i ser capaç d'utilitzar les eines bàsiques del sistema per analitzar una aplicació així com per monitoritzar l'estat del sistema per detectar possibles problemes.
Competències relacionades:
CT6.1,
CT6.3,
CT7.3,
CT2.3,
Entendre les implicacions, desde el punt de vista de sistema i de usuari,de un sistema multi-usuari i paral.lel.
Competències relacionades:
CT7.1,
CT7.3,
CT6.2,
CT8.4,
Ser capaç de participar amb actitud proactiva en el desenvolupament profesional, demostrant assistència, puntualitat i respecte
Competències relacionades:
G8.1,
Ser capaç de mostrar motivació per la qualitat i la millora continua
Competències relacionades:
G8.1,
Continguts
Introducció als Sistemes Operatius
En aquest capítol es donarà una visió del que és un S.O. els recursos hardware que gestiona, quins son el serveis
que ofereix, funcionalitats etc. També s'introduiran els diferents tipus d'usuaris i aplicacions que interactuen amb el S.O. així com les diferents formes d'accedir.
Gestió de processos
En aquest capítol es tractaran els següents punts: Concepte de procés. Contexte d'un procés. La vida d'un procés. Concepte de planificació de processos.. Mecanisme de canvi de context. Gestió d'events (signals). Concepte de flux. Concepte de concurrència. Problemes associats a la concurrència. Comunicació entre processos: memòria compartida i pas de missatges (només a nivell de concepte).. Serveis bàsics oferts pel sistema associats a processos i fluxes: crides a sistema i gestió de la eficiencia, seguretat entre usuaris, fiabilitat, etc. Idea/contexto: registros, pila, memoria (espacio de direcciones)/estados/eventos (signals) /usuario/variables de entorno .Representació interna de procesosen s en linux així com l'algorisme round robin de planificació a mode il.lustratiu.
Gestió de memòria
En aquest capítol es tractaran els següents punts: Requeriments en quant a memòria d'un sistema multiprogramat de propósit general (espai d'adreces d'un procés i necessitat de la memoria virtual). Serveis bàsics de gestió de memòria oferts pel sistema: suport a la traducció d'adreces, protecció de processos, càrrega de processos, memòria dinàmica, gestió de la memòria virtual, etc. Estructuras y algoritmos para la gestión de la memoria virtual.
Gestió de l'entrada/sortida
En aquest tema es tractaran els següents punts: Característiques i tipus de disposituis. Concepte d'Independencia de dispositivos.
Relació entre la gestió de entrada/sortida i la gestió de processos: operacions bloquejants. Tipus de dispositius lógics: pipes, consola, sockets i fitxers. Serveis bàsics i estructures de dades necessaries. Gestió de l'espai de noms. Representació interna i algorismes: Suport a la gestió eficient dels dispositius (buffering, spooling,caching, bloqueig).
Concepte de Sistema de Fitxers (SF) i per qué serveix. Arquitectura en capes d'un SF. Introducció al VFS. Diferents tipus de fitxers i serveis bàsics associats a fitxers. Organització interna a Linux : directoris, i-nodes. Organització de l'espai al disc: fragmentació, ,particions, serveis associats a SF's, gestió de l'espai lliure/ocupat.
Activitats
ActivitatActe avaluatiu
Desenvolupament del tema de Introducció als S.O
Durant aquesta activitat es donarà a l'alumne una visió general del que és un S.O., quines son les seves funcionalitats i serveis i quins son els principals components dels sistema que anirem desenvolupant durant el curs. Objectius:123 Continguts:
Durant aquesta activitat s'utilitzaran comandes bàsiques per treballar amb un entorn de treball Linux, especialment per treballar des de la línea de comandes però també entendre la relació amb un entorn gràfic. Es practicaran comandes per navegar pel sistema de fitxers, per manipular fitxers, etc. Objectius:1231213 Continguts:
Durant aquesta activitat es treballarà la programació en C i es donaran algunes guies bàsiques per desenvolupar els petits projectes que faran els alumnes a les sessions de laboratori de forma que tinguin una estructura similar en quant a eines, organització de fitxers etc. Objectius:1231213 Continguts:
Desenvolupament dels conceptes de Teoria associats a Processos
Durant aquestes hores es practicaran els conceptes i serveis bàsics relacionats amb processos i fluxes. S'explicaran els conceptes relacionats amb la organització i gestió internes que fa el S.O. per oferir aquests serveis i funcionalitats. També es tractaran aspectes relacionats amb la eficiència dels sistemes, fiabilitat, protecció, etc. Objectius:4567891011 Continguts:
Durant aquesta activitat es practicaran les crides a sistema bàsiques que podem trobar a un sistema Linux per crear un procés, canviar el seu executable, esperar el procés y finalitzar el procés. També practicarem comandes des d'un punt de vista d'administrador relacionades amb la monitorització de processos. Objectius:6710111213 Continguts:
Utilització de fluxes i serveis avançats de processos
Durant aquesta activitat practicarem amb fluxes (POSIX). També introduirem la gestió d'events entre processos (signals) tant com a mecanisme de comunicació com a servei de gestió de processos avançat. Es treballaran aspectes relacionats amb la concurrència dels processos. Objectius:456710111213 Continguts:
Desenvolupament dels conceptes associats a gestió de memòria
Durant aquestes hores es practicaran els conceptes bàsics relacionats amb la gestió de la memòria, es descriuran els serveis i funcionalitats que ofereix el sistema als usuaris (incloent-hi les optimitzacions que es fan típicament a nivell de llibreria) i es descriuran els mecanismes i algorismes de gestió interns del kernel per gestionar la memòria virtual. Objectius:4567891011 Continguts:
Durant aquesta sesió de laboratori es practicarà amb serveis bàsics per gestionar la memòria dels processos i algunes comandes per monitoritzar l'estat dels procesos Objectius:561213 Continguts:
Mesures de rendiment i planificació de processos. Impacte de l'entorn multiproceso.
S'avaluaran diferents programes amb diferents configuracions en quant a processos i càrrega del sistema per veure analíticament com influeix en les aplicacions la seva pròpia estructura i l'estat del sistema. Objectius:456789111213 Continguts:
Aquest control inclourà els temes d'Introducció, Processos i memòria. Aquest exàmen pot incloure tant preguntes teòriques com problemes. Objectius:123456789 Setmana:
9 (Fora d'horari lectiu)
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
7h
Desenvolupament dels conceptes associats a la entrada /sortida de dades
Durant aquestes hores es s'explicaran els conceptes relacionats amb la gestió de la entrada/sortida de dades: tipus de dispositius, serveis i funcionalitats relacionats amb la entrada/sortida i gestió del sistema de la independència de dispositius. Objectius:4567891011 Continguts:
En aquesta sesió es practicarán serveis bàsics per gestionar la entrada/sortida de processos. Es faran exercicis per consolidar els conceptes relacionats amb la independència de dispositius. Objectius:561213 Continguts:
Durant aquesta sessió s'aprofundiran en serveis i comandes més complexes per gestionar la entrada/sortida de processos així com la relació amb altres serveis del sistema com per exemple la gestió d'events (signals) Objectius:6711121345 Continguts:
Durant aquesta sessió es practicaran diferent comandes relacionades amb la gestió del SF i s'utilitzaran crides a sistema específiques de fitxers de dades Objectius:567891213 Continguts:
Gestió d'Entrada/Sortida i comunicació de procesos: sessió de problemes
Durant aquesta sessió es fan exercicis rel.lacionats amb la gestió de la entrada/sortida de dades i la comunicació entre procesos Objectius:4567891011 Continguts:
Examen final de laboratori que inclourà qualsevol crida a sistema, eina, concepte, etc practicat al laboratori. Objectius:61011 Setmana:
14
Teoria
0h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
8h
Examen final teoria
Examen escrit que inclourà tot el temari del curs. Aquest examen pot incloure tant preguntes teòriques com problemes. Objectius:1234567891011 Setmana:
15 (Fora d'horari lectiu)
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
8h
Exercici pràctic sobre gestió de processos
Aquesta activitat consisteix a resoldre un enunciat del mateix estil i les mateixes condicions que els exàmens de l'assignatura
Primer control de laboratori d'avaluación continua
Aquest control avalua els conceptes treballats a les sessions de laboratori de la 1 a la 5 Objectius:12345678911 Setmana:
9 (Fora d'horari lectiu)
Teoria
0h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
7h
Exercici pràctic sobre gestió de l'entrada-sortida
Teoria
0h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
7h
Metodologia docent
L'assignatura tindrà principalment dos tipus de classe: teoria i laboratoris. Les classes de teoria seran per explicar conceptes principalment genérics o aplicats al cas particular de Linux. Aquestes classes es faran amb el suport de transparencies. Les classes de laboratori seran setmanals i inclouran un treball previ a realitzar per l'alumne, uns exercicis per fer a classe de forma individual i unes preguntes que s'hauran d'entregar a final de classe. L'assistència com a mínim al 80% de les sessions de laboratori és condició necessària per a poder aprovar l'avaluació continuada de la assignatura. Encara que totes les sessions inclouran aquestes preguntes per entregar, no totes supossaran un acte avaluatiu, nomes aquelles que estiguin marcades com a tal. La resta serviran per fer el seguiment de l'alumne i per controlar la realitzacio del treball previ i l'actitud de l'alumne a classe. Especialment a les classes de laboratori es valoraran aspectes com la puntualitat de l'alumne i l'actitut positiva davant l'assignatura.
Mètode d'avaluació
Avaluació de les Competències Tècniques
La nota de la competència tècnica es basa en dos components: nota avaluació continuada (EC) i nota avaluació no continuada (EF). La component EC només es tindrà en compte per als estudiants que acreditin un seguiment de l'assignatura: han assistit com a mínim al 80% de les sessions de laboratori i han fet el treball de les sessions. Entregar una feina no original (no feta per l'estudiant) es considera frau i implica una nota de 0 de la component EC.
Nota= max(EF, 0,6*EF+0,4*EC).
EC: 35% CT + 10% ST + 30% CL + 25% SL
- CT: resultant de 1 parcial al final del tema de processos que es fa fora d'hores de classe
- ST (seguiment teoria): petits tests sobre conceptes de teoria que es faran al final d'alguns dels temes
- CL: resultant de 1 exercici puntuable després de fer la sessió 4 de laboratori. Aquest exàmen es fa fora d'hores de classe
- SL (seguiment laboratori): avaluarà la feina feta en algunes sessions de laboratori.
EF: 50% Teoria+ 50% laboratori
- Prova puntuable que consta de dos parts: teoria i laboratori. Es fa a final de curs i avalúa tot el contingut del curs
Avaluació de la Competència Genèrica
Es valoraran els següents punts:
1) Actitud proactiva (rigor) en el desenvolupament professional.
* Assistència. Els estudiants hauran d'assistir a un 80% de les sessions de laboratori.
*Puntualitat. Els estudiants hauran d'arribar puntuals a classe, amb un marge de 10 minuts. Es penalitzarà als estudiants que reiteradament arribin tard.
*Respecte. Els estudiants hauran d'actuar amb respecte vers els companys i els professors.
- El professor serà l'encarregat de detectar i anotar els casos de manca de respecte, ja sigui vers ell mateix o vers els companys de l'estudiant. Si durant l'evolució de l'assignatura aquest casos no milloren s'obtindrà una avaluació negativa de la competència.
2) Actitud proactiva (motivació) per la qualitat i la millora contínua.
* Qualitat. Es valorarà la qualitat del codi lliurat tenint en compte, principalment: l'acompliment dels requeriments dels enunciats, la claredat del codi i l'organització del document.
* Motivació i Responsabilitat. A les sessions de laboratori es demanarà als estudiants un treball previ que hauran de realitzar necessàriament.
- El treball previ tindrà preguntes associades que ajudaran a identificar i penalitzar als estudiants que no realitzin correctament aquests treballs. Tanmateix es podrà avaluar molt positivament aquells estudiants que realitzin uns treballs excel.lents.
NOTA de la Competència:
La nota de la competència s'obtindrà a partir dels valors de les informacions obtingudes per: Assistència, Puntualitat, Respecte, Motivació, Qualitat i Responsabilitat.
Excepcions:
- La no assistència al 80% de les sessions de laboratori implica automàticament tenir una D a la nota de la competència
- Si un estudiant copia en les entregues de laboratori té automàticament una D a la nota de la competència
- Aquells alumnes que mostrin una clara falta de respecte i motivació com per exemple apuntar-se fora de plaç als exàmens tindran una D a la competència.
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 mínim com per llegir una documentació. En quant a capacitats técniques podriem resumir en:
-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 bàsics de llenguatge màquina.
-En quant a programació: Capacitat de fer programes desde cero que incloguin definició de tipus de dades, disseny d'un programa, més o menys complex, en diferents funcions ( que puguin estar en mes d'un fitxer) i fases de creació d'un executable.