Sunteți pe pagina 1din 17

UNIVERSITATEA POLITEHNICA BUCURETI

FACULTATEA DE ELECTRONIC, TELECOMUNICAII I


TEHNOLOGIA INFORMAIEI

STRUCTURA SISTEMULUI DE OPERARE


Studenti:

Profesor coordonator: Stefan Stancescu

MIHAI Octavian 434A


SIMION Iulian 434A
STANCULESCU Adrian 434A

Bucuresti - 2014

~ UNIVERSITATEA POLITEHNICA BUCURETI ~

Cuprins:
1. Sistemul de Operare. Definitie. Caracteristici..2
1.1 Generalitati..2
1.2 Caracteristicile Sistemului de Operare.4
1.3 Tipuri de Sisteme de Operare.5
1.4 Obiectivele Sistemelor de Operare.6
2. Componentele unui Sistem de Operare..7
3. Managementul proceselor11
4. Managementul procesorului..13
5. Managementul fisierelor..15
6. Bibliografie..16

~ UNIVERSITATEA POLITEHNICA BUCURETI ~

Sistemul de Operare. Definitie. Caracteristici.


1.1 Generalitati

Orice PC functioneaza pe baza unui program (software) denumit sistem de operare


(OS Operating System) care gestioneaza toate resursele sistemului, functionand ca o interfata
intre programele de aplicatii si componentele fizice (hardware).
Sistemul de operare este instalat pe discul-fix (HDD Hard-Disk Drive) al calculatorului,
pe asa-numita partitie active, si este incarcat la fiecare pornire a sistemului (boot) din memoria
ROM (Read-Only Memory) de catre BIOS (Basic Input-Output System) dupa testarea sistemului
si identificarea unitatilor de disc (HDD, CDROM, floppy), a memoriei RAM (Random Access
Memory) disponibile si a monitorului, pe baza informatiilor continute in memoria CMOS
(Complementary Metal Oxid Semiconductor).
Un system de operare este conceput ca un program care ruleaza in permanenta in
calculator, in timpul functionarii acestuia. De multe ori pentru SO se foloseste termenul
echivalent kernel.
Scopul principal al kernelului este acela de a oferi utilizatorului un mod transparent de
comunicare cu calculatorul, adica posibilitatea exexutiei programeleor utilitare fara a fi
necesara cunoasterea detaliilor privind functionarea partii hardware sau a nivelelor software
inferioare celului de aplicatie.
Simplificarea modului de accesare a programeleor de aplicatie este posibila prin
folosirea interfetelor grafice (GUI Graphic Unit Interface).
De asemenea, kernelul permite programatorilor de aplicatii sa lucreze cu set de
standard de comenzi adresate acestuia, fara a recurge la comenzile codate specifice limbajelormasina, dependente de tipul hardware sau software folosit.
Un calculator este un system complex alcatuit din cinci subsisteme:
a.
b.
c.
d.
e.

Processor ( CPU Central Processing Unit)


Memorii
Subsistemul de stocare a datelor
Subsistemul video
Magistrale (de date, de adrese etc.)

~ UNIVERSITATEA POLITEHNICA BUCURETI ~


La acestea se adauga echipamentele periferice care reprezinta interfetele dintre
utilazator si calculator (tastatura, mouse, monitor).
Frecventa de lucru a procesorului (clock speed) influenteaza direct performantele
calculatorului. Rapiditatea acestuia depend de cantitatea de memorie de mare viteza
disponibila in cipul procesorului (on-chip primary Level 1 cache memory) si in afara acestuia
( off-chip secondary Level 2 memory )
In ultimul caz este necesara o magistrala de date (cache bus) cu o anumita viteza de
transfer si o anumita dimensiune (32/64 biti), pentru comunicatia dintre memoria cache
primara si cea secundara.
Comunicatia dintre componentele calculatorului se realizeaza pe diferite magistrale,
externe sau interne, de diferite tipuri( ISA, EISA, PCI, AGP, SCSI, PCMCIA).
Kernelul administreaza si aloca, la cerere (system call), diverselor programe de aplicatii,
resursele sistemului, precum:

Timp de procesare a unitatii centrale (CPU)


