Documente Academic
Documente Profesional
Documente Cultură
SISTEM DE PROGRAME
OPERARE DE APLICAŢIE
(PA)
NIVEL NIVEL comenzi PA1 utilizator
FIZIC LOGIC
macro-
PA2 utilizator
HARDWARE ·
·· instrucţiuni
limbaje de ·
·
programare ·
mesaje
PAn utilizator
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.
Pentru a îndeplini rolul de interfaţă între hardware şi utilizatori, un sistem de operare trebuie
să fie capabil a îndeplini următoarele funcţii:
1) oferirea posibilităţii de pregătire şi lansare în execuţie a programelor de aplicaţie (fig.1.2.);
în acest scop, un sistem de operare trebuie să dispună de cel puţin următoarele 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ă instrucţiunile programului sursă, într-o formă recunoscută
de sistemul de calcul (formă binară) - program obiect sau module obiect (PO);
- un editor de legături care să realizeze legătura 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 execuţiei programelor (program
obiect executabil-POE).
Odată construită structura pe segmente, programul va fi gata de execuţie, ceea ce va implica
încărcarea acestuia în memoria internă şi execuţia efectivă; componenta sistemului de operare ce
realizează acest deziderat se numeşte încărcător. Dacă această componentă lansează automat
execuţia programului după încărcarea în memoria internă, încărcătorul este de tip Load and Go.
2) alocarea resurselor necesare execuţiei programelor prin:
- identificarea programelor ce se execută şi a necesarului de resurse;
- alocarea memoriei interne şi a dispozitivelor periferice;
- identificarea şi protecţia colecţiilor de date.
3) acordarea unor facilităţi prin utilitare de interes general:
- gestiune cataloage (directori, subdirectori) şi fişiere;
- creare, modificare, copiere, mutare, ştergere, recuperare directori şi fişiere;
- sortare/interclasare;
- comprimare/decomprimare spaţiu pe suporturile de memorie externă;
- depistare şi eliminare viruşi informatici şi altele.
4) planificarea execuţiei mai multor programe (multiprogramare) după anumite criterii, în
vederea utilizării eficiente a unităţii centrale de prelucrare.
Capitolul 1 – Funcţiile şi componentele unui sistem de operare
MS-DOS UNIX
ed
Editor edit vi
texte emacs
nice editor
Program PS
sursă
asm a
Translator pas cp
limbaj c cc
bas b
Erori
Program PO .obj .o
obiect
Editor
Biblioteci legături Biblioteci
utilizatori sistem
Încărcător
lansare în execuţie
X +
* *
A – D –
B C = 207
E F
Fig. 1.4. Acţiunea unui compilator asupra expresiei X
Analiză Analiză Analiză Optimizare Generare
sintactică sintactică sintactică cod cod
Structura pe Arbore Structura pe Arbore
PS atomi lexicali sintactic atomi lexicali sintactic PO
(4)
(1) (3)
(2)
(3)
(2) (5)
(1)
Tabelă de Fişier
simboluri erori
Proceduri Proceduri
Fig. 1.6. Comunicaţia dintre două secţiuni ale unui program sursă
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.
Nume secţiune
Punct de intrare
Dicţionar de legătură
Codul obiect
Structura
PO Program obiect pe segmente
Editorul
Bibliotecă de Program obiect POE
sistem legături executabil
Bibliotecă
utilizator
Încărcătorul
Încărcătorul este componenta sistemului de operare ce încarcă programul obiect executabil
(POE) în RAM în vederea execuţiei şi iniţializarea execuţiei.
Încărcarea programelor în RAM pentru execuţie se poate face:
- imediat după translatare, când sistemul de operare are inclus încărcătorul în compilator
(compilatoare Load and Go);
- în momentul editării de legături (încărcătorul inclus în Link);
- după editarea de legături, ca proces distinct.
Activitatea încărcătorului la sistemul de operare MS-DOS este materializată prin execuţia
funcţiei exec, în timp ce la sistemul de operare UNIX funcţia similară este execl
Sisteme operaţionale
Depanatorul
Depanatorul este un program de servicii ce oferă utilizatorului mijloace convenabile pentru
depanarea şi controlul operaţiilor programului său prin:
- lansarea în execuţie a programului;
- suspendarea execuţiei în puncte predeterminate (breakpoints) sau execuţie pas cu pas;
- examinarea şi modificarea conţinutului cuvintelor din RAM şi registre;
- realizarea de modificări şi corecţii adiţionale la rularea programului, utilizând 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 execuţiei pas cu pas a programelor, prin
vizualizarea stării variabilelor, a parametrilor ce definesc mediul de execuţie şi altele.
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 – Funcţiile ş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ă performanţei, securităţii, siguranţei în
funcţionare, facilităţilor de interconectare oferite, posibilităţilor de upgrade ulterior şi costurilor
foarte scăzute de întreţinere .
Acestea sunt dovedite şi de poziţia ocupată pe piaţă :
• numărul 1 în domeniul sistemelor integrate din domeniul medical;
• 90% din sistemele producătorilor de procesoare;
• peste 50% din sistemele de facturare;
• 66% din transferurile financiare se fac pe maşini Alpha/OpenVMS;
• 5 din cele mai mari 10 burse ale lumii;
• peste 80% din loterii.
În România, sistemele Alpha/OpenVMS/Oracle sunt folosite de către Ministerul Industriei şi
Comerţului, Mobifon ( Connex ), Registrul Independent al Acţionarilor REGISCO S.A., SNCFR şi
în sistemul bancar .
Sisteme operaţionale
EXERCIŢII
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