Documente Academic
Documente Profesional
Documente Cultură
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