Sunteți pe pagina 1din 21

1)Sitemele de operare Un sistem de operare const dintr-o colecie integrat de programe de sistem, ce ofer utilizatorului posibilitatea folosirii eficiente

a sistemului de calcul, concurnd la dezvoltarea programelor de aplicaie. Majoritatea sistemelor de operare sunt organizate pe dou niveluri: 1) nivelul fizic care este mai apropiat de partea de hardware, 2) nivelul logic este mai apropiat de utilizator Funciile unui sistem de operare Pentru a ndeplini rolul de interfa ntre hardware i utilizatori, un sistem de operare trebuie s fie capabil a ndeplini urmtoarele funcii: 1) oferirea posibilitii de pregtire i lansare n execuie a programelor de aplicaie n acest scop, un sistem de operare trebuie s dispun de cel puin urmtoarele componente: - un editor de texte pentru a introduce i modifica un program surs (PS) scris ntrun limbaj de programare; - un translator pentru limbajul de programare folosit (asamblor, compilator sau interpretor), care s traduc instruciunile programului surs, ntr-o form recunoscut de sistemul de calcul (form binar) - program obiect sau module obiect (PO); - un editor de legturi care s realizeze legtura dintre diverse module obiect, sau s apeleze la module obiect din bibliotecile sistemului, 2) Monoprogramarea Monoprogramarea este o tehnic de gestiune a lucrrilor ce presupune execuia secvenial a lucrrilor solicitate a se prelucra pe un sistem de calcul. Caracteristicile acestei tehnici se concretizeaz n urmtoarele aspecte: - planificarea lucrrilor se realizeaz strict secvenial ntr-o ordine prestabilit; - fiecare lucrare are la dispoziie toate resursele sistemului de calcul n momentul execuiei; - fiecrei lucrri i se asociaz un singur proces la un moment dat, astfel c pe durata operaiilor de intrare/ieire (care dureaz mult comparativ cu durata de execuie a unitii centrale de prelucrare), unitatea central de prelucrare ateapt terminarea acestor operaii, conducnd la creterea duratei de execuie a lucrrilor.
1

Obiectivul urmrit n cadrul acestei tehnici l constituie reducerea timpului mediu petrecut de lucrare n sistem. 3) Multiprogramarea Multiprogramarea este o tehnic de gestiune a lucrrilor pe sistemele de calcul prin care sunt plasate mai multe lucrri simultan n memoria intern iar CPU comut ntre ele; din punct de vedere conceptual, multiprogramarea implic simultaneitatea a "n" procesoare pe un singur procesor sau existena a "n" procesoare virtuale n cadrul unui singur procesor. Caracteristicile de baz ale acestei tehnici const n: - existena simultan a mai multor lucrri n memoria intern; - existen unui mecanism de trecere de la un program la altul astfel ca randamentul sistemului s fie ridicat; - existena unui mecanism de protecie ntre lucrri care s permit execuia fiecreia, fr afectarea celorlalte lucrri existente n memoria intern; - existena unui mecanism pentru gestiunea resurselor fizice i logice solicitate de ctre lucrrile n execuie (echipamente periferice, informaii, etc.). Obiectivul urmrit n multiprogramare l constituie maximizarea volumului de lucrri care trec prin sistem i minimizarea timpului petrecut de o lucrare n sistem. STF Shortest proccessing Time First - lucrarea cu cel mai scurt timp de prelucrare este prima executat, urmrete minimizarea timpului de trecere prin sistem a lucrrilor ce dureaz puin; LTF Longest proccessing Time First - lucrarea cu cel mai lung timp de prelucrare este prima executat, urmrete reducerea timpului total de execuie a lucrrilor; SMF Smallest Memory requirment First - lucrarea ce necesit cel mai mic spaiu de memorie este prima executat; LMF Largest Memory requirment First - lucrarea ce necesit cel mai mare spaiu de memorie este prima executat; FIFO First Input First Output - lucrrile sunt executate n ordinea lansrii n execuie; LIFO Last Input First Output - lucrrile sunt executate n ordinea invers lansrii n execuie; Round-Robin sau planificarea circular, fiecare lucrare avnd alocat o cuant de timp (interval de 1-10 ms), dup care controlul este comutat la urmtoarea lucrare. 4) Tehnica Spooling

2.4. Sistemul spooling (Simultaneous Peripheral 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. Tehnica dispune de urmtoarele caracteristici: - disponibilitatea unei memorii externe de capacitate mare i cu acces direct (discuri magnetice), care asociat cu tehnica multiprogramrii permite manipularea unor succesiuni continue de operaii de intrare, ieire i alte prelucrri, ameliornd astfel diferena dintre timpul de execuie al operaiilor de intrare/ieire i timpul de execuie al operaiilor de ctre CPU; - asigurarea unei ncrcri la ntreaga capacitate a dispozitivelor periferice de intrare/ieire; - esenialul acestei tehnici const n organizarea de zone tampon de memorie (buffere) n care se creeaz dispozitive periferice de intrare/ieire virtuale ce permit: * introducerea de lucrri nainte ca acestea s fie executate; * redarea rezultatelor la imprimante n timpul execuiei altor lucrri; * planificarea execuiei lucrrilor n ordinea prioritilor fr a ine seama de disciplina de introducere a acestora n sistem; * schimbarea ordinii de execuie a lucrrilor prin prioriti asociate.

5) Sisteme TIME SHARING (Sisteme cu timp divizat) Tehnica de gestiune a lucrrilor time-sharing este caracterizat de utilizarea concurent a resurselor unui sistem de calcul de ctre "n" utilizatori prin intermediul staiilor de lucru (work stations) plasate local sau la distan; elementele globale ce definesc aceste sisteme sunt tehnica divizrii timpului i multiplexarea resurselor ntre mai muli utilizatori independeni; termenul de multiplexare semnific partajarea resurselor sistemului astfel nct se creeaz mai multe procese, fiecare utilizator avnd senzaia c sistemul i aparine integral (practic, se comut sau se multiplexeaz n timp, de la un utilizator la altul). n time-sharing CPU este partajat pe baz de cerere, planificarea execuiei urmrind obinerea unui timp de rspuns minim; lucrrile nu au prioriti prestabilite, astfel c acestea trebuie s fie executate ntr-o manier dinamic.
3