Access la memoria RAM
Spatiu de stocare a datelor pe disc simultan cu adminstrarea sitemului de fisiere
Resurse de intrare-iesire

Comunicarea ditnre kernel si componentele hardware ale calculatorului se face prin


intermediul unor programe software, de mici dimensiuni, de control a fiecarui echipament in
parte(device driver), compatibile in general numai cu anumite sisteme de operare si cu anumit
tip de echiopament. Functionarea oricarei component hardware din calculator este posibila
prin instalarea unui driver corespuzator.
Interactiunea directa a sistemului de operare cu componentele hardware ale
calculatorului se exercita prin intermediul sistemului de intreruperi(IRQ Interrupt ReQuest) si
prin exceptii, adica acele evenimente neprevazute (erori de system) pe care kernelul trebuie sa
le elimine. De exemplu daca un program incearca sa scrie in spatial de memorie alocat altei
aplicatii, atunci kernelul intervine in solutionarea acestei exceptii prin protejarea acestei zone si
trimite un mesaj de eroare ( general protection fault).
In fapt, sistemul de operare destinat clientilor urmareste corectitudinea functionarii
CPU, administreaza spatiile de memorie si sistemul de fisiere(FS File System) asigurand
stocarea si recuperarea dateleor pe disc, monitorizeaza procesele de intrre/iesire si
comunicatiile dintre procese, dar raspunde si de securitatea sistemului.
Intre oricare doua module software se intercaleaza interfete logice cum sunt cele grafice
GUI, cele de aplicatie API (Application Programming Interface) etc.
Arhitectura sitemului de operare poate fi conceputa fie in variant monolitica, ca un
system inchis, dificil de modificat sau imbunatatit, fie ca un sitemdeschis, cu numeroase
3

~ UNIVERSITATEA POLITEHNICA BUCURETI ~


subseturi (microkernel) lucrand in mod privilegiat (kernel mode), cu alocare neconditionata de
memorie, si cu alte module care pot lucreze in mod utilizator (user mode), nepriveligiat.
In present, se utilizeaza sisteme de operare modulare, bazte pe microkernel-uri, care au
avantaje fata de cele monolitice in ceea ce priveste posibilitatile de expandare, portabilitatea si
siguranta functionarii.
Unele sisteme cu microkernel-uri pot fi concepute astfel incat sa permita rulartea unor
aplicatii realizate si cu alte kernel-uri, fiind denumite siteme de operare cu personalitate
multipla ( Multiple personality OS / Multiple workplace environmments).

1.2 Caracteristicile Sistemului de Operare

Aa cum s-a artat, multitudinea sistemelor de operare existente n prezent, impune


