Sunteți pe pagina 1din 7

1 Tipuri de sisteme de operare, obiective şi funcţii

Evidențiem următoarele tipuri de SO:


• secvenţiale,
• cu multiprogramare,
• cu prelucrare multiplă,
• în timp real, etc.
Un sistem secvenţial (tratare pe loturi, engl. batch processing, fr. traitement par lots) execută la
un moment dat un singur program, care trebuie terminat înainte de a începe execuţia unui alt
program.
Sistemele cu multiprogramare acceptă la un moment dat mai multe programe în memoria
centrală, acestea aflându-se în diferite stadii de execuţie.
Un sistem de calcul cu prelucrare multiplă dispune de mai multe procesoare, care pot să execute
simultan unul sau mai multe programe.
Sistemele de timp real funcţionează în cadrul unor sisteme de comandă şi este necesar ca valorile
anumitor atribute să se încadreze în limite destul de restrictive, dictate de dinamica proceselor
comandate.

2.Sistemul de operare și procesele


Noţiunea de proces este asociată conceptului de lucrare şi poate fi definită ca o suită temporală de
execuţii de instrucţiuni. Ciclul de viaţă a unui proces poate fi reprezentat printr-un set de stări ale
procesului şi trecerea de la o stare la alta. Vom evidenţia trei stări elementare ale unui proces:
proces ales (sau exe) – procesului i s-a alocat un procesor, este în curs de execuţie, proces blocat
– procesul aşteaptă să se producă un anumit eveniment, al cărui apariţie este indispensabilă, proces
eligibil – procesul are la dispoziţie toate resursele necesare, lipsă fiind doar procesorul, adică
procesul este pregătit să se execute din momentul alocării unităţii centrale

Procesului i
s-a alocat
procesorul Procesul
Ales aşteaptă
(Exe) terminarea
operaţiei I/O

Operaţia
de I/O s-a
terminat

Eligibil Blocat
(Ready) (Wait)
3.Ce este o “maşină extinsă” (reprezentaţi grafic şi comentaţi)?
Setul de instrucţiuni realizat hardware împreună cu instrucţiunile suplimentare ale sistemului de
operare formează sistemul de comenzi al maşinii extinse. În figură este reprezentat (în mod grafic)
conceptul de maşină extinsă. Nucleul sistemului de operare va fi executat pe maşina “goală”, iar
programele utilizatorului – pe maşina extinsă.

Procesul 1 Procesul 2
Maşina extinsă

Maşina “goală” Programele


utilizatorului
(procese)

Sistemul de operare
Procesul 4
Procesul 3

Fig.1.10.
Maşină Maşina extinsă.
extinsă

4.Ce este o “maşină ierarhică” (reprezentaţi grafic şi comentaţi)?

Componente ale S.O.

Sistemul de operare Sistemul de operare


Procesul A Procesul B

Procesul 1 Procesul 2
Maşina extinsă externă

Maşina extinsă
internă

Maşina Programele
“goală” utilizatorului
(procese)

Funcţii cheie ale


S.O.

Procesul 4 Alte funcţii Procesul 3


ale S.O.

Ilustrarea
Fig.1.11. Ilustrarea conceptului
conceptului deierarhică,
de maşină maşină ierarhică
5. Ce numim “starea calculatorului”?
6. Ce numim “starea procesorului”?
7.Contextul activităţii este compus din...
8. Ce reprezintă un program secvenţial?

Nucleul: memoria + procesorul. Instrucţiunile şi datele se află în segmente distincte.


Execuţia instrucţiunilor conduce la evoluţia stării calculatorului. Evoluţia stării calculatorului
poartă caracter discret, starea este observabilă doar în momente de timp - puncte de observare.
Starea calculatorului: starea procesorului şi starea memoriei.
Starea memoriei: conţinutul locaţiunilor segmentelor încărcate în memorie.
Starea procesorului: conţinutul setului de regiștri ale procesorului.
Program secvenţial = mulţime de proceduri, care se pot apela reciproc. Fiecărei proceduri îi este
asociat un segment distinct de procedură. Datele sunt reprezentate prin segmente, pot fi proprii
unei proceduri sau partajate între mai multe proceduri.
Activitate - fenomenul care rezultă din execuţia neîntreruptă a unei proceduri unice. !!Execuţia
unui program secvenţial constă dintr-un lanţ de activităţi!!!!
Context al unei activităţi: mulţimea informaţiilor accesibile procesorului în cursul acestei
activităţi. Contextul activităţii este compus din contextul memoriei și contextul procesorului.
Trecerea de la o activitate la alta este realizată de instrucţiuni speciale: apelarea şi returul
din procedură, care realizează comutarea contextului.

9.Starea şi contextul procesorului


