Sunteți pe pagina 1din 16

FUNCIILE I COMPONENTELE UNUI SISTEM DE OPERARE

Un sistem de calcul nu poate s prelucreze date fr s fie programat, un program constnd dintr-o succesiune de instruciuni ce converg ctre soluia problemei ce se rezolv. Exist dou categorii de programe: 1) programe de aplicaii care sunt destinate s rezolve probleme specifice; acestea efectueaz prelucrri ale datelor, n concordan cu cerinele informaionale; 2) programe de sistem destinate s coordoneze operarea circuitelor sistemului, asistnd la dezvoltarea programelor de aplicaii; ele sunt proiectate s faciliteze utilizarea eficient a resurselor sistemului de calcul i s ajute la dezvoltarea si execuia programelor de aplicaii. Programele de sistem sunt scrise pentru anumite categorii de sisteme de calcul i nu pot fi folosite pe orice calculator; sunt furnizate de ctre productorii sistemelor de calcul sau alte firme specializate, fiind astfel proiectate nct s corespund unei game variate de solicitri.

1.1. Sistem 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. Se poate aprecia c un sistem de operare acioneaz ca o interfaa ntre componenta hardware a unui sistem de calcul i utilizator, reprezentat prin programele sale de aplicaie (fig.1.1.).
SISTEM DE OPERARE NIVEL FIZIC NIVEL LOGIC comenzi macroinstruciuni limbaje de programare mesaje PROGRAME DE APLICAIE (PA) PA1 PA2

utilizator utilizator

HARDWARE

PAn

utilizator

Fig. 1.1. Sistemul de operare-interfa ntre hardware i utilizator

Sisteme operaionale Majoritatea sistemelor de operare sunt organizate pe dou niveluri: 1) nivelul fizic care este mai apropiat de partea de hardware, interfernd cu aceasta printr-un sistem de ntreruperi ce semnalizeaz anumite evenimente deosebite ce au loc n sistem; n acel moment va da controlul unor rutine de pe nivelul logic n vederea tratrii acestora i al informrii utilizatorului despre cauzele care le-au generat. 2) nivelul logic este mai apropiat de utilizator, interfernd cu acesta prin: comenzi ce specific execuia anumitor subfuncii ale sistemului de operare; macroinstruciuni ce conduc la expandarea n programele de aplicaii, a unor macrodefiniii cu funcii speciale; limbaje de programare; mesaje ctre utilizator; ntreruperi solicitate de ctre software. 1.2. 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 (fig.1.2.); 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 ntr-un 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, respectiv la modulele obiect din biblioteca utilizatorului - care au fost catalogate n prealabil, pentru a construi structura pe segmente impus de sistemul de calcul n vederea execuiei programelor (program obiect executabil-POE). Odat construit structura pe segmente, programul va fi gata de execuie, ceea ce va implica ncrcarea acestuia n memoria intern i execuia efectiv; componenta sistemului de operare ce realizeaz acest deziderat se numete ncrctor. Dac aceast component lanseaz automat execuia programului dup ncrcarea n memoria intern, ncrctorul este de tip Load and Go. 2) alocarea resurselor necesare execuiei programelor prin: identificarea programelor ce se execut i a necesarului de resurse; alocarea memoriei interne i a dispozitivelor periferice; identificarea i protecia coleciilor de date. 3) acordarea unor faciliti prin utilitare de interes general: gestiune cataloage (directori, subdirectori) i fiiere; creare, modificare, copiere, mutare, tergere, recuperare directori i fiiere; sortare/interclasare; comprimare/decomprimare spaiu pe suporturile de memorie extern; depistare i eliminare virui informatici i altele. 4) planificarea execuiei mai multor programe (multiprogramare) dup anumite criterii, n vederea utilizrii eficiente a unitii centrale de prelucrare.

Capitolul 1 Funciile i componentele unui sistem de operare


MS-DOS UNIX ed vi emacs nice editor

Editor texte

edit

Program surs Translator limbaj

PS asm pas c bas a cp cc b

Erori

Program obiect Editor legturi

PO

.obj

.o

Biblioteci utilizatori

Biblioteci sistem .exe .com a.out .x

Program obiect executabil

POE

ncrctor lansare n execuie

Fig. 1.2. Pregtirea execuiei programelor 5) coordonarea execuiei mai multor programe ce se execut simultan, prin urmrirea modului de execuie a instruciunilor programelor, depistarea i tratarea erorilor, lansarea n execuie a operaiilor de intrare/ieire i depistarea eventualelor erori. 6) asistarea execuiei programelor de ctre utilizator, prin comunicaia sistem de calcul-utilizator att la nivel hardware ct i la nivel software. 7) asigurarea organizrii i proteciei datelor n memorie. 8) posibilitatea generrii unui sistem de operare pe msura configuraiei existente. 1.3. Programe de comand - control Sisteme de operare sunt alctuite n principal, din dou categorii de programe: - programe de comand-control avnd rolul de coordonare i control al tuturor funciilor sistemului de operare; - programe de servicii care sunt executate sub supravegherea programelor de comand-control, i sunt utilizate de programator pentru dezvoltarea aplicaiilor. Programele de comand-control cunoscute i sub numele de monitoare, supervizoare sau executive, coordoneaz activitatea celorlalte componente ale sistemului de operare.