stabilirea unor caracteristici pe baza crora s poat fi realizat o evaluare a performanelor
acestora i a adecvanei la scopul propus. Chiar dac la momentul actual exist cteva sisteme
de operare consacrate care domin piaa, de multe ori raportul performan/pre nu este n
favoarea acestora, n anumite domenii de aplicare. n acelai timp, exist nc o disput aprins
ntre specialiti, asupra criteriilor de performan minime la care trebuie s rspund un sistem
de operare, n aa fel nct acesta s fie corespunztor unui anumit domeniu de aplicare. Punerea
n eviden a anumitor atribute ale sistemelor de operare constituie ns singura modalitate de a
obine anumii termeni de comparaie a sistemelor de operare, fr ca acetia s aib un caracter
absolut i exhaustiv. n continuare sunt prezentate pe scurt cteva elemente ce pot fi luate n
considerare atunci cnd se face evaluarea unui sistem de operare.
a. Timpul de rspuns: exprim durata intervalului delimitat de lansarea unei cereri de
serviciu i achitarea acesteia de ctre sistem. Acest atribut are n general dou
componente i anume: timpul de ateptare pentru ca cererea respectiv s fie luat
n consideraie i timpul de execuie propriu-zis a acestei cereri.
b. 2. Simultaneitatea utilizrii: msoar gradul n care un sistem poate s lucreze n
acelai timp pentru mai muli utilizatori sau s execute mai multe lucrri ale aceluiai
utilizator. Un alt aspect al acestui atribut este capacitatea de a funciona simultan, fie
prin multiplexarea unui singur procesor intrare-ieire, fie prin existena mai multor
procesoare de acest tip.
c. Eficiena: msoar proprietatea unui sistem de a folosi n mod optim resursele de
care dispune.
d. Partajarea i protecia: caracterizeaz nivelul la care utilizatorii au posibilitatea s
utilizeze n comun informaia prezent n sistem i nivelul la care pot s comunice ntre
ei, n deplin siguran (n sensul evitrii accesului neautorizat i/sau alterrii
intenionate sau accidentale a informaiei).
e. Generalitatea, flexibilitatea, extensibilitatea: msoar gradul n care un sistem poate
fi folositor i adaptabil unui context specific (exprimat prin nivelul de limitare impus
4

~ UNIVERSITATEA POLITEHNICA BUCURETI ~


programelor utilizatorului), precum i gradul n care se pot include n sistem noi
componente hardware i software fr eforturi de proiectare i programare
suplimentare.
f. Fiabilitatea i disponibilitatea: exprim proprietatea unui sistem de operare de a
funciona fr defecte (pene, blocaje) un anumit timp i de a evita goluri n
funcionare din cauza defectrii uneia sau mai multor componente ale sale. Acest
atribut poate fi interpretat fie prin necesitatea de a avea o fiabilitate total (obinut
prin prevederea unor componente cu un grad nalt de siguran n funcionare i
dublarea lor), fie prin tolerana la defeciuni care asigur degradarea lent a
performanelor (fr a scdea sub anumite limite acceptate).
g. Transparena i vizibilitatea: exprim pe de o parte proprietatea unui sistem de a face
invizibil utilizatorului ceea ce se afl sub interfaa de utilizare care i se ofer i pe de
alt parte, capacitatea lui de a permite utilizatorilor si s obin anumite informaii
despre modul cum el lucreaz, informaii de care n mod teoretic ei nu au nevoie
pentru a beneficia de o utilizare complet, ns care ar putea s-i ajute la obinerea
unei utilizri mai eficiente.

1.3 Tipuri de Sisteme de Operare

Pe baza caracteristicilor sistemelor de operare enunate anterior se poate face o


clasificare a acestora, clasificare recunoscut aproape unanim:
sisteme secveniale;
sisteme cu multiprogramare;
sisteme cu prelucrare multipl;
sisteme n timp real.
Majoritatea sistemelor de aceste tipuri recunosc programul ca cea mai mic unitate de
prelucrare, creia i se atribuie o identitate i pe care un utilizator o poate prezenta spre execuie.
Unele sisteme ofer n plus posibilitatea ca un program s fie considerat ca un ansamblu de
sarcini (task) ale cror execuii (inclusiv n paralel) contribuie la atingerea obiectivului urmrit de
acest program.
Un sistem secvenial (batch processing prelucrare pe loturi) execut la un moment dat
un singur program, care trebuie terminat nainte ca un alt program s fie luat n consideraie. n
acest caz timpul de rspuns este de obicei mare.
Sistemele cu multiprogramare (multiprogramming) accept la un moment dat mai multe
programe n memoria central partajat, acestea aflndu-se n diferite stadii de execuie.
Execuia acestor programe se realizeaz prin multiplexarea unitii centrale. Acelai sistem poate
s permit execuii secveniale sau interactive. n ultimul caz se poate ajunge la tehnici sofisticate
de gestiune a resurselor de calcul, n scopul obinerii unui timp de rspuns ct mai mic i a unei
eficiene de utilizare maxim. Pentru un sistem interactiv timpul de rspuns este un atribut
deosebit de important. Simultaneitatea utilizrii este definit de nivelul multiprogramrii, care
5

~ UNIVERSITATEA POLITEHNICA BUCURETI ~


