Saltar al contingut Menu
Mapa
  • Inici
  • Informació
  • Contacte
  • Mapa

Sistemes Operatius (SO)

Crèdits Dept. Tipus Requisits
9.0 (7.2 ECTS) AC
  • Obligatòria per a l'EI
  • Obligatòria per a l'ETIS
EC2 - Pre-requisit per la EI , ETIS
PRED - Pre-correquisit per la EI
PS - Pre-correquisit per la ETIS

Professors

Responsable:  (-)
Altres:(-)

Objectius Generals

L'estudiant ha de conèixer els serveis i utilitats que ofereix un sistema operatiu, així com la gestió dels recursos que ofereixen aquests serveis. Això inclou els següents conceptes: intèrpret de comandes, crida al sistema, seguretat, protecció, biblioteca de sistema, biblioteca dinàmica, procés, multiprocés, temps compartit, concurrència, exclusió mútua, thread, planificació de processos, entrada/sortida, canal, sistema de fitxers, gestor de dispositius, comunicació entre processos (pipe, event, semàfor), sockets, memòria compartida, memòria virtual, paginació, àrea de swap.
Així mateix, l'estudiant ha de saber els trets bàsics de les implementacions dels conceptes anteriors en els sistemes Linux i Windows.

Objectius Específics

Coneixements

  1. Conèixer els serveis que ofereix un SO des del punt de vista d'un usuari, d'un programador i d'un administrador
  2. Conèixer i saber utilitzar diferents sistemes d'interacció amb el SO (comandes, scripts, biblioteques, crides a sistema, ...) i conèixer la seva implementació.
  3. Saber descriure la necessitat d'un sistema de fitxers i els serveis que n'ha d'oferir. Conèixer diferents formes d'implementació en sistemes actuals (particions, fat, inodes, ntfs, raid)
  4. Saber quines operacions ha d'oferir un SO a un programador respecte a l'entrada / sortida. Ser capaç de descriure els conceptes i necessitats de dispositius, així com la gestió i implementació (part dependent i independent, descriptors de dispositius,...)
  5. Conèixer els conceptes de procés, multiprocés, temps compartit, concurrència i threads. Conèixer els problemes que pot donar l'ús de processos i threads i maneres de solucionar-los. Saber gestionar processos i threads. Saber descriure com s'implementen aquests conceptes a sistemes actuals
  6. Conèixer i saber fer servir mecanismes de sincronització i comunicació entre processos/threads, com ara pipes, named pipes, memòria compartida, semàfors, ...
  7. Saber descriure i gestionar events i excepcions. Implementacions.
  8. Saber descriure els conceptes més bàsics sobre la visió del SO de les xarxes de computadors. Saber fer servir mecanismes per la comunicació(sockets). Enllaçar els conceptes de SO amb els de xarxes
  9. Conèixer mecanismes de gestió de memòria que fan servir SO actuals, poder descriure els conceptes de paginació, memòria virtual, swap,...
  10. Saber descriure els problemes bàsics de seguretat i protecció, i conèixer mecanismes implementats en sistemes actuals
  11. Tenir unes nocions bàsiques sobre rendiment i tècniques d'optimització al sistema operatiu

Habilitats

(Informació no introduïda)

Competències

(Informació no introduïda)

Continguts

Hores estimades de:

T P L Alt L Ext. Est A Ext.
Teoria Problemes Laboratori Altres activitats Laboratori extern Estudi Altres hores fora d'horari fixat

1. Introducció
T      P      L      Alt    L Ext. Est    A Ext. Total 
2,0 0 0 0 0 0 0 2,0
Descripció de l'assignatura, metodologia docent, etc...

2. Visió general d'un S.O
T      P      L      Alt    L Ext. Est    A Ext. Total 
6,0 0 0 0 0 4,0 0 10,0
Descripció de que ha d'oferir un SO, per tal de que es tingui una visió de conjunt abans d'aprofundir en els temes posteriors

3. Visió del programador
T      P      L      Alt    L Ext. Est    A Ext. Total 
0 0 8,0 0 0 10,0 0 18,0
Es descriuran les eines bàsiques que ha de conèixer un programador (o administrador), com ara shellscripts, comandes bàsiques, ús del man, compilador i eines com el make o el strace.
  • Laboratori:
    Familiarització amb l'entorn de programació

4. Entrada/sortida
T      P      L      Alt    L Ext. Est    A Ext. Total 
10,0 0 2,0 0 0 8,0 0 20,0
Descripció dels mecanismes d'entrada/sortida, independència dels dispositius, tipus de dispositius, us, implementació
  • Laboratori:
    Familiarització amb l'e/s a Unix

