Sunteți pe pagina 1din 9

1. Cuprinsul cursului a. Obiectivele unitii de nvare 2 i. Vei fi familiarizat cu principalele tehnici de exploatare a sistemelor de calcul b. Coninutul cursului i.

Elemente introductive Una dintre funciile majore ale unui sistem de operare este aceea de a optimiza utilizarea tuturor resurselor unui sistem de calcul: timp unitate central, spaiu de memorie intern, canale de comunicaie, registre, dispozitive periferice de intrare/ieire, biblioteci, rezultate ale prelucrrii. Cu o planificare foarte riguroas este posibil apropierea de ncrcarea maxim a unitii centrale i a procesoarelor de intrare/ieire (canale). Chiar i n acest caz ns, sunt meninute neocupate alte resurse ale sistemului de calcul: memoria intern, memoria extern, dispozitivele periferice de intrare/ieire. La stabilirea unei strategii de planificare a lucrrilor trebuie cunoscute foarte precis obiectivele - uneori subiective i contradictorii de realizare simultan a urmtoarelor activiti: 1. Execuia unui volum ct mai mare de lucrri n unitatea de timp dac se ruleaz lucrri cu timp de execuie redus; 2. Reducerea timpilor de ateptare ai unitii centrale dac se efectueaz lucrri cu volum mare de calcule i numr mic de operaii de intrare/ieire; 3. ncrcarea dispozitivelor periferice la capacitatea maxim cnd se ruleaz lucrri cu volum mare de operaii de intrare/ieire i volum redus de calcule. ii. Monoprogramarea Monoprogramarea este o tehnic de exploatare care presupune execuia secvenial a lucrrilor pe un sistem de calcul. Caracteristici: 1. Planificarea lucrrilor se realizeaz strict secvenial ntr-o ordine prestabilit. 2. Fiecare lucrare are la dispoziie toate resursele sistemului de calcul n momentul execuiei. 3. Fiecrei lucrri i se asociaz un singur proces la un moment dat, deci n timpul execuiei operaiilor de intrare/ieire unitatea central ateapt terminarea acestor operaii, ceea ce conduce la scderea randamentului acesteia. Obiectivul urmrit n cadrul monoprogramrii const n reducerea timpului mediu petrecut de fiecare lucrare n sistem. Execuia lucrrilor n monoprogramare Un program solicit pe parcursul execuiei operaii de intrare/ieire supravegheate de ctre un procesor de comunicaie care transfer coninutul dintre memoria intern i dispozitivele periferice i viceversa. Dac unitatea central ntlnete o instruciune de transfer, atunci iniiaz execuia unui proces de intrare/ieire, continund activitatea de prelucrare

fr a interfera cu activitatea canalului, pn cnd i sunt necesare datele solicitate. Procesele de intrare/ieire fiind mai lente, unitatea central va atepta transferul datelor solicitate n vederea prelucrrii lor. Terminarea transferului va fi anunat de ctre canal printr-o ntrerupere. Sincronizarea activitilor dintre unitatea central i canal se face conform diagramei din figura 1. Iniiere operaie I/E U/C

t Canal t1 t2 t3 t4 t

Figura 1. Diagrama activitilor din UC i canalul de comunicaie Explicaii: 1. t1 este momentul iniierii de ctre UC a unei operaii de I/E; 2. t2 momentul n care UC are nevoie de datele solicitate de la dispozitivul periferic; 3. t3 se reia programul cu datele solicitate; 4. t4 momentul ncheierii execuiei programului. Pentru aprecierea eficienei utilizrii acestor procesoare (UC, canal) se calculeaz randamentul de utilizare.

uc =

canal

t4 ( t3 t2 ) 100% t4 t [t +( t t ) ] = 4 1 4 3 100% t4

Prezena canalului amelioreaz productivitatea sistemelor datorit simultaneitii activitii acestuia cu activitatea UC (parial sau total), dar exist intervale de timp impuse de necesitatea sincronizrii activitilor n care UC este n starea de ateptare. iii. Multiprogramarea Timpul de inactivitate al UC impus de perioadele de ateptare poate fi redus substanial dac n memoria intern pot coexista simultan mai multe programe care pot solicita UC-ul atunci cnd acesta ateapt terminarea unei operaii de intrare/ieire pentru lucrarea curent n execuie. Multiprogramarea este o tehnic de exploatare prin care sunt plasate mai multe lucrri simultan n memoria intern iar UC-ul comut ntre ele.