depinde n mod hotrtor de viteza unitii centrale, de capacitatea memoriei principale i de
perifericele disponibile.
Un sistem de calcul cu prelucrare multipl (multiprocessor) dispune de mai multe
procesoare, care pot executa simultan unul sau mai multe programe. Utilizarea efectiv a
prelucrrii multiple necesit atributul de multiprogramare. Execuia simultan a unui singur
program de ctre mai multe uniti presupune existena posibilitii de a descompune acest
program n mai multe sarcini (multitasking).
Se remarc ns c nici multiprogramarea i nici multitasking-ul nu impun capacitatea de
prelucrare multipl.
Sistemele n timp real sunt n general dedicate anumitor tipuri de funciuni i trebuie ca valorile
anumitor atribute s se ncadreze n limite uneori extrem de restrictive. Timpul real este o
noiune utilizat pentru caracterizarea operaiilor ce se desfoar n sincronism cu
evenimentele lumii exterioare. Un sistem are o comportare n timp real dac deciziile elaborate
de acesta sunt emise la momentul oportun, adic sunt aplicate procesului condus nainte ca ele
s-i piard valabilitatea.

1.4 Obiectivele Sistemelor de Operare


Aceste clase de sisteme nu sunt nici disjuncte i nici exhaustive, din punct de vedere al
criteriilor de clasificare luate n consideraie. Majoritatea sistemelor existente, analizate prin
prisma obiectivelor pe care le urmresc, pot fi ncadrate n mai multe clase, dar caracteristicile
lor sunt mai mult sau mai puin reprezentative pentru aceste clase.
O trecere n revist a sistemelor de operare existente scoate n eviden o varietate de
obiective urmrite n realizarea acestora, care pot fi grupate astfel: obiective generale, obiective
comerciale, obiective specifice sistemelor interactive i n timp real, obiective diverse. Printre
obiectivele generale se numr n primul rnd maximizarea eficienei i generalitii sistemului,
precum i minimizarea erorilor sistemului de operare (ca obiective primare) i n al doilea rnd
maximizarea transparenei sistemului i a securitii datelor (ca obiective secundare). Obiectivele
comerciale vizeaz maximizarea satisfaciei utilizatorilor i a interesului potenial pentru ali
utilizatori. n ceea ce privete sistemele interactive, se menioneaz minimizarea timpului de
rspuns, prelucrarea direct a datelor, maximizarea posibilitilor de acces la distan i
optimizarea controlului comunicaiilor. n cazul sistemelor n timp real trebuie prevzut
posibilitatea actualizrii i/sau regenerrii directe a sistemului, ceea ce constituie exemple de
obiective specifice. Printre obiectivele diverse se amintete minimizarea efortului de concepierealizare a sistemului.
Indiferent de obiectivele unui sistem de operare, acesta trebuie s pun la dispoziia
utilizatorului mijloace prin care acesta s poat crea, stoca, regsi (pentru a prelucra) i distruge
informaia.

~ UNIVERSITATEA POLITEHNICA BUCURETI ~

Componentele unui Sistem de Operare


A. Componenta de management a memoriei:
Procesul citete instruciuni, citete si scrie date din memorie. Perifericele
controlate prinmecanismul DMA citesc si scriu date n memorie. Programele sunt
ncrcate de pe disk nmemorie. Dac un program se executa, acesta citete
instruciunile si datele din memorie,accesd memoria prin adresele de memorie
reprezentate pe 16, 32 sau 64 de bii. Odatterminat un program, el este eliberat din
memorie si spaiul su este alocat altui program.
Pentru a mbuntii utilizarea CPU si pentru a mri viteza de reacie a sistemului
fa de utilizatori sistemul de operare trebuie sa in n memorie mai multe programe n
acelaitimp (multiprogramare). Exist mai multe scheme de management a memoriei,
selectarea unei anumite scheme pentru un S.O. depinznd de mai muli factori, n
special de platformahardware a sistemului destinaie. Sistemul de operare asigur
urmtoarele operaii n ceeace privete managementul memoriei:
aloc si dezaloc memorie la cerere;
menine o situaie a memoriei alocate i a memoriei libere.
decide ce proces s fie ncrcat n memorie cnd aceasta devine disponibil
B. Managementul proceselor:
Sistemul de operare este responsabil cu gestiunea proceselor. Modulul (componenta)
unui Sistem de Operare care gestioneaz procesele trebuie sa asigure urmtoarele
funcii:
funcii de creare a unui proces (user sau proces de sistem);
tergerea sau eliberarea uni proces din memorie;
s asigure mecanisme de sincronizare a proceselor;
s asigure mecanisme de comunicare ntre procese;
s asigure mecanisme de gestionare a interblocrilor.
creeaz i elibereaz procese;
suspend i reia executarea proceselor;
asigur mecanismele de comunicare i sincronizare ntre procese;
se ocup de evitarea interblocaiilor;
C. Planificarea procesorului:
asigur accesul proceselor la resursa procesor ntr-un mod echitabil;
utilizeaz algoritmi de planificare pentru a mpari timpul de lucru al
procesorului
ntre procesele din memorie;
7

