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

  1. 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.
  2. 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
  3. 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.
  4. 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.
  5. 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

  1. Kertész Cs.Z., Notiţe de curs, Universitatea Transilvania, Braşov
  2. Silbershatz, A., Gagne, G., Galvin, P.B., Operating Systems Concepts, ed. 7, John Wiley and Sons, 2005
  3. Tanenbaum, A.S., Modern Operating System, Prentice Hall, 1992
  4. Stevens, W.R., Advanced Programming in the UNIX Environment, Addison Wesley, 1992