Caracteristici: 1. Existena simultan a mai multor lucrri n memoria intern; 2. Existena unui mecanism de trecere de la un program la altul astfel ca randamentul sistemului s fie ridicat; 3. Existena unui mecanism de protecie ntre lucrri care s permit execuia unei lucrri, fr afectarea celorlalte lucrri existente n memoria intern. 4. Existena unui mecanism pentru gestiunea resurselor fizice i logice solicitate de ctre lucrrile n execuie. Planificarea execuiei lucrrilor Sistemele de calcul care utilizeaz tehnica multiprogramrii sunt prevzute cu o component a sistemului de operare numit monitor de planificare a lucrrilor care alege dintr-un grup de programare n ordinea sosirilor, pe acela potrivit cruia timpul neocupat al UC-ului s fie minim. Procesul de planificare dispune de dou funcii distincte: 1. Asigurarea prioritii; 2. Alocarea resurselor care utilizeaz prioritatea. Algoritmii de planificare presupun c lucrrile sunt ordonate pe baz de prioritate, sub forma firelor de ateptare. Alegerea unui anumit algoritm se va face dup obiectivele urmrite. Exemple de algoritmi: - STF (Shortest processing - lucrarea cu cel mai scurt timp de prelucrare Time First) este prima executat se urmrete minimizarea timpului de trecere prin sistem. - LTF (Longest processing - lucrarea cu cel mai lung timp de prelucrare Time First) este prima executat se urmrete reducerea timpului total -SMF (Smallest Memory - lucrarea ce necesit cel mai mic spaiu de requirment First) memorie este prima executat - LMF (Lorgest Memory - lucrarea ce necesit cel mai mare spaiu de requirment First) memorie este prima executat - FIFO (First Imput First - lucrrile sunt executate n ordinea introducerii Output) lor n sistemul de calcul - LIFO (Last Input First - lucrrile sunt executate n ordinea invers Output) introducerii lor - Round - Robin - planificare circular, fiecare lucrare avnd alocat o cuant de timp dup care controlul este comutat la urmtoarea lucrare Sincronizarea activitii UC cu activitatea canalului Sincronizarea activitii UC este redat n diagrama din figura 2, presupunnd 3 programe la un moment dat ncrcate n memoria intern (P1, P2, P3) ce sunt executate conform algoritmului Round-Robin.

iniiere op. I/E P1 UC P1

t
UC P2 iniiere op. I/E P2

t
UC P3 iniiere op. I/E P3

t
canal
Operaie I/E P1 Operaie I/E P2 Operaie I/E P3

t1

t2 t3 t 4

t5

t6 t7 t8 t9 t10 t11 t12

t13

Figura 2. Diagrama activitilor din UC i canal Explicaii: 1. t1 momentul iniierii unei operaii I/E de ctre UC pentru P1. 2. t2 momentul cnd P1 are nevoie de transferul datelor solicitate (date ce nu s-au terminat nc de transferat). Se comut la execuia programului urmtor P2. 3. t3 terminare operaie I/E pentru P1 (UC ns ocupat cu P2). 4. t4 iniierea operaiei I/E pentru P2. 5. t5 momentul cnd P2 necesit datele solicitate; nefiind furnizate UC-ului comut la P3. 6. t6 iniierea unei operaii I/E de ctre P3; canalul fiind ocupat, trece operaia n stare de ateptare. 7. t7 se termin operaia I/E iniiat de P 2 i poate fi lansat operaia I/E iniiat de P3 (t8) 8. t9- momentul cnd UC devine liber de la P 3 i avnd datele solicitate de P1 nc de la t3 reia execuia P1. 9. t10 se ncheie execuia P1 i UC comut la P2. 10. t11 se ncheie execuia P2 i UC ateapt deoarece nu s-a ncheiat operaia de I/E iniiat de P3. 11. t12 se ncheie operaia I/E iniiat de P3 i se red controlul lui P3 12. t13 sfritul de execuie P1, P2, P3.

uc =

t13 ( t12 t11 ) 100% t13

canal =

t13 [ t1 + ( t 4 t 3 ) + ( t 8 t 7 ) + ( t13 t12 ) ] 100% t13