Sisteme operaionale Cele mai frecvent utilizate componente ale supervizorului sunt ncrcate n memoria intern nc de la generarea sistemului de operare, fiind pstrate n memoria intern pe tot parcursul execuiei aplicaiilor de ctre sistemul de calcul; aceste programe se numesc rutine rezidente, formnd nucleul sistemului de operare; celelalte componente rmn n memoria extern fiind apelate i executate numai atunci cnd sunt solicitate de ctre nucleul sistemului de operare ( se numesc rutine tranziente) asemenea oricrui program de aplicaie (fig. 1.3.)
Memoria intern Rutinele rezidente (nuceul) Rutinele tranziente Alte rutine i programe de aplicaie ncrcare sistem de operare Solicitri ale PCC Memoria extern Programe de comand control (PCC) Programe de servicii Programe de aplicaie

Fig. 1.3. Rutine rezidente i rutine tranziente Supervizorul iniiaz execuia operaiilor de intrare/ieire pentru transferul componentelor tranzitorii din memoria extern n memoria intern, fiind totodat responsabil de alocarea canalelor de transfer (magistralele) pentru dispozitivele periferice de intrare/ieire; de asemenea efectueaz controlul i coordonarea unitii centrale de prelucrare (CPU) pe parcursul recepionrii de mesaje de la canalele prin care se execut transferul, a execuiei programelor din memoria intern respectiv, a transmiterii de mesaje ctre dispozitivele periferice de intrare/ieire prin intermediul magistralelor. Dispozitivele periferice de intrare/ieire trebuie s fie alocate aplicaiilor care le solicit, datele solicitate fiind transferate n memoria intern sub controlul sistemului de gestiune a intrrilor/ieirilor. Programele de comand control ndeplinesc trei funcii majore: a. administrarea resurselor fizice ale sistemului de calcul; b. planificarea, lansarea i urmrirea execuiei aplicaiilor; c. depistarea i tratarea evenimentelor deosebite ce apar n timpul execuiei unei aplicaii. (detalii se regsesc n capitolul 3.). 1.4. Programe de servicii pentru dezvoltarea programelor de aplicaie Programele de servicii se execut sub controlul programelor de comand control ca orice program de aplicaie, avnd n componen programe care faciliteaz dezvoltarea programelor de aplicaii respectiv programe utilitare de interes general. Principalele programe de care dispune orice sistem de operare pentru dezvoltarea unui program de aplicaie sunt: editoarele de texte, translatoarele de limbaje, editoarele de legturi, ncrctoarele i depanatoarele. 1.4.1. Editoare de texte Un editor de texte este un set de programe ce ofer posibilitatea introducerii, editrii, i tipririi de texte sub forma unor fiiere ASCII. Textele sunt alctuite din caractere care se introduc de la tastatur aprnd n acelai timp i pe monitor; erorile pot fi corectate uor deoarece acestea nu sunt nc tiprite pe hrtie. Editoarele de texte au ca activitate principal, crearea i editarea de texte; mpreun cu hardware-ul, furnizeaz calea de urmat pentru vizualizarea, memorarea, editarea i regsirea textelor create. Editoarele de texte mai performante, permit i introducerea elementelor de grafic n text. Deoarece documentaia de utilizare a editoarelor de texte este voluminoas, proiectanii acestora au prevzut pentru cele mai frecvente funcii, un sistem de Help ce const n informaii minime afiate

Capitolul 1 Funciile i componentele unui sistem de operare la monitor referitor la modul de lucru al funciei. Numele fiierului, pagina curent, linia i coloana n care se afl cursorul, sunt permanent afiate pe monitor n vederea orientrii utilizatorului; textul poate fi memorat pe suport magnetic, se poate refolosi i modifica dup necesiti. Editoarele de texte sunt componente ale sistemului de operare cu cea mai mare frecvena de utilizare, existnd astzi o mare varietate datorit serviciilor aduse pentru a degreva utilizatorul de sarcini elementare cum sunt: desprirea n silabe, alinierea textelor, paragrafelor, titlurilor, sublinierea unor poriuni din text, cutare unui ir de caractere i editarea acestuia, indexarea documentului, realizarea cuprinsului, etc. Observaii: - un procesor de texte poate produce fiiere ASCII numai dac include opiunea out of ASCII text; limbajul Java folosete caractere ASCII reprezentate pe 16 bii (caractere Unicode) ce includ caracterele ntlnite la majoritatea limbilor strine 1.4.2. Translatoare de limbaje Translatoarele de limbaje sunt componente ale programelor de servicii care traduc programe surs(PS) scrise de utilizator ntr-un limbaj de programare, n programe obiect(PO), a cror instruciuni n limbaj main sunt recunoscute i executate de sistemul de calcul. Translatoarele de limbaje se divid n dou categorii: 1) compilative care realizeaz numai traducerea PS ---> PO; acestea pot fi: * asambloare - programe de servicii care traduc programe surs scrise n limbaje de asamblare specifice fiecrui sistem de calcul (masm, tasm); * compilatoare - programe de servicii care traduc programe surs scrise n limbaje evoluate, universale (Pascal, C); 2) interpretative - care odat cu compilarea realizeaz i execuia programului (Basic). Spre deosebire de asambloare, compilatoarele creeaz o form intermediar arborescent a instruciunilor din programul surs astfel: - orice variabil este un nod terminal al arborelui; - orice operator creeaz un arbore binar a crui ramur stng este primul operand, iar cea din dreapta este al doilea operand. Pentru a nelege modul de lucru al unui compilator n tratarea unei instruciuni, se consider urmtorul exemplu: S se determine arborele binar corespunztor aciunii unui compilator pentru calculul expresiei: X = A * ( B - C ) * D * ( E - F - 207 ) Rezultatul aciunii compilatorului asupra expresiei este redat n fig. 1.4. = X * A B E D C = F + * 207

