Sunteți pe pagina 1din 15

SINTEZE SUBIECTE TEORIE Prof.

Razvan Zota fragmente


Subiectele au fost extrase din slide-urile de la curs si din cartea Sisteme de operare pentru retele de calculatoare a domnului profesor Zota. Pentru subiectele netratate mai jos, vedeti in prezentarile ppt/pdf 1. Sisteme de operare. Definitie. Rol. Functii Definitie : Un sistem de calcul actual se compune din unul sau mai multe procesoare, dintr.o memorie interna, dintr.o serie de dispozitive de stocare, din placi de retea si alte dispozitive. A scrie programe direct pentru lucrul cu aceste dispozitive este destul de greu si nu intotdeauna putem obtine o eficienta si o optimizare maxima. De aceea intre HW si aplicatiile noastre se interpune un SW, numit sistem de operare, care are rolul unei interfete mai prietenoase intre HW si utilizator. SO este o portiune din SW care ruleaza in modul supervisor (kernel). Este un mecanism pentru planificarea joburilor si a proceselor, precum si o metoda pentru executia simultana a mai multor UCP si pentru administrarea I/O. La baza se afla HW care contine dispozitivele fizice (circuite, fire, surse de tensiune), grupate in unitati functionale. Fluxul de date existent in microarhitectura sistemului de calcul este controlat de microprograme sau direct de dispozitivele HW. Toate aceste instructiuni formeaza limbajul masina (ISA), care contine intre 50 si 300 de instructiuni in functie de tipul de procesor. Acest lucru a determinat aparitia sistemului de operare. Rol : asigura interfata intre utilizator si HW; Functii: - extinderea HW : o permite stocarea convenabila a datelor, ascunzand chestiunile de detaliu; - gestionarea resurselor: o permite utilizarea eficienta a sistemului, desfasurarea in paralel a mai multor activitati; o inlatura irosirea ciclurilor de ceas; o permite protejarea informatiilor; o actioneaza ca un program de control; o asigura alocarea ordonata si controlata a HW, optimizand alocarea tuturor resurselor unui sistem de calcul; o managementul eficient al memoriei; o protectia impotriva blocajelor; Sistemele de operare moderne sunt sisteme de operare de retea. In timp ce SO-PC asigura indeplinirea functiilor pentru unul sau mai multi utilizatori(dar nu in acelasi timp), SO-NET asigur o distribuie a funciunilor de-a lungul unor calculatoare conectate n reea, pentru mai multi utilizatori simultan. SO-NET depinde de SO existent pe fiecare calculator al retelei, adaugand acestuia functii de distributie a sarcinilor in retea. Exista sisteme server si sisteme client. In timp ce unele pot cere accesul la resurse (client), celelalte acorda sau nu permisiunea (server).

2. Multitasking. Definitie. Tipuri Una din functiile de baza a unui sistem de operare etse aceea de a optimiza utilizarea tuturor resurselor dintr.un sistem de calcul : timp, memorie, rezultate ale prelucrarilor de date. La stabilirea unei strategii de planificare trebuie sa ne stabilim obiectivele care trebuie sa realizeze simultan urmatoarele cerinte: - executia unui volum cat mai mare de lucrari in unitatea de timp, aceasta in cazul in care operam cu lucrari cu timp scurt de executie; - reducerea timpului de asteptare a unitatii centrale cand avem lucrari ce au timpi de executie mari; - incarcarea dispozitivelor periferice la capacitate maxima, atunci cand avem lucrari cu timpi de executie scurt, dar cu multe operatii de intrare iesire. Monoprogramarea este tehnica folosita de SO MS-DOS, si care presupune o executie secventiala a lucrarilor intr.un sistem de calcul. Tehnica de exploatare a sistemului de calcul numita multitasking a fost folosita pentru prima data la Windows 3.1. Aceasta metoda presupune existenta simultana in memorie a mai multor lucrari. Aceasta face ca atunci cand procesorul se afla intr.o stare de asteptare sa poata fi preluat de o alta lucrare care are nevoie de el, imbunatatindu.se astfel productivitatea sistemului de calcul respectiv. Caracteristici: - existenta simultana a mai multor lucrari in memorie; - existenta unui mecanism de trecere de la o lucrare la alta; - existenta unui mecanism de protectie intre lucrari, astfel incat acestea sa nu se derajeze reciproc si cu atat mai mult sa nu deranjeze sistemul de operare; - exista un mecanism pentru gestionarea resurselor fizice si logice acordate lucrarilor curente; Intr.o retea de calculatoare SO-PC functioneaza ca niste clienti. Folosind funcionalitile sistemului de operare nativ PCului, utilizatorul este n msur s acceseze resursele locale ale PC-ului. n momentul n care un PC devine client ntr-un mediu de reea, un software specializat va permite utilizatorului local s acceseze resurse care nu sunt locale (la distan remote ) ntr-o manier asemntoare cu aceea n care aceste resurse ar fi locale. Sistemul de operare de reea extinde capacitatea de conexiune a unui client PC prin asigurarea accesului la servicii la distan disponibile ca extensii ale sistemului de operare local. Spre deosebire se SO-PC, SO-NET permite existenta mai multor utilozatori conectati simultan, permitandu.le acestora accesul concurential la resursele partajate. Pentru a putea permite acest lucru, serverele trebuie sa ruleze SO cu caracteristici suplimentare fata de SO-NET.(Linux, Windows NT/2000/XP/2003, Novell NetWare). Aceste sisteme se numesc sisteme multiutilizator. SO-NET sunt sisteme multitasking, deoarece fiecare utilizator are ca suport un task/proces separat pe server; aceste sarcini sunt create in mod dinamic pe masura ce se concteaza noi utilizatori si sunt sterse cand acestia se deconecteaza. multitasking tipic, ce ruleaz mai multe instane de servicii de reea ce sunt accesate de ctre mai multe sisteme client. Multitasking cooperativ i preemptiv Multitasking-ul cooperativ reprezint un mediu n care programele partajeaz adrese de memorie i pot schimba informaii ntre ele. ntr-un mediu multitasking, aplicaiile partajeaz utilizarea procesorului prin metoda time-slicing. Programele sunt scrise astfel nct s renune la utilizarea procesorului dup un anumit timp pentru a permite altor programe s foloseasc procesorul. Dac un program este prost scris, poate monopoliza ntreaga activitate a procesorului; de asemenea, dac un program se blocheaz, poate duce la blocarea altor programe. O form mult mai eficient de multitasking este implementat n Windows 9x i se numete multitasking preemptiv. n acest caz, SO controleaz alocarea timpului procesorului, iar programele pe 32 de bii ruleaz n spaii separate de memorie. n cazul multitasking-ului preemptiv, un program ce nu respect regula nu poate monopoliza sistemul, iar dac se blocheaz, nu va afecta alte programe.