iv. Tehnica spooling (Simultaneous Peripherial Operations On-Line) Activitatea de suprapunere a operaiilor de intrare, prelucrare i ieire prin intermediul tehnicii spooling, are ca principal obiectiv mbuntirea randamentului sistemului de calcul i lrgirea gamei de faciliti oferite utilizatorilor. Caracteristici: 1. Se bazeaz pe o memorie auxiliar de capacitate mare cu acces direct (de regul discul magnetic) care, asociat cu tehnica multiprogramrii, permite manipularea unor succesiuni continue de operaii de intrare/ieire i alte prelucrri ameliornd diferena dintre timpul de execuie al operaiei de I/E i timpul de execuie UC. P1
Memoria auxiliar Buffer pt. I P1 Buffer/E P9 P10 LPT
2

LPT
1

P11

CON1 CON2

... P3 P1 ... P4

P12

Canal

P2
Memoria intern Canal P5 P6 UC P7 P8 Canal

Figura 3. Organizarea unui sistem spooling Explicaii


P1, P2 se introduc de la terminale; P3, P4 ateapt ncrcarea din memoria extern; P5, P6, P7, P8 sunt active n memoria intern; P9, P10 sunt executate i ateapt tiprirea; P11, P12 se tipresc.

2. Se asigur o ncrcare la ntreaga capacitate a dispozitivelor periferice de intrare/ieire. 3. Esenialul acestei tehnici de exploatare const n organizarea de zone tampon de memorie pentru realizarea de dispozitive periferice virtuale ce permit: a. Introducerea de lucrri nainte ca acestea s fie executate; b. Redarea rezultatelor la imprimant n timpul execuiei altor lucrri; c. Planificarea execuiei lucrrilor n ordinea prioritilor fr a ine seama de disciplina de sosire; d. Schimbarea prioritii ordinii de execuie a lucrrilor. v. Tehnica cu divizarea timpului (Time-sharing) Tehnica de exploatare time-sharing este caracterizat de utilizarea concurent a resurselor unui sistem de calcul de ctre n utilizatori prin intermediul terminalelor plasate local sau la distan. Elementele globale care definesc aceste sisteme sunt: 1. Tehnica divizrii timpului; 2. Multiplicarea resurselor ntre mai muli utilizatori independeni. Caracteristici generale: 1. Protecia memoriei prin care programele utilizatorilor trebuie s fie protejate ntre ele pentru a nu permite accesul neautorizat, fiecare program fiind limitat la spaiul su de memorie. 2. Independena utilizatorilor prin care se stabilete o cuant de timp pentru fiecare utilizator, dac programul nu s-a terminat n acest timp, este returnat n memoria extern i plasat la sfritul firului de ateptare, ncrcndu-se alt program din memoria extern n memoria intern. Caracteristici hardware: 1. Memoria intern de capacitate mare i UC rapid permit asigurarea unui timp minim de rspuns. 2. Ceas de timp real care genereaz ntreruperi pentru comutarea UC-ului de la un program la altul. 3. Memorie extern cu acces direct, ceea ce implic transferul ntre memoria extern i periferice s fie independent de UC. 4. Sistem de comunicaie pentru transferul informaiilor ntre UC i perifericele de I/E, linii de comunicaie modem-uri, concentratoare i multiplexoare. 5. Terminale i UC-uri adecvate. Caracteristici software: 1. Alocarea i comutarea UC dup un timp bazat pe un algoritm de planificare a execuiei. 2. Stabilirea locului n firul de ateptare a fiecrui program n funcie de prioritate. 3. Alocarea spaiului de memorie, zona din memorie i adresa unde se ncarc programul. 4. Tratarea ntreruperilor prin analizarea motivului ntreruperii i determinarea aciunii ce se va ntreprinde n continuare.

5. Gestiunea coleciilor de date prin care se determin adresele unde sunt acestea memorate, regsirea lor rapid, parola de protecie. vi. Multiprelucrarea Un sistem de calcul este exploatat n multiprelucrare, dac cel puin dou UC-uri lucreaz n paralel. n cadrul sistemelor exploatate n multiprelucrare, unitile centrale pot executa instruciunile unui singur program sau pot executa instruciuni din programe diferite. 1. Sisteme master/slave Unul din obiectivele multiprelucrrii este acela de a degreva o unitate central de prelucrare de taskuri specifice ca: tabelri de date, meninere a coleciilor de date, editare de texte etc. Pentru a realiza acest deziderat pot fi cuplate dou uniti centrale din care una s fie destinat coordonrii activitilor din sistem (master).

UC - master Date comunicaii control Memorie extern

Alte dispozitive periferice I/E UC - slave Prelucrri complexe