~ UNIVERSITATEA POLITEHNICA BUCURETI ~

D. Gestiunea fiierelor
E. Gestiunea componentelor de Intrare/Ieire:
gestioneaz perifericele;
asigur alocarea corect a acestora ctre procese;
controleaz operaiile de Intrare/Ieire.
F. Managementul dispozitivelor de stocare
Asigur:
managementul spaiului liber ;
alocarea spaiului la cerere;
planificarea i controlul accesului la discuri.
G. Componenta de reea
H. Sistemul de protecie
I. Interfaa de programare a aplicaiilor(API):
ofer programatorului un set de funcii de nivel nalt prin care acesta poate
accesa n programare serviciile oferite de celelalte componente ale S.O.
Serviciile sunt oferite ctre utlizatorul programtor:

ncrcarea i executarea programelor


operaii (servicii) de I/O.
manipularea sistemelor de fiiere (creare, tergere, scriere i citire).
comunicaii ntre procese (prin memorie partajat sau prin transfer direct de
mesaje ntre procese);
detectarea erorilor i recuperare dup eroare (eroare de CPU, de memorie,
de scriere, citire, de reea, imprimant).

Sistemul de operare permite accesul la serviciile sale prin apelul unor funcii ale
sistemului denumite apeluri-sistem. Aceste apeluri alctuiesc interfaa de acces a
programatorului ctre serviciile sistemului de operare. Aceste funcii pot fi apelate
direct n limbaj de ascultare prin intermediul vectorului de ntreruperi sau n limbaj de
nivel nalt prin apelul unor funcii de biblioteca (care la rndul lor invoca serviciile
sistemului, genernd ntreruperile necesare). In sistemul MS-DOS apelul la serviciile S.O.
se realizau prin intermediul ntreruperii 21H. In Unix i n Linux se acceseaz prin
ntreruperea 80H. Printreserviciile sistemului enumerm:

write, create, read/delete, fork, exec, wait, load


free, create, delete, send, receive

~ UNIVERSITATEA POLITEHNICA BUCURETI ~


Exemplu:

J. 10. Terminalul( interfaa grafic):


ofer posibilitatea utilizatorului calculatorului de a interaciona cu sistemul
de calcul prin lansarea de procese;

Exemplu de shell:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<unistd.h>
#include <sys/wait.h>
#define MAXLINE 256
int main(void)
{
char buf[MAXLINE];
pid_t pid;
9

~ UNIVERSITATEA POLITEHNICA BUCURETI ~

int status;
printf("%% ");
while (fgets(buf, MAXLINE, stdin) != NULL)
{
if (buf[strlen(buf) - 1] == '\n')
buf[strlen(buf) - 1] = 0;
if ((pid = fork()) < 0) {
printf("fork error");
}
else if (pid == 0)
{
/* child */
execlp(buf, buf, (char *)0);
printf("couldn't execute: %s", buf);
exit(127);
}
/* parent */
if ((pid = waitpid(pid, &status, 0)) < 0)
printf("waitpid error");
printf("%% ");
}
return 0;
}
n plus, un sistem multiuser trebuie s asigure urmtoarele servicii:
alocarea resurselor;
conturi pentru utilizatori;
protecia informaiei;
securitatea sistemului fa de interior.

10

~ UNIVERSITATEA POLITEHNICA BUCURETI ~

Managementul proceselor
Un proces este o unitate de lucru n cadrul unui sistem de calcul care are un program
asociat, cruia i se aloc un set de resurse de memorie, de procesor,etc. i care execut n
mod secvenial instruciunile programului.
Procesul se mai numete i joburi, mai ales n contextul planificrii proceselor.
La lansareaunui proces, acestuia i se aloc o zon de memorie pentru stiv, o zon
pentr date i o zonde memorie heap care e alocat dinamic la rulare. In plus, procesul mai
conine un contorde program numit instruction pointer i coninutul registrelor procesorului.
Procesul se poate afla n una din urmtoarele stri:
proces nou
ruleaz
asteapt
gata
terminat

