|
Proiectarea Sistemelor de Operare
Continut stiintific - curs
1. NOTIUNI DE BAZA.
1.1. Structura nucleului UNIX.
1.2. Organizarea informatiei pe un disc
1.3. Tabele folosite de nucleu pentru gestionarea fisiereor si proceselor.
1.4. Gestionarea tampoanelor cache
2. Structura sistemului de gestinare a
fisierelor UNIX
2.1. Functiile de nivel inferior.
2.2. Functiile de nivel superior.
3. Structura sistemului de gestionare
a proceselor UNIX
3.1. Notiuni de baza.
3.2. Operatii asupra proceselor.
3.3. Semnale.
3.4. Comunicare între procese.
3.5. Comunicare avansata între procese.
Continut stiintific - aplicatii (laborator).
1. Pregatirea mediului de dezvoltare a unui sistem de operare - Unelte
de editare, compilare, depanare. Notiuni de baza despre modul de lucru
si optiunile compilatorului de c (gcc, g++ etc.), ale asamblorului (as,
nasm etc.) si ale utilitarului make.
2. Modalitati de testare a sistemelor de operare – Prezentare
masini virtuale (Virtual PC, Bocsh, VMware).
3. Procesul de bootare – Prezentare încarcatoare (Lilo,
Grub) si dezvoltarea unui încarcator de sistem de operare.
4. Prezentarea sistemului de operare didactic Nachos – Descrierea
modulele componente, sistemul de întreruperi, ceasul hardware,
schimbarea de context.
5. Gestiunea threadurilor - Definitii. Prezentare generala. Exemplificare
pentru pachetul Pthreads sub Linux si pentru Nachos.
6. Mecanisme de sincronizare în pachetul Pthreads sub Linux -
Studiul si utilizarea mecanismelor de sincronizare oferite de pachetul
Pthreads: lacate, variabile conditionale si semafoare.
7. Mecanisme de sincronizare sub Windows - Studiul si utilizarea mecanismelor
de sincronizare oferite de sistemele de operare Windows: eveniment,
lacat, semafor, eveniment de timp. Comparare cu mecanismele din Linux.
8. Implementarea mecanismelor de sincronizare - Exemplificare pentru
Nachos.
9. Planificarea threadurilor pentru executie - Algoritmii de planificare
din Windows si Linux. Planificare bazata pe prioritati si algoritmul
de planificare „lotery sceduling”. Posibilitatea compararii
a diferiti algoritmi.
10. Politici de planificare a threadurilor din pachetul Pthreads sub
Linux - Studiul problemelor legate de stabilirea unei politici de sincronizare
si a prioritatilor. Rezolvarea unor probleme de sincronizare.
11. Dezvoltarea unui sistem de fisiere - Exemplificare pentru sistemul
de operare Nachos.
12. Gestiunea memoriei - Memorie virtuala. Mecanisme de paginare. Exemplificare
pentru sistemul de operare Nachos.
13. Multiprogramare - Exemplificare pentru sistemul de operare Nachos.
|