Trsturile eseniale ale acestei tehnici const n: - 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; - independena utilizatorilor, prin care se stabilete o cuant de timp pentru fiecare utilizator; dac programul nu s-a terminat n acest interval de timp, este returnat n memoria extern i plasat la sfritul firului de ateptare, ncrcndu-se alt program n memoria intern, .a.m.d. - alocarea resurselor pentru programele utilizatorilor este efectuat de monitorul rezident n memoria intern (monitor de time-sharing): spaiu de memorie intern, timp CPU, tratarea cererilor de ntrerupere de la terminale, etc.;
6) Multiprelucrarea

Se poate aprecia c multiprogramarea este un concept software, iar multiprelucrarea un concept hardware. Un sistem de calcul utilizeaz tehnica multiprelucrrii dac cel puin dou CPU lucreaz n paralel; unitile centrale de prelucrare pot executa instruciunile unui singur program sau pot executa instruciuni din programe diferite. Oportunitatea multiprelucrrii const n : - ncrcarea partajat a programelor pentru execuie, fiecare procesor avnd acces la firul de ateptare alctuit din lucrrile solicitate a se executa; - separarea diverselor funcii ale sistemului, existnd cte un program responsabil pentru fiecare funcie; - creterea fiabilitii sistemului, pentru care exist dou posibiliti: - duplexarea sistemelor, prin care una sau mai multe componente hardware sunt dublate, una 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 alte operaii; 7) Gestiunea resurselor unui sistem de calcul Componenta hardware a sistemelor de calcul necesit existena unui sistem de operare care s poat gestiona resursele hardware, concomitent cu asistarea utilizatorului pe timpul pregtirii i lansrii n execuie a lucrrilor sale. Programele de comand-control ale sistemului
4

de operare sunt constituite din programe care coordoneaz i controleaz resursele hardware (memoria, CPU, canalele, dispozitivele periferice) i informaiile (programe, date), ndeplinind astfel rolul sistemului de operare de a asigura utilizarea eficient a resurselor i de a rezolva conflictele aprute n competiia dintre utilizatori. Pentru gestionarea resurselor programele de comand-control ale sistemului de operare trebuie s realizeze urmtoarele activiti: - evidenierea fiecrei resurse; - adoptarea unei strategii pentru determinarea n orice moment crui proces s-i aloce resursa, ct din resurs, la ce moment de timp i cuanta de timp alocat; - s aloce resursele, iar la terminarea activitii s le dezaloce. 1) funcia de gestiune a memoriei 2) funcia de gestiune a procesorului 3) gestiunea dispozitivelor periferice 4) gestiunea informaiei 8) Gestiunea proceselor Utilizarea partajat a resurselor unui sistem de calcul este determinat de insuficiena la un moment dat a resurselor necesare execuiei simultane a proceselor create de utilizatori. Gestiunea procesoarelor are ca scop asigurarea procesoarelor la procesele create. Fiecrui program de aplicaie, sistemul de operare i asociaz o serie de procese. Procesul reprezint un program n execuie (program de serviciu, de aplicaie sau rutin a sistemului de operare). Procesorul reprezint componenta capabil s execute un program (CPU sau canal). Procesele concurente numite i procese paralele, presupun c la un moment dat, mai multe programe pot fi urmrite ntre punctul de ncepere i terminare a execuiei; n acest caz procesele interacioneaz n dou moduri: - indirect, prin concurarea la aceiai resurs a sistemului; - direct, prin utilizarea simultan a acelorai resurse. Mecanismele de sincronizare pentru coordonarea i comunicarea ntre procese includ urmtoarele posibiliti: 1) bii de atenie Prin aceast modalitate, orice resurs partajat de "n" procese va dispune de un bit de atenie "lock-bit" folosindu-se convenia: lock-bit = 0 - resursa este disponibil;
5

lock-bit = 1 - resursa este n folosin. nainte ca un proces s aib acces la un procesor, acesta va verifica starea lock-bitului: dac lock-bit = 0 atunci este permis acestui proces s aib acces la procesor, iar la terminarea execuiei va trece lock-bit-ul n starea iniial 0; dac pe parcursul execuiei un alt proces va solicita procesorul, acesta va gsi lock-bit-ul n starea 1, el fiind trecut n starea de ateptare pn cnd lock-bit-ul devine 0. 2) mecanisme de ateptare i semnalizare Inconvenientul sincronizrii proceselor prin lock-bit const n continuarea secvenei de testare a lock-bit-ului pentru comutarea din starea 1 n starea 0;

9) Gestiunea memoriei Gestiunea memoriei are rolul de a decide cum trebuie organizat informaia pe cele dou nivele i cnd trebuie transferat informaia ntre acestea; tehnicile de gestiune a lucrrilor (multiprogramare, multitasking, time-sharing,etc) implic existena unor metode eficiente pentru gestiunea memoriei: tehnici de alocare dinamic i memoria virtual Alocarea memoriei interne se poate realiza: - static cnd programul este ncrcat iniial n orice zon liber din memoria intern. n momentul solicitrii unei ntreruperi, acesta este transferat n memoria extern urmnd a fi reluat dup tratarea ntreruperii. - dinamic cnd adresele relative ale instruciunilor programului dup editarea de legturi, nu sunt translatate n adrese fizice n faza de ncrcare a programului n memoria intern, ci doar n momentul execuiei instruciunilor. 10) Memoria Virtuala Conceptul unui singur nivel de memorie- denumit memorie virtual- ofer utilizatorului iluzia c memoria intern are o capacitate foarte mare, partea de hardware realiznd automat transferul informaiei din memoria intern n memoria extern i invers. Unitatea de transfer ntre memoria intern i cea extern este pagina, aceasta reprezentnd o entitate a memoriei de dimensiune fix de 512, 1024, 2048 sau 4096 kbytes; procesul de deplasare al paginilor ntre memoria intern i memoria extern este referit ca transfer de pagini. O adres folosit de programator se numete adres virtual, iar adresa real unde este

memorat se numete adres fizic (dimensiunea spaiului de adrese virtuale este mult mai mare dect dimensiunea spaiului de adrese reale). 11) Moduri de organizare a memoriei virtuale Organizarea la nivel de adres Dac procesorul refer adresa virtual ai, aceasta se introduce n registrul de adrese virtuale RV, registrul REZIDENT este resetat (pus pe 0), iar registrul de ACCES setat (pus pe 1), iniializndu-se procesul de translatare: - dac se gsete cu ai o intrare n tabela ft, atunci coninutul gsit se introduce n registrul de adrese fizice al memoriei interne RM, avnd loc extragerea din memoria intern a informaiei 2) Organizarea la nivel de pagin Organizarea la nivel de pagin conduce la reducerea necesarului de informaie coninut n tabela ft deoarece spaiul de adrese este divizat n blocuri de dimensiune constant numite pagini. Dimensiunea paginii virtuale coincide cu dimensiunea paginii reale ceea ce implic netranslatarea adresei cuvntului de pagin. Dispozitivul de translatare construiete o tabel a paginilor organizat n memoria intern (MTP) cu informaii necesare procesului de translatare din adrese virtuale n adrese fizice.