3. UNIX - Componentele ale SO Toate sistemele de operare (fie pentru calculatoare standalone, fie pentru servere de reea) includ urmtoarele componente: Kernel-ul Interfaa utilizator Sistemul de fiiere Kernel-ul (nucleul) este cel mai utilizat termen referitor la partea central a sistemului de operare. Nucleul reprezint o poriune relativ mic de cod ce este ncrcat n memorie n momentul pornirii calculatorului. Acest cod cuprinde instruciuni ce permit kernel-ului s administreze echipamente hardware (hard-disk, mouse, etc.). Kernel-ul administreaz i controleaz, de asemenea, modalitatea de alocare a memoriei, procesele de sistem i alte programe. Software-ul de aplicaie i alte componente ale sistemului de operare se bazeaz pe kernel pentru a oferi serviciile de baz de planificare i acces la hardware-ul i perifericele calculatorului. Pe un sistem UNIX sau Linux, kernel-ul este reprezentat, de regul, de ctre un fiier denumit kernel. n unele cazuri, codul kernel-ului trebuie s fie adaptat i compilat. Dac acest fiier devine corupt, sistemul nu va mai funciona. Pe un sistem Windows ntlnim fiiere ce conin cuvintele kernel sau kern, precum fiierul kernel32.dll. Acestea reprezint fiiere deosebit de importante utilizate de ctre sistemul de operare. Ele constituie baza sistemului de operare.

4. Interfata utilizator a unui SO Interfaa utilizator (IU) reprezint partea cea mai vizibil a unui sistem de operare. IU este componenta SO prin care utilizatorul interacioneaz cu acesta din urm. IU acioneaz ca o punte de legtur ntre utilizator i kernel. IU este asemenea unui interpretor ce translateaz apsrile tastelor, click-urile de mouse sau alte forme de input. Output-ul programelor poate fi organizat i afiat de ctre IU. Pe sisteme UNIX sau Linux, IU se numete shell. IU pot fi grupate n dou mari categorii: IU linie de comand (CLI - Command-Line Interface) IU grafic (GUI Graphical User INterface) Primele sisteme de operare pentru PC-uri desktop utilizau n exclusivitate o IU de tip linie de comand. Interfaa linie de comand ofer utilizatorului un prompter, iar utilizatorul introduce comenzile prin tastarea lor. Un mediu linie de comand reprezint un mediu text iar utilizatorul poate obine un rezultat doar prin introducerea comenzilor cu ajutorul tastaturii. Utilizatorii de UNIX i Linux pot alege dintr-o varietate de sisteme CLI (shell-uri), precum Bourne shell, Korn shell sau C shell. n zilele noastre toate sistemele de operare cunoscute ofer suport pentru interfee utilizator grafice. O IU de tip grafic permite utilizatorilor s administreze software-ul prin utilizarea unor obiecte vizuale precum ferestre, meniuri de tip pull-down, pointeri, icon-uri, etc. Interfaa grafic permite utilizatorului s introduc comenzi prin intermediul unui mouse sau a altui echipament de intrare de tipul point-and-click. Utilizatorii obinuii prefer o interfa grafic deoarece aceasta face ca operarea s se fac mai uor i intuitiv. Un utilizator poate executa operaii simple prin intermediul unei interfee grafice chiar fr s tie s citeasc. Preul pltit pentru simplificarea intefeei utilizator const n performan. Sistemele grafice consum de sute de ori mai mult spaiu de stocare dect interfeele linie-de-comand. Deoarece interfeele grafice sunt mai complicate dect cele linie-de-comand, acestea necesit i mult mai mult memorie RAM i timp de execuie din partea UCP. Datorit faptului c utilizatorul mediu prefer (i n acelai timp i dorete) o interfa grafic atunci cnd folosete un computer, interfeele grafice sunt considerate n momentul de fa o necesitate pentru sistemele de operare desktop. Cu toate acestea, n mod tradiional, sistemele de operare server nu necesit suport pentru utilizatori mai puin experimentai. Unele sisteme de operare de reea pot s nu ofere suport total pentru interfee grafice. n zilele noastre, majoritatea sistemelor NOS ofer suport pentru interfee grafice prin oferirea de module separate ce pot fi ncrcate i utilizate precum orice alt program ce ruleaz pe sistem. Majoritatea nu necesit ca aceste interfee grafice s funcioneze, dar modulele grafice atrag utilizatorii mai puin experimentai. Administratorii de sisteme lucreaz n mod tipic n medii linie-de-comand, prefernd s economiseasc resursele serverului i s nu ncarce modulele interfeei grafice, mari consumatoare de resurse. Spre exemplu, UNIX-ul i Linux-ul ofer suport grafic, dar n momentul n care sunt instalate ca sisteme NOS, deseori sunt configurate fr componente grafice. Spre deosebire de acestea, serverele Windows includ automat interfa grafic, ncrcnd astfel sistemul.