Fig. 1.4. Aciunea unui compilator asupra expresiei X

Analiz sintactic PS

Structura pe atomi lexicali

Analiz sintactic

Arbore sintactic

Analiz sintactic

Structura pe atomi lexicali (4)

Optimizare cod

Arbore sintactic

Generare cod PO

(1 )

(2)

(3)

(1 )

(2)

(3)

(5)

Tabel de simboluri

Fiier erori

Fig.1.5. Etapele unui proces de compilare

Capitolul 1 Funciile i componentele unui sistem de operare (1) Analiza lexical descompune PS n atomi lexicali (identificatori, cuvinte rezervate, constante, operatori) pe care i introduce n tabela de simboluri sub form codificat. (2) Analiza sintactic prin care irul de atomi lexicali este analizat n privina depistrii unor structuri sintactice ca: expresii, liste, proceduri, plasndu-le ntr-un arbore de derivare (arbore sintactic). (3) Analiza semantic folosete structura programului i informaiile din tabela de simboluri pentru generarea unui grup de instruciuni simple cu format fix (codul intern); dac arborele sintactic nu respect gramatica limbajului, semnalizeaz erori. (4) Optimizarea codului presupune eliminarea redundanelor, a lungimii i variabilelor inutile, n vederea unei execuii mai eficiente. (5) Generarea codului aloc zone de memorie pentru pstrarea datelor n timpul execuiei, aloc registre i produce codul obiect. (6) Gestiunea structurilor de date reprezint o colecie de proceduri care creeaz i actualizeaz baza de date cu care lucreaz celelalte faze; n baza de date se gsesc tabelele identificatorilor, a constantelor, a constructorilor, a cuvintelor cheie, a procedurilor standard, care uneori sunt nglobate ntr-o unic tabel de simboluri. (7) Tratarea erorilor este realizat de o colecie de proceduri ce sunt activate cnd se depisteaz o eroare n program; utilizatorul primete mesaje de diagnostic iar compilatorul continu analiza sintactic pentru a depista alte erori. O succint abordare comparat a translatoarelor de limbaje conduce ctre urmtoarele aspecte mai semnificative: - asamblorul este determinat de limbajul main specific fiecrui sistem de calcul, iar compilatorul este specific unui anumit limbaj de programare independent de sistemul de calcul; - compilatorul ofer posibilitatea scrierii de programe pentru orice sistem de calcul ce dispune de compilatorul respectiv; - asamblorul translateaz o definiie simbolic a programului surs ntr-o singur definiie din programul obiect, n timp ce compilatorul o poate translata n mai multe definiii din programul obiect (memoria ocupat astfel de asamblor necesit mai puin spaiu, dar compilatorul este mai puternic datorit includerii ntr-o definiie surs, a mai multor definiii obiect); - interpretorul este util n special, la controlul proceselor industriale ce se desfoar n timp real, ns interpretarea este mai lent dect compilarea; - execuia repetat a unui program este facilitat de compilator care realizeaz translatarea o singur dat, n timp ce interpretorul l translateaz de fiecare dat. Exist componente ale sistemului de operare ce sunt concepute ca programe generalizate care, n funcie de necesitile utilizatorului se pot adapta pentru a realiza un grup de funcii; aceasta se realizeaz n faza de asamblare, prin intermediul unui macrolimbaj care asigur generarea secvenelor de program (PS i PO) specificate. Macrolimbajul folosete macroinstruciuni care sunt instruciuni ale PS, care asigur prin intermediul comenzilor, inserarea n PS a secvenei de instruciuni n locul unde a aprut macroinstruciunea; de remarcat este faptul c nu economisete dect timp utilizator. Structura unei macroinstruciuni: -nceput MACRO -nume NNNN -secvena instr.1 de ... instruciuni instr.n -sfrit ENDM Dup definirea unei macroinstruciuni, utilizarea numelui NNNN este echivalent cu utilizarea secvenei de instruciuni incluse n macroinstruciune.