Organizarea la nivel de segment Organizarea la nivel de segment mparte spaiul de memorie n blocuri de dimensiune variabil, numite segmente (pot fi module de program sau anumite structuri de date). Adresa virtual referit de procesor const din numele segmentului S i numele cuvntului din segment C; adresa de memorie unde ncepe segmentul S reprezint adresa de baz R, iar prin D se specific dimensiunea segmentului. Organizarea la nivel de segment-pagin Organizarea la nivel de segment-pagin divide adresele virtuale i adresele fizice n segmente, iar segmentele n pagini, n vederea fructificrii avantajelor celor dou metode de organizare: - paginarea, care ofer implementarea simpl i cel mai sigur mijloc de protecie a informaiei; - segmentarea, care satisface ntr-o mai mare msur cerinele programatorului prin divizarea n segmente, deci innd seama de logica programului

12) Structura Sistemului Unix O structur standard a unui sistem de fiiere UNIX conine urmtorii directori avnd n componen: /ROOT / dev fiiere speciale pentru dispozitivele periferice: consola sistem, terminale, discuri, imprimant, etc.; / bin utilitare n form executabil: compilatoare, asambloare, instrumente pentru dezvoltarea programelor; / lib biblioteci pentru limbaje de programare i utilitare; / etc programe pentru administrarea sistemului: fiiere cu parole, comenzi de iniializare; / tmp spaiu temporar de manevr folosit de programele de sistem; /root / unix nucleul sistemului de operare, direcionnd sistemul ctre /aixps2/unix.std; / u director n care se creeaz Home directory pentru fiecare utilizator; / local partiia activ (de aici se face bootarea); / lost+found director unde se ataeaz fiierele i directorii gsii ca nefcnd parte din nici un sistem de fiiere; / usr alte programe necesare utilizatorilor; 13) Nucleul UNIX Nucleul sistemului se operare UNIX este acea parte a programelor de comand i control care activeaz i controleaz: - alocarea timpului main; - spaiul de memorie; - canalele de comunicaie ctre diverse taskuri executate de utilizator la un moment dat Nucleul este cel chemat sa ascunda complexitatea hardware-ului fata de utilizator. Nucleele Unix detin o mare portabilitate deoarece la portarea lor pe alta platforma e necesara rescrierea a doar 15%-50% dintre surse. Aceasta portabilitate este datorata faptului ca sistemele Unix au fost primele scrise intr-un limbaj de nivel inalt. Nucleul sistemului de operare este alctuit din urmtoarele componente: - programul supervizor central; - rutine de serviciu pentru o serie de activiti cum ar fi de exemplu, scrierea n memorie, gestiunea ceasului sistem, etc. Principalele funcii ndeplinite de nucleul sistemului de operare: - planificarea, coordonarea i gestionarea execuiei proceselor; - furnizarea de servicii de sistem cum sunt: tratarea operaiilor de intrare/ieire i gestiunea fiierelor; - manipularea operaiilor dependente de hardware, ntreruperile i funciile de sistem; - gestiunea memoriei. 14) Administrarea de nucleu a sistemului de fisiere
8

Toate fisierele de pe HDD sunt controlate de catre nucleu, unitatea de masura in sistemul Unix este blocul: 1 Bloc Unix=4KB Unix-sisteme multi-user din aceasta cauza nucleul este obligat sa stie cine este proprietarul si ce drepturi are vis-a-vis de un fisier. Fisierele sunt vazute ca o insiruire de octeti. Fiecare utilizator primeste un Home directory. In sistemele Unix sistemul de fisiere are forma arborescenta. 15) Administrarea de nucleu a memoriei in sistemele de operarea UNIX Fiind un sistem de operare multitasking, UNIX ine evidena taskurilor concurente i menine controlul diverselor programe care sunt rezidente n RAM la un moment dat, furniznd i informaii privind suficiena spaiului de memorie: - n mod normal, fiecare program este ncrca n diverse zone de memorie RAM; - n modul de operare cu divizarea timpului (time-sharing), poate opera fr evacuarea coninutului memoriei pe disc; fiecare program se execut n cuanta de timp alocat rmnnd n memorie numai programele a cror execuie nu s-a ncheiat (practic, numai registrele sistemului sunt divizate ntre programe, astfel c evacuarea programelor implic de fapt, numai evacuarea coninutului registrelor); - pe durata execuiei proceselor, UNIX aloc poriuni distincte de RAM pentru: * segmentul de cod (instruciunile programului) protejat la scriere; * segmentul de date ce conine toate datele definite de utilizator: valori, variabile, etc.; * segmentul de stiv care conine toate informaiile de sistem necesare meninerii intacte a unui proces, atunci cnd este evacuat din RAM pe disc sau cnd este ncrcat n RAM de pe disc. 16) Planificarea si executarea job-urilor de catrea nucleul Unix Fiecare utilizator poate avea la un moment dat incarcate in memorie unul sau mai multe job-uri. In afara de acestea mai exista si o serie de procese care ruleaza in background. Cpu nu poate executa decat un singur job la un anumit moment, de aceea unit de management a memoriei aflata in nucleu acorda fiecarui proces o cuanta de timp pentru executie, fiecare proces se va executa pe rand, fiecare castigand procesorul pt acea cuanta repartizata. Daca un proces termina sau rateaza sa-si foloseasca cuanta de timp aceasta se va aloca altui proces.