5. Sisteme de fisiere FAT Sistemul de fiiere al unui SO determin modalitatea n care fiierele sunt denumite, modul i locul n care acestea sunt stocate pe hard-disk sau pe alt mediu de stocare. SO Windows, Macintosh, UNIX i Linux posed sisteme de fiiere ce utilizeaz o structur ierarhic. ntr-un sistem de fiiere ierarhic, fiierele sunt plasate n aa numite containere logice ce sunt aranjate ntr-o structur de arbore. Sistemul de fiiere pornete cu rdcina arborelui. UNIX i Linux denumesc containerul din vrful structurii arborescente director. Containerele din cadrul fiecrui director se numesc subdirectoare. Windows i Macintosh utilizeaz termenele de folder i subfolder pentru a descrie directoarele i subdirectoarele. Sistemul de fiiere al unui SO determin modul n care fiierele i directoarele sunt organizate din punct de vedere logic. Tipul sistemului de fiiere utilizat de ctre calculator determin modul n care fiierele pot fi securizate (sau nu) fa de ali utilizatori sau programe. Sistemul de fiiere definete, de asemenea, modul n care datele sunt aranjate n mod fizic pe mediul de stocare. Unele sisteme de fiiere utilizeaz spaiul de stocare ntr-o manier mai eficient dect altele. Un sistem de fiiere este o parte integrant distinct a sistemului de operare, ce const din fiiere, directoare, precum i informaiile necesare pentru accesarea, localizarea (i eventual refacerea) acestora. FAT n Windows, cel mai popular sistem de fiiere este FAT (File Allocation Table). Exist 3 tipuri de sisteme FAT. Primul este sistemul original FAT, apoi au aprut FAT16 i FAT32, versiuni mbuntite ale sistemului original FAT. Sistemul original FAT a fost utilizat pe primele versiuni de DOS, fr a avea posibilitatea de a fi utilizat pe discuri de dimensiuni mai mari sau pe sisteme de operare precum Windows 3.1, Windows 95 i Windows 98. Acest sistem FAT era limitat din mai multe puncte de vedere, fiind capabil s recunoasc nume de fiiere pn la 8 caractere n lungime. Alte limitri era legate de imposibilitatea de a utiliza discuri de dimensiuni mari i sisteme de operare avansate la acea vreme. De asemenea, spaiul de pe discurile cu capaciti mari era utilizat ineficient, aceeai problem i pentru FAT16. FAT16 a fost conceput pentru a fi utilizat pentru partiii pn la 4 GB. Chiar dac discuri de dimesiuni mari pot fi formatate folosind FAT16, aceast manier este ineficient deoarece spaiul de pe disc este utilizat ineficient. Spre exemplu, la o partiie de 512 MB, dimensiunea clusterelor este de 8 KB. Aceasta nseamn c fiierele de 1 KB vor ocupa tot 8 KB de spaiu pe disc, deoarece nu se pot stoca mai multe fiiere ntr-un cluster. De aici rezult 7 KB pierdui. Pentru a rezolva aceast problem a aprut FAT 32, sistem ce folosete dimensiuni mai mici pentru clustere i ofer suport pentru partiii pn la 2 TB. Dac mrimea volumului FAT32 crete de la 2 GB la 8 GB, Tipul de FAT FAT16 FAT32 dimensiunea tabelei FAT crete de la 2 MB la 8 MB. n acest caz Dimensiunea 32 KB 4 KB nu conteaz c volumul FAT32 va irosi civa MB de spaiu de pe clusterului disc pentru a memora tabela FAT. Problema este c tabela FAT Numrul de 65,526 524,208 intrri FAT este foarte des referit n momentul utilizrii normale a discului Dimensiunea deoarece conine toate referirile ctre clustere pentru fiecare fiier ~ 128 KB ~ 2 MB tabelei FAT din acest volum. Dimensiunea mare a tabelei FAT poate influena negativ viteza de lucru. Practic fiecare sistem implementeaz un mecanism de disk caching pentru a ine n memorie structurile discului fecvent accesate precum tabela FAT. Operaiunea de cache a discului implic utilizarea memoriei principale pentru a stoca informaii referitoare la disc ce sunt necesare n mod regulat, pentru a evita citirea n permanen de pe disc (foarte lent n comparaie cu memoria). Atunci cnd tabela FAT este mic (cum ar fi 128 KB pentru FAT16) ntreaga tabel FAT poate fi stocat mai uor n memorie i de fiecare dat cnd se caut ceva n FAT se ia din memorie. Atunci cnd tabela crete ns la 8 MB, sistemul este forat s aleag ntre dou alternative: fie s foloseasc o cantitate considerabil de memorie pentru FAT, fie s nu foloseasc deloc. Din aceast cauz trebuie redus limita dimensiunii tabelei FAT la o mrime rezonabil. n cele mai multe cazuri este o problem de alegere a unei balane ntre dimensiunea clusterului i dimensiunea FAT. Un exemplu gritor este acela pentru FAT32. Din moment ce FAT32 poate avea (maxim) aproximativ 268 millioane de clustere, dimensiunea de 4 KB pentru un cluster este capabil din punct de vedere tehnic s ofere suport un disc de 1 TB. Singura problem este c, n acest caz, dimensiunea tabelei FAT va avea peste 1 GB! (268 milioane nmulit cu 4 bytes pentru fiecare intrare n tabel). Astfel, FAT32 folosete clustere de 4 KB pentru volume pn la 8 GB n dimensiune, apoi folosete clustere de dimensiuni mai mari, ca n tabelul urmtor:

