Informació general


Tipus d'assignatura: Obligatòria

Coordinador: Alfons Palacios Gonzàlez

Trimestre: Segon trimestre

Crèdits: 6

Professorat: 

Léonard Janer Garcia

Idiomes d'impartició


La documentació de l'assignatura serà majoritàriament en Anglès. Poden haver-hi documents en castellà i català, però l'idioma principal serà anglès.

Per tant, l'estudiant ha de poder llegir correctament de l'anglès.

L'idioma vehicular de la assignatura serà l'Anglès per tant, l'estudiant ha de poder expressar-se en aquesta llengua, per escriure, llegir, parlar i entendre el que se li comunica

Competències


Competències bàsiques
  • B2_Que els estudiants sàpiguen aplicar els seus coneixements a la seva feina o vocació d'una forma professional i tinguin les comptències que demostren mitjançant l'elaboració i defensa d'arguments i la resolució de problemes dins de la seva àrea d'estudi

  • B5_Que els estudiants hagin desenvolupat aquelles habilitats d'aprenentatge necessàries per emprendre estudis posteriors amb un alt grau d'autonomia

Competències específiques
  • EFB4_Coneixements bàsics sobre l'ús i programació dels ordinadors, sistemes operatius, bases de dades i programes informàtics amb aplicació a l'enginyeria

  • EFB5_Coneixement de l'estructura, organització, funcionament i interconnexió dels sistemes informàtis, els fonaments de la seva programació i la seva aplicació per a la resolució de problemes propis de l'enginyeria

Competències transversals
  • T1_Que els estudiants coneixin un tercer idioma, que serà preferentment l'anglès, amb un nivell adequat de forma oral i per escrit, d'acord amb les necessitats que tindran les graduades i els graduats a cada titulació

  • T2_Que els estudiants tinguin capacitat per a treballar com a membres d'un equip interidisciplinar ja sigui com un membres més, o realitzant tasques de direcció amb la finalitat de contribuir a desenvolupar projectes amb pragmatisme i sentit de la responsabilitat, assumint compromisos tenint en compte els recursos disponibles

Descripció


