Documente Academic
Documente Profesional
Documente Cultură
1. Sisteme de operare
- Functiile sistemului de operare
1. Convenienta
• Componentele unui sistem de calcul pot fi privite intr-o maniera stratificata,
bazata pe relatiile existente intre acestea.
• Sistemul de operare va oferi cateva servicii legate de convenienta:
Servicii pentru dezvoltarea si executia programelor;
Acces catre dispozitivele I/O si Acces controlat catre fisiere;
Accesul la sistem;
Detectarea erorilor;
“Contabilitate” si management (al resurselor).
2. Eficienta
3. Evolutie
• Sistemul de operare trebuie sa fie capabil sa ofere solutii noilor cerinte care
apar in timpul existentei sale. Acestea pot sa apara datorita:
• Modificarilor hardware;
Functionare
1. Control direct CPU – dispozitiv
2. Funcția controllerului este adăugată: operații I/O programate
3. Este adăugat suportul întreruperilor: operații I/O asincrone (CPU nu mai
așteaptă finalizarea operațiilor)
4. Control direct la memorie (DMA): devine posibil transferul unui bloc de date
fără intervenția CPU
5. Module I/O specializate: CPU este capabil să comande o secvență de operații
6. Capacitate de memorare pentru modulele I/O specializate: minimizează
intervenția CPU.
Planificare si control
Oferă suportul pentru gestiunea cozilor și planificarea operațiilor de
intrare/ieșire
Oferă suportul pentru controlul operațiilor I/O.
Oferă interacțiunea efectivă cu dispozitivul (driverul de dispozitiv), dpdv.
software.
3. Procese
Generalitati
o Un proces este un program în execuţie, căruia i se
asociază un spaţiu de adrese
o Pentru a putea rula mai multe procese, acestea
sunt partajate în timp
La reluarea procesului acesta trebuie repornit din starea
pe care o avea în momentul suspendării
În multe SO, informaţiile despre fiecare proces, altele
decât conţinutul propriului spaţiu de adrese,sunt reţinute într- un
tabel de procese.
o Un proces poate crea mai multe procese (numite copii) care la rândul lor
pot crea alte procese. Astfel se ajunge la o structura de tip arbore
o Procesele pot comunica între ele. În cazul în care procesul corespondent nu
răspunde după un anumit timp, SO trimite un semnal de alarmă care
trebuie tratat (de ex. prin retrimiterea mesajului)
o Fiecare utilizator de sistem are asociat un UID (User Identification). Fiecare
proces conţine UID-ul utilizatorului care l-a declanşat. Un proces copil are
acelaşi UID ca şi părintele său.
Starile proceselor
6. Sisteme de fisiere
Generalitati
o Răspund cerințelor de depozitare pe termen lung (permanentă) a
informației
o Răspund celor trei cerințe esențiale:
Posibilitatea de a depozita cantități mari sau foarte mari de
informație
Posibilitatea de a depozita informații cu o durată de viață mai mare
decât a proceselor care le utilizează
Posibilitatea de a oferi acces concurent la informațiile depozitate.
o Pentru a suporta cele trei cerințe
Este utilizat suportul oferit de unitățile de disc și unități de depozitare
externă a informației
Fișierele sunt folosite ca “unități de depozitare” a informației.
Procesele folosesc o interfață relativ simplă pentru operațiile tipice de
scriere, citire, creare
Folosind acest suport, este obținută persistența informațiilor
depozitate în fișiere - Astfel, acestea nu mai depind de ciclul de viață
al proceselor
Gestiunea fișierelor cade în sarcina sistemului de operare - Sarcini
tipice: structură, acces, numire, utilizare, protecție, implementare
sistem de fișiere.
Operatii specifice
o Creare – crearea unui fișier gol, în vederea adăugării ulterioare de conținut
o Ștergere -- ștergerea unui fișier. Anumite sisteme de operare
implementează operația prin simpla marcare a fișierului pentru ștergere sau
decrementarea unui contor de legături.
o Deschidere – operația de deschidere, presupune obținerea atributelor în
vederea utilizării corecte a fișierelor.
o Închidere – operație “complexă”, care presupune golirea bufferelor interne.
Diferite sisteme de operare ar putea “încuraja” această operație prin
limitarea numărului de fișiere deschise accesibile.
o Citire – citește date (de regulă octeți) de la poziția curentă.
o Scriere – scrie date (de regulă o secvență de octeți) la poziția curentă.
o Adăugare – o formă particulară de scriere, cu adăugare la sfârșitul unui
fișier. Poate fi realizabilă prin alte operații.
o Căutare – specific pentru fișiere cu acces aleator, presupune modificarea
poziției curente a pointerului de citire/scriere
o Obținere/setare atribute – diferite aplicații se bazează pe atributele
fișierelor pentru buna funcționare a acestora. Ex. make folosește marca de
timp
o Redenumire – poate fi suplinită printr-o operație de copiere urmată,
eventual, de o ștergere a fișierului original.
o Blocare - blocarea unui fisier. Diferite sisteme de operare oferă suport
pentru operația de blocare a fișierelor
7. Directoare(foldere)
Generalitati
o Directoarele (folderele) oferă mijloace de grupare a fișierelor;
Operatii specifice
o Creare – un nou director. Acesta este un director gol (conținând însă
intrările ‘.’ și ‘.. ’)
o Ștergere – de regulă posibilă doar pentru directoare goale.
o Deschidere (opendir) – operație similară cu cea pentru fișiere, utilizabilă
pentru scanarea intrărilor unui director
o Închidere (closedir) – operație similară cu cea pentru fișiere, necesară
pentru eliberarea structurilor interne.
o Citire intrare director (readdir) – operație care returnează informații legate
de următoarea intrare de director. Tehnic vorbind, anumite sisteme de
operare permit utilizarea apelurilor simple read() pentru această operație.
o Redenumire
o Legături – operația de legare oferă posibilitatea de creare a unei intrări de
director asociată unui conținut (fișier). Prin această operație este posibil ca
mai multe intrări de director să se refere la același conținut. Operația
inversă permite ștergerea unei intrări de director și decrementarea
contorului de legături, fără ca datele să fie șterse fizic. Tipic pentru sisteme
UNIX sau similare.
8. Implementare
Implementarea fisierelor
o Diferite sisteme de operare și sisteme de fișiere oferă abordări diferite
pentru implementarea fișierelor. Sunt posibile scheme de
Alocare contiguă
Liste înlănțuite
i-noduri
Implementarea directoarelor(folderelor)
o Sistemul de operare oferă puncte de vedere diferite asupra fișierelor;
o
9. Gestiunea memoriei unui sistem de calcul
o Orice sistem de calcul ofera diferite categorii de dispozitive de memorare:
O cantitate relativ mica de memorie cache;
O cantitate rezonabila de memorie (RAM), numita memoria
principala;
O cantitate semnificativa de memorie non-volatila, utilizata pentru
depozitarea informatiei pe termen lung.
o Categorii de sisteme de gestiune a memorie:
Monoprgramarea (fara swapping sau paginare)– presupune existenta
unui program in memorie la un moment dat, impreuna cu sistemul de
operare;
Multiprogramarea (cu partitii fixe) – o metoda consta in divizarea
memoriei intr-un numar de partitii, posibil egale;
Swapping – procesele sunt depozitate sau aduse in memorie in
intregime;
Memorie virtuala – procesele pot fi executate chair daca nu se gasesc
integral in memorie.
Segmentare – dotarea masinii cu un numar mare de spatii de adreses
distincte numite segmente(un spatiu liber liniar de adreses).