FAT32 Dup cum se poate remarca, cu toate c FAT32 promisese c va rezolva problemele discurilor de dimensiuni mari, n realitate nu a fost chiar aa. n momentul n care se folosesc partiii mai mari de 32 GB, suntem napoi n cazul folosirii clusterilor de 32 KB, att de hulii n cazul FAT16. Desigur, 32 GB nseamn mult mai mult dect 1 GB, dar FAT32 este totui o soluie temporar aleas pn la implementarea unui sistem de fiier cu adevrat performant (NTFS). n tabelul urmtor se pot vedea dimensiunile tabelei FAT (n MB) n funcie de dimensiunea partiiei, pentru diferite mrimi ale clusterilor. Putem vedea c FAT32 nu utilizeaz clustere de 4 KB dect pn la partiii de 8 GB, altfel sar consuma cantiti considerabile de memorie pentru a stoca tabela FAT. Intrrile marcate cu bold din tabel ne arat ce va alege FAT32 pentru o partiie de acea dimensiune (Microsoft menine dimensiunea tabelei FAT la 8 MB). Dimensiunea partiiei 8 GB 16 GB 32 GB 64 GB 2 TB 4 KB clusteri 8 MB 16 MB 32 MB 64 MB -8 KB clusteri 4 MB 8 MB 16 MB 32 MB 1,024 MB 16 KB clusteri 2 MB 4 MB 8 MB 16 MB 512 MB 32 KB clusteri 1 MB 2 MB 4 MB 8 MB 256 MB

6. Sisteme de fisiere NTFS Caracteristici NTFS Importan Controlul accesului Stabilirea drepturilor de acces se poate face att pentru fiiere individuale ct i pentru directoare. Conine nregistrri pentru fiecare fiier i director din NTFS; MFT (Master File Table) nregistrrile cu privire la organizarea NTFS i MFT sunt redundante n cazul n care prima nregistrare devine corupt;Fiierele de dimensiune mic (sub 1500 octei) sunt stocate n ntregime n MFT pentru acces mai rapid. Atributele NTFS fiierelor Atributele fiierelor sunt coninute n nregistrarea MFT a fiierului. Lista atributelor fiierelor poate fi particularizat pentru anumite medii (Mac, UNIX) i adugat pentru a extinde funcionalitatea NTFS. NTFS permite nume de fiiere pn la 255 de caractere dar poate genera i nume 8+3 pentru compatibilitatea cu FAT/DOS

Numele fiierelor

Master File Table (Tabela Master a Fiierelor) a fost proiectat pentru a garanta accesul rapid i sigur la fiiere. Cele dou obiective de cele mai multe ori contradictorii ale sale sunt: performan superioar la regsirea fiierelor pe disc (rapiditate n special pentru fiierele mici i directoare) pe de o parte, i o deosebit fiabilitate, (datorat multiplelor caracteristici redundante) pe de alt parte. MFT poate ndeplini ambele obiective foarte bine. n primul rnd, definiia nregistrrilor din MFT permit fiierelor mici i directoarelor s fie incluse n aceste nregistrri aa nct mpiedic nevoia pentru orice cutare ulterioar sau acces la disc. Pentru fiierele mari NTFS utilizeaz o structur arborescent binar ierarhic pentru a asigura rapiditatea la cutare n directoare mari la fel de bine. Fiabilitatea este asigurat prin legtura dintre urmtoarele caracteristici redundante: nregistrarea master redundant - nregistrarea oglind (copia) a MFT; fiiere i segmente de date MFT redundante - fiierul oglind MFT; sectoare de boot redundante (existena sectorul primar i a celui dual - copia sa - de boot).