Sisteme operaionale Macroasamblorul este componenta programelor de servici a sistemului de operare care trateaz macroinstruciunile, avnd ca activiti de baz: recunoaterea macrodefiniiilor indicate prin MACRO, ENDM; memorarea definiiilor macroinstruciunilor de care are nevoie pentru a le expanda la un apel macro; recunoaterea apelului macroinstruciunii cu secvena de instruciuni corespunztoare. nlocuirea macroinstruciunii cu secvena de instruciuni corespunztoare. 1.4.3. Editorul de legturi Structura extern a unui PS este alctuit din seciune, segment i program. Seciunea este o unitate de program independent constituit dintr-o secven de definire a datelor i o secven de instruciuni, ce asigur posibilitatea comunicrii cu alte uniti ale PS (fig.1.6.).
Elemente de comunicaie cu alte uniti Definire date Proceduri Elemente de comunicaie cu alte uniti Definire date Proceduri

Fig. 1.6. Comunicaia dintre dou seciuni ale unui program surs Definirea datelor i procedurilor servesc att propriei seciuni ct i altor seciuni. Compilatorul asigur pe lng generarea codului obiect i informaii de legtur ntre seciuni: - informaii de identificare (nume seciune, punctul de intrare); - informaii de legtur. Structura unei seciuni dup compilare este redat n fig.1.7.
Nume seciune Punct de intrare Dicionar de legtur Codul obiect

Fig. 1.7. Structura unei seciuni dup compilare Dicionarul de legturi rezult n urma determinrii de ctre compilator, a elementelor de comunicaie specificate n fiecare seciune a PS, coninnd dou tipuri de simboluri: - externe - nedefinite n seciune, cu adresa necunoscut; - interne - definite n seciune, dar referite din exteriorul acesteia. Segmentul este o succesiune de seciuni ntre care au fost rezolvate legturile; acesta conine: - numele segmentului; - punctul de intrare n segment; - codul obiect al seciunilor aranjate ntr-o anumit ordine. Programul este o structur arborescent de segmente (segment principal i segmente subordonate organizate pe substructuri); acesta este organizat ntr-o structur multifazic de ctre editorul de legturi, care pe baza numelor segmentelor din care este alctuit programul i a secvenei de seciuni din care este compus fiecare segment, creeaz structura de program pe care o depune pe suport extern (de obicei, hard-disk) de unde va fi ulterior ncrcat n RAM pentru execuie.

Capitolul 1 Funciile i componentele unui sistem de operare Editorul de legturi prelucreaz PO rezultat n urma compilrii seciunilor, n scopul construirii structurii pe segmente a programului; el este o component a programelor de servicii care asigur urmtoarele funcii: - construirea dicionarului de legturi ntre diverse seciuni; - nlocuirea fiecrei seciuni din cadrul unui segment, cu un factor de relocare corespunztor adresei de ncrcare n RAM; - alocarea de zone continue pentru segment; - modificarea constantelor de adres relocabile, pentru a conine valorile relocate ale simbolurilor lor; - cutarea n biblioteca relocabil, a modulelor obiect catalogate; - construirea structurii arborescente a programelor executabile. Activitatea editorului de legturi (linkeditor) este redat n fig.1.8. PO Program obiect Structura pe segmente

Bibliotec sistem

Editorul de legturi

Program obiect executabil

POE

Bibliotec utilizator Fig.1.8. Activitatea editorului de legturi Observaii: - mediul de programare Pascal include editorul de legturi n compilator; - sub sistemul de operare UNIX editarea legturilor se realizeaz implicit, cu excepia cazurilor n care ea este gestionat de utilizator; n acest caz, la compilare se va specifica opiunea - o (numai compilare). 1.5. Alte programe de servicii ncrctorul ncrctorul este componenta sistemului de operare ce ncarc programul obiect executabil (POE) n RAM n vederea execuiei i iniializarea execuiei. ncrcarea programelor n RAM pentru execuie se poate face: - imediat dup translatare, cnd sistemul de operare are inclus ncrctorul n compilator (compilatoare Load and Go); - n momentul editrii de legturi (ncrctorul inclus n Link); - dup editarea de legturi, ca proces distinct. Activitatea ncrctorului la sistemul de operare MS-DOS este materializat prin execuia funciei exec, n timp ce la sistemul de operare UNIX funcia similar este execl