5. Sistema de fitxers
T      P      L      Alt    L Ext. Est    A Ext. Total 
8,0 0 1,0 0 0 8,0 0 17,0
Directoris, proteccions, gestió de l'emmagatzemament secundari, sistemes de fitxers a linux/unix i windows
  • Laboratori:
    Conceptes bàsics sobre el SF de linux

6. Processos
T      P      L      Alt    L Ext. Est    A Ext. Total 
7,0 0 3,0 0 0 9,0 0 19,0
Cicle de vida d'un procés, planificació, estructures bàsiques per a la implementació de processos. Exemples: unix, linux, windows 2k

7. Comunicació entre processos
T      P      L      Alt    L Ext. Est    A Ext. Total 
5,0 0 4,0 0 0 9,0 0 18,0
Necessitat de la comunicació i sincronització: pipes, signals, sockets.

8. Compartició de recursos
T      P      L      Alt    L Ext. Est    A Ext. Total 
6,0 0 2,0 0 0 10,0 0 18,0
Memòria compartida, threads, processos amb recursos compartits, secció crítica, mutex, semàfors, deadlock

9. Gestió de memòria
T      P      L      Alt    L Ext. Est    A Ext. Total 
6,0 0 0 0 0 6,0 0 12,0
Memòria virtual, suport del SO i del hardware, polítiques i algorismes


Total per tipus T      P      L      Alt    L Ext. Est    A Ext. Total 
50,0 0 20,0 0 0 64,0 0 134,0
Hores addicionals dedicades a l'avaluació 16,0
Total hores de treball per l'estudiant 150,0

Metodologia docent

L'assignatura té 6 hores de classe a la setmana. Quatre d'elles seran de teoria i dues de problemes/laboratori. Les classes de problemes/laboratori es faran en aules de laboratori, de manera que l'estudiant tingui un terminal a la seva disposició. En aquestes classes, el professor explicarà conceptes pràctics, mapejant els conceptes explicats a teoria sobre el sistema operatiu en que es vagi a treballar. Es faran exercicis tant a la pissarra com als terminals. No hi ha una pràctica associada, sinó exercics resolts al laboratori.
Les primeres setmanes de teoria s'explicarà el punt de vista d'usuari/programador, que serà el que es provarà al laboratori. A partir d'aquestes setmanes, a teoría s'explicaran idees d'implementació, com a base de l'assignatura PSO.

Mètode d'avaluació

La nota de l'assignatura es calcularà a partir de dues notes:

- nota de continguts teòrics (pes 70%)
- la nota de laboratori o continguts pràctics (pes 30%)

Cal treure un mínim d'un 3.5 a la nota de laboratori. Altrament, la nota màxima de l'assignatura serà un 4.

La nota de continguts pràctics s'obtindrà com el màxim entre la nota de seguiment de les sessions de pràctiques i la nota d'un control que es farà en l'última sessió de laboratori.

La nota de continguts teòrics es pot obtenir per controls al llarg del curs o bé en l'examen final. Al llarg del curs es realitzaran entre 2 i 4 (per decidir) controls teòrics. L'alumne que superi la part de continguts teòrics per mitjà dels controls quedarà alliberat, si vol, de l'examen final.

Bibliografía bàsica

  • William Stallings Sistemas operativos : principios de diseño e interioridades, Prentice Hall, 2001.
  • Brian W. Kernighan, Rob Pike El Entorno de programación UNIX, Prentice-Hall, 1987.
  • Brian W. Kernighan, Rob Pike La Práctica de la programación, Pearson Educación, 2000.

Bibliografía complementària

  • Abraham Silberschatz, Peter Baer Galvin, Greg Gagne Operating system concepts, John Wiley & sons, 2005.
  • W. Richard Stevens, Stephen A. Rago Advanced programming in the UNIX environment, Addison-Wesley, 2005.

Enllaços web

(Informació no introduïda)

Capacitats prèvies

Concurrència (desitjable)
Estructures de dades
Idees d'entrada/sortida
Memòria virtual
Correspondència C- assemblador
Entorn Linux / C


Compartir

 
logo FIB © Facultat d'Informàtica de Barcelona - Contacte - RSS
Aquest web utilitza cookies pròpies per oferir una millor experiència i servei. En continuar amb la navegació entenem que acceptes la nostra política de cookies.
Versió clàssica Versió mòbil