Sistemele Unix au la baza ca algoritm de planificare a proceselor algoritmul RoundRobin cu prioritati. Exista diferente de implementare la diferite versiuni de Unix dar in principiu prioritate primesc procesele cu operatii de intrare/iesire intensive. Cea mai mica prioritate o primesc procesele care lucreaza in background , in afara de coada de procese la Cpu mai exista si o serie de cozi organizate pentru dispozitive. Sistemul are incorporat si un sistem de securitate care are grija ca job-urile sa nu se perturbe reciproc. 17) UNIX-SHELL Shell - interpreterul de comenzi, reprezint mecanismul prin care sistemul de operare realizeaz interfaa ntre utilizator i sistemul de calcul; interpreterele de comenzi existente pe sistemele de operare Unix sunt: * Bourne Shell (bsh) i Bourne Again Shell (bash) al crui productor este firma AT&T; bsh a fost prima variant a interpreterelor de comenzi; * C Shell (csh) elaborat de firma Sun Microsystem; interpreterul are o sintax a comenzilor similar cu cea a limbajului C; * Korn Shell (ksh) ce se constituie ca o mbinare a variantelor anterioare. Sistemul de fiiere cuprinde programe utilitare, aplicative i de gestiune a operaiilor de intrare/ieire. Shell-ul este un program scris in C/C++ proiectat sa ajute utilizatorul sa comunice cu nucleul sistemului de operare. Practic este un translator de comenzi in cod masina. Utilizatorul va folosi un limbaj usor de inteles care va fi tradus de shell nucleului. Shell-ul este un translator de comenzi pt nucleu: este un interpretor de comenzi care actioneaza ca o poarta pt cele ~400 comenzi si utilitare cu care este inzestrat sistemul. Dpdv al nucleului Shell-ul este uin program oarecare dar pt utilizator acesta constituie legatura vitala cu sistemul de operare. Shell-ul - mijloace pt scrierea unor programe shellscript. Aceste programe sunt de tip bloc de comenzi care contin o serie de comenzi tip shell care se executa ca si cand ar f i introduse de la tastatura.. Shell-ul este totodata si un limbaj de programare structurat care permite scrierea unor programe destul de complexe, un program scris in shell poate face acelasi lucru ca un program scris in C, dar executia este mai lenta deoarece programul este interpretat, aceasta presupunand compilarea si executarea linie cu linie. 18) Caracteristici generale ale unui Shell Shell-ul este cel care pune un prompt pe ecran la care putem tasta o comanda, dupa tasta ENTER Shell-ul preia comanda, o traduce nucleului si este lansata in executie. Shell-ul va astepta pana la terminarea executarii comenzii, dupa care va pune un nou prompt pe ecran, exceptie fac utilitarele mai complexe care au comenzi interne proprii si din care iesirea se face in mod explicit. * Bourne Shell (bsh) i Bourne Again Shell (bash) al crui productor este firma AT&T; bsh a fost prima variant a interpreterelor de comenzi;
10

* C Shell (csh) elaborat de firma Sun Microsystem; interpreterul are o sintax a comenzilor similar cu cea a limbajului C; * Korn Shell (ksh) ce se constituie ca o mbinare a variantelor anterioare. Sistemul de fiiere cuprinde programe utilitare, aplicative i de gestiune a operaiilor de intrare/ieire. 19) Organizarea fisierelor si directoarelor in sistemul UNIX Fisierul este structura fundamentala pt pastrarea informatiilor pe mediile de stocare toate articolelel prezente intr-un sistem Unix sunt referite in termen de fisiere. In intrarea de director la sistemele Unix se inregistreaza informatie simpla ce se compune din "Inode number" si numele fisier. Numele de fisier se pot edita %, !, ?, [ ] numele de fisier la unix sunt CASE SENSITIVE Restul caracteristicilor se inreg in tabela Inode-List. 20) Tipuri de fisiere UNIX Sistemul de operare UNIX System V lucreaz cu urmtoarele tipuri de fiiere: - fiiere obinuite Aceste fiiere sunt constituite dintr-un ir de bytes (memorai de obicei pe disc) terminat cu un marker de sfrit de fiier (EOF). irul este divizat n linii de text terminate cu caracterul "new line" (CR). Restriciile de lungime, format, utilizat; - fiiere speciale Fiiere speciale se constituie ca o interfa ntre programele utilizator i rutinele nucleului sistemului de operare, ce lucreaz direct cu dispozitivele periferice de intrare/ieire. Astfel, utilizatorul va trata perifericele de intrare/ieire ca fiiere, activarea unui astfel de fiier coinciznd cu activarea driverului dispozitivului periferic asociat. La rndul lor, fiiere speciale sunt de 3 categorii: * fiiere speciale de tip caracter sunt fiierele care transfer un byte printr-o operaie de intrare/ieire; * fiiere speciale de tip bloc sunt fiierele care transfer un bloc printr-o operaie de intrare/ieire; * fiiere speciale de tip pipe sunt fiiere ce constituie canale de comunicaie ntre 2 procese; comunicaia ntre dou procese se poate realiza n memorie prin fiiere pipe obinuite, sau pe disc prin aa zisele fiiere pipe (named pipe). -cataloage de fiiere (directori) Directorii sunt cataloage de fiiere ce conin numele fiierelor componente i adresa fizic pe unitate simbolizat prin: . (un singur punct) identific numele directorului propriu, numit Home directory (2 bytes); .. (dou puncte) identific numele directorului printe n care fiierul cu un anumit index
11

21) Nivele de securitate in UNIX Sistemele UNIX sunt prevazute cu 4 nivele de securitate pt a asigura maximum de securitate. a) primul este nivelul de securitate sistem - se refera la procedurile de login si logout pe care utilizatorul trebuie sa le parcurga pt a deschide/inchide o sesiune de lucru pe Unix.Fiecare utiliztor are o parola si un nume pe care S.O. le va stoca intr-o baza de date securizata. Tot la acest nivel intra si contul de R00T sau administrator. Administratorul de sistem are la acest nivel si o rezerva prin care poate acorda unor utilizatori drepturi speciale. b) Nivelul de securitate fisier - face referire la permisiunile care se aloca utilizatorilor, vis-a-vis de utilizarea unui anumit fisier. c) responsabilitate - se refera la modul in care fiecare actiune aparuta intr-un sistem Unix este atribuita utilizatorului real pt aceasta, sist furnizeaza o marca de nesters numita LUID (Login user id). Cu aj ascestei marci, adm de sistem poate urmari istoria unei intregi activitati petrecute in calculator. d) verificare - la acest nivel se face un pas inainte a.i. se pot urmari nu numai tentativele reusite de a utiliza un proces cat si tentativele nereusite. Cu prg de responsabilitate si verificare pus in functiune , un administrator de sistem poate avea o imagine completa a ceea ce s-a intamplat in calc in fiecare secunda. 22) Mediul Shell-UNIX Mediul Shell - parametrii care lucreaza la crearea acestui mediu sunt reprez de totalitatea variabilelor existente in shell. Variabil este numele unei locatii temporare de memorie in care este depusa o anumita informatie. Sistemele UNIX at cand le luam contin un set standard de variabile, utilizatorii pot sa-si creeze propriile variabile. Folosirea variabilelor ofera o mai mare flexibilitate si control utilizatorului. EX: HOME, LOGIN, MAIL, TERM, TZ, PS1. Toate variabilele care sunt necesare in mod curent pot fi puse in fisierele de initializare a.i. sa se seteze automat la deschiderea unei sesiuni de lucru. 23) Lucrul cu comenzi in UNIX Linia de pe ecran pe care o introducem de la tastatura si care se va incheia prin apasarea ENTER se numeste linie de comanda. Sintaxa generala este $ comanda [optiuni] [argumente] Toate comenzile din Unix au o comportare implicita, adica o comanda lansata fara optiuni si argumente trebuie sa faca ceva. Exista comenzi care pot sa aiba numai optiuni sau numai argumente, dar exista si comenzi singure. De regula, in Unix, comenzile se scriu cu litere mici, pt a nu fi confundate cu variabile. In UNIX exista o variabila numita PATH in care sunt inscrise toate directoarele prin care shell-ul va cauta o comanda. EX: $date Optiunile schimba comportarea implicita a comenzii, imbunatatind raspunsul. Sunt recunoscute prin faptul ca toate au in fata -.
12