Figura 4. Sistem master/slave Master-ul coordoneaz toate operaiunile de I/E n timp ce slave-ul execut operaiuni complexe; n acest caz master-ul este referit ca front-end processor avnd rolul de interfa ntre slave i dispozitivele periferice. Tot master-ul se poate utiliza i ca interfa ntre slave i colecii voluminoase de date existente n memoria extern situaie n care este referit ca back-end processor fiind responsabil de meninerea bazei de date. 2. Clase de sisteme Funcie de gradul de planificare al lucrrilor i a sistemului de comunicaie, se disting urmtoarele clase de sisteme. a. Sisteme cu uniti centrale de prelucrare identice care sunt determinate de modul n care UC-ul partajeaz memoria. Legturile dintre memoria intern i UC se pot realiza n urmtoarele variante: 1. Legtur matricial (cross bar) prin intermediul unui sistem de comunicaie, prin care cererile neservite sunt plasate ntr-un fir de ateptare gestionat prin hardware sau software

2. Legtur prin canale multiple cnd procesoarele utilizeaz o cale unic pentru fiecare modul de memorie 3. Legtur printr-un singur canal folosit partajat, acesta constituind interfaa dintre toate UC-urile i memoria intern. memorie unic; UC1 : : UC2 Memoria intern

memorie proprie Mint1 UC1 UC2 Mint2

b. Sisteme cu UC diferite care presupun existena unui numr de UC-uri periferice care lucreaz n paralel cu UC principal, acestea putnd fi organizate sub form de: 1. Arie de procesare, care implic divizarea unui program n activiti independente care se pot executa simultan pe UC-urile existente n configuraie. 2. Conduct (pipe) permite operarea direct asupra unui ir de vectori. 3. Puternic conectate sunt caracterizate de o cretere a volumului de lucrri executate, datorit controlului direct exercitat de ctre unitile centrale de prelucrare asupra resurselor. 4. Slab conectate care pot partaja: sistemul de comunicaii volumele de memorie cu acces direct, programele de servicii. prin care componenta software dintr-un sistem comunic cu componenta software din alt sistem, pentru cereri de partajare a resurselor, n acest caz nu exist un control asupra resurselor unui procesor, exercitat de ctre alt procesor. mai multe UC-uri partajeaz o memorie UC1 Memoria intern UC2 : : UC4

memorie proprie i UC-uri cu roluri diferite Mint1 UC slave UC master Mint2

Oportunitatea multiprelucrrii Oportunitatea multiprelucrrii const n: 1. ncrcarea partajat a programelor pentru execuie, fiecare procesor avnd acces la firul de ateptare alctuit din lucrrile ce se execut. 2. Separarea diverselor funcii ale sistemului, existnd cte un program responsabil pentru fiecare funcie. a. Duplexarea sistemelor cnd una sau mai multe componente hardware sunt dublate, o component fiind n activitate iar cealalt va fi activat la apariia unui defect al primei componente; pe durata funcionrii corecte a procesorului principal, procesorul secundar poate fi folosit pentru diverse alte operaii. b. Sisteme duale sunt sistemele n care dou procesoare centrale prelucreaz simultan acelai program de aplicaie, periodic verificndu-se reciproc privind validitatea rezultatelor. c. Test de autoevaluare i. Cum se realizeaz execuia lucrrilor n monoprogramare? ii. Prezentai diferenele dintre tehnica de exploatare monoprogramare i multiprogramare. iii. Descriei tehnica de exploatare spooling. iv. Prezentai clasele de sisteme studiate. v. Precizai diferena dintre duplexarea sistemelor i sistemele duale. 2. Bibliografia unitii de nvare 2 A.Vasilescu, R. Zota, Sisteme de operare, Editura ASE Bucureti, 2006 A.Vasilescu, Administrarea Sistemelor Unix, Editura Economica, 2008 A.Vasilescu, R. Zota, C. Timofte, Sisteme de operare UNIX i Windows, Editura ASE, Bucureti, 2006 Gh. Dodescu, A. Vasilescu, B. Oancea, Sisteme de operare UNIX i Windows, Editura ASE Bucureti, 2003 Gh. Dodescu, A. Vasilescu, Sisteme de operare UNIX i Windows, Curs ID, Editura ASE, Bucureti, 2002. Gh. Dodescu, A. Vasilescu, Sisteme de operare UNIX i Windows, Editura ASE Bucureti, 2001 A.S. Tanenbaum, Modern Operating System, Amsterdam-2nd ed., 2001. Gh. Dodescu, A. Vasilescu, Sistemul de operare MS-DOS i UNIX , Casa de Editur i pres Viaa Romneasc, Bucureti, 1994

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