7. Windows Arhitectura Windows este un sistem de operare complet, incluzand atat functiile unui SO standard, cat si functii ale unui SO-NET intr.un produs integrat. A fost proiectat ca un sistem scalabil (poate suporta multiprocesarea simetrica) si portabil (poate lucra cu diferite procesoare). FIGURA O caracteristica functionala importanta a SO WinNT este stabilitatea este datorata constrangerilor foarte puternice date de structura de acces la resursele HW. Aplicatiile si API sunt oprite la interactiunea directa cu resursele HW sub WinNT; totusi acestea pot accesa resursele prin cereri de servicii din colectia NT Executive (Administrator Executiv). Comunicatia intre diferite subsisteme ale administratorului NT si managerul I/O este controlata de nucleul NT (microkernel). Comunicatia cu resursele HW: - prin serviciile stratului sistem (NT kernel, HAL nivelul fizic de abstractizare); - prin serviciile nivelului sistem, prin managerului I/O si subsistemele sale, prin HAL catre resursele HW; Arhitectura stabila cu comunicatii structurate in subsisteme, da SO WinNT alta caracteristica structurala cunoscuta sub numelen de modularitatea proiectarii, care permite tuturor subsistemelor sa fie usor de adaugat sau inlocuit. Nivelul de abstractizare fizic (HAL) furnizeaza servicii similare cu cele furnizate de BIOS pentru DOS. HAL transforma WinNT intr.un sistem portabil, asigurandu.i independenta fata de tipul de procesor. Nucleul NT se ocupa cu intregul trafic de mesaje ce se desfasoara in cadrul SO si ruleaza peste HAL. este ocupat in principal cu manipularea intreruperilor si exceptiilor pentru comunicatia intre subsisteme si resursele HW ale SO; verificarea securitatii si respectarii restrictiilor; sincronizarea mai multor procesoare atunci cand WinNT ruleaza pe un comp ce suporta multiprocesare simetrica (SMP); refacerea sistemului in caz de cadere; programarea firelor de executie in mediul NT multi threading. Administratorul NT este compus din nucleul NT, la care se adauga o varietate de subsisteme cunoscute impreuna sub numele de servicii de sistem - managerul I/O: o administrarea tuturor intrarilor si iesirilor pentru SO; o conducerea comunicatiilor dintre driverele de echipament, driverele de retea, managerul cache, driverul sistemelor de fisiere; - managerul memoriei cache o lucreaza impreuna cu sistemul de fisiere suportat de NT pentru optimizarea serviciilor; o minimizeaza numarul de citire/scrieri fizice pe disc, optimizand astfel programelor de aplicatie; o cresterea globala a vitezei de procesare; - managerul de obiecte o obiectele reprezinta orice parte a SO care poate fi manevrat, accesat sau folosit fisiere, directoate etc; o administreaza fiecare obiect in parte, inclusiv respectarea conventiilor de nume si autorizatiile de acces si de manipulare; o responsabil cu securitatea obiectelor; - managerul de procese(mediul de executie al unui program de aplicatie); o crearea, administrarea si terminarea proceselor in cadrul SO, comunicand cu managerul de obiecte si managerul memoriei virtuale pentru a furniza resursele cerute si protectia pentru procesul respectiv; - managerul memoriei virtuale o se utilizeaza o portiune de pe HDD ca fisier de swap, ce ofera o extensie de pana la 4GB / proces; o pastreaza secret faptul ca un proces foloseste memorie efectiva de pe HDD si nu din RAM; o responsabil pentru faptul ca un proces sa nu scrie in alt spatiu de memorie; o asigura protectia proceselor unul fata de celalalt; - monitorul de securitate o asigura securitatea proceselor si a obiectelor; o autentifica si autorizeaza procesele care au nevoie de aces la obiecte si a utilizatoriloe care vor sa acceseze sistemul prin logon. o Monitorizeaza si mesajele de audit referitorare la securitate; Windows NT este un sistem de operare multitasking preemtiv ceea ce implica faptul ca aplicatiile sunt inlocuite cu alte programe de aplicatie o data e si-au consumat timpul afectat lor pentru microprocesor; SO nu renunta la control asupra CPU sau asupra resurselor de memorie in favoarea programelor de aplicatie, rezervandu-si dreptul de a intrerupe orice astfel de program.