Sisteme operaionale Depanatorul Depanatorul este un program de servicii ce ofer utilizatorului mijloace convenabile pentru depanarea i controlul operaiilor programului su prin: - lansarea n execuie a programului; - suspendarea execuiei n puncte predeterminate (breakpoints) sau execuie pas cu pas; - examinarea i modificarea coninutului cuvintelor din RAM i registre; - realizarea de modificri i corecii adiionale la rularea programului, utiliznd codul binar, octal, hexazecimal. Sub MS-DOS exist utilitarul debug, n timp ce sub UNIX se poate folosi utilitarul sdb ce se constituie ca un depanator simbolic care permite analiza execuiei pas cu pas a programelor, prin vizualizarea strii variabilelor, a parametrilor ce definesc mediul de execuie i altele. Alturi de programele de servicii destinate acordrii de instrumente ce ofer faciliti utilizatorilor pentru dezvoltarea propriilor programe de aplicaie, un sistem de operare dispune de programe de interes general care sunt lansate n execuie prin specificarea unor comenzi aparinnd interpretorului de comenzi sau se gsesc pe suportul de memorie extern sub forma fiierelor executabile: - gestiunea cataloagelor (directori, subdirectori): copiere, mutare, tergere, creare, redenumire etc. - gestiunea datelor i programelor sub forma fiierelor: creare, mutare, copiere, tergere, redenumire, salvare, refacere etc.; - informaii despre sistemul de calcul, despre componente i despre resursele utilizate; - opiuni de configurare a resurselor; - comprimare/decomprimarea spaiu pe suportul de memorie extern: pkzip/pkunzip, arj, rar, stacker; - antivirus: scan, clean, tbav, fprot, avx, rav; - alte comenzi. 1.6. Sisteme de operare la calculatoare personale 1.6.1. Categorii de sisteme de operare La calculatoarele personale (PC) exist n principal dou categorii de sisteme de operare: 1) monotasking care execut un singur task (program sau parte a unui program aflat n faza de execuie) la un moment dat, avnd ca principale funcii: - ncrcarea i execuia programelor; - asigurarea unei interfee omogene cu dispozitivele periferice; - posibilitatea dialogrii cu utilizatorul prin intermediul unui interpretor de comenzi. 2) multitasking care va asigura suplimentar, partajarea timpului ntre programele ce se execut simultan i gestiunea alocrii resurselor sistemului de calcul att hardware ct i software; nucleul sistemului de operare include urmtoarele componente: - supervizorul care are ca principale activiti lansarea, oprirea sau suspendarea aplicaiilor; - planificatorul proceselor care regleaz timpul de execuie alocat pentru diverse activiti. I. alocatorul de resurse evideniaz resursele libere sau alocate; II. modulul de gestiune pentru intrri /ieiri ce asigur dialogul cu perifericele. La nucleul sistemului de operare se adaug: I. interpretorul de comenzi; II. sistemul de gestiune al fiierelor;

Capitolul 1 Funciile i componentele unui sistem de operare III. sistemul de gestiune al bazelor de date; IV. programe de comunicaie Referirile s-au fcut la nucleul sistemelor de operare rezident n memoria intern, parte component a programelor de comand control; considerentele precizate la programele de sistem rmn valabile cu specificul impus de categoria microsistemelor. Principalele sisteme de operare existente astzi pe PC-uri sunt: MS-DOS i interfeele grafice Windows, Unix, OS/2, Apple/Macintosh DOS, VMS. 1) MS-DOS (Microsoft Disk Operating System) n 1981 firma Microsoft a lansat sistemul de operare IBM MS-DOS care n 1985 a devenit standardul sistemelor de operare pe microcalculatoare cu implementarea microprocesoarelor pe 16 bii (I 8086, I 8088) MS-DOS versiunea 3.3; versiunile ulterioare ofer faciliti pentru desfurarea activitii utilizatorului prin punerea la dispoziie a unor opiuni de alegere din meniu, comparativ cu versiunile anterioare care presupuneau cunoaterea sintaxei fiecrei comenzi; drept urmare, software-ul special denumit DOS SHELL a fcut din sistemul de operare MS-DOS un sistem uor de utilizat, cu meniu disponibil pentru comenzi. Ultima versiune este MS-DOS 7 sub interfeele grafice Windows. Sistemul de operare MS-DOS a fost proiectat n principal, s execute un singur program pentru un singur utilizator. 2) Digital Research Corporation a introdus cteva versiuni noi, incluznd DOS Concurent care suporta execuia mai multor programe n acelai timp (DR-DOS). 3) Apple DOS a fost introdus pe PC-urile de tip Apple, care se bazeaz pe microprocesoare diferite dect cele folosite de IBM, deci incompatibil cu clasele de PC-ri de tip IBM; iniial a fost destinat pentru un singur utilizator care execut un program la un anumit moment. Un sistem de operare mult mai puternic este Macintosh DOS proiectat s fie utilizat pe PCuri de tip Apple /Macintosh DOS (implementat cu microprocesor Motorola 68040) ce permite multiprogramare i memorie virtual. Apple Computer a lansat urmtoarea generaie de sisteme de operare constituit din Mac OS 8 i Rhapsody. 4) Interfeele grafice WINDOWS Windows este o interfa grafic orientat pe ferestre; utilizatorul poate lansa concomitent mai multe aplicaii, fiecare n fereastra ei, precum i efectuarea schimbului de informaii intre acestea. Se consider ca apariia sa marcheaz momentul n care calculatoarele IBM i compatibile, au putut egala facilitile de utilizare i viteza calculatoarelor din gama Macintosh. Windows 3.11. for Wokgroups, spre deosebire de Windows 3.1., dispune suplimentar de faciliti pentru lucru n reea a grupurilor de utilizatori conectai; acetia pot efectua transferuri de date, mesaje, informaii prin simpla selectare i activare a unor comenzi i funcii disponibile. Windows NT (New Tehnology) a fost proiectat n ideea compatibilitii cu interfeele grafice precedente, Windows 3.1. i Windows 3.11. for Workgroups. Sistemul Windows NT, serverul Windows NT i produsele legate de acesta, alctuiesc un sistem un client-server deschis, deosebit de puternic i fiabil. Unul dintre avantajele majore care-l recomand, constituie posibilitatea implementrii att pe platforme Intel, ct i pe platforme bazate pe microprocesoare RISC. Windows 95 spre deosebire de versiunile precedente, ncearc s fie un compromis de sistem de operare ce lucreaz pe 32 de bii; ncorporeaz majoritatea facilitilor regsite la celelalte interfee grafice, adugnd i altele noi. Este util doar n aplicaii pe 32 de bii, chiar dac pstreaz compatibilitatea cu aplicaiile pe 16 bii. Windows 98 este un sistem de operare complet integrat cu Internetul, constituindu-se ca un suport pentru noile tehnologii hardware i pstrnd compatibilitatea cu Windows 95 fa de care apare ca un upgrade.