A nivell general aquesta assignatura abasta els següents descriptors especificats per a la matèria a la qual pertany (Arquitectura, Sistemes Operatius i Xarxes d'Ordinadors):

1.- Introducció al suport de la arquitectura al sistema operatiu (memòria virtual, TLB)

2.- Programació del firmware d'un microcomputador comercial per el desenvolupament d'un prototipus

3.- Concurrència, entrada/sortida i busos (enquesta, interrupcions, DMA, tipus E/S)

4.- Estructures internes en la jerarquia de memòria (discos, memòria principal, cachés, mecanismes de detecció i corecció d'errors)

5.- Introducció als processadors segmentats lineals i multiprocessadors

6.- TCP i sockets (protocols, ARQ, Control de fluxe, UDP, TCP, API sockets)

7.- Introducció als sistemes operatius (tipus de sistemes operatius i característiques, processos, fluxes, espais d'adreces, modes d'execució, comandes bàsiques)

8.- Interfícies (llibreries d'usuari, serveis del sistema)

9.- Gestió de processos (serveis del sistema, planificació, fluxes, canvis de context, estructures bàsiques de suport) 

10.- Gestió de l'espai d'adreces (serveis del sistema, gestió de la memòria, memòria virtual, swap, thrashing, estructures bàsiques de suport)

11.- Gestió de la entrada/sortida (serveis del sistema, buffering, spooling, independència dels dispositius, estructures bàsiques de suport)

12.- Sistema de fitxers (serveis del sistema, assignació d'espai a disc, tipus de sistemes de fitxers, estructures bàsiques de suport)

13.- Compartició de recursos i sincronització (memòria, fitxers, exclusió mútua, regions crítiques, abraçada mortal)

Per el seguiment de l'assignatura l'estudiant treballa amb el seu ordinador personal (portàtil) que haurà de portar a totes i cadascuna de les classes

Aquesta assignatura disposa de recursos metodològics i digitals per fer possible la seva continuïtat en modalitat no presencial en el cas de ser necessari per motius relacionats amb la Covid-19. D’aquesta forma s’assegurarà l’assoliment dels mateixos coneixements i competències que s’especifiquen en aquest pla docent.

El Tecnocampus posarà a l’abast del professorat i l’alumnat les eines digitals necessàries per poder dur a terme l’assignatura, així com guies i recomanacions que facilitin l’adaptació a la modalitat no presencial.

Resultats d'aprenentatge


A nivell general aquesta assignatura contribueix als següents resultats d'aprenentatge especificats per a la matèria a la qual pertany (Arquitectura, Sistemes Operatius i Xarxes d'Ordinadors):

1.- Demostrar coneixement i comprensió de fets essencials, conceptes, principis i teories relatives a la informàtica i a les seves disciplines de referència

2.- Utilitzar de forma 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

3.- Avaluar, i seleccionar plataformes de producció hardware i software per la execució d'aplicacions i de serveis informàtics

4.- Avaluar sistemes hardware i software en funció d'un criteri de qualitat determinat

5.- Determinar els factors que tenen incidència negativa a la seguretat i la fiabilitat d'un sistema

6.- Dissenyar solucions que integren tecnologies hardware, software i comunicacions (i capacitat de desenvolupar solucions específiques de software de sistemes) per sistemes distribuïts i dispositius de computació ubicua

7.- Desenvolupament de projectes en equip

8.- Comprendre i utilitzar de forma eficaç manuals, especificacions de productes i altra informació de caràcter tècnic escrita en anglès

A un nivell més concret, en acabar l'assignatura l'estudiant/a ha de ser capaç de:

  1. (RA1) Conèixer les principals arquitectures i serveis dels sistemes operatius
  2. (RA2) Utilitzar les crides al sistema de diferents sistemes operatius
  3. (RA3) Entendre la necessitat de disposar de mecanismes de protecció en entorns multiprocés i multiprocessador
  4. (RA4) Entendre i definir els conceptes de fils, processos, i relacionar-los
  5. (RA5) Entendre diferents mecanismes de planificació de CPU
  6. (RA6) Aplicar mecanismes de comunicació i de sincronització entre processos
  7. (RA7) Entendre els diferents Components implicats en les operacions d’entrada i sortida
  8. (RA8) Entendre els diferents mecanismes de gestió de fitxers
  9. (RA9) Conèixer diferents alternatives per tal de programar scripts per resoldre problemes recurrents en el sistema
  10. (RA10) Entendre els mecanismes de comunicació entre processos a Internet amb sockets
  11. (RA11) Conèixer el llenguatge de programació C
  12. (RA12) Conèixer el llenguatge de programació Python

Metodologia de treball


Les hores d'aprenentatge dirigit comprenen:

  1. Classes teòric/pràctiques en grup gran (tota la classe) en les quals el professorat introdueix els continguts de l'assignatura i es realitzen activitats docents que persegueixen que l'estudiant sigui un protagonista actiu en l'adquisició dels seus coneixements.
  2. Activitats que es realitzen en equips de dues persones o individualment. Aquestes activitats pràctiques es realitzaran tant en les classes amb grups reduïts com en les classes amb grups grans (tots els alumnes).
  3. Presentacions de forma individual i/o en grups de temes concrets relatius al temari de l'assignatura
  4. Redacció d'informes de forma individual i/o en grups de temes concrets relatius al temari de l'assignatura
  5. Execució de projectes (en equips de treball) per treballar habilitats, competències transversals
  6. Resolució de problemes en un temps determinat en format de reptes per avaluar la capacitat de l'estudiant davant situacions quotidianes de mercat 

L’objectiu final és que l’alumne adquireixi els coneixements de l’assignatura mitjançant activitats les quals poden ser petites com projectes més complerts on intervinguin els coneixements que es van adquirint al llarg del curs. Dins les hores d'aprenentatge autònom es consideren les hores per a preparar les classes teòriques, les hores per a estudiar i consolidar els coneixements adquirits, les hores per a preparar el treball de les pràctiques i, per últim, les hores que l'estudiant pot dedicar a augmentar i complementar els seus coneixements sobre la matèria.

Aquest curs, a causa de la situació generada per la COVID, algunes de les sessions de grup gran es faran en format híbrid: presencial i en línia (via streaming). Això permetrà que els estudiants puguin anar rotativament a les classes presencials, respectant el màxim d'estudiants per aula que imposen les mesures de distanciament. Quan no els toqui sessió presencial podran seguir la classe en línia des de casa.

Pel que fa a les sessions de pràctiques a espais més reduïts (com laboratoris, estudis o plató), si s'escau es treballarà simultàniament en diversos espais per tal de garantir que es compleixen les condicions establertes pels protocols de seguretat.

Continguts


  1. Tema 1: Introducció als Sistemes Operatius
  2. Tema 2: Scripting (Python)
  3. Tema 3: Comunicació entre Processos i Sockets(C)
  4.  Tema 4: Sistemes Operatius

Activitats d'aprenentatge


Es posa a disposició dels estudiants tot un seguit d'activitats de caire eminentment pràctic que són la base de les activitats d'aprenentatge de l'assignatura. Aquestes activitats els estudiants/es les hauran de resoldre, a vegades de manera no presencial, seguint les indicacions dels docents i/o també seran treballades a classe, ja sia com a exemples en les sessions de teoria, ja sia en sessions de laboratori (grups grans o petits). Si bé algunes d'aquestes activitats podrien tenir caràcter optatiu (els docents no en verificaran de manera individualitzada la realització per part dels estudiants), seran imprescindibles per assolir els coneixements teòrico-pràctics de l'assignatura.

Amb l'objectiu de recollir evidència de l'assoliment dels resultats d'aprenentatge esperats es realitzaran les següents activitats de caràcter avaluatiu, relacionades amb les competències comunes, transversals i específiques. La competència transversal associada a l'assignatura de coneixement de tercera llengua es treballa a partir de les fonts documentals que els estudiants han de consultar, i de la pròpia assignatura que té com a llengua vehicular l'anglès

  1. Pràctiques de Scripting: proves individuals/grupals d'aplicació pràctica dels conceptes teòrics i procediments pràctics del Tema 2 de l'assignatura (evidència dels resultats de l'aprenentatge RA2, RA9, RA12)
  2. Pràctiques de Comunicació entre Processos: proves individuals/grupals d'aplicació pràctica dels conceptes teòrics i procediments pràctics del Tema 3 de l'assignatura (evidència dels resultats de l'aprenentatge RA2, RA4, RA6, RA10, RA11)
  3. Pràctiques de Administració de Sistemes Operatius: proves individuals/grupals d'aplicació pràctica dels conceptes teòrics i procediments pràctics dels Temes 1 i 4 de l'assignatura (evidència dels resultats de l'aprenentatge RA1, RA2, RA3, RA5, RA7, RA8)
  4. Presentacions: proves individuals/grupals d'aplicació pràctica dels conceptes teòrics i procediments pràctics delsTemes 1 i 4 de l'assignatura (evidència dels resultats de l'aprenentatge RA1, RA3, RA5, RA7, RA8)
  5. Treball en Grup: proves individuals/grupals d'aplicació pràctica dels conceptes teòrics i procediments pràctics dels Temes 1 i 4 de l'assignatura (evidència dels resultats de l'aprenentatge RA5, RA8
  6. Prova Escrita: proves individuals/grupals d'aplicació pràctica dels conceptes teòrics i procediments pràctics dels Temes 1, 2, 3 i 4 de l'assignatura (evidència dels resultats de l'aprenentatge RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, RA10, RA11, RA12)

En relació a les competències bàsiques assignades a l'assignatura, aquestes queden cobertes especialment pel que fa als aspectes que s'expliciten:

  • CB2: resolució de problemes dins de la seva àrea d'estudi.
  • CB5: desenvolupament d'habilitats d'aprenentatge necessàries per a estudis posteriors (accés autònom a documentació, hàbits de treball efectius)

En relació a les competències transversals associades a l'assignatura, aquestes queden cobertes especialment pel que fa als aspectes que s'expliciten:

  • CT1: el coneixement de la llengua anglesa es treballa a partir de les fons documentals que els estudiants han de consultar, atès que majoritàriament totes elles es troben en anglès. Tot el material escrit de l'assignatura (notes, enunciats de problemes, enunciats de pràctiques, ...) es distribueixen exclusiva i únicament en anglès. L'idioma vehicular de l'assignatura és l'anglès.
  • CT2: el treball com a membres d'un equip interdisciplinar es treballa majoritàriament en les activitats pràctiques on la gestió i de la responsabilitat compartida és especialment rellevant

En relació a les competències específiques associades a l'assignatura, aquestes queden cobertes especialment per que als als aspectes que s'expliciten:

  • EFB4: es treballa en les proves pràctiques associades al tema IPC i al tema de SCRIPTING, amb una important component pràctica
  • EFB5: es treballa en les proves pràctiques associades al tema IPC i al tema de SCRIPTING, amb una important component pràctica, però especialment en les de comunicació entre processos, focalitzades en els elements de comunicació entre processos en el mateix o diferents sistemes

En relació a les competències comunes associades a l'assignatura, aquestes queden cobertes especialment per que als als aspectes que s'expliciten:

  • CIN1: es treballa principalment en les proves pràctiques que comporten el desenvolupament de solucions informàtiques
  • CIN4: es treballa en les activitats del tema de SISTEMES OPERATIUS, on s'analitzen aspectes funcionals i d'especificacions, i en las activitats d'avaluació continuada
  • CIN5: es treballa en les activitats del tema de SISTEMES OPERATIUS, on s'analitzen aspectes funcionals i d'especificacions, i en las activitats d'avaluació continuada
  • CIN9: es treballa de forma transversal en les proves escrites de l'assignatura, que treballen els aspectes més teòrics, però també en les activitats pràctiques, doncs en cadascuna d'elles es fa èmfasi en aspectes de la estructura i arquitectura dels sistemes
  • CIN10: es treballa de forma transversal en les proves escrites de l'assignatura, que treballen els aspectes més teòrics, però també en les activitats pràctiques, doncs en cadascuna d'elles es fa èmfasi en aspectes de la estructura i arquitectura dels sistemes
  • CIN14: es treballa en les proves pràctiques associades al tema IPC focalitzades en els elements de comunicació entre processos en el mateix o diferents sistemes

Per tal de superar (aprovar) les activitats avaluatives, els estudiants hauran de demostrar:

  • Que han adquirit els coneixements teòrics relatius als continguts de l'assignatura i que la seva comprensió els permet de portar-los a la pràctica [MECES-2 punt a, punt c]
  • Que poden desenvolupar solucions a problemes que, si bé poden ser semblants a d'altres vistos anteriorment, presenten aspectes que són nous [MECES-2 punt f]

Normes de realització de les activitats

  • A totes les activitats és obligada l'assistència per a ser avaluades.
  • Les activitats són obligatòries. Les activitats no realitzades o a les que no s'ha assistit, són avaluades com a 0.

Sistema d'avaluació


1.- Prova Escrita 15%

2.- Activitats vinculades al tema de SCRIPTING 35%

3.- Activitats vinculades al tema de IPC 35%

4.- Activitats vinculades al tema de SISTEMES OPERATIUS 10%

5.- Avaluació continuada 5%

Totes les notes són obligatòries. Es poden recuperar les proves escrites

Per les proves escrites la mitjana de les proves ha de tenir una qualificació mínima de 4,0. Si la nota és inferior a 4.0 llavors la qualificació final serà la de les proves escrites.

Bibliografia


Bàsic

Presentacions i apunts de l’assignatura al Moodle

www.netacad.com

https://docs.python.org

Complementary

Operating Systems: Three Easy Pieces

Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau

(http://pages.cs.wisc.edu/~remzi/OSTEP/#book-chapters)

Operating System Concepts (9th Edition)

Avi Silberschatz, Peter Baer Galvin, Greg Gagne

John  Wiley and Sons, Inc

ISBN: 978-1-118-0633-0

The C Programming Language (Second Edition)

Brian W. Kernighan and Dennis M. Ritchie

Prentice-Hall

ISBN-13: 978-0131103627