Documente Academic
Documente Profesional
Documente Cultură
pentru utilizarea resurselor hardware în scopuri speciale poate fi necesar să se creeze un sistem de
operare propriu sau să se introducă modificări în sistemul existent;
de alegerea corectă a sistemului de operare şi a versiunii concrete poate depinde viabilitatea şi
eficacitatea sistemului de calcul;
este ideal ca utilizatorul să interacţioneze cu sistemul de operare cunoscând toate subtilităţile ultimului,
deoarece sistemul de operare este un intermediar între calculator şi utilizator;
multe metode şi concepte, utilizate în domeniul sistemelor de operare, pot fi implementate cu succes şi în
alte domenii.
2. Ce se numeşte multiprogramare?
Multiprogramarea este un termen utilizat în cazul unui sistem în care pot exista simultan câteva procese în
stare de execuţie. Un proces se consideră în stare de execuţie, dacă calculele au început, dar la momentul
considerat nu au fost terminate sau întrerupte (terminare din cauza unei erori sau din alte motive). Nu este
obligatoriu ca un proces care se află în starea de execuţie să fie şi executat de procesor la un moment dat.
Principalele avantaje şi restricţii ale multiprogramării pot fi prezentate în rezumat după cum urmează:
un sistem cu multiprogramare este mai complicat pentru că el trebuie să asigure partajarea memoriei şi
protecţia reciprocă a programelor;
multiprogramarea necesită dispozitive speciale pentru reactivarea programelor şi protecţia memoriei;
un sistem cu multiprogramare asigură o utilizare mai uniformă a diferitor resurse: unitatea centrală,
memoria, organele de intrare-ieşire;
multiprogramarea permite reducerea timpului de răspuns în cazul lucrărilor de durată mică într-un sistem
cu prelucrare secvenţială.
Prin noţiunea sistem de operare înţelegem modulele program ale unui sistem de calcul, care administrează
resursele tehnice (procesoare, memoria operativă şi secundară, dispozitive de intrare/ieşire, fişiere). Modulele în
cauză soluţionează situaţiile de conflict, optimizează productivitatea sistemului, sporesc eficienţa utilizării lui.
Ele sunt un fel de intermediar (interfaţă) între programele utilizatorului şi componentele tehnice ale
calculatorului. Alte denumiri istorice: program de administrare, monitor, supervizor.
4. Care sunt funcţiile cele mai simple ale celor 5 nivele ale unei maşini ierarhice?
Noţiunea de durată de existenţă sau de viaţă a unui obiect poate fi extinsă şi pentru căile de acces,
înţelegând prin aceasta perioada de timp în care acestea există (intervalul de timp care separă crearea de
distrugere).
1) Obiecte interne: acestea sunt instrucţiunile, care compun textul procedurii. Durată lor de viaţă
coincide cu durată de viaţă a procedurii.
2) Obiecte locale: acestea sunt variabilele, declarate în interiorul procedurii. În cazul unui apel
recursiv, un exemplar nou al fiecărui obiect local este creat la fiecare apel şi identificatorul său
desemnează ultimul exemplar creat (celelalte rămânând inaccesibile până la returul la nivelul
corespunzător).
3) Obiecte remanente şi obiecte globale: acestea sunt obiectele care existau deja la apelul procedurii
şi care vor supravieţui la retur; durata lor de viaţă este fie cea a procesului (obiecte remanente),
fie cea a unei proceduri, care înglobează procedura dată (obiecte globale).
4) Obiecte externe: sunt obiectele construite şi păstrate independent de procedura şi procesul
considerat (alte proceduri, fişiere, etc.). Durata lor de viaţă nu depinde de cea a procedurii sau a
procesului; ele pot fi create sau distruse în mod dinamic în timpul execuţiei procedurii.
5) Parametri: parametrii formali sunt identificatori, utilizaţi în interiorul procedurii şi care sunt
legaţi doar în momentul apelării.
Bilet de examinare Nr. 3
pentru utilizarea resurselor hardware în scopuri speciale poate fi necesar să se creeze un sistem de operare propriu sau să se
introducă modificări în sistemul existent;
de alegerea corectă a sistemului de operare şi a versiunii concrete poate depinde viabilitatea şi eficacitatea sistemului de
calcul;
este ideal ca utilizatorul să interacţioneze cu sistemul de operare cunoscând toate subtilităţile ultimului, deoarece sistemul de
operare este un intermediar între calculator şi utilizator;
multe metode şi concepte, utilizate în domeniul sistemelor de operare, pot fi implementate cu succes şi în alte domenii.
Reactor
Robinete
A
Captoare C
B
Semnale de
măsură
Înregistrări
Semnale de comandă
Calculator
4. Numim context...
Numim context al unei activităţi mulţimea informaţiilor accesibile procesorului în cursul acestei activităţi. Contextul activităţii este
compus din contextul procesorului (registrele programabile şi interne) şi contextul memoriei (segmentul procedurii şi segmentul
datelor). Trecerea de la o activitate la alta este realizată de instrucţiuni speciale: apelarea şi returul din procedură, care realizează
comutarea contextului.
Pentru tratarea cu ajutorul aşteptării active a cazului în care mai multe procese actualizează şi consultă variabile comune, unele
maşini au o instrucţiune, care realizează într-o manieră indivizibilă consultarea şi actualizarea unui amplasament de memorie.
Această instrucţiune, adesea numită Test And Set (tas), este utilizată în sistemele multiprocesorale (în sistemele monoprocesor
mascarea întreruperilor este suficientă pentru asigurarea excluderii mutuale).
Fie m adresa amplasamentului de memorie considerat, sau lacătul, iar R un registru al procesorului. Prin convenţie, dacă lacătul
este în 0, secţiunea critică este liberă, iar dacă este 1 – ea este ocupată. Efectul lui Test And Set este descris mai jos (Mp[m]
desemnează amplasamentul de memorie cu adresa m):
Un fişier f poate fi deschis pentru citire sau scriere. Unele organizări autorizează scrierea începând de la o înregistrare oarecare.
Considerăm, că scrierea se face la sfârşitul fişierului şi deschiderea pentru scriere iniţializează fişierul în “vid”.
Deschiderea este realizată prin operaţia:
deschide(mod):
if mod=citire then
f.rest:=<şirul înregistărilor fişierului>
else
f:=<vid>
endif;
f.mod:=mod;
avansare
unde funcţia avansare este definită după cum urmează:
if f.rest=vid then
f.sfârşit:=true
else
f.primul:=<pointer pe primul(f.rest)>;
f.rest:=f.rest-primul(f.rest)
endif
Prin noţiunea sistem de operare înţelegem modulele program ale unui sistem de calcul, care administrează
resursele tehnice (procesoare, memoria operativă şi secundară, dispozitive de intrare/ieşire, fişiere). Modulele în
cauză soluţionează situaţiile de conflict, optimizează productivitatea sistemului, sporesc eficienţa utilizării lui.
Ele sunt un fel de intermediar (interfaţă) între programele utilizatorului şi componentele tehnice ale
calculatorului. Alte denumiri istorice: program de administrare, monitor, supervizor.
2. Care este scopul principal al unui sistem de operare d.p.d.v. al utilizării resurselor?
Resursele fizice ale sistemelor de calcul contemporane posedă caracteristici tehnice extraordinare şi pot fi
utilizate în cele mai diverse scopuri. Însă aceste resurse fără componentele logice de sistem (software de sistem)
întâmpină dificultăţi majore în relaţiile cu mediul în care trebuie să funcţioneze. Acesta este motivul principal
al creării sistemelor de operare, destinaţia cărora este administrarea (gestiunea, controlul) resurselor tehnice
principale şi asigurarea unei interfeţe comode (plăcute, prieteneşti) între utilizator şi calculator.
3. Care sunt funcţiile cele mai simple ale celor 5 nivele ale unei maşini ierarhice?
4. Care sunt restricţiile introduse de funcţionarea unui sistem de comandă a unui proces tehnologic?
Procesul de producere este comandat de un calculator .
Măsurările sunt făcute periodic; fie
T valoarea intervalului de timp dintre două măsurări consecutive, iar
t - timpul total de prelucrare a datelor de către calculator.
Sistemul va funcţiona doar în cazul respectării relaţiei de restricţionare t T.
Securitatea sistemului are prioritate maximă. Depăşirea unor valori critice trebuie să fie detectată în orice
moment şi tratarea acestor accidente va întrerupe toate operaţiile în curs de execuţie
Existenţa unor restricţii stricte a duratei de prelucrare a informaţiilor, noţiunea de tratare prioritară, conectarea
la nişte dispozitive exterioare de măsurare şi acţionare, sunt caracteristice aplicaţiilor informatice "în timp real".
Pot fi menţionate şi alte domenii cu comandă în timp real: centralele telefonice, comanda aparatelor de zbor,
robotica, monitoringul medical, etc.
În cazul acestor sisteme caracteristica principală este fiabilitatea, or rezultatele unei funcţionări neadecvate pot
fi catastrofale. Sistemul trebuie să garanteze un serviciu minim în cazul unor căderi în pană a dispozitivelor
tehnice, unor evenimente accidentale sau erori umane.
Contextul activităţii este compus din contextul procesorului (registrele programabile şi interne) şi contextul
memoriei (segmentul procedurii şi segmentul datelor).
Nivel de observare - o suită de acţiuni ale unui proces ca o acţiune unică, adică observarea derularii unui
proces considerând o unitate de execuţie mai puţin fină decât instrucţiunea. De exemplu, dacă vom redefini
noţiunea de acţiune elementară ca execuţie a unei proceduri, traiectoria procesului va conţine doar stările
definite de fiecare apel şi retur de procedură. Nivelul de observare cel mai fin (cel al instrucţiunilor) este numit
nivel de bază.
Din punctul de vedere al unui sistem de operare, un procesor este acea unitate care asigură procesarea instrucțiunilor și datelor
acestuia(so). Procesorul încorporează unitatea de comandă (Control Unit, CU) şi unitatea logico-aritmetică (Arithmetic Logical
Unit, ALU). Unitatea de comandă controlează funcţionarea unităţii logico-aritmetice.
Se consideră că informaţia, care circulă într-un sistem de calcul constă din obiecte; obiectele sunt entităţile asupra cărora sunt
efectuate anumite operaţii. Toate operaţiile pot fi clasificate în patru categorii, numite funcțiile componentei de gestionare a
informației:
de creare,
de modificare,
de căutare,
de distrugere a obiectelor.
Memoria
Imprimanta
secundară
Procesorul
Utilizatorul unui atare sistem va cere minimum următoarele două tipuri de servicii:
Memoria
identificarea şiprincipală
crearea unor fişiereDisplay
sau mulţimi structurate
Tastatura de informaţii;Mouse
stocarea acestor fişiere în memoria secundară;
transferarea informaţiilor între fişiere şi dispozitivele de intrare/ieşire;
executarea unor programe existente în PC sau introduse sub formă de fişiere; introducerea datelor necesare pentru executarea
programului (de la tastatură, din fişier sau de la alte surse); listarea rezultatelor la display, imprimantă sau copierea lor într-un
fişier.
Sistemul de operare va acorda aceste servicii prin intermediul unui limbaj special, numit limbaj de comandă sau utilizând mouse-ul
şi o interfaţă grafică a utilizatorului (GUI - graphical user interface)
4. Care sunt funcţiile principale ale unui sistem de operare în cazul unor procese tehnologice?
Funcţiile principale ale sistemului de operare în cazul unor procese tehnologice sunt:
acţionarea organelor externe (citirea semnalelor captoarelor, comanda robinetelor);
evidenţa timpului real (declanşarea periodică a ciclului de calculare a semnalelor de comandă);
reacţia la evenimentele exterioare (oprire de urgenţă);
gestiunea informaţiilor (păstrarea şi întreţinerea fişierului jurnalului de bord).
Activitate- fenomenul care rezultă din execuţia neîntreruptă a unei proceduri unice.
Context al unei activităţi- mulţimea informaţiilor accesibile procesorului în cursul acestei activităţi.
Trecerea de la o activitate la alta este realizată de instrucţiuni speciale: apelarea şi returul din procedură, care realizează comutarea
contextului.
Exemplul : O procedură p (apelantă) provoacă execuţia unei proceduri q (apelate) cu ajutorul unei secvenţe de apel care conţine
următoarele etape:
Pregătirea parametrilor, transmişi de către procedura p procedurii q,
Salvarea parţială a contextului lui p, necesar la retur,
Înlocuirea contextului procedurii p prin contextul lui q.
La revenire din procedura q avem o schemă practic simetrică, doar contextul lui q fiind pierdut:
Pregătirea rezultatelor, transmise de către procedura q procedurii p,
Restabilirea contextului procedurii p, salvat înainte de apel.◄
6. Care sunt cele două scheme de comutare a contextului?
p q p q p q
(2)
p q
(3)
Componentele principale ale unui calculator sunt: procesorul, memoria, unităţile de stocare pe termen lung, dispozitivele de intrare-
ieşire (tastatura, display-ul, mouse-ul etc.).
Procesorul(CPU) încorporează unitatea de comandă (CU) şi unitatea logico-aritmetică (ALU).
Memoria este o zonă de lucru de mare viteză, unde CPU stochează datele şi programele pentru a le consulta în mod rapid.Distingem
memoria centrală (operativă) şi memoria secundară (externă, de lungă durată). Memoria operativă este electronică sub formă de cipuri,
de obicei cu acces aleator (RAM – Random Access Memory) şi trebuie să fie alimentată cu tensiune pentru a păstra datele.
Procesorul şi memoria operativă formează nucleul calculatorului, toate celelalte dispozitive fiind cunoscute sub denumirea de
periferie (dispozitive periferice).
2. Definiţi (grafic) şi comentaţi modelul stărilor elementare ale unui proces.
Proces- suită temporală de execuţii de instrucţiuni. Evoluţia în timp a unui proces presupune un consum de resurse.
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:
ales – procesului i s-a alocat un procesor, este în curs de execuţie;
blocat – procesul aşteaptă să se producă un anumit eveniment, a cărui apariţie este indispensabilă;
eligibil – procesul are la dispoziţie toate resursele necesare lipsă fiind doar procesorul.
3.???? Când facem cunoştinţă cu un calculator nou care vor fi întrebările la care se caută răspuns d.p.d.v. al utilizatorului
simplu?
Ce sistem de operare rulează/acceptă acest calculator?
Care sunt capacitățile, ce poate oferi sistemul de operare?
Ce aplicatii pot fi instalate pe acest calculator?
4. Care sunt caracteristicile principale ale sistemelor tranzacţionale?
Caracteristicile principale ale sistemelor cu tranzacţii sau tranzacţionale sunt următoarele:
sistemul gestionează un set de informaţii sau baze de date, care pot atinge volume importante;
asupra acestor informaţii pot fi executate un anumit număr de operaţii predefinite, sau tranzacţii;
sistemul este dotat cu un mare număr de puncte de acces şi un mare număr de tranzacţii se pot derula simultan.
Ca exemplu pot fi menţionate sistemele de rezervare a biletelor de tren sau avion, de gestionare a conturilor bancare, de arhivare şi
consultare a documentelor.
Restricţiile sunt în primul rând legate de integritatea şi coerenţa internă a informaţiilor, care formează bazele de date. Calităţile
obligatorii ale unui sistem tranzacţional sunt disponibilitatea şi fiabilitatea;
Această figură sugerează existenţa “veşnică” a proceselor. Pentru modelarea procesului real au fost adăugate
trei stări suplimentare:
prezentare – utilizatorul prezintă sistemului sarcina, sistemul trebuie să reacţioneze la cererea
utilizatorului,
păstrare – sarcina este reprezentată în formă internă, dar resursele nu sunt încă alocate,
terminare – calculele corespunzătoare procesului au luat sfârşit, toate resursele alocate procesului pot
fi eliberate şi întoarse sistemului.
3. ?????Când facem cunoştinţă cu un calculator nou care vor fi întrebările suplimentare la care se
caută răspuns d.p.d.v. al unui profesionist?
Care este capacitatea memoriei operative? (RAM)
Care sunt capacitățile procesorului?(viteza de procesare, mărimea registrelor interne)
Care este numărul de nuclee?
Care este capacitatea memoriei secundare?.......
4. Care sunt calităţile obligatorii ale unui sistem de operare a unui sistem tranzacţional?
Calităţile obligatorii ale unui sistem de operare a unui sistem tranzacţional sunt disponibilitatea şi
fiabilitatea, adică proprietatea sistemului de a cădea foarte rar în pană şi de a evita goluri în funcţionare din
cauza defectării uneia sau mai multor componente ale sale. Pentru unele sisteme poate fi importantă şi toleranţa
la defecţiuni.
Prin lucrare (sarcină, task) vom înţelege un set de acţiuni, necesare pentru îndeplinirea unui lucru anume. Sarcina poate conţine
mai mulţi paşi. Paşi de task sunt unităţi de lucru, care vor fi îndeplinite consecutiv, de exemplu trei paşi – compilare, încărcare şi
executare. Primind un task de la utilizator, sistemul de operare poate crea câteva procese.
2. Ce este o “maşină extinsă” (reprezentaţi grafic şi comentaţi)?
3.
Componentele hardware ale unui calculator sunt de fapt limitate în operațiile disponibile. Există operații, care impun executarea a sute
sau chiar mii de operații standard disponibile componentelor hard. Din această cauză SO conțin instrucțiuni pentru a extinde operațiile
executate de către elementele unui calculator.
Setul de instrucțiuni realizat în mod standard de către un calculator și cele suportate de către sistemul de operare introduc termenul de
mașină extinsă. Nucleul SO este executat direct pe componentele hardware, adică pe mașina goală, iar aplicațiile utilizatorului – pe
mașina extinsă.
Exploatarea unui calculator conform principiului timpului partajat oferă utilizatorilor posibilităţi analogice unui calculator individual,
permiţând beneficiul unor servicii comune la un preţ redus.
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;
de servicii legate de existenţa unei comunităţi de utilizatori: partajarea informaţiilor, comunicaţii între utilizatori.
6. Care este structura de date, utilizată în cazul procedurilor? Ce este mediul procedurii?
Structura de date utilizată în cazul procedurii este o stivă de execuţie. Presupunem respectarea următoarelor ipoteze:
Parametrii unei proceduri sunt transmişi prin valori; la retur un singur rezultat este returnat,
Procedurile pot fi apelate recursiv (direct sau indirect).
La fiecare apelare a procedurii o structură de date numită regiune a mediului (sau simplu mediul procedurii) este creată în vârful
stivei de execuţie, care va dispare la returul respectiv. O procedură apelată recursiv are în stivă atâtea medii câte execuţii neterminate
există pentru această procedură.
Mediul conţine următoarele informaţii:
a) informaţii de salvare şi legăturile de retur
un pointer la baza contextului procedurii apelante
adresa returului
un amplasament pentru rezultat
b) parametri
n+1 amplasamente, primul conţinând numărul de parametri, iar următoarele - valorile acestora
variabilele locale şi spaţiul de lucru al procedurii.
Aceste informaţii, cu excepţia spaţiului de lucru, sunt păstrate în amplasamente pentru care deplasarea în raport cu originea
mediului este cunoscută şi fixă, fiind posibilă adresarea relativă a lor (faţă de baza mediului). Spaţiul de lucru este adresat din vârful
stivei.
Pentru unele nivele de întrerupere efectul sosirii semnalului de întrerupere poate fi suprimat (nu doar întârziat). Totul se va
petrece în acest caz ca şi cum însăşi cauza întreruperii a fost suprimată: nivelul întreruperii este dezarmat. Un nivel dezarmat poate fi
rearmat, adică repus în serviciu.
Atunci când toate condiţiile necesare pentru ca o întrerupere să fie luată în consideraţie sunt prezente, nivelul se numeşte activ.
Această stare corespunde executării programului de tratare a întreruperii.
Componentele hardware ale unui calculator sunt de fapt limitate în operațiile disponibile. Există operații, care impun
executarea a sute sau chiar mii de operații standard disponibile componentelor hard. Din această cauză SO conțin
instrucțiuni pentru a extinde operațiile executate de către elementele unui calculator.
Setul de instrucțiuni realizat în mod standard de către un calculator și cele suportate de către sistemul de operare introduc
termenul de mașină extinsă. Nucleul SO este executat direct pe componentele hardware, adică pe mașina goală, iar
aplicațiile utilizatorului – pe mașina extinsă.
3. Ce este un PSW?
Starea procesorului este determinată de conținutul registrelor acestuia. Registrele pot fi:
adresabile, numite registre generale, manipulate de programe,
registre speciale - cuvânt de stare program (program status word, PSW).
PSW este un registru de control al sistemelor IBM 360 și a succesorilor acesteia, care îndeplinește rolul unui registru de
stare și a counter-ului de program în alte arhitecturi. Deși unele cîmăuri ale PSW pot fi modificate, utilizînd instrucțiuni,
care nu necesită privilegii, majoritatea pot fi schimbate doar prin intermediul instrucțiunilor privilegiate.
PSW, fiind un registru de 64 biți descrie:
Masca întreruperilor
Stările de privilegii
Condiția codului
Adresa intrucțiunii
6. Ce este o deviere?
O deviere - semnalizează o anomalie în derularea unei instrucţiuni, care interzice executarea instrucţiunii. Originile pot fi diverse:
date incorecte ce duc la imposibilitatatea executiei corecte a instructiunii(de ex.impartirea la 0)
incercarea executarii unei operatii interzise de mecanismul de protectie cum ar fi violarea protectiei memoriei;
instructiune neexecutabila cum ar fi de exemplu un cod neautorizat de operatie.
Devierile mai pot fi clasificate si conform cauzelor care le genereaza , insa asupra unei devieri nu putem aplica notiunea de
masca, o deviere poate fi suprimata nu si retardata.
Condiţiile de depăşire (n numărul de mesaje din tampon, care nu au fost încă preluate):
aut(depozitare) : n < N -- tamponul nu este plin
aut(preluare) : n > 0 -- tamponul nu este vid
2. Care sunt cele două moduri de utilizare a conceptului de m. Ex. în cazul sistemelor de operare?
Modulele sistemului, plasate în cadrul maşinii extinse, spre deosebire de modulele care aparţin straturilor proceselor,
formează nucleul sistemului de operare. Conceptu de maşină ierarhică este pe larg utilizat în proiectarea programelor mari
utilizând metodele, cunoscute sub denumirea programare modulară sau programare structurală. Nu există reguli stricte în
privinţa numărului de nivele, amplasării modulelor pe nivele, componenţa nucleului. De obicei, nucleul conţine doar cele
mai necesare şi evidente funcţii, celelalte, atunci când este posibil, vor fi prezente ca procese de sistem separate.
3. Care este secvenţa tipică de activităţi în cazul elaborării unui program pe un PC?
elaborarea unui program;
• introducerea programului cu ajutorul tastaturii şi a unui editor de texte;
• execuţia programului introducându-se datele necesare de la tastatură şi extrăgând rezultatele la display sau imprimantă;
• modificarea programului, dacă rezultatele nu sunt satisfăcătoare şi repetarea execuţiei;
• perfectarea versiunii finale a programului, inclusiv documentarea la necesitate a acestuia;
• exploatarea unui program;
• cererea de execuţie a unui program deja existent.
• afişarea rezultatelor pe ecran, listarea la imprimantă sau copierea lor într-un fişier pentru o utilizare ulterioară.
3. Care este secvenţa tipică de activităţi în cazul exploatării unui program pe un PC?
Exemple de secvenţe tipice de activităţi în cazul unui PC:
• elaborarea unui program;
• introducerea programului cu ajutorul tastaturii şi a unui editor de texte;
• execuţia programului introducându-se datele necesare de la tastatură şi extrăgând rezultatele la display sau imprimantă;
• modificarea programului, dacă rezultatele nu sunt satisfăcătoare şi repetarea execuţiei;
• perfectarea versiunii finale a programului, inclusiv documentarea la necesitate a acestuia;
• exploatarea unui program;
• cererea de execuţie a unui program deja existent.
• afişarea rezultatelor pe ecran, listarea la imprimantă sau copierea lor într-un fişier pentru o utilizare ulterioară.
8. Care este necesitatea introducerii stării blocat şi tranziţiile datorate acestei stări?
Starea „blocat” a procesului face ca acesta să aştepte să se producă un anumit eveniment, a cărui apariţie este indispensabilă.