Informaia legat de stare face parte din datele asociate fiecrui proces. Aceste
informaii despre un proces sunt cninute de ctre planificatorul de procese ntr-o structur
special numit Process Control Block.
O structur PCB conine:
Starea procesului
I.D. procesului
Instruction pointer(IP)
Registele procesorului
11

~ UNIVERSITATEA POLITEHNICA BUCURETI ~

Memoria alocat
Fiiere deschise
Informaii de planificare( prioritate)
Lista de dispozitive de Intrare/Ieire asociat procesului

Un proces nu este un program. In modelul de proces discutat pn acum, programul


asociatera executat secvenial, instruciune dup instruciune. Altfel spus,un singur proces
executo singur operaiune la un moment dat. Sunt cazuri n care se dorete ca un program s
execute n paralel dou sau mai multe operaii. Altfel spus, s execute mai multe proceduri
din program In acelai timp. Acest lucru se obine prin introducerea n proces a mai multor
fire de execuie.
Avantaje:
Aplicaiile rspund mai ferm la interaciunea cu utilizatorul
Permit partajarea resurselor
Duc la economia de memorie i de procesor
Utilizarea optim a calculatoarelor multiprocesor
Firele pot fi gestionate la nivel de user-mode sau la nivel de kernel. S.O. moderne ofer
suport pentru fire la nivel de kernel.Exist mai multe modele de implementare a firelor:
Many-to-One Model: mai multe fire dintr-un p[roces sunt gestionate (
reprezentate )de un singur fir din kernel. Comutarea ntre fire este
rapid i este gestionat nspaiul utilizator. Dar toate firele se blocheaz
n cazul n care unul din fire esteblocat ntr-un apel de sistem. De
asemenea, deoarece un singur fir poate accesakernelul, acest model de
fire nu poate permite rularea n paralel a firelor pe maimulte procesoare.
One-to-One Model: fiecrui fir din spaiul user-mode i corespunde un
fir n kernel.Dezavantajul este c pentru fiecare fir se mai creeaz nc
unul n kernel. Linux,Windows, Unix implementeaz acest model.
Many-to-Many Model: mai multe fire din kernel folosesc la planificarea
mai multorfire din spaiul utilizator. Programatorii pot crea orict de
multe fire n programelelor.
Model hibrid (many to many plus one to one)

12

~ UNIVERSITATEA POLITEHNICA BUCURETI ~

Managementul procesorului (Scheduling)


In sistemele multiprogramate, n memorie sunt ncrcate mai multe programe la unmoment
dat. S-a observat c unele procese sunt mai mult procese de calcul, iar altelemanipuleaz date
prin sistemul Intrare/Ieire, iar n cadrul unui proces s-a observatrepetarea ciclic a unei faze de
calcul intens urmat de o faz de ateptare la periferice deIntrare/Ieire. Deci procesul execut
o rafal de instruciuni pe procesor, dup care ateaptsosirea datelor la dispozitivul de
Intrare/Ieire.
Intre dou rafale de instruciuni procesorul nu este utilizat. Pentru o utilizare optim a lui,
acesta poate fi cedat unui alt proces care i va executa rafala de instruciuni pn la prima
faz de ateptare a datelor.
Planificarea accesului la procesor de ctre procese folosete algoritmul de planificare.
Exista dou tipuri de algoritmi de planificare:
Algoritmi preemptivi: procesul curent poate fi ntrerupt
oricnd de ctre S.O. ( dac iexpir cuanta de timp)
Algoritmi nepreemptivi: procesul nu poate fi ntrerupt oricnd
de ctre S.O.; acesta cedeaz controlul de bunvoie la
terminarea rafalei de instruciuni sau la intrarea n zona de
ateptare. In cazul unor erori, un proces poate bloca ntregul

S.O.
Criterii de planificare:
Planificarea proceselor pe procesor va urmri urmtoarele criterii:
1. Utilizarea procesorului n mod optim
2. Troughtput ( numrul de procese terminate n unitatea de timp)
3. Timpul total de rulare
4. Timpul total de ateptare ( n coada ready )
5. Timpul de reacie

Algoritmi de planificare
A. Algoritmi de planificare: primul venit, primul servit. Procesele sunt executate n ordinea
sosirii lor n coada rady. Algoritmul este nepreemptiv. Avantaje: toate procesele vor
ajunge s ruleze odat i odat; Dezavantaje: efectul de convoi.
B. Shortest-Job-First: cel mai scutr job mai nti. Algoritmul msoar durata rafalei de
instruciuni pentru fiecare proces i ncearc s promoveze pe procesor procesele cucea
mai scurt rafal. Poate fi i preemptiv i nepreemptiv.
C. Algoritm de planificare dup prioriti: fiecrui proces I se asociaz un numr numit
prioritate. Algoritmul avanseaz procesele spre procesor n funcie de prioritatea
acestora. Este preemptiv sau nepreemptiv. Dezavantaj: blocare indefinit sau
nfometare. O soluie la problema nfometrii ar fi mbtrnirea= o metod de a crete
prioritatea proceselor care asteapt de mult timp n coad.
13

~ UNIVERSITATEA POLITEHNICA BUCURETI ~


D. Roun-Robin este similar cu F.C.F.S. dar este preemptiv; lucreaz cu noiunea de cuant
de timp; procesele stau n coad circular i se execut n ordine pe durata cuantei de
timp. Dac rafala de procesor e mai scurt dect cuanta, procesul cedeaz procesorul
voluntar; altfel procesul e ntrerupt i trecut n coad i pe procesor intr urmtorul
proces din coada circular.
E. Planificarea cu cozi pe mai multe nivele: procesele se mpart pe mai multe categorii i
fiecare categorie are propriul ei algoritm de planificare i propria coad de procese.
Exemplu: procese beckground, procese sistem,procese pe loturi.
F. Planificarea cu cozi pe mai multe nivele cu feedback: similar cu V., cu posibilitatea
trecerii unui proces dintr-o coad n alta. In E. i F. Cozile au o anumit ordine /
prioritate: dac avem dou cozi cu ordin 1 i2, nti se execut procesele din coada 1 i
numai cnd aceasta este goal se executi procese din coada 2.

14

~ UNIVERSITATEA POLITEHNICA BUCURETI ~

Managementul fisierelor
Este cea mai vizibil component a sistemului, gestioneaz spaiul de stocare a datelor
pememoria extins (discuri magnetice, benzi magnetice, discuri optice, stick-uri de memorie).
Fiecare dispozitiv din cele enumerate are propriile caracteristici legate de modul de
acces (secvenial sau aleator), viteza de acces, rata de transfer a datelor
Sistemul de operare asigur o vedere uniform a dispozitivelor de stocare care
reprezintmemoria extins a sistemelor de calcul.
Sistemul de operare abstractizeaz modul de funcionare a diferitelor dispozitive de
stocare i definete o singur unitate de lucru numit fiier.
Un fiier este o colecie de informaii create de utilizator, stocate sub un nume unic.
Sistemul de operare asigur urmtoarele funcii n ceea ce privete managementul
fiierelor:
creeaz i terge fiiere;
creeaz i terge directoare;
asigur funcii de manipulare a fiierelor i directoarelor;
asigur mecanisme de backup

15

~ UNIVERSITATEA POLITEHNICA BUCURETI ~

Bibliografie

http://os.obs.utcluj.ro/Repository/Books/Indrumator.OS.pdf
http://cs.uns.edu.ar/~jechaiz/sosd/clases/libros/MustRead/Operating_System_Conc
epts_Essentials_Silberschatz.pdf
Silberschatz A., Galvin P.B. and Gagne G. (2005). Operating Systems Concepts 7th
edn. John Wiley & Sons
An Introduction to Programming with Threads, Andrew D. Birrell
Oaualline Steve, Descoperii sistemul Linux, Editura TEORA, Bucureti, 1998
http://www.competentedigitale.ro/it/it6.html
http://vsh.ro/tutorial/264/nucleul-sistemului-de-operare/

16

S-ar putea să vă placă și