Documente Academic
Documente Profesional
Documente Cultură
Raspunsuri La SOMIIP1
Raspunsuri La SOMIIP1
Noţiuni De Bază Şi Clasificări Un sistem de calcul cu prelucrare multiplă dispune de mai multe
Un calculator constă dintr-un ansamblu de componente procesoare, care pot să execute simultan unul sau mai multe
funcţionale fizice şi logice, care cooperează pentru a satisface programe.
cerinţele utilizatorilor privind introducerea, stocarea, Sistemele de timp real funcţionează, de obicei, în cadrul unor
prelucrarea, căutarea şi transmiterea informaţiilor. Aceste sisteme de comandă şi este necesar ca valorile anumitor atribute să
componente funcţionale sunt structurate pe niveluri, care se încadreze în limite destul de restrictive, dictate de dinamica
interacţionează prin interfeţe bine definite. Prin noţiunea de proceselor comandate.
sistem de operare înţelegem modulele program ale unui SC, care
administrează resursele tehnice. Modulele în cauză soluționează 5. Exemple de sisteme de operare
situațiile de conflict, optimizează productivitatea sistemului, Windows,Unix, MS DOS.
sporesc eficiența utilizării lui.
Valorile concrete ale atributelor sistemelor de operare şi 6. Cazul calculatoarelor personale
combinaţii ale acestora determină diverse tipuri de SO. Conform Cea mai simplă configuraţie a unui calculator personal (PC) include o
acestor atribute pot fi evidenţiate următoarele tipuri de sisteme de unitate centrală, o memorie principală, un display, o tastatură şi un mouse.
operare: Această configuraţie, de regulă, este completată de o memorie secundară şi o
• secvenţiale, imprimantă.
• cu multiprogramare, Utilizatorul unui astfel de sistem va cere minimum următoarele două
• cu prelucrare multiplă, tipuri de servicii:
• în timp real, etc. identificarea şi crearea unor fişiere sau mulţimi structurate de informaţii;
stocarea acestor fişiere în memoria secundară; transferarea informaţiilor
2. Noţiuni şi termeni din domeniul resurselor tehnice între fişiere şi dispozitivele de intrare/ieşire;
Pentru a trece la noţiunile principale, legate de hardware, vom face execuţia unor programe existente sau introduse sub formă de fişiere în
cunoştinţă mai întâi cu funcţiile de bază ale unui calculator. Pot fi PC;
evidenţiate cinci funcţii esenţiale : stocarea datelor şi extragerea introducerea datelor necesare pentru execuţia programului (de la
rezultatelor: tastatură, dintr-un fişier sau de la alte surse periferice); listarea rezultatelor la
• iniţializarea implică testarea părţilor importante display, imprimantă sau copierea lor într-un fişier.
ale calculatorului, rularea fişierelor de pornire şi încărcarea altor
fişiere necesare, cum ar fi driverele dispozitivelor periferice; 7. Comanda unor procese industriale
• introducerea reprezintă transferul datelor dintr-o
sursă externă în calculator. Surse externe pot fi tastatura, mouse- Procesul de producere este comandat de un calculator care îndeplineşte
ul, discheta, discul mobil, memory stick-ul, aparatul digital de următoarele funcţii:
fotografiat etc.; Reglare. Pentru o derulare bună a procesului de fabricaţie
• procesarea se referă la manipularea datelor parametrii de funcţionare (temperatura, presiunea, concentraţia,
introduse în scopul producerii unui rezultat (ieşirea); etc.) trebuie să se afle într-o plajă de valori predefinite. Pentru
• stocarea constituie procesul salvării informaţiilor aceasta va fi acţionat debitul de intrare a materiilor prime A sau B.
(date sau programe) într-un dispozitiv de păstrare, de exemplu Parametrii de funcţionare sunt măsuraţi cu ajutorul unor captoare.
discul fix, pentru recuperarea ulterioară. Calculatorul preia aceste măsurări şi, în dependenţă de algoritmul
de comandă, acţionează robinetele de intrare.
3. Noţiuni şi termeni din domeniul sistemelor de operare Înregistrare. Rezultatele măsurărilor sunt periodic înregistrate;
valorile lor sunt afişate pe un tablou de bord şi recopiate într-un
Un sistem de operare este un ansamblu de programe de control şi fişier ("jurnal de bord") în scopul unor prelucrări ulterioare (date
de serviciu care ghidează un calculator în execuţia sarcinilor sale, asistă statistice).
programele de aplicaţie şi interacţionează cu utilizatorul prin Securitate. În cazul în care unul dintre parametrii măsuraţi
intermediul anumitor funcţiuni. Natura funcţiilor şi modul în care depăşeşte o valoare critică predefinită reactorul trebuie oprit
acestea sunt realizate determină atributele care caracterizează un sistem imediat.
de operare: timpul de răspuns- exprimă durata intervalului delimitat de
lansarea unei cereri de serviciu şi achitarea acesteia de către sistem, 8. Sisteme tranzacţionale
simultaneitatea utilizării- măsoară gradul în care un sistem poate să Caracteristicile principale:
execute în acelaşi timp mai multe lucrări., eficienţa- măsoară • sistemul gestionează un set de informaţii sau baze de date, care pot
proprietatea unui sistem de a folosi în mod optim resursele de care atinge volume importante de informaţie;
dispune, partajarea resurselor şi protecţia informaţiei în calculator- • asupra acestor informaţii pot fi executate un anumit număr de
caracterizează nivelul la care utilizatorii au posibilitatea să utilizeze în operaţii predefinite sau tranzacţii, adesea interactive;
comun informaţia prezentă în sistem şi nivelul la care pot să comunice • sistemul este dotat cu un mare număr de puncte de acces şi un mare
între ei, în deplină siguranţă, generalitatea, flexibilitatea, număr de tranzacţii se pot derula simultan. Caracteristicile obligatorii ale
extensibilitatea, fiabilitatea şi disponibilitatea, transparenţa şi unui astfel de sistem tranzacţional sunt disponibilitatea şi fiabilitatea; pentru
vizibilitatea. Un sistem de operare este obligat: unele sisteme poate fi importantă şi toleranţa la defecţiuni. O caracteristică
• să păstreze informaţia despre starea fiecărei resurse, importantă ale sistemelor tranzacţionale este multitudinea activităţilor
• să ia decizia cărui proces să i se aloce resursa, în ce cantitate, paralele, iar în multe cazuri şi repartizarea geografică a componentelor.
când, cum şi unde, 9. Sisteme în timp partajat
• să aloce resursa şi, la momentul oportun, să o retragă. Destinaţia principală a unor astfel de sisteme este furnizarea serviciilor
necesare unei mulţimi de utilizatori, fiecare dintre ei beneficiind de servicii:
• echivalente serviciilor unui calculator individual;
4. Tipuri de sisteme de operare, obiective şi funcţii • legate de existenţa unei comunităţi de utilizatori: partajarea
Valorile concrete ale atributelor sistemelor de operare şi informaţiilor, comunicaţii între utilizatori.
combinaţii ale acestora determină diverse tipuri de SO. Conform Problemele care apar datorită conceptului de partajare a timpului sunt o
acestor atribute pot fi evidenţiate următoarele tipuri de sisteme de combinaţie a problemelor existente în cazul unui calculator individual cu
operare: cele din sistemele tranzacţionale. Caracteristicile obligatorii ale unui astfel
Un sistem secvenţial (tratare pe loturi, engl. batch processing, fr. de sistem îmbină, în egală măsură, calităţile unui sistem de operare al unui
traitement par lots) execută la un moment dat un singur program, calculator individual şi al unui sistem tranzacţional, cum ar fi:
care trebuie terminat înainte de a lua începe execuţia unui alt disponibilitatea, fiabilitatea, securitatea, exploatarea optimă a
program. caracteristicilor resurselor fizice, calitatea interfeţei şi serviciilor
Sistemele cu multiprogramare acceptă la un moment dat mai multe utilizatorului, facilitatea adaptării şi extensibilităţii.
programe în memoria centrală, acestea aflându-se în diferite stadii
de execuţie. 10. SISTEMUL DE OPERARE ŞI PROCESELE
Noţiunea de proces este asociată conceptului de lucrare şi poate fi 15. EVOLUŢIA SISTEMELOR DE OPERARE
definită ca o suită temporală de execuţii de instrucţiuni,
considerată ca fiind o entitate de bază în descrierea sau analiza Primele sisteme erau caracterizate prin prelucrarea secvenţială a
funcţionării unui sistem. Evoluţia în timp a unui proces presupune taskurilor. Timpul de execuţie a programelor era relativ mare, instrumentele
un consum de resurse, dictat de natura şi complexitatea de depanare – primitive, fiecare programator îşi încărca în mod individual
instrucţiunilor de execuţie. În particular, rezultă că ori de câte ori programul (pachetul de cartele perforate), apăsa butoane, controla conţinutul
se execută procedurile de sistem, resursele, pe care le utilizează locaţiunilor de memorie, etc. (1950 – 1956). Au fost propuse programe de
acesta, intră în administrarea procesului, care a cerut serviciul. monitorizare (monitoare), care treceau de la o lucrare la alta în mod automat,
Resursele alocate unui proces variază în timp. utilizatorul fiind responsabil de organizarea corectă a programelor în cadrul
11. MAŞINĂ IERARHICĂ ŞI MAŞINĂ EXTINSĂ unui pachet – primele încercări de prelucrare pe loturi (1956 – 1959).
Setul de instrucţiuni realizat hardware împreună cu instrucţiunile După 1965 au apărut primele sisteme cu partajare a timpului (time
suplimentare ale sistemului de operare formează sistemul de sharing), au fost propuse sisteme sofisticate de administrare a informaţiei
comenzi al maşinii extinse. Memoria virtuală şi maşinile virtuale sunt nişte principii care nici până
Nucleul sistemului de operare va fi executat pe maşina “goală”, astăzi nu au fost exploatate până la capăt. Progresele ultimilor ani în
iar programele utilizatorului – pe maşina extinsă. domeniul resurselor tehnice au permis implementarea acestor principii nu
Procesul 1 Procesul 2 numai în cadrul sistemelor de calcul mari, ci şi pentru calculatoarele
Maşina extinsă personale.
12. ALTE PUNCTE DE VEDERE ASUPRA SISTEMELOR DE 17. Multiprogramarea şi partajarea timpului
OPERARE Utilizarea principiului multiprogramării sau partajarea memoriei între
Sistemele de operare pot fi abordate din diferite puncte de vedere, mai mulţi utilizatori a permis o utilizare şi mai bună a procesorului
cum ar fi SO şi procesele, SO şi maşina extinsă sau SO şi maşina central. Exploatarea unui calculator conform principiului timpului
ierarhică. Există şi alte puncte de vedere asupra sistemelor de partajat oferă utilizatorilor posibilităţi analogice unui calculator
operare pe care un specialist ar trebui să le cunoască. individual, permiţând beneficiul unor servicii comune la un preţ redus.
Abordare funcţională-Pentru un utilizator obişnuit, convins că un
calculator este doar un instrument care îl ajută în soluţionarea 18. Organizarea intrărilor - ieşirilor în memorii tampon
unor probleme din domeniul său de activitate, noţiunile, cum ar fi Pentru excluderea influenţei perifericelor asupra vitezei de lucru a
administrarea memoriei cu paginaţie sau driverele dispozitivelor, sistemului de calcul s-a propus să se păstreze în memorie în anumite
nu semnifică prea multe. Destinaţia principală a unui sistem de zone tampon datele de intrare şi rezultatele mai multor lucrări.Deşi
operare pentru această categorie de utilizatori este punerea la utilizarea memoriilor tampon prezintă o serie de avantaje, totuşi două
dispoziţie a unui set de programe care l-ar ajuta în formularea şi momente negative pot fi menţionate:
soluţionare problemelor concrete ce ţin de domeniul său de atunci când lucrarea în curs de execuţie are nevoie de nişte date
activitate. unitatea centrală rămâne inactivă pe toată perioada citirii acestora;
Abordare din punctul de vedere al interfeţei cu utilizatorul o lucrare de scurtă durată, sosită în timpul execuţiei unei lucrări
Interfaţa sistemului de operare cu utilizatorul prezintă un interes "lungi", trebuie să aştepte terminarea acesteia din urmă.
aparte. Progresul în acest domeniu este spectaculos, dacă vom lua
în consideraţie că în primele sisteme de operare utilizatorul era 19. Multiprogramarea
obligat să indice în mod explicit şi manual (în regim textual) fiecare Multiprogramarea este un termen utilizat în cazul unui sistem în care pot
pas, oricât de nesemnificativ ar fi părut. Formularea paşilor cu exista simultan câteva procese în stare de execuţie. Un proces se consideră în
ajutorul unui limbaj specializat, cum ar fi Job Control Language stare de execuţie, dacă calculele au început, dar la momentul considerat nu
(JCL), nu a schimbat substanţial situaţia. au fost terminate sau întrerupte. Multiprogramarea permite menţinerea
unităţii centrale în stare activă pentru perioada încărcării programelor
13. Abordare funcţională sau operaţiilor de intrare-ieşire. Acest mod de funcţionare este adaptat
Abordare funcţională-Pentru un utilizator obişnuit, convins că un tratării pe loturi pe un calculator, care nu dispune de un mecanism de
calculator este doar un instrument care îl ajută în soluţionarea unor reamplasare dinamică.
probleme din domeniul său de activitate, noţiunile, cum ar fi
administrarea memoriei cu paginaţie sau driverele dispozitivelor, nu 20. Sisteme cu timp partajat
semnifică prea multe. Destinaţia principală a unui sistem de operare Destinaţia principală a unor astfel de sisteme este furnizarea
pentru această categorie de utilizatori este punerea la dispoziţie a unui serviciilor necesare unei mulţimi de utilizatori, fiecare dintre ei
set de programe care l-ar ajuta în formularea şi soluţionare problemelor beneficiind de servicii:
concrete ce ţin de domeniul său de activitate. • echivalente serviciilor unui calculator individual;
• legate de existenţa unei comunităţi de utilizatori: partajarea
14. Abordare din punctul de vedere al interfeţei cu utilizatorul informaţiilor, comunicaţii între utilizatori.
Abordare din punctul de vedere al interfeţei cu utilizatorul Problemele care apar datorită conceptului de partajare a timpului
Interfaţa sistemului de operare cu utilizatorul prezintă un interes sunt o combinaţie a problemelor existente în cazul unui calculator
aparte. Progresul în acest domeniu este spectaculos, dacă vom lua în individual cu cele din sistemele tranzacţionale şi pot fi clasificate
consideraţie că în primele sisteme de operare utilizatorul era obligat să după cum urmează:
indice în mod explicit şi manual (în regim textual) fiecare pas, oricât de • definirea maşinii virtuale oferite fiecărui utilizator;
nesemnificativ ar fi părut. Formularea paşilor cu ajutorul unui limbaj • partajarea şi alocarea resurselor fizice comune: procesoare,
specializat, cum ar fi Job Control Language (JCL), nu a schimbat memorii, dispozitive de comunicaţie;
substanţial situaţia. • gestionarea informaţiilor partajate şi a comunicaţiilor.
21. Windows, Unix şi alte sisteme Starea procesorului este determinată de conţinutul registrelor acestuia.
Paralel cu evoluţia tehnică şi funcţională a sistemelor de operare a avut Registrele pot fi:
loc şi o importantă evoluţie conceptuală, care a permis o mai bună înţelegere adresabile, numite registre generale, manipulate de programe, registre
a funcţionării sistemelor de operare şi a condus la elaborarea unor metode speciale - cuvânt de stare program (program status word, PSW).
proprii de concepere. PSW conţine informaţii:
Debutul unei cercetări ştiinţifice a sistemelor de operare poate fi Referitoare la starea procesorului:
considerat anul 1964, care a succedat o etapă importantă de dezvoltare Starea de execuţie. Procesorul se poate afla în starea activ în care
tehnică: primele sisteme cu partajare a timpului (Thor, CTSS). Sistemul de îndeplineşte instrucţii, sau în starea de aşteptare, când execuţia este
operare UNIX, primul sistem mobil care asigură un mediu fiabil de suspendată. Modul de funcţionare:
dezvoltare şi utilizare a softului de aplicaţie, este fundamentul practic de Protecţie - se permite doar programelor SO executarea unor instrucţiuni
elaborare a sistemelor fizico-logice deschise. anumite (speciale), programele utilizatorilor neavând acces la aceste
22. SО UNIX şi standardele sistemelor deschise instrucţiuni. Masca întreruperilor.
Sistemul de operare UNIX, primul sistem mobil care asigură un mediu Referitoare la contextul accesibil al memoriei şi drepturile de acces
fiabil de dezvoltare şi utilizare a softului de aplicaţie. asociate: tabele de segmente, indicatori de protecţie a memoriei, etc.
Implementarea largă a sistemului de operare UNIX a permis trecerea de Referitoare la derularea activităţii curente: codul condiţiei, contorul
la declararea sistemelor deschise la dezvoltarea practică a acestui concept. operaţiei următoare (contor ordinal).
Variantele SO UNIX, propuse de compania SCO şi destinate exclusiv
platformelor Intel, sunt bazate pe modulele iniţiale ale System V 3.2, fiind 28. ÎNTRERUPERI, DEVIERI, APELAREA SUPERVIZORULUI
total compatibile cu toate standardele de bază
29. Activităţi asincrone
23. OSF-1 şi alte variante UNIX Pentru cazuri mai generale sunt necesare mecanisme suplimentare, cum
Open Software Foundation (OSF) a fost prima companie comercială, ar fi conceptele de asincronism sau de protecţie reciprocă între activităţi.
care a încercat elaborarea SO UNIX în baza micronucleului Mach. A fost Prin asincronism înţelegem efectul care îl pot avea asupra derulării
creat sistemul de operare OSF-1, care nu era în sens de licenţiere „curat”, unei activităţi anumite evenimente exterioare.
deoarece folosea o parte a modulelor iniţiale din SVR 4.0. Numim protecţie reciprocă între activităţi o modificare mai profundă
Nu putem să nu amintim aici şi de realizarea originală a SO UNIX a contextului, atunci când se trece de la o activitate la alta, în comparaţie
pentru platformele Intel, propusă de Torvald Linus – LINUX cu ceea ce are loc în cazul unei simple apelări de procedură.
Prin standard al unei interfeţe al SO subînţelegem un set de proprietăţi, Un caz tipic de asincronism este executarea intrărilor-ieşirilor
mai mult sau mai puţin formale, sintactice sau semantice ale componentelor simultan cu execuţia unui program. Trebuie să fie asigurată posibilitatea
sistemului de operare. informării programului despre terminarea unui transfer de informaţii.
24. Standarde UNIX
Unul dintre primele standarde de-facto a fost cel publicat de USL pentru 30. Mecanisme de comutare a contextului. Întreruperi
versiunea SO UNIX System V Release 4 - System V Interface Definition Comutarea contextului unui procesor permite executarea într-o manieră
(SVID). indivizibilă (atomară) a următoarelor două operaţii:
Mai menţionăm standardul de-facto SPARC Complience Definition, trecerea cuvântului de stare într-un amplasament specificat al memoriei,
propus de organizaţia SPARC International, încărcarea în cuvântul de stare a conţinutului unui alt amplasament
Pentru lumea UNIX este foarte important şi standardul limbajului de specificat al memoriei. Comutarea contextului poate fi necesară din mai
programare C, adoptat mai întâi de ANSI şi apoi de ISO. În acest standard multe cauze distincte. Presupunem că fiecărei cauze i-a fost asociat un număr
sunt specificate, în afara limbajului C, bibliotecile necesare într-o realizare de ordine. Pot fi întâlnite două scheme de comutare a contextului.
standard. Deoarece chiar de la apariţie limbajul C şi sistemele de programare 1. Salvare în amplasamente fixe.
respective erau strâns legate de UNIX, componentele bibliotecilor standard 2. Salvare într-o stivă.
corespundeau exact mediului standard al SO UNIX. 31. Devieri şi apelarea supervizorului
O deviere semnalizează o anomalie în derularea unei instrucţiuni, care
25. Sisteme de operare cu micronucleu prohibitează executarea instrucţiunii. Originile pot fi diverse:
Micronucleul este partea minimă principală a unui sistem de operare, date incorecte, instrucţiune neexecutabilă . Devierile pot fi clasificate, ca
folosită pentru asigurarea modularităţii şi transportabilităţii. şi întreruperile, conform cauzelor care le generează. O deviere poate fi
Noţiunea de micronucleu a fost introdusă de compania Next prin suprimată, dar nici intr-un caz retardată. Un apel al supervizorului
sistemul de operare cu micronucleul Mach. (supervisor call, prescurtat SVC, eng., appel au superviseur, fr.) este o
Următorul SO cu micronucleu a fost MS Windows NT, în care instrucţiune chemată să provoace o comutare a contextului
momentul principal declarat era, în afara modularităţii, transportabilitatea. procesorului. Acest efect este analogic apelării unei proceduri, însă
Acest sistem de operare poate fi utilizat în sistemele mono- şi miltiprocesor, modificarea contextului este mai profundă,
bazate pe procesoarele Intel, Mips, şi Alpha Destinaţia unui apel al supervizorului este de a permite apelarea
Au aderat la tehnologia „micronucleară” şi companiile Novell/USL, unei proceduri a sistemului de operare, pretinzând la drepturi mai mari
Open Software Foundation (OSF), IBM, Apple şi altele. Unul din 32. Exemple de sisteme de întreruperi
concurenţii principali ai lui NT în domeniul SO cu micronucleu sunt Mach Sistemul de întreruperi are 5 nivele (în ordinea de descreştere a
3.0, creat în Universitatea Carnegy-Mellon, şi Chorus 3.0 al companiei priorităţilor): eroare hardware, deviere, apelare supervizor,
Chorus Systems. extern şi intrare-ieşire. Fiecărui nivel îi corespunde în memoria
operativă un cuplu de amplasamente rezervate cuvintelor de stare
26. MODUL SECVENŢIAL DE EXECUŢIE A UNUI PROGRAM. vechi şi nou. Fiecare nivel conţine mai multe cauze de întrerupere.
Noţiuni fundamentale
Un program secvenţial = o mulţime de proceduri, care se pot apela 33. IMPLEMENTAREA MECANISMELOR DE COMUTARE A
reciproc. Fiecărei proceduri îi este asociat un segment distinct de procedură. CONTEXTULUI
Datele sunt reprezentate prin segmente, pot fi proprii unei proceduri sau Implementarea mecanismelor este ilustrată prin exemple, legate
partajate între mai multe proceduri. de utilizarea lor.
Numim activitate fenomenul care rezultă din execuţia neîntreruptă a Vom preciza notaţia utilizată în schemele programelor:
unei proceduri unice. !!Execuţia unui program secvenţial constă dintr-un lanţ 1. conţinutul unui cuvânt de stare este reprezentat
de activităţi!!!! prin notaţia <activitate, mod, mascare, contor
Numim context al unei activităţi mulţimea informaţiilor accesibile ordinal>. Dacă csp desemnează un cuvânt de stare,
procesorului în cursul acestei activităţi. Contextul activităţii este compus din câmpurile sale vor fi desemnate de csp.act, csp.mod,
contextul procesorului (registrele programabile şi interne) şi contextul csp.masc şi csp.co.
memoriei (segmentul procedurii şi segmentul datelor). Trecerea de la o 2. operatorul adr aplicat unui identificator de
activitate la alta este realizată de instrucţiuni speciale: apelarea şi returul din variabilă sau de procedură, desemnează adresa
procedură, care realizează comutarea contextului. amplasamentului unde se află variabila sau prima
instrucţiune a procedurii,
27. Starea şi contextul procesorului
3.notaţia Mp[adr] desemnează conţinutul Intrări-ieşiri programate pe canal sau acces direct la memorie
amplasamentului cu adresa adr. Intrări-ieşiri asincrone cu întreruperi
4. notaţiile svc_vechi, dev_vechi, intr_x_vechi, Intrări-ieşiri sincrone
svc_nou, dev_nou, intr_x_nou desemnează
amplasamentele unde sunt plasate şi de unde sunt 39. Intrări-ieşiri buferizate în memorie
încărcate cuvintele de stare. Diferenţa considerabilă dintre viteza de lucru a unităţii centrale şi cea a
Vom mai presupune că organelor periferice impune "buferizarea" intrărilor-ieşirilor, adică
1. apelarea supervizorului este de forma SVC <cod>, introducerea unei zone-tampon de memorie între periferic şi programul
unde <cod> reprezintă un număr care permite utilizatorului. Scopul este de a reduce timpul de inactivitate a unităţii
identificarea funcţiei cerute, centrale, dezlegând funcţionarea acesteia de periferice.
2. un indicator <cauză> permite stabilirea cauzei care Programul utilizatorului va transfera informaţiile din sau spre zona-
provoacă o deviere. tampon, iar această zonă-tampon va servi, în mod paralel, drept sursă sau
destinaţie la schimbul de date cu perifericul. Dezlegarea unităţii centrale de
34. Utilizarea devierilor şi apelării supervizorului periferic este cu atât mai bine realizată cu cât este mai mare capacitatea
zonei-tampon. Adesea, pentru a nu supraîncărca memoria principală, zona-
35. Exemple de utilizare a întreruperilor tampon este situată pe discul fix.
Principala utilizare a întreruperilor este măsurarea timpului şi
administrarea operaţiilor de intrare-ieşire. Prezentăm mai jos câteva exemple 40. Încărcarea iniţială
de utilizare a ceasului calculatorului. La primele calculatoare, un program de câteva instrucţiuni, introdus
procedura iniţializare; manual în memorie cu ajutorul unor comutatoare ale pupitrului de comandă
intr_ceas_nou:=<activ,master,mascat,adr intr_ceas>; la o adresă fixă, permitea încărcarea unui program de citire mai elevat
svc_nou :=<activ,master,mascat,adr tratare_svc >; capabil să citească versiunea completă a sistemului de operare. Acest proces
dezarmare(intr_ceas); era numit încărcare (bootstrapping, eng.).
procedura tratare_svc; În calculatoarele contemporane, programul de iniţializare se află
save(zonă); permanent într-o memorie constantă (BIOS). Execuţia acestui program este
case cod of declanşată odată cu punerea sub tensiune a calculatorului (autoîncărcare).
…
apel_lim_timp_ex: -- parametrii p, q, tratare_eroare 41. GESTIUNEA ACTIVITĂŢILOR PARALELE
ceas:=q;
cspretur:=svc_vechi; -- salvare pentru retur 42. EXEMPLE DE ACTIVITĂŢI PARALELE
csplucrare:= <activ,slave,demascat,adr p>; 43. Administrarea tamponată a intrărilor-ieşirelor
csperoare:= <activ,slave,demascat,adr tratare_eroare>; Analiza acestui mod de funcţionare (fig.3.1) pune în evidenţă patru
armare(intr_ceas); activităţi, care pot avea loc simultan:
restabileşte(zonă); primitiva scriere_linie SL (unitatea centrală)
încarcă_csp(csplucrare); scriere pe disc SD (canal 1)
… citire de pe disc CD (canal 2)
retur: -- datorat terminării procedurii p imprimare fizică IF (canal 3)
dezarmare(intr_ceas); Pot fi evidenţiate două tipuri de condiţii, care trebuie respectate:
încarcă_csp(cspretur); Condiţii, care stabilesc posibilitatea existenţei unor activităţi
… Condiţii de validitate a informaţiilor partajate.
endcase
procedura intr_ceas; -- expirarea timpului limită 44. Comanda unui proces industrial
dezarmare(intr_ceas); D2 segmentele procedurilor şi datelor pentru comanda
încarcă_csp(csperoare); celor două reactoare R1 şi R2, memoria principală având capacitatea
necesară pentru păstrarea acestor segmente.
36. PROGRAMAREA OPERAŢIILOR DE INTRARE-IEŞIRE Programele P1 şi P2 sunt executate pe rând de procesor. Relaţia 2t<T
Prin noţiunea de intrare-ieşire trebuie să fie respectată. Dacă acesta va fi cazul, funcţionarea reactoarelor
numim orice transfer de informaţii din sau spre nucleul calculatorului. pentru un observator extern pare identică pentru ambele soluţii. Trebuie,
Operaţiile de I/E semnifică: totuşi să subliniem, că soluţia doi impune restricţii mai severe în ceea ce
transferurile de informaţii dintre diferite nivele ierarhice ale memoriei, priveşte performanţele calculatorului
transferurile de informaţii din sau spre mediul exterior (organe periferice Modalităţile de implementare a soluţiei doi.
locale sau la distanţă, captoare sau dispozitive de acţionare, alte calculatoare, 1) Partajarea procesorului
etc.). 2) Partajarea programului
37. Organizarea generală
Un organ de intrare-ieşire este un dispozitiv capabil să transfere 45. NOŢIUNE DE PROCES SECVENŢIAL
informaţii între procesorul sau memoria calculatorului şi un suport extern de Executarea unui program se traduce într-o suită de acţiuni a1, a2,..., ai,...,
informaţie. Acest transfer este comandat de către procesorul central. cu început(ai)<sfârşit(ai) **
Un canal O astfel de suită este numită proces secvenţial sau simplu proces.
este un procesor specializat în operaţiile de intrare-ieşire. El poate fi Un proces poate, deci, fi descris cu ajutorul succesiunii evenimentelor
lansat doar de un procesor central, nu posedă întreruperi, dar poate întrerupe început(a1), sfârşit(a1), început(a2), sfârşit(a2),...
un procesor central. 46. Proces unic. Context
Un contróler este un dispozitiv de comandă adaptat la un tip concret de Noţiunea de proces pune la dispoziţie un model pentru reprezentarea
echipament periferic. Autonomia sa este limitată de operaţii foarte unei activităţi, care rezultă din executarea unui program pe calculator.
elementare. Destinaţia principală a unui controler este de a permite , contextul unui proces rezultant din executarea unui program conţine:
conectarea a mai multor periferice de acelaşi tip la un singur controler. Contextul procesorului (cuvântul de stare şi registrele),
Un periferic este un organ capabil să transfere informaţii din sau spre un Un context în memorie, sau spaţiul de lucru (segmente procedură, date,
suport extern. Controlerul este legat de periferic printr-o interfaţă, care stivă de execuţie),
conţine un set de funcţii O mulţime de atribute ataşate procesului şi care specifică diferite
şi o linie de comunicaţie, care serveşte la transferul informaţiilor. proprietăţi:
38. Metode de comandă a perifericelor
Programul, care controlează funcţionarea elementară a unui dispozitiv
periferic se numeşte driver. Driverul gestionează în mod direct interfaţa
controlerului perifericului, tratează întreruperile generate de acesta,
În realitate, citirea şi scrierea pe disc sunt executate pe acelaşi canal, ceea
detectează şi tratează cazurile de eroare. Modurile principale de control ale ce poate impune unele restricţii privind simultaneitatea executării lor. Vom
perifericelor ignora aici aceste restricţii, justificând mai apoi acest mod de procedare.
Nume. Numele unui proces, care serveşte pentru identificarea lui.
Prioritate. Prioritatea proceselor permite ordonarea lor pentru alocarea 53. Probleme de realizare a sincronizării
procesorului. Dacă toate procesele au aceeaşi prioritate, alocarea se face Un eveniment memorizat este o variabilă, care poate lua două valori:
conform ordinii “primul sosit, primul servit”. sosit şi non_sosit, valoarea iniţială este non-sosit. Asupra evenimentului
Drepturi. Drepturile unui proces specifică operaţiile care îi sunt permise, memorizat sunt posibile două operaţii, care sunt acţiuni indivizibile:
în scopul asigurării protecţiei informaţiei . e:=<valoare> -- atribuirea imediată a unei valori
aşteptare(e).
47. Relaţii între procese Operaţia aşteptare(e), executată de un proces p, are următoarea
Vom cerceta în continuare execuţia unei mulţimi de procese şi specificaţie:
interacţiunea reciprocă a acestora. Noţiunile, introduse mai sus, pot fi extinse if e = non_sosit then
pentru o mulţime de procese: starea(p) := blocat -- p este trecut în “aşteptarea lui e”
traiectoria temporală a unei mulţimi de procese este şirul evenimentelor endif
formate de începuturile şi sfârşiturile acţiunilor rezultante din executarea Când e ia valoarea sosit, toate procesele care aşteptau e trec în starea
programelor acestor procese. activ.
contextele unor procese diferite pot avea părţi comune. Două procese,
contextele cărora sunt disjuncte, se numesc independente; ele nu pot avea 54. Monitorul – mecanism de sincronizare
interacţiuni reciproce. Partea contextului, care aparţine unui singur proces, se Un monitor este constituit dintr-o mulţime de variabile de stare şi o
numeşte context privat al procesului dat. mulţime de proceduri, care utilizează aceste variabile. Unele dintre aceste
proceduri, numite externe, sunt accesibile utilizatorilor monitorului; numele
48. Mulţimi de procese. Paralelism acestor proceduri sunt numite puncte de intrare ale monitorului. Procesele,
Să considerăm două programe distincte P şi Q, fiecare având în care utilizează monitorul pentru a se sincroniza, nu au acces direct la
memorie un segment cod şi un segment de date. Numim p şi q variabilele de stare. Monitorul poate fi utilizat doar prin apelarea
procesele rezultante din executarea respectivă a acestor două procedurilor sale externe; acestea permit blocarea sau deblocarea proceselor
programe. Executarea setului (p, q) poate să se producă în diferite conform specificaţiilor problemei.
moduri, caracterizate de forma particulară a traiectoriei sale . Un monitor conţine un fragment de cod de iniţializare, executat o
temporale. singură dată la crearea monitorului.
55. Exemple de utilizare a monitorului
Monitorul este utilizat după cum urmează:
procesul p procesul q
scriere(a); <debut_q>
sinc.terminare_scriere; sinc.debut_citire;
<continuare_p> citire(a);