Arquitectura de Computadors i Sistemes Operatius II

 

Curs 2008-2009 (Quadrimestre de primavera)

Professors de l’assignatura

  1. Josep Pons (Grups 10 i 20)
    • E-mail:josepp at ac.upc.edu
    • Despatx: C6-122
    • Consultes:

 

  1. Marisa Gil (Grup 30) Coordinadora
    • E-mail: marisa at ac.upc.edu
    • Despatx: C6-110
    • Consultes:

A.     Dilluns i dimarts de 9-10 am; divendres de 5-6 pm

B.      Envieu un mail previament informant que vindreu i per a concretar el moment si escau.

 

Mètode d’avaluació

El mètode d’avaluació aprovat per la Comissió docent és el següent:

  • La qualificació final s’obtindrà a partir de dues notes corresponents a un examen final de tots els conceptes de l’assignatura i a una nota d’avaluació continuada. A més, hi haurà una pràctica opcional.
  • La nota d’avaluació continuada es calcula a partir d’una sèrie de proves parcials realitzades al llarg del curs. En funció de la marxa del curs es determinarà el nombre de proves parcials que es realitzaran.
  • La nota final s’obté promitjant la nota d’examen final i la nota d’avaluació continuada. De totes formes, si la nota d’examen final és superior a la d’avaluació continuada, la nota final de l’assignatura és directament la nota de l’examen final.
  • Finalment, els alumnes que hagin realitzat la pràctica optativa veuran incrementada la seva nota final amb la nota de la pràctica optativa; aquesta nota estarà compresa entre 0 i 1.

 

Aquest quadrimestre l’implementació efectiva serà la següent:

  • Parcials:

Hi hauran dos parcials durant el curs.

Primer parcial: setmana del 13 d’abril, en horari de classe (fins a pipes inclós)

Segon parcial: setmana del 18 de maig, en horari de classe (resta temari)

L'examen final (17 de juny de 2009) constarà de dos parts, corresponents al primer parcial i resta de temari.

 

  • La nota final es calcularà:

Part corresponent al primer parcial: 25% nota-parcial i 75% nota-final. Els estudiants que tinguin d’aquest parcial una nota superior a 6, poden optar per no fer la part del final i llavors la nota del parcial serà el 100% de la nota de la primera part.

Part corresponent a la resta de temari: 25% nota-parcial i 75% nota-final. Els estudiants que tinguin d’aquest parcial una nota superior a 6, poden optar per no fer la part del final i llavors la nota del parcial sera el 100% de la nota de la segona part.

 

  • Treball opcional:

Els alumnes que fan un treball opcional i opten al punt adicional, han de presentar via mail abans de divendres 3  d’abril a les 12 del migdia l'enunciat definitiu amb l'esquema corresponent de crides a sistema que faran servir. Fora d'aquest termini, no es considerarà el projecte.

 

El projecte definitiu s’haurà d'enviar via mail al tutor corresponent dilluns 18 de maig de 2009 abans de les 15 h.

Les presentacions es faran l’ultima setmana de classe, en horari de classe.

 

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) (3 hores)

2.1. Introducció a UNIX                  

§         El sistema de fitxers.

§         L’interpret de comandes.  

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.3. 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 (5 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 (5 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. Crides a sistema                                     

§         socket().

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

§         read()/write()

§         close()

8. Seguretat i protecció (3 hores)

8.1.    Introducció              

§         Què es un sistema segur.

§         Models de seguretat  

8.2. Protecció

 

 

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.