Sisteme operaionale Windows 2000 este ultima generaie a celui mai rspndit sistem de operare de reea din ntreaga lume. Proiectat pentru organizaii de orice dimensiune noua versiune ofer siguran sporit i scalabilitate, costuri mai reduse, respectiv servicii pentru aplicaii derulate prin Internet. 5) OS/2 (Operating System / 2) n 1988 IBM i Microsoft a introdus sistemul OS/2 care a fost proiectat s preia avantajele microprocesoarelor I 80286 i I 80386 pentru seria de microcalculatoare IBM PS/2 pe 32 bii; este un sistem de operare multitasking, fiind capabil a adresa 16 M memorie intern; necesit 1,5 M memorie intern i hard disc; versiunile construite n jurul microprocesorului I 80386 sunt i multiutilizator (maxim 16 utilizatori simultan). Dei spaiul adreselor fizice este de 16 M, prin mecanismul memoriei virtuale spaiul adreselor virtuale poate accesa pn la 32 M. OS/2 pstreaz majoritatea comenzilor MS-DOS n special pentru operaiile cu fiiere i periferice. Pentru a permite micarea intre aplicaii a utilizatorului, OS/2 dispune de o interfa PM (Presentation Manager) orientat pe ferestre pentru introducerea comenzilor, selectarea taskurilor ce se vor executa, gestiunea taskurilor i altele; PM dispune de dou programe de comand control: controlul pentru configurarea porturilor, culorilor ecranului i setului de caractere, etc.; utilitar pentru fiiere ce permite deplasarea prin arbori de directori, mutare, copiere, tergere de fiiere i subdirectori, modificarea atributelor, sortarea i alte operaii. Versiunile recente OS/2 Warp i OS/2 Warp Connect solicit cel puin un sistem AT 386 cu 4 M de RAM (OS/2 Warp) respectiv 8 M de RAM (Warp Connect). OS/2 Warp este un sistem de operare ce controleaz aciunile calculatorului, dar este i o interfa grafic utilizator (GUI-Graphical User Interface), care permite comanda calculatorului, prin selectarea de simboluri vizuale. Dintre facilitile disponibile la OS/2 Warp se pot enumera: lucrul cu mai multe programe (multitasking); interfaa sistemului Warp este uor de neles, de memorat; toate programele livrate cu Warp au aspecte grafice i de operare similare (pachetul Bonus Pak) OS/2 Warp faciliteaz conectarea la Internet (CIM) Bonus Pak include un procesor de texte, un program de tip foaie electronic de calcul (spredsheet), generator de diagrame, Sistem de Gestiune a Bazelor de Date (SGBD), generator de rapoarte; utilitare pentru accesoriile: plci audio, fax / modem, video, etc. Conectarea la Internet se realizeaz on-line Compuserve cu CIM pentru OS/2, respectiv cu Hyper ACCESS Lite la alte servicii on-line, la un Bulletin Board System sau la alt PC. 6) UNIX a fost iniial creat pentru minicalculatoare, pentru a mri disponibilitile sistemului: memorie virtual, multiutilizator i multitasking; rescris n limbajul C, a fost portabil pe o gam mai larg de sisteme de calcul: mainframes, microcalculatoare, de unde i unul din marile sale avantaje. Actualmente, sistemele de operare UNIX sunt proiectate de mai multe firme specializate, ceea ce a condus la existenta mai multor versiuni cum sunt: AIX, SCO-ODT, HP-UX, SOLARIS, Digital, UNIX, IRIX, Linux, .a. Trsturile principale ale sistemului de operare UNIX sunt: Sistemul de fiiere structurat pe mai multe niveluri, ceea ce permite mai multor utilizatori s lucreze cu acelai calculator n acelai timp (multiuser); Orice utilizator curent poate solicita execuia mai multor programe n acelai timp (multitasking); Un program utilizator poate s transmit rezultatele sale altui program; Utilizatorul poate redirecta rezultatele programului su de la un dispozitiv periferic la altul;