8. Windows Componente ale sistemului de operare Comunicatia cu resursele HW: - prin serviciile stratului sistem (NT kernel, HAL nivelul fizic de abstractizare); - prin serviciile nivelului sistem, prin managerului I/O si subsistemele sale, prin HAL catre resursele HW; Arhitectura stabila cu comunicatii structurate in subsisteme, da SO WinNT alta caracteristica structurala cunoscuta sub numelen de modularitatea proiectarii, care permite tuturor subsistemelor sa fie usor de adaugat sau inlocuit. Nivelul de abstractizare fizic (HAL) furnizeaza servicii similare cu cele furnizate de BIOS pentru DOS. HAL transforma WinNT intr.un sistem portabil, asigurandu.i independenta fata de tipul de procesor. Nucleul NT se ocupa cu intregul trafic de mesaje ce se desfasoara in cadrul SO si ruleaza peste HAL. este ocupat in principal cu manipularea intreruperilor si exceptiilor pentru comunicatia intre subsisteme si resursele HW ale SO; verificarea securitatii si respectarii restrictiilor; sincronizarea mai multor procesoare atunci cand WinNT ruleaza pe un comp ce suporta multiprocesare simetrica (SMP); refacerea sistemului in caz de cadere; programarea firelor de executie in mediul NT multi threading. Administratorul NT este compus din nucleul NT, la care se adauga o varietate de subsisteme cunoscute impreuna sub numele de servicii de sistem - managerul I/O: o administrarea tuturor intrarilor si iesirilor pentru SO; o conducerea comunicatiilor dintre driverele de echipament, driverele de retea, managerul cache, driverul sistemelor de fisiere; - managerul memoriei cache o lucreaza impreuna cu sistemul de fisiere suportat de NT pentru optimizarea serviciilor; o minimizeaza numarul de citire/scrieri fizice pe disc, optimizand astfel programelor de aplicatie; o cresterea globala a vitezei de procesare; - managerul de obiecte o obiectele reprezinta orice parte a SO care poate fi manevrat, accesat sau folosit fisiere, directoate etc; o administreaza fiecare obiect in parte, inclusiv respectarea conventiilor de nume si autorizatiile de acces si de manipulare; o responsabil cu securitatea obiectelor; - managerul de procese(mediul de executie al unui program de aplicatie); o crearea, administrarea si terminarea proceselor in cadrul SO, comunicand cu managerul de obiecte si managerul memoriei virtuale pentru a furniza resursele cerute si protectia pentru procesul respectiv; - managerul memoriei virtuale o se utilizeaza o portiune de pe HDD ca fisier de swap, ce ofera o extensie de pana la 4GB / proces; o pastreaza secret faptul ca un proces foloseste memorie efectiva de pe HDD si nu din RAM; o responsabil pentru faptul ca un proces sa nu scrie in alt spatiu de memorie; o asigura protectia proceselor unul fata de celalalt; - monitorul de securitate o asigura securitatea proceselor si a obiectelor; o autentifica si autorizeaza procesele care au nevoie de aces la obiecte si a utilizatoriloe care vor sa acceseze sistemul prin logon. o Monitorizeaza si mesajele de audit referitorare la securitate; Windows NT este un sistem de operare multitasking preemtiv ceea ce implica faptul ca aplicatiile sunt inlocuite cu alte programe de aplicatie o data e si-au consumat timpul afectat lor pentru microprocesor; SO nu renunta la control asupra CPU sau asupra resurselor de memorie in favoarea programelor de aplicatie, rezervandu-si dreptul de a intrerupe orice astfel de program.

9. Windows Servicii Serviciile de retea din WinNT furnizeaza mecanismult de transport prin care alte servicii, cum ar fi cele de printare, securitate si de acces la sistemele de fisiere si aplicatie sunt transmise. - sunt rezultatul arhitecturii modulare ale componentelor interconectate - elemente ale arhitecturii serciviilor de retea NT o placa de retea realizeaza legatura fizica dintre orice client sau server si retea; o driverul NDIS (Network Device Interface specification) suporta multiple protocoale de transport pentru placa de retea / diferite placi de retea; o interfata driver de transport (Transpor Driver Interface) specificatie de protocol ce ofera un nivel de transparenta intre redirectorii de nivelului sesiune si protocoalele nivelului de transport permite softwarelui pentru redirectorul nivelului de sesiune sa fie scris independent de SW nivelului de transport particulare cu care trebuie sa comunice; o API Win32 interfata standard prin care aplicatiile NT transmit cererile de servcii SO; Serviciile pentru aplicatii se ocupa in principal cu oferirea suportului pentru aplicatiile distribuite sau cele client/server. WinNT ofera servicii de comunicare intre partile client si sever ale aplicatiilor distribuite - I/O sincrone sau comunicatii interproces aplicatiile client ce lanseaza un fir de executie si asteapta rezultatele lansarii inainte de a continua executia aplicatiei client comunicatii orientate pe conexiune; - I/O asincrone aplicatiile client ce lanseaza un fir de executie si continua executia aplicatiei client fara sa astepte rezultatele; serverul poate sau nu informa aplicatia cand informatiile cerute au fost livrate; Serviciile de comunicare intre procese o aplicatie distribuita intre un client si un server WinSock mecanismul de comunicatie interproces oferit de socket-urile Windows. WinSock3 ofera posibilitatea aplicatiilor sa opereze transparent cu protocoalele IPX/SPX, AppleTalk, DecNet si OSI. Aplicatiile compatibile WinSock folosesc mecanismul de comunicare interprocese WinSock incarcat fisierul winsock.dll ce are doua interfete distincte WinSock API si WinSock SPI.

