Sisteme de Operare
Curs
Lab
Bibliografie
Examen
Obiective
Utilizarea sistemelor de operare de tip Linux
Studiul detaliat a principiilor sistemelor de operare, modul de funcţionare şi problemele ce pot apare în timpul funcţionării.
Scrierea aplicaţiilor pentru sistemul Linux prin folosirea apelurilor sistem din standardul POSIX
Structura cursului
- Introducere.
Ce este un SO? Istoria sistemelor de operare. Concepte de bază ale SO. Procese.
Fişiere. Apeluri sistem. Shell-ul. Structura SO. Sisteme monolitice. SO organizate pe nivele.
Maşini virtuale. Modelul client-server.
- Procese
Implementarea proceselor. Comunicaţia între procese (IPC). Condiţii de concurenţă. Secţiuni critice.
Excluderea mutuală. Sleep & wakeup. Semafoare. Contoare de evenimente. Monitoare.
Message passing. Probleme IPC clasice. Problema cinei filozofilor. Problema scriitorilor şi cititorilor.
Planificarea proceselor. Planificare Round Robin. Planificare cu priorităţi. Planificare cu cozi multiple.
Planificare SJF. Planificare garantată. Politici şi mecanisme. Fire de execuţie
- Managementul memoriei
Managementul memoriei fără utilizare paginării şi swapping-ului. Multiprogramarea şi utilizarea memoriei.
Swapping. Multiprogramare utilizând partiţii variabile. Managementul memoriei utilizând bitmap-uri.
Managementul memoriei utilizând buddy systems. Alocarea spaţiului pentru swap. Analizaq sistemelor cu swapping.
Memoria virtuală. Paginarea. Tabele de pagini. Exemple de hardware pentru paginare. Memoria asociativă.
Algoritmi de înlocuire a paginilor. Algoritmul de înlocuire optim. Algoritmul NRU. Algoritumul FIFO.
Algoritmul second chance. Algoritmul LRU. Simularea software a algoritmului LRU. Modelarea algoritmilor
de înlocuire a paginilor. Anomalia lui Belady. Algoritmi de tip stivă. Predicţia ratei page-fault-urilor.
Consideraţii privind proiectarea sistemelor de paginare a memoriei. Modelul working set. Politici de alocare
locale şi globale. Dimensiunea paginilor. Consideraţii privind implementarea sistemelor de paginare
a memoriei. Segmentarea.
- Sisteme de fişiere
Fişiere. Numele fişierelor. Structura fişierelor. Tipuri de fişiere. Accesul la datele dintr-un fişier.
Atributele unui fişier. Operaţii cu fişiere. Directoare. Implementarea sistemelor de fişiere. Implementarea
fişierelor. Implementarea directoarelor. Fişiere partajate. Managementul spaţiului de pe disc. Fiabilitatea
sistemului de fişiere. Performanţele sistemului de fişiere. Probleme celebre în securitatea sistemelor.
Viermi şi viruşi. Atacuri generice. Autentificarea utilizatorilor. Mecanisme de protecţie. Domenii de protecţie.
Liste de control al accesului. Capabilităţi. Modele de protecţie.
- Managementul I/O
Hardware-ul I/O. Dispozitive I/O. Controlere de dispozitive. DMA. Software I/O. Cerinţele software-ului I/O.
Tratarea întreruperilor. Drivere. Software I/O independent de dispozitiv. Software I/O în spaţiul utilizator.
Discuri. Algoritmi de acces la disk. Timere. Ceasuri sistem. Terminale. Terminale mapate în memorie.
Laboratorul
Resurse laborator
Tema de casă 1
Situația temelor
Examen
Evaluare scrisă 30 de întrebări contra timp: 1 minut pentru fiecare întrebare.
Nota finală 70% examen + 30% laborator
Rezultate examen 2015.06.23
Rezultate examen 2015.07.01
Rezultate restanță
Bibliografie
- Kertész Cs.Z., Notiţe de curs, Universitatea Transilvania, Braşov
- Silbershatz, A., Gagne, G., Galvin, P.B., Operating Systems Concepts, ed. 7,
John Wiley and Sons, 2005
- Tanenbaum, A.S., Modern Operating System, Prentice Hall, 1992
- Stevens, W.R., Advanced Programming in the UNIX Environment, Addison Wesley, 1992