Capitolul 1 Funciile i componentele unui sistem de operare Existena unui interpretor de comenzi i un limbaj adecvat, cunoscut sub denumirea de Shell; Folosete un limbaj structurat numit C, pentru programarea sistemelor; Includerea unor componente pentru editarea textelor i formatarea lor pentru tiprire; Utilizarea de tehnici evoluate pentru conectarea sistemelor de calcul care opereaz sub UNIX sau alt sistem de operare; Nu impune vreo limit la eventualele modificri determinate de specificul aplicaiei. Linux a fost dezvoltat ca o versiune distribuit gratuit de UNIX, UNIX fiind unul dintre cele mai utilizate sisteme de operare n lume, mult timp standardul pentru staii de lucru de nalt performan i servere mari. Pentru c UNIX este un produs comercial, el trebuie cumprat pentru fiecare platform pe care ruleaz. Licenele pentru versiunile UNIX pentru PC-uri sunt destul de scumpe i de aceea, n tentativa de a face UNIX-ul disponibil fr costuri pentru cei care vor s-l experimenteze, un numr important de sisteme UNIX pentru domeniul public au fost dezvoltate de-a lungul anilor. Una dintre primele astfel de versiuni ale UNIX-ului a fost Minix, scris de Andrew Tanenbaum. Cu toate c Minix nu avea un set foarte mare de caracteristici, a fost un mic sistem de operare ce putea fi folosit pe PC-uri. Pentru a extinde Minix-ul, un numr de programatori au nceput dezvoltarea unui sistem de operare mai puternic care s profite de avantajele arhitecturii microprocesorului I 80386. Unul din primii proiectani ai acestui sistem cunoscut ulterior sub numele de Linux, a fost Linus Torvalds de la Universitatea din Helsinki. El a lansat o prim versiune a Linux-ului n 1991. O versiune comercial, aproape fr nici un bug, a fost lansat pentru programatori n martie 1992. Curnd, muli programatori au nceput s lucreze la Linux i pe msur ce provocarea i dorina de a construi un sistem de operare asemntor UNIX-ului a nceput s prind, Linux-ul a crescut cu o rat remarcabil. Deoarece numrul celor care lucrau la Linux cretea, ntr-un final acest sistem de operare a fost terminat i acum include toate instrumentele ce se pot ntlni ntr-o versiune comercial a UNIX-ului. Linux-ul continu s creasc pe msur ce adapteaz noi caracteristici i programe care original, au fost scrise pentru versiunea comercial a UNIX-ului. Linux nu se bazeaz pe o singur versiune de UNIX, ci este o consolidare a celor mai bune caracteristici ale BSD UNIX i System V. BSD UNIX a fost dezvoltat i implementat la Universitatea din California (Berkeley) ncepnd din anul 1997. Cteva lansri majore au crescut puterea lui BSD UNIX. Cteva programe standard UNIX au fost iniial realizate la BSD, cu toate c BSD a ncetat dezvoltarea versiunilor de UNIX la nceputul anilor 90. Compania AT&T care a realizat prima versiune de UNIX, a continuat propria dezvoltare producnd o serie de versiuni UNIX numite System III, System IV i System V. Linux folosete prima lansare a lui BSD UNIX numit 4.4 BSD ca baz i preia cteva alte caracteristici din ultima lansare a versiunii System V, numit System V Release 4 ( SVR4 ). Linux este un sistem de operare complet multitasking i multiuser care se comport ca sistemele de operare UNIX n termenii comportamentului nucleului i a suportului pentru periferice (fig.3.9). Linux are toate trsturile UNIX-ului, plus cteva extensii recente care i-au adugat mai multa flexibilitate . Unele servicii software furnizate chiar de nucleu, au proprieti similare, prin urmare au fost abstractizate n clase. De exemplu, diferitele protocoale de reea au fost abstractizate ntr-o singur interfa de programare numit BSD socket library. Un alt exemplu l constituie fiierele de sistem virtuale ( Virtual File System -VFS ) care abstractizeaz operaii legate de fiiere i pentru care fiecare sistem de fiiere are propria implementare. Cnd o entitate ncearc s utilizeze un sistem de fiiere, cererea se transmite VFS - ului care o redirecioneaz ctre driverul pentru sistemul de fiiere corespunztor. Pentru a face ca Linux-ul s fie acceptat la scar larg, el suport un numr de sisteme de fiiere inclusiv cele compatibile cu DOS i OS/2. Sistemul iniial de fiiere propriu al Linux-ului