Argumentele pot si siruri de nr, siruri alfanumerice, asupra carora va actiona comanda. 24) Comenzi interne Shell 25) Analiza unei linii de comanda shell Pe masura ce se introduce de la tastatura comanda, shell-ul o preia si o prelucreaza. Aceasta spargere a liniei de comanda in partile constituente este numita si Parsing. Ex: $ls -l my_file adica comanda (ls) optiune (-l) si argument (my_file) In Unix, separatorul folosit in limite de comanda se gaseste intr-o variabila numita IFS care de regula este fixata pe Space sau Tab. Acest separator poate fi setat la dorinta utilizatorul. Inainte de a aplica regulile de separare a parametrilor shell-ul aplica mai intai regulile ghilimelelor, substituirea de comanda, apoi genereaza numele de fisiere si in final executa expandarea variabilelor si determina intrarile si iesirile comenzilor. In Unix exista 3 feluri de ghilimele si toate se folosesc pereche : " ", ' ', \ \. 26) Redirectari si conducte in sistemul de operare UNIX Redirectarea intrarii se poate realiza spre orice: Ex: $cat<joe s-a redirectat comanda cat catre fisierul joe Pentru a folosi redirectarea intrarii in shell-scripturi va trebui sa urmarim sintaxa, (ex: $cat <<marcaj......marcaj EOF) vor fi executate job-urile dintre marcaje, se emite EOF si se continua executarea. Redirectarea iesirii Iesirea standard este display-ul. Ea poate fi redirectata practic spre orice dispozitiv, dar de regula, redirectarea se face catre fisier. Ex: $ ls >x Iesirea comenzii va fi inscrisa in fisierul x, cu conditia sa avem permisiuni de scriere in el. Daca fisierul exista deja, continutul lui va fi inlocuit de noul continut. 27) Folosirea semnelor ? *; Expresii [ ] UNIX ? poate inlocui un singur caracter in timp ce * poate inlocui mai multe caractere. Uneori dorim sa fim mai restrictivi iar cele 2 semne nu ne pot permite acest lucru. $ls job[123] job1 job2 job3 $ls job[1-3] job1 job2 job3 $ls job[!12] orice care are terminatie o cifra fara 1 si 2 28) Expandarea variabilelor Inlocuirea variabilelor prin valoarea ei cu semnul $: y=$x Expresii: $ {variabila: -cuvant} Aceasta forma indica daca variabila nu a fost definita sau este nula, expresia va lua valoarea cuvant; daca variabila este definita si nenula atunci expresia va fi inlocuita de valoarea variabilei.

13

$ {variabila: =cuvant} Este aproape identica cu exceptia cazului in care variabila este nula sau nedefinita prin inlocuirea expresiei prin cuvant se va seta si variabila la valoarea cuvant. $ {variabila: +cuvant} Aceasta forma este inversa primei forme adica daca variabila este setata si nenula se va inlocui expresia prin cuvant. 29) Substituirea comenzii Aceasta substituire a comenzii este o facilitate puternica folosita de UNIX si prin intermediul ei iesirea unei comenzi poate deveni intrare intr-o variabila sau intrare intr-o linie de text a altei comenzi. EX: x='ls y' $ comanda param1 param2 'comanda1' Procesul de analiza gramaticala (Parsing) a liniei de comanda nu este recursiv. Shellul nu va parcurge linia de comanda si nu va incerca in continuare expandarea elementelor care o compun. 30) Transferarea parametrilor comenzilor UNIX Daca comanda provine de la un program C/C++ atunci acesti parametri vor fi transferati prin argum1. daca comanda provine dintr-un shellscript atunci parametrii comenzii se vor transfera prin parametrii $1, $2.... In sistemele UNIX atunci cand se lanseaza exec unei comenzi Shell-ul isi face mai intai o copie in care va rula procesul, aceasta copie este identica cu exceptia ca shell-ul stie care e copia parinte si care e copia fiu. Atunci cand se creaza copia fiu, ea va mosteni ea va mosteni si toate variabilele parintelui, in acest subshell cu ajutorul operatiei de execing se va executa noua comanda. O variabila setata in shell-ul parinte va fi transferata automat fiului prin operatia forking. 31) Partitiile de disc UNIX S.O. Unix opereaza cu discuri virtuale montate in sistemul de fisier. Montarea = un proces de anexare a unui dispozitiv fizic in sistemul de fisier. Partitionarea presupune impartirea HDD in mai multe partitii vazute de S.O. ca niste discuri virtuale. Salvarea informatiei se face in 2 feluri : fisier cu fisier sau pista cu pista. Prima este mai lenta deoarece fisierele pot fi fragmentate dar este mai selectiva. Cea de a doua este mai rapida dar mai putin selectiva. In practica se mixeaza cele 2 in timp ce fisierele utilizatorilor se salveaza fisier cu fisier. Avantajul partitionarii este ca putem salva selectiv si in caz de accident se pierd mai putine informatii. 32) Permisiunile de fisier UNIX Reprezinta inima sistemului de securitate in UNIX. Arata ce drepturi pot avea proprietarul, grupul de utilizatori al proprietarului si restul utilizatorilor fata de un fisier. Atunci cand administratorul de sistem creeaza un cont de utilizator, acesta va primi un id de utilizator si un id de grup care vor exista pe toata durata existentei contului. Daca nu se face o specificatie anume --> utilizatorul ID other.

14

