Informatica
Limbajul unui sistem de operareLimbajul unui sistem de operare Orice limbaj de operare este astfel conceput si elaborat, incat sa realizeze in mod optim functiile(serviciile) pe care trebuie sa le execute, dar in acelasi timp sa ofere o interfata comoda si eficienta intre utilizator si resursele SC. Tocmai aceste deziderate au contribuit pana in prezent la aparitia diverselor sisteme de operare. Evident, unele SO au aparut si au disparut, iar altele s-au perfectionat tinand seama de tehnologia hardware, dar si de dezvoltarea software. Acelasi lucru se poate afirma si despre domeniul limbajelor de programare. Atat sistemele de operare, cat si limbajele de programare s-au perfectionat pentru a oferi utilizatorului metode si tehnici moderne in procesarea informatiei, in ceea ce se astazi numeste tehnologia informatiei (IT-Information Technologies).Din acest punct de vedere, un SO trebuie sa execute urmatoarele operatii de baza: localizarea informatiei; memorarea/stocarea informatiei; procesarea/reprezentarea informatiei; comunicarea/vizualizarea informatiei. Limbajul sistemului de operare trebuie sa ofere utilizatorului un mod eficient pentru ca acesta sa poata sa acceseze aceste operatii de baza din domeniul tehnologiei informatiei. Aceste cerinte de baza au determinat ca sistemele de operare care sunt folosite in prezent sa aiba, atat asemanari, cat si deosebiri privind limbajul, utilizarea resurselor SC, comenzile, serviciile oferite. Evident, structura sistemelor de calcul, performanta si tehnologia hardware au influentat considerabil conceptia, structura si performanta sistemelor de operare actuale. Pentru a scoate in evidenta rolul SO in utilizarea unui SC prezentam schema urmatoare (nivele ale diverselor operatii in relatia Utilizator - SC):
Din schema de mai sus se poate deduce rolul important al sistemului de operare in intreaga activitate a sistemului de calcul. Resursele gestionate de SO sunt: fizice ( microprocesoare, memorie interna, dispozitive I/O);
logice (programe utilitare, programe specializate, programe utilizator); informationale (fisiere, baze de date, date de intrare/iesire). Realizarea functiilor de baza ale sistemului de calcul se face prin intermediul SO care face legatura Hardware-Software-Utilizator, prin urmare se pot evidentia diverse nivele ale interactiunii Hardware-Software:
Microprogramele considerate ca un software primar sunt localizate intr-o memorie de tip ROM si reprezinta un interpretor al instructiunilor in limbaj masina ce le traduce in operatii binare. Limbajul masina este un ansamblu de instructiuni pentru realizarea operatiilor aritmetice, logice, de comparatie, de conversie si de intrare/iesire, instructiuni interpretate de microprograme pentru a fi traduse in operatii binare executate de unitatea centrala (UC). Un interpretor este un program pentru interpretarea instructiunilor scrise intr-un limbaj de programare in vederea codificarii lor direct in intructiuni din limbajul masina. De asemenea, exista interpretoare de comenzi ale sistemelor de operare. Un compilator este un program corespunzator unui limbaj de programare pentru analiza sintactica si semantica a instructiunilor scrise(programul sursa) in vederea rezolvarii unei probleme, instructiuni ce vor fi traduse in asa-numita forma obiect( program object), forma ce mai departe va fi tradusa in instructiuni ale limbajului masina, si care se numeste forma executabila a programului sursa initial. De mentionat ca pentru executia unui program, este nevoie ca programul sa fie sub forma executabila, forma ce va fi stocata in memoria interna in vederea executiei programului respectiv. Un utilitar este un program de interfata intre utilizator si sistemul de operare in vederea accesarii unui serviciu oferit de SO. Un editor este un program pentru prelucrarea de instructiuni, texte , imagini, formule, etc. In domeniul utilizarii calculatoarelor, limbajele se clasifica in nivele, in functie de raportul fata de limbajul masina (nivel 0): limbaje de asamblare (nivel 1) - instructiuni/comenzi exprimate prin mnemonice (prescurtari ale numelor unor operatii) ce actioneaza asupra unor adrese ce nu sunt absolute, ci simbolice; un program traductor numit asamblor, traduce(codifica) instructiunile in instructiuni elementare din limbajul masina; unele componente ale SO sunt scrise in limbaj de asamblare; limbaje de macro-asamblare (nivel 2) - instructiuni formate din macro-instructiuni ce reprezinta o comprimare a unor instructiuni specifice unui limbaj de asamblare; limbaje evoluate (de nivel inalt; nivel 3) - limbaje simbolice ce au structura instructiunilor apropiata aspectului algoritmic bazat pe structuri de control (instructiuni structurate), cunoscute sub denumirea de limbaje de programare; aceste limbaje sunt utilizate prin compilatoare sau medii de dezvoltare (editare, compilare, executie, depanare, etc.); de-a lungul vremii au fost concepute si elaborate foarte multe (de ordinul sutelor) limbaje de programare, dar in prezent sunt utilizate doar cateva (cele ce au rezistat perfectionarilor sistemelor de calcul):C++, Objective C, Pascal, Modula, Ada95, Java, CLOS, Fortran, Basic, etc. limbaje specializate ( de nivel inalt; nivel 4) - limbaje simbolice bazate pe structuri de control avand instructiuni ce opereaza asupra unor entitati de baza (obiecte), de exemplu: inregistrare, obiect grafic, eveniment, cunostinta, etc., aceste limbaje sunt specifice fiecarui domeniu in care se realizeaza prelucrari: Baze de date ( limbajele Dbase, FoxPro, Paradox, Clipper), Grafica pe calculator (limbajul MIRA), Modelare si simulare (limbajele Simula, Smalltalk), Inteligenta artificiala (limbajele Prolog, Lisp); limbaje pseudo-cod ( nivel 5) - limbaje algoritmice ce au instructiuni apropiate de limbajele de programare, dar si de limbajele stiintifice si cele naturale;
|