Arquitectura de Computadors i Sistemes Operatius II

 

Curs 2008-2009 (Quadrimestre de tardor)

Professors de l’assignatura

 

 

Temari

1. Introducció als Sistemes Operatius (2 hores)

1.1. Història

Des de les primeres màquines sense SO fins els actuals sistemes multiprocés i multiusuari, passant pels sistemes “batch” (de cues)

1.2. Parts d’un Sistema Operatiu

§         Espai d’usuari i espai de sistema

§         Disseny monolític, per capes i per components: micro-kernels i llibreries

§         Principals components del Sistema Operatiu: gestió de l’execució, gestió de la memoria i gestió de l’entrada/sortida.  

2. Intèrpret de comandes a UNIX (Shell) (4 hores)

2.1. Introducció a UNIX                  

§         El sistema de fitxers

§         L’interpret de comandes

§         El sistema X Windows.  

2.2. Comandes bàsiques                

§         Metacaràcters

§         Control de processos

§         Redirecció de l’entrada/sortida: filtres.   

2.3. Programar en llenguatge del Shell: scripts               

§         Variables especials, locals i globals

§         Control de fluxe

§         Iteracions  

3. Sistema de Fitxers (4 hores)

3.1. Introducció als sistemes de fitxers

§         Tipus de fitxers i operacions.  

§         Sistemes de fitxers basats en FAT.  

§         Sistemes de fitxers basats en i-node.    

3.2. Crides a sistema

§         creat()/open()/close().  

§         read()/write().  

§         dup().     

4. Processos (6 hores)

4.1.  Introducció                

§         Definicio de procés. 

§         Espai d’adreces i assignació de recursos

4.2. Planificació i gestió de procesos

§         Estats d’un procés: creació, bloqueig i destrucció  

§         Concurrència i paral.lelisme. 

§         Canvi de contexte i temps compartit

§         Polítiques de planificació: FIFO, round-robin, prioritats.     

4.2. Crides a sistema  

§         fork()  

§         wait()/exit().  

§         exec().              

5. Comunicació entre processos: pipes (4 hores)

5.1.  Introducció                

§         Comunicació i sincronització entre processos

§         Pas de missatges i memòria compartida.

§         Pipes i rel.lació entre processos.  

5.2. Crides a sistema  

§         pipe().  

6. Gestió d’events: Signals (6 hores)

6.1.   Introducció als events               

§         Tipus d’events: hardware i software. 

§         Programació d’events

§         Característiques específiques del treball amb events: herència, reprogramació 

6.2. Crides a sistema  

§         signal()/sigaction(), sigprocmask(). 

§         kill()/alarm()

§         pause() 

7. Comunicació remota entre processos: Sockets (8 hores)

7.1.    Introducció              

§         El model client-servidor.

§         El model OSI i el protocol de comunicació TCP/IP  

7.2. Sockets

§         Què és un socket.

§         Tipus de socket  

7.3. Introducció al subsistema de xarxa de Linux

7.4. Crides a sistema                                     

§         socket().

§         connect()/bind()/listen() 

§         send()/receive()

§         close()

 

Bibliografía bàsica

·         Operating System Concepts. 7th Edition. A. Silberschatz, P.B. Galvin, G. Gagne. John Wiley & Sons, Inc. 2.004 (Accés a material a http://codex.cs.yale.edu/avi/os-book/).

·         UNIX y LINUX. Guía práctica. Sebastián Sánchez. Ed. Ra-Ma 1999.

·         Linux System Programming. Robert Love. O’Reilly, 2.007.

·         The C Programming Language. Brian W. Kernighan, Dennis M. Ritchie. 2nd Edition. Prentice-Hall, 1998.

 

Bibliografía complementària

·         Computer Systems. A Programmer’s Perspective. Randal E. Bryant, David O’Hallaron.  Pearson Educaction, 2.003.

·         The Practice of Programming. Brian W. Kernighan, Rob Pike. 1st Edition. Prentice-Hall, 1999.

 

Material de l’assignatura d’anys anteriors:

http://ariso2.ac.upc.edu/