Root-user ul are un id Sys. Toate fisierele si directoarele care vor fi create de un anumit utilizator vor fi identificate de id-ul de utiliz si de id-ul de grup respectiv. Pt a vizualiza permisiunile se da comanda $ls -l. -/---/---/---/ Primul grup - tipul fisierului al doilea grup permisiunile pt proprietar al treilea grup permisiunile pt grup al 4 lea grup permisiunile pt restul utilizatorilor Comanda cu care putem seta permisiunile este chmod $chmod pentrucine operator permisiunile nume_fisier ex: -/rw-/r--/r--/ nume chmod a=rwx nume chmod o -r nume chmod o +r nume Modul absolut: campurilor pt permisiuni li se acorda o reprezentare octala 33) Procesul INIT La pornirea calculatorului exista in Bios un soft care citeste tabela de partitie si stabileste partitia activare. Se duce in partitia UNIX-ului de unde se citeste primul block, numit bloc de boot pe care il si lanseaza. In acest bloc se gaseste un program care va incarca nucleul sist de op. In funct de versiunea de UNIX nucleul va incarca in zona de utilizatori o serie de procese cel mai important este procesul cu Id-ul nr1 numit procesul INIT, deoarece este tatal tuturor proceselor care se vor incarca in sistem. Pt ca init sa stie ce procese sa incarce el va citi din /etc o tabela inittab.Aceasta este cea mai importanta din sistem deoarece ea contine viitoarea configurare a sistemului, procesul initse in ac tabela pt a sti in ce stare sa se puna. Starea=configurarea soft a intregului sistem si determina ce procese urmeaza a fi incarcate. Init se poate afla intr-o singura stare la un moment dat: starea: -boot -S - single user -0 = shutdown -1 = singleuser cu taskuri in bkgd -2 = multiuser (fara retea) -3 = multiuser (cu retea) -4 = definita de utilizator -5 = shutdown -6 = shutdown imediat Inittab are 4 campuri: eticheta, starile, actiune, numele comenzii. 34)Monitorizarea proceselor.Comenzile PS, KILL, WHO Monitorizarea proceselor este necesara atunci cand lansam procese pe termen lung sau atunci cand suntem admin de sistem.
15

Shell-ul ne pune la dispozitie o serie de comenzi unele imediate si unele complexe. Fiecare proces in Unix primeste un ID atunci cand e lansat in executie $$ returneaza Id-ul de shell $! ne arata Id-ul ultimului program lasnat in executie in background Un admin de sistem poate avea probleme cu programe care au luat-o razna, care genereaza prea multe procese fiu, care abuzeaza de spatiul de memorie si HDD si chiar programe care refuza sa moara. Comanda ps (process status) Data in forma implicita comanda ne afiseaza id-ul procesului, terminalul de la care a fost lansat, de cat timp ruleaza si numele comenzii. $ps -f (full) apar urmatoarele campuri: F si S (campuri de stare a comenzii), C (camp fara semnificatie pt utilizator), PRI (prioritatea proceselor), NI (influenteaza prioritatea dar nu semnificativ), ADDR1 si ADDR2 (contin adresa primei pagini a procesului), SZ (dimensiunea procesului in octeti, WCHAN (adresa la care un proces a fost intrerupt), TTY (terminalul de la care s-a lansat comanda), TIME (de cat timp ruleaza). Pentru a vizualiza informatii despre toate procesele din sistem avem optiunile -ef; -el; -e. Comanda kill Pentru a trece peste faza vizualizarii proceselor si pt a putea avea control asupra acestora, Unix-u ne pune la dispozitie o serie de semnale. Semnalele sunt adevarate intreruperi soft, functia lor este ca atunci cand dorim intreruperea cursului rularii unui proces care merge normal sau anormal se va lansa un astfel de semnal care lanseaza o subrutina de intrerupere care opreste procesul si reia controlul si care de regula semnaleaza o eroare dupa care aborteaza procesul. $kill -9 PID. Terminarea unui proces parinte este importanta dar conteaza si modul, daca un proces face parte din o serie de procese este important ca omorarea sa se faca de jos in sus. Semnalarea parintelui e importanta dar insuficienta. Atunci cand comanda kill semnaleaza un proces parinte acesta va lansa catre fii sai o serie de comenzi de inchidere. Exista posibilitatea ca atunci cand aceste semnale ajung la fii acesta safi fost deja ucis de parinte, comanda kill se autoaborteaza lasand perspectiva ca unii dintre fii la care nu au trimis semnale sa ramana zombie. Comanda who La anumite momente de timp s-ar putea sa fim mai interesati de cine ruleaza un calculator si nu ce se ruleaza. In timp ce comanda ps era un instantaneu dpdv al nucleului, comanda who este un instantaneu dpdv al user-ului, cine este logged-in. $who -Hu Are urmatoarele campuri: NAME, LINE, TIME, IDLE, PID 35) Arhitectura procesorului INTEL; Procesorul 80286 Procesorul 80286 a introdus modul de lucru protejat, lucra mai intai in modul real (specific 8086) Modul protejat - in acest mod continutul registrelor selector capata o alta utilizare, ele devenind un index intr-o tabela de descriptori. Un descriptor=o zona contigua de memorie cu o marime de 8 octeti. Toti descriptorii unei aplicatii se gasesc in tabela LDT (local descriptor table). GDT (global descriptor table) - este intretinuta de S.O. pt
16