Starea procesorului - conţinutul registrelor acestuia: regiştri generali, regiştri speciali.
Exemplu de registru special - registrul PSW (program status word, cuvânt de stare
program).
Cuvântul de stare a procesorului conţine informaţii, care pot fi clasificate astfel:
Informaţii referitoare la starea procesorului:
1) Starea de execuţie. Procesorul se poate afla în starea activ în care îndeplineşte instrucţii, sau în
starea de aşteptare, când execuţia este suspendată.
2) Modul de funcţionare:
Protecţie - se permite doar programelor SO executarea unor instrucţiuni anumite (speciale),
programele utilizatorilor neavând acces la aceste instrucţiuni. Aceasta poate fi realizat definind
două moduri de funcţionare a procesorului, care se deosebesc printr-un bit indicator în cuvântul
de stare: modul supervizor şi modul program.

10. Mecanisme de comutare a contextului


Comutarea contextului unui procesor se petrece la apariţia unei întreruperi (excepţii, apelări) şi
include două operaţii:
1. salvarea cuvântului de stare (PSW) într-un amplasament al memoriei sau într-o
stivă
2. încărcarea în cuvântul de stare a conţinutului unui alt amplasament specificat al
memoriei.
11. Întreruperi
Întreruperea - comutarea contextului procesorului declanşată de o cauză externă derulării
instrucţiunii curente. Fizic = trimiterea unui semnal procesorului, acest semnal provocând
schimbarea stării unuia dintre indicatorii, consultaţi în cursul executării fiecărei instrucţiuni.
Semnalul poate proveni de la alt procesor, de la un organ de I/E, de la un dispozitiv extern, şi în
genere, de la orice proces fizic, extern procesorului întrerupt.
O întrerupere permite să cerem procesorului să suspende executarea programului curent, şi să
execute un program de tratare a întreruperii (interrupt handler, eng., traitant de l'interruption, fr.).

12. Intrări-ieşiri buferizate în memorie


Diferenţa considerabilă dintre viteza de lucru a unităţii centrale şi cea a perifericelor
impune "buferizarea" intrărilor-ieşirilor, adică introducerea unei zone de memorie între periferic
şi programul utilizatorului. Scopul este de a aduna date pentru prelucrarea rapidă de unitatea
centrală.

13. Definiti noţiunile resursă critică, excluderea mutuală


Fie o mulţime de procese contextele cărora utilizează un obiect comun, care poate fi utilizat
la un moment de timp dat doar de un singur proces. Se va spune în acest caz, că obiectul constituie
o resursă critică pentru procesele date sau că procesele sunt în excludere mutuală (excludere
reciprocă sau concurenţă) pentru utilizarea unei resurse. Excluderea mutuală a unei resurse
conduce la “serializarea” execuţiei proceselor concurente, în cazul unor acţiuni, care cer această
resursă.
14. Proces zombie în Linux.
Dacă un proces copil sa încheiat deja, iar procesul părinte nu așteaptă acest eveniment, atunci
procesul copil este trecut în așa-zisa stare zombie state, stare suspendat. Procesele Zombi nu cer
timp de procesor, dar în tabelul proceselor este păstrată linia lor şi structurile respective ale
nucleului nu sunt eliberate. Când procesul părinte în cele din urmă apelează procedura bibliotecii
waitpid, procesul copil se termină.

15. Proces daemon în Linux


Proces demon (daemon) în Linux este numit procesul destinat să lucreze în regim de fundal fără
terminal şi care execută anumite operații pentru alte procese (nu obligator pe calculatorul
Dumneavoastră).

16. Funcţiile unui sistem de gestiune a fişierelor


Principalele funcţii, asigurate de un sistem de gestiune a fişierelor sunt:
• crearea unui fişier (definirea numelui, alocarea eventuală a spaţiului),
• distrugerea unui fişier (eliberarea numelui şi a spaţiului, alocat fişierului),
• deschiderea unui fişier (declararea intenţiei de a folosi fişierul cu ajutorul funcţiilor de
acces şi a drepturilor specificate),
• închiderea unui fişier deschis (interzicerea oricărui acces ulterior),
• diverse funcţii de consultare şi modificare: citire, scriere, modificarea lungimii, etc.
17. Organizarea generală a unui sistem de gestiune a fişierelor

Funcţii de acces logic


Nume
externe şi Interfaţa
locale legarea numelor utilizatorului

Interpretarea Interpretarea
numelor locale numelor externe

Nume Realizarea
interne funcţiilor de acces
logic

Interfeţe interne la SGF


Adrese Realizarea
logice funcţiilor de acces
fizic

Adrese Alocarea
fizice Realizarea
memoriei I-E
secundare fizice

18. Organizarea descriptorului de fişier


Un descriptor de fişier trebuie să conţină informaţii diverse:
• informaţii pentru localizarea fizică,
• informaţii referitoare la utilizare,
• informaţii asociate protecţiei şi securităţii.
Informaţii de utilizare:
Informaţii de stare-deschis sau închis, gradul de partajare, disponibilitatea pentru modificare, etc;
Informaţii despre conţinutul fişierului, informaţii despre utilizările precedente.

19. Acces elementar la informaţii


Accesul elementar (citire sau scriere) la o înregistrare a fişierului constă din două etape:
• determinarea adresei fizice a înregistrării plecând de la desemnarea sa logică;
• executarea transferului fizic.

20.Securitatea fişierelor
Securitatea fişierelor este asigurată prin redundanţa informaţiilor. Redundanţa poate fi introdusă
în două moduri: salvarea periodică a unor informaţii, pentru a putea restabili o stare anterioară în
caz de distrugere, şi redundanţa internă, care permite reconstituirea unor informaţii devenite
incoerente din cauza unui accident de origine fizică sau logică, care a provocat o alterare parţială.
21 Alocarea resurselor. Noţiuni generale. Definiţii
Resursă - orice obiect, care poate fi utilizat de către un proces.
Unei resurse îi sunt asociate proceduri de acces, care permit utilizarea resursei şi reguli de utilizare,
care constituie “modul de utilizare”.
Nu există vre-o diferenţă fundamentală între noţiunea de obiect şi cea de resursă.
O resursă este alocată unui proces dacă procesul poate utiliza resursa, folosind procedurile ei de
acces. Solicitarea poate fi formulată sub forma unei cereri adresate unui alocator al resursei.
Un alocator poate fi un proces căruia cererile îi sunt transmise prin emiterea unor mesaje.
Reacţia unui alocator la o cerere poate fi diferită: alocarea resursei solicitate, refuz cu sau fără
blocarea procesului solicitant.

22 Probleme în alocarea resurselor


Obiectivul unui sistem de alocare a resurselor este să satisfacă cererile într-un mod echitabil.
Dacă toate procesele au aceeaşi prioritate, o alocare este echitabilă, atunci când este
asigurată o tratare asemănătoare fiecărui proces, de exemplu, aşteptarea medie este identică.
Dacă între procese există priorităţi, se introduce o funcţie crescătoare de prioritate.
Două procese de aceeaşi prioritate beneficiind de aceeaşi tratare.
Unii algoritmi de alocare conţin riscul de a face un proces să aştepte la infinit.
Dacă resursele sunt utilizate de mai multe procese pot avea loc două fenomene nedorite:
• Blocarea - este stoparea a mai multor procese pentru un interval de timp nedefinit, fiecare
dintre procese fiind în aşteptarea eliberării resurselor alocate altor procese.
• Căderea –o cerere excesivă a unui oarecare tip de resurse conduce la degradarea
performanţelor sistemului.

23 Modele pentru alocarea unei resurse unice


Algoritmii de alocare a procesorului pot fi clasificaţi în funcţie de mai multe caracteristici.
1) Algoritmi cu sau fără retragere
2) Cu prioritate
Prioritatea unui proces este o informaţie, care permite clasificarea procesului în cadrul altor
procese, dacă trebuie făcută o alegere.
Prioritatea poate fi definită prin mai multe moduri:
• prioritate constantă: definită apriori, funcţie de timpul de servire cerut.
• prioritate variabilă în timp: funcţie de timpul de aşteptare scurs, de serviciul deja acordat,
etc.
Variabila principală, care prezintă interes este timpul mediu de răspuns. Cererea este caracterizată
de repartiţia intervalelor de sosire şi de timpul de servire.

