| Responsable: | Yolanda Becerra Fontal (yolandab |
| Altres: | Jordi Guitart Fernandez (jguitart Juan José Costa Prats (jcosta Julita Corbalan Gonzalez (juli Maria Luisa Gil Gomez (marisa Ruben Gonzalez Garcia (ruben.gonzalez-garcia |
| Crèdits | Dept. |
|---|---|
| 6.0 ECTS | AC |
| Responsable: | Yolanda Becerra Fontal (yolandab |
| Altres: | Jordi Guitart Fernandez (jguitart Juan José Costa Prats (jcosta Julita Corbalan Gonzalez (juli Maria Luisa Gil Gomez (marisa Ruben Gonzalez Garcia (ruben.gonzalez-garcia |
1. Conèixer de manera pràctica com funciona internament un SO.
2. Ser capaç d'implementar des de zero els components bàsics del nucli d'un SO.
3. Ser capaç de desenvolupar noves funcionalitats sobre un SO real.
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 |
|
T | P | L | Alt | L Ext. | Est | A Ext. | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 2,0 | 0 | 8,0 | 0 | 10,0 | 0 | 0 | 20,0 | |||
|
Descripció de l'arquitectura del mode d'execució protegit: mode usuari i mode sistema.
Introducció als mecanismes d'entrada al sistema: excepcions, interrupcions i traps (crides al sistema). Descripció de la programació i el tractament dels diferents mecanismes d'entrada al sistema (inicialització IDT, programació handlers i rutines de servei i implementació de la llibreria de crides al sistema).
|
||||||||||
|
T | P | L | Alt | L Ext. | Est | A Ext. | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 1,0 | 0 | 4,0 | 0 | 5,0 | 0 | 0 | 10,0 | |||
|
Descripció de l'espai d'adreces d'un procés (espai logic vs. espai físic).
Gestió de la taula de pàgines: incidència en la creació de processos i en el canvi de context.
|
||||||||||
|
T | P | L | Alt | L Ext. | Est | A Ext. | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 3,0 | 0 | 12,0 | 0 | 15,0 | 0 | 0 | 30,0 | |||
|
Descripció de les estructures de dades bàsiques per la gestió de processos: PCB, llistes.
Descripció de les rutines per la gestió de processos: creació i destrucció de processos, canvi de context entre processos, planificació de processos i obtenció d'informació estadística dels processos.
|
||||||||||
|
T | P | L | Alt | L Ext. | Est | A Ext. | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 2,0 | 0 | 8,0 | 0 | 10,0 | 0 | 0 | 20,0 | |||
|
Descripció de les rutines i estructures de dades per la gestió bàsica de l'entrada/sortida al teclat
Concepte de taula de canals. Crides a sistema per la gestió de la taula de canals.
|
||||||||||
|
T | P | L | Alt | L Ext. | Est | A Ext. | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 1,0 | 0 | 4,0 | 0 | 5,0 | 0 | 0 | 10,0 | |||
|
Descripció de les estructures de dades per a la sincronització de processos mitjançant semàfors.
Crides a sistema per la gestió de semàfors. Descripció d'altres funcionalitats que podran ser escollides pels alumnes per ser incorporades al sistema.
|
||||||||||
|
T | P | L | Alt | L Ext. | Est | A Ext. | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 1,0 | 0 | 4,0 | 0 | 5,0 | 0 | 0 | 10,0 | |||
|
Descripció dels conceptes de mòduls, dispositius i device drivers a Linux.
|
||||||||||
|
T | P | L | Alt | L Ext. | Est | A Ext. | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 4,0 | 0 | 16,0 | 0 | 20,0 | 0 | 0 | 40,0 | |||
|
Descripció del concepte d'un device driver. Descripció de les tècniques d'inserció de codi al kernel de Linux.
|
||||||||||
| Total per tipus | T | P | L | Alt | L Ext. | Est | A Ext. | Total |
| 15,0 | 0 | 60,0 | 0 | 75,0 | 0 | 0 | 150,0 | |
| Hores addicionals dedicades a l'avaluació | 2,5 | |||||||
| Total hores de treball per l'estudiant | 152,5 | |||||||
El projecte de sistemes operatius consta de dues parts:
Projecte 1: Implementació del nucli d'un sistema operatiu
Projecte 2: Implementació d'un device driver per Linux
Cada projecte està organitzat en diverses parts. Per cada part, es farà un repàs dels conceptes teòrics associats i una descripció del projecte a realitzar.
En acabar cada una de les parts, es farà una entrega/seguiment parcial consistent en una entrevista i una demostració del funcionament del projecte.
A les classes de teoria es repassaran els conceptes bàsics de sistemes operatius que es necessiten pel projecte i es farà una descripció de l'enunciat del projecte.
A les classes de laboratori s'anirà implementant el projecte, generalment amb el suport del professor de laboratori. Tanmateix, l'alumne disposarà d'una quantitat d'hores de laboratori per continuar i acabar el projecte.
Projecte 1: 70%
Projecte 2: 30%
Al llarg del curs es faran una sèrie d'entregues parcials (de seguiment) i una entrega final. Totes les entregues puntuen.
Cap entrega és obligatòria. En cas de que no s'entregui alguna part, quedarà una nota de 0 a la entrega corresponent.
http://www.xml.com/ldd/chapter/book/
http://bochs.sourceforge.net/
http://www.kernel.org/L'alumne ha de conèixer els fonaments bàsics de l'estructura d'un sistema operatiu.
A més, es requereixen coneixements de programació a baix nivell, preferiblement en els llenguatges de programació C i assemblador de l'i386. També són útils conceptes de programació en alt nivell així com conceptes d'estructures de dades. Finalment, és convenient que tingui experiència en l'ús del sistema operatiu linux i d'eines bàsiques de programació i depuració de programes.
Per tant, les assignatures que s'haurien de cursar abans d'aquesta són SO, EC2 i PRED.