Sisteme operaionale numit ext2fs este proiectat pentru o utilizare optim a discului. Linux-ul este ideal pentru dezvoltare de aplicaii i experimentare cu noi limbaje. Diferite compilatoare, inclusiv C, C++, Fortran, Pascal, Modula-2, LISP, Ada, Basic i Smalltalk vin prin distribuirea software-ului. Multe dintre compilatoarele Linux-ului, instrumente, debuggere i editoare provin de la proiectul GNU Free Software Foundation. 7) Open VMS Open VMS, iniial denumit VMS ( Virtual Memory System ), a fost conceput n 1976 ca un sistem de operare pentru noua linie de calculatoare pe 32 de bii a firmei DEC (Digital Eguipment Corporation), numit VAX (Virtual Address eXtension ). Primul model VAX ( 11/780 ) a fost denumit Star, de aici i numele de cod Starlet pentru sistemul de operare VMS, nume care se pstreaz i astzi ca nume pentru biblioteca sistem ( STARLET.OLB). Versiunea actual a sistemului de operare este Open VMS 7.2 Open VMS este un sistem de operare pe 32 de bii cu suport pentru multitasking, multiprocesor i memorie virtual. Conceput ca un sistem de operare de uz general care ruleaz att n mediile de dezvoltare, ct i n mediile de producie, Open VMS poate fi implementat pe toat seria de calculatoare Alpha a firmei DEC (actualmente un departament al firmei Compaq Computer Corporation ), ct i pe seriile de calculatoare VAX, Micro VAX, VAX Station i VAX Server. Pentru ambele categorii de platforme OpenVMS asigur faciliti de multiprocesare simetric ( Symmetric MultiProcessing SMP). Sistemul de operare OpenVMS poate fi configurat pentru a oferi performane maxime n medii foarte variate ca de exemplu domenii care necesit calcule i operaii de intrare /ieire intense, medii client /server, sau execuie n timp real. Performana sistemului depinde de tipul de calculator, memoria intern disponibil, numrul i tipul discurilor, etc. Versiunea 7.2 pentru platforme Alpha aduce noi faciliti proiectate pentru a asigura un nivel nalt de interoperabilitate ntre OpenVMS i Windows NT. Aceasta ofer i arhitectura software Galaxy pentru OpenVMS care crete performana, scalabilitatea i sigurana n funcionare permind mai multor instante ale sistemului de operare s se execute simultan n acelai calculator sau pe un cluster. Cele mai importante faciliti introduse sau extinse de ctre OpenVMS V7.2 sunt: integrarea cu Windows NT; arhitectura Galaxy pentru platforme Alpha; canale pe fibre optice pentru interconectarea mediilor de stocare ntr-un cluster OpenVMS; componenta Object Model ( COM ); Java Development Kit; Netscape Fast Track Web Server; noi modaliti de realizare a clusterelor ( performan sporit pentru baze de date mari distribuite, management simplificat, toleran la defeciuni fizice, Galaxy, etc ;) sistem mbuntit de stocare a fiierelor; servicii de TCP/IP mbuntite, bazate pe cele din kernelul Tru 64 UNIX; unelte noi pentru administrare; mbuntiri n ceea ce privete performana, sigurana, disponibilitatea i securitatea sistemului de operare; program de BACKUP mbuntit; compatibilitate complet cu anul 2000. Ultima versiune ( OpenVMS V7.2-1) include suport pentru COM V1.1 pentru OpenVMS, canale de fibre optic pentru conectarea dispozitivelor de stocare, suport pentru multe din standardele importante cum ar fi OSF/Motif i OSF Distributed Computing Enviroment (DCE), Java i Microsoft Distributed Component Object Model (DCOM).

Capitolul 1 Funciile i componentele unui sistem de operare La ora actual exist aproximativ 450.000 de sisteme OpenVMS instalate n ntreaga lume . Produsele Alpha/OpenVMS sunt apreciate datorit performanei, securitii, siguranei n funcionare, facilitilor de interconectare oferite, posibilitilor de upgrade ulterior i costurilor foarte sczute de ntreinere . Acestea sunt dovedite i de poziia ocupat pe pia : numrul 1 n domeniul sistemelor integrate din domeniul medical; 90% din sistemele productorilor de procesoare; peste 50% din sistemele de facturare; 66% din transferurile financiare se fac pe maini Alpha/OpenVMS; 5 din cele mai mari 10 burse ale lumii; peste 80% din loterii. n Romnia, sistemele Alpha/OpenVMS/Oracle sunt folosite de ctre Ministerul Industriei i Comerului, Mobifon ( Connex ), Registrul Independent al Acionarilor REGISCO S.A., SNCFR i n sistemul bancar .

Sisteme operaionale

EXERCIII 1. Care sunt asemnrile i deosebirile dintre programele de aplicaie (software de aplicativ) i programele de sistem (software de baz) ? 2. Identificai etapele de pregtire a execuiei programelor pe un mediu de programare (Turbo Pascal, de exemplu), evideniind activitatea componentelor sistemului de operare. 3. Determinai structura arborescent creat de aciunea unui compilator asupra expresiilor: a) E = ( a - b ) * ( c + d + e : f ) b) F = x - ( y + z ) : t c) G = a2 - b2 : 5c d) H = x + ( y - a + b )( z2 - t3 ) : 298 - uvw1/2 e) A = GF - EH 4. Prin ce se deosebesc esenial translatoarele de limbaje ? 5. Corectai erorile de execuie aprute la un program scris n Turbo Pascal, utiliznd depanatorul inclus n MS-DOS (se activeaz debug.exe). 6. Care sunt principalele sisteme de operare disponibile la calculatoarele personale compatibile IBM ? Menionai caracteristicile de baz mai semnificative. 7. Prin ce se difereniaz semnificativ sistemele de operare care sunt proiectate pentru calculatoarele IBM, de cele care echipeaz sistemele Apple i MacIntosh ?

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