24 Alocarea procesorului. Prim sosit, prim servit. Cererea cea mai scurtă
servită prima
Algoritmul Prim sosit, prim servit (FIFO) utilizează un fir unic, fără prioritate şi fără
retragere. Procesul ales este executat până la terminarea sa, iar cel care va urma este
procesul din topul firului de așteptare. Un proces nou intră în coada firului.
Cererea cea mai scurtă servită prima - în acest caz cererile sunt ordonate în cadrul firului
de aşteptare conform timpului lor de deservire cunoscut, cererile cu durata de deservire
cea mai scurtă aflându-se în top.

25. Caruselul şi modele derivate


În modelul caruselului (“round robin”) procesorul este alocat succesiv proceselor eligibile pentru
o perioadă constantă de timp τ, numită cuantă. Dacă un proces se termină sau se blochează înainte
de sfârşitul cuantei, procesorul este imediat alocat procesului următor.
Procesele sunt amplasate într-un şir de aşteptare circular, care avansează cu o poziţie la
fiecare realocare a procesorului, desemnează procesul ales.

ieşire
intrare

f_eligibil proc_ales

Caruselul este un exemplu de model cu retragere.


El poate fi considerat o aproximare a modelului “cel mai scurt primul” pentru cazul când durata
execuţiei lucrărilor nu este cunoscută anticipat.

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