a-si genera propriul spatiu de adresa si pt a permite aplicatiilor sa poata accesa o zona comuna de memorie S.O. poate plasa LDT-ul unei aplicatii si GDT-ul oriunde in memorie; pt a sti adresele de unde incep aceste tabele microproc pune la dispozitie 2 registre LDTR si GDTR. Scrierea celor 2 registri este o operatie proivelegiata pe care nu are voie sa o faca decat S.O. De retinut: -modul protejat introduce notiunea de protectie a memoriei, permite existenta a mai multor task-uri in Ram fara sa se perturbe. -se introduce accesul indirect la memorie prin intermediul acestor descriptori. Se pastreaza notiunea de segmente, putand fi plasate oriunde in memorie chiar discontinuu. 36) Procesorul 80386 S-a dezvoltat din 80286 pe mai multe cai: - intern a crescut de la 16 la 32 biti - segmentele au o dimensiune pana la 4gb - procesorul 386 ofera proiectantilor de S.O. posbilitatea de a crea o mem virtuala completa - un sistem de calcul cu 386 corect echipat poate rula simultan aplicatii 8086, 80286 si aplicatii pe 32 biti - modul virtual 8086 impreuna cu bitmap-ul de permisiune i/o ofera o compatibilitate de 100% cu aplicatiile DOS. Se pastreaza tehnica adresarii memoriei ca la 80286, in cazul in care se permite lucrul pe 32 biti 386 poate realiza o schema completa de memorie virtuala paginata. Cand se lucreaza pe 32 biti adresa citita din descriptor capata inca un nivel de interpretare. Pentru lucrul in mod 8086 se folosesc bitii 0-15 Pentrul lucrul in modul 286 la cei 16 biti de mai sus se adauga inca 8 biti 37) Windows: Memoria Virtuala Mem virtuala = RAM+ un fisier SWAP care apartine Windows-ului si care e scris pe HDD. Transferul de informatie intre Ram si fisierul swap se face in segmente. Daca o aplicatie incearca sa acceseze un segment care nu a fost adus in ram, microproc seteaza bit-ul not present din descriptorul aplicatiei, iar sistemul de operare va genera o intrerupere care intrerupe aplicatia si incarca de pe hdd segmentul accesat dupa aceasta aplicatia se reporneste si isi continua activitatea ca si cum nu s-ar fi intamplat nimic. La pornirea sistemului Windowsul comuta procesorul in modul protejat, dupa care poate seta modul paginat. O data setata paginarea, aceasta va ramane asa pana la inchiderea sistemului. La momentul lucrului paginat adresa din descriptor la care se adauga deplasarea din prog de aplicatie. Adresa liniara pe 32biti: Primii 10 biti ai adresei liniare constituie un index intr-o tabela director pt tabele paginii. Urmatorii 10biti sunt utilizati ca un index intr-o tabela pt pagini, cu ajutorul acestui index se extrage adresa de baza a paginii. Ultimii 12 biti = deplasarea in pagina data de catre program. Adunarea celor 2 adrese are ca rezultat adresa fizica pe 32biti.
17

38) Windows; Protectia memoriei Orice s.o. trebuie sa ofere caracteristici de protectie: pt datele utilizator, programelor care ruleaza in modul curent si a dispoz fizice impotriva acceselor neautorizate. De regula cand o aplicatie incearca sa adresez un spatiu de memorie dincolo de structurile alocate atunci microprocesorul genereaza o intrerupere iar S.O. prelucreaza o serie de informatii sensibile date de intrerupere. a) s.o. este cel care seteaza tabelele de paginare b) r/w protejeaza paginile din mem fata de scrierea neautorizata c) u/s asigura protectia zonei de mem alocate in sistem O aplicatie care apeleaza o functie care incarca multi parametrii poate duce la depasirea spatiului alocat. In aceasta situatie S.O dupa ce face analiza adauga noi pagini de memori la map-ul aplicatiei. Cazul in care incearca sa adreseze peste spatiul de memorie va cancela aplicatia in cauza. 39) Windows; Protectia Sistemului de Operare Protectia este necesar sa protejam si s.o. insusi cand spunem acest lucru adica impiedicarea aplicatiilor de a executa unele instructiuni speciale ale microproc: comutarea de task-uri, intreruperi si solicitari de gestiune de sistem. Proc INTEL - 4 nivele de securitate. S.O. Windows foloseste decat 2 nivele adica nivelul 0 si 3. Kernelul lucreaza pe 0, iar aplicatiile utilizatorului pe 3. Un software care lucreaza pe nivel 0 poate seta tabelele proprii, poate comuta modurile procesorului sa porneasca/opreasca procesorul etc. In practica de multe ori aplicatiile trebuie sa apeleze servicii de sistem si deci sa comute microproc in modurile de privilegiu. In aceasta situatie S.O. trebuie sa aiba un mecanism care asigura controlat comutarea procesorului intre nivelele de privilegiu. trecerea de pe un nivel la altul se face cu ajutorul portilor care sunt de 4 tipuri: call, intterupt, trap, task. 40) Windows; Protectia Dispoz Periferice Solicitarea de protectie a dispoz perif consta in partajarea a unei resurse sau prevenirea unor aplicatii sa foloseasca o resursa nepartajabila. Controlul hard realizat de aplicatii atunci cand efect op de intrare/iesire se face prin 4 porti si prin solicitarile de intrerupere IRQ. Adresele de port oferite de microproc atunci cand se lucreaza pe un octet sunt in nr de 65536. Irq pt fiecare dispoz sunt unice. Acces de nivel inalt - se utilizeaza prin intermediul folosirii driverelor de dispozitiv. Driverele sunt module soft care controleaza dispoz periferice. O aplicatie care doreste sa acceseze un anume dispozitiv trebuie sa faca o cerere la s.o. daca este acceptata atunci aplicatia poate da cerere de scriere/citire. La sfarsit aplicatia va inchide canalul. Toate aceste cereri sunt definite ca parte a Windows API. 41)Masina Virtuala 42) Windows; Modele Multitasking
18

Win 3.1 punea la baza planificarii proceselor o schema numita multitasking cooperativ. Incepand cu Win 95 ambele ramuri (chicago si cairo) vor utiliza planificarea proceselor pt aplicatiile win32 un algoritm de planificare cu intreruperi: event driven. Aplicatiile emit o serie de mesaje pt a informa s.o. despre anumite evenimente care apar. Ex: un click de mouse=eveniment. La sistemele 3.1 exista o singura coada de mesaje in aceasta situatie un task care devia de la lucrul normal putea sa nu mai preia din coada mesaje rezulta blocarea sistemului. INcepand cu win 95 sistemul de operare organizeaza tot mai multe cozi de mesaje private fiecare apartinand unei aplicatii. Daca o coada de mesaje se blocheaza nu va exista nicio problema pt celelalte aplicatii. In modul multitasking planificatorul poate intrerupe un proces in orice moment si poate sa ia procesorul si sa il acorde altui proces cu prioritate mai mare. Acest lucru e mare avantaj deoarece in modul cooperativ exita riscul ca unele evenimente sa fie ratate. In sistemele cooperative exista obiceiul de a se inmana procesorul planificatorului. In sistemele prioritare nivelul de prioritate al proceselor e recalculat periodic de planificator. 43) Windows; Suport API Windowsul pune la dispozitie API-urile prin Kernel, User, GDI. Kernel=incorporeaza majoritatea functiilor de sistem:alocarea memoriei, gestiunea proceselor etc. User=incorporeaza toate functiile legate de ferestre crearea si mutarea lor, manuirea mesajelor, casete de dialog. GDI= graphic device interface - toate functiile legate de grafica adica tot ce inseamna trasare de linii, scalare font-uri, culori si facilitati de tiparire. Un program Win poate apela aceste functii API printr-un singur nume care va fi rezolvata de S.O. abia la momentul executiei. Aceasta tehnica se numeste Dynamic linking. Cele 3 module sunt exmple DLL. 44) Windows; legare dinamica Atunci cand compilam un program editorul de legaturi parcurgea o serie in programul executabil: editarea de legaturi si incarcarea programului preluat de s.o. Editorul de legaturi mai parcurge o serie de biblioteci dar el parcurge si niste biblioteci care contin numai referinte spre functii care vor fi rezolvate la mom incarcarii programului si lansarii lui. Aceste biblioteci care contin doar referinte se numesc biblioteci de import. O astfel de definire exista pt fiecare functie API din Windows. Editorul de legaturi scaneaza biblioteca de import si include un punct de intrare si un nume. Oricare module care satisfac aceste referinte se numesc biblioteci legate dinamic. Toate aceste biblioteci declara un set de puncte de intrare care satisfac referintele in cauza. Windows-ul este o colectie de DLL-uri. Spre exemplu in Win toate driverele se sistem sunt DLL-uri si declara un set standard de astfel de puncte de intrare. Atunci cand dorim sa schimbam o imprimanta nu este necesar recompilarea si relinkeditarea sistemului.

