Documente Academic
Documente Profesional
Documente Cultură
Noiuni De Baz i Clasificri 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
funcionale fizice i logice, care coopereaz pentru a satisface programe.
cerinele utilizatorilor privind introducerea, stocarea, Sistemele de timp real funcioneaz, de obicei, n cadrul unor
prelucrarea, cutarea i transmiterea informaiilor. Aceste sisteme de comand i este necesar ca valorile anumitor atribute s
componente funcionale sunt structurate pe niveluri, care se ncadreze n limite destul de restrictive, dictate de dinamica
interacioneaz prin interfee bine definite. Prin noiunea de proceselor comandate.
sistem de operare nelegem modulele program ale unui SC, care
administreaz resursele tehnice. Modulele n cauz soluioneaz 5. Exemple de sisteme de operare
situaiile de conflict, optimizeaz productivitatea sistemului, Windows,Unix, MS DOS.
sporesc eficiena utilizrii lui.
Valorile concrete ale atributelor sistemelor de operare i 6. Cazul calculatoarelor personale
combinaii ale acestora determin diverse tipuri de SO. Conform Cea mai simpl configuraie a unui calculator personal (PC) include o
acestor atribute pot fi evideniate urmtoarele tipuri de sisteme de unitate central, o memorie principal, un display, o tastatur i un mouse.
operare: Aceast configuraie, de regul, este completat de o memorie secundar i o
secveniale, imprimant.
cu multiprogramare, Utilizatorul unui astfel de sistem va cere minimum urmtoarele dou
cu prelucrare multipl, tipuri de servicii:
n timp real, etc. identificarea i crearea unor fiiere sau mulimi structurate de informaii;
stocarea acestor fiiere n memoria secundar; transferarea informaiilor
2. Noiuni i termeni din domeniul resurselor tehnice ntre fiiere i dispozitivele de intrare/ieire;
Pentru a trece la noiunile principale, legate de hardware, vom face execuia unor programe existente sau introduse sub form de fiiere n
cunotin mai nti cu funciile de baz ale unui calculator. Pot fi PC;
evideniate cinci funcii eseniale : stocarea datelor i extragerea introducerea datelor necesare pentru execuia programului (de la
rezultatelor: tastatur, dintr-un fiier sau de la alte surse periferice); listarea rezultatelor la
iniializarea implic testarea prilor importante display, imprimant sau copierea lor ntr-un fiier.
ale calculatorului, rularea fiierelor de pornire i ncrcarea altor
fiiere 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 ndeplinete
ul, discheta, discul mobil, memory stick-ul, aparatul digital de urmtoarele funcii:
fotografiat etc.; Reglare. Pentru o derulare bun a procesului de fabricaie
procesarea se refer la manipularea datelor parametrii de funcionare (temperatura, presiunea, concentraia,
introduse n scopul producerii unui rezultat (ieirea); etc.) trebuie s se afle ntr-o plaj de valori predefinite. Pentru
stocarea constituie procesul salvrii informaiilor aceasta va fi acionat debitul de intrare a materiilor prime A sau B.
(date sau programe) ntr-un dispozitiv de pstrare, de exemplu Parametrii de funcionare sunt msurai cu ajutorul unor captoare.
discul fix, pentru recuperarea ulterioar. Calculatorul preia aceste msurri i, n dependen de algoritmul
de comand, acioneaz robinetele de intrare.
3. Noiuni i termeni din domeniul sistemelor de operare nregistrare. Rezultatele msurrilor sunt periodic nregistrate;
valorile lor sunt afiate pe un tablou de bord i recopiate ntr-un
Un sistem de operare este un ansamblu de programe de control i fiier ("jurnal de bord") n scopul unor prelucrri ulterioare (date
de serviciu care ghideaz un calculator n execuia sarcinilor sale, asist statistice).
programele de aplicaie i interacioneaz cu utilizatorul prin Securitate. n cazul n care unul dintre parametrii msurai
intermediul anumitor funciuni. Natura funciilor i modul n care depete o valoare critic predefinit reactorul trebuie oprit
acestea sunt realizate determin atributele care caracterizeaz un sistem imediat.
de operare: timpul de rspuns- exprim durata intervalului delimitat de
lansarea unei cereri de serviciu i achitarea acesteia de ctre sistem, 8. Sisteme tranzacionale
simultaneitatea utilizrii- msoar gradul n care un sistem poate s Caracteristicile principale:
execute n acelai timp mai multe lucrri., eficiena- msoar sistemul gestioneaz un set de informaii sau baze de date, care pot
proprietatea unui sistem de a folosi n mod optim resursele de care atinge volume importante de informaie;
dispune, partajarea resurselor i protecia informaiei n calculator- asupra acestor informaii pot fi executate un anumit numr de
caracterizeaz nivelul la care utilizatorii au posibilitatea s utilizeze n operaii predefinite sau tranzacii, adesea interactive;
comun informaia prezent n sistem i nivelul la care pot s comunice sistemul este dotat cu un mare numr de puncte de acces i un mare
ntre ei, n deplin siguran, generalitatea, flexibilitatea, numr de tranzacii se pot derula simultan. Caracteristicile obligatorii ale
extensibilitatea, fiabilitatea i disponibilitatea, transparena i unui astfel de sistem tranzacional sunt disponibilitatea i fiabilitatea; pentru
vizibilitatea. Un sistem de operare este obligat: unele sisteme poate fi important i tolerana la defeciuni. O caracteristic
s pstreze informaia despre starea fiecrei resurse, important ale sistemelor tranzacionale este multitudinea activitilor
s ia decizia crui proces s i se aloce resursa, n ce cantitate, paralele, iar n multe cazuri i repartizarea geografic a componentelor.
cnd, cum i unde, 9. Sisteme n timp partajat
s aloce resursa i, la momentul oportun, s o retrag. Destinaia principal a unor astfel de sisteme este furnizarea serviciilor
necesare unei mulimi de utilizatori, fiecare dintre ei beneficiind de servicii:
echivalente serviciilor unui calculator individual;
4. Tipuri de sisteme de operare, obiective i funcii legate de existena unei comuniti de utilizatori: partajarea
Valorile concrete ale atributelor sistemelor de operare i informaiilor, comunicaii ntre utilizatori.
combinaii ale acestora determin diverse tipuri de SO. Conform Problemele care apar datorit conceptului de partajare a timpului sunt o
acestor atribute pot fi evideniate urmtoarele tipuri de sisteme de combinaie a problemelor existente n cazul unui calculator individual cu
operare: cele din sistemele tranzacionale. Caracteristicile obligatorii ale unui astfel
Un sistem secvenial (tratare pe loturi, engl. batch processing, fr. de sistem mbin, n egal msur, calitile unui sistem de operare al unui
traitement par lots) execut la un moment dat un singur program, calculator individual i al unui sistem tranzacional, cum ar fi:
care trebuie terminat nainte de a lua ncepe execuia unui alt disponibilitatea, fiabilitatea, securitatea, exploatarea optim a
program. caracteristicilor resurselor fizice, calitatea interfeei i serviciilor
Sistemele cu multiprogramare accept la un moment dat mai multe utilizatorului, facilitatea adaptrii i extensibilitii.
programe n memoria central, acestea aflndu-se n diferite stadii
de execuie. 10. SISTEMUL DE OPERARE I PROCESELE
Noiunea de proces este asociat conceptului de lucrare i poate fi 15. EVOLUIA SISTEMELOR DE OPERARE
definit ca o suit temporal de execuii de instruciuni,
considerat ca fiind o entitate de baz n descrierea sau analiza Primele sisteme erau caracterizate prin prelucrarea secvenial a
funcionrii unui sistem. Evoluia n timp a unui proces presupune taskurilor. Timpul de execuie a programelor era relativ mare, instrumentele
un consum de resurse, dictat de natura i complexitatea de depanare primitive, fiecare programator i ncrca n mod individual
instruciunilor de execuie. n particular, rezult c ori de cte ori programul (pachetul de cartele perforate), apsa butoane, controla coninutul
se execut procedurile de sistem, resursele, pe care le utilizeaz locaiunilor 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. MAIN IERARHIC I MAIN EXTINS unui pachet primele ncercri de prelucrare pe loturi (1956 1959).
Setul de instruciuni realizat hardware mpreun cu instruciunile Dup 1965 au aprut primele sisteme cu partajare a timpului (time
suplimentare ale sistemului de operare formeaz sistemul de sharing), au fost propuse sisteme sofisticate de administrare a informaiei
comenzi al mainii extinse. Memoria virtual i mainile virtuale sunt nite principii care nici pn
Nucleul sistemului de operare va fi executat pe maina goal, astzi nu au fost exploatate pn la capt. Progresele ultimilor ani n
iar programele utilizatorului pe maina 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
Maina extins personale.
12. ALTE PUNCTE DE VEDERE ASUPRA SISTEMELOR DE 17. Multiprogramarea i partajarea timpului
OPERARE Utilizarea principiului multiprogramrii sau partajarea memoriei ntre
Sistemele de operare pot fi abordate din diferite puncte de vedere, mai muli utilizatori a permis o utilizare i mai bun a procesorului
cum ar fi SO i procesele, SO i maina extins sau SO i maina central. Exploatarea unui calculator conform principiului timpului
ierarhic. Exist i alte puncte de vedere asupra sistemelor de partajat ofer utilizatorilor posibiliti analogice unui calculator
operare pe care un specialist ar trebui s le cunoasc. individual, permind beneficiul unor servicii comune la un pre redus.
Abordare funcional-Pentru un utilizator obinuit, convins c un
calculator este doar un instrument care l ajut n soluionarea 18. Organizarea intrrilor - ieirilor n memorii tampon
unor probleme din domeniul su de activitate, noiunile, cum ar fi Pentru excluderea influenei perifericelor asupra vitezei de lucru a
administrarea memoriei cu paginaie sau driverele dispozitivelor, sistemului de calcul s-a propus s se pstreze n memorie n anumite
nu semnific prea multe. Destinaia principal a unui sistem de zone tampon datele de intrare i rezultatele mai multor lucrri.Dei
operare pentru aceast categorie de utilizatori este punerea la utilizarea memoriilor tampon prezint o serie de avantaje, totui dou
dispoziie a unui set de programe care l-ar ajuta n formularea i momente negative pot fi menionate:
soluionare problemelor concrete ce in de domeniul su de atunci cnd lucrarea n curs de execuie are nevoie de nite date
activitate. unitatea central rmne inactiv pe toat perioada citirii acestora;
Abordare din punctul de vedere al interfeei cu utilizatorul o lucrare de scurt durat, sosit n timpul execuiei unei lucrri
Interfaa sistemului de operare cu utilizatorul prezint un interes "lungi", trebuie s atepte terminarea acesteia din urm.
aparte. Progresul n acest domeniu este spectaculos, dac vom lua
n consideraie 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, orict de nesemnificativ ar fi prut. Formularea pailor cu exista simultan cteva procese n stare de execuie. Un proces se consider n
ajutorul unui limbaj specializat, cum ar fi Job Control Language stare de execuie, dac calculele au nceput, dar la momentul considerat nu
(JCL), nu a schimbat substanial situaia. au fost terminate sau ntrerupte. Multiprogramarea permite meninerea
unitii centrale n stare activ pentru perioada ncrcrii programelor
13. Abordare funcional sau operaiilor de intrare-ieire. Acest mod de funcionare este adaptat
Abordare funcional-Pentru un utilizator obinuit, convins c un tratrii pe loturi pe un calculator, care nu dispune de un mecanism de
calculator este doar un instrument care l ajut n soluionarea unor reamplasare dinamic.
probleme din domeniul su de activitate, noiunile, cum ar fi
administrarea memoriei cu paginaie sau driverele dispozitivelor, nu 20. Sisteme cu timp partajat
semnific prea multe. Destinaia principal a unui sistem de operare Destinaia principal a unor astfel de sisteme este furnizarea
pentru aceast categorie de utilizatori este punerea la dispoziie a unui serviciilor necesare unei mulimi de utilizatori, fiecare dintre ei
set de programe care l-ar ajuta n formularea i soluionare problemelor beneficiind de servicii:
concrete ce in de domeniul su de activitate. echivalente serviciilor unui calculator individual;
legate de existena unei comuniti de utilizatori: partajarea
14. Abordare din punctul de vedere al interfeei cu utilizatorul informaiilor, comunicaii ntre utilizatori.
Abordare din punctul de vedere al interfeei cu utilizatorul Problemele care apar datorit conceptului de partajare a timpului
Interfaa sistemului de operare cu utilizatorul prezint un interes sunt o combinaie a problemelor existente n cazul unui calculator
aparte. Progresul n acest domeniu este spectaculos, dac vom lua n individual cu cele din sistemele tranzacionale i pot fi clasificate
consideraie c n primele sisteme de operare utilizatorul era obligat s dup cum urmeaz:
indice n mod explicit i manual (n regim textual) fiecare pas, orict de definirea mainii virtuale oferite fiecrui utilizator;
nesemnificativ ar fi prut. Formularea pailor 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 comunicaie;
substanial situaia. gestionarea informaiilor partajate i a comunicaiilor.
21. Windows, Unix i alte sisteme Starea procesorului este determinat de coninutul registrelor acestuia.
Paralel cu evoluia tehnic i funcional a sistemelor de operare a avut Registrele pot fi:
loc i o important evoluie conceptual, care a permis o mai bun nelegere adresabile, numite registre generale, manipulate de programe, registre
a funcionrii sistemelor de operare i a condus la elaborarea unor metode speciale - cuvnt de stare program (program status word, PSW).
proprii de concepere. PSW conine informaii:
Debutul unei cercetri tiinifice a sistemelor de operare poate fi Referitoare la starea procesorului:
considerat anul 1964, care a succedat o etap important de dezvoltare Starea de execuie. Procesorul se poate afla n starea activ n care
tehnic: primele sisteme cu partajare a timpului (Thor, CTSS). Sistemul de ndeplinete instrucii, sau n starea de ateptare, cnd execuia este
operare UNIX, primul sistem mobil care asigur un mediu fiabil de suspendat. Modul de funcionare:
dezvoltare i utilizare a softului de aplicaie, este fundamentul practic de Protecie - se permite doar programelor SO executarea unor instruciuni
elaborare a sistemelor fizico-logice deschise. anumite (speciale), programele utilizatorilor neavnd acces la aceste
22. S UNIX i standardele sistemelor deschise instruciuni. 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 aplicaie. asociate: tabele de segmente, indicatori de protecie a memoriei, etc.
Implementarea larg a sistemului de operare UNIX a permis trecerea de Referitoare la derularea activitii curente: codul condiiei, contorul
la declararea sistemelor deschise la dezvoltarea practic a acestui concept. operaiei urmtoare (contor ordinal).
Variantele SO UNIX, propuse de compania SCO i destinate exclusiv
platformelor Intel, sunt bazate pe modulele iniiale ale System V 3.2, fiind 28. NTRERUPERI, DEVIERI, APELAREA SUPERVIZORULUI
total compatibile cu toate standardele de baz
29. Activiti 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 protecie reciproc ntre activiti.
care a ncercat elaborarea SO UNIX n baza micronucleului Mach. A fost Prin asincronism nelegem efectul care l pot avea asupra derulrii
creat sistemul de operare OSF-1, care nu era n sens de liceniere curat, unei activiti anumite evenimente exterioare.
deoarece folosea o parte a modulelor iniiale din SVR 4.0. Numim protecie reciproc ntre activiti o modificare mai profund
Nu putem s nu amintim aici i de realizarea original a SO UNIX a contextului, atunci cnd se trece de la o activitate la alta, n comparaie
pentru platformele Intel, propus de Torvald Linus LINUX cu ceea ce are loc n cazul unei simple apelri de procedur.
Prin standard al unei interfee al SO subnelegem un set de proprieti, Un caz tipic de asincronism este executarea intrrilor-ieirilor
mai mult sau mai puin formale, sintactice sau semantice ale componentelor simultan cu execuia unui program. Trebuie s fie asigurat posibilitatea
sistemului de operare. informrii programului despre terminarea unui transfer de informaii.
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 urmtoarelor dou operaii:
Mai menionm standardul de-facto SPARC Complience Definition, trecerea cuvntului de stare ntr-un amplasament specificat al memoriei,
propus de organizaia SPARC International, ncrcarea n cuvntul de stare a coninutului 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 nti de ANSI i apoi de ISO. n acest standard multe cauze distincte. Presupunem c fiecrei cauze i-a fost asociat un numr
sunt specificate, n afara limbajului C, bibliotecile necesare ntr-o realizare de ordine. Pot fi ntlnite dou scheme de comutare a contextului.
standard. Deoarece chiar de la apariie limbajul C i sistemele de programare 1. Salvare n amplasamente fixe.
respective erau strns 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 instruciuni, care
25. Sisteme de operare cu micronucleu prohibiteaz executarea instruciunii. Originile pot fi diverse:
Micronucleul este partea minim principal a unui sistem de operare, date incorecte, instruciune neexecutabil . Devierile pot fi clasificate, ca
folosit pentru asigurarea modularitii i transportabilitii. i ntreruperile, conform cauzelor care le genereaz. O deviere poate fi
Noiunea 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
Urmtorul SO cu micronucleu a fost MS Windows NT, n care instruciune chemat s provoace o comutare a contextului
momentul principal declarat era, n afara modularitii, transportabilitatea. procesorului. Acest efect este analogic apelrii 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 Destinaia unui apel al supervizorului este de a permite apelarea
Au aderat la tehnologia micronuclear i companiile Novell/USL, unei proceduri a sistemului de operare, pretinznd la drepturi mai mari
Open Software Foundation (OSF), IBM, Apple i altele. Unul din 32. Exemple de sisteme de ntreruperi
concurenii principali ai lui NT n domeniul SO cu micronucleu sunt Mach Sistemul de ntreruperi are 5 nivele (n ordinea de descretere a
3.0, creat n Universitatea Carnegy-Mellon, i Chorus 3.0 al companiei prioritilor): eroare hardware, deviere, apelare supervizor,
Chorus Systems. extern i intrare-ieire. Fiecrui nivel i corespunde n memoria
operativ un cuplu de amplasamente rezervate cuvintelor de stare
26. MODUL SECVENIAL DE EXECUIE A UNUI PROGRAM. vechi i nou. Fiecare nivel conine mai multe cauze de ntrerupere.
Noiuni fundamentale
Un program secvenial = o mulime de proceduri, care se pot apela 33. IMPLEMENTAREA MECANISMELOR DE COMUTARE A
reciproc. Fiecrei 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 execuia nentrerupt a Vom preciza notaia utilizat n schemele programelor:
unei proceduri unice. !!Execuia unui program secvenial const dintr-un lan 1. coninutul unui cuvnt de stare este reprezentat
de activiti!!!! prin notaia <activitate, mod, mascare, contor
Numim context al unei activiti mulimea informaiilor accesibile ordinal>. Dac csp desemneaz un cuvnt de stare,
procesorului n cursul acestei activiti. Contextul activitii este compus din cmpurile 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 instruciuni speciale: apelarea i returul din variabil sau de procedur, desemneaz adresa
procedur, care realizeaz comutarea contextului. amplasamentului unde se afl variabila sau prima
instruciune a procedurii,
27. Starea i contextul procesorului
3.notaia Mp[adr] desemneaz coninutul Intrri-ieiri programate pe canal sau acces direct la memorie
amplasamentului cu adresa adr. Intrri-ieiri asincrone cu ntreruperi
4. notaiile svc_vechi, dev_vechi, intr_x_vechi, Intrri-ieiri sincrone
svc_nou, dev_nou, intr_x_nou desemneaz
amplasamentele unde sunt plasate i de unde sunt 39. Intrri-ieiri buferizate n memorie
ncrcate cuvintele de stare. Diferena considerabil dintre viteza de lucru a unitii centrale i cea a
Vom mai presupune c organelor periferice impune "buferizarea" intrrilor-ieirilor, adic
1. apelarea supervizorului este de forma SVC <cod>, introducerea unei zone-tampon de memorie ntre periferic i programul
unde <cod> reprezint un numr care permite utilizatorului. Scopul este de a reduce timpul de inactivitate a unitii
identificarea funciei cerute, centrale, dezlegnd funcionarea acesteia de periferice.
2. un indicator <cauz> permite stabilirea cauzei care Programul utilizatorului va transfera informaiile din sau spre zona-
provoac o deviere. tampon, iar aceast zon-tampon va servi, n mod paralel, drept surs sau
destinaie la schimbul de date cu perifericul. Dezlegarea unitii centrale de
34. Utilizarea devierilor i apelrii supervizorului periferic este cu att mai bine realizat cu ct este mai mare capacitatea
zonei-tampon. Adesea, pentru a nu suprancrca memoria principal, zona-
35. Exemple de utilizare a ntreruperilor tampon este situat pe discul fix.
Principala utilizare a ntreruperilor este msurarea timpului i
administrarea operaiilor de intrare-ieire. Prezentm mai jos cteva exemple 40. ncrcarea iniial
de utilizare a ceasului calculatorului. La primele calculatoare, un program de cteva instruciuni, introdus
procedura iniializare; 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 ncrcarea 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 ncrcare (bootstrapping, eng.).
procedura tratare_svc; n calculatoarele contemporane, programul de iniializare se afl
save(zon); permanent ntr-o memorie constant (BIOS). Execuia acestui program este
case cod of declanat odat cu punerea sub tensiune a calculatorului (autoncrcare).
apel_lim_timp_ex: -- parametrii p, q, tratare_eroare 41. GESTIUNEA ACTIVITILOR PARALELE
ceas:=q;
cspretur:=svc_vechi; -- salvare pentru retur 42. EXEMPLE DE ACTIVITI PARALELE
csplucrare:= <activ,slave,demascat,adr p>; 43. Administrarea tamponat a intrrilor-ieirelor
csperoare:= <activ,slave,demascat,adr tratare_eroare>; Analiza acestui mod de funcionare (fig.3.1) pune n eviden patru
armare(intr_ceas); activiti, care pot avea loc simultan:
restabilete(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 terminrii procedurii p imprimare fizic IF (canal 3)
dezarmare(intr_ceas); Pot fi evideniate dou tipuri de condiii, care trebuie respectate:
ncarc_csp(cspretur); Condiii, care stabilesc posibilitatea existenei unor activiti
Condiii de validitate a informaiilor 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 avnd capacitatea
necesar pentru pstrarea acestor segmente.
36. PROGRAMAREA OPERAIILOR DE INTRARE-IEIRE Programele P1 i P2 sunt executate pe rnd de procesor. Relaia 2t<T
Prin noiunea de intrare-ieire trebuie s fie respectat. Dac acesta va fi cazul, funcionarea reactoarelor
numim orice transfer de informaii din sau spre nucleul calculatorului. pentru un observator extern pare identic pentru ambele soluii. Trebuie,
Operaiile de I/E semnific: totui s subliniem, c soluia doi impune restricii mai severe n ceea ce
transferurile de informaii dintre diferite nivele ierarhice ale memoriei, privete performanele calculatorului
transferurile de informaii din sau spre mediul exterior (organe periferice Modalitile de implementare a soluiei doi.
locale sau la distan, captoare sau dispozitive de acionare, alte calculatoare, 1) Partajarea procesorului
etc.). 2) Partajarea programului
37. Organizarea general
Un organ de intrare-ieire este un dispozitiv capabil s transfere 45. NOIUNE DE PROCES SECVENIAL
informaii ntre procesorul sau memoria calculatorului i un suport extern de Executarea unui program se traduce ntr-o suit de aciuni a1, a2,..., ai,...,
informaie. Acest transfer este comandat de ctre procesorul central. cu nceput(ai)<sfrit(ai) **
Un canal O astfel de suit este numit proces secvenial sau simplu proces.
este un procesor specializat n operaiile de intrare-ieire. 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), sfrit(a1), nceput(a2), sfrit(a2),...
un procesor central. 46. Proces unic. Context
Un contrler este un dispozitiv de comand adaptat la un tip concret de Noiunea de proces pune la dispoziie un model pentru reprezentarea
echipament periferic. Autonomia sa este limitat de operaii foarte unei activiti, care rezult din executarea unui program pe calculator.
elementare. Destinaia principal a unui controler este de a permite , contextul unui proces rezultant din executarea unui program conine:
conectarea a mai multor periferice de acelai tip la un singur controler. Contextul procesorului (cuvntul de stare i registrele),
Un periferic este un organ capabil s transfere informaii din sau spre un Un context n memorie, sau spaiul de lucru (segmente procedur, date,
suport extern. Controlerul este legat de periferic printr-o interfa, care stiv de execuie),
conine un set de funcii O mulime de atribute ataate procesului i care specific diferite
i o linie de comunicaie, care servete la transferul informaiilor. proprieti:
38. Metode de comand a perifericelor
Programul, care controleaz funcionarea elementar a unui dispozitiv
periferic se numete driver. Driverul gestioneaz n mod direct interfaa
controlerului perifericului, trateaz ntreruperile generate de acesta,
n realitate, citirea i scrierea pe disc sunt executate pe acelai canal, ceea
detecteaz i trateaz cazurile de eroare. Modurile principale de control ale ce poate impune unele restricii privind simultaneitatea executrii lor. Vom
perifericelor ignora aici aceste restricii, justificnd mai apoi acest mod de procedare.
Nume. Numele unui proces, care servete pentru identificarea lui.
Prioritate. Prioritatea proceselor permite ordonarea lor pentru alocarea 53. Probleme de realizare a sincronizrii
procesorului. Dac toate procesele au aceeai 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 iniial este non-sosit. Asupra evenimentului
Drepturi. Drepturile unui proces specific operaiile care i sunt permise, memorizat sunt posibile dou operaii, care sunt aciuni indivizibile:
n scopul asigurrii proteciei informaiei . e:=<valoare> -- atribuirea imediat a unei valori
ateptare(e).
47. Relaii ntre procese Operaia ateptare(e), executat de un proces p, are urmtoarea
Vom cerceta n continuare execuia unei mulimi de procese i specificaie:
interaciunea reciproc a acestora. Noiunile, introduse mai sus, pot fi extinse if e = non_sosit then
pentru o mulime de procese: starea(p) := blocat -- p este trecut n ateptarea lui e
traiectoria temporal a unei mulimi de procese este irul evenimentelor endif
formate de nceputurile i sfriturile aciunilor rezultante din executarea Cnd e ia valoarea sosit, toate procesele care ateptau e trec n starea
programelor acestor procese. activ.
contextele unor procese diferite pot avea pri comune. Dou procese,
contextele crora sunt disjuncte, se numesc independente; ele nu pot avea 54. Monitorul mecanism de sincronizare
interaciuni reciproce. Partea contextului, care aparine unui singur proces, se Un monitor este constituit dintr-o mulime de variabile de stare i o
numete context privat al procesului dat. mulime de proceduri, care utilizeaz aceste variabile. Unele dintre aceste
proceduri, numite externe, sunt accesibile utilizatorilor monitorului; numele
48. Mulimi de procese. Paralelism acestor proceduri sunt numite puncte de intrare ale monitorului. Procesele,
S considerm dou programe distincte P i Q, fiecare avnd 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 specificaiilor problemei.
moduri, caracterizate de forma particular a traiectoriei sale . Un monitor conine un fragment de cod de iniializare, 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);