Documente Academic
Documente Profesional
Documente Cultură
1
1) nivelul fizic care este mai apropiat de partea de hardware, interferând 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 tratării acestora şi al informării
utilizatorului despre cauzele care le-au generat.
2) nivelul logic este mai apropiat de utilizator, interferând cu acesta prin:
- comenzi ce specifică execuţia anumitor subfuncţii ale sistemului de operare;
- macroinstrucţiuni ce conduc la expandarea în programele de aplicaţii, a unor macrodefiniţii cu
funcţii speciale;
- limbaje de programare;
- mesaje către utilizator;
- întreruperi solicitate de către software.
2
5) coordonarea execuţiei mai multor programe ce se execută simultan, prin urmărirea
modului de execuţie a instrucţiunilor programelor, depistarea şi tratarea erorilor, lansarea în
execuţie a operaţiilor de intrare/ieşire şi depistarea eventualelor erori.
6) asistarea execuţiei programelor de către utilizator, prin comunicaţia sistem decalcul utilizator
atât la nivel hardware cât şi la nivel software.
7) asigurarea organizării şi protecţiei datelor în memorie.
8) posibilitatea generării unui sistem de operare pe măsura configuraţiei existente.
3
Cele mai frecvent utilizate componente ale supervizorului sunt încărcate în memoria
internă încă de la generarea sistemului de operare, fiind păstrate în memoria internă pe tot
parcursul execuţiei aplicaţiilor de către sistemul de calcul; aceste programe se numesc rutine
rezidente, formând nucleul sistemului de operare; celelalte componente rămân în memoria
externă fiind apelate şi executate numai atunci când sunt solicitate de către nucleul sistemului de
operare ( se numesc rutine tranziente) asemenea oricărui program de aplicaţie (fig. 1.3.)
4
tipăririi de texte sub forma unor fişiere ASCII. Textele sunt alcătuite din caractere care se
introduc de la tastatură apărând în acelaşi timp şi pe monitor; erorile pot fi corectate uşor
deoarece acestea nu sunt încă tipărite pe hârtie.
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 regăsirea
textelor create. Editoarele de texte mai performante, permit şi introducerea elementelor de
grafică în text.
Deoarece documentaţia de utilizare a editoarelor de texte este voluminoasă, proiectanţii
acestora au prevăzut pentru cele mai frecvente funcţii, un sistem de Help ce constă în informaţii
minime afişate la monitor referitor la modul de lucru al funcţiei.
Numele fişierului, pagina curentă, linia şi coloana în care se află cursorul, sunt permanent
afişate pe monitor în vederea orientării utilizatorului; textul poate fi memorat pe suport magnetic,
se poate refolosi şi modifica după necesităţi.
Editoarele de texte sunt componente ale sistemului de operare cu cea mai mare frecvenţa
de utilizare, existând astăzi o mare varietate datorită serviciilor aduse pentru a degreva
utilizatorul de sarcini elementare cum sunt: despărţirea în silabe, alinierea textelor, paragrafelor,
titlurilor, sublinierea unor porţiuni din text, căutare unui şir de caractere şi editarea acestuia,
indexarea documentului, realizarea cuprinsului, etc.
Observaţii:
- un procesor de texte poate produce fişiere ASCII numai dacă include opţiunea out of ASCII
text; limbajul Java foloseşte caractere ASCII reprezentate pe 16 biţi (caractere Unicode) ce
includ caracterele întâlnite la majoritatea limbilor străine.
Să se determine arborele binar corespunzător acţiunii unui compilator pentru calculul expresiei:
X = A * ( B - C ) * D * ( E - F - 207 )
Rezultatul acţiunii compilatorului asupra expresiei este redat în fig. 1.4.
5
6
(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 privinţa depistării unor
structuri sintactice ca: expresii, liste, proceduri, plasându-le într-un arbore de derivare (arbore
sintactic).
(3) Analiza semantică foloseşte structura programului şi informaţiile din tabela de simboluri
pentru generarea unui grup de instrucţiuni simple cu format fix (codul intern); dacă arborele
sintactic nu respectă gramatica limbajului, semnalizează erori.
(4) Optimizarea codului presupune eliminarea redundanţelor, a lungimii şi variabilelor inutile, în
vederea unei execuţii mai eficiente.
(5) Generarea codului alocă zone de memorie pentru păstrarea datelor în timpul execuţiei, alocă
registre şi produce codul obiect.
(6) Gestiunea structurilor de date reprezintă o colecţie de proceduri care creează şi actualizează
baza de date cu care lucrează celelalte faze; în baza de date se găsesc 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 colecţie de proceduri ce sunt activate când se depistează
o eroare în program; utilizatorul primeşte mesaje de diagnostic iar compilatorul continuă analiza
sintactică pentru a depista alte erori.
O succintă abordare comparată a translatoarelor de limbaje conduce către
următoarele aspecte mai semnificative:
- asamblorul este determinat de limbajul maşină specific fiecărui 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 definiţie simbolică a programului sursă într-o singură definiţie din
programul obiect, în timp ce compilatorul o poate translata în mai multe definiţii din programul
obiect (memoria ocupată astfel de asamblor necesită mai puţin spaţiu, dar compilatorul este mai
puternic datorită includerii într-o definiţie sursă, a mai multor definiţii obiect);
- interpretorul este util în special, la controlul proceselor industriale ce se desfăşoară în timp real,
însă interpretarea este mai lentă decât compilarea;
- execuţia 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 funcţie de necesităţile utilizatorului se pot adapta pentru a realiza un grup de funcţii;
aceasta se realizează în faza de asamblare, prin intermediul unui macrolimbaj care asigură
generarea secvenţelor de program (PS şi PO) specificate.
Macrolimbajul foloseşte macroinstrucţiuni care sunt instrucţiuni ale PS, care asigură prin
intermediul comenzilor, inserarea în PS a secvenţei de instrucţiuni în locul unde a apărut
macroinstrucţiunea; de remarcat este faptul că nu economiseşte decât timp utilizator.
Structura unei macroinstrucţiuni:
-început MACRO
-nume NNNN
-secvenţa instr.1
7
De ...
instrucţiuni instr.n
-sfârşit ENDM
Definirea datelor şi procedurilor servesc atât propriei secţiuni cât şi altor secţiuni.
Compilatorul asigură pe lângă generarea codului obiect şi informaţii de legătură între
secţiuni:
- informaţii de identificare (nume secţiune, punctul de intrare);
- informaţii de legătură.
Structura unei secţiuni după compilare este redată în fig.1.7.
8
Dicţionarul de legături rezultă în urma determinării de către compilator, a elementelor de
comunicaţie specificate în fiecare secţiune a PS, conţinând două tipuri de simboluri:
- externe - nedefinite în secţiune, cu adresa necunoscută;
- interne - definite în secţiune, dar referite din exteriorul acesteia.
Segmentul este o succesiune de secţiuni între care au fost rezolvate legăturile; acesta
conţine:
- numele segmentului;
- punctul de intrare în segment;
- codul obiect al secţiunilor 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 către
editorul de legături, care pe baza numelor segmentelor din care este alcătuit programul şi a
secvenţei de secţiuni 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 încărcat în RAM pentru
execuţie.
Editorul de legături prelucrează PO rezultat în urma compilării secţiunilor, în scopul
construirii structurii pe segmente a programului; el este o componentă a programelor de servicii
care asigură următoarele funcţii:
- construirea dicţionarului de legături între diverse secţiuni;
- înlocuirea fiecărei secţiuni din cadrul unui segment, cu un factor de relocare corespunzător
adresei de încărcare în RAM;
- alocarea de zone continue pentru segment;
- modificarea constantelor de adresă relocabile, pentru a conţine valorile relocate ale simbolurilor
lor;
- căutarea în biblioteca relocabilă, a modulelor obiect catalogate;
- construirea structurii arborescente a programelor executabile.
Activitatea editorului de legături (linkeditor) este redată în fig.1.8.
9
Observaţii:
- mediul de programare Pascal include editorul de legături în compilator;
- sub sistemul de operare UNIX editarea legăturilor se realizează implicit, cu excepţia cazurilor
în care ea este gestionată de utilizator; în acest caz, la compilare se va specifica opţiunea - o
(numai compilare).
10
2) Digital Research Corporation a introdus câteva versiuni noi, incluzând DOS Concurent care
suporta execuţia mai multor programe în acelaşi timp (DR-DOS).
3) Apple DOS a fost introdus pe PC-urile de tip Apple, care se bazează pe microprocesoare
diferite decât cele folosite de IBM, deci incompatibil cu clasele de PC-ri de tip IBM; iniţial 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 următoarea generaţie de sisteme
de operare constituită din Mac OS 8 şi Rhapsody.
4) Interfeţele grafice WINDOWS
Windows este o interfaţă grafică orientată pe ferestre; utilizatorul poate lansa
concomitent mai multe aplicaţii, fiecare în fereastra ei, precum şi efectuarea schimbului de
informaţii intre acestea. Se consideră ca apariţia sa marchează momentul în care calculatoarele
IBM şi compatibile, au putut egala facilităţile de utilizare şi viteza calculatoarelor din gama
Macintosh.
Windows 3.11. for Wokgroups, spre deosebire de Windows 3.1., dispune suplimentar de
facilităţi pentru lucru în reţea a grupurilor de utilizatori conectaţi; aceştia pot efectua transferuri
de date, mesaje, informaţii prin simpla selectare şi activare a unor comenzi şi funcţii disponibile.
Windows NT (New Tehnology) a fost proiectată în ideea compatibilităţii cu interfeţele grafice
precedente, Windows 3.1. şi Windows 3.11. for Workgroups. Sistemul Windows NT, serverul
Windows NT şi produsele legate de acesta, alcătuiesc un sistem un client-server deschis,
deosebit de puternic şi fiabil. Unul dintre avantajele majore care-l recomandă, constituie
posibilitatea implementării atât pe platforme Intel, cât şi pe platforme bazate pe microprocesoare
RISC.
Windows 95 spre deosebire de versiunile precedente, încearcă să fie un compromis de system de
operare ce lucrează pe 32 de biţi; încorporează majoritatea facilităţilor regăsite la celelalte
interfeţe grafice, adăugând şi altele noi. Este util doar în aplicaţii pe 32 de biţi, chiar dacă
păstrează compatibilitatea cu aplicaţiile pe 16 biţi.
Windows 98 este un sistem de operare complet integrat cu Internetul, constituindu-se ca un
suport pentru noile tehnologii hardware şi păstrând compatibilitatea cu Windows 95 faţă de care
apare ca un upgrade.
Windows 2000 este ultima generaţie a celui mai răspândit sistem de operare de reţea din întreaga
lume. Proiectat pentru organizaţii de orice dimensiune noua versiune oferă siguranţă sporită şi
scalabilitate, costuri mai reduse, respectiv servicii pentru aplicaţii 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 biţi; 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).
Deşi spaţiul adreselor fizice este de 16 M, prin mecanismul memoriei virtuale spaţiul
adreselor virtuale poate accesa până la 32 M.
OS/2 păstrează majoritatea comenzilor MS-DOS în special pentru operaţiile cu fişiere şi
periferice.
Pentru a permite mişcarea intre aplicaţii a utilizatorului, OS/2 dispune de o interfaţă PM
11
(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 fişiere ce permite deplasarea prin arbori de directori, mutare, copiere, ştergere
de fişiere şi subdirectori, modificarea atributelor, sortarea şi alte operaţii.
Versiunile recente OS/2 Warp şi OS/2 Warp Connect solicită cel puţin 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ă acţiunile calculatorului, dar este şi o
interfaţă grafică utilizator (GUI-Graphical User Interface), care permite comanda calculatorului,
prin selectarea de simboluri vizuale.
Dintre facilităţile disponibile la OS/2 Warp se pot enumera:
lucrul cu mai multe programe (multitasking);
interfaţa sistemului Warp este uşor de înţeles, de memorat;
toate programele livrate cu Warp au aspecte grafice şi de operare similare
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: plăci 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 iniţial creat pentru minicalculatoare, pentru a mări disponibilităţile 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.
Trăsăturile principale ale sistemului de operare UNIX sunt:
Sistemul de fişiere structurat pe mai multe niveluri, ceea ce permite mai multor utilizatori să
lucreze cu acelaşi calculator în acelaşi timp (multiuser);
Orice utilizator curent poate solicita execuţia mai multor programe în acelaşi timp
(multitasking);
Un program utilizator poate să transmită rezultatele sale altui program;
Utilizatorul poate redirecta rezultatele programului său de la un dispozitiv periferic la altul;
Existenta unui interpretor de comenzi si un limbaj adecvat, cunoscut sub denumirea de Shell;
Foloseste un limbaj structurat numit C, pentru programarea sistemelor;
Includerea unor componente pentru editarea textelor si formatarea lor pentru tiparire;
Utilizarea de tehnici evoluate pentru conectarea sistemelor de calcul care opereaza sub UNIX
sau alt sistem de operare;
Nu impune vreo limita la eventualele modificari determinate de specificul aplicatiei.
12