19

45) Gestionarea memoriei Pe nivele are loc: la nivel de s.o. si la nivel program aplicatie Spatiul de adresa privat o are fiecare aplicatie win32. Zona privata nu este total protejata in ea putand sa faca adresari si alte aplicatii. Aplicatia poate sa-si rezerve memorie pt perioada care ruleaza pt incarcarea DLL-urilor de sistem, in acest fel aplicatia poate sa adreseze. In aceasta zona se pot rezerva spatii de memorie pe care le pot partaja mai multe aplicatii. Solicitarile de memorie ale unei aplicatii se pot face fie in mod explicit sau implicit atunci cand aplicatia porneste o noua resursa a caror structuri de date solicita memorie. Alocarea "heap" - o zona de mem heap inseamna o zona rezervata pt a satisface necesitatile de mem dinamice la momentul rularii unei aplicatii. In win 3.1: Heap-urile locale erau rezervate in zona privata a aplicatiei heap-urile globale erau intr-o zona comuna de mem pt toate aplicatiile. La sistemele Win Ramura Chicago aplicatiile win32 utiliz 1 heap si nu mai sunt necesare vechile selectoare. Pt un programator win32 API a adaugat un set nou de functii pt alocarea de memorie dinamica. Seturi de functii pt gestionarea memoriei: - in ramura Chicago se furnizeaza functii care permit crearea de heap-uri private -o aplicatie poate crea oricate astfel de heap-uri doreste si poate indruma S.O. sa utilizeze un anumit heap atunci cand are nevoie -la astfel de heap-uri private pot avea acces si alte aplicatii creandu-se posibilitatea de partajare a memoriei. In aceste heap-uri private aplicatia poate crea structuri de date cu o config asemanatoare. 46) Windows; Planificarea masinilor virtuale Planificarea proceselor in Win e strans legata de gestionarea masinilor virtuale. Win 95 a introdus un nou concept acela de fir (thread) . Firul este unit de baza in planificarea Windows Un fir: -un mod de a executa un proces - poate fi creat de aplicatii win32 si VxD - un fir are o stiva si un context de executie proprii -poate fi unul din ma multe fire create de parinte Firele sunt procese de categ usoara, sunt usor de creat pt ca ele partajeaza zona de memorie a parintelui. In Win RC exista posibilitatea ca proc principal sa creeze un fir care in mod separat sa urmareasca butonul cancel permitand intreruperea incarcarii. Serviciile fir sunt disponibile numai pt aplicatiile pe 32 biti si VxD sub sistemele WIN RC. Aplicatiile pe 16biti nu pot apela Api-urile din fir. Se conserva astfel aplicatiile pe 16biti modul multitasking cooperativ. 47) Planificatori Windows Exista 2 planificatori ai gestionarii masinii virtuale: -primal si se ocupa cu alocarea de prioratati de fir
20

-secundar acorda un anumit procent din timpul procesorului In calculator vor exista procese suspendate, acestea neprimind timp de exec din partea procesorului. Planificatorul primar examineaza fiecare fir in parte dupa care ii acorda un nivel de prioritate de la 0 - 31. Planificatorul primar suspenda toate firele care nu au nivel maxim de prioritate. Planificatorul de timp aloca proceselor cuanta de timp necesara, in functie de nivelul de prioritate primit si in functie de cunostintele despre starea VM. Firele ruleaza implicit planificatorul primar va reevalua prioritatile la fiecare 20milisecunde. 48) Planificarea in MV de sistem Atunci cand avem aplicatii de fire multiple poate aparea situatia in care sa avem ma multe fire cu aceeasi prioritate, planificatorul cuantei de timp utilizand algoritmul Round Robin primind o cuanta de timp, iar daca expira trec la coada. Daca un proces rateaza sa-si foloseasca cuanta el va fi trimis la coada urmatorului proces. Exista 2 influente diferite care controleaza planificatorul: a) propriul algoritm intern prin care incearca sa utilizeze un mediu multitasking echitabil. Fiecare fir sa primeasca suficient timp pt a-si rezolva problemele dar nu prea mult ca sa blocheze celelalte procese b) apelurile directe ale serviciilor de sistem de VxD Planificatorul utilizeaza 3 tehnici -modificarea dinamica a prioritatilor -decaderea in timp - succesiunea prioritatilor 49) Fire si UAE exista situatii in care aplicatii din sistem pot cadea in timpul lor, Windows urmareste 2 aspecte: 1) manuirea eleganta a progr care a gresit, acordarea catre utilizator a permisiunii de a inchide aplicatia du un minim de pierderi si agitatie. 2) dupa caderea aplicatiei - cunosterea ssitemului Aplicatiile cad prin erori de adresare, o adresa sub 4mb inseamna pt Windows o violare de protectie. RC abordeaza problema in 2 moduri in primul tratarea erorii se va executa printr-un fir separat si nu in cadrul aplicatiei care e in deruta oricum. Inchiderea unei aplicatii inseamna si inchiderea tuturor resurselor utilizate. Pt aceasta S.O. va parcurge o serie de tabele unde va gasi id-ul firului cancelat. Curatirea pt aplicatiile win32 se face imediat daca exista aplicatii pe 16 biti active atunci resursele vor trebui lasate disponibilizate.

21