|
Crèdits: |
Departament: |
Tipus: |
Requisits: |
||||||||
|
7.5 |
AC |
· Obligatòria per l'EI · Optativa per l'ETIG ·
Optativa per l'ETIS |
|
|
Aquesta assignatura té 7.5 crédits asignats, aixó implica un tota
d'hores de treball de 150 hores per curs. Recordeu que té un alt components
de treball extra pel tipus de assignatura. No és recomanable matricular-se
conjuntament amb altres assignatures de projecte. |
Els estudiants disposeu d'un fòrum de discussió de l'assignatura al mateix
Racó.
Deixarem els avissos i notes al Raco
de
Per consultes sempre confirmeu
prèviament per e-mail. Totes les adreces d'e-mail acaben amb
@ac.upc.edu
Yolanda Becerra (coordinadora, email: yolandab)
Despatx: C6-206
Consultes:
Juan Jose Costa (email:
jcosta )
Despatx: C6-117
Consultes:
Marisa Gil (email: marisa)
Despatx: C6-110
Consultes:
Ruben González (email: gonzalez )
Despatx: D6-212
Consultes:
Jordi Guitart (email: jguitart)
Despatx: C6-205
Consultes:
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.
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.
Tornar
Aquesta
és la planificació del curs per setmanes. Potser modificada per cada grup. En
aquest cas s’avisaria o be a classe de teoria o mitjançant una nota al raco.

Les
classes de teoria s’han d’haver preparat prèviament. Això vol dir haver llegit
prèviament la documentació d’aquesta part i haver repassat aquells conceptes
d’assignatures anteriors que no es tinguin clars.
El projecte de sistemes operatius consta de
dues parts:
Projecte 1: implementació del nucli d'un sistema operatiu . En aquest projecte
utilitzarem l’eina Bochs.
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.
Durant les entrevistes es faran preguntes tant de la vostra pràctica com de
sistemes operatius en general. La demostració del funcionament del projecte ha
d'incloure (per cada entrega parcial) un
joc de proves fet per vosaltres a part del que us puguem donar com a
exemple.
El joc de proves ha de demostrar:
Juntament amb la última entrevista de cada
projecte es farà també entrega de la documentació global del projecte. És
convenient per tant anar preparant-la durant tot el projecte.
Entregues P1
P0 : La primera es una sessió introductòria, en la qual s’introdueixen les eines que s’utilitzaran durant el projecte i es treballa el mecanisme d’arrencada del sistema. Aquesta primera sessió no té entrevista amb el tutor però és obligatòria fer-la. Es podran preguntar aspectes relacionats amb aquesta entrega durant qualsevol de la resta de les entrevistes. El fet de no saber utilitzar l'entorn de treball, per exemple el debugger de Bochs o comandes com l'objdump podria suposar perdre punts a l'entrega corresponent.
E1.1: La segona part correspon als mecanismes d'entrada al sistema: interrupcions (rellotge i teclat), excepcions i crides a sistema, així com implementació de llistes Aquesta part correspon a la primera entrega parcial que es farà el dia 02/03 que es farà via Racó. Durant la setmana següent es faran les entrevistes amb el tutor.
E1.2. La tercera part correspon principalment a la gestió de processos. Aquesta part correspon a la segona entrega que es farà el dia 06/04 via Racó. Durant la setmana següent es faran les entrevistes amb el vostre tutor.
E1.3. La quarta part
correspon a la gestió d’Entrada/sortida. En aquesta entrega s'haurà
d'entregar la documentació i el codi de tot el projecte (fitxer .tar.gz), així
com també fer una entrevista amb el vostre tutor. Aquesta entrega es farà el
dia 04/05 via Racó. Les entrevistes es faran la setmana següent amb el
vostre tutor.
Entrega P2
E2.1 (entrega única P2) La del segon projecte es farà el dia 25/5. Les entrevistes es faran la última setmana de curs.
INFORMES PREVIS
Per evitar aquells cassos en que arribeu a les entrevistes sense haver validat les vostres propostes amb el vostre tutor hem incorporat la obligatorietat d’entregar uns informes previs a les entregues. Haureu d'entregar un informe previ a la entrega 1.2, 1.3 i al P2. (E2.1). Aquests informes seran de com a màxim un parell de fulls perquè l’objectiu no és donar feina addicional sinó que és validar el que penseu fer. Per tant, idealment els hauríeu de validar abans de començar a picar codi. Sempre s'han de validar amb el vostre tutor i en cas que no pugueu anar al laboratori haureu de quedar en algun moment fora d’hores de laboratori. El fet de no validar amb el tutor aquest informe previ implicarà tenir un 0 en aquesta entrega.
Els informes previs es faran la primera setmana de teoria
de cada entrega. Aquest
document descriu que heu d'entregar en el cas dels informes previs del P1 (és
una guia que heu d’aplicar segons la entrega en concret).
Test amb conceptes previs que tothom hauria de
conèixer.
Solucions al test.
-Transparencies
de l’assignatura (versió
mht)
- Per la entrega final: Descripció de la documentació a entregar i que s'ha de fer al projecte 1 ZEOS
- Fitxers del joc de proves:
- Fitxers del joc de proves de les llistes
- Apèndix programació en C: Convencions i punters
El projecte 1 té tres entregues:
Projecte 2: 30%
(Consulteu la guia docent de
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. El
professor anirà a unes hores de laboratori prèviament concertades.
El primer projecte tindrà dues entregues de seguiment parcials i una entrega
final. El segon projecte tindrà una només una entrega final.
En aquest link
trobareu un video sobre com instalar bochs 2.3 en Ubuntu. Es cortesia d'un
company vostre del curs 2006-2206Q1 (Lluis M. García)
http://www.labav1.org/bochs_proso/bochs_proso.html
The Linux Documentation
project
Pàgina web de
Willian Stallings (amb transparencies del llibre i altres links molt
interesants)
Transparencias
de las asignatura ec2 de plan nuevo. Código ensamblador
Manuals
sobre l'arquitectura del PC i manuals tècnica de Intel 80x86
Intel, Intel
Architecture Software Developer's Manual, vol 3: System programming
![]()
Aquesta obra està subjecta a una Llicència de Creative
Commons.
Última modificació:24 abril, 2008