12. UNIX Arhitectura SO UNIX etse un SO structurat pe 2 niveluri: - programe sistem UNIX: o sunt scrise in C, permitand portabilitatea pe alte platforme HW care poseda un compilator C; o ofera functionalitatea ceruta de utilizatori prin initierea unui sistem de apeluri catre nucleul sistemului UNIX; - nucleul sistemului UNIX o se ocupa de echipamentele HW specifice cu care trebuie sa interactioneze; o codul nucleului specific se limiteaza la driverele echipamentelor; Programele si utlitarele sistemului, precum si aplicatiile utilizatorilor sunt independente de HW si singura cerinta pentru acestea este sa initieze apelui standardizate de sistem catre nucleul UNIX. Pentru a simplifica si standardiza apelurile de sistem, UNIX interpreteaza echipamentele ca fiind tipuri speciale de fisiere. UNIX este un SO open-source. Proprietati remarcabile - portabilitatea pe numeroase platforme HW / programele scrise pentru UNIX sunt implicit portabile pe toate platformele UNIX, depinzand de nivelul de similaritate intre nuclee; - modularitatea UNIX este un sistem dinamic care poate fi imbunatatit prin adaugarea unor utilitare

SCHEMA

13. Starile unui proces Un program reprezint ceva pasiv, static; procesul este activ (proces=instan a unui program n execuie). Exemple de atribute asociate cu un proces: starea, memoria alocat, resurse UCP, progresul nregistrat. De ce este nevoie de procese ? Pentru partajarea resurselor logice (fiiere) i fizice (echipamente hardware). Pentru mbuntirea vitezei de calcul, prin implementarea multiprogramrii. Asigurarea modularitii pentru protecie. Starile unui process Principala funcie a unui procesor este aceea de a executa instruciuni main ce se afl n memoria principal. Aceste instruciuni apar sub form de programe. Din motive ce in de eficien i uurin n exploatare, un procesor poate intercala poriuni provenite de la mai multe programe (procese) n timpul execuiei. Pentru ca un program s fie executat, SO creeaz un proces (sau task) asociat acelui program. Din punct de vedere al procesorului, acesta execut instruciuni din repertoriu n ordinea dictat de ctre registrul contor program (PC-Program Counter). n decursul execuiei, PC se poate referi la codul diferitelor programe ce reprezint pri ale unor procese diferite. Din punct de vedere al unui program individual, execuia sa implic o serie de instruciuni din cadrul acelui program. Putem caracteriza comportamentul unui proces individual prin listarea secvenei de instruciuni ce se execut pentru acel proces. O astfel de list se numete urma (trace) unui proces. Putem caracteriza comportamentul procesorului prin prezentarea urmelor diferitelor procese i modalitatea prin care acestea sunt intercalate. n exemplul simplu din figura 6.1 este prezentat o hart a memoriei pentru trei procese. Pentru simplificare, putem presupune c nu se utilizeaz memoria virtual; astfel toate cele trei procese sunt reprezentate prin programe ce sunt complet ncrcate n memoria principal. n plus, exist un mic program sistem numit dispecer ce comut execuia procesorului de la un proces la altul. n figura 6.2 sunt prezentate urmele celor trei procese la nceputul execuiei lor. Sunt prezentate astfel primele 10 instruciuni ale proceselor A i C. Procesul B execut 6 instruciuni i presupunem c a 6-a instruciune apeleaz o operaie de I/O pentru terminarea creia trebuie s se atepte. S considerm n cele ce urmeaz aceste urme din punct de vedere al procesorului. Figura 6.3 ne prezint urmele intercalate ce rezult din execuia primelor 70 de cicluri de instruciuni. Presupunem c SO permite ca un proces s i continue execuia maxim 8 cicluri instruciune, dup care procesul este ntrerupt (acest lucru previne monopolizarea procesorului de ctre un anumit proces). Dup cum apare n figura 6.3, sunt executate primele 8 instruciuni ale procesului A, urmate de un time-out i execuia unei poriuni de cod ale dispecerului, care execut 8 instruciuni nainte de a oferi controlul procesului B. Dup ce sunt executate primele 6 instruciuni ale procesului B, acesta cere o operaie de I/O al crei rezultat trebuie ateptat. Astfel, procesorul oprete execuia procesului B i trece la execuia procesului C (dup execuia codului dispecer). Dup un alt moment de time-out, procesorul se mut din nou la procesul A. n acest timp, procesul B ateapt pentru terminarea operaiei I/O, iar dispecerul comut din nou la procesul C. Blocul de control al proceselor (BCP): Conine informaii asociate fiecrui proces Are urmtoarea structur: PC (Program Counter), regitri UCP Informaii despre managementul memoriei Informaii de contabilizare (timpul utilizat, identificatorul de proces, etc.) Starea I/O (resursele alocate unui fiier, etc.) Date referitoare la planificare (prioriti, etc. ) Starea procesului (n execuie, suspendat, etc.)

14. Modelul unui proces cu 2 stari / Modelul unui proces cu 5 stari 2 stari

Nou Procesul de-abia a fost creat. n ateptare Ateapt apariia unui eveniment (echipament hardware, intervenia utilizatorului sau a altui proces). Gata de execuie Procesul are toate resursele necesare, ateptnd s intre n execuie. n execuie n acest caz instruciunile sunt executate. Procesul ce se afl n execuie face uz de UCP. Suspendat/Terminat Un alt proces a ordonat ca acest proces s intre n starea suspendat (go to sleep). Procesul aflat n starea suspendat va fi trezit de ctre alt proces / Procesul i-a ncheiat execuia.

15. Planificarea proceselor algoritmi FIFO si SJF Planificarea proceselor reprezint, de fapt, modificarea BCP referit de ctre UCP se mai numete comutator de context (context switch). Un comutator de context poate fi considerat un comutator de procese. Comutatorul face trecerea de la memoria alocat unui proces la memoria alocat altui proces (fiecare proces are propria lui viziune despre memorie). (Figura 6.6) Cozi de planificare: (un proces este determinat de anumite evenimente ce apar n urma necesitilor i disponibilitilor) coada gata de execuie = format din toate procesele gata de execuie. coada I/O (starea de ateptare) = format din procesele ce ateapt ncheierea unui proces de I/O. Implementarea cozilor se poate face prin nlnuire simpl sau dubl. Planificator pe termen lung Decide ce joburi/procese trebuie admise n coada gata de execuie. n momentul n care un program trebuie s se execute, admiterea acestuia n cadrul proceselor ce se vor executa este fie autorizat, fie amnat de ctre planificatorul pe termen lung. n acest mod planificatorul hotrte ce procese vor rula pe sistem precum i gradul de concuren suportat la un moment dat (un numr mai mare sau mai mic de procese sunt executate concurent i modul de mprire a acestora n procese intensive I/0 i CPU intensive). Pentru un sistem desktop nu exist practic un astfel de planificator, iar procesele sunt admise n sistem n mod automat. Acest planificator este utilizat n cazul sistemelor real-time, caz n care capacitatea sistemului de a satisface termenele limit ale proceselor poate fi compromis n cazul n care sunt admise mai mult procese dect este cazul. Caracteristici: Ruleaz rareori (atunci cnd job-ul vine din memorie) Controleaz gradul de multiprogramare Se ncearc s se asigure un echilibru ntre rata de sosire i cea de plecare prin intermediul unei selecii a joburilor. Planificator pe termen scurt 3 funcii: Cod pentru scoaterea unui proces din UCP la sfritul execuiei sale. (procesul poate trece n starea gata de execuie sau n cea de ateptare) Cod pentru punerea unui proces n coada gata de execuie a) Procesul trebuie s fie gata s ruleze. b) Procesul este poziionat n coad pe baza unor prioriti. Cod pentru a prelua procesul din coada gata de execuie i lansarea n execuie a acestuia (acesta se numete dispecer). a) ntotdeauna preia primul proces din coad ( foarte simplu! ) b) Transmite procesul ctre UCP. Acest cod ruleaz n mod frecvent i trebuie s fie ct se poate de simplu i de scurt. Planificator pe termen mediu O combinaie dintre management UCP i resurse. Asigur interschimbarea proceselor n/din memorie. Asigur controlul modificrii prioritilor.

Planificarea proceselor Modalitatea prin care un proces este ataat procesorului. Este centrat n jurul algoritmilor eficieni. Proiectarea unui planificator se ocup cu asigurarea faptului c toi utilizatorii au acces n mod corect la resurse. Planificarea UCP Multiprogramarea Mai multe programe pot fi n memorie n acelai timp. Permite supra-alocareaUCP i a I/O. Job-uri (batch) programe ce ruleaz fr a fi nevoie de intervenia utilizatorului. Programe Utilizator (partajarea timpului) sunt programe ce pot avea nevoie de intervenia utilizatorului. Proces ambele UCP - I/O burst cycle Reprezint execuia proceselor ce alterneaz ntre activitatea UCP i a I/O. Timpii UCP sunt mult mai mici dect cei ai operaiilor I/O. Planificare preemptiv O ntrerupere determin oprirea procesului curent ce ocup UCP i are loc nlocuirea acestuia cu alt proces. FIFO First in, first out schema Cel mai scurt job primul (SJF): Optimal pentru minimizarea timpului de ateptare n coad dar imposibil de implementat n practic. Se ncearc s se prevad urmtorul proces pe baza istoricului anterior. Predicia timpului pe care procesul l va utiliza la urmtoarea planificare: t( n+1 ) = w * t( n ) + ( 1 - w ) * T( n ) unde: t(n+1) timpul urmtorului burst. t(n) timpul actualului burst. T(n) media burst-urilor anterioare. w factor de ponderare ce reflect burst-urile curente sau anterioare. Algoritmi preemtivi: Se scoate procesul din execuie n momentul n care un alt proces cu prioritate mai mare este gata de execuie. Se poate aplica att n cazul SJF ct i n cazul planificrii pe baz de prioriti. Se evit acapararea UCP de ctre un proces Pe mainile de implementeaz time sharing este necesar aceast schem deoarece UCP trebuie protejat de ctre procesele cu prioriti mici. Dac se acord job-urilor scurte o prioritate mai maretimpul de rspuns este mai bun. 16. Planificarea proceselor coada circulara (round robin) Coada circular (ROUND ROBIN) Folosete un timer pentru generarea unei ntreruperi dup un timp prestabilit. Asigur multitasking-ul preemptiv dac un task depete cuantumul de timp alocat. Dfiniii: Comutare de context - Modificarea strii de rulare a procesorului de la un proces ctre altul (modificarea memoriei). Partajarea procesorului - Utilizarea unui cuantum a.. fiecare proces ruleaz la o frecven de 1/n. Latena de replanificare - Reprezint timpul de ateptare din momentul n care un proces face o cerere de rulare i pn n momentul n care obine controlul UCP (ruleaz). SCHEMA

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