Sunteți pe pagina 1din 250

Ghiorghi Nicolaie COMA

PROGRAMAREA
CALCULATOARELOR
I

LIMBAJE DE
PROGRAMARE
N

INDUSTRIA LEMNULUI
Notie de curs

UniversitateaTransilvania din Braov


2008

INTRODUCERE
Suportul de curs reprezint o prim cale de cunoatere a elementelor de baz din tehnica de
programare a calculatoarelor i de utilizare a limbajelor de programare n cadrul disciplinei
fundamentale cu acelai titlu aflat n programa de studiu a studenilor anului I de la facultatea de
industria lemnului.
Cursul de fa va va ajuta la nelegerea i buna utilizare a tehnicii de calcul att sub form de
echipamente individuale sau de modul lor de conectare n cadrul reelelor de calculatoare specifice
ntreprinderilor n care vei lucra, ct i la programarea i realizarea de proiecte. Exist multe
echipamente industriale i insalaii dotate cu tehnic de calcul pentru supravegherea unor procese,
pentru prelucrare mecanic etc. precum i birotica necesar n toate sectoarele de activitate specifice
sectorului de prelucrare a lemnului.
ntr-o prezentare tructurat pe 8 capitole sunt trecute n revist noiunile de fundamentale care
vor fi studiate, pornind de la bazele informaticii, codificarea datelor i sistemele de numeraie din
capitolul 1, la studiul arhitecturii calculatoarelor i componentelor acestora din cadrul capitolului 2,
la studiul princiipilor de baz ale sistemelor de operare i prezentarea unora din cele mai uzuale din
capitolele 3 i 4. Urmeaz un studiul complex al reelelor de calculatoare n capitolul 5 i tratarea
aspectelor generale ale utilizrii pachetelor de programe de birotic aflate n MS Office. n ultima
parte sun prezentate noiunile de baz ale proiectrii limbajelor de programare i particularizri ale
utilizrii limbajului Pascal i C.
Lucrarea realizeaz o trecere rapid n revist a principalelor noiuni teoretice care pot fi
aprofundate prin lecturarea unor titluri de cri tratate n bibliografie i alte materiale i nouti care
apar n acest domeniu cu o rapiditate uimitoare.
Obiectivele acestei discipline sunt de a familiariza studenii i utilizatorii acestui curs cu
echipamentele de calcul, cu arhitectura calculatoarelor i sistemele de operare pentru echipamentele
individuale sau conectate la o reea, precum i cu familiarizarea cu modul de abordarea a rezolvrii
diverselor probleme folosind programarea evoluat culimbaje de programare.
Cunotiinele prezentate vor fi aprofundate i fixate prin participarea activ la orele din cadrul
laboratorului de informatic din facultatea de industria lemnului. Aici vor putea fi realizate
programe i teste cu specificul particular al sectorului de industria de prelucrare a lemnului din care
provin marea majoritate a participanilor la aceste cursuri.
Colectivul facultii de industria lemnului va felicit pentru determinarea de care dai dovad
n abordarea studiului din acest domeniu de activitate, v st la dispoziie pentru a v sprijini i
ndruma pe tot parcursul studiului i v ureaz succes n aceast ncercare la care ai pornit.
Autorul

CUPRINS
Introducere
Capitolul 1 Bazele informaticii
1.1. Informatica
1.2. Conceptele de baz ale informaticii
1.2.1. Informaia
1.2.2. Data
1.3. Sistemul informaional i sistemul informatic
1.4. Codificarea datelor
1.4.1. Codificarea extern
1.4.2. Codificarea intern
1.5. Sisteme de numeraie
1.5.1. Sistemul de numeraie nepoziional
1.5.2. Sistemul de numeraie poziional
Capitolul 2 Arhitectura calculatoarelor personale
2.1. Istoricul apariiei calculatoarelor electronice
2.2. Noiuni generale despre sistemele de calcul
2.3. Clasificarea calculatoarelor electronice
2.4. Arhitectura unui calculator personal
2.4.1. Microprocesorul
2.4.2. Componentele calculatoarelor
2.4.3. Memoria intern
2.4.4. Dispozitive pentru memoria extern
2.4.5. Magistrale i componente interne
2.4.6. Dispozitive periferice
2.5. Interfeele calculatorului
Capitolul 3 Principiile de baz ale sistemelor de operare
3.1. Configuraia sistemului de calcul
3.2. Funciile i componentele unui sistem de operare
3.2.1. Funciile unui sistem de operare
3.2.2. Componentele sistemului de operare
3.2.3. Programe de comand control
3.2.4. Programe de servicii pentru dezvoltarea programelor de aplicaie
3.2.5 Alte programe de servicii
3.2.6. Sisteme de operare la calculatoare personale
3.3. Tehnici de gestiune a lucrrilor la sistemele de calcul
3.3.1. Obiectivele urmrite n gestiunea lucrrilor
3.3.2. Monoprogramarea
3.3.3. Multiprogramarea
3.3.4. Sistemul spooling (Simultaneous Peripheral Operations On Line)
3.3.5. Sisteme TIME SHARING (Sisteme cu timp divizat)
3.3.6. Multiprelucrarea
3.4. Gestiunea resurselor unui sistem de calcul
3.4.1. Gestiunea proceselor i procesoarelor
3.4.2. Gestiunea memoriei
3.4.3. Gestiunea dispozitivelor periferice
3.5. Componenta ROM-BIOS i ntreruperile MS-DOS.
3.5.1. Prelucrarea ntreruperilor
3.5.2. Atribuirea ntreruperilor i prioritii. serializarea ntreruperilor
3.6. Componenta ROM-BIOS i MS-DOS
3.6.1. Elemente componente BIOS
2

1
5
5
7
7
10
11
15
16
18
18
19
19
22
22
25
29
37
38
42
43
47
54
56
63
65
65
67
68
70
71
71
74
75
79
79
80
81
83
83
85
86
87
89
92
94
94
97
97
97

3.6.2. Structurarea programelor i segmentarea la MS-DOS


3.6.3. Alocarea memoriei pentru programe i execuia lor
3.6.4. Programe rezidente (TSR)
Capitolul 4 Principalele sisteme de operare
4.1. Generaliti
4.2. Sistemul de operare MS-DOS
4.2.1. Structura sistemului de operare MS-DOS
4.2.2. Sistemul de fiiere. structura discului sub MS-DOS.
4.2.3. Lansarea sistemului de operare
4.2.4. Configurarea sistemului de operare
4.2.5. Procesorul de comenzi
4.2.6. Crearea fiierelor de comenzi. fiierul AUTOEXEC.BAT.
4.2.7. Comenzile sistemului de operare MS-DOS
4.3. Sistemul de operare Unix
4.3.1. Concepte de baza
4.3.2. Structura sistemului de operare Unix
4.3.3. sistemul de fiiere Unix
4.3.4. sistemul de protecie al fiierelor
4.3.5. comenzile sistemului de operare Unix
4.3.6. implementri ale sistemului de operare Unix
4.4. Sistemul de operare Linux
4.4.1. Arhitectura sistemului de operare Linux
4.4.2. Distribuii Linux
4.4.3. Caracteristicile principale ale distribuiei Red Hat
4.4.4. Prezentarea interfeelor grafice
4.5. Sistemul de operare Windows
4.5.1. Interfaa grafic Windows
4.5.2. Sesiunea de lucru Windows
4.5.3. Sesiunea de lucru Windows XP
4.5.4. Sesiunea de lucru Windows Vista
4.5.5. Windows 7
Capitolul 5 Reele de calculatoare
5.1. Generaliti
5.2. Tipuri de reele de calculatoare
5.3. Modelul de comunicaie n sistemele de date
5.4. Reele locale
5.4.1. Mediul de transmisie
5.4.2. Topologia reelelor
5.4.3. Tehnica de transmisie
5.4.4. Protocoale de comunicaie
5.4.4.1. Modelul de referin ISO/OSI
5.4.4.2. Modelul client server
5.4.5. Echipamente de interconectare
Capitolul 6 Pachetul MS Office
6.1. Generaliti
6.2. Editorul de texte Word
6.3. Microsoft excel XP
Capitolul 7 Limbaje de programare
7.1. Domenii de utilizare ale calculatoarelor
7.1.1. Calculatoarele de proces
7.2. Organizarea structurat a calculatoarelor
7.3. Generaliti despre programarea calculatoarelor
3

98
99
99
100
100
102
102
104
106
108
109
110
111
113
113
114
115
117
117
118
119
119
120
122
122
126
127
130
136
141
145
147
147
147
148
150
150
154
156
160
161
163
163
165
165
167
179
186
186
188
191
194

7.4. Proiectarea limbajelor de programare


7.4.1. Procesul de creare a software-ului
7.4.2. Aspecte ale calitii softului
7.4.3. Criterii de proiectare a unui limbaj de programare
7.5. Evoluia l clasificarea limbajelor de programare
7.5.1. Limbaj main. limbaj de nivel nalt
7.5.2. Generaii de limbaje
7.5.3. Paradigme de programare
7.5.3.1. Ciclul de via i paradigmele dezvoltrii software
7.5.3.2. Paradigma programrii structurate
7.5.3.3. Paradigma programrii orientate pe obiecte
7.5.3.4. Comparaie ntre paradigmele programrii
7.5.3.5. Programarea structurat
7.5.3.6. Evoluia limbajelor de programare
Capitolul 8 Limbajul pascal
8.1. Elementele de baza ale limbajului pascal
8.1.1. Apariia, evoluia i caracteristicile generale ale limbajului
8.1.2. Construciile limbajului
8.2. Tipuri statice de date i expresii
8.2.1. Clasificarea tipurilor statice de date.variabile i constante
8.3. Realizarea structurilor fundamentale de control
8.4. Proceduri i funcii
8.4.1. Proceduri
8.4.2. Funcii
8.4.3. Parametri
8.5. Fiiere
8.6. Tipuri dinamice de date
8.7. Uniti de programe
8.8 Programarea orientat spre obiecte
Bibliogarfie

195
195
196
197
198
199
201
201
202
203
204
205
207
211
213
213
213
214
218
220
226
230
231
231
231
234
238
242
247
250

CAPITOLUL 1. BAZELE INFORMATICII

CAPITOLUL 1
BAZELE INFORMATICII
1.1

INFORMATICA

Informatica este un domeniu al cunoaterii umane avnd drept obiect de studiu


calculatoarele, principiile de funcionare i modul lor de utilizare. Studiaz mijloacele i tehnicile de
culegere, prelucrare, transmitere i gestiune a informaiilor utiliznd sistemele electronice de calcul,
respectiv calculatoarele. Informatica a aprut dup anii 1950, concomitent cu apariia primelor
calculatoare denumita iniial tiina calculatoarelor, devine tiina prelucrrii, culegerii, formalizrii,
stocrii i regsirii informaiilor.
Definit iniial de ctre Academia Francez (n 1966), ca fiind tiina prelucrrii raionale,
ndeosebi prin maini automate, ainformaiei, considerat ca suport al cunotinelor umane i al
comunicrilor n domeniile tehnicii, economice i sociale, informatica se contureaz ca activitate
practic i concepie teoretic, pe msura dezvoltrii calculatoarelor electronice i a perfecionrii
tehnologiei de prelucrare a datelor.
n accepiunea curent, informatica cuprinde toate activitile legate de proiectarea, realizarea
i exploatarea sistemelor de prelucrare automat a datelor, n scopul creterii eficienei activitilor
umane, care influeneaz n mod decisiv fizionomia economiei i societii n general, prefigurnd
societatea informatizat de mine.
Sensul etimologic al cuvntului INFORMATIC, provine din limba francez
(informatique) prin alturarea cuvintelor informaie i matematic. (Alte surse susin c provine
din combinaia informaie i automatic).
Informatica este considerat o tiin de sine stttoare sau un domeniu al cunoaterii umane
cu caracter multidisciplinar.
Informatica este definit ca tiina aplicativ care se ocup cu prelucrarea raional i
automat a informaiilor sau domeniul de cercetare care se ocup de bazele tiinifice ale activitii
de informare i documentare - teoria informrii tiinifice.
Informatica este definit ca "tiina i studiul cilor i modurilor de prelucrare i transmitere a
informaiilor", ca "tiina gestiunii i prelucrrii informaiilor" sau ca "ansamblul tehnicilor
aplicabile prelucrrii informaiilor utiliznd mai ales mijloacele automate (calculatoarele)", dup
dicionarul de informatic publicat de Michel Ginguay i Annette Laurent la editura Mason (Paris).
Informatica este definit ca "un domeniu al cunoaterii umane avnd drept obiect de studiu
calculatoarele, principiile legate de ele i utilizarea lor, aria de investigare fiind extrem de larg, de
la proiectarea i testarea hardware-ului i software-ului, pn la reele de calculatoare, grafic,
simulri, inteligena artificial, teoria sistemelor informatice etc." dup dicionarul de specialitate al
Universitii din Oxford.
Istoria tiinei calculatoarelor precede momentul apariiei computerului digital. nainte de anul
1920, termenul de "computer" se referea n l. englez la un o persoan care efectua calcule (un
funcionar). Primii cercettori n ceea ce avea s se numeasc tiina calculatoarelor, cum sunt Kurt
Gdel, Alonzo Church i Alan Turing, au fost interesai de problema computaional: ce informaii
ar putea un funcionar uman s calculeze avnd hrtie i creion, prin urmrirea pur i simplu a unei
liste de instruciuni, att timp ct este necesar, fr s fie nevoie ca el s fie inteligent sau s
presupun capaciti intuitive.
Informatica este activitatea pluridisciplinar avnd ca scop iniial elaborarea de noi metode,
inclusiv sisteme automate, pentru distribuirea informaiei tehnico-tiinifice, studiind procesele de
comunicaie n colectivitile tiinifice i industriale i urmrind dezvoltarea unor tehnici i sisteme
pentru organizarea, memorarea i distribuirea mai eficient a informaiei. Odat cu dezvoltarea
sistemelor de calcul informatica i-a lrgit sfera de aciune i n alte domenii, ca medicin, gestiune
economic, administraie, nvmnt, art, drept, aprare etc, cuprinznd prelucrarea automat a
informaiilor specifice acestora. n accepiunea curent, informatica cuprinde toate activitile legate
5

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

de proiectarea i exploatarea sistemelor de prelucrare a informaiilor, n scopul creterii eficienei


activitiilor umane, fizice i intelectuale.
Informatica cuprinde (dup dicionarul LAROUSSE -PARIS 1993):
- informatica teoretic - care se ocup cu studiul teoriei limbajelor formale, respectiv
automatica, teoria computaional i complexitii, teoria grafurilor, criptologie, logic .a.m.d
punnd bazele pentru construirea compilatoarelor pentru limbajele de programare i pentru
formalizarea problemelor din matematic, fiind coloana vertebral a informaticii.
- informatica sistemelor - care cuprinde arhitectura calculatoarelor i sistemelor de
exploatare, reele, etc,
- informatica tehnologic - care se refer la materiale, respectiv componente electronice,
semiconductori, memorii, nregistrarea pe suport magnetic, echipamente sau terminale de intrareieire, etc,
- informatica metodologic - care trateaz cu prioritate partea de programare: compilare,
limbaje, tehnici de exploatare a informaiei, analiz, programare structurat, etc,
- informatica aplicat (sau practic) - care acoper toate domeniile care utilizeaz sistemele
electronice de calcul i tratarea automat a informaiei, respectiv a semnalelor din ramurile
aplicative ale domeniilor industriale, economice, sociale i de alt natur.
n domeniile interdisciplinare se fac cercetri pentru gsirea posibilelor soluii pe care
tehnologia informaiei le-ar putea oferi. Astfel se poate meniona aici dezvoltarea de sisteme
geoinformaionale, sau informatic economic ori bioinformatic.
Etapele de dezvoltare a informaticii au urmrit att evoluia tehnicii de calcul, ct i
dezvoltarea produselor informatice tot mai complexe i mai uor de folosit, ptrunznd n toate
domeniile vieii sociale i la toate nivelele, prefigurnd astfel societatea informaional, n care toate
activitile implic utilizarea sistemelor electronice de calcul.
Informatica, principala form a tehnologiei informaiei, a cunoscut o evoluie din momentul
apariiei ei, moment marcat prin impactul tehnologiei informaiei asupra activitilor umane, pn la
transformarea societii omeneti ntr-o societate informaional.
Faza I-a, n care informatica a aprut odat cu calculatorul electronic i a ptruns iniial n
domeniul nvmntului i cercetrii. Tehnologia informaiei, la nceputurile sale, era strns legat
de tehnica de calcul, ceea ce inducea un grad mare de dificultate, fcnd-o accesibil doar unui
numr restrns de specialiti.
Faza a II-a, cnd informatica a ptruns n domeniul economic, care necesit prelucrarea unui
volum mare de date, iar informaiile rezultate, urmare a prelucrrilor, trebuiau livrate n timp util
factorilor decizionali. n aceste condiii au aprut sistemele complexe de conducere i gestiune a
proceselor economice ca instrument eficient al realizrii procesului decizional. Introducerea acestor
sisteme a impus un cadru organizatoric speicializat, deservit de specialiti n domeniul informaticii,
ceea ce a condus la apariia n cadrul unitilor economice a oficiilor i centrelor de calcul.
Faza a III-a, corespunde expansiunii informaticii, n ceea ce privete sfera de aplicabilitate i
utilizare a produselor informatice. Aceast etap reprezint crearea societii informaionale.
Analiza extinderii informaticii trebuie apreciat att pe orizontal (ca arie de raspndire), ct i pe
vertical, ajungnd pn la nivelul fiecrui individ. Apariia i extinderea microcalculatoarelor,
precum i dezvoltarea sistemelor de comunicaii au produs mutaii nu numai la nivelul structurilor
organizatorice, ci mai ales la nivelul individului, transformndu-i viaa. Calculatoarele personale i
reelele de calculatoare sunt astzi un suport pentru activitatea profesional, ct i pentru activitile
extra-profesionale (comer electronic, tranzacii financiar-bancare, pot efectronic etc). Societatea
informaional nu va fi cu siguran ultimul stadiu al dezvoltrii informaticii, ea nsi genernd noi
exigene, care vor impulsiona inventivitatea uman pentru realizarea de noi tehnologii i moduri de
abordare n depirea celor mai ndrznee idealuri. Tehnologia informaiei i-a extins aria de
utilizare att pe vertical, n toate domeniile vieii sociale, ct i pe orizontal, la nivelul tuturor
indivizilor.
6

CAPITOLUL 1. BAZELE INFORMATICII

Diversificarea utilizrii informaticii, face dificil o enumerare a tuturor domeniilor de


aplicabilitate i a funciilor preluate de ea, n principalele ramuri ale activitii socio-economice i
modul de implicare a informaticii n aceste domenii:
- tiintific
- educaional
- tehnic
- financiar-bancar
- comercial
- organizatoric
- comunicaii
- transporturi
- construcii
- turism
- social
- cultural
- politic
- privat / individual.
Informatica este privit ca un complex de discipline prin care se asigur prelucrarea raional
a informaiilor prin intermediul mainilor automate, fiind divizat n nou subdomenii :
- arhitectura calculatoarelor,
- sisteme de operare,
- algoritmi i structuri de date,
- limbaje de programare,
- ingineria programrii,
- calcule numerice i simbolice,
- sisteme de gestiune a bazelor de date,
- inteligena artificial,
- animaie i robotic.
1.2. CONCEPTELE DE BAZ ALE INFORMATICII
1.2.1. Informaia
Cuvntul informaie - preluat din latin (informatio) prin intermediul limbii franceze
(information) - este polisemantic, putnd cpta mai multe semnificaii (uneori total diferite sau
chiar contradictorii), ce sunt determinate de domeniile i contextele foarte variate n care este
folosit. n afara nelesurilor din limbajul comun, el are i alte sensuri, atribuite fie prin definirea sa
ca termen (tiinific sau tehnic) fie ca i concept n cadrul unor ramuri ale filosofiei sau al unor
tiine i tehnologii al cror obiect de studiu este. Informaia a nceput s fie considerat ca factor
ontologic primordial, ce st, mpreun cu materia i energia la originea universului.
Informaia este un termen introdus iniial, n domeniul tehnic, numai pentru a desemna
incertitudinea nlturat prin realizarea unui eveniment dintr-un set de evenimente posibile.
Semnificaia termenului s-a extins la cunoatere n general, adic la apariia unui nou element,
necunoscut anterior, fie pentru om, fie pentru un sistem de calcul, asupra realitii nconjurtoare.
Informaia red ntr-un mod specific imaginea realitii economico-sociale, destinat funciei de
gndire uman n vederea descifrrii semnificaiilor sale i transformarea acesteia prin intermediul
factorului uman-decizional n decizii menite s regleze ntregul sistem cibemetic condus.
Informaia, ca obiect al comunicrii prin calculator, este fundamentat pe date care au
dobndit, prin prelucrare (procesare), semnificaie, scop sau utilitate.
Deoarece informaia constituie obiectul principal al comunicrii, trebuie s ating urmatoarele
caliti:
7

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

consistena - suficient de cuprinztoare nct s poat furniza ct mai multe cunotine;


relevana - s poat furniza acele cunotine care lipsesc, n vederea lurii unei decizii;
exactitate - continutul ei s reflecte situaia real a fenomenului;
oportunitate - s fie furnizat n timp util;
accesibilitate - s fie clar, uor de nteles.
Din punct de vedere conceptual, informaia reprezint o reflectare n planul gndirii umane, a
legturilor de cauzalitate privind aspectele din realitatea ce ne nconjoar.
Din punct de vedere informatic, francezul J. Arsac definete informaia ca "o formul scris
susceptibil de a aduce o cunotiin". Conform acestei definiii rezult caracterul de noutate pe care
l are informaia.
Indiferent de definiia dat conceptului de informaie, se evideniaz trsturile caracteristice
ale acesteia, i anume:
obiectivitatea,
generalitatea,
noutatea.
Referindu-se la un fenomen real, obiectiv, informaia are dou laturi de baz:
latura calitativ;
latura cantitativ.
Latura calitativ exprim stri care nu sunt mrimi ce pot fi determinate, iar latura cantitativ
reprezint mrimi obinute prin msurare sau numrare.
n diferite domenii de activitate, informaiile sunt clasificate:
- dup domeniul de activitate, avem:
informaii tiinifice,
informaii tehnologice,
informaii economice,
informaii sociale,
- dup frecvena de generare i folosire, informaiile sunt:
informaii operative, care exprim starea i dinamica fenomenelor i proceselor ce se
desfaoar la intervale scurte de timp (or, schimb, zi etc.);
informaii periodice, sunt formate din cumularea informaiilor operative la anumite
intervale de timp prestabilite (decad, lun, trimestru, semestru, an), n aa fel nct
fenomenele i procesele economice s poat fi cuantificate la ncheierea acestor intervale
de timp.
informaii statistice, se bazeaz pe utilizarea informaiilor cu caracter operativ,
periodic i redau dinamica i structura fenomenelor i proceselor economice prin
comparaii ale informaiilor ntre dou intervale de timp, denumite intervale de referin.
informaii previzionale, care se obin din agregarea informaiilor operative, periodice
i/sau statistice, n vederea determinrii evoluiei viitoare a fenomenelor i proceselor
economice pe baza creia se vor fundamenta deciziile cu caracter precizional.
- dup forma de exprimare, informaii sunt:
informaii analogice, care exprim starea i dinamica unor fenomene i procese, care
sunt caracterizate prin parametri cu variaie continu, informaiile fiind primite sub form
de semnale de la aparate de msurat (ca de exemplu: presiune, temperatur, tensiune,
intensitate i rezisten electric etc);
informaii numerice, care reprezint exprimarea prin cifre a laturii cantitative a
informaiei, rezultatele fiind obinute prin: numrare, msurare, calcul etc;
informaii nenumerice, care se prezint printr-o varietate de forme (ca de exemplu:
liste, texte, rapoarte etc.), folosind diferite simboluri (cifre, litere, caractere speciale);
- dup natura simbolurilor folosite, informaiile sunt:
informaii alfabetice,
informaii numerice,
8

CAPITOLUL 1. BAZELE INFORMATICII

informaii alfanumerice,
informaiile logice,
informaiile de tip dat-calendaristic,
- dup nivelul de detaliere al coninutului, informaiile sunt:
informaii analitice, care descriu n detaliu fenomenele i procesele pe care le
exprim i care nu mai pot fi descompuse n alte nivele de detaliu;
informaii sintetice, care rezult din agregarea sau cumularea informaiilor analitice
realizate n timp (lunar, trimestrial, anual etc) i n spaiu (atelier, ntreprindere etc).
- dup forma sa de reprezentare:
1. forma analogic,
2. forma digital.
Pe suportul tehnic informaia se prezint ca o succesiune de valori binare (0 si 1) ordonate
dup un sistem de reguli (cod) si prin urmare introdusa n sistemul de calcul se transmite i se
memoreaz direct.
Clasificarea informaiei dup natura sa:
1. date: numerice, alfabetice, alfanumerice;
2. texte ;
3. documente grafice;
4. secvene audio ;
5. secvene video.
Clasificarea informaiei din punct de vedere al suportului utilizat:
1. informaie aflat pe suporturi tehnice: suporturi magnetice sau optice.
2. informaie aflat pe suporturi grafice: suporturi opace i transparente.
n 1928 R. Hattley introduce noiunea esenial de cantitate de informaie. Cel care a dezvoltat
teoria informaiei a fost, n 1948 C. Shannon, care introduce, ca masur a informaiei entropia
informaional, mrime care msoar gradul de nedeterminare al unui fenomen. Unitatea de
masur pentru aceast mrime a informaiei este informaia elementar.Informaia elementar
reprezint forma cea mai simpl sub care poate fi conceput informaia. Ea este informaia furnizat
prin precizarea unei variante din dou posibile. n teoria informaiei orice informaie, orict de
complex ar fi, poate fi exprimat prin informaii elementare, iar sistemul de calcul va trebui s
utilizeze sistemul de numeraie binar.
Informaia elementr se mai numete i BIT (BInaty digiT), adic una din cele dou cifre
binare 0 sau 1. Bitul reprezint atomul informaiei, nivelul de la care informaia nu mai poate fi
descompus. Biii se grupeaz cte 8 i formeaz un Byte sau un Octet.
Definirea informaiei din punct de vedere ontologic, care face parte din triada informaie energie - materie, care constituie baza existenei tuturor entitilor materiale, biologice, sociale sau
psihologice, subliniaz faptul c orice entitate, natural sau creat de om, conine o anumit
cantitatea de informie, ntr-o anumit structur
Din punct de vedere cibernetic, informaia reprezint cantitatea de noutate pe care o conine
un mesaj pentru fiin uman receptoare. Gradul de noutate depinde de doi factori, gradul de
interes al receptorului fa de mesajul purttor al informaiei i gardul de satisfacere al acestui
interes, dat de coninutul mesajului (parial sau integral).
Din punct de vedere semiotic, al stiinei semnelor, informaia se identific cu componenta
semn din cadrul dihotomiei semn - sens. Relaia semn -sens este vzut ca relaie mesaj-semnificaie
simultan cu relaia dintre semnificant - semnificat. Sensul sufer o codificare natural sau
convenional-uman, transformndu-se prin forma semnelor care devin mesaje, prin interpretarea
semnelor din coninutul mesajului, se ajunge la sensul care a stat la baza construirii mesajului;
transmiterea informaiei se realizeaz sub form digital, pe baza unor coduri convenionale,
unanim acceptate.
Din punct de vedere epistemologic, adic al teoriei cunoaterii tiinifice instrument utilizat
n separarea adevrului de eroare, a adevrului de fals, informaia este dihotomia realitate informaie. Realitatea se prezint sub diferite forme sau fenomene trecute sau actuale, nu i viitoare
9

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

cu ct cantitatea de informaie este mai mare, posibilitatea de a cunoate realiatatea la care se refer,
crete. Aceasta este dimensiunea cantitativ a cunoaterii umane, cu ct calitatea si fidelitatea
informaiei sunt mai mari, cu att posibilitatea de a cunoate realitatea i aflarea adevrul sunt mai
mari. Aceasta este dimensiunea calitativ a cunoaterii umane.
Valoarea unei informaii este dat de factorii :
fidelitatea informaiei, reprezint cantitatea de adevr pe care o conine puritatea sau
acurateea informaiei, sunt invers proporionale cu cantitatea de eroare coninut,
accesibilitatea informaiei,
eficiena semiotic a informaiei este opus redundanei este expresia economiei de semne
pentru comunicarea unui sens,
efortul pentru obinerea sau crearea informaiei,
efectul produs la utilizatorul de informaie,
operativitatea (viteza)
oportunitatea
durata de via etc.
n vorbirea curent, noiunea de informaie se substituie celei de dat i invers. Ambele sunt
frecvent ntlnite, ele mbrcnd cele mai diverse i banale sensuri, mergnd pn la confundarea
lor. Spre deosebire de continuul i sensurile pe care conceptele de informaie i dat le primesc n
vorbirea curent, lucrrile de specialitate dau acestor dou noiuni o identitate proprie.
1.2.2. DATA
Cuvntul "dat" provine din cuvntul latin datum, care gramatical este participiul trecut al
verbului latin dare, "a da". nc din antichitate propoziiile sau faptele considerate evident adevrate
erau numite "date".Datele iniiale neprelucrate (engl.: data, date brute) sunt, n cel mai larg sens,
numere, litere, imagini i alte forme de date produse de aparate care convertesc mrimile fizice n
simboluri. Aceste date sunt prelucrate apoi de oameni, sau pot fi i introduse n calculatoare cu
scopul de a fi stocate i prelucrate acolo, sau i pentru a fi transmise la alte persoane i calculatoare.
n calculatoarele actuale datele sunt reprezentate intern prin simboluri din cadrul unui
"alfabet" de simboluri permise. Aceast reprezentare intern este de obicei numeric (digital). Cel
mai des ntlnite sunt simbolurile "0" i "1" care, niruite dup anumite sisteme n numr suficient
de mare, pot reprezenta (n mod poate surprinztor) orice date i informaii finite. Aceste 2
simboluri sau cifre constituie aa-numitul alfabet binar.
Informaia primete ntotdeauna atributul domeniului pe care l reflect. Procesul de sesizare,
nelegere i nsuire a informaiilor dintr-un anumit domeniu reprezint un proces de informare.
Informaiile dobndite n urma unui proces de informare ntr-un anumit domeniu, formeaz
cunotinele despre acel domeniu, iar mulimea acestora reprezint patrimoniul de cunotine.
Cunotinele reprezint o nsumare n timp a tuturor informaiilor dobndite ntr-un anumit
domeniu.
Data este forma de reprezentare material a informaiei. Datele reprezint suportul formal al
informaiei care se concretizeaz n cifre, litere, simboluri, coduri i alte semne plasate pe supori
tehnici de date.
Datele reprezint obiectul prelucrrii pentru informatic, materia prim a acesteia i numai
prin asociere cu realitatea pe care o reflect, se poate spune c informatica genereaz informaii.
Datele obinute n urma procesului de prelucrare pot avea calitatea de informaii pentru o
anumit categorie de utilizatori sau rmn simple date dac i pierd calitatea de noutate semantic.
n procesul prelucrrii i utilizrii informaiilor, acestea sunt privite din trei puncte de vedere:
- din punct de vedere sintactic, cnd se urmrete aspectul formal al reprezentrii acestora, n
sensul c datele care se prelucreaz se supun riguros anumitor reguli de validitate;
- din punct de vedere semantic, urmrindu-se semnificaia,nelesul informaiei (coninutul
real al informaiei) ce deriv din datele
prelucrate;
10

CAPITOLUL 1. BAZELE INFORMATICII

- din punct de vedere pragmatic, urmrindu-se utilitatea, adic msura n care sunt satisfcute
cerinele utilizatorilor.
Data constituie o form de reprezentare concret, accesibil a informaiilor. Ca noiune
general, informaia nu poate fi folosit dect dac este exprimat concret, prin intermediul unui
suport. Pentru a face obiectul prelucrrilor, informaiile, trebuie s corespund scopului propus, i
anume trebuie s fie:
veridice -s reflecte fidel fenomenul, evenimentul la care se refer;
precise -s nu lase loc pentru echivoc, pentru interpretri arbitrare;
complete -s aib toate elementele eseniale nelegerii fenomenului;
semnificative -s prezinte un interes real pentru problema n cauz;
oportune -s soseasc la timp, s permit, la nevoie, o intervenie eficient.
Informaiile, n procesul lor de transformare din materie prim n produs finit, vor parcurge
mai multe faze:
- Faza de codificare,
- Faza de generare de date,
- Faza de stocare a datelor,
- Faza de prelucrare a datelor,
- Faza de actualizare a datelor,
- Faza de regsire a datelor,
- Faza de eliminare a datelor,
- Faza de transmisie a datelor.
Fazele parcurse de informaii n procesul lor de prelucrare este ilustrat n cadrul imaginii de
mai jos (fig. 1.1).

Figura 1.1. Transformrile i sensul informaiei


Informaiile pot fi privite pe parcursul transformrilor suferite din trei puncte de vedere:
- sintactic -reprezint aspectul formal, forma de reprezentare conform unor anumite reguli
(codificare extern, intern etc);
- semantic -reprezint evidenierea semnificaiei datelor (interpretarea rezultatelor obinute
n urma prelucrrilor i furnizate ca situaii finale);
- pragmatic -reprezint utilitatea pentru beneficiari (valorificarea informaiilor dobndite,
pentru fundamentarea lurii deciziilor, etc). .
Aceste trei sensuri sunt utilizate de informatic n unitatea lor, iar sfera lor de cuprindere este
ilustrat n figura anterioar. Termenul de informaie este utilizat i pentru a desemna datele,
deoarece exist o coresponden determinat ntre informaie, simbol i dat.
1.3. SISTEMUL INFORMAIONAL I SISTEMUL INFORMATIC
Prin sistem se ntelege un ansamblu de componente interdependente fizice i logice
interconectate i intercondiionate prin relaii fizice, economice, sociale sau de alt natur, care sunt
organizate, interacioneaz i funcioneaz pentru realizarea unui scop (obiectiv) determinat.
11

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Un sistem este format dintr-o component de comand i o component ce reprezint obiectul


comandat. Componenta de comand transmite spre obiectul comandat informaii de comand
indicnd modul n care trebuie s acioneze obiectul comandat, iar n sens invers, se transmit
informaii de stare privind rezultatele obinute de ctre obiectul comandat prin efectuarea aciunii
solicitate. Informaiile de stare sunt analizate de componenta de comand i se va genera o nou
comand n funcie de rezultatul anterior transmis. Meninerea comunicrii prin mijlocirea
informaiei, n ambele sensuri, ntre componenta de comand a sistemului i cea comandat este
indispensabil realizrii funcionrii sistemului.
Un sistem economic complex reunete un ansamblu de elemente considerate subsisteme, care
sunt sub forma unor entiti separabile cu funcii proprii, care se afl ntr-o ierarhie bine
determinat, avnd legturi reciproce. O unitate economic poate fi privit ca un sistem format
dintr-un ansamblu de componente intercorelate care sunt organizate i funcioneaz n vederea
atingerii unui scop specific activitilor sale. Intreprinderea ca sistem poate fi caracterizat prin
urmtoarele elemente definitorii:
-obiectivele unitii redau scopul sau finalitatea funcionrii ntregului sistem;
-elementele sistemului unitii sunt formate din ansamblurile cu caracter material sau abstract
care compun ntregul sistem i redau statica acestuia;
-relaiile sistemului unitii sunt reprezentate de legturile stabilite ntre elementele
sistemului n vederea realizrii obiectivelor sale i redau dinamica sistemului;
-structura sistemului este definit de ansamblul elementelor i relaiilor stabile n vederea
atingerii obiectivelor acestuia i este reflectat prin arhitectura ntregului sistem al unitii. Prin
intermediul structurii se asigur caracterul reglabil i autoreglabil al sistemului unitii economice.
n raport cu originea lor, sistemele se pot clasifica dup cum urmeaz :
Sisteme naturale, care corespund fenomenelor naturale (factori climatici, geografici etc.)
Sisteme umane, care sunt create de ctre om
n raport cu posibilitatea de modificare , sistemele se pot clasifica dup cum urmeaz :
Sisteme stabile, care ramn nemodificate n raport cu perioade lungi de funcionare,
Sisteme nestabile, care se pot schimba structural sau funcional dup anumii factori,
Sisteme autoreglabile, care au proprietatea de a aciona cu mijloace proprii n cazul
diverselor pertubri i de a pastra n anumite perioade autocontrolul n funcionare; Sistemele
caracterizate prin autoreglare sunt denumite sisteme cibernetice.
n raport cu ansamblul intrrilor, parametrilor i ieirilor subsistemele se pot clasifica dup
urmtoarele criterii:
- din punct de vedere al funciilor realizate de ntreprindere se disting urmtoarele
subsisteme (ntre care exist un ansamblu de relaii funcionale i de subordonare) :
-subsistemul cercetare-dezvoltare;
-subsistemul producie;
-subsistemul comercial ;
-subsistemul personal;
-subsistemul financiar-contabil.
- din punct de vedere al modului de participare la realizarea obiectivelor ntreprinderii:
-subsistemul funciilor de conducere cuprinde activitile specifice de informare,
comand, coordonare, decizie, reglare i control ;
-subsistemul funciilor de execuie include activitile specifice de producie, servicii,
transport etc.
- din punct de vedere al mecanismului de conducere al sistemului ntreprinderii:
-subsistemul de execuie (condus);
-subsistemul de informare (informaional);
-subsistemul de decizie (conducere).
Subsistemul de execuie (condus) cuprinde ansamblul activitilor specifice (producie,
aprovizionare, desfacere, transport, export etc. ) al cror volum i calitate sunt reflectate prin
12

CAPITOLUL 1. BAZELE INFORMATICII

intermediul datelor consemnate n documentele justificative care redau starea i dinamica


fenomenelor i proceselor conduse. Acest subsistem furnizeaz la ieire date ctre sistemul
informaional i primete la intrare decizii transmise de ctre acesta.
Subsistemul de informare (informaional) cuprinde totalitatea principiilor, metodelor,
procedeelor i mijloacelor (tehnic electronic de calcul i personalul specializat n informatic)
folosite pentru generarea, culegerea, transmiterea, stocarea i prelucrarea datelor n vederea analizei
i transmiterii informaiilor ctre subsistemul de conducere n scopul fundamentrii deciziilor
pentru ntregul sistem al ntreprinderii. Subsistemul informaional primete date de la subsistemul
de execuie, transmite informaii ctre subsistemul de conducere i decizii ctre cel de execuie.
Subsistemul de decizie (conducere) cuprinde ansamblul activitilor de conducere,
coordonare, comand, reglare i control n vedrea asigurrii optimului n funcionarea ntregului
sistem al ntreprinderii prin fundamentarea unor decizii pertinente cu caracter tactic, strategic i
operativ. Acest subsistem primete informaii de la subsistemul informaional i transmite decizii
ctre acesta.
Deci nucleul central al sistemului propriu al ntreprinderii l reprezint subsistemul
informaional al crui mod de prelucrare a datelor caracterizeaz nivelul de dezvoltare al ntregului
sistem.
Sistemul informaional al ntreprinderii se compune, din punct de vedere structural, din:
posturi de prelucrare, fluxuri i reele informaionale.
Postul de prelucrare reprezint o poziia organizatoric n care datele sunt stocate pe un
suport tehnic, vehiculate sau prelucrate n vederea obinerii informaiilor necesare pentru respectivul
post ct i pentru cele cu care acesta intr n legtur. Acesta se caracterizeaz prin datele de intrare,
funcia de prelucrare aplicat acestora, timpul de staionare i informaiile de ieire din postul
respectiv.
Fluxurile informaionale reprezint ansambluri omgene de informaii transmise ntre
posturile de prelucrare, fiind caracterizate de postul de emisie, postul de recepie, volumul datelor i
frecvena de vehiculare.
Din punctul de vedere al circulaiei informaiilor, fluxurile informaionale pot fi: interne i
externe, orizontale i verticale.
Fluxul informaional intern asigur circulaia informaiei ntre verigile organizatorice la
nivelul ntreprinderii. Aceste fluxuri informaionale pot fi:
-flux informaional orizontal;
-flux informaional vertical.
Fluxul informaional extern asigur circulaia informaiei ntre ntreprindere i alte
organisme economice cu care aceasta intr n relaii economico-financiare i pot fi de asemenea:
-flux informaional orizontal;
-flux informational vertical.
Reeaua informaional constituie ansamblul posturilor de prelucrare i fluxurilor
informaionale aflate n coresponden logic, iar funcie de modul de prelucrare a datelor, poate fi
de tip descentralizat i centralizat.
-Reeaua informaional descentralizat este constituit dintr-un ansamblu de posturi de
prelucrare intercorelate logic i funcional n care prelucrarea datelor se realizeaz relativ
independent la nivelul fiecrui post. Reeaua prezint avantajul c eventualele erori i perturbaii
aprute la un post de prelucrare pot fi corectate i anulate de ctre alt post fr a se afecta ntregul
sistem informaional, iar dezavantajul const ntr-o dispersare a capacitii de prelucrare care
favorizeaz realizarea obiectivelor particulare ale fiecrui post n defavoarea realizrii obiectivelor
generale.
-Reeaua informaional centralizat este caracterizat prin executarea unitar a operaiilor
de culegere, prelucrare i transmitere a datelor prin intermediul unui post specializat, care devine n
acest mod centrul de prelucrare a informaiilor. Avantajul acestui tip de reea const n realizarea cu
prioritate a obiectivelor strategice ale sistemului ntreprinderii i n secundar a obiectivelor specifice
fiecrui post de prelucrare. Dezavantajul const n afectarea funcionrii ntregului sistem deoarece
13

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

o perturbaie aprut la un post de prelucrare poate conduce la transmiterea de erori ctre postul
centralizat i de aici ctre posturile-satelit. Gradul de prelucrare a datelor caracterizeaz nivelul de
dezvoltare a sistemului informaional i implicit a ntregului sistem al ntreprinderii.
Sistemul informaional poate fi abstractizat ca model general format din trei elemente :
-mulimea intrrilor;
-mulimea prelucrrilor;
-mulimea ieirilor.
Sistemul informaional realizeaz legtura dintre sistemul conductor i sistemul condus,
fiind componenta modelatoare a sistemului condus. Prin perfecionarea sistemului informaional
(raionalizare) se urmrete realizarea urmtoarelor deziderate :
mbuntirea calitii informaiei
Circulaia rational a informaiei
Asigurarea legturilor inverse n reglarea sistemului
Finalizarea circuitului informaional printr-o decizie sau aciune
Circulaia eficient a informaiei prin eliminarea paralelismelor de informare i
prelucrare repetat
Sistemul informatic reprezint o component a sistemului informaional n care operaiile de
prelucrare a datelor se realizeaz n mod automat cu ajutorul echipamentelor de calcul i n primul
rnd al calculatoarelor electronice. Structural acest sistem este format din:
-sistemul electronic de calcul (hardware i software);
-programele de aplicaii;
-datele de prelucrat;
-resursele umane i cadrul organizatoric.
Sistemul electronic de calcul este alctuit din dou componente i anume:
-sistemul de echipamente (hardware), care reprezint totalitatea componentelor fizice
folosite pentru culegerea, stocarea, prelucrarea datelor i transmiterea informaiilor rezultate;
-sistemul de operare ( software), format din ansamblul programelor pentru conducerea,
supravegherea i controlul ntregului proces de prelucrare electronic a datelor.
Programele de aplicaii sunt formate din totalitatea comenzilor, instruciunilor sau ordinelor
date sistemului electronic de calcul n vederea rezolvrii unor operaii de prelucrare specifice
anumitor cerine ale utilizatorilor, denumite aplicaii.
Datele de prelucrat sunt constituite din colecii omogene, sub form de fiiere sau baze de
date, ce urmeaz a fi prelucrate de ctre programele de aplicaii prin intermediul sistemului
electronic de calcul.
Resursele umane i cadrul organizatoric cuprind personalul de specialitate i structura
organizatoric corespunztoare (staie, oficiu sau centru de calcul) n vederea realizrii acelor
activiti necesare exploatrii sistemului informatic.
Prelucrarea datelor este un proces prin care acestea sunt folosite n cadrul unor operaii de
generare, validare, calcule, comparare, selectare i grupare n vederea transformrii lor n
informaii.
Procesul de prelucrare automat a datelor nseamn tratarea complex a acestora, ncepnd
cu faza de culegere i terminnd cu cea de transmitere a informaiilor finale obinute, n mai multe
etape:
- Culegerea i nregistrarea datelor n documente primare n vederea reflectrii veridice a
fenomenelor i proceselor economice, precum i asigurarea corectitudinii datelor ce vor fi
introduse n sistemul de prelucrare automat.
- Transpunerea datelor din documentele primare n baza de date presupune conversia
acestora, pe suporturile tehnice (band magnetic, caset magnetic, discuri flexibile,
harddiscuri, discuri magnetopice etc) n vederea realizrii coleciilor de date ce vor face
obiectul prelucrrilor ulterioare.
14

CAPITOLUL 1. BAZELE INFORMATICII

- Prelucrarea propriu-zis a datelor asigur executarea automat a tuturor operaiilor


necesare de ctre programele de aplicaii, prin intermediul sistemului electronic de calcul.
Operaiile de prelucrare a datelor se concretizeaz n:
-validarea datelor introduse n baza de date, care nseamn verificarea ndeplinirii
anumitor condiii dup care are loc introducerea acestora n baza de date;
-sortarea i interclasarea datelor, care nseamn ordonarea cresctoare sau
descresctoare dup anumite criterii (exemplu: cod secie, cod comand, marc, cont
sintetic, numr de inventar etc.), urmat de reunirea datelor din dou sau mai multe surse
n una singur n raport de anumite elemente comune denumite chei de interclasare;
-compararea i testarea datelor ce se realizeaz n vederea selectrii acelor variante de
prelucrare care sunt compatibile pentru datele supuse prelucrrii ;
-prelucrarea logico-matematic a datelor pentru obinerea situaiilor de ieire care
constituie obiectivul final al prelucrrii datelor.
Transmiterea informaiilor de la sistemul electronic de calcul ctre structurile
organizatorice ale ntreprinderii se poate face pe hrtie de imprimant sau pe ecran.
Stocarea i arhivarea informaiilor se realizeaz, dup valorificarea acestora n procesul de
conducere, sub forma unor fiiere de arhiv, pe suporturi magnetice, ce pot fi utilizate ulterior.
n ntregul proces de prelucrare a datelor este necesar s se asigure securitatea i
confidenialitatea datelor prin intermediul unor parametri prestabilii cum sunt : contul de
identificare i parola de acces ale utilizatorului (UIC i password), precum i alte informaii
suplimentare n vederea recunoaterii dreptului de acces la date i programe.
Prelucrarea automat impune ca toate datele s fie reprezentate ntr-o form special care s
asigure un sistem standard de utilizare i conversie a acestora ntre diversele componente ale
sistemului electronic de calcul, pe de o parte, precum i ntre calculator i factorul uman, pe de alt
parte, realizate prin intermediul unor sisteme convenionale de numeraie i coduri de reprezentare a
datelor prelucrate electronic.

1.4.

CODIFICAREA DATELOR

Operaia de transformare a informaiei, din forma de reprezentare extern, care este


inteligibil pentru om, n forma de reprezentare intern pe care o poate nelege calculatorul, se
numete codificarea intern a informaiei.
Operaia de codificare presupune existena unui cod. Pentru construirea modelului matematic
al unui cod trebuie s se defineasc :
- mulimea entitilor care urmeaz s fie codificate (emise de o surs de informaii);
- mulimea simbolurilor cu care se realizeaz secvenele de cod, asociate entitilor;
- mulimea secvenelor de cod care se asociaz entitilor de informaie.
Secvena de cod se mai numete i cuvnt de cod. Informaia codificat poate s fie format
din numere sau texte, iar n funcie de tipul entitilor emise de sursa de informaie codurile pot fi :
- coduri numerice (entiti sau cifre),
- coduri alfanumerice (entiti sau caractere).
Dup funcia de asociere dintre entitile de informaie i secvana de cod sunt coduri
numerice ponderate i neponderate.
Dintre codurile numerice ponderate amintim:
- codul binar-zecimal natural (pe 4 bii),
- codul Aiken (pe 8 bii) sau
- codul bichinar (pe 7 bii).
Dintre codurile numerice neponderate amintim
- codurile Exces 3 i
- codul Gray pe 4 bii.
Pentru codurile alfanumerice binare se cunosc
- codurile Baudot (5bii),
15

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

- codul BCD (6 bii),


- codul Frieden pentru banda de hrtie perforat ( pe 8 bii),
- codul Hollerith pentru cartela perforat,
- codul ASCII (7 bii) preluat din telefonie.
Primul cod standardizat a fost impus de firma IBM, prin codul EBCDIC (Extended Binary
Coded Decimal Interchange Code, pe 8 bii). Urmtorul cod care s-a impus a fost codul ASCII
(American Standard Code for Information Interchange) pe 8 bii i a devenit codul calculatoarelor
compatibile IBM-PC. Acest cod a derivat de la codul ASCII pe 7 bii, care permitea numai 27 = 128
de cuvinte de cod (setul de baz sau setul restrns de caractere ASCII, de la 0 pn la 128 de
caractere), completat cu setul extins de caractere (de la 128 la 256; 28 = 256).
Setul de caractere de baz cuprinde caracterele corespunztoare cifrelor, literelor mari i mici
precum i caracterele de control i cele speciale. Setul de caractere extins mbuntesc codul prin
caractere strine (de limba englez i punctuaia american), caractere pentru construirea
caracterelor tiinifice, simboluri matematice i caractere pentru construirea chenarelor.
Caracterele de control ASCII sunt primele 32 de coduri, fiind folosite pentru comanda unor
aciuni, formatarea unor semnale sau controlul comunicrii.
Dac toate entitile codului se pun n coresponden cu elementele unei surse de informaii se
obine un cod complet (cod fr redundan). Pe parcursul transmiterii unui cod de la surs la
destinaie, pe canalul de transmitere pot s apar perturbaii care s modifice secvana de cod.
Utilitatea operaiei de codificare trebuie s respecte anumite reguli prestabilite:
sistematizarea i standardizarea datelor prelucrate;
compatibilitatea datelor;
simplificarea manipulrii datelor;
reducerea necesarului de memorie n stocarea i prelucrarea datelor;
creterea vitezei de prelucrare;
asigurarea proteciei datelor.
n cadrul sistemelor informatice, operaia de codificare poate precede procesul de prelucrare
automat a datelor sau se poate regsi n cadrul fazelor de prelucrare (culegere, transmitere,
prelucrare, stocare). Operaia de codificare trebuie privit sub dou aspecte corespunzatoare
modului n care utilizatorul se raporteaz la structura datelor i a modului n care datele sunt tratate
de ctre sistemul de calcul. Conform acestor aspecte se disting dou tipuri de codificri:
codificarea extern (realizat de ctre utilizator, conform cerinelor de prelucrare);
codificarea intern ( realizat automat de sistemul de calcul).
1.4.1. CODIFICAREA EXTERN
Codificarea extern se realizeaz la nivelul utilizatorului, corespunznd din acest punct de
vedere nivelului logic, care are drept scop organizarea logic a nregistrrilor, n conformitate cu
cerinele de prelucrare.
Codificarea extern trebuie s faciliteze operaiile de:
culegere,
verificare,
transmitere,
prelucrare i
regsire rapid a datelor.
Orice sistem de coduri utilizat n codificarea extern trebuie s respecte urmtoarele cerine:
unicitatea codului care const n acordarea unei valori unice pentru fiecare element al
mulimii ce face obiectul codificrii;
elasticitatea care reprezint posibilitatea inserrii unor noi coduri n plaja de valori
anterior acordat;
16

CAPITOLUL 1. BAZELE INFORMATICII

stabilitatea care reprezint cerina ca o caracteristic codificat s rmn valabil pe o


perioad ct mai ndelungat;
claritatea care se refer la posibilitatea de ntelegere facil a modului de atribuire a
codurilor, ceea ce conduce la scurtarea timpului de realizare a operaiei de codificare;
seminificaia care reprezint cerina impus sistemului de codificare de a sugera
caracteristicile ce fac obiectul codificrii;
operativitatea care const n asigurarea unor faciliti sporite de prelucrare i regsire a
datelor.
Facilitile oferite de codificare constau n principal la urmtoarele:
asigurarea condiiilor cerute de proiectarea i elaborarea sistemelor informatice pentru
prelucrarea automat a datelor;
asigurarea sistematizrii operaiilor de culegere i nregistrare a datelor n condiiile
reducerii timpului de transmitere, prelucrare etc;
simplificarea operaiilor de gestionare a datelor;
reducerea influenelor perturbaiilor n timpul manipulrii datelor;
uurarea accesului la datele stocate;
facilitarea stabilirii unor legturi ntre elementele coleciilor de date;
reducerea necesarului de memorie extern pentru stocarea i arhivarea datelor;
creterea vitezei de prelucare a datelor;
asigurarea compatibilitii i portabilitii datelor.
Totalitatea codurilor distincte ce se pot obine prin combinarea codurilor de baz reprezint
capacitatea sistemului de codificare.
Numrul maxim de caractere utilizat pentru exprimarea unui cod reprezint lungimea
secvenei de cod. Sistemul de acordare a codurilor este stabilit n funcie de cerinele specifice ale
fiecrei aplicaii, de ctre cei care analizeaz i proiecteaz sistemul informatic, codificarea extern
realizndu-se la nivelul utilizatorului.
Codificarea extern trebuie s in seama, pe lng cerinele anterior menionate, i de unele
reglementri de standardizare n ceea ce privete acordarea codurilor la nivel naional i chiar
internaional. n acest sens, se poate exemplifica utilizarea codurilor unitare pentru: marcarea
produselor (codurile cu bare), simbolizarea conturilor contabile (planul de conturi), identificarea
unic a persoanelor (codul numeric personal) etc.
Tipurile de coduri sunt grupate funcie de criteriile:
dup natura caracterelor utilizate
coduri numerice -utilizeaz ca valori numai cifrele
Exemple: mrcile salariailor, numerele matricole, codul numeric personal
coduri alfanumerice -utilizeaz combinaii de cifre i litere
Exemple: codificarea autoturismelor, numrul de nregistrare a societilor
comerciale, codul fiscal
coduri alfabetice -utilizeaz litere, care n general reprezint abrevieri
Exemple: codificarea profesiilor, codificarea partidelor, codificarea rilor,
codificarea judetelor
dup lungimea codului
coduri cu lungime fixExemplu: codul numeric personal
coduri cu lungime variabil
Exemple: simbolul conturilor analitice, simbolul rilor
dup structur
coduri elementare -care se pot clasifica n felul urmtor:
secveniale simple
Exemple: mrcile salariailor, numerele matricole
secveniale cu formare de grupe
Exemple: codul numeric personal, locuri de munc ntr-o unitate economic,
17

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

coduri abreviate (mnemonice)


Exemple: uniti de msur, denumirile unor produse informatice (DOS, BIOS, SGBD etc.)
coduri complexe - care se pot clasifica n felul urmtor:
ierarhice -reprezint codificarea elementelor multinivel
Exemple: simbolurile conturilor contabile, codificarea produselor
matriceale -reprezint coduri de tip ah
Exemple: adresele celulelor din calculul tabelar.
1.4.2. CODIFICAREA INTERN
Corespunde nivelului fizic, prin care se reprezint datele n calculatorul electronic.
Codurile interne generate automat de calculator, au caracter temporar i corespund principiilor
constructive ale componentelor fizice ale sistemelor de calcul. Calculatorul trebuie s fie o main
cu dou stri, adic s tie s modeleze sistemul de numeraie binar. Cea mai simpl realizare fizic
a sistemului binar este comutatorul:
- comutator deschis - OFF - cifra binar 0,
- comutator nchis - ON - cifra binar 1.
Un rnd de 8 astfel de comutatoare vor reprezenta o secven de 8 bii, deci un octet sau un
Byte. Calculatorul va fi un ansamblu de comutatoare. Componentele electronice care pot prezenta
dou stri:
- starea de conducie - cifra binar 1,
- satrea de blocare - cifra binar 0.
Informaia circul n interiorul calculatorului sub forma de bii, modelai cu ajutorul
impulsurilor electrice cu aceeai frecven i cu dou niveluri de tensiune, adic dou stri:
- nivel de tensiune "nalt" - cifra binar 1,
- nivel de tensiune "jos" - cifra binar 0.
Nivelele corespunztoare bitului 0 corespunde unui semnal de 0 V, iar nivelul corespunztor
bitului 1 pentru un semnal de 5V sau 12 V. Fiecare pies de informaie va putea fi reprezentat
printr-o secven de bii, iar orice informaie manipulat de calculator va fi sub form de secvene
de bii. Componentele interne au la baz circuite bistabile care permit trecerea rapid dintr-o stare n
alta, n funcie de valoarea semnalului primit. Acest mod de funcionare este cel mai bine modelat
de sistemul de numeraie binar.
n concordan cu modul de codificare intern, corespunztor unei cifre binare a fost
desemnat i unitatea elementar de msurare a stocrii datelor ca fiind bitul (BIT - BInary digiT)
Multiplii pentru bit, simbolizat cu b, sunt:
1 BYTE = 1 OCTET = 1B = 8 BII = 8b
1 KiloByte = 1 KOctet = 210 Octei =1024 Octei = 210 B
1 MegaOctet = 210 KOctei = 1024 KOctei = 220 Octei = 220 B
1 GigaOctet = 1GB = 210 MB =210 MOctei = 220 KOctei = 230 Octei = 230 B
1 TeraByte = 1 TB = 210 GB = 220 MB = 230 KB = 240 B
1 PentaByte = 1PB = 210 TB = 250 B
1 ExaByte = 1EB = 210 PB = 260 B
1 Zettabyte = 1024 EB = 270 Bytes
1 Yottabyte = 1024 ZB = 280 Bytes
1.5.

SISTEME DE NUMERAIE

Sistemul de numeraie este format dintr-o mulime de simboluri i un ansamblu de reguli ce


trebuie respectate pentru reprezentarea numerelor. Numrul maxim de simboluri utilizat n cadrul
sistemului de numeraie poart denumirea de baz a sistemului de numeraie, iar mulimea de
simboluri reprezint alfabetul sistemului. Exist dou tipuri de sisteme de numeraie: sisteme de
18

CAPITOLUL 1. BAZELE INFORMATICII

numeraie nepoziionale (egiptean, roman, chinez etc.) i cele poziionale care au la baz
reprezentarea prin cifre arabe (zecimal, binar, octal, hexazecimal etc).
1.5.1. SISTEMUL DE NUMERAIE NEPOZIIONAL
Sistemul de numeraie nepoziional se caracterizeaz prin lipsa unicitii n scrierea
numerelor, fiind un sistem greoi i neadecvat efectuarii de calcule.
n aceste sisteme exist semne distincte (cifre) pentru fiecare grup de obiecte folosit n
procesul numrrii.
Sistemele de numeraie nepoziionale pot fi aditive sau multiplicative.
Sistemul de numeraie egiptean este un sistem aditiv. Valoarea unui numr se obine prin
adunarea cifrelor dup anumite reguli. De exemplu:
21.237 =

= 7 + 30 + 200 + 1.000 + 20.000

Sistemul de numeraie roman este un sistem aditiv-substractiv. Valoarea unui numr se obine prin
adunarea sau scderea cifrelor dup anumite reguli.
De exemplu: IV = 4, IX = 9, XI = 11, MMCVIII = 2108
Alfabetul sistemului este format din cifrele romane: I, V, X, L, C, D, M. Utilizarea acestor
simboluri nu implic reprezentarea unic a numerelor, simbolurile neavnd o valoare poziional
precis determinat. Sistemul este folosit n special ca numeral ordinal, pentru exprimarea secolelor,
aniversrilor etc i nu poate fi utilizat n prelucrarea automat a datelor.
Tabelul 1.1.
SISTEMUL DE NUMERAIE ROMAN NEPOZIIONAL
Numere
romane
I
II
III
IV
V
VI
VII
VIII
IX
X

Numere Numere
zecimale romane
1
XI
2
XII
3
XIII
4
XV
5
XIX
6
XX
7
XXX
8
XL
9
L
10
LX

Numere
zecimale
11
12
13
15
19
20
30
40
50
60

Numere
romane
LXX
LXXX
XC
C
CC
CD
D
DC
DCC
CM

Numere Numere
zecimale romane
70
M
80
MM
90
MDCCCXX
100
MDCCCXL
200
MDCCCLX
400
MDCCCXC
500
MDCCCC
600
MCM
700
MDCCCCLXI
900
MMVIII

Numere
zecimale
1000
2000
1820
1840
1860
1890
1900
1900
1961
2008

Un sistem multiplicativ este acela n care pentru aflarea valorii unui numr este necesar s
se nmuleasc anumite perechi de simboluri ntr-o manier asemntoare sistemului aditiv
(sistemul de numeraie chinez).
1.5.2. SISTEMUL DE NUMERAIE POZIIONAL
Sistemul de numeraie poziional se caracterizeaz prin faptul c fiecare caracter din
structura numrului are o dubl semnificaie: o valoare individual i o valoare poziional, dat de
rangul ocupat n cadrul numrului. Sistemele poziionale nltur neajunsurile sistemului de
numeraie nepoziional, ceea ce a condus la rspndirea i utilizarea larg a acestora, cptnd o
valoare universal. Sistemele de numeraie poziionale folosesc acelai sistem de reguli de
reprezentare a numerelor; ele difer doar prin alfabetul pe care l utilizeaz i, implicit, prin baz.
19

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Baza unui sistem de numeraie poziional este dat de numrul de elemente care formeaz
alfabetul sistemului de numeraie. Un sistem de numeraie poziional n baza b are urmtoarele
caracteristici:
utilizeaz un alfabet cu b simboluri diferite ntre ele numite cifre, cu valori consecutive;
aceeai cifr aezat n poziii diferite ale unei secvene, poate avea valori diferite;
cifra 0 are cea mai mic valoare cnd este aezat singur;
cifra cu valoarea cea mai mare cnd este aezat singur, adic valoarea cu o unitate mai
mic dect baza sistemului, deci n cazul de fat b - 1;
n funcie de poziia lor n numr, cifrele se nmulesc cu puteri cresctoare ale bazei b
obinndu-se dezvoltarea numrului dup puterile bazei.
Reprezentarea general a numerelor n cadrul sistemelor poziionale este dat de expresia:
N=an-1bn-1+an-2bn-2++a0b0+a-1b-1+a-2b-2++a-nb-n

(1.1)

unde:
N -reprezint numrul
n -reprezint rangul (valoarea poziional)
a -reprezint valoarea individual a numrului
b -reprezint baza.
Acest mod de scriere are reguli precise de reprezentare a numerelor, ceea ce permite
abordarea algoritmic a operaiilor de calcul, facilitnd astfel prelucrarea automat a datelor.
Sistemul de numeratie pozitional poate fi:
- binar - alfabetul este format numai din doua cifre, 0 i 1.
- ternar - alfabetul este format din trei cifre:0,1,2.
- cuarternar - format din patru cifre:0,1,2,3.
- octal - format din opt cifre:0,1,2,3,4,5,6,7.
- zecimal - format din zece cifre: 0,1,2,3,4,5,6,7,8,9.
- hexazecimal sunt utilizate simbolurile: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F.
La nivel extern, utilizatorul va folosi sistemul de numeraie zecimal, deoarece este folosit n
exprimarea uzual a datelor numerice. La nivel intern, sistemul de calcul folosete sistemul de
numeraie binar, deoarece acesta modeleaz cel mai bine principiul circuitelor logice, care
constituie elementele fizice ale componetelor sistemelor de calcul. Reprezentarea sintetic a
caracteristicilor sistemelor de numeraie utilizate de sistemele de calcul, folosite n codificarea
intern, este redat n tabelul 1.2:
Tabelul 1.2.
Caracteristicile sistemelor de numeraie poziional
Sistem de
Baz
Alfabet
Utilizare n cadrul calculatorului
numeraie
Zecimal
10
0,1,2,3,4,5,6,7,8,9
Introducere date, redare rezultate
Binar
2
0,1
Reprezentarea intern
Octal
8
0,1,2,3,4,5,6,7
Reprezentarea intermediar
Hexazecimal 16
0,1,2,3,4,5,6,7,8,9,A,B,,F Reprezentarea intermediar
Pentru reprezentarea unitar a datelor n cadrul sistemului de calcul se utilizeaz sistemul
standardizat de reprezentare a datelor, la nivel intern, sistemul ASCII. Codurile ASCII reprezint
secvene binare de 8 poziii pentru fiecare caracter (indiferent de natura lui: numeric, alfabetic, cod
special etc). Ca urmare a posibilitilor de reprezentare pe 8 poziii (8 bii sau un octet), se pot
codifica distinct cele 256 de caractere:
A
10000001
B
10000010
C
10000011
Z
10001011
a
11000001
b
11000010
c
11000011
z
11001011
9
01011001
;
01011111
=
01111110
+
01001110.
Exemple de transformri ale numerelor dintr-o baz de numeraie n alta, este prezentat n
continuare, pe baza ordonrii resturilor de la mprirea ntreag fa de baz:
20

CAPITOLUL 1. BAZELE INFORMATICII

93 |2*46+1
46 |2*23+0
23 |2*11+1
11 |2*5 +1
5 |2*2 +1
2 |2*1 +0
1 |2*0 +1
93|10 =

1 0 1 1 1 0 1 |2

93 |8*11+5
11 |8*1 +3
1 |8*0 +1
93| 10=

1 3 5 |8

93 |16*5+13 ( D )
5 |16*0+5
93|10 =

5 D |16
Echivalena ntre sistemele de numeraie (zecimal, binar, octal i hexazecimal) folosite n
codificarea intern este prezentat n continuare, n tabelul 1.3.
Tabelul 1.3.
Caracteristicile sistemelor de numeraie poziional
Sistemul
zecimal

Sistemul binar

Sistemul
octal

Sistemul
hexazecimal

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
20
30
40
50
93
255
65565
4294967295

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000
10100
11110
101000
1010010
1011101
11111111
11111111 11111111
11111111 11111111 11111111 11111111

0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
24
36
50
62
135
377

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10
14
1E
2B
32
5D
FF
FFFF (64 kO)
FFFFFFFF (4GO)

21

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

CAPITOLUL 2
ARHITECTURA CALCULATOARELOR PERSONALE
2.1. ISTORICUL APARIIEI CALCULATOARELOR ELECTRONICE
Prelucrarea automat a informaiei a fost posibil odat cu apariia calculatoarelor electronice.
Prin definiie, un calculator este o main care trebuie s tie s modeleze i s manipuleze informaia.
Pentru calculator, informaia este att materie prim ct i produs finit.
Primele calculatoare au aprut din necesitatea realizrii unui model de lucru cu numerele i
aritmetica lor, pentru a uura calculele numerice prin prelucrarea automat. Chiar i denumirea lui vine
de la verbul acestei aciuni: a calcula (n limba englez: to compute - computer). Pornind de la
prelucrarea informaiei numerice, calculatoarele au fost perfecionate pentru a putea prelucra orice
form de informaie.
Calculatoarele sau sistemele de calcul au avut o rapid evoluie n ultimul secol, urmrind
ndeaproape principalele descoperiri din domeniul electrotehnicii i informaticii. Dac n urm cu dou
- trei secole au fost concepute primele forme de mecanisme i maini de calcul pe baz mecanic, n
ultimul secol sunt cunoscute sisteme de calcul electromagnetice i electronice.
Sistemele de calcul sunt rezultatul dezvoltrii tehnicii i tiinei, implicnd domenii diverse cum
sunt: electronica, automatica, matematicile aplicate, telecomunicaiile.
Oamenii au nregistrat i prelucrat date nc din vremuri preistorice, astfel c n jurul anului 3000
.C, sumerienii foloseau primul dispozitiv pentru reprezentarea numerelor. Dup 2000 de ani,
chinezii, prelund ideea, au construit primul dispozitiv de calcul, care consta dintr-o cutie ce
coninea bile nirate pe srm i montate pe o scndur. Numele dispozitivului era baccus i a fost
preluat n Grecia i Roma antica sub numele de abaccus.
Din Evul Mediu i pn n secolul al XlX-lea, tehnica de calcul a fost legat i condiionat de
cteva mari descoperiri tiinifice. Primul mare matematician Al. Khwarazmi (780-846), creatorul
algebrei, a introdus n matematica arab numerele indiene, care de atunci sunt cunoscute sub
denumirea de arabe. El este autorul primului manual de aritmetic bazat pe principiul valorii
poziiei simbolurilor numerice (cifra unitilor, cifr zecilor, deci sistemul de numeraie zecimal
poziional), prin intermediul crora se pot exprima, fr dificultate, numere orict de mari.
Maina de tiprit inventat de Johann Gutenberg n 1450, care poate fi considerat drept unul
dintre strmoii perifericelor de ieire ale calculatoarelor electronice. n timpul Renaterii, Leonardo
da Vinci (1452-1519) a proiectat o main de calcul cu 13 cifre. Un secol mai trziu, printele
logaritmilor, John Napier (1550-1519) a construit un dispozitiv de calcul denumit Zarurile lui
Napier. Primul calculator mecanic a fost ns realizat de filozoful i matematicianul francez Blaise
Pascal (1623-1662), care a proiecta o main (Pascalina), care putea efectua adunri i scderi.
Acest dispozitiv coninea un ansamblu de roi dinate conectate n serie, cu ajutorul crora se efectuau
operaiile de adunare i scdere i se afiau rezultatele n cele ase ferestre cu care era prevzut
dispozitivul.
n 1671 matematicianul i fizicianul englez Gottfded Wilhelm Leibnitz a construit primul
dispozitiv capabil s efectueze cele patru operaii aritmetice. O alt invenie important o constituie
rzboiul de esut a lui Joseph-Marie Jacquard, care era controlat printr-o serie de cartele perforate,
gurile reprezentnd modelul esturii. Acest dispozitiv reprezint prima main controlat prin informaii
(modelul existent pe cartela perforat) i nu de ctre un operator uman. Matematicianul George Boole
prin lucrrile despre logica simbolic a descris modul de utilizare a valorilor binare pentru
efectuarea comparaiilor i deciziilor logice (astzi codificarea intern a calculatoarelor moderne se
bazeaz pe logica binar - algebra boolean).
O performan de importan deosebit a fost nregistrat abia n anul 1880 prin maina
statisticianului american Herman Hollerith, care a inventat cartela perforat i echipamentul
mecanografic pentru prelucrarea datelor nregistrate pe acest suport. Utilizarea cartelelor perforate
era diferita, fa de cea folosit de Babbage i Jacquard, deoarece cartele nu mai erau destinate
introducerii de instruciuni (programe), ci stocrii unor date. Dispozitivul inventat de Hollerith a fost
22

CAPITOLUL 2. ARHITECTURA CALCULATOARELOR PERSONALE

folosit cu succes la preluarea datelor recensmntului populaiei din SUA, n anul 1890. Hollerith a
beneficiat de avantajele electricitii i a creat primul calculator electromecanic (tabulator).
ntre 1930 i 1946 au avut loc, un numr important de descoperiri tiinifice n domenii ca:
matematic, fizica, inginerie electric i statistic, ceea ce a contribuit la apariia primului calculator
electronic. Haward Aiken, de la Universitatea Harvard, a inventat primului calculator electromecanic,
numit Mark I.
Istoria sistemelor electronice de calcul ncepe abia n anul 1946, cnd John Manehly, fizician la
Universitatea din Pensylvania i J. Prosper Eckert, inginer la aceeai universitate, realizeaz primul
calculator electronic, numit ENIAC.
Evoluia rapid a performanelor i caracteristicilor permite structurarea calculatoarelor
electronice pe cinci generaii.
Prima generaie (1946 - 1955) a fost reprezentat de calculatoare electronice care utilizau un
numr mare de tuburi electronice i din aceast cauz aveau un gabarit mare (30 tone). Viteza de calcul i
capacitatea de stocare a datelor erau foarte mici. Se utilizau, ca suport pentru date, banda de hrtie i
cartelele perforate. Funcionarea sistemelor impunea condiii speciale, necesita un consum de energie
electric ridicat, precum i un volum de munca deosebit pentru exploatarea i ntreinerea sistemelor.
Programarea se efectua la nivel cod maina, utiliznd logica binar, ceea ce reprezenta o munc
extrem de laborioas i specializat. Dificultile ridicate de utilizarea acestor calculatoare le fcea
accesibile numai unui numr restrns de specialiti din domeniul cercetrii i nvmntului.
A doua generaie (1956 -1964) a fost reprezentat de calculatoarele care utilizau tranzistorul n
locul tuburilor electronice. Ca urmare a acestui fapt, performanele sistemelor de calcul s-au
mbuntit: viteza de calcul i capacitatea de stocare au crescut, gabaritul i consumul de energie
electric s-au redus. Au aprut echipamentele periferice i suporturile magnetice pentru stocarea
datelor i primele limbaje evoluate: FORTRAN i COBOL. Comunicarea cu sistemul era
realizat de tehnicieni specializai, care transmiteau calculatorului cerinele programatorilor sub forma
unor programe i livrau rezultatul prelucrrilor.
A treia generaie (1965 - 1970) a fost reprezentat de calculatoarele care utilizau circuitele
integrate, nlocuind tranzistorul. Utilizarea circuitelor integrate a condus la miniaturizarea sistemelor
de calcul, precum i la mbuntirea considerabil a performanelor acestora: creterea vitezei de
calcul i a capacitii de stocare a datelor (utilizarea suporturilor de date de mare capacitate), sporirea
fiabilitii i reducerea costului. Limbajele evoluate de programare au cunoscut o diversificare
foarte mare, iar sistemele de calcul au nceput s fie tot mai mult utilizate, n special n domeniul
economic. Sistemele electronice s-au impus ca indispensabile pentru stocarea i prelucrarea unui volum
mare de date. Utilizarea sistemelor de calcul se fcea n cadrul unor uniti specializate (centre/oficii de
calcul), deservite de specialiti n informatic: analiti, programatori, operatori.
A patra generaie (1971-1990) s-a remarcat prin utilizarea-circuitelor larg i mediu integrate,
ceea ce a condus la o ultraminiaturizare a componentelor i la creterea vitezei de calcul, contribuind
la revoluionarea tehnicii de calcul. Programarea evolueaz spre standardizare i prototipizare,
precum i spre realizarea unor componente fizice care s efectueze anumite funcii realizate pn
la acel moment de programe. Calculatorul se impune rapid n toate domeniile vieii sociale, acest fapt fiind
posibil datorit performanelor microsistemelor de calcul (calculatoare personale), costurilor lor mai
reduse, dar i datorit programelor care facilitau comunicarea utilizatorului cu sistemul de calcul, prin aanumita interfa prietenoas.
A cincea generaie (1990 - pn n prezent) este marcat de creterea considerabil a gradului
de inteligen a componentelor calculatorului (microprocesorul i unitile periferice) i de extinderea
reelelor de calculatoare de la nivel local, la nivel metropolitan i internaional. Calculatoarele i extind
posibilitile, oferind faciliti multiple audio-video (calculatoare multimedia). Comunicarea
calculatorului cu utilizatorul a fost facilitat de apariia interfeei grafice, care este intuitiv i uor de
manipulat. Extinderea utilizrii calculatorului are loc i pe orizontal, calculatorul ptrunznd n casele
oamenilor, devenind util la nivelul individului.
A asea generaie este n experimentri avnd la baz utilizarea bioelectronicii, optoelectronicii
precum i noile cuceriri ale tiinei i tehnologiei, n general i ale informaticii n special.
n cadrul tabelului 2.1 sunt sintetizate cteva date semnificative referitoare la apariia
informaticii i a sistemelor de calcul.
23

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Tabelul 2.1.
SCURT ISTORIC AL APARIIEI TEHNICII DE CALCUL
Realizatorul i Dispozitivul sau tehnica de calcul
Anul
30000
.e.n.
3400 .e.n.
3000 .e.n.
2600 .e.n.
260 .e.n.
1450
1614
1621
1642
1802
1830
1844
1867
1885
1890
1896
1904
1926
1931
1943
1944
1945
1946
1948
1949
1950
1958
1959
1959
1960
1962
1963
1963
1965
1967
1971
1972
1973
1973
1974
1974
1976

Oamenii din paleolitic care triau n Europa central nregistreaz numerele crestnd n rbojuri, pe oase
de animale, filde i pietre
Egiptenii dezvolt un simbol pentru numrul 10, simplificnd reprezentarea numerelor mari
Sumerienii foloseau primul dispozitiv pentru reprezentarea numerelor.
Chinezii introduc abacul. Acesta a fost folosit n China pentru realizarea recensmntelor pn n 1982.
Maiaii dezvolt un sistem sofisticat de matematici n baza 20, care include numrul 0.
Johann Gutemberg inventeaz maina de tiprit, strmoul perifericelor de ieire ale calculatoarelor
John Napier (1550-1617) descrie natura logaritmilor. De asemenea, el construiete "Zarurile lui Napier",
un dispozitiv cu vergele gradate, precursorul riglei de calcul
Wiliam Oughtred (1574-1660) inventeaz rigla de calcul, care a devenit nvechit abea dup 350 de ani
Blaise Pascal (1623-1662) inventeaz Pascaline, primul calculator mecanic. Acesta era acionat de mn i
putea s fac numai adunri i scderi.
Joseph-Marie Jacquard (1752-1834) introduce primele cartele perforate la razboaiele de esut din Lyon
Charles Babbage concepe Motorul Analitic, dar moare nainte de finalizarea acestuia,ns conine pentru
prima dat memorie, dispozitiv aritmetic, dispozitiv de comand i un program cu cartele perforate
Samuel Morse a inventat alfabetul Morse, ca prim codificare binar i s-a realizat prima linie de telegraf.
Cristopher Sholes, inventeaz maina de scris
William Seward Burroughs a inventat prima main de adunat cu claviatur, predecesoarea tastaturilor.
Herman Hollerith creeaz sistemul de tabelare electric pentru Biroul de Recensmnt din Statele Unite
ale Americii. Recensmntul dureaz acum doi ani, n loc de opt.
Herman Hollerith nfiineaz Tabulating Machine Company
John Ambrose Fleming a creat prima lamp vidat (dioda lui Edison)
Patentul pentru tranzistorul semiconductor
Konrad Zuse creaz n Germania primul calculator electromecanic cu comand programabil digital de
calcul, care introduce utilizarea sistemului binar i a valvelor, calculator numit Z1.
Britanicii construiesc la British Intelligence Establishment din Bletchley primul calculator electronic,
Colossus (coninea 2000 de tuburi electronice)
Howard Aiken de la Universitatea Harvard i IBM dezvolt calculator electromecanic, complet
automatizat, dirijat prin program cu cartele perforate, denumit MARK 1.
John von Neumann descrie un calculator digital de uz general, cu un program stocat
Universitatea din Pensylvania, realizeaz primul calculator electronic, numit ENIAC (Electronic
Numerical Integrator Analyzer and Computer, Analizator i calculator intergator electronic i numeric).
Electronic Control, prima firm de calculatoare ncepe s construiasc UNIVAC - 1 (UNIVersal
Automatic Computer), pentru Biroul de Recensmnt. Este primul calculator comercializat pe pia
EDSAC (Electrbnic Delay Storage Automatic Computer) realizat la Universitatea din Cambridge
Unitile de band ncep s nlocuiasc cartelele perforate
Control Data Corporation lanseaz calculatorul 1604 al lui Seymour Cray, la 1,5 milioane de dolari.
Este realizat primul calculator tranzistorizat care coninea circa 4000 tranzistoare i 3000 diode i avea o
viteza de lucru de 1 instruciune n 60 microsecunde.
Jack Kilby i Robert Noyce finalizeaz primul circuit integrat, care conine cinci componente pe o singur
bucat de siliciu
CDC-160 este minicalculatorul lansat de firma Control Data, iar IBM-1620 este minicalculatorul lansat de
IBM. 2000 de calculatoare sunt utilizate n Statele Unite ale Americii
Teletype livreaz tastatura i terminalul cu cartele perforate Model 33
Finalizarea codului ASCII (American Standard Code for Information Interchange, Codul american pentru
schimbul de informaii) permite mainilor de la diferii productori s schimbe date ntre ele
Douglas Engelbart primete un patent pentru un dispozitiv de indicare pe ecran de tipul mouse-ului
Digital Equipment Company lanseaz primul minicalculator de succes, PDP-8. Sunt vndute 50000 buci,
IBM construiete prima unitate de disc flexibil
Apare afiajul cu cristale lichide
Apar discurile compacte
Andre Trung Trong Thi a realizat la firma R2E din Orsay n Frana primul calculator numit MICRAL, care
a utilizat un microprocesor I 8088 pe 8 bii.
Sistemul de operare CP/M devine standardul pentru urmtorii opt ani, pn cnd este introdus MS-DOS.
Apar Notepad-urile Post It
Realizarea microprocesorului cu 8 bii: I 8080, realizat de firma Intel
Stephan Jobs i Steve Wozniak prezint primul calculator Apple, la Home Brew Computer Club, cunoscut
mai trziu drept Silicon Valley.

24

CAPITOLUL 2. ARHITECTURA CALCULATOARELOR PERSONALE


1978
1981
1983
1983
1984
1985
1998

Realizarea microprocesorului cu 16 bii: I 8086, realizat de firma Intel


IBM lanseaz calculatorul su personal, care folosete un procesor 8086 pe 16 bii de la Intel.
Lansarea calculatorului IBM PC-XT (eXtended Technologie), cu procesorul I 80186
Lansarea calculatorului MacIntosh cu success de firma Apple, cu processor Motorola 36000
Apple lanseaz Macintosh, un calculator care folosete un mouse i o interfa grafic.
Unitatea CD-ROM poate plasa 270000 de pagini de text pe o nregistrare CD
Intel lanseaz o versiune nou a Pentium II (cu tehnologia de producie la 0,25 de microni) Intel lanseaz
un procesorul Celeron, o versiune de Pentium II creia i lipsea n ntregime memoria cache L2.
Intel prezint Pentium 4 3,06 GHz, (nucleu Northwood), tehnologia HyperThreading, de 0,13 microni,
spre deosebire de precedentul nucleu Palomino, care era realizat la 0,18 microni.
Intel lanseaz procesorul Core 2 Extreme QX670D, Quad-core, 8MB L2 cache, 2.66 GHz, 1066 MHz FSB
Intel lanseaz procesorul cu numele de cod Projected Roadmap, din familia de procesoare 80986, cu
24000 MHz, cu cca. 1 bilion de tranzistori pe procesor, n tehnologia 0.045 micron (45nm)
IBM lanseaz supercomputerul Roadrunner, cu capacitatea de calcul de 1026 TFLOPS (= 1 PFLORS)

2002
2006
2007
2008

n cadrul tabelului 2.2. este realizat prezentare sintetic a generaiilor de sisteme electronice
de calcul i a caracteristicilor acestora.
Tabelul 2.2.
EVOLUIA SISTEMELOR ELECTRONICE DE CALCUL
Generaia/
Caracteristicile constructive
Caracteristicile de utilizare
Utilizatorii
I-a
(1946-1955) /
Generaia
inventatorilor
a II-a
(1956-1963) /
Generaia
tehnologilor
a III-a
(1964-1970) /
Generaia
programatorilor
aIV-a
(1971-1990) /
Generaia
utilizatorilor
aV-a
(1990 - prezent) /
Generaia
utilizatorilor

inteligena artificiala
sisteme expert
interfee grafice
inteligena artificiala
sisteme expert
interfee grafice
tranzistoare
echipamente periferice
suporturi magnetice de date
consum energetic mai mic
fiabilitate mai mare
circuite integrate
miniaturizare
creterea vitezei de calcul
suporturi de date de mare volum
fiabilitate sporit
circuite integrate pe scar medie
i larg - ultraminiaturizare
vitez foarte mare
echipamente periferice variate
microprocesorul element de
automatizare a unor funcii
periferice inteligente
reele de calculatoare

programare n cod main


lipsa interfeei de comunicare
utilizare n domeniul tiinei i
nvmntului
limbajele evoluate:
COBOL, FORTRAN
comunicarea este asigurata de
tehnicieni
limbaje de programare diverse
noi tehnici de programare
i stocare a datelor
standardizarea programrii
prototipizare
interfee prietenoase
inteligena artificiala
sisteme expert
interfee grafice

2.2. NOIUNI GENERALE DESPRE SISTEMELE DE CALCUL


Calculatorul electronic este un sistem fizic care prelucreaz datele introduse ntr-o form
prestabilit i furnizeaz rezultatele, fie ntr-o form accesibil utilizatorului, fie ca semnale destinate
acionrii unor echipamente.
n funcie de reprezentarea informaiilor prelucrate se disting trei categorii de calculatoare:
numerice, analogice i hibride.
a. Calculatoarele numerice (digital computer, n limba englez sau ordinateur, n limba
francez) sunt sisteme de calcul care primesc, prelucreaz i transmit date, respectiv informaii
codificate sub form numeric binar. Calcul numeric (numerical computation) se refer la
determinarea valorii unor expresii matematice orict de complexe, folosind cele 4 operaii
fundamentale. Un calculator numeric poate fi programat s execute anumite operaii, astfel nct
pornind de la datele introduse, s se obin informaiile solicitate.
25

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

b. Calculatoarele analogice (analog computer) sunt ehipamente alctuite dintr-un set extins de
elemente liniare, amplificatoare operaionale i circuite numerice independente care pot fi
interconectate de ctre utilizator. Calcul analogic (analog computing) reprezint efectuarea unor
operaii matematice continue pentru determinarea evoluiei n timp a soluiei unui sistem de ecuaii,
algebric sau diferenial, folosind calculatorul analogic. Principalul avantaj al calculatorului analogic l
constituie viteza foarte mare de calcul, respectiv de obinere a soluiei cutate, dezavantajul fiind legat
de precizia relativ redus i modalitile complicate de introducere i extragere a datelor. Elementele
de calcul de tip continuu sunt sumatoare, integratoare, multiplicatoare, generatoare de funcii, cu
toate terminalele la dispoziia utilizatorului, ducnd la implementarea unor scheme de calcul complexe.
c. Calculatoarele hibride (hybrid computer) constau din cuplarea unui calculator analogic cu
un calculator numeric. De regul, calculatorul numeric utilizat va fi un calculator de mic
capacitate, dar cu o memorie suficient pentru a pstra datele necesare ce urmeaz s fie prelucrate.
Comunicarea dintre cele dou calculatoare ale unui sistem hibrid se face cu ajutorul convertoarelor
analog-numerice i numeric-analogice. Comunicaia dintre cele dou calculatoare se desfoar pe
trei nivele, respectiv de control (prin fixarea modurilor de operare, a factorilor de scal pentru timp i
prin determinarea strii curente a tuturor elementelor analitice i numerice adresabile), de date
(transfer rapid de date) i de comand. n continuare se vor analiza i descrie numai calculatoarele
numerice, denumite sisteme de calcul electronic, calculatoare electronice sau mai simplu calculatoare.
Un calculator numeric este un dispozitiv automat n care datele reprezentate n binar sub form
discret sunt prelucrate pe baza unui program ce indic o succesiune determinat de operaii, iar
arhitectura unui calculator reprezint descrierea naturii, configurrii i interconectrii componentelor
sale. Arhitectura general a unui calculator respec principiile formulate de John von Neumann n
1946 care pot fi sintetizate astfel:
1. Fiind destinate realizrii de calcule, calculatoarele vor executa cel mai frecvent operaii
aritmetice, ceea ce impune existena unei componente specializate; aceast component se regsete n
arhitectura calculatoarelor moderne sub numele de unitate aritmetico-logic (UAL);
2. Operaiile de calcul se execut n mod secvenial;
3. Necesitatea realizrii unui control al prelucrrilor; acest control este realizat prin unitatea de
comand-control (UCC) care, mpreun cu UAL, formeaz procesorul (unitatea central de prelucrare
-UCP);
4. Necesitatea unei componente avnd funcia de a reine datele i instruciunile specifice
prelucrrii executate; aceast component este reprezentat de memoria intern (MI) sau operativ ce
prezint un caracter volatil (i pierde coninutul o dat cu ntreruperea alimentrii calculatorului cu
energie electric);
5. Necesitatea unei componente care s permit stocarea permanent a datelor; n arhitectura
calculatoarelor aceast component este reprezentat de memoria extern (ME);
6. Neumann precizeaz necesitatea unor "senzori" care s fie capabili s recepioneze
semnalele provenite din exteriorul "mainii", crora le corespund, echipamentele periferice;
7. Necesitatea asigurrii transferurilor dintre memoria intern i memoria extern.
Se poate concluziona c, indiferent de structura constructiv, de sistemul de operare i de
domeniul de utilizare, arhitectura unui calculator asigur realizarea urmtoarelor funcii :
a) funcia de introducere a datelor;
b) funcia de memorare;
c) funcia de prelucrare (aritmetic i logic);
d) funcia de comand-control;
e) funcia de ieire (de redare a rezultatelor prelucrrii).
Fiecare dintre aceste funcii se va realiza prin intermediul uneia sau mai multor componente
hardware specializate.
Unitatea de comand i control (UCC) mpreun cu unitatea aritmetico-logic (UAL)
formeaz unitatea central de prelucrare (UCP) sau procesorul central, iar dac se include i
memoria, acestea alctuiesc unitatea central (UC).
Datele iniiale ce se supun prelucrrii i programul constituit din instruciuni se introduc n
sistemul de calcul prin intermediul unor dispozitive periferice de intrare (DPI/). Prin intermediul
canalelor de intrare/ieire, att datele, ct i instruciunile programului sunt transferate n memoria
intern a sistemului de calcul sub form binar, n locaii identificabile prin adresele la care au fost
26

CAPITOLUL 2. ARHITECTURA CALCULATOARELOR PERSONALE

memorate (i nu prin coninutul acestora). Instruciunea este trimis la unitatea de comand i


control (UCC) care interpreteaz coninutul acesteia i emite comenzi ctre:
- memorie - prin care se solicit ca anumite date, localizate prin adresele la care sunt
memorate, s fie transferate ctre UAL pentru execuia anumitor operaii; dup efectuarea operaiei
se va specifica adresa din memorie unde se va depune rezultatul operaiei efectuate de UAL;
- UAL, creia i se va solicita execuia operaiei specificate prin instruciune;
- canalele de I/E, n vederea prelurii altor date i instruciuni de la DPI/, respectiv de
ncepere a transferului rezultatelor din memorie ctre DP/E.
Dup terminarea execuiei operaiilor solicitate, rezultatele memorate la anumite adrese din
memorie sunt transferate prin intermediul canalelor de I/E ctre DP/E n vederea vizualizrii
rezultatelor prelucrrii.
Funcia de comand-control i funcia de prelucrare sunt realizate de ctre cea mai important
componenta a calculatorului numit unitatea central de prelucrare (UCP) sau procesor. UCP este
format din dou componente specializate: unitatea aritmetico-logic (UAL) i unitatea de comandcontrol (UCC).
Funcia de memorare este asigurat de dou componente hardware: memoria intern (cu rolul de
a stoca temporar datele supuse prelucrrii i programul/programele de executat) i memoria intern,
depozitarul permanent al datelor i programelor.
Echipamentele hardware din componenta calculatorului care permit stocarea permanent i
regsirea datelor la nivelul memoriei externe sunt reprezentate de:
unitatea de hard-disk,
unitile de floppy-disk (pot exista 2 uniti pentru calculatoarele mai vechi, respective de
5,25 i 3,5 acum nu se mai folosesc dect cele de 3,5),
unitatea de band magnetic,
unitatea de disc optic i magneto-optic,
cardurile de memorie de tip CompactFlash, pen drive-uri, uniti de discuri amovibile
care folosesc o tehnologie magnetic sau magneto-optic pentru nregistrarea/ citirea
datelor (discurile ZIP), etc.
Funcia de intrare a datelor este realizat prin echipamentele periferice de intare (dispozitive de
intrare) reprezentate de: tastatur, mouse, creionul optic i tableta grafic, ecranul tactil, cititorul de
cod de bare, scannerul, microfon, joystick, camera video, etc.
Funcia de ieire este realizat de echipamentele periferice de ieire ( dispozitive de ieire):
monitorul, imprimanta, plotterul, difuzor sau boxe, sintetizator vocal, etc.
Pentru aplicaiile multimedia (secvene video, audio, imagini) exist perifericele de intrare i
ieire specializate n preluarea i redarea datelor multimedia, n afara celor standard, unele periferice
de ieire specializate n redarea datelor multimedia precum: difuzorul, casca VR (Virtual Reality,
audio i video), mnuile VR cu senzori, etc.
n figura 2.1. este prezentat structura funcional a unui sistem de calcul.

Figura 2.1. structura funcional a unui sistem de calcul


n prezent, nu toate sistemele de calcul respect principiile von Neumann.
27

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Pe lng sistemele de calcul monoprocesor, caracterizate prin faptul c realizeaz execuia unei
singure instruciuni la un anumit moment de timp (principiul executrii secveniale a instruciunilor) i
prelucreaz datele ntr-un singur flux de date (arhitectura SISD -Single Instruction Single Data -fluxuri
unice pentru instruciuni i date) exist alte dou categorii de sisteme de calcul:
sisteme de calcul cu arhitecturi paralele (numite sisteme cu arhitecturi Non von Neumann)
care nu respect principiul serialitii ;
sisteme simbolice care asigur realizarea de aplicaii specifice inteligenei artificiale;
sisteme de calcul concepute s realizeze inferene logice (raionamente), neorientate ctre
calculul matematic specific sistemelor de calcul care asigur prelucrarea automat a datelor .
Primele sisteme de calcul au fost monoprocesor, adic prezentau o arhitectur dezvoltat n
jurul unui singur processor, iar ulterior au fost realizate sisteme de calcul multiprocesor. Ideea
multiprocesrii a avut la baz nevoia creterii fiabilitii calculatoarelor.
n realizarea sistemelor de calcul multiprocesor au fost abordate dou strategii:
multiprocesarea asimetric, caracterizat prin existena unui procesor master cu rol
coordonator la nivelul ntregului sistem de calcul, i a unor procesoare slave, a cror funcie
const n executarea independent a unor module ale aceluiai program; procesorul master
coordoneaz i coreleaz toate celelalte procesoare slave. Dezavantajul multiprocesarii
asimetrice const n suprasolicitarea procesorului master;
multiprocesarea simetric, caracterizat prin existena mai multor procesoare cu statut egal.
Sistemele de calcul multiprocesor pot fi clasificate funcie de tipul procesoarelor utilizate n:
sisteme prezentnd ncorporate procesoare specializate pe clase de operaii; aceasta
nseamn c, pe lng procesorul principal, sunt ncorporate procesoare specializate pentru
operaii de intrare-ieire (I/E) sau coprocesoare matematice;
sisteme de calcul prezentnd n cadrul arhitecturii mai multe procesoare independente,
realiznd sarcini de calcul proprii; aceste sisteme de calcul pot fi clasificate n funcie de
tehnica de prelucrare implementat la nivelul procesoarelor n:
a) Sisteme pipeline, caracterizate prin faptul ca mai multe instruciuni executabile (cod main)
sunt ncrcate ntr-o linie complex de prelucrare, urmnd s fie tratate secvenial. Prin
tehnica de pipeline, fiecare instruciune este descompus n una sau mai multe
microoperaiuni, acestea urmnd s fie executate de ctre procesoare diferite, iar rezultatul
prelucrrii la nivelul procesoarelor independente este "asamblat" i transmis exteriorului.
b) Sistemele vectoriale sunt sisteme de tip pipeline caracterizate prin faptul execut un vector
de operaii asupra aceluiai flux de date.
c) Sistemele de tip masiv, care reprezint n arhitectur o singur unitate de control i mai
multe uniti de prelucrare aritmetico-logice, oferind posibilitatea executrii n paralel a
aceleiai operaii asupra mai multor date.
d) Sisteme cu procesoare paralele, caracterizate prin cooperarea procesoarelor la executarea
unor secvene diferite aparinnd aceluiai program.
Progresele realizate n domeniul sistemelor de calcul paralel au dus la o diversitate de soluii.
Caracterizarea acestora se poate realiza prin utilizarea noiunilor de f1ux de instruciuni i flux de date:
SISD (Single Instruction Single Data) sunt sisteme von Neumann (monoprocesor) care se
caracterizeaz prin executarea, ntr-o anumit fraciune timp, a unei singure instruciuni,
prelucrnd un singur flux de date.
SIMD (Single Instruction Multiple Data) sistemul de calcul dispune de multe procesoare
(coordonate de aceeai unitate de control) ce execut aceeai instruciune asupra unor fluxuri
de date diferite, ca n cazul calculatoarelor vectoriale i al masivelor de procesoare. Un
masiv de procesoare este un calculator vectorial implementat ca o mulime de elemente de
prelucrare sincronizate, capabile s ndeplineasc simultan aceeai operaie asupra unor date
diferite. MISD (Multiple Instruction Single Data) nu se regsete n nici o arhitectur a
vreunui sistem de calcul fabricat.
MIMD (Multiple Instruction Multiple Data) n aceste sisteme mai multe fluxuri de
instruciuni opereaz simultan asupra mai multor fluxuri de date.
Aceste sisteme pot prezenta dou variante de arhitectur:
28

CAPITOLUL 2. ARHITECTURA CALCULATOARELOR PERSONALE

MIMD cu memorie partajat: procesoare independente execut propriile sarcini, protejnd


datele stocate n memoria central comun divizat n module;
MIMD cu memorie distribuit: fiecare procesor execut propriile sarcini, schimbnd
mesaje cu celelalte procesoare.
n ambele variante, procesoarele posed propria unitate de control.
2.3. CLASIFICAREA CALCULATOARELOR ELECTRONICE
Existena unei mari diversiti de sisteme de calcul a impus necesitatea clasificrii acestora prin
gruparea lor n clase. Apartenena la una din clasele de calculatoare este determinat de
funcionalitatea i caracteristicile tehnice i de exploatare ale componentelor ce formeaz arhitectura
calculatorului, domeniile i modalitile de utilizare a acestora. n cadrul fiecrei clase se pot identifica
familii de calculatoare care sunt concepute pe aceeai structur logico-funcional, familii ce au n
componen membri prezentnd caracteristici generale asemntoare, dar cu anumite particulariti
constructive. Criteriile avute n vedere la definirea claselor de calculatoare privesc: complexitatea
arhitecturii, viteza de lucru, dimensiunea memoriei interne, capacitatea de stocare la nivelul memoriei
externe, diversitatea i caracteristicile perifericelor, tipurile de aplicaii i costul sistemelor de calcul.
Plecnd de la aceste criterii, au fost definite urmtoarele clase de calculatoare:
1. supercalculatoare,
2. sisteme de calcul principale (mainframe),
3. minicalculatoare,
4. servere,
5. calculatoarele industriale (de proces),
6. microcalculatoare.
1. Supercalculatoarele sunt sistemele de calcul cele mai mari i complexe, cele mai puternice i
cele mai scumpe. n arhitectura acestora se pot distinge peste 8 uniti centrale de prelucrare care pot s
execute peste 1 miliard de instruciuni pe secund, ca pre fiind situate n jurul a 20-100 milioane
de dolari. Aceste sisteme sunt utilizate n prelucrri extrem de complexe a datelor, viznd diferite
domenii de activitate cum ar fi: biologie, chimie, geologie, aerospaial, medicin, meteorologie,
fizic, matematic, criptografie, tehnica militar prognoza vremii, cercetri tiinifice n astronomie,
seismologie, reactoare nucleare, criptografie, simulri din aria energiei nucleare, proiectarea
aeronavelor, etc. Cercetri i proiectri n industria supercalculatoarelor se realizeaz n SUA i
Japonia de ctre firme cum sunt: Cray Research, Fujitsu, ETA Systems, Sutherland.
Numrul de procesoare interconectate ale unui supercomputer depete la anumite modele chiar
i 100.000. Un computer normal, numit de tip "scalar", conine un singur procesor central.
Printre primele firme care au produs supercomputere pentru pia ("comerciale") s-a numrat
firma Cray prin anii 1970, numit aa dup fondatorul ei Seymour Cray. Primul su supercomputer
vndut i instalat oficial a fost celebrul Cray-1, care n anul 1976 a atins viteza de calcul de 130
MegaFLOPS (130 milioane de instruciuni cu virgul mobil pe secund). Drept comparaie, un PC
normal din zilele noastre poate atinge civa GigaFLOPS (cu alte cuvinte, PC-ul de azi este deja de
circa 10 ori mai rapid la acest gen de instruciuni dect supercomputerul din 1976).
Pe acest domeniu exist o list a celor mai rapide 500 de supercomputere de pe lume ("Top
500"), care se bazeaz pe testul standardizat numit "Linpack". Pe lng aceste supercomputere
comerciale exist desigur i linia supercomputerelor militare (care nu se pot cumpra pe pia).
n tabelul 2.3. sunt prezentate rezultatele testului de evaluare a principalelor modele de
supercalculatoare, cu menionarea denumirii i productorului, principalelor caracteristici referitoare
la numrul de procesoare, mrimea problemei (dimensiunea matricei la care a fost observat
performana nregistrat n table) i capacitatea teoretic maxim de calcul a sistemului.
IBM Roadrunner (dup pasrea reprezentativ a statului New Mexico) este computerul
construit de inginerii i cercettorii de la IBM i Los Alamos National Laboratory din New Mexico,
cost 133 de milioane de dolari i a fost capabil s realizeze 1.026.000 de miliarde de operaiuni pe
secund, va putea ajunge la viteza de 1,6 trilioane de operaii pe secund, fiind de dou ori mai rapid
29

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

dect IBM BlueGene/L, care se afl la Lawrence Livermore National Laboratory din California. Este
destinat soluionrii problemelor militare secrete pentru a se asigura c armele nucleare vor continua s
funcioneze corect pe msur ce se nvechesc. Roadrunner va fi folosit pentru a simula
comportamentul armelor n fraciunea de secund dinaintea exploziei. Va mai fi folosit i pentru a
explora probleme tiinifice mondiale cum ar fi schimbrile climatice. Viteza Roadrunner le va permite
cercettorilor s testeze modelele climatice internaionale cu o mai mare acuratete.
Tabelul 2.3.
Evoluia principalilor parametrii ai supercalculatoarelor

Thomas D'Agostino, administatorul National Nuclear Security Administration, a declarat c,


dac toi cei ase miliarde de locuitori ai planetei ar folosi calculatoare i ar face calcule n regim
continuu ar avea nevoie de 46 de ani pentru a face ceea ce poate Roadrunner s fac ntr-o singur zi.
Standardul cel mai performant de calcul se numete petaflop, computerul procesnd informaii
cu viteza de un milion de miliarde de operaiuni pe secund, a fost mult timp un el vizat de
organizaiile militare, tehnice i tiinifice din Statele Unite, dar i de grupuri din Japonia, China i
Uniunea Europeana. Roadrunner are la baz un design radical, care include 12.960 de chip-uri care
reprezint o versiune mbuntit a microprocesoarelor IBM Cell, i cipuri special create pentru
gadgeturile de gaming Sony PlayStation 3, care sunt utilizate ca acceleratoare pentru poriuni de
calcule. n plus, Roadrunner mai include procesoare Opteron convenionale, realizate de Advanced
Micro Devices. Roadrunner, care consuma trei megawai de energie electric, echivalentul celei
consumate de un centru comercial suburban, are nevoie de trei tipuri de instrumente de programare
pentru cele trei tipuri de procesoare ale sale. Programatorii trebuie s gseasc o soluie prin care s
in ocupate toate cele 116.640 de procesoare ale computerului n acelai timp, pentru ca acesta s
ruleze eficient.
Cele mai puternice cinci supercomputere sunt:
Blue Gene/L, Lawrence Livermore National Laboratory, California. (280.6 teraflopi;
131,072 procesoare)
Jaguar, Oak Ridge National Laboratory, Tennessee (101.7 teraflopi; 11706 procesoare)
Red Storm, Sandia National Laboratories, USA (101.4 teraflopi; 26544 procesoare)
30

CAPITOLUL 2. ARHITECTURA CALCULATOARELOR PERSONALE

BGW Blue Gene, IBM Thomas J. Watson Research Center, New York (91.29 teraflopi;
40960 procesoare)
New York Blue, Stony Brook/BNL, New York Center for Computational Sciences, New
York (82.161 teraflopi; 36864 procesoare)
Power 575 este un supercomputer produs de IBM, iar noua versiune instalat la Institutul Max
Planck din Germania dispune de un sistem cu rcire cu ap. Schimbul de energie caloric nu se
realizeaz n radiatoare cu rcire cu ap standard, ci prin intermediul Advanced Thermal Packaging, un
sistem de rcire cu lichid dezvoltat de IBM de aproape un an ( imaginai-v 14 noduri cu cte 32 de
procesoare POWER6 care ruleaz constant la frecvena de 5 GHz. O rcire cu aer pentru un asemenea
supercoputer implic hale dotate cu instalaii imense de aer condiionat i un consum ridicat de curent
pentru coolerele specifice pentru procesoare. Un centru de date cu aceleai noduri, dar dotat cu rcire
cu ap, consum cu 40% mai puin energie pentru rcirea n sine.
2. Sistemele de calcul mainframe constituie o categorie aparte de sisteme, situat ntre
supercalculatoare i minicalculatoarc, care opereaz cu viteze foarte ridicate. Alturi de un numr de
uniti centrale de prelucrare, aceste sisteme ntrein uniti principale de intrare, respectiv ieire care
opereaz i ele cu viteze nalte.
Mainframe-urile sunt computere mari i scumpe folosite de instituii guvernamentale i companii
mari pentru procesarea de date importante pe domeniile: statistic, recensminte, cercetare i
dezvoltare, proiectare, prognoz, planificarea produciei, tranzacii financiare .a. Mainframe s-ar putea
traduce cu "dulap principal", ceeace provine de la aspectul exterior al primelor mainframe-uri - ele
artau ca dulapuri uriae de metal. Acum prin mainframe se nelege n primul rnd un calculator mare
compatibil cu modelele de tip IBM System/360, care au aprut pe pia n anul 1965. Actualmente cel
mai modern model de la IBM se numete System z10.
Pe lng aceste mainframe-uri mai sunt considerate drept mainframe-uri i calculatoarele actuale
de tip:
Fujitsu-Siemens: Nova, compatibil cu IBM System z9
Groupe Bull: DPS
Hewlett-Packard: NonStop (provenite iniial de la firma Tandem)
Hitachi: modele compatibile cu IBM System z9
Platform Solutions Inc. (PSI): modele compatibile cu IBM System z9
Unisys: ClearPath
n afar de acestea au mai existat i alte modele de la ali productori care azi nu mai exist sau
nu mai produc mainframe-uri, ca de exemplu de la firmele: Amdahl, Burroughs, Comparex, Control
Data, General Electric, Honeywell, NCR, NEC, NT&T, Oki, RCA, Sperry, Telefunken, Univac,
precum i cele ale unor ri din Tratatul de la Varovia, care au copiat mainframe-uri de la IBM n mod
ilegal. Prin contrast, urmtoarele tipuri de computere nu sunt considerate mainframe-uri:
supercomputerele, computerele de prelucrat vectorii, apoi minicomputerele (de exemplu serverele de
la firmele IBM, SGI, Sun Microsystems i multe altele), precum i computerele personale (de exemplu
cele de la Apple i toate PC-urile de la Acer, Asus, Dell, Fujitsu-Siemens, Hewlett-Packard, Lenovo,
Medion, MSI, Packard Bell, Samsung, Sony, Toshiba i multe altele).
n anii 80, accentul s-a pus pe reducerea consumului de energie i creterea eficienei
mainframe-ului. La acea vreme, IBM a dezvoltat un modul care disipa cldura de la suprafaa chip-ului
n mediul nconjurtor. Pn la 64 de chip-uri puteau fi amplasate pe un astfel de modul.
Aceeai tehnologie a pus bazele mainframe-ului CMOS de astzi. Cu numele de cod Picasso,
IBM a proiectat a treia generaie CMOS, dezvoltnd un sistem de multiprocesare cu 6 procesoare:
fiecare CPU (unitate central de procesare) avea o performan aritmetic de 14 MIPS, sistemul total
avnd peste 70 MIPS. Pn la 32 de astfel de computere puteau fi combinate ntr-o unitate complex.
Primul dintre acestea, IBM 9672, a fost lansat n 1994. IBM a continuat s dezvolte platforma CMOS.
Veniturile pe segmentul mainframe au surclasat veniturile obinute pe segmentul platformelor
bazate pe sistemul de operare Microsoft Windows. Abilitatea mainframe-ului de a rula noi aplicaii
inclusiv aplicaiile Linux i Java reprezint un argument major al succesului continuu pe care l
nregistreaz. Principalele sisteme sunt :
31

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

IBM System Z9 reprezint cel mai sofisticat server pentru afaceri din lume. Unic n segmentul
serverelor, arhitectura mainframe pe 64 de bii a fost proiectat de la nceput nct s incorporeze
procesoare ce controleaz o varietate de procese specializate.
IBM Global Asset Recovery Services este parte a efortului de a proteja mediul nconjurator
(unitatea IBM de recondiionare i reciclare, se va ocupa de procesarea i dispunerea corespunztoare a
celor 3900 de sisteme recuperate).
Proiectul Big Green consta n software, hardware i servicii eficiente energetic oferite de IBM
i partenerii de afaceri IBM.
IBM System z10 ajut clienii s creeze un nou centru de date clasa enterprise.
Viitoarea generaie de mainframe de la IBM, cu processor pe 64 de bii i tehnologie quad-core,
a fost proiectat de la nceput pentru a fi rspndit i pentru a oferi performan crescut pentru
serverele virtualizate x86, suportnd sute de miliane de utilizatori.
Z10 este echivalentul a 1,500 servere x86, cu un volum mai mic cu 85 % i cu o reducerere a
costurilor de energie cu pana la 85%.
IBM aduce noi capabiliti Master Data Management i Data Warehousing pentru sistemul z.
Acestea vor include serverul Infosphere Master Data Management pentru sistemul z ce permite marilor
business-uri s centralizeze managementul clienilor, produselor i informaiilor din companie.
3. Minicalculatoarele au cunoscut o dezvoltare ncepnd cu 1960 pentru executarea unor
programe de aplicaii specializate, avnd urmtoarele caracteristici generale:
sunt mai mici i mai puin extinse dect supercalculatoarele i sistemele principale;
sunt mai uor de instalat i operat dect sistemele principale;
preul variaz de la cteva mii la sute de mii de dolari;
sunt utilizate n aplicaii multiutilizator, n mainile cu control numeric, automatizri
industriale, prelucrri de texte, precum i pentru transmisii de date ntre sisteme dispersate
geografic, datorit facilitilor oferite n cadrul proceselor de comunicaii.
Numele lor provine din formularea "configuraie minim de calcul". Erau sisteme interactive
(utilizatorii aflai n faa unor terminale se aflau n dialog cu calculatorul) i multiutilizator: la un
moment dat mai multi utilizatori (cteva zeci sau chiar cteva sute) putea folosi calculatorul prin
intermediul terminalelor. Aceast caracteristic impune un sistem de operare (numit RSX) performant,
care s poat gestiona la un moment dat programele mai multor utilizatori i s ofere mecanisme de
protecie a memoriei (s nu se suprapun mai multe programe n aceeasi zon de memorie). n situaia
n care programele utilizatorilor, mpreun cu soft-ul accesat de ele, nu ncpeau simultan n memorie,
erau evacuate temporar pe un disc magnetic (mecanism de swap).
Pentru structurarea informaiilor utilizatorilor aflate sub form de fiiere pe suporturile
magnetice, apare noiunea de director (repertoar de fisiere). Existau doar dou niveluri de directoare,
spre deosebire de directoarele arborescente din UNIX si DOS.
Programarea pe minicalculatoare era mai anevoioas dect pe microcalculatoarele care au aprut
ulterior din cauza unei insuficiente dezvoltri a produselor soft destinate programrii: procesele de
editare, compilare, link-editare i execuie a programelor erau realizate separat, prin aplicaii
independente, care necesitau adesea o cantitate destul de mare de memorie disponibil iar aceast
condiie putea fi adesea mai dificil de ndeplicit n condiiile n care muli utilizatori exploatau
simultan sistemul de calcul.
Minicalculatoarele lucrau pe 16 si 32 de biti. Dintre reprezentanii lor amintim: VAX 8600,
VAX 8650, PDP 11 i calculatoarele romneti CORAL i INDEPENDENT.
Evoluia minicalculatoarelor a condus la sisteme multiutilizator mai performante, care pot fi
exploatate simultan de mai multe sute sau chiar mii de utilizatori acestea sunt referite n literatura de
specialitate sub numele de mainframes. Din punctul de vedere al performanei, ele se apropie cel mai
mult de supercalculatoare, la cellalt pol gsindu-se calculatoarele personale.
4. Serverele au aprut n paralel cu reelele de calculatoare. Reelele permit calculatoarelor s
comunice unul cu celalalt, iar pentru reele mari apare nevoia ca un calculator s ia rolul de server i s
deserveasc alte calculatoare (acestea interacionnd eventual direct cu utilizatorii umani), care i
asum rolul de client.
32

CAPITOLUL 2. ARHITECTURA CALCULATOARELOR PERSONALE

Dup apariia serverelor, reelele s-au dezvoltat i au crescut mai departe, dar minicomputerele,
care erau mai eficiente dect cele personale dar mai ineficiente dect mainframe au disprut sau au
fost absorbite de unele din aceste servere.
Dispozitive de tip server. Cu toate c serverele pot fi construite, din componente obinuite de
calculatoare, este necesar ca pentru operaii de mare amploare, unde conteaz mult viteza de ncrcare,
serverele folosesc configuraii hardware optimizate pentru aceste cerine de server.
Serverele au ncorporate pri mecanice de rezisten-industrial, cum ar fi hard-discurile i
ventilatoarele folosite, fiind de performane deosebite i fiabilitate mare, bineneles la preuri mari.
Aspectul estetic este ignorat, pentru c acestea sunt montate n camere tehnice, i nu sunt vzute doar
de cei ce le ntrein sau le repar. Cu toate c serverele folosesc mult spaiu pe disc, sunt folosite harddiscuri de capacitate mic, pentru mai mult siguran. Viteza microprocesorului este mult mai mic la
un server n comparaie cu un calculator personal. Operaiile de intrare/ieire sunt executate mai rapid
n cazul lipsei interfeei grafice a utilizatorului (GUI), i n aceste cazuri se mrete puterea de calcul n
favoarea altor procese. Serverele trebuie s lucreze n mod continuu i n siguran avnd
ventilatoarele zgomotoase, sisteme centralizate de aer condiionat, pentru a pstra o temperatur ct
mai mic, ca serverele s fie funcionabile. Se folosesc UPS-uri pentru a fi siguri de continuitatea de
alimentare cu energie electric, pentru ca penele de curent s nu provoace stricciuni ireparabile.
Programe pentru servere. Diferena major ntre computerele personale i servere, nu este
partea hardware ci partea de software. Pe servere ruleaz sisteme de operare, care sunt special
proiectate pentru acestea.
Sisteme de operare. Sistemul de operare Microsoft Windows este predominant n rndul
computerelor personale, dar n lumea serverelor, cele mai populare sistem de operare sunt FreeBSD,
Solaris, i GNU/Linux care deriv i sunt asemntoare cu sistemul de operare UNIX. UNIX a fost
proiectat iniial pentru microcomputere i pentru servere, care au nlocuit treptat microcomputerele.
UNIX a fost o alegere logic i eficient ca sistem de operare pentru servere.
Sistemele de operare orientate spre servere, au multe proprieti n comun, care s le fac mai
compatibile cu mediul server, cum ar fi: lipsa interfeei grafice GUI (sau existnd o opiune GUI);
abilitatea de a reconfigura sistemul (hardware i software) n unele cazuri fr oprirea sistemului;
faciliti de a crea copii de siguran (backup-uri) pentru datele importante, la intervale de timp
frecvente si/sau regulate; posibilitatea de a muta date ntre diferite partiii sau dispozitive printr-un
mod transparent pentru utilizator; capaciti flexibile i complexe de lucru n reea; proprieti
(daemoni n UNIX sau servicii n Windows) care fac ca execuia programelor s fie mai eficiente;
sistem de securitate etan, cu utilizatori avansai, protecia datelor i a memoriei.
Cu toate astea, o anumita versiune Windows este mai puin folosit dect cea mai recent
versiune al popularului Mac OS X (acesta este bazat pe UNIX i d acces complet utilizatorilor si la
sistemul de operare UNIX) din familia sistemelor de operare pentru calculatoare personale i unele
sisteme de operare avnd structura de baz mai proprie (cum ar fi z/OS); dar majoritatea serverelor
folosesc sisteme de operare, versiuni ale UNIX sau clonele acestuia. Chiar i n cazul popularului
sistem de operare GNU/Linux de tip UNIX, folosit frecvent pe servere, n aceast configuraie fiind
ideal pentru servere, dar poate fi nesatisfctoare pentru calculatoarele personale, iar o configuraie
care ruleaz ideal pe calculatoarele personale, poate s lase de dorit n cazul serverelor.
Apariia serverelor bazate pe microprocesoare, a facilitat apariia mai multor versiuni ale
sistemului de operare UNIX care ruleaz pe microprocesoare de tip Intel x86, incluznd Solaris,
GNU/Linux i FreeBSD.
Aplicaiile pentru servere, sunt particulare, realizate pentru a executa numai operaii de tip
server, ca i aplicaiile pentru calculatoarele personale sau de tip mainframe care sunt proiectate pentru
mediile respective. Un server care primete numai cereri, folosete aceleai tipuri de aplicaii tot
timpul, nu poate comunica calculatorului care a formulat cererea, despre ndeplinirea cererii.
Servere pe Internet. Aproape toat structura Internetului se bazeaz pe modelul de server client.
Mai multe milioane de servere, toat lumea, sunt conectate la Internet i ruleaz continuu. Majoritatea
serviciilor oferite pe Internet, de servere sunt: Web; Domain Name System; electronic mail sau pot
electronic; file transfer sau transfer de fiiere; instant messaging sau mesagerie instant; fiiere audio
i video, jocuri.
33

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

5. Calculatoarele industriale sunt sisteme de calcul complexe, realizate cu subansamble i


componente profesionale, proiectate special pentru utilizarea ndelungat n medii industriale cu
cerine severe. Utilizarea calculatoarelor industriale nu este limitat numai la monitorizarea,
supravegherea i comanda proceselor de fabricaie; asigurnd un grad ridicat de fiabilitate, acestea
ofer o soluie profesional i pentru utilizri de tip server: server de aplicaii sau de fiiere, server de
Intranet/Internet/Extranet al firmei, server pentru furnizorii de servicii Internet etc.
Domeniul calculatoarelor industriale necesit o fiabilitate sporit i un timp mediu de bun
funcionare ct mai mare.Din acest motiv, beneficiarii unor astfel de produse sunt dispui s plateasc
un pre mai ridicat, att pentru componentele hard, ct i pentru pachetele software. Componentele
hard ale calculatoarelor industriale trebuie s fie de cea mai bun calitate, s prezinte o fiabilitate
sporit i s asigure o stabilitate n exploatare un timp ct mai ndelungat.
Sistemele profesionale trebuie s fie prevzute cu ventilatoare pe rulmeni, conectoare aurite,
surse de alimentare supradimensionate, condensatoare cu tantal, memorii de foarte bun calitate etc.
Calculatoarele industriale includ calculatoare mono-placa (Single Board Computers SBC),
dispozitive de stocare cu memorii semiconductoare, plci de sertar pasive (backplanes), surse de
alimentare, module i sisteme de afiare, periferice, comutatoare KVM(A), asiuri, carcase etc., toate
cu specificaii industriale. Calculatoarele industriale/de proces controleaz procese tehnologice sau
diverse analize experimentale asistate de calculator, prelucrnd informaii numerice sau analogice
despre procesul studiat i furniznd ieiri numerice sau analogice cu rol de reglare a procesului.
Aceste sisteme de calcul funcioneaz n timp real, adic timpul de rspuns al calculatorului este
compatibil cu constantele de timp ale procesului gestionat. Se pot face lesne analogii cu un proces din
tehnologia fabricrii PAL PFL sau MDF sau unul chimic, n care modificarea defavorabil a unui
parametru trebuie s fie rapid remarcat i remediat de calculatorul de proces sau cu sistemele de
calcul aplicate n medicin, biochimie i fizic (de exemplu, acceleratoarele de particule sunt
controlate i ele de calculatoare de proces).
Un calculator de proces exercit funcii de control i comand / reglare asupra procesului pe care
l conduce, n sensul supravegherii lui i a prelucrrii datelor de proces culese, respectiv al schimbrii
strii acestuia n caz c prin prelucrarea informaiilor culese se constat c acest lucru este necesar.
6. Microcalculatoarele - denumite i PC (Personal Computer) sau HC (Home Computer)aprute ca urmare a dezvoltrii tehnicii de calcul i informaticii, cu o rapid dezvoltare i diversificare
n etapa actual, datorit avantajelor deosebite pe care le prezint n raport cu celelalte categorii de
sisteme de calcul: accesibile tuturor utilizatorilor, care fr s aib o pregtire special, se pot iniia
n tehnica de calcul, sunt realizate la preuri sczute (ntre 200 i 10.000 dolari), cu gabarit redus,
unele portabile cu aplicabilitate n orice domeniu de activitate, printr-un soft specializat.
Dintre principalele caracteristici, se menioneaz:
structura sistemului n jurul unei magistrale;
dispun de o structur modular, realizat dup criterii funcionale i constructive;
au un numr mic de componente pentru implementarea unitii centrale de prelucrare i a
interfeelor cu magistrala;
se pot utiliza i pentru comunicaia cu alte sisteme de calcul sau cuplate cu alte sisteme,
identice sau diferite.
Microcalculatoarele sunt calculatoare a cror unitate central este un microprocesor. Primele
microprocesoare au aprut n anii '70 dar s-au dezvoltat mai ales n anii '80 si continu s evolueze; ele
lucreaz pe 8, 16 sau 32 de biti (cazul calculatoarelor folosite n prezent). Sunt sisteme interactive,
monoutilizator (la un moment dat sunt exploatate de un singur utilizator). Microcalculatoarele s-au
rspndit curnd ca urmare a evolutiei tehnologiei care a redus foarte mult costurile lor de fabricatie.
De alftel, aceste costuri sunt n continu scdere iar performantele evolueaz tot mai mult.
Primele microcalculatoare au fost calculatoare personale familiale: Sinclair Spectrum,
Commodore sau cele romnesti PRAE, aMIC, HC, TIMS, Cobra. Ulterior au aprut calculatoarele
personale (PC) profesionale. Dintre primele microcalculatoare profesionale romnesti amintim: M18,
M118, CUBZ, M216 (de remarcat c acesta din urm putea lucra att sub sistemul de operare CP/M,
ct si sub DOS); ulterior a aprut familia Felix PC. Pe plan mondial amintim calculatoarele Apple
MacIntosh, cu o interfat foarte prietenoas cu utilizatorul, create mai ales pentru neprofesionisti si
34

CAPITOLUL 2. ARHITECTURA CALCULATOARELOR PERSONALE

calculatoarele de tip IBM PC, care au nregistrat o evolutie tehnologic de-a dreptul spectaculoas,
bazat n principal pe evolutia microprocesoarelor (cele mai cunoscute sunt realizate de firma Intel).
Pentru calculatoarele personale cu performante ridicate, care sunt dotate cu cte un
microprocesor mai puternic si un monitor de calitate nalt, cu facilitti grafice deosebite, se foloseste
uzual denumirea de statii de lucru (workstations). Cele mai cunoscute statii de lucru au fost create de
firmele SUN, Hewlett-Packard si DEC. Statiile de lucru se folosesc uzual pentru aplicatii profesionale,
dezvoltare de soft, probleme care necesit facilitti grafice performante, cum ar fi proiectarea
inginereasc si pot fi conectate n retele de calculatoare.
Primul sistem de operare al microcalculatoarelor a fost MS DOS, care are la baz primul sistem
de operare al microcalculatoarelor, CP/M, mbunttit cu principii din UNIX (cum ar fi structura
arborescent a directoarelor). Datorit mediilor de programare, calculatoarele personale au devenit
instrumente de lucru mai convenabile pentru informaticieni. n plus, mai ales n ultimul deceniu,
produsele soft au evoluat foarte mult, dezvoltndu-si o interfat din ce n ce mai accesibil, care a atras
tot mai mult si utilizatorii neprofesionisti.
Microcalculatoarele sunt siteme de calcul a cror unitate central de prelucrare este
implementat cu unul sau dou microprocesoare. Microprocesoarele sunt circuite integrate monolitice
care implementeaz cea mai mare parte a funciilor unui procesor tradiional, fiind constituite dintr-o
pastil de siliciu (chip) care nglobeaz milioane de tranzistoare - realizat pe baza tehnologiei
siliciului implantat pe rubin n variante MOS (Metal-Oxid-Semiconductor) ca: PMOS, CMOS, NMOS,
HMOS etc.
Memoria este realizat modular, o parte din modulele de memorie fiind alocate utilizatorului ca
zona de lucru (RAM), iar celelalte module memorrii unor programe din software-ul de baz cu care
este echipat microcalculatorul (ROM). modulele de memorie se prezint sub forma unor chip-uri
distincte, avnd o anumit capacitate de stocare,
Controlerele de acces direct la memorie au rolul de a degreva unitatea central de prelucrare de
urmrirea permanent a transferurilor de date realizate ntre memoria intern i memoria extern tratat
ca dispozitiv periferic de intrare/ieire.
Dispozitivele periferice de intrare/ieire sunt cuplate la magistrala microsistemului prin
intermediul interfeelor seriale sau paralele, n funcie de modul n care se realizeaz transferul datelor
(serial sau paralel) care implic supravegherea permanent de ctre unitatea central de prelucrare a
transferului, scznd astfel randamentul acesteia prin meninerea ei n stare activ.
Microcalculatoarele reprezint sisteme de calcul avnd arhitectura construit n jurul
microprocesorului ce are rolul de unitate central de prelucrare. Evoluia microcalculatoarelor a fost
deosebit de dinamic, concretizat prin apariia mai multor subclase de astfel de sisteme de calcul:
1. Microcalculatoarele familiale, aa-numitele Home-Computer, prezentau un microprocesor
pe 8 bii, memorie dinamic de 48Kb, folosind drept monitor televizorul, iar ca dispozitiv al memoriei
externe casetofonul. Programabile n limbajul BASIC, permiteau efectuarea de calcule cu un volum de
date redus (un buget de familie, de exemplu) i, totodat, rularea unor jocuri. Larg rspndite n
deceniul apte, ele au fost oferite de mai multe firme, dintre care, cele mai reprezentative sunt:
Commodore, Sinclair Spectrum,Atari etc.
2. Microcalculatoare semiprofesionale, lansate n juru1 anului 1975, realizate tot cu
microprocesoare pe 8 bii. Se deosebesc, arhitectural, de Home Computer, prin cuprinderea n
configuraie a unor periferice mai pretenioase (uniti floppy disk, imprimanta, uniti de caseta
magnetic, uniti de band magnetic, eventual cuplor de teletransmisie)
3. Microcalculatoare profesionale sau PC-uri caracterizate din momentul lansrii lor pe piaa,
prin utilizarea microprocesoarelor pe 16, 32 i 64 bii, includerea unei uniti de disc WINCHESTER,
destinat stocrii unui volum mare de date, creterea vitezei de prelucrare a datelor etc. Dou au fost
modelele de referin care au marcat evoluia acestei subclase de calculatoare:
PC -Personal Computer (1981) pe 16 bii, lansat de IBM (SUA);
MacIntosh (1984) pe 32 bii, lansat de firma APPLE (SUA).
Strategiile celor dou firme de referin au fost deosebite. IBM a optat pentru o arhitectur
deschis i transparent. n realizarea proiectelor sale, IBM a utilizat circuite integrate produse de
firma INTEL, sisteme de operare create de MICROSOFT, periferice produse de diverse alte firme.
35

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

n opozitie cu IBM, firma APPLE a adoptat n realizarea microcalculatorului MacIntosh (pe


scurt MAC) o arhitectur nchis. APPLE i-a asigurat majoritatea componentelor necesare din
producie proprie, promovnd componente ale unitii centrale de prelucrare (UCP) cu natura diferit
fa de ale PC-ului, tehnologii, sistem de operare i periferice dedicate. Unitatea central de prelucrare
utilizeaz microprocesoare MOTOROLA, cu memoria operativ avnd valori ntre 1 Megaoctet i
maxim 256 MO. Specific MacIntosch este interfaa grafic pe care a prezentat-o de la primele modele.
Dac la nceput cele dou tipuri de microcalculatoare erau incompatibile, prin utilizarea
microprocesorului POWER PC se permite utilizarea programelor PC i MacIntosh pe acelai sistem de
calcul i putem vorbi de portabilitatea datelor de pe un PC pe un MacIntosh prin intermediul unor
programe speciale de conversie. Cele mai cunoscute firme productoare de microcalculatoare
profesionale sunt: IBM, APPLE, COMPAQ, DELL, HEWLETT-PACKARD, OLIVETTI etc.
Microcalculatoarele profesionale sunt la rndul lor de dou categorii: de birou i portabile.
PC-urile staionare (de birou) prezint o serie de modele:
-modelul desktop, numit i orizontal, datorit poziiei unitii sistem;
-modelul tower, cu orientare vertical a unitii sistem: minitower, miditower i fulltower.
-mini PC-uri, sunt modele cu gabarit redus, de format cubic.
Mini PC-uri sau barebone" reprezint o form relative recent de microcalculatoare, din
categoria PC-urilor staionare, cu caracteristica principal de miniaturizare a carcasei i o destinaie
preponderent pentru lumea multimedia. Un astfel de calculator n semi minatur este mai uor de
adaptat ntr-un interor, mai original, ocup mai puin spaiu, are un design apropiat de un sistem
multimedia, audio-video, poate fi comandat de la distan, este mai silenios. Un barebone prezint
faciliti pentru diveri utilizatori pornind de la mediul office, home theater, platform pentru jocuri,
avnd implementate echipamente care ofer posibilitatea de ascultare a unui CD audio sau cu mp3-uri,
vizionri DVD, implementarea unui radio FM, cititor de carduri i alte echipamente de ultim
generaie. Cei de la Shuttle sunt deschiztori de drumuri n domeniul barebone-urilor.
PC-urile portabile existente n acest moment pe pia prezint modele slim i book, cu diferite
variante de laptop sau notebook i palmtop (PC-urile miniatur). n momentul de fa cele mai
cunoscute modele ale acestei familii de calculatoare sunt laptop-urile i PDA- urile (Personal Digital
Assistant).
Notebook-urile au o greutate ntre 1,5 i 3,5 kg, primele modele i ajungnd la greuti sub 1 kg,
au monitor color de nalt fidelitate, memorie RAM de la 8-32 MB (primele modele), la 512 MB sau
chiar 1024MB, capacitatea de stocare a hard-discului ajunge la 80 250 GB sau mai mare, CD i/sau
DVD, placa de sunet, difuzoare, casc audio. Acestea sunt dotate cu microprocesoare de tip PENTIUM
4 M (de la mobil) de diferite caracteristici i arhitecturi (nuclee), ns cu o caracteristic specific
calculatoarelor mobile, respectiv miniaturizarea componentelor, adaptarea la alimentarea prin
acumulator sau direct de la reea i volumul incintei restrns cu o ventilare ngreunat. Interfaa este
asigurat de tastatura i de trackball sau de TouchPad (suprafaa plan, ataat la tastatura, ai crei
senzori urmresc micarea degetelor, presiunea exercitat de acestea i transmit micarea lor
cursorului, pe ecran). Mai nou, notebook-urile prezint o camer digital avnd faciliti de
videoconferin i de captur a secvenelor video. ventilatoarele in portabilele reci i relativ zgomotoase. Productorii se ntrec la realizarea sistemelor cu diagonala ecranului ct mai mare (15,4
17), cu procesorul, placa video, memoria intern, harddiscul cu performanele cele mai mari i
greutatea ct mai redus, precum i carcase ct mai rezistente. Productori importani pe pia sunt
Toshiba, Compaq, Nec, Sony, Fujitsu-Siemens, Hewlett-Packard, etc.
PDA - urile (Personal Digital Assistant) sau Pocket PC-urile, impresioneaz nu doar prin
dimensiune (pot fi purtate n buzunar i au o greutate de la cca. 450 g la 150 100 g), dar i prin
performanele i funcionalitile lor. Majoritatea folosesc procesoare RISC pe 32 bii, un minim de
4MB RAM i 4MB ROM, prezint ecran tactil i creion optic, tastatur, monitor ce permite
vizualizarea informaiei exact ca pe un desktop, dispozitive de nregistrare i redare a vocii, iar
modelele standard prezint un modem card. Sistemul de operare conine instruciuni pre-programate
care coordoneaz activitatea microprocesorului. El nu are ns complexitatea celui folosit de laptop,
spre exempu. Generaiile mai noi de PDA-uri permit rularea unui numr mare de programe, de la
jocuri simple, filme i muzic, pn la suite office i browser-e, devenind practic mini-calculatoare
(microcalculatoare n miniatur).
36

CAPITOLUL 2. ARHITECTURA CALCULATOARELOR PERSONALE

Exist dou tipuri de sisteme de operare - Palm OS sau Pocket PC (care mai poart numele de
Windows CE, Microsoft), asigurnd majoritatea facilitilor oferite de sistemele: WINDOWS desktop.
Palm OS are dimensiune mai mic i vitez mai mare de lucru, n timp ce Pocket PC suport mai
uor imaginile grafice sau micile aplicaii de tip Word sau Excel, MP3 sau fiiere de tip Movie, cu
repercusiuni asupra vitezei de lucru.
PDA-urile se pot clasifica i dup modalitatea de introducere a datelor sau de validare a
comenzilor. Cele de tip Handheld (tip de calculator care ncape n mna utilizatorului; printre care
Handheld PC-uri, PDA-uri, Smartphone-uri, pagere inteligente i laptopuri de dimensiuni mici) au o
tastatur n miniatur mpreun cu ecranul LCD preso-sensibil", n timp ce pentru aparatele de tip
Palm folosii un creion" n combinaie cu ecranul care folosete exclusiv un program de
recunoatere a scrisului de mn. Alte versiuni sunt de tip HPA (High Performante Addressing),
reprezentnd un sistem LCD bazat pe o matrice pasiv, care ofer timpi de rspuns rezonabili, dar
continua s aib un contrast sczut Nu se mai fabrici dect pentru dispozitive portabile datorit
scderilor de preuri la matricele active.
PDA-urile poate face schimb de informaie cu alte Pocket PC-uri fr a fi nevoie de cabluri speciale de conectare (tehnologia se bazeaz pe razele infraroii). Windows Mobile 2003 pentru Pocket
PC dispune acum i de suportul Bluetooth (comunicare ntre dou uniti electronice fr a fi nevoie de
o aciune suplimentar a utilizatorului). Firme productoare sunt: HEWLETT-PACKARD, TOSHIBA,
COMPAQ, PHILIPS, Sony, Fujitsu-Siemens, etc.
2.4. ARHITECTURA UNUI CALCULATOR PERSONAL
Ansamblul integrat de componente funcionale care formeaz un tot unitar, reprezint
arhitectura sistemului de calcul. Arhitectura standard a unui microcalculator personal din clasa IBMPC conine: microprocesor, memoria intern, memoria extern, periferice, toate aceste componente
comunicnd prin intermediul magistralei de date i magistralei de comenzi. Pentru componentele ce
formeaz arhitectura standard a microcalculatorului se fac precizri:
Microprocesorul reprezint "creierul" care comand i coordoneaz ntreaga activitate de
prelucrare din cadrul PC-ului.
Memoria intern are rolul de a stoca datele i programele aflate n execuie. nseamn c
procesorul va extrage din locaiile de memorie (uniti elementare de memorie direct adresabile)
instruciunile ce urmeaz s le execute i date le supuse prelucrrii.
Magistrala de date asigur transferul datelor ntre componentele PC-ului (memorie intern,
memorie extern, periferice) i unitatea central.
Magistrala de comenzi asigur transferul comenzilor microprocesorului ctre celelalte
componente ale PC-ului.
Memoria extern este reprezentat de multimea mediilor care permite stocarea permanent a
datelor i programelor (disc fix, discuri floppy, CD-ROM).
Unitile periferice reprezint mulimea componentelor hardware ce permit introducerea datelor
n calculator, precum i redarea rezultatelor prelucrrii, iar cele dou categorii de periferice sunt
periferice de intrare ( tastatur, mouse etc.) i periferice de ieire (monitor, imprimant).
Echipamentul pentru comunicaii include totalitatea dispozitivelor tehnice de conectare,
codificare, decodificare, transmitere i recepie local sau la distan a informaiei utilizate n
activitatea curent. Unele dintre componentele arhitecturii PC-ului se regsesc n interiorul carcasei
unitii centrale: microprocesorul, memoria intern, unitatea/unitile de floppy-disk (pot fi dou),
magistrala de date i magistrala de comenzi, precum i sursa de alimentare, al crui rol este de a
transforma curentul altemativ furnizat de reeaua de 220V n curent continuu.
Aceste componente sunt direct sau indirect (prin conectori) conectate pe placa de baz a PC-ului
numit i mother board. Placa de baz conine microprocesorul, memoria intern, magistralele de
date i comenzi, conectorii de configurare, placa video, controller-ul (placa adaptoare), precum i o
serie de conectori (socluri libere) ce permit realizarea de extensii, cip-uri specializate de tipul:
extensiilor de memorie, placi grafice, placi de modem sau plcile de fax etc.
n procesul prelucrrii, calculatorul realizeaz succesiv anumite cicluri-main, care presupun
parcurgerea mai multor etape. Un ciclu-main prezint dou pri: ciclul instruciunii (I-cycle) i
37

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

ciclul execuiei (E-cycle), n cadrul fiecrui ciclu executndu-se mai multe faze impuse de executarea
unei singure instruciuni n cadrul unitii centrale de prelucrare. n ciclul instruciunii, unitatea de
comanda-control (UCC) preia din memoria intern o singur instruciune pe care o decodific.
Plaseaz rezultatul decodificrii (codul operaiei) ntr-un registru special i indic unitii aritmeticologice (UAL) ce urmeaz s fac. Specific adresa datelor ce urmeaz s fie folosite n cadrul operaiei
n registrul de adrese. Un registru reprezint o zon (locaie) temporar de stocare, aflat n UAL sau
UCC, pentru instruciuni ale programului sau date de prelucrat ce sunt transferate din memoria intern
n unitatea central pentru a fi prelucrate. n timpul ciclului de execuie, UCC identific datele
necesare prelucrrii n memoria intern, le plaseaz n registrul de date, cere UAL s execute operaia,
stocheaz temporar rezultatul operaiei executate n acumulator i apoi stocheaz rezultatul obinut n
memoria intern. Dupa executarea unei instruciuni, UCC preia spre execuie urmtoarea instruciune
din program i astfel ciclul se reia pentru noua instruciune.
2.4.1. Microprocesorul
Microprocesorul reprezint "creierul" ntregului PC, fiind coordonatorul tuturor operaiilor.
Principalii productori de procesoare au rmas: INTEL, AMD i CYRIX, ntre aceste firme ducnduse o permanent lupt pentru supremaie. De-a lungul timpului au fost realizate mai multe familii de
microprocesoare dintre care amintim:
-familia X86 a lui INTEL, utilizat n realizarea microcalculatorului IBM: 8086, 80286, 80386,
80486, Pentium, PentiumPro, Pentium II, Pentium III, Pentium 4, Celeron, Pentium D, Celeron D,
Core 2 Duo Core 2 Quad i Core 2 Extreme;
-familia 68000 a lui Motorola, utilizat n realizarea microcalculatoarelor ATARI i MacIntosh;
-familia de procesoare DEC Alfa.
Microprocesorul conine dou componente: unitatea de comand-control (UCC) i unitatea
aritmetico-logic (UAL). Unitatea de comand-control reprezint un veritabil "dirijor" al tuturor
prelucrrilor. Rolul su este de a trata instruciunile ce formeaz programul aflat n execuie, emind
comenzi ctre toate celelalte componente ale calculatorului cu scopul realizrii prelucrrilor cerute de
instruciuni. Unitatea aritmetico-logic are rolul de a realiza calculele aritmetice, precum i funciile
logice impuse de programele aflate n execuie i comandate de ctre UCC.
Principalele caracteristici care definesc un microprocesor sunt:
-viteza de lucru;
-capacitatea maxim de memorie pe care o poate adresa;
-setul de instruciuni pe care le poate executa.
Viteza de lucru a microprocesorului este, determinat de o serie de ali factori, i anume:
-frecvena ceasului intern;
-dimensiunea regitrilor interni ai microprocesorului;
-debitul asigurat de magistrala de date;
-existena i dimensiunea memoriei cache;
-tipul constructiv al microprocesorului.
Funcionarea ntregului calculator i, n special, a microprocesorului este coordonat de ceasul
intern. Ceasul intern reprezint un oscilator ce emite pulsuri la intervale de timp egale, bine
determinate. Deci, nu exist nici o legtura ntre ceasul intern i, respectiv, ceasul sistem care
returneaz timpul curent (ora i data), contorizat de memoria CMOS, care, de altfel, pot fi modificate
prin comenzile sistemului de operare.
Microprocesorul conine o component numit decodorul de funciuni care are rolul de a
descompune fiecare instruciune n operaiuni elementare, fiecare dintre operaiunile elementare
identificate urmnd a fi executat n intervalul dintre dou pulsuri de ceas. De altfel, toate
componentele calculatorului i vor coordona activitatea n raport cu pulsurile emise de ceasul sistem.
Un procesor modern (cunoscut i sub denumirea de CPU - Central Processing Unit sau unitate
central de procesare) folosete mai multe tehnologii pentru creterea performanelor:
Frecven mai mare: Cea mai simpl metod de cretere a performanelor unui procesor este
creterea frecvenei de funcionare a acestuia. Din 1971, frecventa de funcionare a procesoarelor a
crescut de aproximativ 25.000 de ori. Creterea frecvenei de funcionare determin i creterea
38

CAPITOLUL 2. ARHITECTURA CALCULATOARELOR PERSONALE

consumului ntr-o oarecare msur contribuie la determin performanele unui procesor, conform
tabelului 2.4.
Tabelul 2.4.
EVOLUIA PROCESOARELOR

Mai multe nuclee : Majoritatea procesoarelor moderne au dou nuclee (Dual Core), dar modele
mai avansate pot avea pn la patru nuclee (Quad Core), cum ar fi procesoarele Core 2 Quad ale Intel
sau Phenom X4 ale AMD. n principiu, fiecare nucleu reprezint un procesor complet. n cazul ideal,
puterea de procesare crete liniar cu umrul nucleelor. n practic, sporul de performan este mai mic
i depinde de fiecare aplicaie rulat. Viitorul promite procesoare cu un numr impresionant de nuclee,
de ordinul sutelor.
Mai mult memorie cache : O memorie cache mare i rapid ajut la procesarea mai rapid a
datelor. Memoria cache este folosit ca i spaiu de stocare temporar pentru cele mai importante
instruciuni ale programelor, sau pentru cele mai frecvent utilizate. Acestea sunt accesate mult mai
rapid (practic instantaneu) de ctre procesor, memoria cache fiind n prezent ncorporat n pastila
procesorului. Programele ruleaz astfel mult mai rapid. Teoretic, cu ct memoria cache este mai mare,
cu att performanele sunt mai bune. Procesoarele moderne folosesc pn la 3 MB de memorie cache
pentru fiecare nucleu, astfel c un procesor quad core poate avea pn la 12 MB de memorie cache.
Circuite mai fine : Productorii folosesc circuite din ce n ce mai fine prin care datele circul n
interiorul procesoarelor. Prin urmare, un numr din ce n ce mai mare de tranzistoare poate fi nglobat
ntrun procesor, permind realizarea de circuite din ce n ce mai complexe, cu performane din ce n ce
mai mari. n plus, pe aceeai suprafa sunt ncorporate mai multe funcii i o memorie cache mai
mare. Circuitele din procesoarele actuale pot avea numai 45 de nanometri lime (un nanometru este 0
milionime dintr-un milimetru; firul de pr are grosimea de 10.000 de nanometri). Procesul de fabricaie
pe 32 nm urmeaz s fie introdus, pentru prima dat, n 2009.
Magistral de date mai rapid: Procesoarele moderne comunic cu memoria sistemului printro magistral de date, denumit i bus". Cu ct frecvena acesteia este mai mare, cu att datele din
memorie sunt accesate mai rapid (rata de transmisie a datelor crete). Spre exemplu, primul procesor
Pentium 4, cu frecvena magistralei de date de 400 MHz (4 x 100 MHz), avea o rat de transfer a
datelor de 3,2 GB/s, n timp ce actualele procesoare Core 2 Duo au frecvena magistralei de date de
1333 MHz (4 x 333 MHz) i o rat de transfer a datelor de 10,66 GB/s.
Instruciuni optimizate : n modelele noi, logica de control este optimizai, astfel c
procesoarele pot executa mai multe operaiuni pe ciclul de ceas sau pot procesa simultan o cantitate
mai mare de date. Ambele situaii se traduc printr-o procesare mai rapid a datelor i, deci, printr-un
nivel superior de performan.
39

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Un procesor single-core cu frecven mare de funcionare poate fi mai rapid n anumite aplicaii
dect un procesor multi-core cu frecvena mai mic. Software-ul instalat trebuie s fie capabil s
foloseasc tehnologia multi-core, dar puine programe folosesc eficient puterea oferit de procesoarele
multi-core.
Sistemul de operare trebuie, de asemenea, s fie capabil s foloseasc aceast tehnologie.
Versiunile mai vechi de Windows, cum ar fi Millenium sau 98, nu permit folosirea procesoarelor
multi-core. Windows XP are nevoie de Service Pack 2 sau 3 pentru a scpa de procesele care lucreaz
n background ctre cel de-al doilea core. Cel mai potrivit pentru procesoarele multi-core este
Windows Vista care poate aloca nucleelor suplimentare nu numai procesele ascunse, ci i diferite
programe. Preul: procesoarele de top sunt foarte scumpe: un Core 2 Extreme QX9770 cost n prezent
peste 4000 de lei. Prin urmare, un calculator complet poate s coste, n funcie de configuraie, 6000 de
lei sau chiar mai mult. Pe de alt parte, un procesor Core 2 Duo E8500 ofer un nivel apropiat de
performan (dar are numai dou nuclee), pentru numai 850 de lei. Astfel, poi s construieti un
sistem complet extrem de performant cu numai 2500 - 3000 de lei.
Consumul: ntocmai cum mainile cu motoare puternice consum mai mult benzin, tot aa un
procesor puternic consum mai mult curent. Acest lucru este evident mai ales n full load, unde un
model de top poate s consume pn la 130 de Wai, n timp ce modelele mai lente se mulumesc cu un
maxim de 45-65 de Wai.
Cldura: mai mult performan nseamn mai mult cldur degajat i, implicit, un zgomot
mai mare generat de ventilatorul care trebuie s rceasc procesorul. Zgomotul produs de
ventilatoarele de mici dimensiuni poate fi deosebit de suprtor. Procesoarele moderne produc n
timpul funcionrii o cantitate foarte mare de cldur, care trebuie disipat de pe o suprafa mic.
Raportat la suprafa, multe procesoare produc mai mult cldur dect o plit electric. i, pentru c
procesoarele nu pot suporta temperaturi mai mari de 90 de grade Celsius, are nevoie de un sistem de
rcire eficient. Acesta este format dintr-un ventilator i un radiator care sunt montate n contact direct
cu procesorul. Principalii productori de procesoare, AMD i Intel folosesc un sistem de numerotare
care descrie schimbrile de performan n cazul unui anumit model. n principiu, cu ct numrul este
mai mare, cu att mai rapid este un anumit procesor. Astfel, un Core 2 Duo E8200 dispune de dou
nuclee care funcioneaz fiecare la frecvena de 2,66 GHz, iar E8400 are dou nuclee la 3,0 GHz.
AMD folosete un sistem care nu trdeaz frecvena de funcionare. Astfel, Athlon64 3800+
funcioneaz la frecvena de 2,4 GHz. 3800+ nseamn la fel de eficient ca i un procesor la frecvena
de 3,8 GHz". n ultima vreme ns, chiar i AMD a abandonat acest sistem de numerotare pentru
procesoarele sale recente. Phenom X3 8650 are, astfel, trei nuclee care funcioneaz la frecvena de 2,3
GHz, n timp ce Phenom X4 9850 are patru nuclee cu frecvena de 2,5 GHz.
n spatele denumirii comerciale a procesorului, adesea se ascund nume de cod diferite. Astfel,
avem procesoare Core 2 Duo Conroe" i Core 2 Duo Wolfdale". Productorii folosesc denumirile de
cod pe durata dezvoltrii produsului pn cnd denumirea comercial rmne definitiv. Pentru
specialiti, aceste denumiri dezvluie tehnologia folosit pentru fabricarea procesorului. Astfel, un
model Conroe" folosete tehnologia de fabricaie pe 65 nm, avnd 4 MB de memorie cache.
Succesorul acestuia, Wolf-dale" este fabricat pe 45 nm i dispune de 6 MB de memorie cache.
n acest moment, Intel se afl n faa AMD din punct de vedere tehnologic. Cel mai rapid
procesor Intel este n mod evident mai performant dect cel mai rapid procesor AMD. Dar i mai
scump: n cazul procesoarelor quad-core, Intel are ase modele mai scumpe de 3000 de lei. Pe de alt
parte, cel mai scump procesor AMD cost doar 700 de lei. Dac nu foloseti computerul dect pentru
Internet, email i programe Office, poi s cumperi un calculator complet cu numai 1000 - 1500 de lei
dac alegi un model cu procesor AMD.
Procesoarele folosesc socluri speciale, diferite pentru fiecare model de procesor, fiind mai
rspndite urmtoarele modele de socket-uri:
socket 478: pentru procesoare Pentium 4 i Celeron;
socket 775: succesorul socket-ului 478, este folosit pentru procesoare Pentium 4, Celeron,
Pentium D, Celeron D, Core 2 Duo Core 2 Quad i Core 2 Extreme.
socket 754 i 939: ambele au fost folosite de AMD pentru procesoarele Athlon64 i Sempron. n prezent nu se mai produc procesoare pentru aceste socket-uri.
40

CAPITOLUL 2. ARHITECTURA CALCULATOARELOR PERSONALE

socket AM2: a fost introdus de AMD ca nlocuitor al socket-ului 939. Este folosit pentru
procesoare din familia Athlon64 i Sempron de ultim generaie.
socket AM2+: difer foarte puin de socket-ul AM2, astfel c procesoarele AM2 pot fi
montate ntr-un socket AM2+ i viceversa.
Noile procesoare ns, cum ar fi cele din gama Phenom, ruleaz mai rapid de pe un socket
AM2+. Poi afla ce soclu folosete placa de baz a calculatorului tu citind n manualul computerului
sau al plcii de baz. Dac PC-ul este mai vechi,este foarte posibil s nu se mai produc procesoare
compatibile cu acesta.
Procesorul acceseaz memoria intern (RAM) pentru a extrage datele de prelucrat i
instruciunile pe care trebuie s le execute. Cum decalajul dintre viteza de lucru a microprocesorului i
viteza de lucru a memoriei interne este considerabil, microprocesorul este nevoit s introduc nite
cicluri de ateptare n plus, numite wait-state, pentru a citi sau scrie date din/n memoria intern.
Pentru a se elimina acest inconvenient, se introduce ntre microprocesor i memoria intern o memorie
rapid numit memoria cache care are rolul de a fi mai direct legat cu microprocesorul dect memoria
RAM i asigur, reducerea la minimum a timpului de ateptare a microprocesorului i eliberarea la
maximum a bus-ului memoriei.
Memoria intern este diferit de memoria cache, cea intern este o memorie DRAM (Dynamic
Random Access Memory), iar memoria cache, mult mai rapid, este de tip SRAM (Static Random
Access Memory), cu un timp de acces de 12 ns. Din memoria intern se va ncarca n memoria cache,
la o singur operaie de citire, nu o singur instruciune, ci un "bloc" de instruciuni ce urmeaz a fi
prelucrate apoi de procesor. Pe lng faptul c este foarte rapid, memoria cache este i mai
"inteligent" dect memoria intern. Prin controller-ul su sunt identificate instruciunile cele mai
utilizate de ctre procesor i reinut adresa lor (precum i o copie a acestora) din memoria RAM,
astfel nct, cnd procesorul solicit o anumit adres, mai nti se verific dac ea se afl n cache i
numai atunci cnd nu este gsit, adresa este transferat mai departe prin magistral la memoria RAM.
n cazul PC-urilor ce lucrau sub sistemul de operare MS-DOS (monotasking) se folosea un cache
de nivel 1 (L1) direct integrat n processor, iar lucrul sub mediul WINDOWS presupune un volum
mare de date preluat de procesor, ceea ce a determinat adugarea unui cache de nivel 2 (L2) situat ntre
procesor i memoria intern. PC-urile actuale dispun de ambele niveluri de memorie cache, intern i
extern. Majoritatea procesoarelor dispun de un cache intern de 8KB sau 16 KB, iar memoria imediat
extern (de nivel 2) de 128, 256, 512, 1024 KB i chiar 4 sau 6 MB.
Exist o memorie cache de nivel L3 ca o extra memorie a procesoarelor care au memoria L2,
fiind situat pe placa de baz.
n realizarea procesoarelor s-au aplicat n timp dou tehnologii diferite, n funcie de setul de
instruciuni implementate, tehnologiile CISC i RISC.
Tehnologia CISC (Complex Instructions Set Computer), prima utilizat, a promovat ideea
dezvoltrii de calculatoare ale cror procesoare s includ instruciuni din limbaje de nivel nalt.
Aceste procesoare sunt capabile s interpreteze peste 400 de instruciuni.
Tehnologia RISC (Reduce Instructions Set Computer) a fost utilizat pentru prima dat la
realizarea arhitecturii SPARC propus de firma SUN Microsystems. INTEL 8086 coninea 29000 de
tranzistori, putea adresa 1 MB de memorie, lungimea cuvntului era de 16 bii, frecvena de ceas fiind
de 4,7 MHz, iar viteza de calcul realizat era de 0,75 MIPS (milioane de instruciuni pe secund).
Acum se ncheie prima generaie de microprocesoare, cu I8088 i I8086 i ncepe seria X86.
n anul 1982 este lansat microprocesorul INTEL 80286, exponentul generaiei a doua de
microprocesoare, caracterizat prin frecvena de ceas cu valori ntre 6 i 25 MHz, memorie adresabil
de 16MB, viteza de calcul de 2,66 MIPS, dotat cu un bus de adrese de 24 de bii, care nltura"
limitarea de l MB de memorie adresabil a lui 8088 / 8086 (i crea una nou la 16 MB), i cu un set
extins de instruciuni care promitea rularea mai multor aplicaii n paralel (multitasking).
n 1985 apariia lui 80386DX a marcat trecerea la 32 de bii att a core-ului, ct i a bus-ului,
mrind astfel considerabil viteza procesorului n calculele cu numere mari i permind nu doar
apariia aplicaiilor pe 32 de bii, ci i adresarea unei zone de memorie de 4 GB, trecndu-se la
generaiei a treia de microprocesoare. Corectarea adus arhitecturii prin completarea setului de
instruciuni de lucru n modul protejat deschide drumul sistemului de operare multitasking i multiuser.
41

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Generaia a patra, marcat prin apariia n 1989 a lui 486, aduce reproiectarea nucleului Intel cu
unele mbuntiri. Arhitectura CISC, pe care se bazeaz x86, are instruciuni diferite ca numr de pai
i complexitate. includerea pe cip a 8 KB de memorie tampon (cache), a dus la o scdere a timpilor
mori n care procesorul atepta dup memoria principal, iar integrarea on-die a coprocesorului
marcheaz apariia unui nou criteriu de selecie a procesoarelor: performana n virgul mobil. O alt
inovaie important este folosirea multiplicatorului (fixat), care permite procesorului s ruleze la
frecven dubl (486DX2) sau chiar tripl (486DX4) fa de frecvena plcii de baz, aducnd un spor
considerabil de performan, dar i o nou problem: limea redus a bus-ului procesor-chipset.
Procesorul care a definit a cincea generaie - Pentium (P5 - 1993, P54 -1995) - a beneficiat de o
lime dubl a bus-ului extern de date (64 bii) i de dublarea motorului de execuie. Aceasta nseamn
c Pentium este primul procesor (x86) superscalar, capabil sa execute concomitent mai multe
instruciuni. n 1987, Intel lanseaz noua versiune de Pentium (P55) cu suport MMX (MultiMedia
eXtension), permind procesarea de ctre o singur instruciune a blocuri mari de date.
Procesorul Pentium Pro (P6 - 1995), care avea s deschid generaia a asea, a aprut iniial
pentru piaa de servere i staii de lucru high-end. Procesorul avea on-die ntre 256 KB i 1 MB de L2
cache i 16 KB de L1 cache, ambele opernd la frecvena procesorului - mult peste cei 16 KB de L1
cache pe care i avea n 1998 Intel lanseaz o versiune nou a Pentium II care are procesul de producie
redus la 0,25 de microni i folosete un FSB de 100 MHz. Spre sfritul anului 1999 Intel lanseaz o
nou versiune a lui Pentium III, numit Coppermine, produs n noua tehnologie de 0,18 microni, cu un
cache L2 de 256 KB, inclus pe pastila de siliciu.
n 1999 AMD lanseaz procesorul Athlon, primul din generaia a aptea, bazat pe un nucleu
nou extrem de eficient. Spre sfritul anului 2002, Intel prezint noul Pentium 4 3,06 GHz, (nucleu
Northwood), cu suport pentru o tehnologie HyperThreading, iar procesorul apare ca un dublet Pentium
4 n SMP (Symmetric MultiProcessing). Rezultatul este un sistem mai rapid i cu timpi de rspuns
mult mai mici n cazul efecturii unor operaiuni ce folosesc intens procesorul.
Urmtoarea generaie, a opta este realizat n ultima perioad i se bazeaz pe procesoarele cu
2, 3, 4, 6 sau 8 nuclee de procesoare ncorporate ntr-unul. Nu toate nucleele (core) sunt activate i
utilizate i utilizate nc.
Pentru procesoarele ultimelor generaii de sisteme de calcul sunt utilizate tehnologii de fabricaie
i miniaturizare a componentelor elecronice la 0,18, 0,25 i 0,35 microni (firul de pr are 25 de microni,
adic de 100 de ori mai mult). Din 2002, cu nucleul Thoroughbred s-a trecut la a doua generaie de Athlon
XP, cu tehnologia de fabricaie de 0,13 microni. Prin trecerea la tehnologia de 0,13 microni i tehnologia
Hyper-Threading, s-au lansat noile procesoare Prescott de la Intel, cu numele Pentium 4E (iniial au
fost 5 variante diferite) i cu alte dou procesoare: Pentium 4 EE i Pentium 4 "Northwood" la 3,4
GHz. De la nceputul anului 2004 nucleul Prescott a reprezentat trecerea la procesul de fabricaie de
0,09 microni. Cnd Intel a lansat procesorul Prescott (toat lumea se atepta la Pentium 5, dar iat c
cei din Santa Clara n-au considerat c este cazul s fac i o astfel de schimbare), cu scopul nlocirii
vechiul core" Northwood. n cadrul tendinelor de miniaturizare productorii de procesoare i propun
s ajung la litografia de 65 nm (nanometri), cu o frecven de lucru de 10 GHz i un consum de cca.
0,85 V i la litografia de 20 nm, cu 20 GHz i 0,7 V n 2008-2009.
2.4.2. Componentele calculatoarelor
n interiorul calculatorului personal se gsesc urmtoarele componente:
1. Sursa de alimentare: Toat electricitatea intr n calculatorul prin aceast cutie protejat, din
metal, n interiorul ei, un transformator convertete curentul care provine de la prizele standard n
tensiuni i fluxuri de curent necesare pentru diferitele componente al calculatorului. Toate celelalte
componente, de la placa de baz pn la hard disc, primesc curent prin intermediul conductorilor ce
sunt cuplai n conectori protejai din plastic.
2. Carcasa: De regul din metal sau plastic, carcasa (sau asiul) protejeaz componentele interne
ale caiculatorului de praf i lovituri.
3. Discul flexibil: Discurile flexibile, asemenea discurilor Zip sau Jaz, ofer cantiti mai mari de
spaiu flexibil de stocare dect dischetele. Adesea, ele nu sunt suficient de rapide pentru a rula
42

CAPITOLUL 2. ARHITECTURA CALCULATOARELOR PERSONALE

programe de o manier satisfctoare, dar permit arhivarea documente vechi sau utilizate rar i s
efectueze backup-ul datelor curente.
4. Unitatea CD-ROM, folosete o raz laser pentru a citi date dintr-o spiral de crestturi i
zone plate aflate pe un strat al unui disc compact, asemntoare cu discurile compacte muzicale.
Majoritatea programelor sunt distribuite, pe CD-uri, care pot conine aproximativ 650MB de date
(700MB, iar mai recent 800MB).
5. Unitatea CD-ROM/DVD, apare tot mai des la noile calculatoare personale, un DVD (digital
versatile disk) ia locul unui CD-ROM. DVD-ul folosete, de asemenea, un laser pentru a citi date de pe
un disc care arat precum un disc compact obinuit. Dar datele sunt mai compacte i sunt stocate pe
mai multe straturi de pe disc, oferind discului DVD o capacitate de stocare de 8 pn la 17 GB, adic
informaii care, dac ar fi pe hrtie tiprit, ar umple zece camionete. Unitile DVD pot citi, de
asemenea, CD-ROM-uri.
6. Unitatea de band, este o unitate de band de backup nu furnizeaz accesul aleatoriu necesar
pentru operaiunile zilnice de stocare. Unitile de band sunt folosite pentru a efectua, de o manier
necostisitoare, backup-ul hard disc-urilor de mare capacitate, din motive de securitate.
7. Hard discul, este principalul depozit - sub forma unor nregistrri magnetice pe platane dure
i subiri - al programelor i documentelor, coninnd fiierele sistem care permit calculatorului s
porneasc.
8. Unitatea de dischet: Majoritatea dischetelor conin 1,44 MB de date, echivalentul a 500 de
pagini de text tiprit. Unitatea de dischet reprezinta metoda de efectuarea de copii de rezerv ale
fiierelor, n czul n care se ntmpl ceva cu fiierele originale de pe hard disc.
9. Controlerele IDE: De regul construite pe placa de baz, sunt dou sloturi IDE care
furnizeaz conexiuni pentru cablurile care trimit semnalele ce controleaz unitatea de dischet, hard
discul i unitatea CD-ROM.
10. Slotul de extensie AGP: Portul de grafic accelerat furnizeaz plcilor grafice 3D un acces
rapid la memoria principal a calculatorului personal.
11. Slotul de extensie PCI (peripheral component interconnect, interconectare componente
periferice) sunt concepute pentru plci care folosesc tehnologia Plug and Play, un design hardware
care permite plcilor s se adapteze automat la calculatoarele personale.
12. Placa video: Transform informaiile din imagini n diferii cureni electrici necesari pentru
afiarea unei imagini pe monitor.
13. Placa de sunet, conine circuitele pentru nregistrarea i reproducerea de sunete multimedia.
14. Memoria RAM: Memoria cu acces aleatoriu este o colecie de microcipuri n care
calculatorul stocheaz programe i date n timp ce le folosete. Atunci cnd calculatorul este oprit,
coninutul memoriei RAM se pierde.
15. Real-time clock este un cristal care vibreaz n aceast component, stabilind ritmul,
sincronizeaz activitatea tuturor celorlalte componente.
16. CMOS, este un tip special de cip de memorie care folosete o baterie de mici dimensiuni
pentru a pstra informaiile despre configuraia hardware a calculatorului personal chiar i atunci cnd
calculatorul este oprit.
17. Sistemul de intrare/ieire de baz (BIOS): Dac procesorul este creierul calculatorului
personal, sistemul de intrare/ieire de baz este inima lui. Este format din unul sau dou cipuri care
definesc personalitatea (sau individualitatea) calculatorului.
18. Bateria CMOS-ului: Arareori are nevoie de ncrcare, dar se recomand crearea unui fiier
backup al informaiilor coninute n cipul CMOS.
19. Microprocesorul, este o colecie ngust i complex de tranzistori aranjai astfel nct s
poat fi folosii pentru procesarea datelor.
20. Heat sink: Deoarece microprocesoarele produc mult cldur, un heat sink este folosit
pentru a disipa cldura, astfel nct, componentele interne ale cipului nu se topesc.
21. Ventilatorul, atrage aer rece deasupra componentelor sensibile la cldur din interiorul
carcasei. Trebuie verificat funcionarea corect a ventilatorului.
22. Porturile USB (universal serial bus) sunt o soluie la lipsa de ntreruperi i resurse de sistem
a calculatoarelor personale i permite programelor s se conecteze direct la dispozitivele periferice.
43

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

23. Portul mouse-ului, numit port PS2, este standard pentru calculatoarele personale mai noi.
Calculatoarele personale pot utiliza un mouse care se conecteaz la un port serial.
24. Portul tastaturii: Tastaturile sunt de regul separate de locul unde este adpostit unitatea
central de prelucrare i se conecteaz la un mini-port. La sistemele mai vechi, conectarea tastaturii se
poate face printr-un port de dimensiuni mai mari, rotund i cu cinci pini.
25. Portul paralel, este folosit pentru conectarea unei imprimante, dar i unele discuri i alte
dispozitive periferice pot fi ataate la acest port.
26. Porturile seriale: Majoritatea calculatoarelor personale au dou porturi seriale. Un calculator
personal poate avea patru porturi seriale, dar ntr-un anumit moment nu pot fi folosite dect dou.
27. Conexiunile plcii de sunet: Mufele externe de pe placa de sunet permit conectarea unui
microfon, boxe sau o surs de sunet extern.
28. Modem-ul, conecteaz calculatorul personal cu o linie telefonic, astfel nct se pot accesa
servicii de informaii i Internet-ul.
2.4.3. Memoria intern
Memoria intern reprezint o component important a microcalculatorului, avnd rolul de a
stoca date i programe. La rndul su, memoria este format din dou componente, prezentnd
caracteristici funcionale i constructive diferite: memoria intern i memoria extern.
Memoria intern, care face parte alturi de microprocesor din unitatea central, se caracterizeaz
prin capacitile relativ reduse de stocare (n raport cu memoria extern), dar are o vitez de acces la
date foarte mare. Rolul ei este de a stoca, la un anumit moment, programe ale sistemului de operare
(acestea se ncarc n memoria intern n momentul pornirii calculatorului), programe de aplicaie i
datele supuse procesului de prelucrare. Constructiv, memoria intern este format din circuite
electronice. Memoria extern are rolul de a stoca n mod permanent date i programe.
Ea se caracterizeaz prin capacitatea de stocare deosebit de mare, dar o vitez mult mai mic de
acces la date. Ea comunic cu unitatea central prin intermediul magistralei de date i nglobeaz hard
disc-ul, discurile floppy, banda magnetic, CD ROM-ul etc.
Microcalculatoarele ce lucreaz sub unele sisteme de operare (nu este cazul sistemului de
operare MS DOS) utilizeaz memoria virtual, care reprezint pari ale discului hard, utilizate pentru a
simula memoria intern (RAM). Se realizeaz astfel stocarea unor zone masive de memorie RAM ntrun fiier pe disc (swap file), eliberndu-se astfel memoria RAM real, ce poate fi utilizat acum pentru
alte lucrri. La nevoie se poate realiza restaurarea, n RAM- ul real, a memoriei salvate pe disc. Apelul
la memoria virtual se justific n cazul PC-urilor care nu dispun de suficient memorie RAM.
Memoria intern poate fi considerat ca a doua component a calculatorului n ordinea
importanei dup procesoare.
Fizic, memoria intern este compus din circuite integrate ce pot prezenta tehnologii constructive
diferite, asigurnd particulariti n ceea ce privete natura accesului la datele stocate.
Elementele ce caracterizeaz memoria intern sunt:
1. Capacitatea (dimensiunea) memoriei interne msurat n KB. Aceast caracteristic este,
bineneles, dependent de microprocesorul folosit. Oricum, performanele microcalculatorului cresc
exponenial o dat cu sporirea dimensiunii memoriei interne.
2. Timpul de acces reprezint intervalul de timp necesar unui circuit de memorie s localizeze
un bit de informaie. Un alt parametru este reprezentat de timpul maxim de rspuns, reprezentat de
intervalul de timp ce se scurge din momentul n care se primete de la procesor comanda de citire i
momentul n care depune pe magistrala de date valoarea citit (similar pentru operaia de scriere).
Timpul maxim de rspuns se msoar n nanosecunde (ns) i depinde de tehnologia de construcie a
cipurilor de memorie.
3. Modul de organizare i adresare. Memoria intern este organizat sub forma de locaii de
memorie (de dimensiuni egale) n care sunt memorate cuvinte de n bii (n = 8). Rezult deci c ntr-o
locaie de memorie poate fi stocat un octet. Octetul este cea mai mic unitate adresabil. Unitatea
adresabil imediat urmtoare este cuvntul. El este format din 2, 4 sau 8 octei (cuvntul de 8 octei
este ntlnit n cazul supercalculatoarelor: ex. CRAY).
44

CAPITOLUL 2. ARHITECTURA CALCULATOARELOR PERSONALE

Un calculator utilizeaz dou tipuri fundamentale de memorie: RAM (Random Access Memory memorie cu acces aleator) i ROM (Read Only Memory -memorie permind doar operaii de citire).
Aceste dou tipuri de memorie se deosebesc att constructiv, ct i din punct de vedere al funciei pe
care o ndeplinesc.
Memoria RAM este alcatuit din circuite integrate foarte mici, fiind organizat sub forma unei
matrice de celule de memorie, fiecare celul stocnd un bit. Datele stocate se regsesc rapid prin
indicarea rndului i coloanei la intersecia crora se afl celula. Memoria RAM servete la stocarea
datelor i programelor aflate n curs de execuie. Permite efectuarea att a operaiilor de scriere, ct i a
celor de citire i este o memorie volatil, adic i pierde coninutul o dat cu oprirea calculatorului.
Memoria ROM (Read Only Memory) este o memorie permanent i permite-numai operaii de
citire. La nivelul ei sunt implementate programe de firm (firmware) ce ofer informaii fundamentale
pentru calculator: programul de test al componentelor calculatorului ( executat n momentul pomirii
sistemului de calcul), programul BIOS (Basic Input Output System), reprezentnd sistemul de baz
pentru operaii intrare-ieire etc.
Dac cipurile de memorie ROM sunt programate doar de firma productoare i nu pot fi
terse/modificate de ctre utilizator, exist variante de memorie ROM ce pot fi
programate/reprogramate de utilizator (stocnd binenteles alte tipuri de informaie):
PROM (Programmable Read Only Memory): reprezint o memorie permanent
programabil o singur dat de ctre utilizator. Se realizeaz pe acelai mediu fizic ca i ROMul (pastila de siliciu), dar odat programat de utilizator informaia nu mai poate fi tears;
EPROM (Erasable Programmable Read Only Memory): memorie permanent
programabil ce poate fi tears i reprogramat de ctre utilizator;
EEPROM (Electrically Erasable Programmable Read Only Memory): memorie
permanent ce poate fi reprogramat n mod repetat de ctre utilizator.
Memoria de tip RAM. Exist dou tehnologii utilizate n realizarea memoriei RAM, dinamic
i static: DRAM (Dynamic RAM) i SRAM (Static RAM).
Tehnologia DRAM este cea mai folosit n arhitecturile actuale pentru realizarea memoriei
principale a calculatorului, permind stocarea temporar a datelor i programelor aflate n execuie.
Apelativul de RAM dinamic provine de la necesitatea remprosptrii de sute de ori pe secund a
coninutului su, acest lucru datorndu-se faptului c fiecare celul de memorie este conceput ca un
mic condensator ce stocheaz sarcina electric. Tipurile de memorii DRAM utilizate la ora actual
sunt: FPM (Fast Page Mode), EDO (Extended Data Out), SDRAM (Synchronous DRAM).
Caracteristica comun a acestor tipuri de memorie RAM este prezentat de facilitatea de a lucra n
pagini de memorie. O pagin de memorie reprezint seciunea de memorie disponibil prin selectarea
unei adrese de rnd. Modulele de memorie RAM de tip FPM i EDO erau utilizate pentru procesoarele
generaiilor patru, cinci i ase, dar prezint dezavantajul modului de lucru asincron.
n implementarea hard a memoriei interne s-a renunat la ideea cipurilor de memorie individuale,
promovndu-se utilizarea unor module de memorie SIMM (Single de In-Line Memory Modules) ce
sunt tratate ca un cip de memorie la capacitate foarte mare. Alt soluie pentru modulele de memorie o
reprezint DIMM-ul (Dual In-Line Memory Modules), care a fost utilizat iniial n cazul sistemelor
MacIntosch i apoi pentru PC- uri ce prezint pe placa de baz socluri corespunztoare. Dup cum i
arat i numele, DIMM este echivalentul unei perechi de SIMM-uri, dar folosete mai puin spaiu.
SRAM-ul folosete tot un sistem matriceal de reinere a datelor, dar n raport cu DRAM-ul este
de cinci ori mai rapid, de dou ori mai scump i de dou ori mai voluminoas. De aceea este folosit
pentru realizarea memoriei cache. Conceptual, SRAM-ul este diferit de DRAM, deoarece este gndit
ca un circuit bistabil (Inchis/deschis), fiind astfel mai rapid dect DRAM-ul.
Utilizarea memoriei RAM. Sistemul de operare MS-DOS gestioneaz doar primul megaoctet
de memorie RAM. Acest prim megabyte de memorie este structurat n dou pri distincte, avnd
roluri diferite: memoria convenional (ce ocupa primii 640Kb) i memoria superioar (ocupnd
spaiul rmas pn la limita de 1MB). Limita dintre (memoria convenional i memoria superioar
poart numele de bariera DOS
Rolul memoriei convenionale (numit i memorie inferioar) este de a stoca datele i
programele aflate n execuie. Cum executarea programelor de aplicaie nu se poate realiza fr
45

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

utilizarea programelor care formeaz sistemul de operare, nseamn c o parte din acestea din urm se
vor stoca n aceast zon. Este vorba de procesorul de comenzi (Command.com) al crui rol este de a
interpreta comenzile DOS i de a le lansa n execuie, de rutina BIOS, precum i de o serie de
programe numite drivere al cror rol const n asigurarea comunicrii sistemului de operare cu unitile
periferice (deci va exista un driver pentru imprimant, unul pentru scanner, unul pentru mouse etc.).
Memoria superioar (High Memory) este rezervat sistemului de operare MS-DOS. Primii
128 Kb formeaz memoria RAM video ce reine semnalele electronice care conin imaginea a ceea ce
se afieaz pe ecran. n realizarea memoriei RAM video se utilizeaz tehnologia VRAM sau WRAM.
VRAM -Video Random Access Memory -este o memorie video cu acces aleator. Este volatil i face
parte din sistemul video al calculatorului, alturi de procesorul video i de magistrala utilizat.
Imaginea pe care o stocheaz -text sau grafic- urmeaz a fi afiat de o plac special numit adaptor
video. Datorit timpilor de acces destul de mari ce caracterizeaz cipurile memoriei ROM BIOS (de pe
placa de baz i plcile adaptoare), unde sunt stocate multe din driver-ele cele mai utilizate, se
utilizeaz metoda ROM Shadowing (duplicarea memoriei ROM). Aceast metod, permite ca
programele aflate n memoria lent ROM s fie mutate n memoria RAM (superioar), mult mai
rapid. Duplicarea se realizeaz prin utilizarea unitii de gestiune a memoriei (MMU -Memory
Management Unit). n zona memoriei superioare pot ramne neutilizate unele zone ce pot servi pentru
ncrcarea unor drivere de dispozitive periferice n vederea eliberrii unei pri a memoriei
convenionale.
Memoria extins (XMS) reprezint zona de memorie aflat peste grania celor 1MB de
memorie. Cnd procesorul lucreaz n mod real, el poate accesa doar primul megabyte de memorie.
Pentru a accesa memoria aflat peste aceast limit (de 1MB) procesorul trebuie s lucreze n mod
protejat (mod de lucru implicit pentru procesoarele moderne). La calculatoarele prezentnd procesoare
286 i 386SX, limita memoriei extinse ajunge la 16MB, iar n cazul procesoarelor 386DX, 486 i
Pentium, pn la 4GB.
Zona de memorie nalt (High Memory Area), ocup primii 64K din memoria extins i poate
fi utilizat pentru a ncrca drivere de dispozitive periferice i programe rezidente n memoria
conventional. n cazul sistemului de operare MS-DOS, prin ncrcarea unui driver XMS (de exemplu
Himem.sys) i completarea fiierului config.sys cu linia DOS = HIGH se poate muta nucleul
sistemului de operare n HMA. Se elibereaz astfel 45KB n zona memoriei convenionale ce pot fi
pui la dispoziia programelor de aplicaie.
Memoria expandat (Expanded Memory Specification -EMS), ca i memoria extins, nu poate
fi folosit pentru rularea programelor, ci doar pentru stocarea temporar a acestora. Spre deosebire de
memoria convenional sau memoria extins, memoria expandat nu poate fi accesat direct de
procesor. Memoria CMOS (Complementary Metal-Oxide Semiconductor), este o memorie RAM mai
deosebit. Ea permite citirea i scrierea informaiilor stocate i are caracter nevolatil. Ea consum mult
mai puin dect celelalte memorii RAM i este alimentat n mod permanent de o baterie (chiar cnd
calculatorul este oprit). Acest lucru face ca timp de 2-3 ani informaia s fie pstrat chiar dac
sistemul nu va fi pornit. Ea conine o serie de informaii deosebit de importante: tipul monitorului,
tipul i mrimea discurilor, data i ora curent etc.
n figura 2.2. este prezentat schematic memoria intern a unui sistem de calcul

Figura 2.2. Memoria intern a unui sistem de calcul


46

CAPITOLUL 2. ARHITECTURA CALCULATOARELOR PERSONALE

2.4.4. DISPOZITIVE PENTRU MEMORIA EXTERN


Datele i programele necesare pentru realizarea unui proces de prelucrare sunt ncrcate n
memoria RAM. Dar memoria intern prezint o capacitate mic e stocare i este volatil. De aceea
rolul de a stoca n mod permanent volume mai mari de date i programe revine memoriei externe.
Toate coleciile de date i programele sunt nregistrate pe suporturi tehnice de date, de unde pot
fi regsite i ncrcate n memoria intern prin intermediul unor echipamente specializate.
Suportul tehnic de date reprezint un mediu material pe care informaiile sunt stocate i
reprezentate ntr-o manier care le face accesibile perceperii lor automate de ctre echipamente
specializate n acest sens. Suporturile tehnice de date se mai numesc memorii de mas tocmai datorit
particularitii lor de a stoca pe timp nelimitat volume mari de date. Acest termen generic de memorie
de mas nglobeaz toate tipurile de memorie extern: hard disk, floppy disk, band magnetic, CDROM, etc. n configuraia PC-ului se vor regsi dispozitive ( echipamente ) care vor permite
citirea/scrierea n/din aceste suporturi tehnice de date (unitatea de floppy disk, unitatea de hard disk,
unitatea CD etc.).
Suporturile tehnice de date pot fi clasificate dup urmtoarele criterii:
Modul de reutilizare a suporturilor n procesul prelucrrii. Dac n perioada de nceput a
prelucrrii automate a datelor clasificarea se rezuma la delimitarea suporturilor nereutilizabile
(folosind ca mediu de stocare hrtia -cartela perforat, banda de hrtie perforat -ce nu permiteau
nregistrarea datelor pe acelai suport -principiul nregistrrii fiind cel al magnetizrii), astzi, ca
urmare a generalizrii tehnicilor magnetice i optice de nregistrare a datelor, clasificm suporturile n:
read-only (oferind doar sibilitatea de citire-cazul CD-ROM-urilor) i read-write ce dispun de
posibilitatea de citire i cea de rescriere a informaiei.
Tehnica utilizat pentru nregistrarea datelor. La ora actual, tehnicile utilizate au la baza
principiul electromagnetic i principiul optic (pe baza de laser), deci suporturile sunt de dou categorii:
magnetice i optice.
Modalitatea de acces la date. Dup acest criteriu, suporturile pot fi clasificate n:
-adresabile: care permit accesul direct la nregistrrile dorite (hard disc, floppy disk etc. );
-neadresabile: care permit doar acces secvenial la date (n ordinea n care au fost depuse
pe suport, de exemplu banda magnetic).
Posibilitatea montrii de noi suporturi pe aceeai unitate periferic (dispozitiv):
-suporturi amovibile (floppy disk, CD-ROM, discul Bernoulli, cititor de cartele magnetice, etc.)
-suporturi fixe (hard disk-ul).
n continuare sunt prezentate principalele dispozitive pentru memoria extern.
UNITI DE DISCURI MAGNETICE
Reprezint echipamente ce permit stocarea (i regsirea) datelor la nivelul suporturilor de tip disc
magnetic. Dup tipul de disc utilizat ele se clasific n:
- uniti de hard disk,
- uniti de floppy disk,
- uniti de disc amovibil.
a) Unitile de hard disk (HDD) reprezint principalul dispozitiv de memorare de mare
capacitate, memorie non-volatil, mediu de stocare pentru documentele, fiierele sau aplicaiile
utilizatorului. Mai este cunoscut i sub numele de disc dur (din cauza caracterului rigid al discurilor
care l formeaz), disc WINCHESTER sau disc fix (datorit faptului c nu prezint caracter amovibil).
n 1954 IBM a inventat primul hard-disk cu o capacitate de 5MB mprit pe 24 de platane. Cu 25 de
ani mai trziu cunoscutul productor de HDD-uri, Seagate introduce pe pia primul HDD pentru
calculatoare personale, capabil s nmagazineze pn la 40 MB, ajungnd la rate de transfer de 625
KBps folosind modul de codare MFM (Modified Frequency Modulation). Acest mod de codare era
folosit de vechile FDD-uri (floppy disk drive) sau sisteme de nmagazinare de date.
Componentele de baz ale unitilor de hard disk sunt reprezentate de:
-pachetul de discuri (platane);
-capetele de citire/scriere;
-mecanismul de antrenare a capetelor;
47

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

-motorul pentru antrenarea pachetului de discuri;


-placa logic;
-conectori;
-masca frontal.
Discurile din interiorul carcasei se numesc platane i sunt compuse dintr-un substrat i un mediu
magnetic. Substratul sau materialul de baz din care este fcut platanul trebuie, prin natura lui, s fie
un material non-magnetic capabil s fie prelucrat n forme foarte subiri (grosimea acestor platane este
de ordinul milimetrilor sau chiar mai mici). Astfel, materialele alese pentru realizarea platanelor sunt
aluminiul sau o mixtura ntre sticl i un material ceramic. Ambele pri ale platanului sunt acoperite
cu un strat subire de material cu proprieti magnetice foarte bune sau cu un strat metalizat foarte
subire. Platanul este de fapt suportul magnetic pe care se stocheaz datele cu diametrul de 5.25", 3.5",
2.5", l.8" i 1.3", cele mai ntlnite fiind de 3.5", iar cele mai mici pentru sistemele portabile. Interiorul
hard-disk-ului trebuie ferit de aciunea prafului, presiunea constant a aerului din interior fiind pstrat
cu ajutorul unor filtre. Platanele sunt complet izolate fiind meninute ntr-un vacuum parial. De regul
exist dou sau trei platane aezate unul peste altul i fixate de un ax ce rotete tot ansamblul de
platane la mii de rotaii pe minut (3600, 10000, 15000 Rpm). Controllerul de disc se ocup de tot
mecanismul din interiorul hdd-ului: de capetele de citire, de viteza de rotaie a platanelor sau de
remprosptarea memoriei tampon.
Capul citire-scriere reprezint "translatorul", cel care prelucreaz informaia de pe platane, aa
cum se afl ea n format digital i o transfer la controllerul de disc, existnd cte un cap de
citire/scriere pentru fiecare dintre prile platanului acestea fiind acionate simultan, prin intermediul
unui modul electro-magnetic, de ctre braul de micare n vrful cruia se afl. Capetele sunt
concepute s ating discul numai cnd platanele s-au oprit iar "parcarea" lor nu se face oriunde, ci ntro zon special numit LZ (Landing Zone).
Viteza de rotaie (RPM) este una dintre caracteristicile principale ale HDD-ul, pentru c de ea
depinde viteza de acces la datele de pe platane i tot de ea depinde i rata de transfer a informaiei. cu
ct viteza de rotaie este mai mare cu att capul de citire/scriere se deplaseaz mai repede i mai multe
date ajung s fie citite/scrise. viteza de rotaie a platanelor este constant, formatul CAV (Constant
Angular Velocity -viteza unghiular constant). Viteza de rotaie meninut la hard-urile EIDE mai
vechi, era pn la 5400 RPM iar a hard-urilor SCSI era de 7200 RPM. n timp aceast vitez a tot
crescut, atingnd acum limitele de 7200RPM (pentru HDD-urile IDE) i pn la 12000 RPM (pentru
cele SCSI). La alegerea unei uniti hard exist dou variante: IDE sau SCSI (dup tipul interfaei
folosite). IDE (Integrated Drive Electronics) este interfaa des utilizat i mai ieftin. Controfler-ul
pentru astfel de uniti este integrat pe placa de baz, ceea ce nu necesit achiziionarea unei plci
suplimentare. O magistral IDE suport doar dou uniti - un master i un slave. Ratele maxime de
transfer pentru unitile EIDE pot ajunge pn la 100 MB/s i chiar mai mult. SCSI (Small Computer
System Interface) este n schimb mai rapid, oferind rate de transfer ncepnd cu 10 MB/s - SCSI2 i
pn la 80 MB/s - Wide Ultra-2 SCSI, permind conectarea de pn la 7 sau chiar 14 dispozitive pe
acelai controller.
Memoria tampon (cache) deinut de fiecare unitate permite o vitez de acces, mai mare la
date. Datele accesate sunt depuse n memoria tampon, iar n momentul n care se ncearc un nou
acces, ele sunt obinute direct din cache, cu ct mai mare este memoria cache, cu att mai bun este
performana.
Timpul de acces reprezint timpul mediul exprimat n milisecunde n care capul de citire/scriere
ajunge la sectorul pe care trebuie s l scrie/ citeasc, acesta fiind calculat din momentul n care
sistemul a emis cererea.
Rata de transfer (DTR - Data Transfer Rate) este rata de transfer a informaiei ntre controllerul
IDE i procesor a hdd-ului, reprezint viteza la care datele sunt transferate ctre sau dinspre suportul
media (ne referim aici la platan), n general aceasta fiind calculat n MegaBytes pe secund. Harddisk-urile moderne au rate de transfer ce cresc o dat cu deprtarea de axul platanului. Caracteristicile
legate de densitatea pe platanul harddisk-ului sunt: numrul de piste pe inch (Track Per Inch -TPI) i
bii pe inch (Bits Per Inch-BPI). Pista reprezint un inel cu centrul pe axul platanului. Hard-disk-uri
performante au ajuns la un timp de acces de 7ms i o laten medie de 3ms, n timp ce rata de transfer
se apropie foarte mult de 20MB/sec. Tehnologia de citire/scriere a capului este bazat pe tehnologia
48

CAPITOLUL 2. ARHITECTURA CALCULATOARELOR PERSONALE

voltajului inductiv produs atunci cnd un magnet permanent (disc-platanul), este aflat sub influena
unui modul electromagnetic (capul citire/scriere).
La formatarea discului, fiecrui sector i sunt create (asociate) zone suplimentare necesare
controller-ului pentru numerotarea sectoarelor i pentru identificarea nceputului i sfritului de
sector. Unitatea de transfer dintre periferic i memoria tampon a calculatorului este reprezentat dintrun grup de sectoare numite uniti de alocare sau clustere. Dimensiunea clusterelor se stabilete la
formatare.
Formatarea HDD-ului reprezint un proces n care se realizeaz definirea structurii fizice i
logice a suportului. Formatarea se realizeaz n trei etape:
formatarea fizic sau formatarea de nivel inferior (low-level formatting);
partiionarea
formatarea logic sau formatarea de nivel superior (high-level formatting).
Formatarea fizic este etapa la care pistele discului sunt mprite n sectoare i se scriu
informaiile n zonele ce preced sau succed fiecare sector, adic intervalul inter-sector i intervalul
inter-piste. Cei 512 octei la nivelul fiecrui sector, ce vor fi utilizai n procesul stocrii datelor, vor
primi valori fictive sau secvene de test. Numrul de sectoare definite la nivelul fiecrei piste este
determinat de tipul de unitate HDD i de interfaa folosit de controller.
Noile uniti HDD se caracterizeaz prin implementarea unei tehnici de nregistrare zonat
(metoda de nregistrare pe zone se numete Multiple Zone Recording) care presupune gruparea
cilindrilor pe zone consecutive (de la axul central spre exterior), numrul sectoarelor definite la nivelul
cilindrilor dintr-o zon fiind mai mare dect cel din zona precedent. Acest lucru se datoreaz faptului
c pistele aflate spre exterior sunt mai lungi. Limitrile impuse de BIOS cer ca unitatea HDD s se
comporte n relaia sa cu sistemul ca i cnd ar prezenta acelai numr de sectoare pe oricare dintre
piste, acest lucru fiind posibil prin utilizarea unor algoritmi de translatare integrai la nivelul controlerului. Se pot defini 10 astfel de zone.
Partiionarea reprezint procesul de segmentare logic a HDD-ului n discuri logice numite
partiii (identificate prin indicativul lor D, E, F etc.). Fiecare partiie poate fi utilizat deci ca o unitate
HDD distinct i deci se poate realiza instalarea de sisteme de operare diferite la nivelul fiecrei partiii
(disc logic). Fiecrui sistem de operare i este specific un anumit sistem de fiiere. n cazul sistemelor
de operare specifice PC-urilor sunt caracteristice trei sisteme de fiiere:
FAT (File Allocation Table -Tabela de alocare a fiierelor) -este recomandat din motive
de compatibilitate i reprezint sistemul de fiiere standard pentru sistemele de operare DOS, OS/2 i
WINDOWS NT. Accept nume de fiiere din maxim 8 caractere (i o extensie de 3 caractere). FAT 32
este un nou gestionar de fiiere pentru WINDOWS '95, '98, Me i XP, cu avantajul oferit fa de
FAT16 (caracteristic pentru sistemul de operare MS-DOS) c gestioneaz hard-disk-uri ce depesc
capacitatea de 2 GB fr s fie necesar partiionarea acestuia.
HPFS (High Performance File System) reprezint sistemul de fiiere de tip UNIX accesibil
numai sub OS/2 i WINDOWS NT . Numele fiierelor pot avea pn la 216 caractere, iar mrimea
volumelor este de maxim 8GB.
NTFS (Windows NT File System). Este tot un sistem de fiier de tip UNIX, dar accesibil
numai sub sistemul de operare Windows NT, XP i Vista.
Trebuie subliniat faptul c indiferent de sistemul de fiiere, softul de partiionare scrie un
program special folosit pentru pornirea calculatorului (boot) i o tabel de partiii, pe primul sector de
disc (sectorul de boot).
Formatarea logic reprezint etapa n care are loc o organizare a partiiei n conformitate cu
cerinele sistemului de operare.
n cazul partiiilor FAT structura discului este rezentat n figura 2.3.

Figura 2.3. Structura unui disc magnetic


49

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Zona BOOT se regsete la nivelul primului sector (sector 0) al partiiei MS- DOS i stocheaz
programul ncrctor al sistemului de operare. Informaia stocat aici este deosebit de valoroas i se
refer la: dimensiunile sectoarelor, numrul sectoarelor pe disc, numrul de sectoare pe pist,
dimensiunea unui cluster etc.
Zona FAT (Tabloul de alocare a fiierelor) reine informaia privitoare la modul de alocare a
spaiului disc. Unitatea de eviden este clusterul (format din 2-16 sectoare ). Din motive de securitate
un disc poate conine 2 zone FAT .
Zona ROOT.Dir (directorului rdcin) stocheaz informaiile privitoare la intrrile n
directorul rdcin (fiiere i subdirectoare ): numele fiierelor/subdirectoarelor; tipul, dimensiunea,
data i ora crerii/actualizrii fiierelor etc.
Zona utilizator reprezint spaiul pus la dispoziia utilizatorului pentru stocarea fiierelor.
Unitile HDD se leag de magistrala calculatorului prin intermediul unei interfee sau controler.
Interfaa cu HDD poate asigura conectarea a 2 sau 4 HDD-uri. Cele mai eficiente controlere sunt cele
integrate n placa de baz, i asigur cel mai rapid transfer al datelor i sunt configurate din BIOS.
Dintre principalii productori sunt de menionat Western Digital, HITACHI, Maxtor, Seagate,
Samsung, etc., care utilizeaz interfee SATA 150, ATA 133, Ultra ATA 100 .a. La ora actual HDDurile prezint capaciti de ordinul zecilor pn la 250, 400, 500 GB i 1000 GB (1TB). Hitachi a
anunat un hard disk de 3,5" cu 2 Terabytes pentru 2009.
Printre noutile intervenite n acest domeniu este de menionat nregistrarea magnetic
perpendicular, tehnologie revoluionar care mrete semnificativ capacitatea de stocare a HDDurilor realizat de Toshiba Corporation. Metoda se bazeaz tot pe stocarea datelor n bii ncrcai
magnetic, ns, spre deosebire de tehnologia clasic, n care acetia sunt dispui longitudinal (orizontal)
pe suprafaa discului, de aceasta dat biii sunt dispui n plan vertical, perpendicular pe suprafa.
Spaiul ocupat este mult mai mic, iar capacitatea de stocare a discului este mai ridicat, un platan de 1,8
inch poate fi ridicat pan la 40 de GB. Primele produse ale companiei sunt HDD-urile MK4007GAL (40
GB la o grosime de 5mm) i MK8007GAL (80 GB-cea mai mare capacitate de stocare atins la un
factor de form de 1,8 inch), care vor fi folosite pentru dispozitivele portabile de genul music playerelor. Densitatea de nregistrare pe cele dou drive-uri este de 206 megabii pe milimetru ptrat, cu 37%
mai mare dect n cazul HDD-urilor actuale. Acesta este un suport de stocare holografic, ce pstreaz
datele ca holograme tridimensionale, este confecionat dintr-un material fotopolimer WORM, are o
grosime de 1,5 mm i este plasat ntre dou discuri transmisive de plastic de 130 mm diametru.
b) Unitile de disc flexibil (floppy disk);
Inventarea unitii de disc floppy, n 1967 este atribuit echipei de ingineri condus de Allan
Shugart de la laboratoarele IBM din San Jose. Constructiv, unitatea floppy este format din
urmtoarele componente fizice:
-capetele de citire/scriere);
-dispozitivul de acionare a capetelor de citire/scriere;
-motorul de antrenare a dischetei (suportului);
-placa logic.
Primele uniti floppy disk au fost "simpl fa", deci puteau lucra doar pe una din feele
dischetei. Acum exist doar uniti "dubl fa" ce prezint dou capete de citire/scriere. Cele dou
capete nu sunt plasate simetric (pe aceleai piste) pe cele dou fee.
Motorul de antrenare a dischetei asigur rotaia dischetei la o turaie 300 sau 360 de rotaii pe
minut (majoritatea unitilor au o funcie de 3 rotaii/min).
O clasificare a acestor suporturi poate fi fcut utiliznd urmtoarele criterii:
a) Dimensiunea dischetei:
-dischete de 8 inch (primele aprute);
-dischete de 5 ;
-dischete 3 .
b) Dup numrul de fee utilizate Configuraiile calculatoarelor personale prezint urmtoarele
capaciti ale dischetelor de 5 i ale celor de 3 :
-discheta simpl fa (single side- SS);
-discheta dubl fa (double side- DS).
Primele dischete aprute au fost simpl fa, astzi nu sunt utilizate dect cele dubl fa.
50

CAPITOLUL 2. ARHITECTURA CALCULATOARELOR PERSONALE

c) Dup densitatea nregistrrii datelor:


-dischete dubl densitate (double density-DD);
-dischete cu densitate ridicat (high density-HD);
-dischete cu densitate extins (extra density-ED);
-dischete cu densitate foarte nalt (HIFD-FUJI-SONY -200 MB)
Cluster reprezint unitatea de alocare a spaiului disc i este format din 1 sau mai multe sectoare.
Muli specialiti consider c un posibil succesor al dischetei de 3 discul ZIP al firmei
Iomega, un suport magnetic prezentnd capaciti de stocare de pn la l00 - 200 MB. Deoarece
calculatoarele personale prezint n configuraie doar uniti floppy de 3 ", considerm utile
informaiile cu privire la modul de organizare a acestora.
c) Uniti de discuri amovibile
Folosesc o tehnologie magnetic sau magneto-optic pentru nregistrarea/citirea datelor. Cele
mai raspndite uniti magnetice -considerate i standarde - sunt discurile ZIP produse de firma
Iomega, discurile Bernoulli i SyQuest. Discurile Bernoulli i SyQuest permit acces direct la datele
nregistrate pe suportul magnetic i prezint timp de acces i o rata de transfer compatibil cu cea a
hard disk-urilor (discurile SyQuest realizeaz o rat de transfer de pn la (2MB/secund). Casetele
pentru aceste uniti de disc au capaciti ntre 44 MB i 1,3 GB.
Discul ZIP este o alternativ pentru stream-ere (uniti de band magnetic), fiind utilizat mai
ales pentru stocarea copiilor de siguran ale fiierelor. Discul ZIP este un mediu magnetic de stocare
asemntor cu o dischet de 3 , prezentnd capaciti de stocare pn la 100-200MB.
Iomega Rev este cea mai recent ncercare de a readuce n atenia utilizatorilor zilele de glorie
ale unitilor Zip. Acest unitate portabil de stocare rezolv problema ntlnit frecvent la hard diskurile externe legat de ptrunderea particulelor de praf ntre capul de citire i platan. Iomega folosete
un dispozitiv special de nchidere, un sistem de ventilaie intern i un filtru extern pentru reinerea
particulelor. Capacitatea de stocare este de 35 GB, ns cu ajutorul compresiei, realizabile cu ajutorul
unui program livrat special se poate ajunge la 90 GB.
UNITILE DE BAND MAGNETIC
Unitile de band magnetic regsite n configuraia PC-urilor mai sunt cunoscute i sub numele
de stream-ere. Ele permit stocarea unui volum mare de date, de aceea sunt utilizate n mod deosebit
pentru realizarea copiilor de siguran (ale fiierelor de date) sau pentru transferul unor volume mari de
date de pe un calculator pe altul.
Citirea datelor se poate face doar secvenial, adic n ordinea n care nregistrrile au fost stocate
la nivelul benzii. Benzile magnetice -realizate pe baza standardului QIC (Quarter-Inch Committee,
Comitetul de Standardizare) -se prezint sub forma de casete similare cu cele audio (din punct de
vedere al mecanismului de funcionare). Parametrii utilizai n caracterizarea unitilor de band sunt:
-capacitatea de stocare;
-viteza de transfer a datelor;
-standardul folosit n nregistrarea datelor;
-preul unitii i al benzii.
n urma procesului destandardizare s-au definit dou tipuri de cartue (pentru band):
-DC ( data cartridge) pentru casetele de 4 x 6 x 5/8 inch;
-MC (minicartridge) pentru casetele de 3 1/4 x 2 1/2 x 3/5 inch.
Benzile conforme standardului QIC au un suport magnetic pe baz de oxizi de fier, iar
modalitatea de nregistrare a datelor este asemntoare cu cea folosit n cazul hard disk-ului. Pentru
nregistrarea datelor pot fi utilizate dou tehnici: MFM (Modified Frequency Modulation) i RLL (Run
-Length Limited). Standardul QIC-80 specific nu doar tehnica de nregistrare, ci i modul de
structurare a datelor pe suport. Un alt standard utilizat este Travan, utiliznd casete cu capaciti de
stocare ntre 400MB i 4GB. Exist i uniti de band nestandard pe casete VHS.
Pentru a putea utiliza benzi magnetice este nevoie de un program special de gestionare a datelor
pe suport. Un sistem nou de stocare mid-level care combin discul i band ntr-un dispozitiv unic a
fost realizat recent de Advanced Digital Information (ADIC).
Sistemul se adapteaz mediilor de backup existente, prezentndu-se ca o bibliotec virtual care
poate fi conectat direct cu acestea. Pathlight VX2.0 include disc drive-uri EMC CLARiiON ATA
51

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

pentru o performan ridicat de stocare, dar i elemente band pentru capacitate, economie i refacere
n caz de dezastru. Stocarea pe disc poate varia ntre 2,8 TB i 3,8 TB n condiiile unor costuri
reduse cu 50%, cu stocarea pe band furnizat prin integrarea bibliotecilor ADIC Scalar i Storage Tek
L-Series. Configuraiile single-library pot atinge o capacitate nativ de 2,823 TB i 5,599 TB cu
compresie normal.
UNITI DE STOCARE ELECTRONIC
Memoria FLASH Dup cum am artat, memoria este volatil, informaia dispare o dat cu
oprirea calculatorului; astfel a aprut necesitatea existenei memoriei secundare, care s stocheze datele
permanent. A aprut ns o alt problem, referitoare la viteza mic de acces la un dispozitiv de stocare
a datelor secundar, cum este un disc, o rat de transfer care este semnificativ mai mic dect viteza de
acces a calculatorului la memoria intern. Pare de neimaginat c datele vor putea fi memorate cndva
ntr-un chip de memorie nevolatil (RAM nevolatil). O speran n acest sens a aprut n forma
memoriei flash nevolatile. Chip-urile flash sunt utilizate n telefoanele celulare, camerele digitale i
MP3 player. Chip-urile memoriilor flash sunt produse n pachete asemntoare crilor de credit i
necesit foarte puin energie. Sunt ntlnite sub denumirile de CompactFlash card i SmartMedia card
i ajung pn la 16 GB.
UNITI DE STOCARE OPTIC
Unitatea pentru CD-ROM (CD-ROM unit): realizat pentru a citi discurile de tip CD-ROM
(Compact-Disc Read Only Memory). Ele pot conine urmtoarele tipuri de informaii: date, muzic,
secvene video. Informaiile de pe un disc CD-ROM au un caracter permanent i nu pot fi terse.
Exist mai multe tipuri de uniti CD-ROM: CD-Read Only Memory care permit doar citirea CDurilor, CD-Read Write ReWrite care permit att citirea ct i scrierea sau rescrierea pe CD-uri. Exist
CD-uri pe care inscripionarea se realizeaz n mod ireversibil (CD-Recordable) dar exist i CD-uri pe
care inscripionarea se poate realiza de mai multe ori (CD ReWritable).
Unitatea pentru discuri DVD (Digital Video Disk): urmtoarea generaie de discuri CD-ROM
sunt DVDurile, care permit stocarea i redarea filmelor. Acest tip de unitate a fost lansat pe pia
recent i necesit o plac special i software aferent pentru a putea fi utilizat.
Unitatea de msur standard pentru viteza de transfer este KB/sec. Aplicaiile care folosesc
tehnica video, animaia i sunetul necesit viteze mari de transfer al datelor. De aceea sunt preferate
unitile CD asigurnd viteze de transfer de la150KB/sec, pentru primele tipuri de CD-ROM, la 55-66
MB/s pentru CD i la 88 MB/s (pentru DVD 8x) sau 177 MB/s (pentru DVD 16x).
Timpul de acces (prezint aceeai semnificaie ca i n cazul hard disk- ului) este de 350ms
(milisecunde). Poziionarea mecanismului de citire ntr-o zon situat spre centrul CD-ului va necesita
un timp de acces mai mic dect n cazul unei citiri dintr-o zon plasat spre exteriorul CD-ului.
Formatul utilizat n nregistratea datelor pe CD este CLV Constant Linear Velocity (Vitez
Liniar Constant). Aceasta nseamn c densitatea de nregistrare a datelor, e o constant pe toat
suprafaa suportului. La citire/nregistrare cu viteza liniar constant rotaia discului este variabil,
micorndu-se sau accelerndu-se n funcie de poziia informaiilor astfel nct fluxul de date s
ramn constant. Mai este utillizat i metoda CAV Constant Angular Velocity, folosit la
majoritatea unitilor noi i rapide. Metoda CAV implic o vitez de rotaie fix a discului, viteza de
transfer variaz, astfel nct datele din zona exterioar a discului sunt transferate la o rat mult mai
mare, fa de datele nregistrate la interiorul discului.
CD -ROM-ul este o "dezvoltare informatic" a tehnologiei de realizare a CD-DA (CD Digital
Audio). Discul are un diametru de 5 inch i este acoperit cu o pelicul metalic format dintr-un aliaj
de aluminiu, prezentnd proprieti reflectorizante. Pelicula metalic retine informaia i este acoperit
de un alt strart cu rol protector.
Informaia este nregistrat la nivelul pistei sub form de spiral ce pornete dinspre exteriorul
spre centrul discului. n procesul nregistrrii datelor este utilizat laserul, contactul acestuia cu
suprafaa discului conducnd la producerea unor mici caviti (pits) de mrimi variabile n alternan
cu spaii plate (lands). Citirea informaiei de pe disc are la baz principii optice. O raz laser de putere
mic este dirijat spre suprafaa discului, fapt ce va determina reflectarea acesteia. Intensitatea razei
reflectate depinde de zona de disc cu care a luat contact -zona prezentnd caviti sau zona plat. Un
52

CAPITOLUL 2. ARHITECTURA CALCULATOARELOR PERSONALE

receptor optic capteaz lumina reflectat i deosebete zonele ce au determinat o reflectare puternic a
luminii de cele n care lumina a fost slab reflectat sau chiar deloc reflectat (pit), trimind apoi
semnalele electrice ctre microprocesor spre a fi "traduse" n date sau sunete.
Pentru inscripionarea datelor se folosesc tehnicile de compresie i combinare a informaiilor,
ADPCM (Adaptive Delta Puise Code Modulation) tehnic de compresie audio ce se bazeaz pe
encodarea diferenelor dintre valorile eantioanelor, acestea fiind n general mici i necesitnd un
numr mai redus de bii i Blue Book care este un standard pentru combinarea informaiilor audio i a
datelor pe un acelai CD. Cunoscut i ca CD-Extra i CD-Plus.
CD -ROM XA (Extended Architecture), CD -ROM cu arhitectur extins, respect standardul
High Sierra i aduce ca noutate utilizarea n procesul de nregistrare a tehnicii de ntreesere. Aceasta
face ca sunete, imagini fixe, imagini video s poat fi stocate n alternan. Unitile Compact Disk Digital Audio (CD -DA) pot citi date i nregistrri audio, iar primul sector conine informaia ce
permite identificarea tipului de nregistrare.
Un CD -ROM stocheaz informaia analogic (sunetele) n form digital, structurat n trei zone:
a) zona Lead-In (plasat spre centrul discului), coninnd tabela de materii;
b) zona datelor efective;
c) zona Lead-Out (ocup ultimul mm de disc).
O secund de sunet necesit 75 de sectoare, la nivelul discului existnd ntre 270000 -330000 de
sectoare a cte 2352 octei fiecare.
CD I (CD -interactiv) combin imagini video, imagini animate i sunet de calitate superioar.
Unitatea CD-I nu este un simplu perireric, ci un adevrat calculator, coninnd un procesor
MOTOROLA, o memorie RAM (1MB) i un sistem de operare CD-RTOS (Compact Disk Real Time
Operating System), fapt ce determin incompatibilitatea cu sistemele MS -DOS.
Foto CD sau unitile foto CD permit vizionarea pe televizor sau pe monitorul PC-ului a
imaginilor fotografice nregistrate pe CD-audio, ct i pe foto CD-uri.
Unitile DVD (Digital Video Disk) asigur performane audio i video full-motion remarcabile,
incluznd tehnologia full-CAV, unitatea DVD este compatibil cu discurile CD-ROM, CD-RW care
pot fi citite cu viteze foarte mari. Timpii de acces asigurai de unitatea DVD sunt de 210 ms pentru
mediile DVD i 130 ms pentru mediile CD-ROM. DVD nseamn digital versatile sau video i permite
stocarea a peste 2 ore de secvene video ( capacitatea de stocare fiind de 4,7GB, iar n cazul ultimei
versiuni de 17GB). Acest suport poate nlocui cu succes CD -ROM-ul pentru arhivri de date sau
pentru distribuia de soft i a mediilor distractive. ncepnd cu anul 1998, multe sisteme sunt livrate cu
unitate DVD-ROM ca echipament standard n locul unitilor CD-ROM.
La nceputul anilor '90, cteva companii au nceput s lucreze la dezvoltarea unui format care s
nlocuiasc btrnul CD. Misiunea lor era s creeze un disc similar ca dimensiuni cu CD-ul, dar cu o
capacitate de stocare mult mai mare.
DVD-R este un mediu care suport o singur scriere, similar cu CD-R.
DVD-RW reprezint versiunea reinscriptibil a lui DVD-R. Supotnd pn la 4,7GB de date, un
mediu DVD-RW poate fi inscripionat de pn la 1000 de ori. In 1997 a fost anunat un nou standard,
DVD+RW, care iniial putea stoca 3 GB, ns a creascut la 4,7 GB.
DVD-RAM este tot un mediu reinscriptibii, ns spre deosebire de DVD-RW, care ofer acces
secvenial la date, acesta permite acces aleator. Un mediu DVD-RAM poate fi scris de pn la 100.000
de ori. Productorii DVD+ i DVD- s-au unit sub standardului DVD-Dual, n timp ce conservatorii,
susintori ai formatelor DVD- i DVD-RAM, s-au organizat sub formatul DVD-Multi.
Acum exist trei standarde predominante DVD-R/-RW, DVD+R/+RW i DVDR/RW.
Formatul HD-DVD (High Definition High Density-DVD) va dispune de o capacitate de stocare de
patru ori mai ridicat. Discul optic de 4,7 inch poate stoca conform acestui standard pn la 20 GB de
date (pe o singur fa), n comparaie cu cei 4,7 GB ai discurilor existente n present. Formatul a fost
dezvoltat n principal de companiile Toshiba i NEC. Formatul cu cei mai muli susintori este Bluray Disc, o soluie pentru nregistrrile video de nalt definiie. Sony a dezvoltat n paralel i formatul
Professinal Disc, iar compania britanic Plasmon a lansat un format propriu numit UDO (Ultra
Density Optical), - adresat pieei arhivrii i stocrii datelor. Dei cele patru formate sunt incompatibile
tehnic, ele realizeaz un salt mare n privina capacitii de stocare a datelor datorit utilizrii
tehnologiei de inscripionare cu laser albastru. Lumina albastr sau violet are o lungime de und de
53

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

400 nm, deci mai scurt dect cea roie (630-650nm), care este utilizat acum n sistemele CD i DVD.
Drept urmare raza laser las urme mai mici pe suprafaa discului, deci fiecare bit de informaie va
ocupa un spaiu mai mic, iar capacitatea de stocare a discului crete semnificativ. Pentru a atinge o
capacitate de 45GB pe o fa a unui layer se preconizeaz s se utilizeze laserele UV (ultraviolet).
n continuare sunt prezentate cteva detalii tehnice i specificaii fizice ale actualelor i
modelelor noi de DVD-uri n tabelele 2.5. i 2.6.
Tabelul 2.5.
Detalii tehnice i specificaii fizice pentru DVD-uri
Nume COD

Structura

DVD-5
DVD-9
DVD-10
DVD-18
DVD-R
DVD-RAM

Single side/Single layer


Single side/Dual layer
Double side/Single layer
Double side/Dual layer
Single or Double side/Single layer
Single or Double side/Single layer

Capacitate [GB]
4, 7
8,54
9,4
17,08
3,95 / 7,9
2,6 / 5,2

Tabelul 2.6.
Caracteristici pentru DVD-uri din generaia urmtoare
Format

Profunzime
a datelor

Culoare
laser

Capaciti
dublu strat

HD-DVD-9
AOD

0.6 mm
0.6 mm

Red(650nm)
Blue(405nm)

0.6 mm

Blue(405nm)

11 Mbps
na/8.5G (ROM)
15G / 30G (ROM). 36 Mbps
20G/40G (recordable)
17G / na
25.05 Mbps

0.1 mm
0.1 mm

Blue(405nm)
Blue(405nm)

Blue-HD-DVD-1
Blu-ray
DVD-2

simplu/ Rat de transfer

27G / 50G
17G/na

36 Mbps Blue-HD
31.59 Mbps

2.4.5. MAGISTRALE I COMPONENTE INTERNE


MAGISTRALE DE COMUNICAIE
Microprocesorul, memoria, diferitele cip-uri etc sunt implantate pe placa de baz. Principalul
circuit care conecteaz toate aceste componente se numete magistral. Magistrala se poate compara
cu un mnunchi de fire care conecteaz device-urile interne i externe ale calculatorului la UCP.
Aceste fire sunt mprite n trei grupe: linii de adrese, linii de date i linii de control. Liniile de adrese
transport semnalele care indic ce locaii de memorie trebuie citite/scrise pentru a executa o anumit
operaie. Liniile de date servesc la transferul instruciunilor de program i al datelor din memorie n
UCP i invers. Liniile de control transport ordine de la UCP ctre alte componente ale calculatorului.
O magistral se caracterizeaz prin lrgimea sa i prin frecvena la care funcioneaz.
Un micro calculator prezint urmtoarele tipuri de magistrale:
-magistrala intrri/ieiri I/O(Input/output);
-magistrala de adrese;
-magistrala memoriei.
Magistrala I/O reprezint magistrala principal a PC-ului, ea asigurnd calea de comunicaie
pentru majoritatea datelor din sistem. Pe acest bus sunt transmise datele din sistem, datele
transferate/primite la/de la periferice (sistemul video, unitile de disc, imprimanta).
Magistrala I/O trebuie s fie ct mai rapid. Acest lucru este impus de: viteza procesoarelor, de
cerinele soft n cretere"precum i de creterea cerinelor video (cea mai intens comunicaie de
intrare/ieire se realizeaz spre i dinspre placa video).
Principalele tipuri de magistral I/O sunt: ISA, Micro channel, EISA, magistrala local,
magistrala VESA local, magistrala PCMCIA, VL BUS i PCI.
ISA (Industry Standard Architecture) reprezint arhitectura de magistral a primului IBM PC
(1982). Deci primele plci de baz care au folosit aceast arhitectur au fost cele care foloseau
54

CAPITOLUL 2. ARHITECTURA CALCULATOARELOR PERSONALE

microprocesoare 8086 i 8088. Au urmat plcile de baza care au folosit procesoare 80286, 80386,
80486 i Pentium.
Exist dou versiuni de magistrale ISA deosebite prin numrul de bii de date ce pot fi transmise
simultan pe magistral (versiunea pe 8 bii i versiunea mai nou pe 16 bii). Magistrala ISA permite
un transfer la viteze mici de 8 Mhz, necesitnd dou pn la opt perioade de ceas pentru transferul
datelor. Rata de transfer - pentru versiunea ISA pe 16 bii - maxim este de
16MB/sec, dar n realitate se ridic doar la jumtate, de aceea acest tip de magistral limiteaz
performanele pe majoritatea sistemelor.
EISA (Extended ISA) reprezint o ncercare de a extinde ISA pe 32 bii. Fa de arhitectura ISA
pe 16 bii, permite mai multe extensii cu mai puine conflicte ntre plcile adaptoare. EISA utilizeaz
tehnologia busmastering-ului ce permite unei plci de extensie de a scrie i citi direct n i din
memorie, fr a necesita vreun timp de ceas al procesorului. Aceast tehnologie se bazeaz pe un cip
special (cipul ISP Integrated System Peripherial) ce permite unei plci cu opiunea de control total
magistralei, putnd astfel executa operaii foarte rapid. Magistralele cu arhitectura ISA i EISA
prezint dezavantajul c frecvena lor de tact nu corespunde vitezei mult mai mari a procesorului.
VL Bus (VESA -Video Electronics Standard Association -Local Bus) iniial gndit pentru
plcile video, a fost extins pentru toate plcile adaptoare. Prezint ca avantaj posibilitatea negocierii
directe cu microprocesorul i memoria i lucreaz la o vitez de ceas de 40- 50 MHz. Local bus-ul,
fiind proiectat pentru o magistral de 32 bii, realizeaz viteze de transfer mari, iar controller-ele
pentru VL Bus sunt capabile s administreze patru hard disk-uri.
PCI (Peripheral Component Interconnect) reprezint cel mai performant standard de bus
local. Limea bus-ului este de 64 bii, la o frecven de tact de 33 (66) MHz. Realizeaz multiplu
busmastering pe aceeai magistral (mai multe controllere pot rula n acelai timp), autoconfigurare,
permite integrarea de maxim 8 funcii la nivelul unei singure plci.
Magistrala PCMCIA este specific sistemelor laptop i notebook, crora le asigur
extensibilitate, aa cum prezint i sistemele desktop. Plcile de extensie PCMCIA au dimensiunea
unor credit card-uri. Conectorii lor permit plci de extensie de memorie, plci de fax/modem, plci de
reea local etc. Un tip particular de plac PCMCIA l reprezint Zoomed Video Port care asigur o
decompresie i o citire rapid a fiierelor video foarte mari.
Magistrala procesorului, reprezint calea de comunicaie ce asigur transferul datelor ntre
unitatea central de prelucrare i magistra a principal (magistrala I/O) i au ntre unitatea central i
memoria cache. Este o magistral rapid, compus din circuite electrice pentru date, adrese i control.
n cazul sistemului Pentium, magistrala procesorului prezint 64 linii de date, 32 linii de adres,
precum i linii de control asociate. Viteza maxim de transfer a magistralei, numit i lrgime de
band, este de 528 m/s, dar efectiv ea este cu 25% mai mic.
Magistrala memoriei, asigur transferurile informaiilor ntre unitatea central i memoria
RAM. Fizic este implementat printr-un set de cip-uri dedicate i asigur viteze mult mai mici dect
cele nregistrate de magistrala procesorului (deoarece dispune de mai puine linii de date).
Conectorii de extensie. Magistrala I/O permite, prin conectori, adugarea de dispozitive noi
calculatorului pentru a-i extinde posibilitile. Se pot astfel introduce controllere de hard disk,
adaptoare video, precum i o serie de dispozitive mai specializate, plcile de sunet sau plcile de
interfa pentru uniti CD-ROM.
PLACA DE BAZ
Cea mai important componenta a unui calculator este placa de baz (PCB), care trebuie s in
cont de platforma dorit, tipul memoriei ce va fi folosit i de viitoarele mbuntiri ce urmeaz a fi
fcute pe termen mediu i lung. Se pot defini trei categorii de plci de baz ce pot constitui o alegere n
cazul unui utilizator individual.
Plcile integrate asigur compatibilitatea ntre componente. Aceste plci beneficiaz de obicei
de controlerele video i de sunet integrate sau la includerea unui modem. Gama de procesoare
suportate este mai mic dact a celorlalte plci, capabilitile de overclocking fiind extrem de limitate.
A doua categorie, i cea mai rspndit, este cea a plcilor de nivel mediu. Acestea nu
beneficiaz de controler video integrat, lasnd alegerea plcii video la ndemna utilizatorului. Toate
plcile existente pe pia ofer un controler audio integrat, acesta putnd fi dezactivat n cazul n care
55

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

dorii s apelai la o plac de sunet specializat. Numrul sloturilor PCI variaz ntre 5 i 6, destul
pentru aproape toate plcile de extensie pe care utilizatorul le-ar putea achiziiona ulterior.
A treia categorie este constituit din plcile dedicate staiilor de lucru, destinate aplicaiilor
profesionale, care ofer suport pentru dou procesoare, iar plcile includ i faciliti cum ar fi controler
de reea sau SCSI i multe sloturi PCI. Exist cteva caracteristici de care trebuie s se in cont cnd
se alege placa de baz potrivit.
Componentele electronice ale plcii de baz ndeplinesc majoritatea funciilor unui calculator:
ruleaz programe, fac calcule, aranjeaz biii care vor fi afiai pe ecran. Placa de baz conine cele mai
importante elemente ale unui PC, cele care i definesc funciile i posibilitile de extindere, cum ar fi
microprocesorul, cipul BIOS, memoria, sistemul de stocare masiv, sloturile de extensie i porturile.
BIOS. Pentru a funciona, calculatorul are nevoie de un program; un program simplu chiar i
pentru pornire i pentru a putea ncrca i citi programe. Sistemul primar de intrare/ieire (Basic
Input/Output System - BIOS) este un set de rutine permanent nregistrate, care asigur sistemului
caracteristicile operaionale fundamentale, inclusiv instruciunile care i spun calculatorului cum s se
autotesteze la fiecare pornire. n calculatoarele mai vechi, sistemul BIOS stabilete ce poate face
calculatorul fr s ncarce un program de pe disc i modul n care calculatorul va reaciona la
instruciuni specifice, care fac parte din programele stocate pe disc. Sistemele de operare moderne
nlocuiesc automat codul BIOS cu propriile programe, imediat dup iniializarea PC-ului. n
majoritatea situaiilor, codul BIOS este folosit numai pentru iniializarea i testarea calculatorului la
pornire, apoi cedeaz locul altor produse software, care fac adevrata munc.
Circuitele de suport de pe placa de baz fac legtura ntre microprocesor i restul calculatorului.
Un microprocesor, dei este creierul unui calculator, nu este un calculator n sine (dac ar fi fost, ar fi
purtat alt nume - de exemplu, calculator). Ca s fie adus la via, microprocesorul are nevoie i de alte
circuite: ceasuri, controllere i convertoare de semnal. Fiecare dintre aceste circuite de suport are
propriul mod de a reaciona la programe, contribuind astfel la funcionarea general a calculatorului. n
calculatoarele actuale, toate funciile tradiionale ale circuitelor de suport au fost nglobate n cipseturi, circuite integrate de dimensiuni relativ mari.
Sloturile de extensie. Aa cum sugereaz i numele, sloturile de extensie ale unui PC permit
extinderea capacitii acestuia prin montarea unor plci suplimentare, inteligent numite plci de
extensie. Sloturile sunt spaii din interiorul unitii de sistem cu socluri sau conectoare speciale, care
permit conectarea plcilor de extensie. Sloturile de extensie ale calculatoarelor notebook permit
conectarea unor module de dimensiunea unui card care ndeplinesc aceleai funcii ca i plcile de
extensie. Standardele respectate de sloturile de extensie dintr-un PC determin att tipul plcilor care
pot fi instalate, ct i performanele acestora.
Cipsetul - este inima plcii de baz i necesit o atenie deosebit nainte de achiziie. El este
responsabil pentru tipurile de componente care vor fi suportate de placa de baz.
Arhitectura plcii, se refer la modul n care sunt plasate componentele pe PCB, spaiul liber
din jurul socketului procesorului (un factor important pentru utilizarea unui cooler mai mare), spaiul
liber de lng sloturile PCI (pentru plcile de extensie cu lungimi mari).
Sloturile (4, 5 sau 6 sloturi PCI) sunt suficiente pentru viitoarele plci de extensie pe care
urmeaz s le folosii.
Suportul hardware trebuie ales funcie de modele viitoarelor versiuni ale componentelor ce
urmeaz a fi utilizate. Cu ct suportul oferit este mai generos, cu att mai bine pentru viitorul upgrade.
Un aspect foarte important este legat de posibilitatea de dezactivare a controlerelor integrate pe plac.
Manualul de utilizare realizat de productori de renume, cum ar fi Abit, Asus, Epox sau MSI,
ofer soluii la o larg varietate de probleme ce pot aparea n procesul de instalare.
2.4.6. DISPOZITIVE PERIFERICE
Echipamentele periferice reprezint dispozitive care asigur interfaa dintre utilizator i
calculator. Ele permit, pe de-o parte, introducerea datelor programelor i comenzilor, iar pe de alt
parte, redarea rezultatelor prelucrrii. Dup funcia pe care o ndeplinesc, perifericele se clasific n:
-periferice de intrare, reprezentnd multimea echipamentelor permind introducerea datelor,
programelor i comenzilor;
56

CAPITOLUL 2. ARHITECTURA CALCULATOARELOR PERSONALE

-periferice de ieire, reprezentnd mulimea echipamentelor cu rol de redare a rezultatelor


prelucrrii;
-periferice de intrare-ieire, permind citirea/scrierea n/din memoria extern (care au fost deja
prezentate n capitolul rezervat memoriei externe).
PERIFERICE DE INTRARE
Tastatura (Keyboard)
Pn la apariia unor periferice mai putemice (interfaa multisenzorial, comand vocal etc.),
tastatura ramne principalul periferic pentru introducerea datelor, fr de care nu ar exista mijloc de
comunicare cu calculatorul. Acelai lucru este valabil i pentru mouse, atunci cnd lucrm cu interfee
grafice.
Firma IBM a creat patru tipuri standard de tastaturi:
-tastatura PC i XT cu 83 de taste;
-tastatura AT cu 84 de taste;
-tastatura extins cu 101/102 taste lansat n 1986;
-tastatura adaptat mediului Windows.
Exist mai multe variante constructive: tastaturi cu contact mecanic i tastaturi cu contact bazat
pe senzori (magnetici, optici).
La nivelul tastaturii standard se pot identifica urmtoarele grupuri principale de taste:
-grupul tastelor alfanumerice, n cadrul cruia ordonarea literelor difer de la ar la ar; prima
linie de taste alfabetice -n cazul unei tastaturi frantuzeti va fi AZERTY , n timp ce pentru o tastatur
englezeasc va fi QWERTY;
-grupul tastelor alfanumerice, funcionale, inscriptionale F1 - F12, ce permit executarea unor
funcii prestabilite;
-grupul tastelor pentru controlul cursorului;
-grupul tastelor numerice (utilizat pentru culegerea rapid a datelor de natur numeric) activat:
prin acionarea tastei Numeric Lock.
Exist tastaturi cuprinznd cteva "taste multimedia", care, pot permite modularea volumului
sonor. Constructorii, cum ar fi Compaq, IBM sau Hewlett Packard, ofer tastaturi incluznd taste
particulare, programabile, prin intemiediul crora se poate lansa o conectare la Internet, asculta CD-ul
audio instalat n unitatea CD-ROM etc.
Mouse-ul
Mouse-ul reprezint un dispozitiv de intrare, permind selectarea cu uurin a opiunilor din
meniuri sau manipularea unor obiecte afiate n cadrul interfeelor grafice. La ora actual el face parte
din configuraia standard a unui PC. A fost inventat n 1964 de Douglas Engelbert, cercettor n cadrul
Universitii Standford, ideea sa fiind preluat mai trziu de firma Xerox. Ideea utilizrii mouse-ului ca
dispozitiv de indicare pe interfaa gratic este preluat de specialitii firmei Apple n urma prezentrii
n 1979 a calculatorului Alto ctre compania Xerox.
Majoritatea mouse-urilor sunt identice din punct de vedere constructiv, funcional i al formei de
prezentare. Ele se difereniaz prin numrul de butoane pentru selecii (2 sau 3) i modul de
comunicare cu calculatorul. Elementele constructive ale mouse-ului sunt reprezentate de:
-carcas;
-bila de cauciuc care semnaleaz sistemului micrile fcute;
-butoanele (2 sau 3) pentru selecii;
-cablu pentru conectarea la calculator;
-conector de interfa pentru ataarea mouse-ului la sistem.
Micrile bilei sunt transformate n semnale electrice care se transmit calculatorului prin
intermediul cablului. Mouse-ul cu senzor optic, puin utilizat astzi, necesit un suport special (grid
pad). Butoanele mouse-ului realizeaz o operaie bine precizat sub controlul programelor executate.
Este important de tiut faptul c nu toate programele "tiu" s lucreze cu mouse-ul.
Mouse-ul poate fi conectat la sistem prin:
-interfa serial;
-port dedicat pentru mouse, pe placa de baz;
-interfa de magistral.
57

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Principalele operaii realizate cu mouse-ul sunt:


punctarea (click), reprezentnd poziionarea cursorului de mouse prin acionarea scurt a
butonului (stng). Aceasta operaie servete n aciunea de selectare a opiunilor din
meniu/obiectelor;
"tragerea" (drag) care permite deplasarea obiectelor (butonul mouse- ului nu se mai
elibereaz, el rmnnd activ pe timpul deplasrii mouse).
Precizia unui mouse, exprimat prin rezoluia mecanic, se msoar n dots per inch (dpi).
Rezoluia poate s ajung pn la 600 dpi ca n cazul modelului Kensington Thinking Mouse, destinat,
n principal, utilizatorilor de aplicaii CAD. Pentru activitatea de birotic, rezoluia poate fi de 400 dpi.
Trackball-ul este un mouse n poziie invers. Deplasarea cursorului se realizeaz prin micarea
bilei de cauciuc cu degetul. Este specific calculatoarelor portabile (laptop, notebook).
Touchpad-ul reprezint o altemativ a mouse-ului standard. Este constituit dintr-o suprafa
plan (puin mai mare ca dimensiune dect un card bancar), senzitiv, sensibil la atingere, care
urmrete micarea degetelor, presiunea exercitat de acestea i transmit aceast informaie cursorului
pe ecran. Prezint patru butoane programabile i este plasat, de regul, sub tastatura unui laptop.
Joystick-ul este o soluie mai veche, reprezentnd un dispozitiv format dintr-o manet
permind realizarea a patru sensuri de micare: nainte, napoi, stnga, dreapta. Se utilizeaz astzi n
general pentru jocuri. Pentru cei care desfaoar activiti grafice, tastatura i mouse-ul nu sunt
suficiente. Pentru aplicaiile grafice tableta grafic este deosebit de util. Stiletul perrnite realizarea pe
tableta grafic a desenelor care sunt transformate n desene pe monitorul calculatorului. Toate tabletele
grafice dispun de o panoplie de funcii. Tabletele cele mai sofisticate sunt capabile s sesizeze
presiunea exercitat de utilizator prin intermediul stiletului pentru a trasa linii mai groase.
TouchScrean-ul este un dispozitiv de sine stttor ce include o tastatur touch-sensitive (fr
taste) i un mouse standard. Atunci cnd scrii la tastatur i ai nevoie de mouse nu eti nevoit s mui
mna dup acesta din urm, deoarece mouse-ul se afl chiar ntre cele dou segmente ale tastaturii
touch-sensitive. Majoritatea butoanelor lui TouchStream sunt asemntoare ca mrime cu cele ale unei
tastaturi obinuite (19x19mm), cu toate c productorul a redus dimensiunea unor taste precum
BackSpace, Delete, sau Enter i le-a aezat n aa fel nct s se regseasc foarte uor n design-ul
ergonomic. Bulinele mici din cauciuc, amplasate n centrul tastelor, sunt singurele forme de relief ce se
gsesc pe suprafaa plan a lui TouchStream.
Creionul optic reprezint o baghet folosit pentru a indica sau desena pe suprafaa monitorului.
Principiul de lucru const n identificarea poziiei varfului stiletului pe ecran; transmiterea acestei
informatii calculatorului prin adaptorul grafic. Aceasta informaie este apoi preluat de programe
special concepute s lucreze cu acest dispozitiv de intrare.
Ecranul tactil elimin necesitatea utilizrii unui dispozitiv indicator, locul acestuia fiind luat de
degetul utilizatorului, un creion etc. Semnalarea seleciei realizate pe ecran de utilizator se realizeaz
prin intermediul unui dispozitiv de intrare inclus sau fixat pe monitor i a razelor infraroii.
Touchpad-ul este o zon rectangular sensibil la presiune. Alunecai uor degetul
dumneavoastr pe suprafaa touchpad-ului i un pointer va efectua micrile corespunztoare pe ecran.
Butoanele de la baza unitii au aceleai funcii ca butoanele mouse-urilor, dar majoritatea touchpadurilor recunosc o btaie uoar ca apsarea unui buton. Touchpad-urile sunt disponibile separat pentru
orice calculator, dar cele mai multe sunt construite n interiorul laptop-urilor.
Tableta grafic graphics tablet, denumit i tableta digital, este o tbli rectangular ce
conine o gril invizibil de puncte electonice. Pe msur ce utilizatorii mut un stilet asemntor unui
pix sau o bil asemntoare celei de la mouse pe suprafaa tabletei locaiile punctelor atinse sunt
trimise calculatorului. Arhitecii i ingenerii folosesc aceste tablete pentru a crea desene precise.
Pointing stick-ul este un mic suport (post) sensibil la presiune poziionat n centrul tastaturii
intre tastele G si H. Apsnd post-ul n direcia dorit determin pointerul s se mite n acea direcie.
Pointerul se oprete din micare cnd presiunea este ridicat. Butoanele sunt poziionate la baza
tastaturii.
Scanner-ul
Este un dispozitiv specializat n preluarea de imagini i texte. Imaginea scanat este descompus
n puncte (pixeli) cu ajutorul unor senzori fotosensibili. Cu ct numrul de senzori este mai mare, cu
att crete rezoluia dispozitivului. Rezoluia msoara numrul de puncte distincte afiabile de un
58

CAPITOLUL 2. ARHITECTURA CALCULATOARELOR PERSONALE

dispozitiv. Unitatea de msura este dpi (dots per inch -numr de puncte pe inch). Principiul de
funcionare este urmtorul: n interiorul scanner-ului exist o surs de lumin. Lumina este proiectat
pe documentul supus citirii, iar razele reflectate de acesta sunt receptate de senzorii fotosensibili i
convertite n tensiune electric preluat de PC prin intermediul unui convertor. Pot fi citite prin
intermediul unui scanner documente, texte, semnturi, imagini alb-negru sau color, inclusiv fotografii,
informaia analogic fiind convertit n form digital.
La ora actual, piaa ofer o larg varietate de scannere: scanner de mn, scanner cu tractor
(realizeaz tractarea imaginii de scanat prin faa senzorilor), scanner orizontal (flatbed), scanner
holografic, cititoare de bare de cod. Rezoluia acestor dispozitive poate fi de 100, 300, 600, pn la
1200 dpi.
Cititorul de bare de cod este o combinaie de scanner de mn i OCR i este destinat n
principal citirii de etichete speciale, permind identificarea unui produs i/sau a preului acestora.
Scanner-ului cu tractor (de tip sheetfed) i se alimenteaz foile prin rotie motorizate hrtia ctre
capul scanner-ului. Sunt conceute s ncap ntre tastatur i monitor.
Caractere scrise de mn pot fi citite de mainile care pot citi caracterele scrise de mn,
regulile privitoare la mrime, ntregime si lizibilitate a scrisului de mn sunt foarte stricte.
Microfonul
Dezvoltarea aplicaiilor multimedia a determinat utilizarea microfonului ca dispozitiv de intrare.
Microfonul se regsete ca dispozitiv de intrare n configuraia standard chiar i a sistemelor de tip
laptop. Sistemele de recunoatere a vocii reprezint un dispozitiv de intrare care permite recunoaterea
unui numr finit de sunete izolate, cuvinte, fraze, "vocabularul" gestionat fiind de aproximativ 1000 de
cuvinte. Recunoaterea se face prin compararea undei sonore ( convertite n bii) a unui cuvnt rostit
de utilizator cu "amprentele" sonore memorate.
Voice input - introducerea datelor prin intermediul vocii. Vorbirea cu un calculator, cunoscut
ca voice input sau recunoaterea vorbirii, reprezint o alt form de preluare a datelor de intrare.
Dispozitive de recunoatere a vorbirii accept cuvntul rostit printr-un microfon i l transform ntr-un
cod binar (0 i 1) ce poate fi neles de ctre calculator. Exist dou mari ntrebuinri ale acestei
faciliti. Una este s dai calculatorului comenzile ce trebuie s le execute rostind pur si simplu aceste
comenzi, cum ar fi o aplicaie n particular, deschiderea unui fiier, sau mutarea la o locaie specific in
fiier. O a doua ntrebuinare este s introducei volume mari de text, cum ar fi n cazul dictrii unei
scrisori sau redactrii unui raport. Utilizatorii clasici sunt cei cu handicap fizic, cei cu mini ocupate
sau prea murdare pentru tastatur, i cei fr acces la tastatur.
PERIFERICE DE IEIRE
Monitorul este cel mai important echipament periferic de ieire, el asigurnd legatura dintre
utilizator i calculator. Comenzile i datele introduse de la tastatur, precum i rezultatele prelucrrii i
mesajele calculatorului sunt afiate pe monitor. Monitorul reprezint unul dintre componentele
sistemului video al calculatorului, cel de-al doilea element component fiind reprezentat de adaptorul
video(numit i plac video sau plac grafic).
Caracteristicile tehnice ale monitoarelor sunt urmtoarele:
-definiia;
-rezoluia;
-numrul de culori;
-dimensiunea monitorului;
-capacitatea de afiare;
-numrul dimensiunilor n care afieaz;
-tipul plcii video;
-rata de mprosptare;
-alte caracteristici.
Orice imagine/caracter afiat/afiat pe ecran este realizat printr-o mulime de puncte numite
pixeli. Dimensiunea (diametrul) unui pixel reprezint definiia monitorului. Cu ct aceast valoare
este mai mic, cu att imaginea este mai clar. Valoarea standard a definiiei este de 0,28 mm.
Rezoluia reprezint numrul de pixeli afiabili pe toat suprafaa ecranului. Cu ct numrul lor
este mai mare, cu att imaginile au mai multe detalii. Pentru monitoarele color, n definirea rezoluiei
59

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

se face referire i la parametrul numit dot pitch (distana ntre puncte). Aceast distan poate fi
cuprins ntre 0,25 i 0,52 mm.
Monitoarele pot fi monocrom sau color. n cazul monitoarelor color, numrul de culori ce pot fi
afiate este determinat de tipul plcii grafice ( ca, de altfel, i rezoluia).
Placile adaptoare (video) dispun de memorie proprie. Cu ct rezoluia este mai mare i cu ct
afiarea se realizeaz prin mai multe culori, cu att este mai mare memoria necesar plcii adaptoare.
O alt caracteristic a monitoarelor este dimensiunea monitorului, masurat prin diagonala sa.
Diagonala monitorului poate varia ctre 12 inch pentru monitorul monocrom i 42 inch n cazul
monitoarelor color. Dimensiunile cele mai utilizate sunt de 17, 19, 24 inch. Dimensiunea monitoarelor
n cazul noilor configuraii de PC oferite de pia tinde s se fixeze la 24 inch. n cazul portabilelor,
monitoarele SVGA prezint 17 inch, In timp ce pentru standardul XGA 13,3".
Monitoarele sunt fabricate att n stil portrait (pagin ntreag - prezentnd nalimea mai mare
dect laimea), ct i n stil landscape (dubl pagin- este potrivit pentru urmrirea simultan a dou
pagini alturate). Capacitatea de afiare a monitorului este dat de numrul de linii i coloane afiabile.
Ecranul clasic permite afiarea a 24 de linii i 80 de coloane. Exist monitoare permind afiarea a 24
linii i 40 de coloane sau, n cazul monitoarelor de la EGA n sus, pot afia n mod text pn la 60 de
linii i 132 de coloane. Un caracter este generat la intersecia unei linii cu o coloan, utiliznd o
matrice format din 5 x 7 puncte sau 7 x 9 puncte. Pe lng monitoarele clasice permind afiarea n
dou dimensiuni, exist i monitoare 3D (trei dimensiuni). Redarea imaginii n trei dimensiuni se poate
realiza prin polarizarea luminii, utiliznd ochelari speciali sau holografic.
Cele mai cunoscute standarde pentru plcile video sunt pezentate n tabelul 2.8.
Tabelul 2.8.
Standarde pentru placi video

Rata de mprosptare a imaginii reprezint numrul de imagini afiate pe secund i deci viteza
cu care se realizeaz remprosptarea imaginii.
60

CAPITOLUL 2. ARHITECTURA CALCULATOARELOR PERSONALE

Frecvena afirii (baleiajul vertical) este controlat de un dispozitiv numit Digital Analogic
Converter (DAC) al crui rol este de a transforma datele tocate n memoria video ntr-un semnal
analogic afiat pe monitor. Frecvena de baleiere trebuie s fie adecvat persistenei, astfel nct
imaginea de pe ecran s tremure ct mai puin, deloc chiar. Viteza de baleiere este cuprins ntre 60 i
200 Hz, cea mai frecvent fiind cea de 70 MHz, ceea ce nseamn ca imaginea este remprospatat pe
ecran de 70 de ori pe secund. n realizarea monitoarelor se pot utiliza mai multe tehnologii:
Tehnologia cea mai utilizat este cea a tubului catodic, folosit i n cazul televizoarelor.
Tubul catodic const dintr-un tub cu vid realizat din sticl, prezentnd la unul din capete un tun de
electroni, iar la celalalt ecranul acoperit cu fosfor. Tubul emite un fascicul de electroni de mare vitez
care lovesc ecranul, iar fosforul care-l acoper strlucete genernd astfel lumina receptat de utilizator
pe ecran.
Tehnologia utilizat n cazul monitoarelor realizate pentru calculatoare laptop (ecrane
plate) este fie cea bazat pe afiare cu cristale lichide (LCD -Liquid Cristal Display), fie cea bazat pe
plasm (GDP - Gas Plasma Display), Plasma Display Panel (PDP) este considerat de specialiti
monitorul mileniului trei. Productorii se ambiioneaz s realizeze PDP-uri cu diagonala de 21" i
rezoluie de 1280 x 1024 aducndu-le astfel n zona aplicaiilor pentru staii de lucru.
Noile tehnologii propuse privesc monitoarele plate numerice (DFP Digital Flat Panel). Acestea
sunt ecrane realizate pe principiul cristalelor lichide (LCD), numai c nu mai prezint convertizorul
analogic/numeric care astzi le este indispensabil pentru a funciona cu plcile grafice ale PC-ului.
Afiarea caracterelor pe ecran se poate realiza: normal, blinking (clipitor), pe niveluri de
luminozitate, video -invers.
Monitoarele pot funciona n dou moduri:
-scroll (liniile noi tastate apar la baza ecranului i text defileaz ca la maina de scris); .
-paginat ( dupa completarea unui ecran cu informaie se nlocuiete cu un altul).
Cele mai cunoscute firme productoare de monitoare sunt: IBM, Mitsubishi, NEC, Sony.
Imprimanta
Reprezint un periferic de ieire opional a crui funcie este de a tipri pe hrtie rezultatele
prelucrrii.
Principalele caracteristici ale unei imprimante sunt:
-rezoluia;
-viteza de tiprire;
-memoria imprimantei;
-limbajul de control al imprimantei;
-capacitatea de emulare;
-numrul de fonturi;
-dimensiunea hrtiei utilizate;
-modalitatea de alimentare cu hrtie;
-cromatica rezultatului listrii;
-fiabilitatea.
Rezoluia se msoar in dots per inch (dpi), deci n numr de puncte tiprite pe un inch, cu
precizarea c rezoluia pe orizontal nu este ntotdeauna egal cu cea pe vertical. Ea este determinat
de metoda folosit pentru imprimare i poate prezenta urmtoarele valori: 300, 600, 720 dpi, iar n
cazul imprimantelor profesionale, 1200 dpi (sau chiar rezoluii de 2400 x 600 dpi).
Viteza de tiprire realizat de imprimanta este determinat de o serie de factori cum ar fi:
motorul su, dimensiunea memoriei imprimantei, de procesor, complexitatea paginii de tiprit. Viteza
se msoar fie n caractere pe secund (cps), n pagini pe minut (ppm) i poate varia ntre 1-16 ppm.
Procesorul determin procesul de transformare a unui fiier n formatul accesibil imprimantei, proces
numit rasterizare.
Dimensiunea memoriei imprimantei este un parametru deosebit de important n cazul
imprimantelor laser, i aceasta deoarece numrul i complexitatea desenelor ce urmeaz a fi tiprite pe
o pagin sunt proporionale n mod direct cu dimensiunile memoriei imprimantei.
Capacitatea memoriei unei imprimante laser este, de obicei, de 5l2K, dar poate s ating 3MB
pentru rezoluii de 600dpi sau chiar mai mult.
61

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Limbajul de control reprezint setul de comenzi folosit pentru controlul imprimantei.


Capacitatea de emulare reprezint capacitatea unei imprimante de a folosi limbajul de control
al altei imprimante.
Dimensiunea hrtiei utilizate, aceasta este dependent de limea carului (imprimanta pe 80 de
caractere sau 132). Se poate utiliza hrtie de dimensiunea A4 (21 cm) sau A3 (aproximativ 42 cm).
Fiabilitatea este apreciat n funcie de capacitatea imprimantei de a funciona la parametri
normali pe perioade ct mai mari de timp n condiii normale de exploatare.
Clasificarea imprimantelor dupa metoda utilizat n procesul tipririi cuprinde tipurile:
imprimante orientate pe caracter, pe linie, pe pagin.
a) Imprimantele orientate pe caracter (sau seriale)
Lucreaz dup principiile mainii de scris, deci tiprirea se realizeaz caracter dup caracter.
Viteza de tipriere este mic, ridicndu-se la cteva zeci de caractere pe secund. Din aceast categorie
fac parte imprimantele matriceale, imprimantele termice i imprimantele cu jet de cerneal.
Imprimantele matriceale sunt numite i imprimante cu ace datorit modalitaii n care are loc
tiprirea: imprimarea se realizeaz prin intermediul unor ace (capul de tiprire al imprimantei prezint
9 sau 24 de ace) care percuteaz o band tuat, astfel nct imaginea tiprit se construiete din
mulimea punctelor realizate. Rezoluia acestor imprimante este modest (180dpi-360dpi) la o vitez
ntre 120 i 800cps.
Imprimantele termice se bazeaz pe procedeul de fixare termic pe hrtie a vaporilor de
cerneal. n aceast categorie se cuprind imprimantele color caracterizate printr-o rezoluie bun n
condiiile unei viteze de 250cps.
Imprimantele cu jet de cerneal, de obicei imprimante color, asigur rezoluii nalte (600dpi)
la viteze de 8-9ppm. Cerneala este pulverizat dintr-un rezervor printr-o serie de mici capilare la
nivelul hrtiei, fiind astfel generate caracterele sau imaginile.
b) Imprimantele orientate pe linie dispun de o memorie tampon, capabil s stocheze
caracterele ce urmeaz a fi tiparite n timpul unui simplu ciclu (la o rotire de tambur sau de band).
Sunt imprimantele de viteze mari, pn la 3000 linii pe minut, asigur tipriri de calitate bun,
iar hrtia este antrenat de un tractor (hrtia prezint margini perforate pentru a permite antrenarea).
c) Imprimantele orientate pe pagin, cunoscute, sub numele de imprimante laser, pot asigura
tiprirea de texte, imagini, grafice de foarte bun calitate, la viteze mari de pna la 600 ppm.
Denumirea de imprimante laser provine de la tehnologia utilizat: o raz laser polarizeaz
electrostatic un cilindru care va atrage cantiti variabile dintr-un praf de carbune, toner, care se fixa pe
suportul de hrtie. Utilizarea imprimantelor presupune instalarea unui driver specializat.
Plotter
Dispozitiv periferic permind realizarea de desene tehnice, hri de mare precizie pe suporturi
de tip hrtie, calc, film. Spre deosebire de imprimant-unde dispozitivul (capul) de imprimare
realizeaz o micare ntr-un singur sens, plotter- ul dispune de un bra mobil aparinnd modulului de
trasare ce poate reveni pe o zona n care s-a realizat anterior deja o parte a imaginii tiprite.
Difuzoare
Aplicaiile multimedia i lucrul cu interfaa MIDI impun difuzoare stereo, externe, de nalt
fiabilitate. Calitatea difuzoarelor se apreciaz n funcie de urmtorii parametri:
Rspunsul n frecven care reprezint amplitudinea gamei de sunete, de la cele mai joase la
cele mai nalte, pe care o poate reproduce difuzorul. Gama poate lua valori ntre 20Hz i 20 kHz.
Distorsiunea care msoar abaterea (diferena) dintre sunetul emis de difuzor i cel perceput
de om. Se consider c sub 0,1% reprezint un nivel de distorsiune acceptabil, n cazul ctilor acestea
putnd ajunge pn la 2%.
Puterea difuzoarelor msurat n wai.
Modem-ul
Poate fi ncorporat sau poate fi exterior PC-ului i are funcia de a converti semnalul digital furnizat de calculator - n semnal analog, transmis la distan prin intermediul liniilor telefonice.
Sintetizatoarele vocale
Reprezint un dispozitiv de ieire care "mimeaz" vorbirea uman pe care o "construiete" din
sunete prenregistrate. Principiul const n prelucrarea unui text care apoi este redat n cuvinte vorbite,
fiecrui caracter scris fiindu-i asociat un sunet.
62

CAPITOLUL 2. ARHITECTURA CALCULATOARELOR PERSONALE

2.5. INTERFEELE CALCULATORULUI


Interfaa reprezint un dispozitiv ce permite comunicarea ntre dou componente ale sistemului
de calcul, prezentnd caracteristici funcionale diferite (unitatea central i un periferic).
Interfaa are rolul de a face cele dou componente, ntre care se interpune, s se neleag
reciproc. Acest lucru presupune transmiterea datelor trimise de ctre unitatea central ctre periferic
ntr-o form acceptat de acesta, precum i gestionarea comenzilor transmise de UCP spre periferic i a
semnalelor transmise de periferic.
Conceptul de interfaa este generic, el corespunznd unor denumiri particulare, cum ar fi:
-adaptor video (plac video) pentru interfaa cu monitorul;
-cuplor ( controller) de disc pentru interfaa cu discul etc.
Deoarece echipamentele periferice, dup funcia lor, se pot grupa n echipamente de intrare i
echipamente de ieire, nseamn c i interfeele se pot clasifica utiliznd acelai criteriu n: -interfee
de intrare ce permit transferul datelor de la periferice ctre microprocesor. Este cazul interfeei pentru
tastatur i mouse;
-interfee de ieire ce permit transferul datelor dinspre microprocesor ctre periferic;
-este cazul interfeei pentru imprimant i, respectiv, monitor
O interfa este cuplat la unitatea central (UCD) printr-un punct numit port. Prin acest port
UCD face schimb de informaii cu exteriorul ei.
O interfa este cuplat la unitatea central (UCD) printr-un punct numit port. Prin acest port
UCD face schimb de informaii cu exteriorul ei.
Comunicaia asincron, mai lent, se caracterizeaz prin utilizarea unei linii de comunicaie pe
care datele se transmit bit cu bit. Primul bit de date este precedat de un bit de START, iar ultimul, de
unul sau doi bii de STOP. Comunicalia asincron impune deci existena unor mecanisme de
serializare/deserializare ale corectitudinii transmisiei. Interfaa asincron (serial) prezint tastatura,
mouse-ul, uneori, imprimanta.
Comunicaia sincron (paralel) de vitez mare utilizeaz mai multe linii fizice diferite (opt fire
pentru cei opt bii ai unui octet plus un fir pentru comenzi), pe care are loc transmisia n acelai timp,
ceea ce impune o sincronizare ntre semnalele emise. Interfeele paralele prezint n majoritatea
cazurilor imprimanta, sub tehnologiile menionate.
-interfee de intrare ce permit transferul datelor de la periferice ctre microprocesor. Este cazul
interfeei pentru tastatur i mouse;
-interfee de ieire ce permit transferul datelor dinspre microprocesor ctre periferic; este cazul
interfeei pentru imprimant i, respectiv, monitor.
O interfa este cuplat la unitatea central (UCD) printr-un punct numit port. Prin acest port
UCD face schimb de informaii cu exteriorul ei.
Comunicaia realizat prin intemlediul portului poate fi asincron sau sincron.

63

CAPITOLUL 3. PRINCIPIILE DE BAZ ALE SISTEMELOR DE OPERARE

CAPITOLUL 3
PRINCIPIILE DE BAZ ALE SISTEMELOR DE OPERARE
3.1. CONFIGURAIA SISTEMULUI DE CALCUL
Un sistem de operare este o colecie organizat de programe de control i serviciu, stocate
permanent ntr-o memorie principal sau auxiliar,specifice tipurilor de echipamente din
componena sistemului, avnd ca sarcin optimizarea utilizrii resurselor, minimizarea efortului
uman de programare i automatizarea operaiilor manuale n ct mai mare msur, n toate fazele de
pregtire i exploatare a componentelor sistemului de calcul.
Sistemul de operare ofer o interfa ntre programator i sistemul de calcul, concretizat ntrun interpretor al comenzilor utilizatorului exprimate cu ajutorul unui limbaj de comand.
Unul din conceptele cheie ale oricrui sistem de operare este procesorul. Un proces este de
fapt un program n execuie. El poate crea unul sau mai multe subprocese numite procese fiu, se
poate afla n anumite stri, se poate sincroniza cu alte procese, poate comunica cu alte procese etc.
Dintre conceptele implementate pentru creterea performanelor i mrirea eficienei utilizrii
resurselor sistemelor de calcul, un rol important l-a avut multiprogramarea. n sistemele cu
multiprogramare, la un moment dat, n memorie se afl ncrcate mai multe procese care
concureaz, pe baza unei scheme de prioriti, pentru accesul la anumite resurse ale sistemului.
Cnd o resurs este retras unui proces ea poate fi imediat alocat altui proces care o solicit.
Un alt mecanism este multitasking-ul. Acesta const n multiprogramarea a dou sau mai
multe procese avnd un obiect comun. Aceste procese pot comunica ntre ele i i pot sincroniza
activitile.
Interfaa dintre sistemul de operare i programele utilizatorului (numite i lucrri) este
asigurat de o colecie de instruciuni extinse ale sistemului de operare numite apeluri sistem.
Folosind apelurile sistem, un program utilizator poate crea, utiliza i terge diverse obiecte
gestionate de un sistem de operare.
Unele din cele mai importante obiecte gestionate de un sistem de operare sunt procesele i
fiierele.
Un fiier este un ir de caractere terminat printr-o marc de sfrit de fiier. El poate fi stocat
pe disc, n memorie.
Sistemul de operare ofer apeluri sistem pentru lucrul cu fiiere: creare, tergere, citire, scriere
etc. Fiierele pot fi grupate ntr-un catalog i pot fi caracterizate de anumite atribute (proprietar,
dimensiune, data ultimului acces n scriere, coduri de protecie etc).
Caracteristicile unui sistem de operare sunt:
1) modul de introducere a programelor n sistem;
2) modul de planificare a proceselor;
3) numrul de programe prezente simultan n memorie;
4) modul de utilizare a resurselor;
5) numrul de utilizatori ce pot folosi sistemul n acelai timp.
Dup modul de introducere a lucrrilor (programelor) n sistem, se disting
sisteme de operare seriale ce accept introducerea lucrrilor de la un singur
dispozitiv de intrare,
sisteme de operare paralele ce admit introducerea lucrrilor de la mai multe
dispozitive de intrare, precum i
sisteme de operare cu introducerea lucrrilor de la distan.
Dup modul de planificare a lucrrilor pentru execuie, exist
sisteme de operare orientate pe lucrri ce admit ca unitate de planificare lucrarea
alctuit din unul sau mai multe programe succesive ale aceluiai utilizator, precum i
sisteme de operare orientate pe proces care admit ca unitate de planificare procesul.
65

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Dup numrul de programe prezente simultan n memoria principal se evideniaz


sistemele cu monoprogramare i
sistemele cu multiprogramare.
Dup numrul de utilizatori acceptai simultan de sistemul de operare, exist
sisteme monoutilizator i
sisteme multiutilizator.
Dup modul de utilizare al resurselor se disting:
sisteme de operare cu resurse alocate, n care resursele necesare lucrrilor sunt
afectate acestora pe toat durata execuiei;
sisteme de operare n timp real care permit controlul executrii lucrrilor n interiorul
unui interval de timp specificat;
sisteme cu resurse partajate (divizate) n care resursele necesare lucrrilor sunt
afectate acestora periodic pe durata unor cuante de timp.
Un sistem de calcul (calculator) este o structur destinat prelucrrii informaiei. El este
alctuit din resurse fizice (procesoare, memorie central, dispozitive de intrare / ieire etc.), resurse
logice (sistem de operare, programe utilitare, aplicaii etc) i resurse informaionale (sistem de
operare, programe utilitare, aplicaii etc.) care coopereaz pentru satisfacerea cerinelor utilizatorilor
privind introducerea, memorarea (stocarea), prelucrarea, transmisia, (spre un alt sistem de calcul),
precum i regsirea informaiilor.
Resursele fizice constituie partea de echipament a sistemului de calcul numit i hardware,
iar totalitatea resurselor logice se numete software.

Fig 3.1. Sistemul de calcul


Sistemul hardware constituie nivelul inferior al sistemului de calcul, construit pe baza unor
componente electronice, magnetice, optice, mecanice, etc.
Al doilea nivel este o extensie a nivelului hardware, dar i un subnivel al sistemului software.
Acest nivel este numit firmware i cuprinde fie microprogramele, n cazul sistemelor de calcul ce
pot s simuleze alte sisteme de calcul, fie programele de control pentru diferite componente ale
sistemului de calcul. Nivelul urmtor este reprezentat de sistemul de operare i alte instrumente
pentru utilizarea funciilor oferite de straturile anterioare.
Firmware-ul este componenta de programe ncrcate n memoria fix ROM de ctre
productorul sistemului de calcul. Aceast component se afl la limita dintre hardware i software,
reprezentnd software-ul integrat n partea de hardware. Componenta firmware a unui sistem de
calcul, setul de instruciuni microprogramate ncrcate n memoria fix ROM, definete un anumit
mod de funcionare i implicit de utilizare a sistemului de calcul. Prin utilizarea unor memorii cu
citire-scriere nevolatile alturi de memoria ROM se obin componente cu microprogramare
dinamic.
Componenta ROM-BIOS (Basic Input Output System) a sistemelor de calcul compatibile
PC este o component firmware realizat prin microprogramare dinamic. Rolul componentei BIOS
este de interfa ntre hardware i software, oferind componentei software funcii de baz pentru
utilizarea hardware-ului. Fiind realizat prin microprogramare dinamic, componenta firmware
(BIOS) permite modificarea unor parametri de funcionare ai PC-ului ntr-o secven special
derulat n timpul procedurii de ncrcare a sistemului de operare la pornirea sistemului de calcul.
Procesorul efectueaz prelucrarea care are loc n sistemul de calcul prin executarea unui
program i dirijeaz activitatea celorlalte echipamente. Unitatea central de prelucrare
66

CAPITOLUL 3. PRINCIPIILE DE BAZ ALE SISTEMELOR DE OPERARE

(procesorul) este alctuit din una sau mai multe uniti aritmetico-logice, un set de registre
(memorie rapid) ce pstreaz temporar datele precum i o unitate de comand.
ntr-o form simplificat, structura unui calculator este format din:
- UC - unitatea de comanda sau microprocesor, care controleaz prin intermediul unor
dispozitive ntreaga activitate a calculatorului.
Dispozitivele de baz ale UC ar fi urmatoarele:
- DAL - dispozitiv aritmetico-logic i este definit ca fiind reuniunea unor componente
electronice care tiu s efectueze o operaie aritmetico-logic sau de alt natur.
- DC reprezint dispozitivul de comand numit i procesor, care decodific, interpretez
comenzile sau instruciunile furnizate calculatorului i d sarcini altor dispozitive.
- DM reprezint dispozitivul de memorare care conine asa numitele registre n care sunt
memorate informaii i rezultate relative la programul care se executa la un moment dat de
ctre calculator.

Fig 3.2. Componentele unui sistemul de calcul


Stocarea informaiilor n sistemul de calcul se realiteaz prin intermediul memoriei. n funcie
de locul ocupat, distingem memoria central (numit i memoria principal sau intern) i
memoria secundar (numit i auxiliar sau extern) n memoria central sunt pstrate
programele i datele utilizate de acestea n timpul execuiei lor ctre procesor. Memoria secundar
pstreaz cantiti mari de date i programe folosite frecvent i ncrcabile n memoria central.
n funcie de natura accesului la informaia ce o nmagazineaz, memoria central a unui
calculator poate fi cu acces numai n citire i respectiv cu acces n scriere i citire. Memoria de
tip citete numai (ROM) se mai numete memorie permanent, deoarece programele nscrise
n ea sunt fixate odat pentru totdeauna. n general n aceast memorie este depozitat firmware-ul.
Memoria ce permite acces de tip citire-scriere se mai numete memorie cu acces aleator (RAM).
Totalitatea echipamentelor unui sistem de calcul diferite de UC i memoria intern formeaz
mulimea echipamentelor periferice. Din aceast categorie fac parte unitile de memorie extern,
echipamentele de intrare, echipamentele de ieire i echipamentele de intrare / ieire.
Una dintre cele mai importante uniti de memorare extern este unitatea de disc. Discurile
care conin un singur platan se numesc discuri floppy, iar platanul propriu-zis se numete dischet
sau disc flexibil. Discurile coninnd mai multe platane se numesc discuri rigide (hard disc).
Principalele echipamentele de intrare / ieire sunt tastatura, mouse-ul, digitizorul, tableta
grafic, scanner-ul, creionul optic, joistick-ul, monitorul, imprimanta, ploterul etc.
Componentele software, reprezint un set de programe ce transform ansamblul
componentelor hardware n unelte utilizabile, care sunt grupate n sisteme de operare, compilatoare
i interpretoare, programe de aplicaii, programe de tip utilizator i programe proprii.
3.2. 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.
67

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

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.
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.3.3.).
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.

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


3.2.1. 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.3.4),
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
68

CAPITOLUL 3. PRINCIPIILE DE BAZ ALE SISTEMELOR DE OPERARE

acest deziderat se numete ncrctor. Dac aceast component lanseaz automat execuia
programului dup ncrcarea n memoria intern, ncrctorul este de tip Load and Go.

Fig. 3.4. Pregtirea execuiei programelor


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.
69

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

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 calculutilizator 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.
3.2.2. Componentele sistemului de operare
Sistemul de operare este interfaa intre hardware-ul calculatorului i utilizator; este alctuit
dintr-o colecie de programe care gestioneaz resursele calculatorului i i controleaz activitatea.
Componentele sistemului de operare sunt:
nucleul (kernel);
interfaa (shell).
Nucleul sistemului de operare conine programele care gestioneaz resursele calculatorului i
controleaz activitatea echipamentelor i a programelor. Primele funcii menionate mai sus, sunt
realizate de nucleu, respectiv:
gestiunea resurselor fizice ale calculatorului i a dispozitivelor periferice;
gestiunea operaiilor de intrare/ieire;
gestiunea datelor (fiierelor) pe suportul de memorie extern;
controlul ncrcrii n memoria intern, punerii n funciune i ncetrii activitii
pentru programele utilizator;
sesizarea evenimentelor deosebite care apar n timpul execuiei i tratarea acestor
evenimente (mesaje de erori i recomandri de rezolvare);
Interfaa sistemului de operare asigur comunicarea ntre utilizator i calculator. Prin
intermediul tastaturii sau al mouse-ului, utilizatorul transmite comenzi sau rspunsuri la solicitrile
calculatorului iar prin intermediul monitorului, transmite utilizatorului mesaje sau ntrebri.
Ultima funcie a sistemului de operare menionat mai sus este realizat de interfaa
sistemului de operare.
Interfeele pot fi realizate utiliznd:
limbaj de comand;
sistem de meniuri;
grafic cu ajutorul simbolurilor (pictogramelor).
Interfaa realizat printr-un limbaj de comand. n acest tip de interfa utilizatorul
transmite comenzile calculatorului sub forma unui ir de caractere care respect o anumit sintax.
Calculatorul permite utilizatorului s introduc o comand afind pe primele poziii ale liniei
curente de pe ecran un sir de caractere numit prompter. De regul prompterul este compus din
numele unitii curente de disc, urmat eventual de numele directorului curent i terminndu-se cu
caracterul > (ex: C:\LUCRU>).
De la tastatur (keyboard) utilizatorul introduce comanda care este pstrat n memoria
intern numit zona de editare a tastaturii. Se acioneaz tasta <Enter>, moment n care comanda
este transferat n zona de memorie intern unde se afl programul numit interpretor de comenzi.
Interpretorul analizeaz comanda, dac aceasta este corect, solicit procesorului s o execute
utiliznd resursele logice i fizice, n final se afieaz din nou prompterul. n cazul n care comanda
nu a fost corect editat, pe ecran se afieaz mesajul Bad command or file name.
Interfaa realizat printr-un sistem de meniuri. In acest tip de interfa utilizatorul transmite
comenzile calculatorului prin intermediul unui sistem de meniuri i opiuni de meniu sau poate
folosi combinaia de taste care apare n dreapta numelui opiunii cunoscut i sub numele de
scurttur (shortcut keys). Acest tip de interfa presupune existenta unui interpretor de comenzi
care s foloseasc un sistem de meniuri sau interpretorul de comenzi s foloseasc un program care
se suprapune peste interpretorul de comenzi.
70

CAPITOLUL 3. PRINCIPIILE DE BAZ ALE SISTEMELOR DE OPERARE

Pentru deschiderea meniurilor, declanarea unei comenzi se realizeaz prin folosirea tastaturii
(tehnica barei selectoare-dreptunghi evideniat pe ecran cu alt culoare sau tehnica literei de
identificare-litera de identificare subliniat) sau mouse-ul.
Interfaa realizat grafic cu ajutorul simbolurilor (pictogramelor). In acest tip de interfa
instruciunile se dau calculatorului prin intermediul unor simboluri care sugereaz conceptul, de
exemplu o component a calculatorului, aplicaie, parametru, etc. Aceste interfee folosesc metoda
de trage i plaseaz (drag and drop) prin care obiectele reprezentate prin pictograme pot fi copiate
sau mutate. Utilizatorul trebuie n acest tip de interfa s cunoasc pictograma care reprezint
aplicaia. Sisteme de operare cu interfaa realizata grafic sunt din familia Windows sau Linux.
ncrcarea sistemului de operare n memoria intern a calculatorului. La nceputul fiecrei
sesiuni de lucru trebuie ncrcat n memoria intern nucleul sistemului de operare (conine
programele necesare gestionrii resurselor calculatorului). Sistemul de operare se livreaz pe suport
magnetic sau optic, mpreun cu calculatorul. Suport conine un program de dimensiuni mici numit
ncrctor, situat la nceput de suport, i programele aferente nucleului sistemului de operare.
n memoria tip ROM exist un program numit prencrctor utilizat pentru iniializarea
lucrului cu calculatorul. La pornire, programul prencrctor iniializeaz echipamentele periferice,
identific configuraia calculatorului, caut sistemul de operare pe un suport magnetic, ncarc n
memoria intern programul ncrctor de la nceputul suportului i l lanseaz n execuie.
3.2.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 comandcontrol, 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.
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.
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.
3.2.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. 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. Editoarele de texte au ca activitate principal,
71

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

crearea i editarea de texte; mpreun cu hardware-ul, furnizeaz calea de urmat pentru vizualizarea,
memorarea, editarea i regsirea textelor create. Proiectanii editoarelor au prevzut pentru cele mai
frecvente funcii, un sistem de Help ce const n informaii minime afiate 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: procesorul 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
include caracterele ntlnite la majoritatea limbilor strine.
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.

Fig. 3.5. Etapele unui proces de compilare


(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.
72

CAPITOLUL 3. PRINCIPIILE DE BAZ ALE SISTEMELOR DE OPERARE

(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 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;
- 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.
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.
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.
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 conine Numele seciunii, Punctul de intrare,
Dicionarul de legtur i Codul obiect.
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 coninnd:
- numele segmentului;
- punctul de intrare n segment;
73

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

- 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 ncrcat n RAM pentru execuie.
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;
- alocarea de zone continue pentru segment;
- modificarea constantelor de adres relocabile;
- cutarea n biblioteca relocabil, a modulelor obiect catalogate;
- construirea structurii arborescente a programelor executabile.
Observaii: mediul de programare Pascal include editorul de legturi n compilator, iar sub
sistemul de operare UNIX editarea legturilor se realizeaz implicit.
3.2.5

Alte programe de servicii

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.
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 de memorie extern: pkzip/pkunzip, arj, rar,
stacker;
- antivirus: scan, clean, tbav, fprot, avx, rav;
- alte comenzi
74

CAPITOLUL 3. PRINCIPIILE DE BAZ ALE SISTEMELOR DE OPERARE

3.2.6. Sisteme de operare la calculatoare personale


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;
III. sistemul de gestiune al bazelor de date;
IV. programe de comunicaie
Un sistem de operare, n forma cea mai simpl, apare ca o colecie de proceduri cu funcii
precise i cu o interfa bine precizat ntre acestea.
Serviciile furnizate de sistemul de operare, sunt solicitate prin
ncrcarea anumitor registre cu informaia necesar sau depunerea acestei informaii n
stiv i apoi
provocarea unei ntreruperi cunoscut sub numele de apel provizoriu sau apel nucleu.
Acest apel determin trecerea sistemului de calcul din modul utilizator n modul nucleu i
transfer controlul sistemului de operare.
Sistemul de operare analizeaz parametrii apelului pentru a-l identifica, iar apoi apeleaz
procedura de serviciu necesar.
Aceast descriere sugereaz scheletul unui sistem de operare, un program ce invoc o
procedur de serviciu, o bibliotec de proceduri ce corespund apelurilor sistem, o bibliotec de
proceduri utilitare pentru procedurile de serviciu.
O alt posibilitate este de a privi sistemul de operare structurat pe nivele.
Un sistem de operare cu 6 nivele poate cuprinde (din interior spre exterior):
alocarea procesorului i multiprogramarea,
gestiunea memoriei, comunicaia operator sistem,
gestiunea echipamentelor de intrare / ieire,
programele utilizator i operatorul.
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; software-ul special denumit DOS SHELL a
fcut din sistemul de operare MS-DOS un sistem uor de utilizat, cu meniu disponibil pentru
75

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

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-uri 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 generaia de sisteme de operare
constituit din Mac OS 8 i Rhapsody. Mac OS 10.5 sau OS X Leopard (denumire comercial), a
cincea generaie a sistemului de operare OS X, a pregtit 300 de noi faciliti. Una dintre cele mai
ateptate deopotriv de ctre utilizatorii tradiionali de Mac ct de ctre cei ai Windows - dar fani ai
elegantelor produse Apple - se numete Boot Camp. Aceasta permite instalarea Windows XP sau
Vista pe un computer Macintosh cu procesor Intel, alturi de sistemul de operare OS X Leopard.
4) Interfeele grafice WINDOWS sunt orientate pe ferestre; utilizatorul poate lansa
concomitant mai multe aplicaii, fiecare n fereastra ei, precum i efectuarea schimbului de
informaii ntre 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. Are posibilitatea
implementrii att pe platforme Intel i pe platforme bazate pe microprocesoare RISC.
Windows 95 (Chicago) 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 (Memphis)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.
Windows 2000 este un sistem de operare de reea, proiectat pentru organizaii de orice
dimensiune, ofer siguran sporit i costuri mai reduse pentru aplicaii i servicii derulate prin
Internet. Windows 95/98 i NT sunt combinate n Windows 2000, pentru aplicaii profesionale,
multimedia, jocuri, cu o mare amprent asupra securitii datelor. Windows este considerat
ncepnd cu versiunea 98, ca un sistem de operare destul de stabil.
Windows Millennium Edition (Windows Me) extinde Windows 98 Second Edition cu
elemente preluate din Windows 2000, pentru mediul pe 32 bii, pentru segmentului home-user.
Windows XP este generaia celui mai rspndit sistem de operare din lume, bazat pe
tehnologia NT pentru staiile de lucru. Windows XP Professional integreaz punctele forte ale
versiunii Windows 2000 - securitatea crescut, administrabilitatea i fiabilitatea cu cele mai bune
caracteristici de business ale Windows 98 i Windows Me - Plug and Play, interfaa cu utilizatorul
uor de folosit i serviciile inovative de suport. Windows XP Home Edition cu noul nucleu
Windows, ofer fiabilitate i stabilitate calculatorelor de acas.
Windows 2003 este un sistem de operare destinat serverelor i este bazat pe tehnologia
Microsoft.NET. Windows Server 2003 R2 aduce:
management simplificat al serverelor din sucursale;
costuri reduse pentru managementul spaiului de stocare;
platform Web bogat;
virtualizarea serverelor la costuri reduse;
management mbuntit al identitii i al accesului.
76

CAPITOLUL 3. PRINCIPIILE DE BAZ ALE SISTEMELOR DE OPERARE

Windows Vista este ultima versiune a sistemului de operare Microsoft Windows, proiectat
sub numele de cod Longhorn. Windows Vista are sute de noi proprieti i capaciti, cum ar fi o
modern interfa grafic i un stil vizual nou numit Aero, tehnologia de cutare mbuntit, noi
unelte multimedia, precum i sub-sistemele complet remodelate de reea, audio, imprimare i afiare
(display). Windows Vista este comercializat n 35 de versiuni lingvistice, ntre care i una n limba
romn. Noi n Windows Vista sunt i dou structuri pentru tastatur, Romn (Legacy) i Romn
(Programatori), care conin caracterele i cu virgul n loc de vechiul standard Windows cu
sedil ( i ).
Windows Server 2008 este noua versiune a sistemului de operare destinat lumii
profesionale disponibil n patru varinate (fara a contoriza dualitatea 32 / 64 bits). Windows Server
2008 poate fi uor transformat ntr-un sistem de operare pentru desktop, vine default cu Powershell,
o soluie de virtualizare integrat, mai puine guri de securitate datorit SP1.
Windows Server 2008 este cel mai avansat sistem de operare Windows Server de pn
acum, conceput sa stea la baza urmatoarei generatii de retele, aplicatii si servicii web. Ca urmare a
alegerilor tehnologice facute in perspectiva anilor urmatori, arhitectura SeniorERP este configurata
pentru a oferi avantaje pe termen lung:
Server de aplicatie SeniorERP hostat in IIS 7.0 + Windows Process Activation Service
(WAS) si .Net 3.0
Server baze de date: SQL Server 2005
Client Windows: smart client, .Net 3.0, cu actualizare automata prin ClickOnce
Client mobile: smart client .NET CF 2.0
Portal E-Commerce integrat cu SeniorERP, realizat utilizand ASP.NET 2.0
Platforma de colaborare + publicare BI: Sharepoint 3.0
Platforma de comunicare SeniorERP bazata integral pe Windows Communication
Foundation (WCF)
ntre restul atuurilor aduse de Windows Server 2008 se numara si Internet Information
Services 7.0, Terminal Services RemoteApp, noi protocoale TCP/IP si Read-Only Domain
Controller.
5) OS/2 (Operating System / 2) a fost introdus n 1988 de IBM i Microsoft, dorind 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 MB. 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;
programele livrate cu Warp au aspecte grafice i de operare similare (pachetul Bonus
Pak)
OS/2 Warp faciliteaz conectarea la Internet (CIM)
77

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

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.
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;
Interpretor de comenzi i un limbaj adecvat, cunoscut sub denumirea de Shell;
Folosete un limbaj structurat, 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.
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.
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. 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. 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. Fiierele de sistem virtuale (Virtual File System
-VFS) abstractizeaz operaii legate de fiiere i fiecare sistem de fiiere are propria implementare.
Pentru a face ca Linux-ul s fie acceptat la scar larg, el suport un numr de sisteme de fiiere
78

CAPITOLUL 3. PRINCIPIILE DE BAZ ALE SISTEMELOR DE OPERARE

inclusiv cele compatibile cu DOS i OS/2. Sistemul iniial de fiiere propriu al Linux-ului numit
ext2fs 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, 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.
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).
3.3. TEHNICI DE GESTIUNE A LUCRRILOR LA SISTEMELE DE CALCUL
Unul dintre obiectivele utilizrii eficiente a sistemelor de calcul este acela de a executa un
volum ct mai mare de lucrri, cu o configuraie minim (termenul de lucrare desemneaz
activitile declanate de solicitarea unor prelucrri cu ajutorul sistemelor de calcul).
n acest scop se analizeaz componenta hardware (din punct de vedere al costului, ca msur
a utilizrii eficiente a volumului de lucrri ce trece prin system ntr-o perioad dat de timp) i
software (un program este bun dac rspunde cerinelor informaionale pentru care a fost realizat,
utilizeaz un spaiu minim de memorie intern i un timp de execuie ct mai redus).
Rolul principal al sistemului de operare este s mbunteasc eficiena utilizrii resurselor
sistemului de calcul. Componentele sistemului de operare, sunt astfel proiectate nct s utilizeze
ct mai eficient fiecare resurs a sistemului de calcul: timpul unitii centrale de prelucrare, spaiul
de memorie intern i extern, registre, dispozitive periferice de intrare/ieire i altele.
Pentru aprecierea performanelor unui sistem de calcul se pot utiliza o serie de indicatori:
- volumul de lucrri intrate n sistem;
- timpul petrecut n sistem;
- timpul de rspuns ca diferen ntre momentul servirii cererii i emiterea ei;
- accesibilitatea sistemului;
- fiabilitatea sistemului;
- costul serviciilor prestate.
Unii indicatori sunt n conflict, astfel c o cretere a performanelor unui indicator se
realizeaz pe seama scderii performanelor altui (altor) indicator(i); exemplu: creterea volumului
de lucrri din sistem implic o cretere a timpului petrecut n sistem de ctre fiecare lucrare i
implicit la creterea timpului de rspuns; verificrile de securitate mresc timpul de prelucrare.
3.3.1. Obiectivele urmrite n gestiunea lucrrilor
Una dintre funciile majore ale unui sistem de operare este de a optimiza utilizarea tuturor
resurselor unui sistem de calcul: timp unitate central de prelucrare, spaiu de memorie intern,
canale, registre, dispozitive periferice de intrere/ieire, biblioteci, programatori, utilizatori, rezultate
ale prelucrrii.
Cu o planificare foarte riguroas este posibil apropierea de ncrcarea maxim a unitii
centrale de prelucrare i a procesoarelor de intrare/ieire (canale). Chiar i n acest caz ns, sunt
79

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

meninute neocupate alte resurse ale sistemului de calcul: memoria intern, memoria extern,
dispozitivele periferice de intrare/ieire.
La stabilirea unei modaliti de planificare a lucrrilor trebuie cunoscute foarte precis
obiectivele, uneori subiective i contradictorii, de realizare simultan a urmtoarelor activiti:
execuia unui volum ct mai mare de lucrri n unitatea de timp, dac se ruleaz lucrri cu timp
redus de execuie, reducerea timpilor de ateptare ai unitii centrale de prelucrare, dac se execut
lucrri cu volum mare de calcule i numr redus de operaii de intrare/ieire, ncrcarea
dispozitivelor periferice la capacitate maxim, cnd se execut lucrri cu volum mare de operaii de
intrare/ieire i volum redus de calcule. Se observ c unele obiective se exclud prin natura lor.
Se poate aprecia n general, c pentru stabilirea unei strategii de planificare a execuiei unor
lucrri n condiiile impuse de limitrile hardware, se vor urmri obiectivele:
- maximizarea ratei de ieire a lucrrilor;
- minimizarea timpului mediu de rspuns;
- servirea unui numr ct mai mare de utilizatori, ntr-un timp acceptabil;
- reducerea costurilor pentru serviciile prestate;
- posibilitatea execuiei unor lucrri cu prioritate (printr-un cost mai ridicat);
- ncrcarea echilibrat a unitii centrale de prelucrare i a sistemului de intrare/ieire;
- folosirea cu un randament ridicat a spaiului de memorie intern i extern;
- distribuirea prelucrrii unui program, prin mprirea acestuia n sarcini mai mici (taskuri) ce
se pot executa n paralel (multitasking);
- integrarea unui numr ct mai mare de utilizatori (clieni) la procesorul central (server).
3.3.2. Monoprogramarea
Monoprogramarea este o tehnic de gestiune a lucrrilor ce presupune execuia secvenial a
lucrrilor solicitate a se prelucra pe un sistem de calcul.
Caracteristicile acestei tehnici se concretizeaz n urmtoarele aspecte:
- planificarea lucrrilor se realizeaz strict secvenial ntr-o ordine prestabilit;
- fiecare lucrare are la dispoziie toate resursele sistemului de calcul n momentul execuiei;
- fiecrei lucrri i se asociaz un singur proces la un moment dat, astfel c pe durata
operaiilor de intrare/ieire (care dureaz mult comparativ cu durata de execuie a unitii centrale
de prelucrare), unitatea central de prelucrare ateapt terminarea acestor operaii, conducnd la
creterea duratei de execuie a lucrrilor.
Obiectivul urmrit n cadrul acestei tehnici l constituie reducerea timpului mediu petrecut de
lucrare n sistem.
Execuia lucrrilor n monoprogramare
Un program solicit pe parcursul execuiei operaii de intrare/ieire; operaiile sunt
supervizate de ctre un procesor de comunicaii numit canal, care transfer coninutul ntre
memoria intern i dispozitivele periferice de intrare/ieire.
Dac unitatea central de prelucrare ntlnete o instruciune de citire, atunci iniiaz execuia
unui proces de intrare ctre procesorul de comunicaie, continund-i activitatea de prelucrare fr a
se interfera cu activitatea canalului. Procesele de intrare/ieire fiind mai lente, unitatea central de
prelucrare va atepta transferal datelor solicitate n vederea prelucrrii lor ulterioare; dac procesul
de intrare s-a ncheiat, unitatea central de prelucrare va fi sesizat de canal printr-o ntrerupere.
Sincronizarea activitilor dintre unitatea central de prelucrare i procesorul de comunicaie
este redat n fig. 3.6.
Pentru aprecierea eficienei utilizrii acestor procesoare ( CPU, DMAC), se calculeaz
randamentul de utilizare (n % ):
(3.1.)
(3.2.)
80

CAPITOLUL 3. PRINCIPIILE DE BAZ ALE SISTEMELOR DE OPERARE

Dei prezena canalului amelioreaz productivitatea sistemului datorit simultaneitii


activitii acestuia cu activitatea CPU (parial sau total), exist intervale de timp impuse de
necesitatea sincronizrii activitilor n care CPU este n starea de ateptare.

Fig. 3.6. Sincronizarea activitilor dintre unitatea central de prelucrare ( CPU ) i procesorul
de comunicaie ( DMAC ) n monoprogramare
t1 - momentul iniierii de ctre CPU a unei operaii de intrare;
t2 - momentul n care CPU are nevoie de datele solicitate de la dispozitivul periferic de
intrare, pe care nu le are deoarece nu s-a terminat operaia de citire;
t3 - se termin operaia de citire i se reia execuia programului de ctre CPU cu datele
solicitate;
t4 - momentul ncheierii execuiei programului.
3.3.3. Multiprogramarea
Timpul de inactivitate al CPU impus de perioadele de ateptare poate fi redus substanial dac
n memoria intern ar putea coexista simultan mai multe programe ce pot solicita CPU atunci cnd
aceasta ateapt terminarea unei operaii de intrare/ieire pentru lucrarea curent n execuie.
Multiprogramarea este o tehnic de gestiune a lucrrilor pe sistemele de calcul prin care
sunt plasate mai multe lucrri simultan n memoria intern iar CPU comut ntre ele; din punct de
vedere conceptual, multiprogramarea implic simultaneitatea a "n" procesoare pe un singur
procesor sau existena a "n" procesoare virtuale n cadrul unui singur procesor.
Caracteristicile de baz ale acestei tehnici const n:
- existena simultan a mai multor lucrri n memoria intern;
- existen unui mecanism de trecere de la un program la altul astfel ca randamentul
sistemului s fie ridicat;
- existena unui mecanism de protecie ntre lucrri care s permit execuia fiecreia, fr
afectarea celorlalte lucrri existente n memoria intern;
- existena unui mecanism pentru gestiunea resurselor fizice i logice solicitate de ctre
lucrrile n execuie (echipamente periferice, informaii, etc.).
Obiectivul urmrit n multiprogramare l constituie maximizarea volumului de lucrri care
trec prin sistem i minimizarea timpului petrecut de o lucrare n sistem.
Multiprogramarea se poate aprecia ca o dezvoltare a sistemului de operare, iar folosirea
partajat a CPU de ctre lucrri, ca o execuie concurent (n realitate, partajarea este realizat pe
intervale distincte).
Planificarea execuiei lucrrilor
Sistemele de calcul ce utilizeaz tehnica multiprogramrii sunt prevzute cu o component a
sistemului de operare numit monitor de planificare a lucrrilor, care alege dintr-un grup de
programe n ordinea sosirilor, pe acelea potrivit crora timpul neocupat al CPU s fie minim; exist
o limit pentru numrul de lucrri ce pot fi executate simultan funcie de memoria afectat
utilizatorilor.
Procesul de planificare are dou funcii distincte:
- asigurarea prioritii;
- alocarea resurselor care utilizeaz prioritatea.
Algoritmii de planificare presupun c lucrrile sunt ordonate pe baz de prioritate, sub forma
firelor de ateptare. Alegerea unui anumit algoritm se va face dup obiectivele urmrite;
Dintre algoritmii frecvent utilizai n multiprogramare se menioneaz:
81

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

STF (Shortest proccessing Time First) - lucrarea cu cel mai scurt timp de prelucrare este prima
executat, urmrete minimizarea timpului de trecere prin sistem a lucrrilor ce dureaz puin;
LTF (Longest proccessing Time First) - lucrarea cu cel mai lung timp de prelucrare este
prima executat, urmrete reducerea timpului total de execuie a lucrrilor;
SMF (Smallest Memory requirment First) - lucrarea ce necesit cel mai mic spaiu de
memorie este prima executat;
LMF (Largest Memory requirment First) - lucrarea ce necesit cel mai mare spaiu de
memorie este prima executat;
FIFO (First Input First Output) - lucrrile sunt executate n ordinea lansrii n execuie;
LIFO (Last Input First Output) - lucrrile sunt executate n ordinea invers lansrii n
execuie;
Round-Robin sau planificarea circular, fiecare lucrare avnd alocat o cuant de timp
(interval de 1-10 ms), dup care controlul este comutat la urmtoarea lucrare.
Sincronizarea activitii CPU cu activitatea procesorului de comunicaie
Sincronizarea activitii CPU cu activitatea procesorului de comunicaie este redat n fig. 3.7.
presupunnd existena a trei programe ncrcate n memoria intern (P1,P2,P3) la un moment dat,
ce sunt executate de CPU conform algoritmului Round-Robin.

Fig. 3.7. Sincronizarea activitilor dintre CPU i procesorul de comunicaie n


multiprogramare
(3.3.)
(3.4.)
t1 - momentul iniierii unei operaii de intrare/ieire de ctre CPU pentru P1;
t2 - momentul cnd P1 are nevoie de transferul datelor solicitate la t1 care nu sunt disponibile
deoarece nu s-a terminat operaia de intrare/ieire, comutnd astfel la execuia programului
urmtor P2;
t3 - terminarea operaiei de intrare/ieire pentru P1 (CPU este ocupat cu P2);
t4 - iniierea operaiei de intrare/ieire pentru P2; canalul fiind liber, trece la execuia
solicitat;
t5 - momentul cnd P2 necesit datele solicitate; operaia de intrare/ieire nu s-a ncheiat, deci
CPU comut la P3;
t6 - iniierea unei operaii de intrare/ieire de ctre P3; canalul este ocupat, trece operaia n
ateptare;
t7 - se termin operaia de intrare/ieire iniiat de P2 i poate fi lansat operaia de
intrare/ieire iniiat de P3 (t8);
82

CAPITOLUL 3. PRINCIPIILE DE BAZ ALE SISTEMELOR DE OPERARE

t9 - momentul cnd CPU devine liber de la P3 i avnd datele solicitate de P1 nc de la


momentul
t3, reia execuia P1;
t10 - se ncheie execuia P1 i CPU comut la P2;
t11 - se ncheie execuia P2 i CPU ateapt deoarece nu s-a ncheiat operaia de intrare/ieire
iniiat de P3;
t12 - se ncheie operaia de intrare/ieire i se red controlul CPU pentru P3;
t13 - sfrit P3.
3.3.4. Sistemul spooling (Simultaneous Peripheral Operations On Line)
Activitatea de suprapunere a operaiilor de intrare, prelucrare i ieire prin intermediul tehnicii
spooling, are ca principal obiectiv mbuntirea randamentului sistemului de calcul i lrgirea
gamei de faciliti oferite utilizatorilor.
Tehnica dispune de urmtoarele caracteristici:
- disponibilitatea unei memorii externe de capacitate mare i cu acces direct (discuri
magnetice), care asociat cu tehnica multiprogramrii permite manipularea unor succesiuni
continue de operaii de intrare, ieire i alte prelucrri, ameliornd astfel diferena dintre
timpul de execuie al operaiilor de intrare/ieire i timpul de execuie al operaiilor de ctre
CPU;
- asigurarea unei ncrcri la ntreaga capacitate a dispozitivelor periferice de intrare/ieire;
- esenialul acestei tehnici const n organizarea de zone tampon de memorie (buffere) n care
se creeaz dispozitive periferice de intrare/ieire virtuale ce permit:
introducerea de lucrri nainte ca acestea s fie executate;
redarea rezultatelor la imprimante n timpul execuiei altor lucrri;
planificarea execuiei lucrrilor n ordinea prioritilor fr a ine seama de disciplina
de introducere a acestora n sistem;
schimbarea ordinii de execuie a lucrrilor prin prioriti asociate.
Organizarea unui sistem spooling este redat n fig. 3.8.
P1, P2 se introduc de la tastatur; P3, P4 ateapt ncrcarea n memoria intern; P5, P6, P7,
P8 sunt active n memoria intern; P9, P10 sunt executate i ateapt tiprirea; P11, P12 se tipresc.

Fig. 3.8. Organizarea unui sistem spooling


3.3.5. Sisteme TIME SHARING (Sisteme cu timp divizat)
Tehnica de gestiune a lucrrilor time-sharing este caracterizat de utilizarea concurent a
resurselor unui sistem de calcul de ctre "n" utilizatori prin intermediul staiilor de lucru (work
83

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

stations) plasate local sau la distan; elementele globale ce definesc aceste sisteme sunt tehnica
divizrii timpului i multiplexarea resurselor ntre mai muli utilizatori independeni; termenul de
multiplexare semnific partajarea resurselor sistemului astfel nct se creeaz mai multe procese,
fiecare utilizator avnd senzaia c sistemul i aparine integral (practic, se comut sau se
multiplexeaz n timp, de la un utilizator la altul).
n time-sharing CPU este partajat pe baz de cerere, planificarea execuiei urmrind
obinerea unui timp de rspuns minim; lucrrile nu au prioriti prestabilite, astfel c acestea trebuie
s fie executate ntr-o manier dinamic. Multiplexarea resurselor ntre procese necesit existena
unei componente a programelor de comand-control capabil s trateze o larg gam de ntreruperi.
Utilizatorii sunt aleatori, se schimb n orice moment, lucreaz programe diferite, se
conecteaz/deconecteaz la/din sistem independent unii de alii utiliznd perioade de timp diferite
pentru execuia lucrrilor.
Trsturile eseniale ale acestei tehnici constau n:
- protecia memoriei, prin care programele utilizatorilor trebuie s fie protejate ntre ele pentru
a nu permite accesul neautorizat, fiecare program fiind limitat la spaiul su de memorie;
- independena utilizatorilor, prin care se stabilete o cuant de timp pentru fiecare utilizator;
dac programul nu s-a terminat n acest interval de timp, este returnat n memoria extern i
plasat la sfritul firului de ateptare, ncrcndu-se alt program n memoria intern, .a.m.d.
- alocarea resurselor pentru programele utilizatorilor este efectuat de monitorul rezident n
memoria intern (monitor de time-sharing): spaiu de memorie intern, timp CPU, tratarea
cererilor de ntrerupere de la terminale, etc.;
- alocarea memoriei interne se realizeaz printr-o tehnic de alocare i control a micrii
paginilor ntre memoria intern i cea extern.
Caracteristici hardware solicitate implic:
- memorie intern de capacitate mare i CPU rapid pentru asigurarea unui timp minim de
rspuns (volum mic de migrri ntre memoria intern i cea extern, respectiv comutarea
rapid ntre programe);
- ceas de timp real care s genereze ntreruperi pentru comutarea CPU de la un program la
altul;
- memorie extern cu acces direct n care o soluie ar fi cuplarea n paralel a memoriei externe
la CPU i terminale, ceea ce implic transferul ntre memoria extern i terminale
independent de activitatea CPU;
- sistem de comunicaie transferul informaiilor ntre CPU i terminale, linii de comunicaii,
modemuri, concentratoare i multiplexoare;
- terminale i CPU adecvate.
Caracteristici software
Caracteristicile software sunt realizate n principal de monitorul de time-sharing care
gestioneaz resursele ntregului sistem:
- alocarea i comutarea CPU dup timpul alocat pe baza unui algoritm de planificare a
execuiei stabilit astfel nct s se asigure:
- reducerea timpului de rspuns;
- minimizarea timpului necesar comutrii ntre procese;
- posibilitatea lansrii n execuie a oricrui proces care ateapt, lansare ce se execut n
funcie de prioriti;
- ncrcarea echilibrat a sistemului;
- stabilirea locului fiecrui program n firul de ateptare, n funcie de prioritate;
- alocarea spaiului de memorie intern: zona de memorie i adresa unde se ncarc fiecare
program;
- tratarea ntreruperilor prin analiza motivului ntreruperii care va determin aciunea ce se
ntreprinde n continuare;
- gestiunea fiierelor prin care se determin locul unde sunt memorate coleciile de date,
regsirea lor rapid, parola de protecie .a..
84

CAPITOLUL 3. PRINCIPIILE DE BAZ ALE SISTEMELOR DE OPERARE

Modul de lucru al unui sistem time-sharing este redat n fig. 3.9.

Fig. 3.9. Modul de lucru al unui sistem time-sharing


3.3.6. Multiprelucrarea
Dac mai multe programe se gsesc n acelai timp n memoria intern i partajeaz resursele
sistemului de calcul atunci sistemul utilizeaz tehnica multiprogramrii; dac n multiprogramare se
folosesc mai multe procesoare, atunci sistemul utilizeaz tehnica de gestiune denumit n
multiprelucrare. Se poate aprecia c multiprogramarea este un concept software, iar
multiprelucrarea un concept hardware.
Un sistem de calcul utilizeaz tehnica multiprelucrrii dac cel puin dou CPU lucreaz n
paralel; unitile centrale de prelucrare pot executa instruciunile unui singur program sau pot
executa instruciuni din programe diferite.
Oportunitatea multiprelucrrii const n :
- ncrcarea partajat a programelor pentru execuie, fiecare procesor avnd acces la firul de
ateptare alctuit din lucrrile solicitate a se executa;
- separarea diverselor funcii ale sistemului - program responsabil pentru fiecare funcie;
- creterea fiabilitii sistemului, pentru care exist dou posibiliti:
- duplexarea sistemelor, prin care una sau mai multe componente hardware sunt dublate, una
fiind n activitate iar cealalt va fi activat la apariia unui defect al primei componente; pe
durata funcionrii corecte a procesorului principal, procesorul secundar poate fi folosit
pentru alte peraii;
- sisteme duale, sunt sistemele n care dou procesoare centrale prelucreaz simultan acelai
program de aplicaie, periodic verificndu-se reciproc privind validarea rezultatelor.
Sisteme master/slave
Unul din obiectivele multiprelucrrii este de a degreva o CPU, de sarcini specifice ca: tabelri
de date, editri de texte, gesiunea coleciilor de date (fiiere, baze de date); pentru a realize acest
deziderat, la o CPU - denumit slave, este cuplat o CPU care este destinat coordonrii activitilor
din sistem - denumit master.
Master-ul poate s coordoneze toate operaiile de intrare/ieire n timp ce slave-ul execut
operaii complexe; masterul este referit ca "front-end processor" avnd rol de interfa ntre slave i
dispozitivele periferice de intrare/ieire. Dar masterul se poate utiliza i ca interfa ntre slave i
colecii voluminoase de date existente n memoria extern, situaie n care este referit ca "back-end
processor" fiind responsabil de gestiunea coleciei de date.
Planificarea execuiei lucrrilor
n funcie de gradul de planificare al lucrrilor i al sistemului de comunicaie, se disting
urmtoarele clase de sisteme:
85

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

1) sisteme cu CPU identice care sunt determinate de modul n care CPU partajeaz memoria:
memorie unic pentru CPU cuplate n care mai multe CPU partajeaz o memorie;
memorie proprie pentru fiecare CPU din sistem.
Legturile dintre memoria intern i CPU se pot realiza n urmtoarele variante:
- legtur matriceal (cross bar) prin intermediul unui sistem de comunicaie, cererile
neservite fiind plasate ntr-un fir de ateptare gestionat prin hardware sau software;
- legtur prin canale multiple - procesoarele partajeaz o cale unica pentru fiecare memorie;
- legtur printr-un singur canal folosit partajat - interfaa dintre toate CPU i memoria
intern .
2) sisteme cu CPU diferite care presupun existena unui numr de CPU periferice care
lucreaz n paralel cu CPU principal; pot fi organizate sub form de:
- arie de procesoare (processor array) care implic divizarea unui program n activiti
independente ce se pot executa simultan pe CPU existente n configuraie;
- conduct (pipe) ceea ce permite operarea direct asupra unui ir de vectori (pipeline)
elementele irului fiind reprezentate de CPU;
- puternic conectate, caracterizate de o cretere a volumului de lucrri executate datorit
controlului direct exercitat de CPU din configuraie asupra resurselor;
- slab conectate, care pot partaja: sistemul de comunicaie, volumele de memorie cu acces
direct, programele de servici prin care componenta software dintr-un sistem comunic cu
componenta software din alt sistem, pentru cereri de partajare a resurselor; nu exist un control
asupra resurselor unui procesor exercitat de alt procesor.
Planificarea execuiei lucrrilor n multiprelucrare depinde de modul de conectare al
sistemelor, existnd urmtoarele variante:
1) planificarea n cazul sistemelor diferite se poate realiza:
- manual, fr nici o planificare, doar cu comutarea de la un procesor la altul;
- prin urmrirea ncrcrii echilibrate a sistemelor, dac sunt slab conectate i au CPU proprie;
2) planificarea n cadrul sistemelor master/slave n care toate resursele sunt disponibile tuturor
CPU; n acest caz, memoria intern i dispozitivele periferice de intrare/ieire sunt alocate la
procese nu la CPU, iar CPU sunt asigurate s execute procesele de ctre modulul de planificare a
execuiei proceselor (sisteme puternic conectate). n cazul tehnicii de planificare master/slave, o
CPU master reine starea tuturor proceselor din sistem i planific activitatea tuturor CPU slave.
3) planificarea n cazul sistemelor omogene. n aceast situaie, CPU sunt tratate ca CPU
slave, avnd loc o planificare descentralizat; se creaz o list n memoria intern ce conine numele
proceselor i starea lor, fiind permis oricrei CPU s acceseze aceast list.
3.4. GESTIUNEA RESURSELOR UNUI SISTEM DE CALCUL
Componenta hardware a sistemelor de calcul necesit existena unui sistem de operare care s
poat gestiona resursele hardware, concomitent cu asistarea utilizatorului pe timpul pregtirii i
lansrii n execuie a lucrrilor sale. Programele de comand-control ale sistemului de operare sunt
constituite din programe care coordoneaz i controleaz resursele hardware (memoria, CPU,
canalele, dispozitivele periferice) i informaiile (programe, date), ndeplinind astfel rolul sistemului
de operare de a asigura utilizarea eficient a resurselor i de a rezolva conflictele aprute n
competiia dintre utilizatori.
Pentru gestionarea resurselor programele de comand-control ale sistemului de operare
trebuie s realizeze urmtoarele activiti:
- evidenierea fiecrei resurse;
- adoptarea unei strategii pentru determinarea n orice moment crui proces s-i aloce resursa,
ct din resurs, la ce moment de timp i cuanta de timp alocat;
- s aloce resursele, iar la terminarea activitii s le dezaloce.
n acest scop, programele de comand-control ale sistemului de operare au fost grupate n 4
categorii, corespunztor funciilor ndeplinite:
86

CAPITOLUL 3. PRINCIPIILE DE BAZ ALE SISTEMELOR DE OPERARE

1) funcia de gestiune a memoriei care const n:


- evidena acestei resurse: ct memorie este alocat i pentru care programe;
- ce proces primete memorie, la ce moment i n ce cantitate - n cazul multiprogramrii;
- aloc pri din memorie i asigur metode de acces i protecie pentru procesele solicitante;
- dezaloc zonele de memorie alocate.
2) funcia de gestiune a procesorului (CPU) se refer la:
- evidena procesoarelor i strilor acestora ("traffic controller");
- decide cine poate s utilizeze procesorul ("proccesor scheduler"), la ce moment de timp i
pentru ct timp;
- aloc procesorul la un proces prin pregtirea i ncrcarea unor registre hardware;
- retrage alocarea cnd procesul renun la utilizarea procesorului, s-a terminat sau a depit
cuanta de timp alocat.
3) gestiunea dispozitivelor periferice realizeaz urmtoarele activiti:
- evidena dispozitivelor, a unitilor de control i a canalelor ("I/O Traffic Controller");
- decide metoda cea mai eficient de alocare a dispozitivelor periferice; dac are loc o
utilizare simultan, decide cine folosete resursa i ct timp ("schedulering I/O");
- alocarea dispozitivelor periferice i iniiaz operaia de intrare/ieire;
- dezalocarea dispozitivelor periferice la terminarea execuiei operaiilor de intrare/ieire.
4) gestiunea informaiei care se materializeaz n:
- evidenierea resursei (informaia), localizarea ei, utilizarea, starea, etc. (File System);
- decide cine utilizeaz informaia, impune protecia cerut i ofer rutine de acces necesare;
- aloc resursele prin deschiderea fiierului (OPEN);
- dezaloc resursele prin nchiderea fiierului (CLOSE).
3.4.1. Gestiunea proceselor i procesoarelor
Utilizarea partajat a resurselor unui sistem de calcul este determinat de insuficiena la un
moment dat a resurselor necesare execuiei simultane a proceselor create de utilizatori.
Gestiunea procesoarelor are ca scop asigurarea procesoarelor la procesele create.
Fiecrui program de aplicaie, sistemul de operare i asociaz o serie de procese.
Procesul reprezint un program n execuie (program de serviciu, de aplicaie sau rutin a
sistemului de operare).
Procesorul reprezint componenta capabil s execute un program (CPU sau canal).
Programul este o secven de instruciuni, iar procesul o serie de activiti (taskuri) executate
prin program.
Activitatea (task) este o unitate de lucru intern creat de sistemul de operare, atunci cnd o
etap din lucrare este acceptat de sistemul de calcul.
Lucrarea reprezint o colecie de activiti (taskuri) ce se execut de ctre sistemul de calcul.
Procese concurente i coordonarea proceselor
Procesele concurente numite i procese paralele, presupun c la un moment dat, mai multe
programe pot fi urmrite ntre punctul de ncepere i terminare a execuiei; n acest caz procesele
interacioneaz n dou moduri:
- indirect, prin concurarea la aceiai resurs a sistemului;
- direct, prin utilizarea simultan a acelorai resurse.
Oportunitatea programrii concurente const n necesitatea reducerii timpului de rspuns la
solicitrile la care este supus sistemul de calcul concomitent cu utilizarea eficient a resurselor
precum i n necesitatea utilizrii partajate a informaiei i comunicaiei ntre programele n curs de
execuie, ceea ce implic i o sincronizare specific la nivelul software-ului de baz.
Coordonarea proceselor concurente implic urmtoarele aspecte:
1) determinarea proceselor potrivit crora sistemul de activiti trebuie s fie independent de
vitezele relative de execuie ale activitilor componente, conducnd la un rezultat unic; dac acest
87

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

rezultat depinde de ordinea i viteza de execuie a activitilor, sistemul este nedeterminat i n acest
caz se vor introduce restricii de prioritate (grad de preceden);
2) interblocarea proceselor apare atunci cnd dou sau mai multe procese ateapt un timp
nedefinit ntr-un fir de ateptare circular, ca alt proces s renune la preteniile de utilizare a unei
resurse; interblocarea poate fi nlturat prin mecanisme cum sunt:
- prealocarea resurselor partajate;
- alocarea controlului n avans de execuie;
- organizarea secvenial a cererilor i ierarhizarea resurselor pe nivele astfel nct atunci cnd
un proces a dobndit resursele de la un anumit nivel, poate solicita resurse numai de la un nivel
superior;
- excluderea mutual a proceselor prin care anumite activiti vor fi programate astfel nct s
nu poat fi n execuie n acelai timp (de exemplu, READ i WRITE).
Sincronizarea proceselor
Sincronizarea proceselor include mecanisme prin care anumite procese vor fi oprite la un
moment dat, pn ce apar anumite evenimente ce se afl sub controlul altei activiti. Problema
sincronizrii apare datorit partajrii resurselor n legtur cu alocarea proceselor pentru execuie i
comunicaia ntre procese care genereaz dou aspecte:
- apariia condiiei de competiie ntre procese care se ivete atunci cnd planificarea unor
procese pentru execuie devine critic deoarece parametrii pentru planificarea execuiei provin din
calcule diferite;
- tendina de a obine resursa de ctre procese ar putea genera interblocarea acestora.
Mecanismele de sincronizare pentru coordonarea i comunicarea ntre procese includ
urmtoarele posibiliti:
1) bii de ateni. Prin aceast modalitate, orice resurs partajat de "n" procese va dispune de
un bit de atenie "lock-bit" folosindu-se convenia:
lock-bit = 0 - resursa este disponibil;
lock-bit = 1 - resursa este n folosin.
nainte ca un proces s aib acces la un procesor, acesta va verifica starea lock-bit-ului: dac
lock-bit = 0 atunci este permis acestui proces s aib acces la procesor, iar la terminarea
execuiei va trece lock-bit-ul n starea iniial 0; dac pe parcursul execuiei un alt proces va solicita
procesorul, acesta va gsi lock-bit-ul n starea 1, el fiind trecut n starea de ateptare pn cnd lockbit-ul devine 0.
2) mecanisme de ateptare i semnalizare. Inconvenientul sincronizrii proceselor prin lockbit const n continuarea secvenei de testare a lock-bit-ului pentru comutarea din starea 1 n starea
0; n acest sens, o variant de utilizare mai eficient a procesorului n sensul reducerii timpului de
ateptare i de ciclare o constituie plasarea procesului ntr-o list de procese blocate alturi de alte
procese. Atunci cnd procesorul alocat unui proces ncheie execuia, acesta va introduce un semnal
de legtur (pointer) prin care unul din procesele blocate din lista celor care ateapt, este sesizat c
resursa pentru care a fost blocat a devenit liber; n acest moment, procesul care ctig competiia
este trecut din lista de procese blocate, n lista proceselor gata de execuie, urmnd s fie din nou
planificat pentru reluarea execuiei din punctul n care a fost ntrerupt.
3) calculul semafoarelor prin operaiile P i V. P i V sunt primitive care opereaz pe
semafoarele S constituite din variabile ce iau valori ntregi (nu numai 0 i 1). Mecanismul se
desfoar astfel:
P(S): decrementeaz valoarea lui S cu 1 i dac S <= 0 atunci ateapt;
V(S): incrementeaz valoarea lui S cu 1 i dac S <= 0 atunci semnal.
4) comunicarea direct de tip SEND/RECEIVE. Mecanismele de sincronizare anterioare
realizeaz comunicaii indirecte. Sincronizarea se poate realiza i ntr-o manier direct, prin
intermediul primitivelor SEND (Proces1, mesaj) i RECEIVE(Proces2, mesaj).
88

CAPITOLUL 3. PRINCIPIILE DE BAZ ALE SISTEMELOR DE OPERARE

5) cutii potale. Cutiile potale sunt constituite din zone tampon din memoria dinamic,
tratat ca dispozitiv periferic de intrare/ieire. Fiecare activitate creeaz o cutie potal cu informaii
ce pot fi extrase de celelalte activiti nainte de lansarea n execuie.
Gestiunea procesoarelor
Gestiunea procesoarelor presupune asigurarea procesoarelor la procesele create; aceast
activitate se desfoar la dou nivele:
1) planificarea lucrrilor, la care se decide care lucrri vor fi executate i care va fi prima
lansat n execuie;
2) alocarea procesorului la procese.
n acest scop exist module specializate ale programelor de comand-control ale sistemului de
operare, ce realizeaz o serie de activiti:
Modulul pentru planificarea lucrrilor ndeplinete urmtoarele activiti:
- evidenierea strii tuturor lucrrilor sesiznd care dintre lucrri solicit servicii;
- alegerea disciplinei prin care vor intra lucrrile n sistem: prioriti, resurse solicitate,
ncrcarea echilibrat, etc.;
- alocarea resurselor necesare lucrrii planificate: memorie intern, extern, dispozitive
periferice, CPU;
- dezalocarea resurselor la terminarea execuiei lucrrii.
Modulul de planificare a lucrrilor creeaz unul sau mai multe procese pentru lucrarea
considerat n momentul trecerii din starea de pregtire n starea de execuie, stabilind totodat i
modul de comunicaie ntre procese; cu alte cuvinte, aloc resursele fizice disponibile la procese, n
scopul utilizrii eficiente a sistemului de calcul, prin simularea unei maini virtuale pentru fiecare
proces i un sistem de faciliti ce permit proceselor concurente s realizeze o excludere mutual
din regiunile critice i s comunice cu alte procese.
Modulul pentru planificarea procesoarelor decide care dintre procese va dispune de
procesor, n ce moment i care este cuanta de timp alocat:
- evideniaz starea tuturor proceselor (componenta traffic controller);
- decide procesul care va dispune de procesor i pentru ct timp (processor scheduller);
- aloc procesorul la procese, ceea ce implic actualizarea coninutului registrelor
procesorului care s reflecte starea curent;
- dezalocarea procesorului atunci cnd cuanta de timp acordat a expirat sau procesul trebuie
s atepte datorit unei ntreruperi cum ar fi solicitarea unei operaii de intrare/ieire. n acest
caz e necesar salvarea coninutului registrelor procesorului, n vederea pstrrii strii la care a fost
ntrerupt, pentru rencrcarea la reluarea execuiei din punctul n care a fost ntrerupt.
Pentru planificarea lucrrilor la nivelul procesorului se ntlnesc dou tipuri de sisteme:
1) sisteme nepreemptive n care fiecare activitate se execut pn la execuia complet; n
acest caz, procesorul va executa cererea cea mai prioritar din sistem pn la terminarea
execuiei, chiar dac pe durata execuiei apar cereri mai prioritare n sistem;
2) sisteme preemptive sunt sistemele n care cererile se pot afla n diverse etape ale execuiei;
la un moment dat sistemul execut o singur activitate, dar dac apare o cerere cu prioritate
mai mare, execuia curent este ntrerupt i trecut n ateptare.
3.4.2. Gestiunea memoriei
Sistemele de calcul includ diverse dispozitive de memorare organizate n final pe dou nivele:
memoria intern i memoria extern.
Gestiunea memoriei are rolul de a decide cum trebuie organizat informaia pe cele dou
nivele i cnd trebuie transferat informaia ntre acestea; tehnicile de gestiune a lucrrilor
(multiprogramare, multitasking, time-sharing,etc) implic existena unor metode eficiente pentru
gestiunea memoriei: tehnici de alocare dinamic i memoria virtual.
89

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Obiectivul activitii de gestiune a memoriei este de a furniza o vitez de execuie sporit a


programelor, prin meninerea n memoria intern a acelor pri din programe care sunt referite cu o
frecven mare de ctre CPU (de regul, programe independente ntre ele); deoarece n memoria
intern exist simultan mai multe programe independente ntre ele, pentru a utiliza eficient CPU
apar urmtoarele aspecte:
- introducerea n memoria intern a programului ce urmeaz a fi executat necesit un spaiu
de memorie determinat de dimensiunea sa, de spaiul liber din memoria intern n acel
moment i de modul de ocupare al memoriei interne de ctre alte programe;
- pentru zonele de memorie alocate diferitelor programe, trebuie s se asigure protecia
acestora fa de anumite interferene i adresri cu alte programe.
Alocarea spaiului din memoria intern se realizeaz n funcie de disponibilitatea memoriei n
acel moment, fapt care nu permite cunoaterea adreselor reale ocupate de program la momentul
execuiei (numite i adrese fizice) n etapele scrierii i translatrii programelor a cror adrese de
memorie, sunt simbolice (numite adrese logice). Translatarea adreselor logice n adrese fizice se
realizeaz printr-o funcie de translatare care precede execuia instruciunii respective.
Activitatea de gestiune a memoriei are la baz trei algoritmi (fig.3.16.):
1) algoritmul de transfer care determin cnd un bloc trebuie transferat din memoria extern
n memoria intern - naintea execuiei sau n timpul execuiei;
2) algoritmul de plasare care determin ce zon nealocat din memoria intern este folosit
pentru plasarea blocului ncrcat din memoria extern;
3) algoritmul de reamplasare care determin care blocuri i la ce moment trebuie rencrcate
n memoria intern.
Alocarea dinamic a memoriei
Alocarea memoriei interne se poate realiza:
- static cnd programul este ncrcat iniial n orice zon liber din memoria intern. n
momentul solicitrii unei ntreruperi, acesta este transferat n memoria extern urmnd a fi
reluat dup tratarea ntreruperii. Rencrcarea sa n memoria intern se va face obligatoriu n
acelai spaiu de adrese fizice n care a fost ncrcat iniial, ceea ce reprezint un mare neajuns
n cazul multiprogramrii i multitasking-ului;
- dinamic cnd adresele relative ale instruciunilor programului dup editarea de legturi, nu
sunt translatate n adrese fizice n faza de ncrcare a programului n memoria intern, ci doar
n momentul execuiei instruciunilor. Adresele relative se pstreaz pentru o deplasare a
programului dintr-o zon n alta a memoriei interne i o rencrcare a programului din
memoria extern, ntr-o alt zon din memoria intern.
Memoria virtual
Conceptul unui singur nivel de memorie- denumit memorie virtual- ofer utilizatorului
iluzia c memoria intern are o capacitate foarte mare, partea de hardware realiznd automat
transferul informaiei din memoria intern n memoria extern i invers.
Unitatea de transfer ntre memoria intern i cea extern este pagina, aceasta reprezentnd o
entitate a memoriei de dimensiune fix de 512, 1024, 2048 sau 4096 kbytes; procesul de deplasare
al paginilor ntre memoria intern i memoria extern este referit ca transfer de pagini.
O adres folosit de programator se numete adres virtual, iar adresa real unde este
memorat se numete adres fizic (dimensiunea spaiului de adrese virtuale este mult mai mare
dect dimensiunea spaiului de adrese reale).
Funcia de translatare a unei adrese virtuale ai n adres real bj se poate defini astfel:
ft = 0 dac informaia de la adresa virtual solicitat (ai) nu este n acel moment rezident n
memoria intern;
ft = bj dac adresa virtual ai gsete rezident adresa real bj n memoria intern.
Dac ft(ai) = 0 se emite un semnal de nereziden i se genereaz o ntrerupere care are ca
efect plasarea din memoria extern n memoria intern, a informaiei referite de procesor prin
90

CAPITOLUL 3. PRINCIPIILE DE BAZ ALE SISTEMELOR DE OPERARE

adresa virtual ai. La terminarea ntreruperii (care lanseaz n execuie algoritmii de transfer,
plasare i reamplasare) ft(ai) va fi nenul, avnd loc o nou iniiere a activitii ntrerupte.
Dispozitivul de translatare este redat n fig.3.9.

Fig.3.9. Mecanismul de translatare a adreselor virtuale n adrese fizice


Din punct de vedere al modului de organizare, exist implementate urmtoarele variante
pentru memoria virtual:
1. organizarea la nivel de adres (fig.3.10.) Dac procesorul refer adresa virtual ai,
aceasta se introduce n registrul de adrese virtuale RV, registrul REZIDENT este resetat (pus
pe 0), iar registrul de ACCES setat (pus pe 1), iniializndu-se procesul de translatare:
- dac se gsete cu ai o intrare n tabela ft, atunci coninutul gsit se introduce n registrul de
adrese fizice al memoriei interne RM, avnd loc extragerea din memoria intern a
informaiei solicitat de procesor de la adresa real bj;

Fig. 3.10. Organizarea la nivel de adres a memoriei virtuale


- dac nu se gsete o intrare n ft, atunci RM = 0, registrul REZIDENT este setat i are loc
iniierea celor 3 algoritmi care vor aduce din memoria extern n memoria intern informaia
referit de procesor, actualiznd totodat i tabela de descriere a funciei de translatare ft.
2. organizarea la nivel de pagin, conduce la reducerea necesarului de informaie coninut
n tabela ft deoarece spaiul de adrese este divizat n blocuri de dimensiune constant numite pagini.
Dimensiunea paginii virtuale coincide cu dimensiunea paginii reale ceea ce implic
netranslatarea adresei cuvntului de pagin. Dispozitivul de translatare construiete o tabel a
paginilor organizat n memoria intern (MTP) cu informaii necesare procesului de translatare din
adrese virtuale n adrese fizice.
Pentru orice adres virtual ai se asociaz perechea (P,C) unde P reprezint numrul
cuvintelor din pagin, iar C numrul unui cuvnt referit din P. Prin P se intr n tabela de pagini, la
unul din cuvintele de la 0 la 2p, de unde se extrage componenta Q de o anumit dimensiune; dac:
- RM (Q) are coninut nenul, atunci adresa solicitat de procesor are drept corespondent o
pagin de memorie rezident n memoria intern;
- RM (Q) = 0 atunci adresa virtual solicitat nu are adres de pagin real n memoria
intern, ceea ce conduce la declanarea celor 3 algoritmi ca urmare a setrii registrului de
91

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

REZIDENT. Algoritmii vor determina transferul paginii corespunztoare din memoria extern n
memoria intern, actualiznd totodat i MTP, dup care procesorul refer din nou adresa.
Organizarea la nivel de pagin ofer avantajul c un program se poate executa fr a avea
toate paginile ncrcate n memoria intern, ele putnd fi ncrcate pe msur ce devin necesare n
prelucrare, deci o utilizare mai eficient a memoriei i totodat, o protecie mai sigur a informaiei.
3. organizarea la nivel de segment, mparte spaiul de memorie n blocuri de dimensiune
variabil, numite segmente (pot fi module de program sau anumite structuri de date).
Adresa virtual referit de procesor const din numele segmentului S i numele cuvntului din
segment C; adresa de memorie unde ncepe segmentul S reprezint adresa de baz R, iar prin D se
specific dimensiunea segmentului. Adresa real determinat prin R+C se obine dac registrul de
buffer conine adresa extras din memoria tabelei de segmente, efectundu-se i comparaia dintre C
i D; dac R = 0, atunci se vor declana cei trei algoritmi.
4. organizarea la nivel de segment-pagin
Organizarea la nivel de segment-pagin divide adresele virtuale i adresele fizice n segmente,
iar segmentele n pagini, n vederea fructificrii avantajelor celor dou metode de organizare:
- paginarea, care ofer implementarea simpl i cel mai sigur mijloc de protecie a
informaiei;
- segmentarea, care satisface ntr-o mai mare msur cerinele programatorului prin divizarea
n segmente, deci innd seama de logica programului.
n cadrul acestui mod de organizare, exist o singur tabel de segmente i un numr de tabele
de pagini egal cu numrul de segmente.
Atunci cnd procesorul refer o adres virtual, acesteia i se asociaz:
- adresa virtual a segmentului S;
- adresa virtual a paginii n segment CP;
- adresa virtual a cuvntului din cadrul paginii CC; iar registrul de acces segment este setat.
Prin S din RV se caut n MTS; dac se gsete o adres, aceasta este reprezentat prin:
- R - adresa tabelei de pagini;
- D - dimensiunea segmentului exprimat n pagini i introdus apoi n registrul de buffer.
Prin intermediul lui R din registrul de buffer se selecteaz o tabel de pagini din MTP;
componenta CP din registrul de adrese i R din registrul de buffer, permit extragerea din tabela de
pagini a cuvntului indicat prin CP din RV; cuvntul selectat are Q bii i reprezint una din
paginile reale din memoria intern, fiind introdus n RM unde vine i componenta CC care indic
adresa real a cuvntului n pagin. Dac nu se gsete prin S din RV nici o intrare n MTS, atunci
segmentul virtual adresat nu are corespondent n memoria intern, deci registrul de REZIDENT este
setat i se declaneaz algoritmii de transfer din memoria extern n memoria intern a segmentului
solicitat actualizndu-se i memoria tabelei de segmente. Accesul n MTP se realizeaz prin
poziionarea registrului de acces la pagin pe 1, iar componentele Q i CC sunt introduse n RM.
La proceselor concurente, gestiunea memoriei ntre mai multe procese poate fi analizat prin :
- limitarea frecvenei transferului de date i programe;
- conservarea execuiei programelor din memoria intern, n timp ce alte programe sunt n
ateptare n memoria extern;
- transferul datelor i programelor din memoria intern atunci cnd procesele le solicit.
3.4.3. Gestiunea dispozitivelor periferice
O mare pondere din arhitectura sistemelor de calcul este deinut de echipamentele de
intrare/ieire (denumite dispozitive periferice), fapt care implic o atenie deosebit acordat
utilizrii lor eficace. Dei evoluia continu n domeniul facilitilor (mai ales a vitezelor de
execuie) a condus la multe mbuntiri, continu s existe diferene mari ntre viteza dispozitivelor
periferice i vitezele la care opereaz CPU i memoria intern, ceea ce motiveaz introducerea
canalelor de intrare/ieire i a procesoarelor specializate n operarea cu unitile de control ale
dispozitivelor periferice.
92

CAPITOLUL 3. PRINCIPIILE DE BAZ ALE SISTEMELOR DE OPERARE

Uniti de control i canale de transfer


Unitile de control ale dispozitivelor periferice sunt prevzute cu circuite electronice
destinate controlului automat al citirii/scrierii pe mediile fizice, ndeplinind urmtoarele funcii:
- recunoaterea adreselor dispozitivelor periferice pe care le controleaz;
- conversia comenzilor primite de la canal n forma acceptat de mecanismele i circuitele
perifericului comandat;
- transmiterea ctre canal a secvenelor de semnale standard ce indic desfurarea operaiilor
de intrare/ieire solicitate;
- efectuarea controlului de paritate asupra datelor i informaiilor de control;
- urmrirea ndeplinirii condiiilor de execuie a comenzii;
- generarea informaiei de stare a dispozitivelor periferice i a unitilor de control care se
prezint canalului la iniierea i, prelucrarea modului n care s-a terminat transferul de date;
- conversia formatului datelor din codul acceptat de dispozitivul periferic, n codul acceptat
de CPU la citire sau invers la scriere.
Exist uniti de control ce permit conectarea la canal a unui singur dispozitiv periferic sau
mai multor dispozitive periferice, numrul acestora fiind limitat de debitul canalului i de numrul
de periferice admis de acesta. Canalele de transfer dirijeaz fluxul de informaie ntre memoria
intern i dispozitivele periferice degrevnd CPU de sarcina tratrii proceselor de intrare/ieire
ndeplinind ca principale funcii:
- transformarea informaiei de comand primit de la CPU n semnale acceptate de ctre
unitile de control ale dispozitivelor periferice;
- prelucrarea controlului transferului de date i eliberarea CPU pentru alte lucrri;
- asamblarea sau dezasamblarea datelor transferate ntre dispozitivele periferice i memoria
intern;
- sincronizarea transferului de date cu activitatea CPU;
- controlul adresei care reprezint sursa sau destinaia transferului de date n memoria intern,
inclusiv verificarea proteciei memoriei;
- generarea informaiei de stare a canalului, pe care o ine la dispoziia CPU.
Transferul de informaii ntre dispozitivele periferice i memoria intern, se poate realiza:
- continuu - cnd un dispozitiv periferic se conecteaz logic la canal pn la terminarea
transferului de date, nepermind altui dispozitiv periferic s comunice cu canalul n acest
interval de timp;
- multiplex - cnd mai multe dispozitive periferice pot transmite simultan prin interfa.
Activitatea de gestiune a dispozitivelor periferice
O operaie de intrare/ieire este iniiat de CPU prin executarea unei instruciuni ce specific
canalul, adresa dispozitivului periferic i adresa locaiei din memoria intern unde ncepe programul
de transfer numit driver, care specific operaiile de intrare/ieire ce se vor executa; n timpul
execuiei driver-ului, CPU poate executa alte operaii n mod concurent; totodat CPU controleaz
modul n care se desfoar execuia procesului de intrare/ieire prin instruciuni specifice.
Procesul de intrare/ieire cunoate starea CPU prin cercetarea coninutului registrelor de stare.
Comunicaia dintre canalul de intrare/ieire i CPU se realizeaz, de obicei, prin intermediul
ntreruperilor (o ntrerupere constituie o facilitate hardware care poate suspenda execuia operaiei
curente de ctre CPU, memorarea strii curente i transferul la o locaie specific unde se gsete un
program pentru tratarea ntreruperii respective).
CPU i canalele de intrare/ieire sunt proiectate pentru a opera n mod concurent n
urmtoarea ierarhie: CPU controleaz activitatea canalelor de intrare/ieire, canalele de intrare/
ieire controleaz activitatea unitilor de control ale dispozitivelor periferice iar acestea controleaz
activitatea dispozitivelor periferice ataate.
Un sistem de intrare/ieire poate fi organizat n urmtoarele moduri:
93

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

- un canal de intrare/ieire poate fi utilizat n mod partajat de dou CPU folosind un controller
pentru canalul de intrare/ieire- situaie ntlnit la sistemele de calcul exploatate n multiprelucrare;
- o unitate de control poate fi partajat ntre mai multe canale, pentru acelai dispozitiv
periferic exist mai multe ci de acces, iar doua CPU partajeaz aceeai unitate de control;
- dispozitivele periferice de intrare/ieire pot fi partajate ntre mai multe uniti de control ataate la
diferite canale de intrare/ieire ale aceleiai CPU sau la canalele mai multor CPU.
Gestiunea dispozitivelor periferice trebuie s ndeplineasc urmtoarele funcii:
- evidena strii tuturor dispozitivelor periferice sub forma blocurilor unitilor de control
asociate pentru fiecare dispozitiv periferic;
- introducerea unei discipline pentru a determina crui proces i este alocat dispozitivul
periferic, pentru ct timp i la ce moment, n funcie de natura proceselor, de viteza
dispozitivului periferic i modul lui de funcionare;
- alocarea dispozitivului periferic, a unitii de control i a canalului pentru proces;
- dezalocarea la nivelul procesului.
Utilizarea eficient a dispozitivelor periferice se realizeaz cu ajutorul unor metode hardware
i a unor module specializate ale sistemului de operare.
Gestiunea dispozitivelor periferice prin metode hardware se poate realiza prin:
1) operarea dispozitivului periferic independent, fr asistena canalului sau unitii de
control;
2) disciplina buffer care implic existena unui buffer pentru date n dispozitivul periferic sau
al unitii de control, ce ar permite unui dispozitiv periferic lent s lucreze independent de canal;
3) ci de acces multiple, concretizate n mai multe ci de acces pentru fiecare dispozitiv
periferic. Driverele pentru gestiunea dispozitivelor periferice vor ine evidena cilor de acces i
or determina ruta liber pentru servirea unei cereri de intrare/ieire la dispozitivul periferic solicitat;
4) multiplexarea canalului prin execuia unor programe de canal multiple, ceea ce nseamn o
implementare hardware a multiprogramrii pentru programele de canal.
Gestiunea dispozitivelor periferice de ctre sistemul de operare este realizat de urmtoarele
module specializate:
1) controlorul traficului de intrare/ieire (I/O Traffic controller) care are rolul de a evidenia
informaiile de stare pentru fiecare dispozitiv periferic, furniznd informaii mecanismului prin care
un dispozitiv periferic poate fi alocat sau nu. n acest scop, construiete un bloc de control pentru
dispozitivul periferic, unul pentru unitatea de control i unul pentru canal;
2) planificatorul operaiilor de intrare/ieire (I/O Scheduller) care conine algoritmul privind
strategia utilizat pentru alocarea canalului, a unitilor de control i a dispozitivelor periferice;
3) manipulatorul dispozitivelor periferice de intrare/ieire (I/O Devices Handler) are rolul de
a crea programul de canal pentru execuia funciei dorite, executnd fizic operaia respectiv;
4) dispozitive periferice utilizate partajat (Shared Devices) sunt partajate ntre mai multe
procese concurente, ceea ce implic:
- interferena cererilor din partea proceselor;
- protecia mpotriva acceselor neautorizate.
5) dispozitive periferice virtuale sunt dispozitive periferice ce pot fi convertite pentru a putea
fi utilizate partajat prin sistemul Spooling.
3.5. COMPONENTA ROM-BIOS I NTRERUPERILE MS-DOS.
3.5.1. Prelucrarea ntreruperilor
Conceptul de ntrerupere
n cadrul procesului de execuie al unui program CPU trebuie s asigure urmtoarele funcii:
- evidenierea strii n care se afl i asigurarea unui mecanism de schimbarea strii;
- asigurarea nlnuirii automate a instruciunilor;
- asigurarea comenzilor necesare execuiei unei instruciuni.
94

CAPITOLUL 3. PRINCIPIILE DE BAZ ALE SISTEMELOR DE OPERARE

n ceea ce privete schimbarea strii CPU, aceasta se poate realiza prin:


- memorarea dinamic a informaiei de stare, n cuvntul de stare al procesorului (MSW Machine Status Word);
- sistemul de ntreruperi.
CPU se poate afla n una din urmtoarele stri:
- operaional- atunci cnd poate executa operaii de prelucrare a datelor;
- neoperaional- care corespunde unei situaii de defect.
Starea operaional se caracterizeaz prin una din urmtoarele stri generate de procese:
- activ sau n ateptare;
- ntreruptibil sau nentreruptibil, funcie de luarea n considerare a ntreruperii sau nu (se
spune c ntreruperea este mascat);
- sistem sau utilizator, dup cum este sub controlul sistemului de operare sau al programelor
de aplicaie lansate de utilizatori.
Informaia de stare este dinamic i reflect n orice moment funcionarea CPU, fiind
memorat ntr-un registru de stare sub denumirea de cuvnt de stare program MSW (Machine
Status Word), coninnd n general, urmtoarele informaii:
- dreptul de acces al programului la zona respectiv de memorie;
- o informaie sintetic asupra modului cum s-a ncheiat execuia instruciunii precedente,
numit cod de condiie (registrul Eflags la microprocesoarele Intel);
- mtile de ntreruperi;
- starea CPU;
- nivelul de prioritate al programului;
- adresa urmtoarei instruciuni de executat (registrul EIP - Extended Instruction Pointer la
microprocesoarele Intel).
Posibilitatea comutrii strii CPU se realizeaz prin procese de ntrerupere care (de exemplu,
n cazul multiprogramrii) este o condiie indispensabil n sensul asigurrii trecerii controlului de
la un program la altul. Prelucrarea ntreruperilor este realizat de o component hardware
specializat inclus n CPU i o component software (ce dispune de rutine incluse n sistemul de
operare pentru a trata fiecare ntrerupere n parte).
Etapele tratrii unei ntreruperi :
- n momentul apariiei unei cereri de ntreruperi, aceasta se va lua n considerare dac este
cea mai prioritar din irul de ntreruperi;
- analiza tipului de ntrerupere i salvarea cuvntului de stare al programului la o anumit
adres din memoria intern;
- ncrcarea unui cuvnt de stare al programului specific ntreruperii i lansarea n execuie a
rutinei ce prelucreaz ntreruperea;
- rencrcarea vechiului cuvnt de stare al programului de la adresa unde a fost salvat n
memoria intern, dup terminarea prelucrrii ntreruperii;
- redarea controlului programului ntrerupt.
ntreruperile pot fi generate: de program, de operaiile de intrare/ieire, de defect al CPU sau
externe sistemului de calcul provenind de la alte echipamente cu care este cuplat.
ntreruperi la PC uri
La microprocesoarele implementate pe PC -uri care permit multiprogramarea, controlul
accesului ntre programele de aplicaie i sistemul de operare este asigurat prin controlul spaiului
de adres i un mecanism de protecie privilegiat astfel:
- controlul spaiului de adres separ programele de aplicaii unele fa de altele;
- mecanismul privilegiat de protecie izoleaz software-ul de baz de software-ul aplicaii.
Acesta garanteaz posibilitatea programelor de a avea acces la segmentul de cod, de date i
resursele de intrare/ieire de baz, numai pentru nivelul privilegiat al segmentului respectiv.
Protecia se bazeaz pe noiunea de ierarhie de tutel, existnd patru niveluri privilegiate
aranjate n inel, ncepnd cu cea mai mare tutel 0. Nivelul 0 este rezervat n general, sistemului de
95

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

operare, iar nivelul 3 este nivelul cea mai mic tutel. Nivelul privilegiat este un atribut de protecie
alocat la toate segmentele prin software-ul sistemului, aceasta determinnd care proceduri pot
accesa segmentul, n timp ce drepturile de acces sunt implementate hardware.
Codul sistemului de operare i segmentele de date plasate la cel mai privilegiat nivel (nivel 0)
nu pot fi accesate prin programe de alt nivel privilegiat, fiecare program putnd accesa date la un
nivel identic sau mai mare.
ntreruperile i excepiile sunt cazuri speciale de transfer al controlului ntre programe.
O ntrerupere este generat de un eveniment independent de programul n curs de execuie, n
timp ce excepiile sunt rezultate direct din programul n curs de execuie, aprnd atunci cnd o
instruciune nu poate fi executat complet n mod normal. Pentru localizarea ntreruperii, CPU
asociaz fiecrei surse de ntrerupere un numr, numit vector de ntrerupere cu rol de adres n
IDT.
Tabela de descriere a ntreruperilor (IDT) definete dirijarea acestora pentru fiecare tip de
ntrerupere; aceast tabel poate fi localizat oriunde n spaiul adreselor fizice, ea fiind accesat n
memoria real prin adrese ce sunt pstrate n registrul tabelei de descriere a ntreruperilor (IDTR).
Fiecare intrare n tabela de descriere a ntreruperilor conine adresa planificatorului de
ntreruperi. Erorile de execuie care genereaz excepiile refer o intrare n tabela de descriere a
ntreruperilor ce se poate identifica prin bitul 1 n codul de eroare. Acest bit este setat pe 1 dac
ntreruperea a fost Nivel 3Nivel 2Nivel 1Nivel 0, cauzat de un eveniment extern
programului (flagul TF=1).
Excepiile au totodat i rolul de a detecta faulturile sau erorile de programare produse de
utilizarea operanzilor sau a nivelurilor privilegiate; ele nu pot fi mascate, avnd fixai vectorii n
primele 32 de ntreruperi. De exemplu, ncercarea de a viola protecia cauzeaz o excepie care, ca
orice fault este dirijat de programul care a generat-o dac aceasta este o ntrerupere, respectiv de
un alt program, dac este o intrare n tabela de descriere a ntreruperilor.
Clase de ntreruperi la PC uri
Sistemul de ntreruperi la PC este realizat cu ajutorul unui controlor de ntreruperi (standard
8259 A), existnd mai multe niveluri de ntreruperi situate fie pe magistrala sistemului, fie pe placa
de baz a CPU.
PC din gama IBM sau compatibile manevreaz urmtoarele clase de ntreruperi:
1) ntreruperi ale microprocesorului grupate pe tipuri de ntreruperi, fiecrui tip fiindu-I
atribuit un cod dup care se identific;
2) ntreruperi iniiate hardware sunt cauzate de evenimente externe activate pe dou linii:
INTR (INTerrupt Request) i NMI (Non Maskable Interrupt-pini de ntrerupere ai
microprocesorului):
- dac linia INTR este activ, CPU execut anumite activiti n funcie de indicatorul de
validare al ntreruperii (IF);
- dac linia NMI este activ, ntreruperea anun producerea unor evenimente critice, iar CPU
le d imediat controlul; evenimentele ce utilizeaz intrarea NMI sunt nemascabile, iar evenimentele
care utilizeaz intrarea INTR sunt calificate ca ntreruperi posibil de inhibat (mascabile).
3) ntreruperi iniiate software sunt produse explicit de instruciuni de ntrerupere sau sunt
rezultatul unor condiii de excepie ce previn programul asupra continurii execuiei; sunt
ntreruperi nemascabile.
O instruciune INT (INTerrupt) genereaz o ntrerupere imediat dup execuia sa. Tipul de
ntrerupere este codificat n instruciune anunnd CPU care rutin de tratare a ntreruperii s o
execute. Dac este setat bitul TF, CPU genereaz o ntrerupere dup execuia fiecrei instruciuni;
aceasta se numete execuie pas cu pas (step by step) constituindu-se ntr-un instrument deosebit de
util pentru testarea i depanarea programelor.
ntreruperile software sunt fixate la orice PC din gama IBM sau compatibil, ele fcnd parte
din programele BIOS-ului.
96

CAPITOLUL 3. PRINCIPIILE DE BAZ ALE SISTEMELOR DE OPERARE

4) ntreruperile DOS sunt disponibile numai sistemului de operare MS-DOS; rutinele de tratare
a acestor ntreruperi gestioneaz operaii de baz, lucrul cu fiierele, gestionarea memoriei, .a.
5) ntreruperile Basic sunt folosite numai dac n memoria ROM, interpretorul Basic este activ.
6) ntreruperile de adres se gsesc sub forma vectorilor de ntreruperi, n tabela vectorilor de
ntrerupere i conin adresele diferitelor tabele din memorie, nefiind asociate cu rutinele de tratare a
ntreruperilor; trei tabele sunt mai semnificative:
- tabela de iniializare video;
- tabela de baz a discului;
- tabela de caractere grafice.
7) ntreruperile folosite de programe utilizator care de regul, au un interval rezervat.
3.5.2. Atribuirea ntreruperilor i prioritii. Serializarea ntreruperilor
Iniial, microprocesoarele familiei Intel X86 aveau opt ntreruperi incluse pe controlerul
standard Intel 8259 A numerotate de la 0 la 7, cu prioriti n ordine descresctoare numerelor
atribuite (NMI, IRQ0, IRQ1,..., IRQ7); existau doar dou linii de semnal dintre care una era folosit
de ntreruperea nemascabil NMI (eroare de paritate a memoriei sau provenit de la coprocesorul
matematic), iar cealalt era folosit de ntreruperile IRQ n funcie de prioritatea asociat.
Ulterior, la modelele AT numrul liniilor de semnal s-a dublat prin introducerea unui nou
controler Intel 8259 A legat n cascad cu primul controler, la ntreruperea IRQ 2 care a fost
redistribuit liniei IRQ 9, modificndu-se i prioritile.
Magistralele PCI nu folosesc controlerul de ntreruperi AT, avnd integrat propriul controler
care include patru linii de ntrerupere (patru linii a cte opt bii), neimpunnd limite n modul de
folosire al semnalelor de ntrerupere datorit n principal software-ului.
Majoritatea PC - urilor actuale bazate pe microprocesoare Pentium, pentru a pstra
compatibilitatea cu microprocesoarele Intel precedente, includ plci ISA/PCI, legtura cu
microprocesorul realizeazndu-se pe magistrala PCI printr-un cip de legtur PCI-magistrala local
a microprocesorului, n timp ce legtura cu magistrala ISA se realizeaz printr-un cip de legtur
ISA/PCI care include un standard de serializare a ntreruperilor IRQ pentru magistrala PCI.
Standardul de serializare IRQ se bazeaz pe un semnal special IRQ SER ce codific
ntreruperile IRQ; printr-un ciclu IRQ SER se trimit informaii despre starea tuturor ntreruperilor
din sistem (durata unui ciclu este de 4 - 8 cicluri de ceas), acesta fiind divizat n cadre ce includ cte
trei cicluri de ceas. Un cadru codific starea unei ntreruperi.
3.6. COMPONENTA ROM-BIOS I MS-DOS
3.6.1. Elemente componente BIOS
Sistemul driverelor de intrare/ieire de baz - BIOS (Basic Input Output System) rezident n
memoria ROM, conine urmtoarele elemente:
- programe de test pentru resursele sistemului din configuraia standard;
- program de ncrcare a nregistrrii ce conine ncrcarea sistemului de operare pe disc;
- proceduri pentru tratarea cererilor de ntrerupere externe.
- proceduri pentru comanda i controlul execuiei operaiilor de intrare/ieire la nivel fizic,
pentru dispozitivele periferice din configuraia standard.
Programele de test pentru resursele din configuraia standard se execut automat odat cu
pornirea sistemului realiznd urmtoarele activiti:
- testarea sumar a microprocesorului care include testarea registrelor accesibile utilizatorului
i a cilor de date;
- testarea i programarea canalului DMA (Direct Memory Acces) i a contorului programabil
ce particip la realizarea operaiei de remprosptare a memoriei interne;
97

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

- testarea i programarea contorului programabil pe baza cruia se construiete ceasul de timp


real;
- stabilirea configuraiei sistemului prin determinarea poziiei comutatorilor;
- testarea memoriei RAM;
- testarea sistemului de ntreruperi i iniializarea tabelei ce conine adresele rutinelor pentru
tratarea acestora;
- stabilirea legturilor cu alte ROM din afara plcii de baz incluse n interfeele dispozitivelor
periferice, ce const n:
stabilirea adreselor de tratare a ntreruperilor aferente;
iniializarea dispozitivelor periferice i a variabilelor asociate;
testarea sumar a adaptoarelor pentru tastatur, monitor i discuri.
3.6.2. Structurarea programelor i segmentarea la MS-DOS
Programele executabile pot fi memorate pe suport extern n dou forme:
- nume_fiier.EXE constituit dintr-o structur multisegment: stiva, datele, codul;
- nume_fiier.COM constituit dintr-un singur segment ce include att datele ct i codul
instruciunilor programului.
ntr-un fiier cu extensia .EXE, programul este constituit ntr-un format relocabil incluznd un
antet cu privire la informaiile necesare pentru realocare.
Fiierele cu extensia .COM ocup un spaiu mai redus pe suport magnetic, ncrcndu-se n
RAM mult mai repede.
Oricare ar fi formatul programului executabil, n momentul ncrcrii n RAM pentru execuie
acesta este precedat de un prefix de segment al programului (PSP) a crui adres de nceput este
ds:0000 i es:0000 avnd urmtoarea structur constituit din 256 bytes (100H).
Structura unui fiier .EXE conine 3 segmente:
a. segmentul de stiv, segment ce poate apare n orice ordine relativ din alt segment; este
utilizat de programe pentru a memora orice date care trebuie salvate i reapelate apoi de program;
b. segmentul de date este segmentul care conine variabile referite de segmentul de cod, motiv
pentru care este important s fie plasat naintea acestuia n vederea scderii posibilitii de a se
produce erori, a creterii vitezei de execuie i a eficienei asamblrii;
c. segmentul de cod conine instruciunile executabile ncepnd cu o etichet ce identific
punctul de intrare n segment.
n momentul ncrcrii fiierului .EXE pentru execuie, se va poziiona n RAM mai nti PSP
ce conecteaz programul cu MS-DOS dup care MS-DOS poziioneaz n RAM segmentul de cod,
segmentul de date i cel de stiv al programului. n final, MS-DOS plaseaz elementele de
identificare ale segmentului de cod i ale segmentului de stiv n registrele de segment:
- registrele ES i DS sunt iniializate la adresa de segment corespunztoare adresei de nceput
a segmentului de date;
- registrul CS este iniializat la adresa de nceput segmentului ce conine programul.
- registrul de stiv (SS) i indicator al adresei din stiv (SP) se vor iniializa dac nu a fost
declarat explicit un segment pentru stiv sau se dorete utilizarea unui alt segment pentru stiv,
dect cel de cod.
Structura fiierului .COM
Fiierul .COM are un singur segment "comun" ce conine toate datele programului, PSP par i
stiva. Dimensiunea maxim a unui program .COM poate fi de 64 K ct este dimensiunea unui
segment, i toate referirile din program sunt relative la adresa de nceput a segmentului. MS-DOS
construiete PSP i l include n segment pe primii 256 bytes (100H) ceea ce implic definirea
punctului de intrare n program la 100H dup blocul de 256 bytes al PSP. Dup definirea punctului
de intrare n program, acesta trebuie comutat la instruciunea de nceput a execuiei programului.
La terminarea programului, fa de fiierele .EXE exist urmtoarele deosebiri:
98

CAPITOLUL 3. PRINCIPIILE DE BAZ ALE SISTEMELOR DE OPERARE

- redarea controlului MS-DOS se realizeaz cu instruciunea RET naintea terminrii


procedurii principale, care are ca efect un salt la primul byte din prefixul programului unde se
gsete instruciunea INT 20H memorat la nceputul prefixului de program;
- instruciunea END trebuie s identifice eticheta punctului de intrare la deplasarea 100H.
La execuia editrii de legturi se va semnala o eroare ce se ignor, cu privire la nedeclararea
segmentului de stiv SS.
3.6.3. Alocarea memoriei pentru programe i execuia lor
Avnd n vedere organizarea logic a memoriei interne la PC - uri, sistemul de operare MSDOS divide memoria de 640 K n dou zone:
- prima zon ncepe la adresa 0000:0000H i conine:
vectorii de ntrerupere;
tabela vectorilor de ntreruperi;
zonele tampon;
nucleul sistemului de operare (partea rezident);
- a doua zon - zona de tranziene - conine programele i informaii de context pentru aceste
programe (environment);
ncrcarea i execuia unui program se realizeaz prin execuia funciei EXEC prin care
programul ncrctor va solicita sistemului de operare alocarea a dou blocuri de memorie:
- un bloc de memorie pentru program;
- alt bloc de memorie, pentru contextul acestuia.
nainte de apelul funciei EXEC, trebuie salvate toate registrele ce conin informaii utile i a
coninutului registrelor SP i SS n memoria programului apelant. La revenirea din programul apelat
se refac registrele salvate.
3.6.4. Programe rezidente (TSR)
Programele rezidente (TSR Terminate and Stay Resident) sunt o manier rudimentar de
exploatare multitasking la MS-DOS, ce const n existena n RAM a mai multor programe
care sunt activate prin producerea unui eveniment extern, putndu-se comuta rapid de la un program
la altul i crend astfel iluzia de multitasking. Pentru activarea unui program TSR trebuie s aib loc
un eveniment extern (combinaii de taste), fiind astfel necesar utilizarea unei secvene ce trateaz
ntreruperea de nivel 9, activare ce nu trebuie s afecteze execuia altor programe care se mai
execut (chiar alte TSR). Din acest motiv la activarea ntreruperii 9 se execut:
- salvarea strii curente;
- salvarea codului de scanare curent;
- dac are loc un eveniment extern atunci se execut TSR, altfel se trateaz ntreruperea de
nivel 9 i se reface starea salvat.
Deoarece un program TSR poate conine funcii DOS i MS-DOS nu este reentrant, activarea
programelor TSR se va face numai dac nu este n execuie o funcie DOS sau sistemul de operare
nu este n tratarea unei erori critice.
Dac programul TSR realizeaz operaii cu discuri, e necesar salvarea adresei PSP a
programului ntrerupt i a adresei zonei de transfer a discului (DTA Disk Transfer Area) urmnd ca
la sfritul execuiei programului TSR, s se realizeze operaia invers.
Un program TSR conine trei secvene de program distincte:
- instalarea programului (iniializarea), ce const dintr-o secven ce creeaz legturile
programului cu sistemul de operare (INT 35H i INT 25H): INT 35H permite obinerea i salvarea
ultimei adrese de tratare a ntreruperii, respectiv INT 25H pentru crearea noii legturi.
- programul TSR ce conine secvena de program propriu-zis;
- dezafectarea legturilor TSR- MS-DOS i refacerea vechilor legturi.
99

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

CAPITOLUL 4
PRINCIPALELE SISTEME DE OPERARE
4.1. GENERALITI
La pornirea calculatorului, este efectuat un autotest care controleaz memoria RAM, ncearc
s identifice fiecare dispozitiv de stocare conectat, i verific dac exist o imprimant conectat la
sistem i starea acesteia (nchis sau deschis). Aceste secvene de instruciuni sunt stocate n BIOS
(Basic Input Output System), ntr-o memorie ROM al crui coninut nu poate fi alterat. Versiunile
mai noi de BIOS-uri au incluse funcii suplimentare, cum ar fi detecia automat a diverselor
dispozitive periferice ce exist n sistem (Plug And Play), autodetecia tipului de hard-disk introdus
n calculator etc. BIOS-ul reprezint interfaa ntre echipamentele hardware ale calculatorului
(resursele de baz ale sistemului: disc, tastatur, display, memorie etc.) i sistemul de operare.
Un sistem de operare este un complex de programe care permite exploatarea unui sistem de
calcul prin intermediul BIOS-ului, asigurnd executarea lanurilor de sarcini ale sistemului.
Sistemul de operare furnizeaz i un set de funcii standard, care pot fi utilizate de aplicaii pentru
comunicarea cu BIOS-ul, i deci implicit cu resursele hardware ale calculatorului. n cursul
utilizrii calculatorului, sistemul de operare are datoria de a informa despre buna funcionare a
dispozitivelor periferice. Sistemul de operare gestioneaz operaiile de intrare i ieire, prin
monitorizarea i controlarea fluxului de date i a programelor n execuie, este responsabil de
alocarea resurselor sistemului, atribuirea de resurse hardware diverselor programe i funcii, pentru
a asigura funcionarea eficient a calculatorului.
Sistemul de operare este cel care determin numrul de utilizatori ce pot obine acces la
calculator i la resursele sale, n acelai timp. Dup numrul de utilizatori ce pot lucra la un moment
dat pe sistem, se pot diferenia sisteme de operare monoutilizator i multiutilizator. Dup numrul
de task-uri, sau programe, pe care le poate rula un utilizator la un moment dat, sistemele de operare
pot fi mprite n sisteme monotasking i multitasking. Sistemul de operare este conceput pentru a
lucra pe o anumit arhitectur hardware. De exemplu, un sistem de operare proiectat pentru un
calculator Macintosh nu va funciona pe un PC compatibil IBM. Astfel, sistemele de operare sunt
dedicate unei anume structuri hardware. Exist i sisteme de operare care funcioneaz pe mai multe
tipuri de platforme hardware (Windows NT, XP sau VISTA pe Intel x86 i DEC Alpha; SUN
Solaris pe Intel x86 sau SPARC; Linux pe x86, SPARC, DEC Alpha, Macintosh; etc.).
Toate sistemele de operare conin o interfa cu utilizatorul, ce reprezint modalitatea prin
care utilizatorul introduce comenzi sau lanseaz aplicaii. Partea exterioar (shell) a sistemului de
operare este cea care preia comenzile de la utilizator, i le transfer ctre nucleul (kernel) sistemului
de operare, care aloc n acel moment un loc n lanul de execuie al sarcinilor din sistem. n funcie
de sistemul de operare, interfaa cu utilizatorul poate fi bazat pe grafic sau poate fi numai n mod
text. Dac nucleul permite accesul la resursele sistemului aparent simultan (prin tehnici de timesharing) pentru mai muli utilizatori, atunci sistemul de operare se numete multitasking. Sistemul
de operare, n aceste caz, comut sarcinile (task-urile) care trebuie executate pe procesor, ndeajuns
de repede pentru a crea senzaia de simultaneitate a execuiei. n caz contrar, pe sistemele
monotasking, nici un alt proces nu poate fi lansat pn la terminarea celui aflat n curs de execuie.
Exemple de sisteme de operare:
MS-DOS este produs de firma Microsoft, pentru platforme x86, este monotasking,
monoutilizator, i are interfaa cu utilizatorul n mod text.
Windows XP sau VISTA produs de firma Microsoft, multitasking, monouser i
multiutilizator, interfa grafic coninut n nucleul sistemului.
Familia UNIX sunt sisteme de operare multitasking, multiutilizator. Interfaa cu
utilizatorul este la baz text, ns toate variantele sunt dotate i cu sistem grafic. Exist
pentru mai toate platformele hardware, n funcie de productor: Linux, SUN Solaris, HPUX (HP), AIX (IBM), IRIX (SGI), DEC Unix, SCO Unix.
100

CAPITOLUL 4. PRINCIPALELE SISTEME DE OPERARE

VMS, OpenVMS produs de firma DEC, multiutilizator, multitasking. VMS-ul are interfa
cu utilizatorul n mod text, OpenVMS-ul n mod grafic.
n concluzie, un calculator funcioneaz datorit sistemului de operare instalat, i anume prin
interaciunea sa cu resursele hardware ale calculatorului.
n cadrul unei interfee bazate pe text, numit mediu alfanumeric, utilizatorul tasteaz
comenzi pentru a da instruciuni calculatorului. Sistemele de operare ale calculatoarelor personale
utilizeaz interfee cu linii de comand, care permit introducerea de la tastatur a unei comenzi la un
moment dat. Linia de comand conine un prompter, care informeaz utilizatorul c sistemul este
pregtit s primeasc comenzi sau instruciuni. Dup fiecare instruciune scris, utilizatorul trebuie
s apese tasta Enter pentru a demara prelucrarea comenzii respective. MS-DOS-ul, care este un
exemplu de sistem de operare n mediu alfanumeric, accept i prelucreaz instruciunile pe baza
unei biblioteci de instruciuni inclus n sistemul de operare. n mod analog, se pot lansa n execuie
i comenzile i programele externe sistemului de operare. Exist i anumite programe de interfaare
cu mouse-ul al sistemului de operare MS-DOS (cum ar fi NORTON COMMANDER), care permit
utilizatorului s lanseze comenzi cu ajutorul mouse-ului.
UNIX-ul este de asemenea un sistem de operare cu o interfa n mod text.
n figura 7.1.a. este prezentat ecranul unei astfel de interfee n mod text, exemplul ales fiind
o linie de comand MS-DOS.
Interfeele grafice au aprut ca urmare a cererii din partea utilizatorilor pentru un mediu uor
de exploatat, i care s aib i posibilitatea afirii unor grafice pe ecran. Primul sistem care utiliza
o interfa grafic a fost sistemul Lisa, care a fost apoi adaptat pentru calculatoare Macintosh. Acest
sistem a suferit numeroase mbuntiri pn n prezent, dar a fost cel care a generat apariia
interfeelor grafice n lumea PC-urilor. Interfaa grafic iniial numit Finder, utiliza mici
pictograme pentru reprezentarea programelor sau comenzilor. Pentru a da o comand sistemului de
operare, utilizatorul indic o pictogram i efectueaz un clic (sau dublu clic) pe mouse. O alt
posibilitate de a da comenzi este efectuarea de selecii din meniuri, aflate ntr-o aplicaie ce se
substitue shell-ului sistemului de operare.

a.

b.

c.
d.
Figura 4.1. Interfaa text a MS DOS; b. interfaa grafic Windows XP;
c. ecran al interfeei grafice CDE; d. ecran al interfeei grafice KDE
Din 1985 a aprut sistemul Microsoft Windows, care nu era un sistem de operare, ci un mediu
grafic pentru MS-DOS. Un mediu grafic reprezint mai puin dect un sistem de operare, deoarece
funcionarea sa se bazeaz pe existena unui asemenea sistem. Din 1995 a lansat Windows 95, care
101

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

este mai mult dect un mediu de operare, incluznd i funcii ale sistemului MS-DOS n mediul
integrat Windows, lucru preluat i de versiunile ulterioare, pn astzi (fig 4.1.b).
Pentru sistemele Unix, care folosesc medii bazate pe text, au fost create diverse interfee
grafice care se instaleaz peste sistemul de operare. Exist multe tipuri de interfee grafice pentru
aceast familie de sisteme de operare, majoritatea dintre ele fiind grupate sub denumirea generic
de X-Windows. O caracteristic deosebit, a acestor sisteme de interfa grafic, este faptul c
permit executarea unei aplicaii sau comenzi pe un calculator aflat la distan i obinerea
rezultatului grafic pe un terminal local. Un exemplu rspndit pentru Unix-urile de firm (HP-UX,
Ultrix, Solaris, etc.) este CDE. n figura 4.1.c este prezentat un ecran al interfeei grafice CDE
pentru Solaris. Pentru Linux, interfeele grafice sunt numeroase, datorit aspectului academic i
free software al acestui sistem de operare. Fiecare interfa are specificaii proprii, i nu sunt toate
compatibile ntre ele. Cel mai rspndit sistem grafic este fvwm i, n ultimii ani, KDE. Un ecran
al interfeei KDE este prezentat n figura 4.1.d.
4.2. SISTEMUL DE OPERARE MS-DOS
MS-DOS (MicroSoft Disk Operating System) este un sistem de operare monoutilizator,
monotasking, monoprocesor, ce funcioneaz pe microcalculatoarele dotate cu procesoare Intel
8088 i succesoarele acestuia (80286, 80386, 80486, Pentium etc.). Acest sistem de operare a fost
inclus n alte sisteme de operare, cum ar fi: Windows 95/98/Me/NT/2000/XP/2003/Vista/2008 i
Novell NetWare.
Proiectanii sistemului de operare MS-DOS s-au inspirat din sisteme de operare CP/M,
unanim acceptat pe microcalculatoarele pe 8 bii i UNIX.
De la CP/M, MS-DOS a mprumutat ideea independenei fa de echipament, realizat prin
introducerea BIOS-ului (Basic Input Output System), numele unor comenzi (ERASE, DIR, TYPE
etc.), parial modul de organizare a informaiei pe disc etc.
De la UNIX s-a mprumutat structura arborescent a sistemului de fiiere, nlnuirea
unitilor de alocare pe disc ("clusters") ale unui fiier, ideea folosirii propriului interpretor de
comenzi ( Shell ) etc.
Caracteristicile principale ale sistemului de operare MS-DOS sunt :
- lucreaz cu un singur utilizator, rulnd un singur program la un moment dat (sistem de
operare monouser - monotasking );
- proceduri avansate de detecie a erorilor;
- dispozitive de intrare / ieire independente, MS-DOS asignnd un nume de fiier rezervat
fiecrui echipament de intrare / ieire;
- realocabilitatea complet a programelor, fiind posibil rularea aceluiai program de la mai
multe adrese de ncrcare;
- structur de fiiere eficient i rapid;
- contabilizarea datei i timpului.
4.2.1. Structura sistemului de operare MS-DOS
Sistemul de operare MS-DOS este structurat pe trei nivele:
BIOS (Basic Input Output System);
Nucleul;
Shell-ul (COMMAND.COM).
Ultimele dou componente reprezint sistemul de operare propriu-zis i sunt realizate de
firma Microsoft.
n principal, componenta BIOS (componenta fizic) conine un set de programe care asigur:
autotestarea la punerea sub tensiune, operaie denumit POST (Power-On Self Test). n
acest test procesorul se autoverific i apoi verific timer-ul sistemului i memoria RAM.
n acest moment, dac gsete vreo eroare, se trimite un mesaj ctre monitor. Dac se
102

CAPITOLUL 4. PRINCIPALELE SISTEME DE OPERARE

ntlnesc erori ce nu pot fi afiate pe monitor, ele sunt semnalizate sub form de sunete.
Dup POST se transmite un sunet i pe acran apar mesaje de ncrcare a sistemului de
operare odat ce bootstrap a nregistrat terminarea activitilor POST;
suportul software pentru dispozitivele periferice standard n felul acesta izoleaz
sistemul de operare de ceea ce este specific hardware-ului (componenta BIOS conine
codurile apelurilor de sistem pentru citirea i scrierea de la adresele absolute de pe disc,
pentru citirea unui caracter de la tastatur sau pentru afiarea unui caracter pe ecran);
rutina pentru iniializarea sistemului;
programul de ncrcare a primului sector logic de pe discul flexibil sau hard disc.
La pornirea calculatorului se pornete ncrctorul bootstrap care este localizat n cipul BIOS.
Acesta asigur testarea componentelor hardware ale calculatorului i ncrcarea sistemului de
operare n memoria RAM.
Exist dou modaliti de pornire a calculatorului:
Pornirea la rece (cold-boot);
Pornirea la cald (warm-boot), care se realizeaz prin apsarea tastelor Ctrl+Alt+Delete.
Pornirea la rece implic urmtorii pai:
1) Sursa de curent se iniializeaz; chipset-ul plcii de baz ateapt pentru semnalul
Power Good din partea sursei;
2) BIOS ROM procesorul localizeaz programul de boot (iniializare) al BIOS-ului;
3) POST BIOS-ul ruleaz secvena POST. Dac apare vreo eroare major, procesul de boot
se oprete;
4) Video BIOS-ul caut programul BIOS pentru placa video i l execut pentru iniializarea
plcii video;
5) Alte dispozitive BIOS BIOS-ul caut programe BIOS pentru alte echipamente BIOS (hard
disk) i le execut;
6) Ecranul de pornire BIOS-ul afieaz ecranul de pornire;
7) Memoria BIOS-ul testeaz alte componente ale calculatorului i un test de memorie;
8) Hardware BIOS-ul testeaz sistemul pentru a gsi componentele hardware (de exemplu
hard-discuri);
9) Plug and Play Configurarea dispozitivelor Plug and Play;
10) Ecranul de configurare BIOS-ul afieaz un sumar al configuraiei hardware a
sistemului;
11) Discul de boot BIOS-ul caut un disc de boot pe baza secvenei de iniializare;
12) Boot record BIOS-ul caut primul dispozitiv de boot din secven pentru MBR (Master
Boot Record) de pe un disc hard sau VBS (Volume Boot Sector) de pe o dischet floppy;
13) SO BIOS-ul ncepe s iniializeze sistemul de operare, moment n care acesta preia
controlul de la BIOS;
14) Eroare dac BIOS-ul nu gsete un dispozitiv de iniializare n cadrul secvenei de boot,
va afia un mesaj de eroare i va bloca sistemul.
Componenta BIOS este furnizat de constructor i nu de firma Microsoft, fiind localizat n
memoria ROM (Read Only Memory) n blocul de 64 KB, chiar sub limita de 1 MB a spaiului de
adresare. Procedurile BIOS sunt apelate prin intermediul vectorilor de ntreruperi i nu prin apeluri
directe, ceea ce permite constructorilor schimbarea mrimii i a amplasrii procedurilor BIOS.
Fiierul IO.SYS (IBMBIO.COM n versiunile IBM) este un fiier ascuns, care exist n toate
sistemele MS-DOS. Se utilizeaz la iniializarea calculatorului i ofer o interfa cu BIOS-ul
pentru apelurile de proceduri.
Nucleul sistemului de operare poate accesa serviciile BIOS-ului prin intermediul procedurilor
din IO.SYS. Existena acestui fiier permite o izolare mai bun a nucleului de componenta hardware.
De exemplu, nucleul nu trebuie s cunoasc ce vector de ntrerupere corespunde unui serviciu BIOS
dat, aceast informaie fiind regsit prin fiierul IO.SYS.
103

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Nucleul conine partea sistemului de operare independent de calculator i se gsete ntr-un


alt fiier ascuns, MSDOS.SYS (IBMDOS.COM). Are rolul de a gestiona procesele, memoria i
sistemul de fiiere, ca i interpretarea tuturor apelurilor de sistem.
Dup nucleu, cea de-a treia parte a sistemului de operare este shell-ul reprezentat prin fiierul
COMMAND.COM. Totui acesta poate fi nlocuit de ctre utilizator. Fiierul COMMAND.COM
realizeaz interfaa dintre utilizator i nucleul sistemului de operare, coninnd:
o parte rezident care este totdeauna n memorie;
o parte nerezident, ce se ncarc n partea superioar a memoriei, la limita celor 640 KB
i poate fi nlocuit.
4.2.2. Sistemul de fiiere. Structura discului sub MS-DOS.
Deorece discurile magnetice sunt cele mai utilizate dispozitive de memorie extern, n
dezvoltarea sistemului de operare MS-DOS, o mare atenie a fost acordat organizrii fiierelor pe
aceste tipuri de dispozitive de memorie extern. Att discurile flexibile ct i discurile de mare
capacitate ( hard disks ) au aceeai organizare sub MS-DOS.
Pe discul magnetic, informaia este stocat n fiiere. Fiierul reprezint acelai lucru pentru
discul magnetic, pe care l reprezint o carte pentru o bibliotec.
Fiecare fiier are un identificator de fiier (sau nume) asociat, compus din dou cmpuri:
- nume (filename) - format din 1pn la 8 caractere alfanumerice, mai puin caracterele: . " \ /
:|<> +=;
- extensie (extension) - format din maximum 3 caractere alfanumerice, mai puin caracterele
date mai sus. n cadrul identificatorului de fiier, cele dou cmpuri sunt scrise mpreun i
desprite de caracterul "." (punct).
Cmpul extensie desemneaz, de regul, tipul fiierului. Exist extensii standard recunoscute
de MS-DOS, cum ar fi: COM, EXE pentru programe executabile, BAT pentru fiiere de comenzi,
SYS pentru drivere sistem etc., i extensii adoptate prin tradiie de utilizatorii sistemului de operare
MS-DOS, cum ar fi: PAS pentru fiiere surs PASCAL, C pentru fiiere surs C, ASM pentru
fiiere surs scrise n limbaj de asamblare, DOC pentru fiiere documentaie etc.
Numele fiierului mpreun cu toate informaiile necesare accesului la fiier, cum ar fi: nume,
extensie, data i ora la care a fost creat fiierul, informaii de regsire a fiierului pe disc (numrul
sectoarelor ocupate de fiier pe disc) etc., sunt coninute ntr-un catalog sau director, la fel cum
numele tuturor crilor dintr-o bibliotec, mpreun cu informaiile de regsire a acestora n
bibliotec, sunt coninute ntr-un catalog sau index al bibliotecii respective.
Fiiere pot fi reunite formnd un director, care la rndul lui are un nume i o extensie la fel ca
orice fiier. ntr-un director se pot gsi fiiere, precum i unul sau mai multe directoare
(subdirectoare), care la rndul lor pot s conin alte fiiere sau subdirectoare .a.m.d. Aadar, avem
de-a face cu o structur logic arborescent pe subdirectoare a discului, structur mprumutat de la
sistemul de operare UNIX. Exist un director cu statut special, care reprezint originea arborelui de
subdirectoare i care poart numele de director rdcin. Un exemplu de organizare a discului sub
forma unui arbore de subdirectoare este artat n figura 4.2.

Figura 4.2. Exemplu de organizare a discului sub MS-DOS


Dac din punct de vedere logic un disc este vzut ca o mulime de fiiere grupate ntr-o
structur arborescent de directoare, din punct de vedere fizic, informaia este scris pe disc de-a
lungul unor cercuri concentrice, numite piste, fiecare pist fiind mprit n sectoare cu
104

CAPITOLUL 4. PRINCIPALELE SISTEME DE OPERARE

dimensiunea de 512 octei. Capul de citire/scriere al unitii de disc se mic de la o pist la alta n
timp ce discul se rotete, permind astfel capului de citire/scriere s gseasc locul din / n care
trebuie s citeasc sau s scrie.
Fiecare volum logic (o unitate fizic ntreag cum este discul flexibil, sau o partiie hard) este
"vzut" ca o secven continu de sectoare logice, ncepnd cu sectorul logic 0. Discul fix (hard
disk-ul) poate fi mprit n mai multe partiii logice, care pot fi utilizate ca discuri independente.
Orice fiier conine unul sau mai multe sectoare. n sistemul de operare MS-DOS, nu este
necesar ca un fiier s ocupe un spaiu contiguu pe disc (sectoarele fiierului respectiv s fie situate
unul dup altul), gestiunea spaiului pe disc fcndu-se prin intermediul tabelei de alocare a
fiierelor - FAT (File Allocation Table).
Discul este mprtit n 4 zone:
- BOOT - zon n care se gsete programul de ncrcare al sistemului de operare, localizat
n sectorul logic 0 al discului flexibil, sau n sectorul logic 0 al partiiei DOS active,
- DIR - zon n care se gsete directorul rdcin, organizat sub forma unui tabel, fiecare
intrare n tabel (linie din tabel), de 32 de octei, coninnd toate informaiile despre un fiier. De
exemplu, n octeii 0-7 ai intrrii corespunztoare unui fiier se gsete numele (filename) fiierului,
n octeii 8-10 extensia fiierului, n octeii 22-23 timpul la care a fost creat sau modificat ultima
dat fiierul, n octeii 24-25 data crerii sau ultimei modificri a fiierului, n octeii 26-27 numrul
primului cluster al fiierului, n octeii 28-31 dimensiunea fiierului n octei etc. Directorul
rdcin are un numr limitat de intrri, depinznd de tipul discului:
- 112 - pentru discurile flexibile de 320, 360 i 720Kb;
- 224 - pentru discurile flexibile de 1,2 i 1,4Mb;
- 512 - pentru hard disk-uri.
Un subdirector este un fiier care conine o asemenea tabel, cu structura dat mai sus,
numrul de intrri n tabel nefiind limitat.
- FAT - zon n care se gsete tabela de alocare a fiierelor. Pentru siguran, se pstreaz
dou copii ale tabelei de alocare a fiierelor, astfel nct atunci cnd una din tabele este distrus, se
poate folosi cealalt tabel, prevenindu-se pierderea informaiei de pe tot discul, prin distrugerea
informaiei de alocare a discului din FAT.
- FILE - zon n care vor fi plasate fiierele de pe disc. La nceputul acestei zone se gsesc
fiierele sistem IO.SYS i MSDOS.SYS, care ocup i primele dou poziii n directorul rdcin.
MS-DOS mparte spaiul pe disc n uniti de alocare sau cluster-e. Numrul de sectoare
coninute ntr-un cluster depinde de tipul i capacitatea discului magnetic. Orice intrare n director
(n directorul rdcin sau ntr-un subdirector) conine 32 de octei. O intrare n FAT conine 2
octei (FAT16) n cazul discurilor hard i 1,5 octei n cazul discurilor flexibile.
Pentru a specifica complet un fiier, identificatorul de fiier, format din nume i extensie,
trebuie completat cu numele unitii de disc i numele subdirectorului n care se afl fiierul. De
fapt se specific o cale de acces (path), indicndu-se modul de parcurgere al arborelui de
subdirectoare, de la directorul rdcin la subdirectorul n care se gsete fiierul.
Calea de acces se specific prin scrierea numelor de subdirectoare n ordine, desprite de
caracterul "\". Directorul rdcin se specific tot prin caracterul "\".
Numele unitii de disc, pe care se gsete fiierul, poate fi A sau B n cazul discurilor
flexibile, i C sau o alt liter, pentru discul fix sau o partiie logic pe discul fix.
Astfel, identificatorul complet al unui fiier este :
[d:][path]filename[.ext]
unde:
d - este numele unitii de disc pe care se afl fiierul,
path - este calea de acces din directorul rdcin n subdirectorul unde se afl fiierul,
filename - este numele fiierului,
ext - este extensia fiierului.
Elementele din parantez sunt opionale, deci pot s lipseasc. Sistemul de operare MSDOS
ine evidena a dou valori: disc implicit i director curent, care pot fi modificate cu ajutorul
105

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

comenzilor MS-DOS, i care nlocuiesc primele dou cmpuri din identificatorul complet de fiier,
atunci cnd acestea nu sunt specificate.
Directorul curent este directorul unde MS-DOS caut fiierele al cror identificator de fiier
a fost introdus fr specificarea directorului n care se gsesc fiierele respective. n afar de nume,
extensie, mrime fiier, data i ora ultimei modificri, informaii de regsire a fiierului pe disc etc.,
n intrarea din director corespunztoare unui fiier se memoreaz i atributele fiierului (codificate
n octetul numrul 11 din intrare), care pot fi:
- R - Read only - fiierul nu poate fi dect citit, i nu poate fi modificat sau ters.
- A - Archive - utilizat de comenzile BACKUP, RESTORE, XCOPY, pentru a marca dac
fiierul a fost sau nu procesat de ctre o comand anterioar.
- S - System - precizeaz faptul c fiierul aparine sistemului de operare, i nu trebuie utilizat
n operaii curente.
- H - Hidden - determin neafiarea numelui fiierului la comanda DIR, i face ca fiierul s
nu fie disponibil la comenzile COPY, DEL etc.
Modificarea atributelor unui fiier se poate face cu comanda ATTRIB, care poate modifica
numai primele dou atribute, precum i cu ajutorul interfeelor grafice utilizator NORTON
COMMANDER, XTG, PCSHELL, DOSSHELL.
MS-DOS simplific operaiile de intrare/ieire cu diferite echipamente periferice, asignnd un
nume de fiier rezervat fiecrui echipament de intrare/ieire. Deci, fiecare echipament de intrare/
ieire este "vzut" ca un fiier cu un nume special. De exemplu, fiierul cu numele CON reprezint
consola sistemului (ansamblul tastatur - ecran), fiind posibil afiarea unui text pe ecran prin
scrierea textului respectiv n fiierul text CON, n acelai fel n care se scrie un text n oricare alt
fiier text.
Aceste nume rezervate nu pot fi folosite ca nume de fiier obinuit, ele avnd un neles
special pentru sistemul de operare, care rezerv identificatorii respectivi pentru echipamentele de
intrare/ieire. Acestea sunt :
- CON - pentru consola sistemului;
- AUX sau COM1 - pentru interfaa serial de comunicaie numrul 1;
- COM2, COM3, COM4 - pentru interfeele seriale 2, 3, 4;
- PRN sau LPT1 - pentru prima imprimant (interfa) paralel;
- LPT2, LPT3, LPT4 - pentru interfeele paralele 2, 3, 4;
- NUL - pentru un echipament inexistent (fictiv), folosit de obicei pentru testarea programelor.
4.2.3. Lansarea sistemului de operare
La punerea sub tensiune, se execut instruciunea de la adresa fizic FFFF0H, pentru
sistemele cu microprocesor I8086 (FFFFF0H la I80286, i FFFFFFF0H la I80386 i I80486), unde
se gsete un salt necondiionat n ROM-BIOS-ul calculatorului; acea parte din BIOS-ul sistemului
de operare rezident n memoria ROM a calculatorului. Programul din aceast memorie efectueaz
urmtoarele actiuni:
- scrie i citete toat memoria RAM pentru depistarea eventualelor erori;
- testeaz componentele principale ale sistemului: discurile, tastatura etc.;
- citete microcomutatoarele (switch-urile) la calculatoarele IBM PC/XT, sau memoria CMOS
la celelalte variante de calculatoare IBM, pentru a determina configuraia curent: dimensiunea
memoriei RAM existente n sistem, numrul i tipul unittilor de disc, tipul interfeei grafice etc.
Dup toate aceste operaii, programul din ROM-BIOS ncarc programul ncrctor al
sistemului de operare (secvena BOOT), din sectorul 0, pista 0, faa 0 a primei uniti de disc
flexibil, dac exist un disc sistem n aceast unitate, dac nu ncarcarea secvenei BOOT
realizndu-se din sectorul logic 0 al partiiei DOS active, de pe discul fix. Un disc sistem este un
disc care conine secvena BOOT, mpreun cu cele 3 fiiere care compun sistemul de operare.
106

CAPITOLUL 4. PRINCIPALELE SISTEME DE OPERARE

n continuare se d controlul programului ncrctor, care ncarc fiierele IO.SYS i


MSDOS.SYS de pe discul sistem. Fiierele IO.SYS i MSDOS.SYS sunt invizibile (au atributul
hidden) i nu pot fi copiate, terse sau manipulate prin comenzi uzuale.
BIOS-ul sistemului de operare este o interfa ntre hardware-ul calculatorului i restul
sistemului de operare (implicit ntre hardware-ul calculatorului i programele de aplicaie),
asigurnd un caracter de universalitate celorlalte pri ale sistemului de operare i programelor de
aplicaie scrise sub MS-DOS. O dischet sistem poate fi folosit pe orice calculator personal
compatibil IBM, indiferent de configuraia hardware a acestuia. Funciile BIOS-ului nu se rezum
numai la etapa de iniializare a sistemului de operare, BIOS-ul controlnd direct toate operaiile
echipamentelor calculatorului: tastatur, ecran, imprimant, discuri etc.
Cea de-a doua parte a sistemului de operare, rezident n fiierul MSDOS.SYS, conine
proceduri pentru tratarea din punct de vedere logic (la un nivel superior nivelului fizic, de baz) a
operaiilor i resurselor sistemului. Aceste proceduri apeleaz la rndul lor proceduri BIOS,
configuraia hardware concret fiind transparent la acest nivel.
Interpretorul de comenzi, coninut n fiierul COMMAND.COM, citete comenzi de la
tastatur sau dintr-un fiier de comenzi, dup care, dac comanda este o comand extern, ncarc
de pe disc un fiier cu acelai nume ca i numele comenzii, i cu extensia COM, EXE sau BAT.
Dac fiierul este COM sau EXE, se d controlul programului respectiv, dac fiierul are extensia
BAT, deci este un fiier de comenzi MS-DOS, se execut rnd pe rnd comenzile din fiier.
La iniializarea sistemului de operare, dup ncrcarea primelor dou fiiere, se caut pe discul
din care a fost ncrcat sistemul, n directorul rdcin, un fiier de configurare numit
CONFIG.SYS. Dac este gsit, acesta va fi citit, i comenzile coninute n acest fiier vor fi
interpretate, configurnd sistemul de operare cu anumii parametri. Dac CONFIG.SYS nu este
gsit, sistemul de operare este configurat cu valorile implicite ale comenzilor de configurare.
Dup configurarea sistemului este ncrcat cel de-al treilea fiier - COMMAND.COM, care
preia controlul i, n primul rnd, ncearc ncrcarea (din directorul rdcin al discului sistem) i
execuia unui fiier de comenzi numit AUTOEXEC.BAT. Dac fiierul este gsit, sunt executate
rnd pe rnd comenzile din AUTOEXEC.BAT, dup care se afieaz prompter-ul sistem (de
exemplu C: \ >_ ) i se ateapt introducerea unei comenzi de la tastatur.
Deci, fiierul AUTOEXEC.BAT ne permite s lansm programe, sau s executm anumite
comenzi automat, ori de cte ori se ncarc sistemul de operare.
n sistemele de operare Windows 95 i 98 se afl n subdirectorul WINDOWS\COMMAND,
sistemul de operare MS-DOS. Intrarea n MS-DOS (Command Prompt) parcurge urmtorii pai:

a.

b.

c.

d.
Figura 4.3. a. Lansarea MS-DOS din Windows 95/98; b. Lansarea MS-DOS din Windows XP;
c. Lansarea MS-DOS din meniul run; d. fereasra prompteru-lui DOS.
1. Se execut clic stnga pe butonul Start din bara de sistem sau apsm combinaia de
taste Ctrl + Esc i ne deplasm cu sgeat n sus i apoi se alege opiunea Shut Down.
2. Selectm butonul radio cu opiunea Restart in MS-DOS mode i apsm OK.
107

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

3. Acum ne aflm n catalogul (folderul) C:\Windows i putem executa comenzi i programe


specifice MS-DOS.
Pentru revenire n sistemul de operare Window, se scrie la tastatur comanda EXIT.
n sistemele de operare Windows 2000, Me, Xp, 2003 Server, Vista se poate activa sesiunea
de lucru DOS de la butonul Start i apoi prin meniurile desfate:
Start Programs Accessories Command Prompt, sau
Start run i se tasteaz comanda cmd.
Se obine o fereastr a prompteru-lui DOS.
4.2.4. Configurarea sistemului de operare
Fiierul CONFIG.SYS este un fiier text, care conine comenzi de configurare a sistemului de
operare MS-DOS cu anumii parametri, comenzile adugate sau modificate n fiierul
CONFIG.SYS devenind active la urmtoarea lansare a sistemului de operare.
Principalele comenzi de configurare sunt urmtoarele:
Comanda BREAK care permite abandonarea programul n execuie, prin apsarea simultan a
tastelor CTRL i BREAK.
Comanda BUFFERS ce reprezint numrul buffer-elor ce vor fi deschise de sistem la lansare;
Comanda SHELL poate folosi un interpretor de comenzi diferit de COMMAND.COM,
ncrcat i plasat n memorie n locul lui COMMAND.COM.
Comanda DEVICE permite specificarea unui nume de fiier ce conine un driver de
intrare/ieire, care va fi ncrcat n memorie odat cu sistemul de operare.
Un driver este un program care controleaz toate operaiile cu un dispozitiv de intrare/ieire. Toate
celelalte programe care doresc s lucreze cu dispozitivul de intrare/ieire respectiv , vor apela
driver-ul de intrare/ieire corespunztor. La ncrcarea sistemului de operare, se ncarc automat i
driver-ele pentru ecran, tastatur, imprimant, disc magnetic i ceas. Deci, nu trebuie specificat
nici o comand DEVICE care s ncarce aceste driver-e. Atunci cnd avem un nou dispozitiv
(scaner, mouse etc.) sau cnd vrem s schimbm driver-ele standard ncrcate automat la lansarea
sistemului de operare, va trebui s specificm, printr-o comand DEVICE, fiierul ce conine noul
driver, precum i directorul n care se afl. Tot n mod automat sunt ncarcate i driver-ele
COUNTRY.SYS i KEYBOARD.SYS, la lansarea sistemului de operare.
Sistemul de operare MS-DOS este limitat din punctul de vedere al accesului la memoria
intern a calculatorului, datorit faptului c a fost proiectat pentru calculatoare care funcionau pe
baza microprocesoarelor 8086/8088, ce utilizau 1Mb de RAM. ns, datorit avansului tehnologic,
memoria fizic disponibil n PC-urile actuale a crescut simitor, iar sistemul de operare MSDOS nu
a evoluat odat cu calculatoarele. Astfel, au aprut secvene suplimentare de software, pentru a
permite sistemului de operare i aplicaiilor rulate pe el, accesul la memoria peste limita de 640Kb.
Aceste drivere de memorie se numesc memory managers. Exist urmtoarele tipuri de zone de
memorie sub sistemul MS-DOS:
- Memoria convenional - este zona de memorie cuprins ntre adresele 0Kb i 640Kb, pe
care sistemul de operare o utilizeaz n operaiile obinuite. Zona de memorie cu adrese ntre 640Kb
i 1Mb este rezervat de sistemul de operare, pentru funcii primitive ale adaptorului video,
controlerului de disc, scanner, funcii ROM-BIOS etc.
- Memoria superioar - este o zon de memorie situat n afara memoriei convenionale,
ntre 640Kb i 1Mb, coninnd ferestre de memorie din aceast zon neocupate de sistemul de
operare (BIOS), i n care se translateaz pagini din memoria extins. Deoarece MS-DOS nu
permitea accesul dect la primii 640Kb, o idee (copiat de la CP/M) a fost de a folosi o poriune (de
obicei de 64Kb) din memoria situat peste 640Kb, ca o zon de memorie tampon pentru accesul la
un volum mai mare de memorie. Prin intermediul unui driver de memorie expandat, acesta fiind
numele acestei tehnici de mrire a spaiului de memorie, se poate comuta ntre mai multe blocuri de
memorie. Sistemul poate accesa astfel o cantitate mai mare de memorie, vizibil ns prin fereastra
de 64Kb. Acest standard a cptat
108

CAPITOLUL 4. PRINCIPALELE SISTEME DE OPERARE

- Memoria extins - este zona de memorie situat dincolo de 1Mb, pe care MS-DOS o
folosete pentru anumite scopuri precise: instalarea unui RAM-disc, operaii BIOS etc. Aceast
memorie este folosit n modul protejat al procesoarelor x86 sub sistemele Windows i OS/2.
4.2.5. Procesorul de comenzi
Procesorul de comenzi COMMAND.COM asigur interfaa ntre utilizator i sistemul de
operare, prelund de la tastatur o linie de comand terminat cu caracterul ENTER, pe care o
depune ntr-un buffer intern, n vederea analizei i execuiei comenzii respective.
Primul cuvnt din linia de comand reprezint numele comenzii, i trebuie s fie numele unei
comenzi interne sau numele unui fiier cu extensia EXE, COM sau BAT, urmtoarele cuvinte din
linia de comand fiind parametrii comenzii respective.
Procesorul de comenzi accept, ca parametri n linia de comand, nume generice de fiier. Un
nume generic de fiier este un identificator de fiier care conine caracterele ? i *.
Caracterul ? se echivaleaz cu un singur caracter, n timp ce caracterul * se echivaleaz cu un
ir de caractere. Aceste caractere se folosesc n cadrul numelui (filename) i al extensiei de fiier.
Exemple:
PROG*.* - specific toate fiierele din directorul curent de pe discul implicit, al cror nume
de fiier ncepe cu irul de caractere PROG, continu cu orice ir de caractere, i au orice extensie.
B:FYLE?.C - specific toate fiierele din directorul rdcin al discului B, al cror nume
ncepe cu FYLE, se continu cu orice caracter (dar numai un singur caracter), i care au extensia C.
Caracterele de control acceptate de COMMAND.COM sunt urmtoarele:
CTRL-C sau CTRL-BREAK - ncheie execuia comenzii curente,
CTRL-ALT-DEL - rencarc (relanseaz) sistemul de operare,
CTRL-P - determin trimiterea informaiilor afiate pe ecran i la imprimant, pn cnd este
tastat urmtorul caracter CTRL-P,
F3 - scoate din buffer linia de comand sau restul liniei de comand anterioare,
F1 - scoate din buffer urmtorul caracter al liniei de comand executate anterior,
F2 C - scoate din buffer caracterele liniei de comand anterioare, pn la ntlnirea
caracterului C.
Ultimele trei caractere de control sunt utile atunci cnd s-a greit o comand, nefiind necesar
tastarea din nou a ntregii comenzi.
Tot n cadrul liniei de comand, se mai pot folosi i urmtoarele caractere speciale:
> - redirecteaz ieirea unui program de la ecran (CON) ctre un fiier sau alt dispozitiv de
intrare/ieire. Dac fiierul exista anterior, se va pierde vechiul coninut.
>> - redirecteaz ieirea unui program de la ecran ctre un fiier sau un alt dispozitiv de
intrare/ieire. Dac fiierul exist, noile informaii sunt adugate la sfritul fiierului.
< - redirecteaz intrarea unui program la un fiier sau alt dispozitiv de intrare/ieire, n locul
tastaturii (CON), programul prelund datele de intrare dintr-un fiier i nu de la tastatur.
| - cupleaz ieirea unui program cu intrarea altui program.
Exemple:
DIR A: >FILE - listeaz coninutul directorului rdcin al discului A, dar nu pe ecran, ci n
fiierul text FILE, care poate fi vizualizat ulterior, de exemplu cu comanda TYPE. Vechiul coninut
al fiierului FILE se pierde, dac fiierul FILE exista anterior pe disc.
DIR >> FILE - listeaz coninutul directorului curent de pe discul implicit, adugnd
informaiile la sfritul fiierului FILE, dac acesta exista anterior pe disc.
TYPE FILE.DAT | PROG - programul PROG va prelucra informaiile de ieire ale comenzii
TYPE FILE.DAT, coninutul fiierului text FILE.DAT va reprezenta intrarea programului PROG.
PROG < FILE - programul PROG va prelua datele din fiierul FILE, i nu de la tastatur.
Procesorul de comenzi COMMAND.COM are trei pri:
- partea rezident
- partea temporara
109

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

- partea de iniializare
Partea rezident se afl permanent n memorie, n zona de nceput a memoriei, deasupra
tabelei vectorilor de ntrerupere. Ea conine codul pentru procesarea comenzilor Ctrl-C i CtrlBreak, codul pentru trararea erorilor i codul pentru ncrcarea prii temporare cnd este necesar.
Partea temporar este cea care recepioneaz comenzi de la tastatur i care conine codul
comenzilor interne. Ea este ncrcat imediat sub limita de 640 kB a memoriei RAM. Dac
programul de aplicaie este mare, el poate s elimine partea temporar a COMMAND.COM din
memorie. n acest caz, la terminarea execuiei programului de aplicaie, partea rezident va
rencrca partea temporar.
Partea de iniializare este ncrcat n memorie numai n timpul procesuIui de ncrcare a
sistemului de operare. Ea conine codul pentru execuia lui AUTOEXEC.BAT. Acest fiier
realizeaz ultima parte a iniializrii MS-DOS-ului. Partea de iniializare este eliminat din memorie
dup ce AUTOEXEC.BAT este apelat.
Procesorul de comenzi COMMAND.COM accept trei tipuri de comenzi:
- comenzi interne
- comenzi externe
- comenzi de tip batch (indirecte)
Comenzile interne (sau intrinseci) sunt cele al cror cod este coninut n COMMAND.COM,
DIR, COPY, REN, DEL sunt exempIe de comenzi interne.
Comenzile externe sunt cele ale cror cod se afl pe disc, sub forma unor fiiere .EXE sau
.COM. Toate programele de aplicaie sunt ncrcate i executate sub form de comenzi externe.
Chiar MS-DOS are n componen programe cum ar fi CHDSK sau FORMAT, care sunt executate
ca i comenzi externe.
Att comenzile interne ct i comenzile externe ncarc programul specificul n zona de
memorie numit TPA (Transient Program Area) i apoi trasfer controlul primei instruciuni din
program. Odat ce execuia programului este terminat, codul aflat n TPA nu mai este valid.
Comenzile de tip batch sau comenzile indirecte se refer la fiiere de tip text (cu extensia
.BAT) care conin mai multe comenzi. Acest fiier este interpretat utiliznd un interpretor din partea
temporar a COMMAND.COM. Interpretorul citete fiecare linie din fiier i apoi execut comanda
corespunzatoare liniei citite.
Cnd o comand este introdus de ctre utilizator, COMMAND.COM ncearc mai nti s
gseasc un program intern cu numele respectiv. Dac detecia intern eueaz, atunci ncearc s
detecteze n calea curent un fiier cu numele respectiv i cu extensia .COM, .EXE sau .BAT (n
aceast ordine). Dac i aceast detecie eueaz, atunci COMMAND.COM afieaz mesajul "Bad
Command or File Name".
Dac un fiier cu numele specificat i extensia .EXE sau .COM este detectat, atunci
COMMAND.COM utilizeaz funcia EXEC a lui MS-DOS pentru a ncrca programul i a-i
transfera controlul. Cnd execuia programului este terminat, partea temporar a
COMMAND.COM este ncrcat din nou iar controlul revine sistemului de operare prin
intermediul COMMAND.COM.
Spre deosebire de sistemele de operare mari, MS-DOS pierde aproape tot controlul sistemului
pe durata execuiei unui program (programul are la dispoziie toate resursele calculatorului),
componente MS-DOS care rmn n control n timpul execuiei unui program sunt rutina de ceas
(care ntrerupe periodic programul aflat n execuie, pentru actualizarea timpului i datei
sistemului) i sistemul de ntreruperi al tastaturii (care permite s a se acioneze combinaia de taste
Ctrl-Break pentru a opri execuia programului i a permite revenirea n sistemul de operare).
4.2.6. Crearea fiierelor de comenzi. Fiierul AUTOEXEC.BAT.
Un fiier lot de lucrri (fiier batch) este un fiier text ce conine una sau mai multe comenzi
DOS, care se execut mpreun. Aceste fiiere de tip batch trebuie s aib extensia BAT. Pentru
executia fiierului batch, se introduce de la tastatur numai numele fiierului, fr extensie.
110

CAPITOLUL 4. PRINCIPALELE SISTEME DE OPERARE

De fiecare dat cnd este lansat sistemul de operare, dup ce se ncarc fiierul
COMMAND.COM, acesta preia controlul i ncearc ncrcarea unui fiier de comenzi, numit
AUTOEXEC.BAT, din directorul rdcin de pe discul din care a fost ncrcat sistemul, fiier care
conine comenzile ce se doresc a fi executate automat, de fiecare dat la lansarea sistemului de
operare.
Avantajele utilizrii programelor batch constau n:
-automatizarea unor procese de prelucrare, sporindu-se astfel viteza de execuie a lucrrilor;
-"personalizarea" comenzilor, realizndu-se atingerea obiectivelor propuse, precum i
proiectarea unor prompter-e i mesaje dorite.
ntr-un fiier de comenzi putem include orice comand MS-DOS (executabil de la prompt),
precum i un set de comenzi gndite special pentru acest tip de fiiere. Comenzile specifice
fiierelor batch sunt:
CALL -apeleaz un alt program batch pe care l lanseaz n execuie;
ECHO -afieaz mesaje pe ecran i suprim la dorin afiarea comenzilor programului batch
ce se execut;
FOR -execut repetat o comand pentru un grup specificat de fiiere;
GOTO -determin executarea unui salt ntr-un punct al programului marcat printr-o etichet;
IF -execut o comand n funcie de ndeplinirea unei condiii;
PAUSE -oprete temporar execuia programului batch; reluarea execuiei se va face prin
aciunea oricrei taste.
REM -permite intorducerea unor comentarii n cadrul programului;
SHIFT -modific valoarea unor parametri n cadrul programului batch.
4.2.7. Comenzile sistemului de operare MS-DOS
Comenzile sistemului de operare MS-DOS se mpart n 6 categorii:
1. Comenzi pentru lucrul cu directori dintre care amintim :
APPEND - permite programelor s deschid fiiere de date dintr-un director oarecare ca i
cum aceste ar face parte din directorul curent.
CD - afieaz sau schimb directorul curent.
DIR - afieaz lista fiierelor i subdirectoarelor unui director.
DELTREE terge o structur de fiiere i directori (sub Windows nu mai este activ).
MD - creaz un director.
PATH - seteaz o cale de cutare pentru fiierele executabile.
RD - terge un director.
TREE - afieaz structura de directoare a unui disc.
2. Comenzi pentru lucrul cu fiiere :
ATTRIB - afieaz sau schimb atributele unui fiier.
BACKUP - salvarea unuia sau mai multor fiiere de pe un disc pe altul.
RESTORE - reface fiiere salvate cu comanda backup.
COMP - compar coninutul a dou fiiere.
COPY - copiere de fiier sau grupuri de fiiere ntr-o alt locaie. Comanda poate fi folosit i
pentru combinarea fiierelor, respectiv concatenarea.
DEL - terge fiierul (fiierele) specifacat.
FASTOPEN - permite localizarea mai rapid a fiierelor, crescnd viteza aplicaiilor ce
lucreaz cu multe fiiere.
FIND - filtru DOS ; caut un ir de caractere ntr-un fiier sau ntr-un grup de fiiere.
MORE - execut o ieire pe monitor afind cte un ecran.
PRINT - depune un fiier text n coada de ateptare la tiprire; fiierul va fi tiprit pe
imprimant cnd i va veni rndul; ntre timp, uitlizatorul poate executa alte comenzi MS-DOS.
111

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

SHARE - permite partajarea fiierelor ntre mai muli utilizatori, cnd se lucreaz n reea.
SORT - citete o intrare , ordoneaz datele i scrie rezultatele pe ecran sau ntr-un fiier poate
fi folosit ca un filtru nlnuit cu alt comand.
RENAME - schimb numele unui fiier sau unui grup de fiiere.
TYPE - afieaz coninutul unui fiier text.
UNDELETE - Reface fiierele terse cu comanda DEL.
XCOPY - copiaz fiiere i directoare incluznd subdirectoarele acestora.
3. Comenzi pentru lucrul la nivel de discuri :
CHKDSK - afiaz un raport de stare al discului referitor la ocuparea acestuia i la erorile
logice ntlnite n tabela de alocare a fiierelor (FAT)
DISKCOPY - copiaz coninutul unui disc floppy pe un alt disc formatat sau neformatat
DISKCOMP - compar coninutul a dou discuri floppy compararea se face pist cu pist
numrul de sectoare pe pist se determin analiznd primul disc specificat
FDISK - lanseaz programul de configurare a harddiscului n format utilizabil de MS- DOS
FORMAT - formateaz un disc i creaz pe el tabela de alocare a fiierelor (FAT) precum i
directorul rdcin; programul detecteaz i marcheaz unitile de alocare (CLUSTERS),
defecte i poate crea programul ncrctor (BOOT) pentru un disc sistem; el poate copia pe
disc, la cerere, fiierele sistem IO.SYS, MSDOS.SYS i COMMAND.COM.
JOIN - conecteaz o unitate de disc la o cale specificat de pe o alt unitate, crendu-se o
singur structur de directoare pentru cele dou uniti. Unitile nu vor mai fi denumite
astfel prin litere distincte.
LABEL - creaz, schimb sau terge o etichet de volum pe disc.
MSAV program antivirus.
SCANDISK program de verificare a starii discului.
SYS - copiaza fiierele sistem precum i interpretorul de comenzi.
UNFORMAT - reface un disc ters cu o comand FORMAT sau reorganizat cu RECOVER
reface tabela de partiii a unui harddisc.
VERIFY - verific corectitudinea operaiilor de scriere pe disc.
VOL - afieaz eticheta de volum disc i numrul de serie dac exist.
4. Comenzi pentru interfaa cu utilizatorul :
CLS - golire ecran i poziionare cursor n poziia 0,0
HELP - afieaz informaii ajuttoare despre comenzile disponibile ale MS DOS
PROMPT - schimb prompturile MS-DOS de pe linia de comand
5. Comenzi pentru fixarea unor parametrii de lucru :
COMMAND - pune n funciune un nou procesor de comenzi.
DATE - afieaz sau seteaz (schimb) data curent.
KEYB - permite schimbarea modului de afiare a datei i orei curente, a monedelor naionale
precum i schimbarea seturilor de caractere.
MEM - afieaz memoria folosit i cea ramas liber n sistem precum i starea programelor
existente n memorie.
MODE - este utilizat pentru redirectarea imprimantei paralele ctre un port serial.
MSD program de diagnostic (de ntreinere).
RECOVER - recupereaz toate cluster-ele nedistruse ale fiierului specificat i marcheaz
cluster-ele defecte n FAT, pentru a preveni alocarea ulterioar a acestora.
SET - echivaleaz irul de caractere desemnat prin nume, cu irul de caractere desemnat prin
parametru. Aceste echivalri sunt folosite de programele din sistem.
TIME - afieaz timpul sistemului i permite setarea ceasului.
VER - afieaz versiunea MS -DOS folosit.
112

CAPITOLUL 4. PRINCIPALELE SISTEME DE OPERARE

6. Comenzi specifice fiierelor de comenzi:


comenzi utilizate n fiierele de comenzi (*.bat) : CALL, CHOICE, ECHO, FOR, GOTO,
IF, PAUSE, REM, SHIFT
comenzi de configurare n fiierul config.sys : BREAK, BUFFERS, CONTRY, DEVICE,
DEVICEHIGH, DOS, DRIVPARM, FCBS, FILES, INCLUDE, INSTALL, LASTDRIVE,
MENUCOLOR, MENUDEFAULT, MENUITEM , NUMLOCK, REM, SET, SHELL,
STACKS, SUBMENU, SWITCHES.
4.3. SISTEMUL DE OPERARE UNIX
4.3.1. Concepte de baza
La originea sistemului de operare UNIX a stat proiectul lansat de laboratoarele Bell n anul
1969, ce viza realizarea unui mediu de programare pentru cercetare i dezvoltare n domeniul
programarii. Noul sistem de operare, numit UNICS, a fost realizat pe un calculator PDP-7 i a fost
gndit iniial ca un sistem monoutilizator. Dup lansarea primului compilator pentru limbajul C
(1972) sistemul de operare a fost rescris n acest limbaj i lansat sub numele de UNIX. Sistemul de
operare UNIX a reprezentat, n momentul lansrii, principala soluie de standardizare n domeniul
sistemelor de operare, un sistem deschis disponibil pe o gam foarte larg de sisteme (mainframeuri, mini i microcalculatoare).
Sintetiznd, principalele caracteristici definitorii ale sistemului de operare UNIX sunt:
- sistem de operare robust;
- disponibil pe o gam foarte larg de platforme: de la PC-uri la, staii de lucru i
mainframe-uri;
- un sistem de operare portabil de pe o arhitectur pe alta; acest lucru este determinat de
scrierea sa in limbaj C; portabilitatea vizeaz att sistemul de operare nsui, ct i soft-ul de
aplicaie dezvoltat sub acest sistem;
- sistem deschis: muli programatori au putut s adauge propriile programe asigurnd
facilitati noi sistemului de operare;
- sistem de operare de tip time sharing, multitasking i multiutilizator; sistemul de
operare realizeaz planificarea proceselor, alocarea unei cuante de timp fiecrui proces i
activarea/dezactivarea acestora pentru a asigura folosirea la capacitate maxim a procesorului;
paralelism efectiv se poate realiza doar pe sistemele multiprocesor, iar n cazul sistemelor
monoprocesor se realizeaz o intreesere a proceselor;
- gestioneaz un sistem de fiiere organizat ierarhic-arborescent;
- operaiile de intrare/ieire sunt integrate n sistemul de fiiere (fiiere speciale );
- gestiunea memoriei se face printr-un mecanism ce permite schimbul de pagini ntre
memoria RAM -rezervat unui proces i cea extern swap-memory;
- permite asigurarea proteciei fiierelor i a mediului de executie, prin intermediul parolelor;
- promoveaz modularitatea i dispune de un sistem de gestiune a proceselor;
- dispune de un sistem de gestiune a proceselor;
- este un sistem de operare interactiv;
- ofer utilizatorilor o larg palet de componente software: compilatoare pentru limbaje de
nivel nalt (BASIC, COBOL, C, C ++, FORTRAN, PASCAL, PROLOG, LISP etc.) la care se
adaug utilitare diverse acoperind un spectru larg de aplicaii: lucrul cu baze de date, reele de
calculatoare, grafic, inteligen artificial, instruire asistat de calculator etc.;
- calculatoarele lucrnd sub sistemul de operare UNIX ofer utilizatorilor posibilitatea rularii
aplicaiilor scrise sub MS-DOS n paralel cu aplicaiile scrise sub UNIX;
Are i dezavantaje ca incompatibilitatea cauzat de multiplele implementri i caracterul
su criptic i poate prea tehnic.
Lansarea sistemului de operare Windows NT a nsemnat nceputul unei perioade grele pentru
sistemele UNIX care pn atunci dominau piaa sistemelor conectabile la Internet.
113

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Sistemul de operare UNIX a introdus o serie de concepte specifice:


a) conceptul Kernel reprezentnd nucleul sistemului de operare;
b) fiiere speciale definind dispozitive periferice de intrare sau ieire;
c) procesul, unitatea fundamental de execuie n UNIX definind un program aflat n
execuie caracterizat prin resursele pe care le utilizeaz: zona de memorie destinat pentru stocarea
programului ce se execut i a datelor prelucrate de acesta, fiierele deschise la un moment dat etc.
d) pipe, desemnand o structura de date i o metod de sincronizare a proceselor, astfel
ncat unul sau mai multe procese scriu date n acest fiier temporar din care sunt citite apoi de ctre
alte procese;
e) swap-memory: memorie auxiliar rezident pe disc; o aplicaie poate utiliza n mod
transparent un spaiu de memorie mai mare dect cel disponibil n memoria intern, sistemul de
operare realiznd transferul ntre memoria principal i disc a paginii de memorie necesar . O
pagina de memorie care nu este utilizat mai mult timp va fi transferat din memoria intern, pe
disc, pentru a face loc paginilor de memorie necesare aplicaiilor aflate n execuie.
4.3.2. Structura sistemului de operare UNIX
Sistemul de operare UNIX prezint trei componente:
a) interfaa cu utilizatorul (Shell);
b) nucleul sistemului de operare (Kernel);
c) componente software de aplicaie.
a) Interfaa cu utilizatorul are rolul de a prelua comenzile utilizatorului, de a le analiza i lansa
n execuie. Interfaa este reprezentat de un program numit SHELL ce poate fi ales dintr-o palet
destul de larg (C Shell, Bourne Shell, Kom Shell etc.). Pe lng interfaa de tip caracter, clasica, ce
presupune tastarea comenzilor de ctre utilizator, UNIX dispune astzi de o interfa grafic i este
mult mai prietenos. Un script reprezint un program ce poate fi executat de ctre un Shell, fiind un
fiier text ce poate conine comenzi UNIX, bazate pe programe de sistem i comenzi specifice
Shell-ului.
b) Kernel-ul reprezint nucleul sistemului de operare. Acesta se ncarca la pornirea
calculatorului i are rolul de a planifica i controla execuia proceselor, gestiunea memoriei,
gestiunea dispozitivelor periferice, gestiunea fiierelor.
Subsistemul de control al proceselor realizeaz planificarea, sincronizarea i comunicarea
dintre procese, precum i gestiunea memoriei. La gestiunea proceselor trebuie subliniate
caracteristicile de time-sharing i multitasking realizate de UNIX.
Crearea unui nou proces se realizeaz n dou etape :
1. Se execut funcia fork care realizeaz o copie fidel (numita proces-fiu) a procesului
aflat n execuie, numit proces printe;
2. n procesul-fiu se execut funcia exec, ceea ce va produce nlocuirea procesului curent
cu un alt proces ncrcat dintr-un fiier executabil. O combinaie a mecanismului fork-exec este
faptul c toate procesele aflate n execuie au fost lansate, direct sau indirect, de catre alte procese
sau chiar de un proces iniial, numit init ce se lanseaz automat n execuie la pomirea
calculatorului.
Funcia de gestionare a fiierelor presupune alocarea memoriei exteme pentru stocarea i
regasirea rapid a fiierelor, eliberarea spaiului de memorie extern n urma tergerii de fiiere,
structurarea sistemului de fiiere sub forma unui arbore, ceea ce-i asigura flexibilitate i uurin n
utilizarea, protejarea fa de accesul neautorizat la fiiere.
Serviciile de sistem ofer utilizatorului posibilitatea s administreze sistemul, s-i
configureze mediul de lucru, s gestioneze sistemul de fiiere (prin crearea de noi conturi,
specificarea parametrilor de control ai accesului utilizatorilor la fiiere etc.).
c ) Sistemul de operare Unix pune la dispoziia utilizatorilor o palet larg de software de
aplicaie, cuprinznd: compilatoare, interpretoare, sisteme de gestiune a bazelor de date, procesoare
de texte, programe pentru grafic, instrumente IA etc.
114

CAPITOLUL 4. PRINCIPALELE SISTEME DE OPERARE

4.3.3. Sistemul de fiiere UNIX


Sistemul de operare UNIX utilizeaz urmtoarele categorii de fiiere:
Fiiere text
Fiiere de date
Fiiere surs (ce conin codul surs al unor programe)
Fiiere executabile
Programe shell
Fiiere legtur
Fiiere asociate unor dispozitive
a) Fiiere text reprezint cel mai simplu tip de fiiere l constituie fiierul text, ce conine
doar caractere (ASCII -American Standard Code for Information Interchange).
b) Fiiere de date conin date utilizate de diverse aplicaii de pe sistem.
c) Fiiere cod surs conin date scrise ntr-un limbaj de programare (C, C++, Java, Pascal,
Fortran etc.) i vor avea extensia corespunztoare limajului de programare.
d) Fiiere executabile reprezint programe obinute cu ajutorul unui compilator (sau
interpretor) i editor de legturi ce pot fi rulate (executate).
e) Programe de tip shell. Un fiier de tip shell este att un fiier text ct i un fiier ce poate fi
rulat. El conine linii text ce reprezint instruciuni legate de programarea shell; de regul,
prima linie din program este o linie ce ncepe cu secvena de caractere #! i precizeaz tipul de
shell utilizat.
f) Fiiere de tip legtur. Un fiier legtur (link) este o referin ctre un fiier stocat n alt
locaie n sistem. n loc s avem dou sau mai multe copii ale unui fiier pe disc, putem crea o
legtur ctre un fiier deja existent pe sistem.
g) Fiiere asociate unor dispozitive, denumite n UNIX device special files(sau, pe scurt,
fiiere device) conin informaii legate de componente hardware ale calculatorului i sunt fiiere
speciale cu referire (de regul) la funcii de administrare a sistemului.
Tipurile de fiiere UNIX sunt prezentate n tabelul 4.1. i au urmtoarele caracteristici:
Tabelul 4.1.
Tipuri de fiiere UNIX
Tipul de fiier
d
b
c
l
M
P
S

b) Descriere
Fiier simplu ("ordinary file")
Director
Fiier bloc ("block special")
Fiier caracter ("character
special")
Fiier legtur ("link")
Fiier de memorie partajat
("shared memory")
Fiier pipe ("named pipe")
Fiier semafor ("semaphore")

`Fiierele simple (-)


Nu este impus nici o structur asupra coninutului acesta reprezint o niruire de octei;
Aceste fiiere pot fi text (ASCII) sau binare.
Fiiere director (d)
Reprezint un fel de tabel de fiiere;
Are o structur intern precis definit;
Ofer posibilitatea organizrii sistemului de fiiere.
Fiierele bloc (b)
Identific un dispozitiv;
Este un bloc de I/O;
Pot identifica uniti floppy, hard-discuri, uniti de band.
115

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Fiiere caracter (c )
Identific un dispozitiv;
Reprezint caractere de I/O;
Pot identifica porturi seriale, paralele (terminale, imprimante).
Fiiere de legtur simbolic (l)
Sunt fiiere pointer ctre alt fiier existent;
Sunt de regul folosite pentru a oferi un alias altui fiier.
Fiiere de memorie partajat (m)
Permit mai multor programe s acceseze un spaiu comun de memorie;
Folosite de regul de programele de aplicaii.
Fiiere pipe (p)
Folosite pentru a transmite date ntre comenzi sau programe.
Fiiere semafor (s)
Folosite pentru sincronizarea proceselor active concurente;
Folosite de programele de aplicaii.
Fiecare fiier prezint un i-nod care conine urmtoarele informaii:
-proprietarul fiierului (u; d);
-grupul de utilizatori cruia i aparine proprietarul (gid);
-drepturile asupra fiierului;
-tipul fiierului specificat n cadrul i-nod-ului astfel:
d -director
-fiier obiinuit
p -pipe
c -fiier special de tip caracter
b -fiier special de tip bloc etc.
-data crerii;
-data ultimei modificri;
-data ultimului acces;
-lungimea fiierului etc"
Chiar dac pe disc mai exist spaiu disponibil pentru stocarea de date, n momentul n care
toate i-nod-urile au fost utilizate nu se mai pot crea noi fiiere.
Fiierele prezint un nume format din maxim 14 caractere i opional extensie.
Specificarea unui grup de fiiere se poate realiza utiliznd metacaracterele: ? , * (wildcard-uri).
Directoarele sunt vectori de legturi (link-uri). Ele permit asocierea unui nume de fiier la un
i-nod. Structura unui link este:
-bit-ul care prin valoarea 0 sau 1 indic faptul c link-ul este liber sau ocupat;
-numele fiierului;
-i-nod-ul asociat fiierului.
Un director conine cel putin dou link-uri:
a) primul este . care reprezint un link la i-nod-ul directorului nsuii;
b) al doilea este .. care reprezint link-ul la directorul printe.
Fiierele nu sunt incluse n directoare. Directoarele gestioneaz nite pointeri (numrul de inod) spre fiierele propriu-zise, asociindu-le. De aceea, pot lista link-uri multiple la un acelaii inod, n acelaii director sau n directoare diferite.
Operaiile asupra fiierelor impun specificarea numelui de fiier, la nivel fizic, se opereaz
prin i-nod. Astfel, pentru a crea un fiier, trebuie s i se aloce acestuia un i-nod i apoi definit un
link. n urma comenzilor de tergere a fiierelor, se produce de fapt tergerea link-urilor i deci
decrementarea numrului de referin (bit-ul devine 0). n cazul n care fiierul "ters" nu este
deschis de nici un proces n acel moment blocurile sale de date sunt trecute pe lista blocurilor libere.
Spre deosebire de sistemul de operare MS-DOS unde exista un singur director curent, n cazul
UNIX-ului fiecare proces are un director curent.
116

CAPITOLUL 4. PRINCIPALELE SISTEME DE OPERARE

Specificarea unui director ca fiind director curent presupune lansarea comenzii CD i


specificarea cii de directoare (succesiunii de directoare ctre directorul dorit).
Ca o particularitate fa de MS-DOS, numele de directoare sunt separate prin caracterul / (i
nu cum suntem obiinuii n cazul sistemului de operare MS-DOS prin \).
La nivel de director, sunt stabilite n UNIX trei feluri de drepturi:
r -indica dreptul de a citi coninutul directorului (de a afla i-nod-ul ce corespunde unui nume);
x -indica dreptul de a citi coninutul unui i-nod;
w -indica dreptul de a crea\terge directoare.
Dintre directoarele prezentate n fig. 4.4. prezentm rolul unora dintre acestea:

Fig. 4.4. Structura arborescent de directoare a sistemului de operare UNIX


directorul BIN conine majoritatea programelor executabile necesare functionarii
sistemului ii accesul utilizatorilor la resursele sistemului;
directorul DEV conine fiierele speciale la care sunt asociate perifericele de I/E; fiiere
ce specific numele de identificare (numite major i minor) necesare identificrii controllerului de interfa cu perifericele i fiecare periferic gestionat de respectivul controller;
directorul LIB conine bibliotecile sistem i bibliotecile de aplicaie;
directorul ETC conine fiiere de configurare;
directorul TMP conine fiiere temporare generate de diferitele procese;
directorul USR conine la rndul su alte directoare dintre care amintim:
MAN -conine manuale ( documentaii);
SPOOL -conine fiiere pentru imprimant;
SYS -textul surs al sistemului de operare;
USERS -directoare pentru fiecare utilizator .
4.3.4. Sistemul de protecie al fiierelor
n UNIX exist trei categorii de utilizatori:
proprietar (u) reprezentat de utilizatorul ce a creat un fiier;
fiecare utilizator poate face parte dintr-un grup (g)
i ceilali utilizatori (o).
Fiecare dintre aceste trei categorii de utilizatori poate dispune de unul din urmtoarele
drepturi asupra fiierelor:
r (read) a citi;
w (write) a modifica;
x (execuia) a executa n fiier.
Rezult c unui fiier i vor fi asociate cele 9 drepturi, cte trei pentru fiecare categorie de
utilizatori. Sistemul de protecie al accesului la fiier va urmri dac prin procesele iniiate
utilizatorul ncalc sau nu drepturile ce i-au fost atribuite.
Exemplu:
Fie fiierul DOCUMENT cruia i sunt asociate urmtoarele drepturi de acces rw xr-wxr-w-x.
Rezult c toate drepturile asupra fiierului le are proprietarul, grupul are dreptul de a citi i
executa, iar ceilali utilizatori doar de a citi.
4.3.5. Comenzile sistemului de operare UNIX
Comenzile sunt programe executabile, aparinnd sistemului de operare, realiznd anumite
funcii. Ele sunt lansate n execuie de catre Shell dup introducerea lor de la tastatur de ctre
utilizator.
117

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Exist dou categorii de comenzi UNIX:


-comenzi privilegiate ce pot fi lansate doar de administratorul de sistem;
-comenzi neprivilegiate ce pot fi lansate de oricare utilizator;
La rndul lor aceste comenzi, dup funciile ce le executa, se clasifica n:
comenzi pentru lucrul cu directoare: CD, LS, MKDIR, PWD,RMDIR;
comenzi pentru gestiunea fiierelor obiinuite: MORE, PG, FIND,RM, MV,
CRYPT, CMP, CHOWN/CHGRP , CHMOD;
comenzi pentru lucrul cu perifericele: CANCEL, LPSTAT, LP, TTY;
comenzi pentru gestiunea proceselor: AT, KILL, PS, SLEEP, SH;
comenzi informaionale: DATE, LOGIN, PASSWD, WHO.
Sintaxa generala a comenzilor UNIX este:
comanda [optiuni] ["specificator fiier"]
ntreruperea din execuie a unei comenzi se face prin tastarea simultan a tastelor CTRL i C.
Comenzi pentru lucrul cu directoare:
Comanda CD schimb directorul curent.
Comanda LS listeaz coninutul unui director (unor directoare).
Comanda MKDIR permite crearea unui nou fiier director.
Comanda PWD afiieaz numele directorului curent.
Comanda RMDIR terge un director (directorul este vid).
Comanda CHMOD modific drepturile de acces la fiierul specificat.
Comanda CMP compar coninutul a dou fiiere text.
Comanda CRYPT criptarea coninutului unui fiier n vederea asigurrii proteciei lui;
criptarea se realizeaz prin parola precizat de utilizator.
Comanda FIND permite cutarea unui fiier n directorul specificat.
Comanda MORE afiieaz coninutul fiierului specificat.
Comanda MV mut/redenumete un fiier .
Comanda PG afiarea conintitului unui fiier (sau al mai multor fiiere) pagin cu pagin
(prin acionarea tastei ENTER se produce saltul la pagina urmtoare).
Comanda RM terge fiieru/fiierele specificate.
Comenzi pentru lucrul cu perifericele
Comanda CANCEL analizeaz o comand de listare lansat anterior. De obicei aceast
comand este precedata de comanda LPSTAT pentru a cunoate identificatorul cererii de
listare ce trebuie anulat.
Comanda LPSTAT afieaz informaii referitoare la imprimantele din sistem i
comenzilor de listare lansate ce urmeaz a fi executate.
Comanda KILL oprete un proces aflat n execuie.
Comanda PS afieaz starea proceselor active
Comanda SLEEP suspend temporar execuia unui proces.
Comanda SH lanseaz n execuie fiierele de comenzi Shell.
Comenzi informaionale
Comanda DATE afieaza data i ora sistem.
Comanda LOGIN permite iniierea unei sesiuni de lucru de ctre un utilizator, fr ca
sesiunea de lucru deschis anterior de un alt utilizator s se fi ncheiat; deschiderea
sesiunii presupune introducerea codului de identiticare i parola utilizatorului.
Comanda PASSWD instaleaz /modific parola
4.3.6. Implementri ale sistemului de operare UNIX
Sistemul de operare UNIX cunoate multiple implementri: HP-UX de la Hewlett-Packard,
Ultrix de la Digital, AIX de la IBM, Solaris de la SUN, la care se adaug implementri distribuite
gratuit LINUX.
Dou dintre familiile importante ale sistemului de operare UNIX sunt:
118

CAPITOLUL 4. PRINCIPALELE SISTEME DE OPERARE

UNIX System V Release 4, cunoscut de regul sub denumirea de SVR4 sau V.4, deriv din
modelul original dezvoltat la Bell Laboratories, cunoscut mai trziu sub numele de UNIX Systems
Laboratory (USL) i vndut apoi ctre SCO (Santa Cruz Operation) i
Berkeley Software Distribution (BSD) versiunea 4.4., variant cunoscut sub denumirea de
4.4 BSD. Exist ns o mare varietate de sisteme de operare UNIX, majoritatea acestora fiind
similare deoarece sunt bazate pe standardul SVR4. Celelalte varieti sunt bazate pe BSD. UNIX a
devenit o marc nregistrat (deinut de The Open Group www.opengroup.org), de aceea fiecare
productor de UNIX i-a ales propriul nume. Spre exemplu, versiunea de UNIX a firmei Sun se
numete Solaris, a firmei IBM se numete AIX iar a firmei Hewlett Packard se intituleaz HP-UX.
n tabelul 4.2. sunt prezentate o serie de implementri UNIX, platformele hardware pe care
acestea activeaz precum i vnztorii produselor. Aceste variante de UNIX sunt concepute s
ruleze pe platformele hardware specifice firmelor care le-au dezvoltat. Unele variante ns ruleaz
pe mai multe platforme hardware; spre exemplu, Solaris ruleaz att pe staii de lucru Sun ct i pe
staii cu microprocesoare Intel i pn la computere de tip mainframe i supercomputere.
Diferite implementri de UNIX
Tabelul 4.2.
Implementarea
UNIX
A/UX
AIX

HP-UX
Linux
NextStep
OSF/1 i Ultrix
SCO OpenServer
Solaris
UNIXWare

Platforma hardware
Macintosh
Staii i mainframe-uri IBM,
RS/6000
Staii HP RISC
Intel x86
Intel 486 sau Pentium, Next
Staii DEC VAX i Alpha
Intel 486 sau Pentium
Staii Sun Sparc i Intel x86
Intel 486 sau Pentium

Vnztor
Apple Computer
IBM
Hewlett-Packard
Corporation
Shareware
Next Computer
Digital Equipment
Santa Cruz Operation
SunSoft
Novell

Ultimul sistem de operare derivat din kernelul UNIX l reprezint Linux-ul, conceput s
ruleze pe microprocesorul Intel de la staii de lucru ieftine (chiar i 386!) pn la servere
performante. Linux-ul a devenit foarte popular printre specialitii entuziati ai computerelor n
necesitatea gsirii unui sistem de operare stabil i ieftin.
4.4. SISTEMUL DE OPERARE LINUX
4.4.1. Arhitectura sistemului de operare Linux
Sistemul de operare Linux a fost dezvoltat ca o versiune distribuit gratuit de UNIX, acesta
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.
119

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

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 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.
Linux are toate trsturile UNIX-ului i extensii recente care i-au adugat mai multa flexibilitate.
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. 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 softwareului. Multe dintre compilatoarele Linuxului, instrumente, debuggere i editoare provin de la proiectul GNU Free Software Foundation.
4.4.2. Distribuii Linux
Linux este numele nucleului unui sistem de operare asemanator cu UNIX. Exista mai multe
sisteme de operare bazate pe nucleul Linux. Acestea se numesc distribuii i fiecare are un nume.
Fiind un sistem de operare complet, o distributie contine:
nucleul Linux;
un program pentru instalarea sistemului de operare;
interfee grafice (managere de ferestre);
programe pentru lucrul cu fiiere i directoare (managere de fiiere)
programe utilitare pentru: configurarea sistemului de operare, Internet, grafic,
multimedia, etc;
jocuri;
implementri ale unor limbaje de programare C, C++, Pearl, etc;
documentaie n mai multe formate (HTML, pagini de manual, etc.);
codul surs pentru orice program din distribuie.
O diferen important fa de UNIX este aceea c toate distribuiile Linux folosesc acelai
nucleu (kernel n limba englez), care este controlat de Linus Torvalds.
O nou versiune de kernel apare la fiecare dou sptamni i poate fi descarcat de pe Internet
la adresa www.kernel.org.
Una dintre diferenele majore este programul de instalare. Unele programe de instalare sunt
grafice, interactive, altele lucreaz numai n modul text, iar altele pur i simplu creaz directorii i
copiaz fiierele n directoarele corespunztoare.
O alt diferen const n fiierele i directorii cu care lucreaz distribuia, difer managerele
de ferestre, managerele de fiiere i programele utilitare.
Orice distribuie Linux permite lucrul cu sistemul de operare in dou moduri: modul text,
folosit mai mult de profesioniti i modul grafic folosit de utilizatorii nceptori. n modul text se
lucreaz ca in sistemul de operare MS-DOS, iar n modul grafic ca n Windows 95/98/XP/ Vista.
Sistemul de operare Linux se gsete n mai multe distribuii n funcie de productorul lor i
de software-ul inclus. Unele pot fi orientate spre utilizatorul casnic, altele ctre servere sau ctre
utilizatorii cu calculatoare mai vechi. Cele mai folosite distribuii de Linux sunt:
Fedora Core - nscut din proiectul RedHat, dar coninnd exclusiv software liber, i
disponibil gratuit de pe Internet.
SuSE Linux - o distribuie orientat att spre servere ct i spre staii de lucru i desktopuri,
faimoas pentru uurina n utilizare i configurare. Produs de compania german Suse, parte a
grupului Novell.
TFM/GNU Linux - distribuie de Linux Server i Workstation 100% romneasc, stabil,
uor de instalat i nu necesit cunotine avansate de linux. Produs de compania TFM Group
120

CAPITOLUL 4. PRINCIPALELE SISTEME DE OPERARE

Mandriva Linux, fost Mandrake Linux, o alt distribuie uor de utilizat, orientat spre
piaa desktop, creat de compania francez Mandriva.
Debian GNU/Linux, una din distribuiile cele mai vaste de pe Internet, coninnd un numr
uria de pachete. Inventatorii managerului de pachete apt i al pachetelor deb.
Gentoo Linux, o distribuie orientat spre performane i optimizri maxime. Notorie pentru
timpul foarte lung necesar instalrii (majoritatea pachetelor se compileaz i optimizeaz pentru
sistemul pe care se face instalarea - de aici viteza mare a sistemelor Gentoo instalate, nu se copiaz
ca n cazul celorlalte distribuii) i pentru instalarea dificil dar i pentru managerul de pachete i de
sistem foarte avansat (portage).
Slackware Linux, o distribuie axat pe servere, una din cele cu istoria cea mai lung, notorie
pentru moto-ul "Pstreaz-l simplu", ducnd la lipsa multor unelte de configurare simplificat, dar
i la o vitez mare de lucru, posibilitate de a-l instala pe hardware mai vechi, i la o simplitate n
organizarea sistemului.
NimbleX, o distribuie versatil, fabricat in Romania i bazat pe Slackware care ruleaz
direct de pe CD, USB sau chiar i LAN. Partea cea mai atractiv a sa este faptul c, dei este mic,
NimbleX-ul are o interfa grafic puternic i frumoas i o mulime de programe incorporate
pentru navigarea pe Internet, editarea de documente, ascultarea muzicii, rularea filmelor etc.
Knoppix, o distribuie complet care ruleaz direct de pe CD, nu instaleaz absolut nimic pe
hard disk, putnd fi folosit att pentru cltorii sau demonstraii ct i pentru diagnosticri de
sistem, reparri, recuperri de date etc.
Slax, o alt distribuie care ruleaz direct de pe CD, dar de data asta capabil s ncap pe un
flash drive de 256 MB.
Ubuntu, o distribuie orientat spre utilizatorul obinuit, foarte popular prin faptul c este
foarte aerisit, uor de utilizat i configurat, dar n acelai timp puternic i stabil. n prezent
formeaz o ntreag familie de distribuii strns nrudite: Kubuntu (folosete KDE), Xubuntu
(folosete Xfce), Edubuntu (orientat spre educaie).
RedHat Linux - una din cele mai cunoscute distribuii, acum orientat exclusiv spre piaa
serverelor i spre mediul de afaceri. A dat natere proiectului Fedora Core.
PCLinuxOS uur de instalat - ideal pentru nceptori.
Cele mai multe din distribuiile de mai sus pot fi descrcate legal i gratuit de pe siturile
respective. Anumite distribuii vnd manuale, sau seturi complete CD + manuale + suport tehnic +
documentaie aferent.

a.

b.

c.

d.
e.
f.
Fig 4.5. Distribuii Linux, a. Red Hat; b. Debian; c. Mandriva; d. Slackware; e. Ubuntu; f. Kubuntu
121

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

4.4.3. Caracteristicile principale ale distribuiei Red Hat


n anul 1995 Bob Young i Marc Ewing au nfiinat firma Red Hat. Numele firmei vine de la
plria roie pe care o purta Bob atunci cnd programa. Astazi firma detine peste 70% din piaa
distribuiilor Linux. Principalele venituri ale firmei nu provin din vnzarea de software (numai 5%
dintre utilizatorii unei distribuii Red Hat o pltesc) ci din servicii: cursuri, consultan, etc.
Elementele caracteristice ale distribuiei Red Hat sunt:
uor de instalat: instalarea se face printr-un program grafic (Anaconda), are loc detectarea
automata a componentelor hardware, partiionarea automat;
uor de utilizat: dispune de dou interfee grafice simple i interactive (GNOME i KDE);
conine multe aplicaii multimedia i jocuri;
dispune de programe pentru administrarea utilizatorilor, controlul echipamentelor
hardware (ofer suport pentru 500 de tipuri de imprimante, recunoate dispozitivele USB);
permite accesul rapid la Internet;
ofer trei suite de tip Microsoft Office gratuit: OpenOffice, Koffice i suita GNOME;
permite execuia programelor scrise pentru Windows sau MS- DOS;
permite ncrcarea sistemului de operare (bootare) de pe hard disk, dischet sau CDROM;
ofer o securitate deosebit;
permite accesul transparent la resurse (indiferent c sunt locale sau pe Internet ;
ofer un sistem de fiiere cu jurnalizare (ext3) care reduce riscul pierderii datelor;
ofer dou managere de fiiere performante (Nautilus, Konqueror);
are o arhitectur bazat pe pachete de programe; utilitarul de lucru cu pachete (RPM).
4.4.4. Prezentarea interfeelor grafice
Linux Red Hat 9.0 are dou interfee grafice: GNOME i KDE. Dac la primele versiuni
existau diferene totale la modul cum artau i lucrau cele dou interfee, n ultimele versiuni
acestea ncep s arate i s se comporte la fel.
Dac la versiunile Red Hat mai mici de 8.0 meniul sistemului de operare era simbolizat diferit
n cele dou interfee (un icon cu litera K pentru KDE, respectiv un icon cu o talpa de picior pentru
GNOME) acum exist acelai simbol n ambele interfee (plrie roie). De asemenea, modul de
reprezentare pe ecran a ferestrelor era diferit, ca i programele utilitare sau aplicaiile instalate n
fiecare interfa grafic. Interfaa GNOME este mai rapid dect KDE, de aceea este i interfaa
implicit, care se lanseaz automat n execuie la pornirea sistemului.
Interfea grafic GNOME
Elemente caracteristice interfeei grafice GNOME sunt:
este prezent n multe distribuii;
este simpl, prietenoas, gratuit;
este oferit mpreun cu codul surs, deci poate fi modificat dup dorin;
are suport pentru o gam larg de limbi straine (este disponibil i n limba romn);
conine un manager de fiiere (gen Windows Explorer), o suit de aplicaii de birou gen
Office, programe diverse, jocuri, programe pentru Internet, unelte de programare;
este un mediu excelent pentru programatori prin oferirea unui set complet de biblioteci.
Ecranul prezentat de GNOME este compus din trei pri (ca i la KDE sau Windows):
desktop, taskbar i meniul principal.
Desktop-ul este partea cea mai mare a ecranului prezentat de GNOME i seamn foarte mult
cu desktop-ul din Windows. Pe el se gsesc trei iconuri care sunt shortcut-uri ale unor programe:
root's Home, Start Here i Trash. Efectund un dublu clic pe iconul root's Home se deschide
managerul de fiiere implicit al interfeei GNOME (care se numete Nautilius) i se poziioneaz n
directorul Home al utilizatorului root.
122

CAPITOLUL 4. PRINCIPALELE SISTEME DE OPERARE

n Linux fiecare utilizator are un director personal care se numete Home (casa) unde i poate
ine documentele (asemntor lui My Documents din Windows).

a.
b.
Figura 4.6. a. Interfaa grafic GNOME; b. managerul de fiiere Nautilius
Modul de lucru cu Nautilus este asemntor modului de lucru cu Windows Explorer i
prezint cteva particulariti:
fiierele i directoarele pot fi vizualizate ca iconuri sau ca list;
n cazul vizualizrii sub form de list se pot face sortri dup nume, mrime, tip sau
data modificrii;
crearea unui nou director se face cu comanda New Folder din meniul File;
selecia fiierelor se face cu clic sau CTRL+clic;
copierea sau mutarea fiierelor sau a folderelor se face prin metoda clasic (Cut/Copy i
apoi Paste);
nu se poate vedea arborele de directoare ca n Windows Explorer;
dispune de un toolbar asemntor celui din Internet Explorer (cu butoanele Back,
Forward, Up, Stop, Reload, Home), deci funcioneaz ca un browser;
directoarele se deschid implicit prin dublu clic (se poate configura s deschid
directoarele prin clic);
se poate alege dintr-o multitudine de iconuri pentru a reprezenta un tip de fiier;
se pot pune semne de carte la directoare (bookmarks) pentru a uura accesarea lor
(asemntor cu semnele de carte puse paginilor Internet).
Efectund un dublu clic pe iconului Start Here de pe desktop se va deschide tot Nautilus, dar
de data aceasta permite accesul la anumite programe care configureaz interfaa grafic.
n GNOME exist meniuri locale. Printr-un clic dreapta ntr-o zon liber de pe desktop se
deschide un meniu care permite printre altele:
simplificarea accesului la discheta sau CD-ROM (n Linux este mai dificil de accesat
aceste periferice deoarece ele trebuie, n prealabil montate folosind o comand special);
crearea unui shortcut folosind comanda New Launcher din meniul local.
n rubrica Name se specific numele shortcut-ului, programul care va fi lansat n execuie se
scrie n rubrica Command sau se alege folosind butonul Browse.
Iconul shortcut-ului se alege dintr-o multitudine de iconuri folosind butonul No Icon.
Taskbar-ul (Panel) are acelai rol ca taskbar-ul din Windows i conine elementele:
icon pentru accesarea meniului principal (palarie roie) -echivalentul butonului Start din
Windows;
un toolbar asemntor lui Quick Launch din Windows care conine:
-shortcut ctre browser-ul de Internet implicit (Mozilla) - Echivalentul lui Internet
Explorer;
-shortcut ctre programul de e-mail implicit (Ximian Evolution) echivalentul lui
Outlook Express;
-shortcut ctre procesorul de texte din suita Open Office.org echivalentul lui
Microsoft Word;
123

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

-shortcut ctre programul de prezentri din suita Open Office.org echivalentul lui
Microsoft Power Point;
-shortcut ctre programul de calcul tabelar din suita Open Office.org echivalentul lui
Microsoft Excel;
-shortcut catre programul Print Manager;
cele patru ecrane virtuale;
zona n care apar numele programelor care se execut;
data i ora.
Implicit sunt patru ecranele virtuale i sunt aezate n dou grupuri de cte dou (numerotarea
se face de la stnga la dreapta i de sus n jos). Dac butonul corespunzator primului ecran virtual
este apsat, nseamn c este n prim plan. Numai un singur ecran virtual poate fi n prim plan la un
moment dat. Meniul local corespunztor taskbar-ului se deschide (clic dreapta ntr-o zon liber) i
permite: adaugarea de noi shortcut-uri (Add to Panel) i modificarea proprietilor (Properties) :
-stabilirea poziiei pe ecran (sus, jos, stanga, dreapta);
-stabilirea mrimii iconurilor;
-activarea autoascunderii;
-stabilirea culorilor i a transparenei.
Meniul principal (Main Menu) permite lansarea n execuie a tuturor programelor instalate
n interfaa gratic GNOME (nu toate programele instalate n GNOME pot fi lansate n execuie din
KDE i invers). Fiind vorba de interfee grafice diferite, programele sunt scrise ori pentru a
funciona din GNOME ori pentru a funciona din KDE.
Programele sunt organizate n grupuri, la fel ca n Windows. Diferena const n numele i
numruI grupurilor i al programelor. Dac n Windows exist numai cteva grupe de programe
(Accesories, Games, StartUp), n fiecare din cele dou interfee grafice din Linux Red Hat se poate
spune c s-a fcut risip de programe (adic sunt oferite programe - gratuit).
Grupurile de programe din GNOME sunt:
Accessories: conine diferite programe de interes general;
Games;
Graphics: programe pentru grafic;
Internet: utilitare necesare lucrului n Internet;
Office: conine suite de birou gen Microsoft Office;
Preferences: permite configurarea interfeei grafice;
Programming: instrumente pentru programatori;
Sound & Video: utilitare multimedia;
System Settings: permite configurarea sistemului de operare ;
System Tools: diferite instrumente necesare lucrului cu sistemul de operare.
Pe lng grupuri de programe, in Main Menu se gsesc i programe, ca:
Help: deschide browser-ul numit help care permite rsfoirea documentaiei;
Home Folder: are acelai rol ca iconul root's Home de pe desktop (deschide Nautilus);
Network Servers: permite accesarea serverelor din reea;
Run Program... : lansarea n execuie a unui program, identic cu RUN din
Windows.
Search for Files : are acelai nume n Windows XP i se numete Find Files n Windows.
Interfea grafic KDE
Dup ce s-a realizat autentificarea prin introducerea corect a numelui de utilizator i a
parolei, primul ecran al interfeei grafice KDE care va aprea va fi Desktop-ul (fig. 4.7.a.). Acesta
este mpri n dou zone. Prima, si cea mai mare, este spaiul de lucru, un spaiu virtual unde i de
unde se pot accesa i scrie fiiere, aplicaii, etc. n acest spaiu se gsesc iniial cinci pictograme:
Start Here, Home, Floppy, CD/DVD-Rom i Trash.
Efectund dublu clic pe pictograma Start Here, se lanseaz n execuie aplicaia Konqueror,
(fig. 4.7.b.).
124

CAPITOLUL 4. PRINCIPALELE SISTEME DE OPERARE

a.
b.
Fig. 4.7. a. Interfaa grafic KDE; b. Directorul virtual Start-Here.
Managerul de fiiere permite accesul imediat la anumite aplicaii (Applications), configurri
(Preferences), setri ale serverului sau setri ale sistemului (Server Settings, respectiv System
Settings) prin intermediul zonei din dreapta. n zona din stnga acestei ferestre, conform
preferinelor proprii, se acceseaz la directoarele existente pe disc, sau se pot audia sau viziona un
fiier media, accesa reeaua LAN sau Internet-ul, etc., accesul la aceste faciliti fcndu-se prin
intermediul pictogramelor laterale aflate in extremitatea stng a ferestrei.
Accesnd pictograma Home de pe spaiul de lucru, o fereastr a aceluiai browser, Konqueror,
se va deschide, afind coninutul directorului utilizatorului curent, n cazul de fa, numele
utilizatorului fiind Home (fig.4.8.a.)

a.

b.

c.
Fig. 4.8. a. Konqueror utilizat ca manager de fiiere; b. Opiunile meniului K Menu;
c. Spaiul Panel al interfeei KDE (Zona de control a spaiilor de lucru)
Pictograma Thrash este utilizat pentru a accesa directorul n care sunt stocate fiierele i
directoarele care au fost terse. Este permis restaurarea acestor fiiere i directoare sau tergerea
lor permanent de pe disc.
A doua zon, cunoscut ca i panoul (panel), ce conine mai multe zone cu pictograme:
125

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

zona de start, de unde se acceseaz n mod direct aplicaii;


zona de control a spaiilor de lucru;
zona de control a spaiului de lucru curent;
zona aplicaiilor care ruleaz transparent (tray);
zona ceasului.
Primul element al spaiului Panel este butonul cu pictograma specific distribuiei Linux
instalat, n cazul de fa Red Hat, asociat meniului K Menu. Acesta este un meniu derulant, care, n
momentul accesrii cu un singur clic stnga al mouse-ului ofer posibilitatea de a alege aplicaiile
care vor fi lansate n execuie.
Meniu K Menu (fig.4.8.b.)este mprit n patru zone:
zona de configurare;
zona de rulare a comenzilor n mod text;
zona aplicaiilor standard i a comenzilor;
zona celor mai frecvent / recent utilizate aplicaii.
n spaiul Panel, imediat dup K Menu, sunt aliniate cinci shortcut-uri n versiunea standard a
distribuiei: Web Browser, Email, OpenOffice.org Writer, Impress i Calc, care permit accesarea
Internetului, verificarea email-ului, fie rularea unei aplicaii precum editarea unui text, conceperea
unei prezentri sau deschiderea unei foi de calcul.
Urmeaz zona de control a spaiilor de lucru, prin intermediul creia se poate accesa unul
dintre cele patru spaii de lucru setate din maximum 16 posibile (fig. 4.8.c.).
Trecerea de la un spaiu de lucru la altul se mai poate efectua i prin utilizarea simultan a
tastelor Ctrl i TAB.
Printre elementele caracteristice interfeei grafice KDE remarcm faptul c este mult mai
complex dect GNOME, are suport pentru o gam larg de limbi strine (este disponibil i n
limba romn), reine deasupra meniului principal numele ultimelor programe lansate (asemntor
cu Windows XP), conine un manager de fiiere (gen Windows Explorer), o suit de aplicaii de
birou gen Office, programe diverse, jocuri, programe pentru Internet i are un sistem de ajutor
(Help) foarte bine pus la punct.
4.5. SISTEMUL DE OPERARE WINDOWS
Sistemul de operare WINDOWS a aprut n urma unui proces laborios, prin care s-a urmrit
perfecionarea sistemului MS-DOS n sensul eliminrii unor dezavantaje i apropierea mai
puternic dintre calculator i utilizator, prin impunerea modului de lucru meniu.
Calculatoarele personale care operau sub MS-DOS, nu-i puteau valorifica integral
performanele hardware n continu cretere, datorit limitrilor generate de filozofia acestui sistem
care se caracterizeaz prin modul de lucru linie-comand, absena multitasking-ului, organizarea
memoriei interne i programe pe 16 bii.
Modul de lucru linie-comand al sistemului de operare MS-DOS se bazeaz pe:
- introducerea de la tastatur a unor comenzi nsoite de parametrii i uneori, de confirmarea
sau anularea unor aciuni sau consecine ale comenzilor lansate;
- afiarea pe monitor a unor mesaje n legtur cu comenzile primite, a unor ntrebri privind
opiunile pentru efectuarea aciunii dorite i a informaiilor solicitate de utilizator.
Trebuie recunoscut c acest mod de lucru este greoi i rigid, oblignd utilizatorul la o
pregtire special pentru a se familiariza cu sintaxa comenzilor i este mai convenabil ca parametrii
s fie cerui automat de sistem atunci cnd se lanseaz o comand. De la aceast idee s-a plecat n
realizarea programelor utilitare tip PcShell, Norton Commander, Dos Navigator sau X-Tree Gold.
De altfel, la ultimele versiuni MS-DOS au aprut i comenzi tip meniu (de exemplu, comenzile
Mem Maker, Edit, Defrag i chiar un Shell ncorporat).
Modul de lucru meniu asigur dialogul dintre utilizator i calculator pe baza unor liste de
opiuni sau comenzi afiate pe ecran, din care utilizatorul trebuie s le activeze pe cele dorite;
avantajul fa de modul de lucru linie-comand este c utilizatorul nu trebuie s tasteze linia de
126

CAPITOLUL 4. PRINCIPALELE SISTEME DE OPERARE

comand i s memoreze sintaxa comenzilor deoarece acestea sunt afiate sub form de opiuni pe
ecranul monitorului. Totodat, interfaa dintre utilizator i calculator este mai prietenoas, deoarece
utilizatorul nu mai trebuie s scrie multe comenzi, atenia sa fiind concentrat permanent la ce se
ntmpl pe ecranul monitorului. Avantajele au fcut ca sistemul de operare MS-DOS s fie nlocuit
treptat cu sistemul de operare Windows.
Deschiztor de drumuri a fost firma Macintosh care n 1984 a introdus n lumea PC-urilor
conceptul GUI (Graphical User Interface) prin intermediul creia comunicarea utilizator-calculator
a devenit mai prietenoas. Firma Microsoft preia i dezvolt conceptul GUI i n anul 1985 apare pe
pia sistemul Windows 1.0.
Numele de Windows (ferestre) vine de la faptul c fiecare program se execut ntr-o fereastr
distinct. Fereastra este o zon de form dreptunghiular ce apare pe ecran. Pe suprafaa ecranului
pot exista mai multe ferestre, fiecare fereastr corespunznd unui anumit program.
Windows reprezint un sistem de programe i comenzi conceput i dezvoltat pe un mediu de
interfa grafic de utilizator (GUI Graphical User Interface) care se pot selecta, instala i executa
pe calculatoare personale, n funcie de configuraiile hardware disponibile i de cerinele
utilizatorilor.
Simbolurile grafice (denumite pictograme) sunt mici desene sugestive ale unor elemente cu
care opereaz sistemul Windows, nsoite de un text explicativ afiat sub desene. Alturi de
pictograme, Windows include i alte forme de prezentare grafic: butoane, casete de dialog, bare de
navigare.
De la prima versiune denumit Windows 1.0 (1985), s-a ajuns astzi la utilizarea curent a
interfeelor Windows 95/98, Windows 2000, Windows Millenium, Windows XP, Windows 2003,
Windows Vista i Windows 2008.
4.5.1. Interfaa grafic Windows
Interfaa grafic Windows ncepnd cu Windows 95, pune la dispoziia utilizatorului un
mod specific de aranjare, vizualizare i activare a programelor. Pentru familiarizarea cu acest mod
de operare, se vor prezenta conceptele de baz cu care se opereaz: Fereastr, Meniu, Caset de
dialog, Buton, Desktop, Pictogram, Clipboard.
Fereastra este conceptul central al aplicaiilor Windows. Fiecare aplicaie Windows are
asociat o fereastr. Fereastra este o suprafa dreptunghiular care individualizeaz activitatea
curent desfurat de calculator ca urmare a unei comenzi sau a unui program lansat de operator.
Exist mai multe tipuri de ferestre:
de navigare, prin intermediul crora se pot investiga un grup de aplicaii, cum este de
exemplu fereastra asociat pictogramei My Computer;
de aplicaie, specifice programelor executabile;
document, ferestre de lucru utilizate pentru crearea unui document, de exemplu n
Word sau a unei foi de calcul n Excel; ele apar n interiorul ferestrei de aplicaii;
de dialog, cum este fereastra Run din meniul butonului Start, ferestre utile pentru
introducerea unor informaii de control necesare executrii unor aplicaii.
O fereastr afiat pe ecran conine o serie de elemente standard prin intermediul crora sunt
posibile o serie de operaii:
deplasarea unei ferestre pe spaiul de lucru;
redimensionare readucerea ferestrei la dimensiunile iniiale;
minimizare ascunderea temporar a ferestrei i plasarea pictogramei asociate pe bara
de taskuri sau pe linia de stare;
maximizare afiarea ferestrei la dimensiunile maxime ale ecranului;
defilarea coninutului ferestrei n plan vertical sau orizontal;
nchiderea ferestrei i implicit a aplicaiei.
n fig. 4.9. este prezentat o fereastr Windows i elementele constitutive ale acesteia.
127

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Fig. 4.9. Fereastr Windows i elementele acesteia


n continuare sunt prezentate elementele unei ferestre Windows:
1. meniul System pentru nchiderea, redimensionarea sau mutarea ferestrei;

2. bara de titlu care permite mutarea ferestrei ntr-o alt poziie pe spaiul de lucru; Bara de
titlu conine numele ferestrei n partea stng i cele trei butoane de lucru (minimizare, maximizare,
nchidere) n partea dreapt.
3. butonul de minimizare;
4. butonul de maximizare
, respectiv restaurare
;
5. butonul de nchidere Close

6. meniul principal;
7. toolbar (bara cu instrumente) conine un set de pictograme pentru cele mai uzuale comenzi
folosite pe durata sesiunii de lucru cu un anumit program i nlocuiete utilizarea tastelor
funcionale, a combinaiilor de taste hot keys sau short cuts.
Bara de instrumente poate fi vizualizat i completat cu seturi suplimentare de pictograme
fa de cele standard, seturi asociate unor proceduri de operare complexe; seturile de pictograme
sunt extrase dintr-o bibliotec proprie fiecrui program; opional, utilizatorul poate s-i insereze
prin tehnica click & drag diverse pictograme pentru anumite comenzi apelnd la meniul Tools,
opiunea Customize, pentru a-i personaliza bara de lucru;
8. bara de defilare;
9. bara de stare;
10. col pentru redimensionarea ferestrei.
128

CAPITOLUL 4. PRINCIPALELE SISTEME DE OPERARE

Procesarea multitasking se realizeaz deschiznd mai multe ferestre n care se lanseaz n


execuie diverse programe ce vor rula independent, aparent n paralel. Ferestrele deschise pe ecran
pot fi rearanjate apelnd la opiunile meniului View, n moduri cascad (Cascade) i mozaic (Tile).
O singur fereastr este fereastra curent, activ la un moment dat, are bara de titlu intens
colorat, celelalte avnd bara de titlu inhibat. Comenzile transmise i mesajele afiate aparin
aplicaiei care se execut n fereastra curent. Comutarea pe o alt fereastr care s devin fereastr
curent, se face cu un clic pe bara de titlu a ferestrei respective.
Meniurile sunt grupuri de comenzi prin intermediul crora se realizeaz funciile unui
program. Exist trei tipuri de meniuri:
orizontale (Bar);
verticale (PopUp);
combinate (PullDown sau Cascade).
ntr-un meniu combinat Pull Down, unui submeniu Bar i se asociaz un meniu PopUp afiat
sub denumirea sa, aprnd ca o descompunere a meniului n comenzi, pe vertical (fig. 4.10.a.).
Meniul combinat Cascade, realizeaz acelai lucru numai c descompunerea este n plan
orizontal, aa cum este de pild meniul butonului Start.
Pentru a selecta i lansa o comand, meniul trebuie activat cu tasta ALT, sau cu mouse-ul cu
un clic pe bara de meniu. Selecia unei comenzi dintr-un meniu echivaleaz cu marcarea ei prin
deplasarea cursorului, n timp ce lansarea comenzii n execuie se poate face:
tastnd Enter;
tastnd litera subliniat din numele comenzii;
acionnd clic.
n unele cazuri, anumite comenzi nu sunt disponibile, fiind afiate ntr-o tonalitate de culoare
gri deschis n caseta meniului. Anularea unei selecii se face cu tasta ESC sau cu un clic n afara
casetei meniului. Atunci cnd o comand este urmat de puncte de suspensie nseamn c este
necesar introducerea unor parametri suplimentari pentru execuia comenzii; parametri se introduc
prin intermediul unor casete de dialog i butoane. Un element specific n meniuri este semnul de
validare (check mark) ca o bif. Opiunile bifate sunt active, deci comanda se va executa innd
seama numai de opiunile bifate. O caset de dialog este o mic fereastr dreptunghiular afiat pe
ecran, independent de aplicaia care se execut, (fig.4.10.b.). Ea conine parametrii i opiunile din
care utilizatorul va selecta pe cele necesare prelucrrii curente i va introduce parametrii care-i sunt
solicitai.

a.
b.
Fig. 4.10. a. Meniuri orizontale i verticale; b. Caset de dialog cu butoane
Casetele de dialog nsoesc comenzile care intr n meniu i sunt urmate de trei puncte de
suspensie; exist mai multe tipuri de casete de dialog grupate astfel:
casete de text;
casete cu liste;
casete cu opiuni exclusive;
129

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

casete de validare;
casete cu pagini de opiuni.
Casetele de text se utilizeaz atunci cnd utilizatorul introduce explicit de la tastatur o
comand sau parametrii comenzii sub forma unui ir de caractere. Un exemplu l constituie caseta
comenzii Run din meniul butonului Start.
Selecia unei opiuni se face cu un clic pe caseta cu liste. Dac lista conine un numr de
opiuni care nu ncap n chenarul casetei sunt puse la dispoziie butoanele de defilare pentru
parcurgerea listei nainte sau napoi (listele se mai numesc i liste derulante). Derularea unei liste se
poate face i acionnd butonul Browse pentru rsfoirea listei, existnd opiuni asemntoare celor
utilizate de programul Explorer sau pachetul de programe Norton. Casetele cu opiuni exclusive
conin opiuni care se exclud reciproc; n consecin, se va marca cu un clic punctul din stnga
opiunii dorite.
Spre deosebire de casetele cu opiuni exclusive, casetele de validare conin un set de opiuni
din care pot fi active la un moment dat mai multe, toate, sau nici una dintre ele. Opiunile selectate
i deci active, sunt marcate cu o bif de selectare n partea stng.
Windows i programele care ruleaz sub Windows pot afia pe ecran un grup de mai multe
pagini de opiuni suprapuse. Fiecare pagin are o etichet n partea superioar cu numele paginii,
dar la un moment dat numai o singur pagin este activ (cea afiat prima pe ecran). Cu un clic pe
eticheta unei alte pagini, pagina curent este nlocuit cu pagina selectat ce devine pagina activ.
Butoanele au form dreptunghiular ncadrate de un chenar, avnd n interior un text
autoexplicativ. Butoanele pot fi acionate cu un clic, Enter sau tasta Space.
Exist urmtoarele tipuri de butoane:
butoane de comand, care declaneaz execuia operaiei selectate;
butoane de opiuni care permit selectarea modului de continuare a procesului de
prelucrare i sunt:
butoane radio;
butoane de marcare sau de validare (check).
Clipboard-ul este o zon de memorie RAM ce permite transferul de informaii, secvene de
text, imagini grafice, poriuni i chiar un ecran ntreg de la o aplicaie la alta sau de la un document
la altul n cadrul aceleai aplicaii, constituindu-se ca una din facilitile prelucrrii multitasking.
Informaiile sunt plasate automat n Clipboard atunci cnd se execut comenzile Copy, Cut sau s-a
acionat tasta PrtScr. Inserarea informaiilor aflate n zona Clipboard ntr-un alt text se realizeaz
prin comanda Paste. Comenzile Edit, Cut, Paste se afl n meniul Edit al programelor sub Windows.
Pictograma (Icon) este un mic desen simbolic asociat unui obiect Windows, obiect ce poate fi
o component hardware, un director, un fiier, un program executabil, un grup de programe sau de
fiiere; desenul este nsoit i de un text, care denumete pictograma respectiv.
Exist patru tipuri de pictograme:
program;
fiier/director;
calculator;
component hardware.
Executnd un dublu clic pe o pictogram de program, programul va fi ncrcat n memoria
RAM i lansat n execuie; dac se acioneaz cu un clic pe o pictogram de director, pe ecran se va
afia cuprinsul directorului respectiv. Un clic pe pictograma unui fiier echivaleaz cu comanda de
lansare n execuie a aplicaiei asociate fiierului.
4.5.2. Sesiunea de lucru Windows
Prin sesiune de lucru se nelege perioada de timp n care un utilizator se gsete n dialog cu
sistemul de calcul pe durata unei aplicaii. Sesiunea de lucru poate fi considerat i perioada de timp
n care un utilizator folosete individual un calculator care este conectat la o reea. Pentru a deschide
o sesiune de lucru se pornete calculatorul. Sistemul execut automat procedura de autotestare a
130

CAPITOLUL 4. PRINCIPALELE SISTEME DE OPERARE

configuraiei hardware, ncrcarea sistemului de operare i iniializarea sesiunii de lucru. n cazul


conectrii calculatorului la o reea, accesul este condiionat de introducerea unei parole n fereastra
de dialog Enter Network Password la care utilizatorul trebuie s introduc informaiile referitoare la
numele de utilizator (User name) i parola (Password). Dup introducerea acestor informaii,
acionarea butonului OK i efectuarea de ctre sistem a operaiilor de validare necesare, pe ntreg
ecranul monitorului se afieaz interfaa de lucru a sistemului de operare Windows.
Pentru ncheierea sesiunii de lucru, utilizatorul nu trebuie s acioneze imediat butonul de
ntrerupere a alimentrii cu energie electric deoarece va pierde informaii din fiierele cu care a
lucrat.
Astfel, el va executa un clic pe butonul Start din care va alege comande Shut Down sau Turn
Off ce conine mai multe opiuni, n funcie de versiunea de sistem de operare instalat:
Shut down oprirea definitiv a calculatorului;
Restart repornirea calculatorului;
Restart the computer in MS-DOS mode repornirea pentru lucrul n sistemul de
operare MS-DOS, folosind comenzile acestui sistem de operare (n cazul Windows 95
i 98);
Log Off nchiderea tuturor programelor i meninerea resurselor partajate la
dispoziia unui alt utilizator conectat la o reea;
Standby calculatorul trece ntr-o stare n care consumul de energie este foarte sczut,
fiind pregtit pentru reluarea strii anterioare la apsarea unei taste;
Hibernate toate datele aflate n memoria RAM sunt salvate pe disc ntr-un fiier
special, dup care calculatorul se oprete; la repornirea acestuia, datele sunt ncrcate
din fiierul special n memoria RAM i sistemul se va regsi n starea de dinaintea
intrrii n modul de hibernare.
Dup alegerea i execuia opiunii Shut down, va aprea o fereastr cu mesajul: Please wait
while your computer shuts down prin care utilizatorul este atenionat s atepte pn cnd sistemul
va termina aplicaiile aflate n lucru, va nchide fiierele folosite i va disponibiliza resursele
alocate. Dac aceste operaii s-au executat normal i nu au fost semnalate motive conflictuale,
majoritatea calculatoarelor se opresc automat, avnd n vedere c sursele de alimentare sunt ATX.
n cazul n care oprirea nu se face automat, pe ecranul monitorului se afieaz mesajul: Its now safe
to turn off your computer, dup care utilizatorul poate nchide n siguran calculatorul, acionnd
ntreruptorul reelei electrice.
Dup autentificare, pe ecranul monitorului se afieaz suprafaa de lucru (desktop-ul), ce
conine n partea de jos bara de lucru, denumit i bar de operaii sau bar de taskuri. n partea
stng a barei de lucru se gsete butonul Start de unde utilizatorul poate s nceap lucrul cu
componentele Windows (fig.4.11).

Fig. 4.11. Interfaa grafic Windows


131

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Desktop-ul desemneaz suprafaa de lucru a sistemului de operare Windows. Este de fapt


fundalul ce acoper ecranul din momentul lansrii n execuie a programului. Pe aceast suprafa
sunt plasate obiectele cu care se interacioneaz n mod uzual.
Exist un grup de elemente principale ce apar implicit pe spaiul de lucru: My Computer,
Recycle Bin, My Documents. n cazul n care calculatorul este conectat la o reea de calculatoare
apare i pictograma Network Neighborhood.
My Computer (calculatorul meu) este un driver care afieaz descrierea fizic a
componentelor hardware din configuraia PC-ului: floppy discul, discul, imprimanta i panoul de
control Control Panel, utilizabil pentru setri hardware.
n Recycle Bin (coul de gunoi) se gsesc fiierele i directoarele care au fost terse sau
mutate acolo i de unde pot fi recuperate ulterior.
Fiierele se pot recupera numai dac nu se au fost terse definitiv din Recycle Bin.
My Documents ofer posibilitatea gruprii ntr-un singur loc documentele cu care se lucreaz.
Network Neighborhood ofer posibilitatea de a investiga reeaua de calculatoare la care cuplat
calculatorul pe care se lucreaz. Se pot afla ce staii de lucru mai sunt conectate i ce resurse se pot
utiliza n cadrul reelei.
Pe spaiul de lucru pot fi create i salvate fiiere, fiecare avnd asociat o pictogram. Fiecare
pictogram poate fi mutat oriunde pe spaiul de lucru, scop pentru care se procedeaz astfel:
1) se plaseaz cursorul pe pictogram i se apas butonul stnga al mouse-ului (un clic);
2) cu butonul inut apsat, se deplaseaz mouse-ul prin glisare pe desktop i apoi se elibereaz
butonul stnga.
Utilizatorul are posibilitatea s adauge sau s elimine pictograme ale diverselor programe,
altele dect cele standard nscrise de Windows pe Desktop.
Adugarea unei pictograme se realizeaz prin crearea unui shortcut.
Butonul Start i bara de taskuri aflate pe ultima linie a ecranului, servesc la mai buna
organizare a sesiunii de lucru. Acionarea butonului Start determin activarea meniului cascad. Din
meniul afiat pe ecran se pot selecta i lansa n execuie programele dorite.

a.
b.
Fig. 4.12. a. Meniul Start cu principale opiuni ;
b. Meniul Programs cu opiunile structurate n cascad
Prin executarea unui singur clic pe pictograma butonului Start, pe suprafaa de lucru se
afieaz meniul Start (fig. 4.12.a.)
Opiunile meniului Start sunt urmtoarele:
Programs/All programs;
Documents/My Recent Documents;
Settings;
Find/Search;
Help and Support;
Run;
132

CAPITOLUL 4. PRINCIPALELE SISTEME DE OPERARE

Log Off
Turn Off Computer
Opiunile Programs, Documents, Settings i Find/Search sunt organizate structural sub form
de meniu tip cascad, astfel c prin marcarea i glisarea la dreapta cu mouse-ul, se poate trece la
opiunile situate pe alte niveluri ierarhice.
Opiunea Programs afieaz grupurile de programe care pot fi lansate n execuie. n opiunea
Programs, grupurile de programe se afieaz ca pictograme de directoare, iar programele se afieaz
cu pictogramele specifice. Din caseta cu opiuni, utilizatorul poate lansa n execuie orice program
existent n calculator. De exemplu, dac utilizatorul dorete s lanseze n execuie programul Media
Player (fig. 4.12.b.) va proceda astfel:
un clic pe butonul Start;
se poziioneaz indicatorul mouse-ului succesiv pe opiunile Programs, Accessories,
Entrertainment i Media Player;
un clic pe Media Player, dup care pe ecranul monitorului va apare fereastra de dialog
Media Player.
Cu opiunea Documents, utilizatorul poate regsi rapid documentele recent folosite; dup
activarea opiunii, din lista afiat se va selecta numele documentului care dorete s se deschid.
Deschiderea documentului selectat va fi precedat de lansarea automat n execuie a
programului folosit pentru prelucrarea lui. De exemplu, dac documentul a fost prelucrat cu
procesorul de texte Word, atunci va fi lansat n execuie procesorul de texte Word i apoi deschis
documentul respectiv.
Din opiunea Settings utilizatorul poate s stabileasc condiiile de lucru pentru folosirea
resurselor sistemului n funcie de cerine.
Astfel, cu Control Panel se poate efectua configurarea sau reconfigurarea sistemului, prin
adugarea i eliminarea unor componente hardware (cu Add New Hardware) i software (cu
Add/Remove Programs).
Cu opiunea Find/Search se poate cuta i localiza rapid orice fiier existent pe disc, fr a
cunoate unde se gsete i numele exact: din lista afiat se va alege File or Folders dup care
utilizatorul este ateptat s introduc numele fiierului sau o parte din nume.
Opiunea Help permite utilizatorului s foloseasc sistemul de asisten software care poate fi
rsfoit dup trei criterii de clasificare:
Contents, Index i Find; Contents prezint domeniile mari de informaii (topics-uri), Index
clasific informaiile n ordine alfabetic, iar Find permite cutarea de informaii n acces direct,
prin specificarea termenului sau operaiei pentru care se solicit explicaii.
Cu opiunea Run utilizatorul poate s lanseze imediat n execuie programe specificnd
numele programului n caseta afiat, sau numele unor documente care dorete s le deschid.
Utilizatorul are posibilitatea s adauge sau s elimine programe n cascad arborescent a
meniului butonului Start.
Bara de taskuri plasat iniial n partea de jos a ecranului i conine pe lng butonul Start:
pictogramele programelor folosite frecvent (se pot activa ulterior cu un simplu clic)
programele ale cror ferestre au fost minimizate temporar n timpul sesiunii de lucru;
totodat, se poate comuta de la un program aflat pe bara de taskuri, la alt program.
ora exact i butonul de control al volumului plcii de sunet
Proprietile barei de taskuri pot fi modificate astfel nct acesta s fie: afiat permanent sau
ascuns (hidden), dar poate fi afiat poziionnd indicatorul mouse-ului pe marginea de jos a
suprafeei de lucru sau apsnd combinaia de taste Ctrl + Esc;
De asemenea, bara de taskuri poate fi redimensionat prin mrirea nlimii, trgnd n sus de
marginea superioar cu mouse-ul i poziionat cu ajutorul mouse-ul n orice parte a ecranului.
Orice program aflat n execuie i orice document deschis se afieaz cu butonul propriu pe
bara de lucru (fig. 4.13.). Ele pot fi activate cu un clic, fereastra acestuia fiind afiat pe suprafaa
de lucru ca fereastr curent. La rndul ei, orice fereastr poate fi minimizat executnd un clic pe
butonul de minimizare sau nchis cu un clic pe butonul de nchidere.
133

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Figura 4.13. Bara de lucrri (Taskbar)


n partea dreapt a barei se afl zona de notificare (Notification area). ntre butonul Start i
zona de notificare utilizatorul poate afia o serie de bare de instrumente implicite sau proprii:
1 Bara de adrese (Address );
2. Bara de legturi (Links);
3. Bara pentru vizualizarea tipului tastaturii (englez, romn, etc.) (Language bar);
4. Suprafaa de lucru (Desktop);
5. Bara de lansare rapid (Quick Launch);
6. Bar de instrumente nou, creat de utilizator (New Toolbar).
Lansarea n execuie a unui program se poate realiza n mai multe moduri:
1. de pe desktop, cu un clic pe pictograma asociat programului, n cazul n care acesta
exist;
2. din meniul butonului Start, dac este instalat aplicaia;
3. cu comanda Run a butonului Start indicnd specificatorul fiierului executabil sau
selectndu-l prin intermediul opiunii Browse;
4. de pe bara de lucru cu un clic pe pictograma programului, dac exist;
5. prin intermediului aplicaiei Explorer, cu dublu click pe fiierul asociat aplicaiei.

a.
b.
Fig. 4.14. a.. Fereastra de dialog Run; b. Fereastra Windows Explorer
nchiderea unui program i cedarea controlului sistemului de operare se face fie printr-un clic
pe butonul de nchidere al ferestrei, fie apelnd comanda Exit disponibil n meniul File al fiecrui
program, respectiv comanda Close din meniul sistem asociat ferestrei.
Windows Explorer poate fi considerat programul utilitar cel mai folosit pentru managementul
fiierelor i a directoarelor.
Pentru lansarea n execuie a programului utilitar Windows Explorer se poate proceda n mai
multe moduri:
executnd un clic pe pictograma Windows Explorer afiat pe bara de scurtturi
(Quick Launch) pe bara de taskuri n dreapta meniului Start;
deschiznd meniul Start, selectnd Programs, apoi Windows Explorer, dac bara de
scurtturi nu este creat;
folosind My Computer pentru a avea acces pe discul si calea unde se gsete fiierul
executabil corespunztor (C>:\Windows\ Explorer.exe)
Dup lansarea n execuie, se afieaz fereastra Windows Explorer (fig. 4.14.b.), care
asemntor oricrei ferestre de aplicaie, conine bara de titlu, bara de meniuri, bara cu instrumente
de lucru i bara de stare.
134

CAPITOLUL 4. PRINCIPALELE SISTEME DE OPERARE

Caracteristica esenial a ferestrei Windows Explorer este divizarea n dou panouri (stnga i
dreapta).
Panoul din stnga permite:
prezentarea schematic a unitilor de discuri i directoarele de pe suprafaa de lucru,
existente n calculator sau n alte calculatoare (dac se lucreaz n reea) i deplasarea
(navigarea) rapid prin structura de directoare;
afiarea unei imagini a structurii directoarelor;
copierea sau mutarea de documente prin alunecare i fixare.
n panoul din stnga, toate obiectele existente pe suprafaa de lucru sunt afiate cu pictograma
specific i cu numele corespunztor.
Unele obiecte au n faa pictogramei semnul + sau semnul . Semnul + (plus) menioneaz c
obiectul respectiv este afiat sub form restrns, coninnd cel puin un director, iar semnul
(minus) arat c obiectul este afiat sub form expandat. Executnd un clic pe semnul +, obiectul
se va afia expandat, iar cu un clic pe semnul , obiectul se va afia sub form restrns.
Panoul din dreapta este cel mai folosit pentru efectuarea de operaii obinuite cu documente:
copiere, deschidere, tergere i alte operaii. n acest panou sunt afiate n detaliu dosarele care au
fost selectate n panoul din stnga.
n panoul din dreapta se afieaz n detaliu coninutul directorului selectat n panoul din
stnga; coninutul poate fi afiat cu pictograme mici sau mari sau ca o list simpl sau detaliat, n
funcie de pictograma selectat pe bara de unelte de lucru dintre ultimele patru pictograme. De
asemenea, n acest panou se pot executa i alte operaii
folosind celelalte pictograme sau opiunile din bara de meniuri (File, Edit, View, Tools, Help).
Dac numrul obiectelor existente pe suprafaa de lucru este mai mare dect spaiul de afiare
(pe vertical) disponibil pe panou sau dac limea panoului nu este suficient de mare pentru
afiarea n ntregime a structurii sau coninutului unui director selectat, atunci pe panoul respectiv
apar automat barele de derulare (pe vertical sau orizontal) cu cele dou butoane de derulare;
pentru a vizualiza n ntregime coninutul unui panou, se fixeaz indicatorul mouse-ului pe unul din
cele dou butoane de derulare i executnd clic pe butonul din stnga, se poate deplasa coninutul
panoului cu cte un rnd sau o coloan n direcia respectiv; deplasarea se poate face i prin fixarea
indicatorului mouse-ului pe bara de derulare, executnd clic pe butonul din stnga i trgnd
mouse-ul n direcia dorit.
Suprafaa de afiare a celor dou panouri se poate modifica, mrind sau micornd limea
unui panou fa de cellalt panou. n acest scop, pe bara vertical care separ cele dou panouri se
fixeaz indicatorul mouse-ului, se ateapt pn cnd acesta se transform ntr-o sgeat dubl, se
apas butonul din stnga i inndu-l apsat se trage
mouse-ul n direcia dorit; dup ce s-a obinut suprafaa de afiare n mrimea dorit, se
elibereaz butonul mouse-ului.
Bara de meniuri conine alturi de elementele de meniu comune tuturor ferestrelor i elemente
specifice:
trecerea direct la un alt director;
schimbarea directorului curent cu cel de origine;
determinarea unui disc sau un director din reea s se comporte ca i cum ar fi local;
operaii de decupare, copiere, respectiv de adugare a unui document sau director;
anularea ultimei operaii efectuate;
tergerea obiectului selectat;
afiarea ferestrei cu proprietile obiectului selectat;
execuia comenzilor de sortare i afiare documente din fereastr (afiare cu
pictograme mari sau mici, afiare sub form de list simpl, respectiv afiare sub
form de list detaliat).
Bara de stare situat n partea de jos a celor dou ferestre, furnizeaz informaii despre
numrul obiectelor selectate (directoare, fiiere), spaiul de memorie pe disc ocupat de obiecte i
spaiul de memorie disponibil.
135

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

4.5.3. Sesiunea de lucru Windows XP


Windows XP integreaz punctele forte ale versiunii Windows 2000 securitatea crescut,
administrabilitatea i fiabilitatea cu cele mai bune caracteristici de business ale Windows 98 i
Windows Me Plug and Play, interfaa cu utilizatorul uor de folosit i serviciile inovative de
support. Sistemul de operare Windows XP este distribuit n dou ediii: Windows XP Home i
Windows XP Professional.
Din punctul de vedere al Plug&Play, acesta lucreaz la fel ca cel din versiunile anterioare de
Windows, componentele ataate fiind detectate fr probleme. Ca de obicei, fiecare versiune de
Windows poate recunoate o gam din ce n ce mai mare de componente hardware, iar Windows
XP nu se abate de la aceast regul, fiind la zi cu multe din noile apariii.
Noutile i mbuntirile existente n Windows XP sunt:
Automatic Update este un serviciu care permite actualizare automat a sistemului de
operare prin intermediul Internetului;
CD Burning permite salvarea informaiilor pe CD asemntor salvrii pe dischete sau
disc magnetic;
ClearType, o tehnologie nou care permite triplarea rezoluiei orizontale pentru randarea
textului prin software;
Compressed Folders permite copierea de fiiere i directoare ntr-un director comprimat,
ceea ce are ca efect comprimarea acestora, reducndu-se spaiul ocupat pe disc;
Suport pentru Fax, ceea ce permite trimitea de faxuri prin intermediul reelei;
Fast User Switching permite comutarea ntre utilizatori fr a obliga un utilizator s
nchid toate aplicaiile care ruleaz i s ncheie sesiunea nainte de conectarea celuilalt
utilizator;
Instant Messaging permite utilizatorilor s comunice uor utiliznd multimedia audio,
video i date n timp real prin intermendiul Internetului;
Internet Connection Firewall (ICF) protejeaz calculatorul cnd acesta este conectat la o
reea;
Web Distributed Authoring and Versioning (WebDAV) redirector este un nou miniredirector care suport protocolul WebDAV protocol pentru partajarea documentelor prin
intermediul HTTP.
Avantajele sistemului de operare Windows XP sunt date de:
Implementare i integrare mult uurate - Windows XP asigur o administrare avansat,
implementare i instrumente pentru suport tehnic care fac sarcina administratorilor de
sistem mai uoar. Windows XP se integreaz fr probleme n mediile existente ale
Windows 2000 Active Directory, oferind i politici noi de sistem;
Mobilitate Windows XP aduce facilitile inovative n mobilitate cum ar fi Remote
Desktop care permit lucrul la distan i accesarea calculatorului de la distan, prin
intermediul conexiunii la reea ;
Securitate la nivel de business Caracteristicile de securitate de prim nivel vizeaz
aprarea fiierelor importante, informaiilor, activitilor pe Internet i confidenialitatea,
cum ar fi Internet Connection Firewall;
Fiabilitate sporit Comunicaiile cu clienii i partenerii - Windows Messenger i
conferinele online permit comunicarea i colaborarea direct, folosind programul de
comunicare interactiv cu text, audio sau video;
Pivotul reelei unei companii de dimensiuni mici Companiile mici pot partaja acum mai
uor resurse valoroase i dispozitive, cum ar fi documente, faxuri, imprimante i chiar
conexiuni Internet.
n ceea ce privete interfaa grafic, s-au nregistrat o serie de schimbri fa de sistemul de
operare Windows 2000, (fig. 4.15.a.).
n meniul Start a fost adugate:
136

CAPITOLUL 4. PRINCIPALELE SISTEME DE OPERARE

o list cu programele cele mai recent utilizate;


programele instalate se regsesc la opiunea All Programs;
dou butoane pentru nchiderea sesiunii curente: Log Off i Turn Off Computer;
legturi ctre My Documents, My Recent Documents, My Pictures, My Music, My
Computer, Control Panel, conexiuni Internet, imprimante i faxuri.
Opiunile din meniul Start i ale barei de taskuri pot fi configurate prin intermediul
proprietilor butonului Start, (fig. 4.15.b.).
Dup acionarea cu un clic pe butonul drept al mouse-ului, se poate alege din meniul Start
care dintre opiuni s fie expandabile (Dial-Up NetWorking, My Documents, Control Panel, My
Pictures, Printers).
Includerea Control Panel n aceast categorie este favorabil, deoarece pn acum doar
seciunea Printers putea fi accesat direct din butonul de Start fr deschiderea unor ferestre
suplimentare. Dintre celelalte opiuni ale proprietilor meniului Start se mai poate aminti afiarea
sau nu n meniu a rubricilor Run, Favorites i Logoff.

a.
b.
Fig. 4.15. a. Interfaa Windows XP; b. Proprietile barei de stare i ale meniului Start
Interfaa specific Windows XP poate fi schimbat cu interfaa clasic Windows din caseta de
proprieti a meniului Start i din pagina Display properties din Control Panel.
Configuraia directoarelor se face din Control Panel cu noi opiuni, spre deosebire de
versiunile anterioare n care setrile se fceau prin intermediul Windows Explorer. Tot n Control
Panel (fig. 4.16.a.) a fost introdus rubrica Scanners and Cameras ce confirm orientarea Windows
XP spre partea de multimedia.
Scanerele i camerele video sunt mai uor de instalat sub Windows XP i se pot configura
astfel nct s lanseze anumite programe specificate de utilizator cnd se scaneaz o imagine.
Windows XP suport ultimele standarde n materie de echipamente hardware.
Windows XP prezint o serie de nouti n legate de multimedia. Astfel, Media Player
prezint o serie de caracteristici noi, avnd integrat un sistem de cutare a fiierelor n tot PC-ul, cu
posibilitatea de a selecta anumite fiiere (de muzic sau filme) fr a le mai deschide unul cte unul
sau director cu director. Design-ul este mult mbuntit permind alegerea unor skin-uri, dar i a
unor vizualizri mai interesante. Suportul pentru skin-uri a fost mbuntit, adugndu-i-se codecuri noi (dei nc nu poate reda nici un format Real Media) i un egalizator cu diverse module de
vizualizare, apropiindu-se din acest punct de vedere de player-ele cu mai mare impact pe pia
(WinAmp sau Sonique). Dar aspectul cel mai important este posibilitatea de a face CD ripping n
format WMF (Windows Media Format). Fiierele obinute sunt n general cu 3-5 % mai mici dect
cele n format MP3, la aproximativ aceeai calitate.
Internet Explorer 6 este inclus n Windows XP n ciuda procesului anti-trust n care unul din
capetele de acuzare era interconectarea dintre browser-ul Internet i sistemul de operare. Ultima
versiune conine numeroase elemente care ar aduga un plus de eficien paginilor Web, dac
designerii se vor decide s utilizeze instruciunile HTML suplimentare. O alt opiune util este
posibilitatea de a face o vizualizare a paginilor Web nainte de imprimare. Aceast vizualizare, nu
funcioneaz prea bine cu paginile ce conin elemente de Java Script.
137

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Tehnologia IntelliSense ncorporat n Internet Explorer salveaz timp prin efectuarea unor
operaii de rutin n mod automat, cum ar fi: completarea adresei de Web i a formularelor n locul
utilizatorului, detectarea automat a strii reelei i a conectrii.

a.
b.
Fig. 4.16. a. Control Panel n Windows XP; b. System Restore din Windows XP
Cnd se scrie o adres de Web (n Address bar) folosit frecvent, este pus la dispoziie o list
de adrese similare din care se poate alege adresa dorit. Dac o adres a unei pagini de Web este
greit, Internet Explorer caut o adres similar, ncercnd s gseasc adresa corect.
Folosind Content Advisor, se poate selecta ca anumite elemente ale paginilor de Web s nu
poat fi vizionate folosind caracteristicile paginii selectate, caracteristici care au fost definite de
Comitetul PICS (Platform for Internet Content Selection). Folosind zonele de securitate, se pot
defini anumite niveluri de securitate pentru diferite arii de Web pentru a mri protecia PC-ului.
Dac se viziteaz un site de pe Web care a fost scris n mai multe limbi, Internet Explorer
ncrca automat setul de caractere necesar pentru ca respectiva pagin de Web s poat fi vizionat
corect n respectiva limb ce a fost solicitat.
Microsoft Windows poate actualiza PC-ul n mod automat, prin cutarea ultimelor nouti
referitoare la pachetele i componentele sale, fr perceperea unor taxe suplimentare. Windows
determin care actualizri sunt necesare sistemului pe care este instalat i informeaz prompt de
fiecare dat cnd o astfel de actualizare devine accesibil.
Actualizarea automat are loc doar dac PC-ul este conectat la Internet i dac Windows-ul a
fost nregistrat la Microsoft. Pentru aceast operaie, se va selecta din meniul Start, opiunea
Settings, urmat de Control Panel, de unde se lanseaz fereastra de dialog System, n care exist
Automatic Updates.
n ceea ce privete stabilitatea, Windows XP este cel mai stabil sistem de operare din familia
Windows, cderile de sistem fiind mult mai rare i erorile mult mai puin criptice. ns metodele
folosite pentru obinerea unui plus de stabilitate las de dorit i i au dezavantajele lor.
n primul rnd, Microsoft a rupt definitiv legturile cu trecutul i a eliminat MS-DOS din
Windows. Se mai poate nc intra n modul linie de comand, ns nu se mai poate iniializa PC-ul
n mod MS-DOS doar folosind Emergency Boot Disk, metod care nu las suficient memorie
liber pentru rescrierea BIOS-ului sau alte astfel de operaii care necesit rularea doar din linia de
comand.
n plus, Windows XP nu permite ca o aplicaie s scrie ceva n fiierul Autoexec.bat sau alte
fiiere mai vechi de sistem; cnd se ntmpl acest lucru, nlocuiete coninutul cu propriile sale
instruciuni considerate mai sigure. Astfel, driverele de MS-DOS nu mai funcioneaz cum trebuie,
iar unele jocuri sau programe de MS-DOS nu merg dect n fereastr.
Opiunea System Files Protection este una dintre noile modaliti de prevenire a cderilor
sistemului, prin plasarea unor restricii software n ceea ce privete suprascrierea DLL-urilor
Windows-ului sau a altor fiiere de sistem de importan vital. Cnd un program reuete totui s
suprascrie un fiier de sistem, modulul de protecie care funcioneaz n background, va nlocui
fiierul cu cel din CAB-urile Windows-ului. Singurul dezavantaj este un spaiu ocupat de sistemul
de operare pe disc mai mare.
138

CAPITOLUL 4. PRINCIPALELE SISTEME DE OPERARE

Cea mai important opiune preluat din Windows 2000 este System Restore care face un
backup al fiierelor din sistem n mod automat la fiecare 10 ore de funcionare sau la cererea
utilizatorului (fig. 4.16.b.). Dac prin instalarea unui nou hardware a unui nou program Windows
XP sau o alt aplicaie ce a fost instalat n prealabil funcioneaz precar, System Restore poate
ajuta la rezolvarea acestei probleme pri restaurarea PC-ului la o stare de funcionare anterioar
declanrii problemei. n acelai timp cu ndeprtarea problemei n cauz, sunt protejate toate
fiierele create pe perioada cuprins ntre momentul de restaurare i momentul apariiei problemei.
Pstrarea evidenei se realizeaz prin intermediul unor salvri ale informaiilor eseniale, denumite
puncte de restaurare (restore points) sau puncte de verificare (checkpoints).
Uneori se pot terge accidental sau pot fi corupte fiiere vitale pentru funcionarea unor
programe. Pentru ndeprtarea acestor neregulariti, ar fi nevoie de o eventual reinstalare a
programelor, instalare care nu asigur 100% revenirea la statutul sistemului deinut anterior
deteriorrii programului respectiv. System Restore este capabil s restaureze n ntregime partiiile
tuturor discurilor; numrul punctelor de restaurare depinde de intensitatea activitii, de mrimea
partiiei pe care se afl Windows i de spaiul care a fost alocat pentru crearea punctelor. System
Restore se prezint sub forma unui calendar, uurnd astfel alegerea unui punct dorit. n acest scop
este necesar doar selectarea ultimului moment n care sistemul nu se confrunta cu probleme.
Avnd n vedere c numrul punctelor variaz i n funcie de intensitatea activitii, pentru o
zi pot exista mai multe puncte de restaurare sau nici unul. Tipuri de puncte de restaurare sunt
urmtoarele:
Sistemul iniial de puncte de verificare, care este creat imediat ce PC-ul este pornit dup
instalare Windows XP sau la prima pornire a unui nou PC. Selectnd acest sistem, nu se vor
restaura programele instalate n perioada cuprins ntre instalarea Windows-ului i momentul
efecturii restaurrii i nici un fiier creat de utilizator n aceeai perioad de timp. Dac System
Restore va avea nevoie de spaiu pe disc, el va elimina orice alt punct, pstrndu-l doar pe cel
iniial.
Puncte de verificare sistem. System Restore creeaz n mod regulat puncte de verificare,
chiar dac nu au avut loc modificri importante. Aceste puncte de verificare create automat, se fac
la fiecare 10 ore de funcionare continu i la fiecare 24 ore. Dac PC-ul nu este folosit o perioad
mai mare de 24 ore, System Restore va crea nu nou punct de verificare. Selectnd un astfel de punct
de verificare, programele vor reveni la starea lor precedent.
Puncte de verificare ce poart denumirea unui program. La fiecare instalare a unui nou
program ce folosete Installshield i Windows Installer, System Restore creeaz un punct de
verificare. Selectnd un astfel de punct de verificare, programul instalat va fi ters mpreun cu
toate referirile, iar programele care au fost modificate prin instalare vor reveni la starea lor
precedent. Dac instalarea unui program nu folosete formele precizate mai sus, se poate restaura
de la un punct de verificare anterior instalrii acestuia.
Puncte de verificare ntocmite automat de Windows referitor la actualizri. Dac se
efectueaz o actualizare a Windowsului, System Restore creeaz de asemenea un punct de verificare
naintea instalrii actualizrii. Acest punct va fi creat doar la instalare i nu la copierea actualizrii.
Punctele astfel create pot servi situaiilor n care actualizrile cauzeaz un conflict cu alte programe
sau componente.
Puncte de verificare create manual. Utilizatorul poate crea n orice moment puncte de
verificare ce poart denumiri definite de acesta. Astfel de puncte sunt utile cnd se anticipeaz
efectuarea unui numr mare de modificri ce pot afecta stabilitatea sistemului.
n orice moment se pot anula efectele unei restaurri; anularea se face automat doar atunci
cnd System Restore eueaz n restaurarea unui anumit punct de verificare.
Protecia fiierelor se poate realiza i prin File Signature Verification care identific fiierele
ce nu corespund din punctul de vedere al semnturii i furnizeaz urmtoarele informaii: nume,
locaie, data modificrii, tipul fiierului i versiunea.
Cu opiunea de hibernare, PC-ul poate fi stins n siguran, chiar dac sunt deschise fiiere
nesalvate. Cnd sistemul este repornit, totul revine la starea n care a fost nainte de a fi oprit.
139

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Hibernarea poate fi configurat s nceap dup un anumit numr de minute n care PC-ul nu a fost
folosit. n aceast stare, PC-ul est ferit de degradare fizic deoarece se comport din aproape toate
punctele de vedere ca i calculator oprit.
Opiunea Standby este folosit ndeosebi pentru conservarea energiei, fiind util sistemelor
portabile ce folosesc baterii sau acumulatoare. Spre deosebire de hibernare, Stanby-ul oprete doar
discul i monitorul, plasnd sistemul ntr-o stare de consum minim de energie. Singura avertizare
este aceea c Stanby-ul nu salveaz coninutul memoriei astfel nct la o mic ntrerupere de curent,
informaiile din memorie se pierd instantaneu. Aadar, este recomandat ca nainte de intrarea n
Stanby, toate fiierele deschise s fie salvate.
Windows XP mbuntete sistemul de Help incluznd numeroase programe de asisten de
tip wizard printre care se numr i Home Networking, destinat celor care i instaleaz o reea
acas (ntre camere, ntre apartamente sau ntre blocuri). Wizard-ul creeaz o dischet cu
configuraia, dischet ce poate fi folosit pentru a include n reea un alt calculator. Wizard-ul
Network Connection asist n crearea conectrilor prin telefon la Internet, n reeaua local etc. Se
pot seta protocoalele i serviciile necesare pentru fiecare conectare n parte, avnd mai mult control
asupra configurrilor calculatorului pentru lucrul n reea.
Exist ncorporat n sistem i un Internet Connection Wizard care asist la setarea unui
Internet Provider i instalarea software-ului necesar. Directorul My Network Places conine locaiile
cel mai recent vizitate.
Cnd se lucreaz ntr-o reea, se pot afla uor resursele reelei care se folosete. Folosind
facilitatea Search For People, se pot localiza persoane n Windows Address Book.
Interconectarea PC-ului cu scannere i camere foto digitale se face prin intermediul
protocolului WIA (Windows Image Aquisition); pentru o camer digital compatibil, permite
managementul imaginilor fr ca acestea s fie transferate pe calculator, iar procesul de scanare este
mult simplificat de prezena unui Wizard.
Windows XP include Outlook Express 6.0 pentru citirea i gestionarea e-mail-ului. Sistemul
conine i diferite faciliti pentru trimiterea, recepionarea, direcionarea ctre imprimant sau
monitor, a fax-urilor. Organizarea conferinelor pe internet se poate face cu programul Microsoft
NetMeeting.
Includerea MSN Messenger-ului permite interaciunea utilizatorilor pentru o serie de jocuri
on-line. Exist o serie de servicii sau de site-uri la care accesul se poate face prin intermediul unui
.NET passport care poate fi creat utiliznd un cont existent pe Microsoft Hotmail sau prin
intermediul MSN Messenger i a unei legturi la Internet.
Folosind Windows XP, exist mai multe posibiliti de conectare a calculatorului la o reea:
cuplarea la un alt calculator folosind o conectare direct prin cablu; conectarea direct
prin cablu reprezint o legtur a porturilor de I/O a dou calculatoare, legtur realizat
cu un singur cablu i nu prin modem-uri sau alte interfee.
legarea la o reea privat folosind un modem, un adaptor ISDN (Integrated Services
Digital Network)
legarea la o reea folosind o conectare VPN (Virtual Private Network). VPN reprezint o
extensie a unei reele private care cuprinde legturi ncapsulate, criptate i autentice, cu
reelele publice sau private de pe Internet.
Pentru conectarea la un LAN (Local Area Network), sunt necesare urmtoarele resurse:
software-ul client care conecteaz calculatorul la un server.
software-ul de service care asigur accesul la resursele reelei;
protocolul de reea care reprezint limba n care comunic calculatorul pe reea. Pentru a
comunica unul cu cellalt, calculatoarele trebuie s foloseasc acelai protocol (de
exemplu, TCP/IP).
Dac PC-ul este legat fizic la o reea n timpul operaiei de Setup, Windows XP detecteaz
automat placa de reea i instaleaz driver-ul cel mai apropiat de cerinele plcii dac nu chiar cel al
plcii.
Cnd se activeaz Network Connection Wizard se afieaz urmtoarele opiuni:
140

CAPITOLUL 4. PRINCIPALELE SISTEME DE OPERARE

Dial-up ctre o reea privat prin intermediul unui modem i a unei linii telefonice, sau
printr-o linie ISDN; opiunea se poate folosi pentru a realiza transferuri de pe reeaua de
la locul de munc;
Dial-up ctre Internet prin intermediul unui modem i a unei linii telefonice, sau printr-o
linie ISDN. Se poate folosi aceast opiune pentru a conectarea la un ISP (Internet
Service Provider);
Conectarea la o reea privat prin Internet poate folosi ISP pentru conectare la o reea
privat, prin care se creeaz o conectare prin intermediul unei VPN, prin Internet ntre
calculatorul de acas i reeaua de la locul de munc.
4.5.4. Sesiunea de lucru Windows VISTA
Windows Vista este ultima versiune a sistemului de operare Microsoft Windows, proiectat
sub numele de cod Longhorn i lansat n noiembrie 2006 pentru variantele destinate firmelor
comerciale, i ianuarie 2007 pentru variantele destinate utlizatorilor obinuii. Windows Vista are
noi proprieti i capaciti, cum ar fi o modern interfa grafic i un stil vizual nou numit Aero,
tehnologia de cutare mbuntit, noi unelte multimedia, precum i subsistemele de reea, audio,
imprimare i afiare (display). Windows Vista este comercializat n 35 de versiuni lingvistice, ntre
care i una n limba romn.
Windows Vista lanseaz experiene revoluionare n utilizarea calculatorului, care sunt
captivante vizual, sunt concepute intuitiv i schimb modul n care este utilizat calculatorul. Se pot
organiza i cuta mai eficient informaiile. Se pot "vedea" fiierele i aplicaiile ntr-un mod intuitiv.
Designul intuitiv al sistemului Windows Vista ajut la navigarea eficient pe calculator.
Utiliznd noul meniu Start din Windows Vista, se poate utiliza noul cmp Cutare
instantanee din colul stnga jos. Pe msur ce se tasteaz un cuvnt sau o fraz asociat cu
elementele cutate, Windows Vista caut instantaneu n numele de fiiere, n proprietile fiierelor
(denumite metadate), i chiar n informaiile din fiiere i afieaz dinamic rezultatele corelate.
Meniul Start poate cuta aplicaii, documente, muzic, filme, mesaje e-mail, evenimente din
calendar i chiar contacte.
Meniul Start face rapid i facil vizualizarea i navigarea prin toate aplicaiile instalate pe
calculator. Cu meniul Start din Windows XP trebuie c parcurgei meniuri n cascad pentru a lansa
o aplicaie.
n Windows Vista, explorerele sunt instrumentele principale de cutare, vizualizare i
administrare a informaiilor i resurselor, cum sunt documentele, fotografiile, dispozitivele,
coninutul Internet i chiar setrile din Panoul de control. Oferind o experien vizual i funcional
complex, Explorerele din Windows Vista sunt concepute pentru a permite administrarea
informaiilor, cu flexibilitate i control optim. Acest lucru este realizat prin fluidizarea meniurilor, a
barelor de instrumente, a navigrii i a Panourilor de detalii ntr-o singur interfa.
Explorerele includ un panou de navigare att foldere tradiionale, ct i noile Foldere de
cutare, o bar de comand care afieaz sarcinile relevante contextual, o caset Cutare instantanee
disponibil n orice moment, pictograme live ale fiecrui fiier i un Panou de detalii, care ofer
informaii detaliate despre fiiere
Panoul de navigare din fiecare Explorer a fost reconceput pentru a face mai simpl navigarea
pe calculator i gsirea rapid a elementelor cutate. Vizualizarea prestabilit din Panoul de
navigare are o serie de legturi care duc ctre Explorerul de documente, Explorerul de fotografii sau
Explorerul de muzic. Exist o legtur Cutri care permite s vizualizarea Folderelor de cutare
de pe calculator.
Folderele tradiionale i coninutul acestora au o adres specific pe unitatea hard-disk. n
contrast, un Folder de cutare, este o cutare salvat care ruleaz instantaneu n momentul n care
facei clic pe ea. Foldere de cutare pot organiza automat fiierele n mod logic, fr a le muta la
alte locaii de pe calculator i se pot vizualiza fiierele n diverse moduri, fr probleme cu privire la
141

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

locaia fiierelor. Este posibil i vizualizarea tradiional, sub form de arbore, selectnd controlul
folderelor din partea de jos a panoului.
Noua bar de comand afieaz sarcinile relevante pentru fiierele afiate ntr-un anumit
Explorer. De exemplu, Explorerul de documente conine sarcini ale barei de comenzi relevante
pentru documente, iar Explorerul de muzic, conine sarcini din bara de comenzi relevante fiierelor
muzicale. Spre deosebire de Windows Explorer din Windows XP, bara de comenzi i panoul de
navigare sunt disponibile simultan.
Noua funcionalitate scalabil Pictograme live mbuntete pictogramele generice din
versiunile anterioare de Windows oferind o previzualizare a componentelor unui anumit fiier fr a
deschide efectiv fiierul.
Pentru orice fiier selectat, Windows Vista afieaz un set complet de proprieti ale fiierului
n Panoul de detalii, nlocuind caseta de dialog Proprieti. Pentru aplicaiile i formatele de fiiere
acceptate care au aceast caracteristic activat, Panoul de detalii poate oferi o modalitate rapid de
"previzualizare" a fiierului fr a-l deschide n aplicaia asociat.
Spre deosebire de versiunile de Windows anterioare, Windows Vista ofer dou interfee
pentru utilizator diferite: o interfa "elementar" pentru sistemele entry-level i o interfa mai
dinamic denumit Windows Aero. Interfaa elementar a fost actualizat i fluidizat pentru a
permite lucrul cu programele i fiierele mai uor.
Windows Aero dezvolt experiena elementar a utilizatorului i ofer cea mai avansat i
performant experien desktop de la Microsoft. Pentru a utiliza Aero este nevoie de un calculator
cu o plac video compatibil.
Un element nou al experienei Aero este efectul translucid al Aero Glass, care ofer reflexii
dinamice i animaii clare.
Dou caracteristici noi din Aero, Windows Flip i Windows Flip 3D, ofer o modalitate
nou de a administra cu ncredere ferestrele de pe desktop, pentru a le putea vedea ntr-un mod
uimitor, dar convenabil. Aero Glass creeaz o fereastr cu adevrat transparent, concentrat
asupra coninutului, dar care v permite totui s urmrii celelalte ferestre de pe desktop. n
Windows Vista, ferestrele sunt dinamice. Cnd este minimizat, o fereastr va fi animat subtil la o
anumit locaie din bara de sarcini, fcnd mai uoar localizarea sa ulterior.
Cu Windows Aero, miniaturile live din bara de sarcini arat coninutul ferestrelor deschise,
fie c sunt n background sau sunt minimizate n bara de sarcini. Cnd oprii mouse-ul deasupra
titlului unei ferestre din bara de sarcini, se poate vedea coninutul "live" al acelei ferestre, fr a fi
necesar s o aducei n prim-plan.

a.
b.
Figura 4.17. a. Interfaa Windows Aero b. Meniul START
Windows Flip este o actualizare a caracteristicii cunoscute sub numele de ALT+TAB n
versiunile anterioare de Windows. Cu Aero, Windows Flip prezint miniaturi live ale ferestrelor
142

CAPITOLUL 4. PRINCIPALELE SISTEME DE OPERARE

deschise n locul pictogramelor generice, fcnd mai facil identificarea ferestrei pe care o cutai.
Aceast nou caracteristic permite chiar s minimizai toate ferestrele de pe desktop.
Cu Aero, Windows Flip 3D creeaz o vizualizare a ferestrelor deschise ntr-o stiv
tridimensional, pe desktop. Utiliznd tasta cu sigla Windows n combinaie cu tasta TAB, putei
parcurge ferestrele deschise pentru a localiza i selecta rapid fereastra dorit.
Cnd utilizai Windows Aero, ferestrele deschise parcurg mai lin ecranul cnd le mutai sau le
redimensionai. Nu exist artefacte de micare, laten sau efecte de "scurgere" care erau n trecut
vizibile n special n cazul ferestrelor care afieaz coninut dinamic, cum sunt filmele. Utiliznd
Aero se reduc problemele anterioare legate de driverul pentru grafic. Cu interfaa elementar
Windows Vista i cu Windows Aero se pot gsii organiza rapid informaiile pe desktop i derula
activitile cu productivitate crescut. Cu sistemul de stocare inovator din Windows Vista, se pot
marca i personaliza fiierele cu proprieti.
Folderele de cutare reprezint cutri care sunt rulate instantaneu cnd facei clic pe ele.
Windows Vista este livrat cu cteva foldere de cutare preconfigurate, cum ar fi Documente recente
i toate ataamentele care v arat toate fiierele de pe calculator care sunt ataate la e-mailuri.
Folderele de cutare colecteaz toate fiierele corelate n foldere preconfigurate sau foldere create
personalizat.
Cutarea instantanee este contextual - optimizeaz rezultatele pe baza activitii curente, fie
c sunt cutate applet-uri din Panoul de control, fiiere cu muzic din Windows Media Player sau
fiiere i aplicaii din meniul Start. Pentru a cuta un anumit fiier, mesaj e-mail, contact,
eveniment, o aplicaie sau o adres Internet favorit, deschidei meniul start i ncepei s tastai n
cmpul Cutare instantanee. Pe msur ce tastai, Windows Vista caut i afieaz instantaneu
elementele corelate, fie c este vorba despre aplicaii, adrese internet favorite, documente media,
contacte, evenimente din calendar sau mesaje e-mail.
Cutarea instantanee este evideniat n colul dreapta sus al fiecrei ferestre Explorer:
Explorer de documente, Explorer de muzic, Explorer de fotografii i noul Explorer de cutare. Ca
i n cazul meniului Start, nu trebuie dect s tastai cteva litere pentru ca cele mai relevante
rezultate s fie afiate rapid. Dac rezultatele afiate nu sunt ceea ce cutai, cutarea instantanee c
ofer acces facil la instrumente care v pot ajuta s creai cutri mai exacte sau putei s cutai pe
Internet utiliznd motorul de cutare dorit.
Funcia de cutare este de asemenea activ n colul dreapta sus al Panoului de control din
Windows Vista. Tastai un cuvnt sau o fraz asociat cu sarcina pe care vrei s o ndeplinii i n
Panoul de control vor fi filtrate cele mai relevante opiuni disponibile pentru realizarea sarcinii. De
exemplu, dac tastai "schimbare rezoluie ecran" n cmpul de cutare instantanee, vor fi afiate
rapid toate controalele corelate cu schimbarea rezoluiei monitorului.
Funcia Cutare instantanee este de asemenea activ n Windows Photo Gallery i n
Windows Media Player. Oriunde vedei cmpul de cutare, ncepei s tastai i vei gsi cu uurin
ceea c cutai, rapid, exact i n contextul n care cutai.
Pentru detalii suplimentare despre cutrile dintr-un Explorer, se utilizeaz panoul de filtrare
avansat pentru a crea o cutare cu mai multe criterii. Se pot aduga filtre suplimentare, inclusiv
cuvinte cheie i intervale de date. Cnd s-a creat o cutare util, este uor s o salvai sub forma
unui folder de cutare nou, pentru ca mai trziu s putei repeta instantaneu acea cutare printr-un
simplu clic.
n cazul n care conectai uniti externe independente la calculatorul pe care este instalat
Windows Vista, n scopul stocrii, backup-ului sau arhivrii, coninutul acestor uniti va fi de
asemenea afiat n rezultatele cutrii. Adugai unitile la indexul de cutare i cnd creai un
Folder de cutare nou, coninutul unitilor va fi inclus n rezultate.
Explorerele din Windows Vista extind beneficiile cutrilor pe desktop la urmtorul nivel,
combinnd cutrile instantanee i posibilitatea de a organiza automat coninutul pe baza
proprietilor, cum ar fi numele de fiiere, tipurile de fiiere, autorul sau cuvintele cheie descriptive
(sau "etichetele") pe care le putei asocia cu fiierele.
143

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Controalele mbuntite pentru antetele coloanelor sunt susinute de utilizarea extins a


proprietilor fiierelor din Windows Vista. Cu ajutorul controalelor extinse pentru antetul
coloanelor, se pot gestiona uor numrul mare de fiiere care pot fi afiate n Explorer sau n
rezultatele cutrii. Noile controale pentru antetul coloanelor au meniuri derulante, care pot afia
toate valorile din orice coloan cu informaii asociat cu fiierele.
Noile controale pentru antetul coloanelor, dispun de noi vizualizri pe care le putei utiliza
pentru a parcurge coninutul. Vizualizarea Stiv afieaz de asemenea, coninutul organizat dup
valorile dintr-o anumit coloan. De exemplu, dac selectai antetul coloanei Autori i selectai
ordonarea n stiv dup autor, toate fiierele din acea vizualizare vor fi rearanjate automat n stive,
organizate dup numele autorului. Vizualizarea n stiv afieaz fiierele ordonate n stiv dup o
anumit valoare, asociat cu fiierele, cum ar fi de exemplu: numele autorului, data, aplicaia, sau
un cuvnt cheie
Aceste stive se comport asemeni folderelor tradiionale i putei face clic pe ele pentru a le
deschide i a vedea toate elementele din acea stiv. Spre deosebire de folderele tradiionale, stivele
nu au o locaie fizic pe calculator. Din acest punct de vedere, stivele sunt vizualizri virtuale ale
coninutului. n plus, dac un fiier are doi autori, acel fiier este inclus n stivele corespunztoare
fiecruia dintre cei doi, oferindu-v flexibilitate maxim n modul de organizare a fiierelor.
Vizualizarea Grupare dup este similar vizualizrii Stiv, dar fiierele de coninut sunt
organizate n grupuri conform valorilor unui anumit antet de coloan. Gruparea fiierelor dup autor
v ofer o vizualizare mai granular a documentelor care aparin unui anumit autor.
Noile caracteristici puternice de cutare i vizualizare din Windows Vista utilizeaz extensiv
proprietile (denumite metadate sau cuvinte cheie) asociate cu fiierele stocate pe calculator, pentru
a oferi modaliti dinamice de vizualizare a coninutului. Aceste proprieti pot include criterii ca
data crerii fiierului, autorul, numele persoanelor care apar ntr-o fotografie sau aplicaia care a fost
utilizat pentru crearea fiierului.
Pentru a aduga uor proprieti la un fiier, selectai-l i facei clic pe legtura Editare din
Panoul de detalii. Astfel va fi deschis caseta de dialog Proprieti n care se pot aduga sau edita cu
uurin proprietile fiierelor. Multe dintre cmpurile din aceast caset dispun de caracteristica de
completare automat, fcnd adugarea proprietilor mult mai facil. Se poate s eticheta un grup
ntreg de fiiere simultan, selectnd fiierele i adugnd o proprietate n caseta de dialog
Proprieti. Dac dorii s v asigurai c proprietile i cuvintele cheie personalizate ale dvs sunt
confideniale cnd trimitei un fiier prin e-mail sau l postai pe un site Web, Windows Vista
conine un instrument de tergere care v ajut s tergei rapid i uor acele proprieti ale
fiierului.
Windows Vista dispune de o caset de dialog nou, comun, pentru deschiderea i salvarea
fiierelor. Cu aplicaiile care utilizeaz acest control, cum este Office 2007, putei utiliza toate
caracteristicile noi i inovatoare de cutare i etichetare cnd deschidei i salvai fiiere. Pentru a
aduga proprieti cnd salvai un fiier, introducei proprietile direct n Panoul de detalii i
acestea vor fi adugate automat la fiier atunci cnd l salvai.
Explorer-ul din Windows Vista conine o legtur de Cutare instantanee n colul din dreapta
sus. Funcia Cutare instantanee conine Explorerul de documente, de muzic, de fotografii i noul
Explorer de cutare. Fereastra Cutare instantanee apare de asemenea n colul din dreapta sus al
noului Panou de control. Caseta Cutare instantanee poate fi gsit n programele Windows, cum
sunt Internet Explorer 7, Windows Photo Gallery i chiar Windows Media Player. Network and
Sharing Center ofer controlul asupra conectivitii n reea ; poate verifica starea conexiunii,
vizualiza reeaua i depana problemele de conectare.
Network and Sharing Center informeaz cu privire la reea i verific dac PC-ul, poate
accesa Internetul n siguran apoi sumarizeaz aceste informaii sub forma unei hri de reea.
Dac un calculator din reea se deconecteaz de la Internet, Network and Sharing Center ofer
o reprezentare grafic a conexiunii ntrerupte. Apoi, cu Network Diagnostics and Troubleshooting
se stabilete cauza problemei i modalitile posibile de rezolvare.
144

CAPITOLUL 4. PRINCIPALELE SISTEME DE OPERARE

Parental Controls - responsabilitate fa de copii, integrate n Windows Vista sunt concepute


pentru a oferi linite prinilor i a le da ncredere n modul n care gestioneaz exact activitile pe
care copiii le pot desfura pe calculator. Aceste controale ajut prinii s stabileasc jocurile care
pot fi jucate de copii, programele pe care acetia le pot utiliza i site-urile web pe care le pot accesa
i n ce momente. Prinii pot restriciona utilizarea calculatorului numai la anumite momente i pot
avea ncredere c Windows Vista va aplica acele restricii, chiar dac ei nu sunt acas. Pentru copii,
pictograma Control parental este disponibil n system tray (funcia Control parental este activ).
Windows Photo Gallery ofer o modalitate facil, mai intuitiv, de vizualizare, gestionare i
restrngere a fotografiilor i filmelor. Un proces fluidizat simplific captarea i importul imaginilor
i filmelor, iar noile opiuni de organizare ajut la gsirea amintirilor nregistrate
Windows Vista v ofer dou modaliti de a tipri fotografiile: Online Print Wizard i Photo
Print Wizard. Cu aceste metode, se pot selecta i tipri o sarcin fie din Windows Photo Gallery, fie
din Explorerul de fotografii.
Windows DVD Maker, permite s creai DVD-uri cu aspect profesional cu filme i fotografii,
care pot fi vizualizate pe DVD playere, indiferent de codurile regionale ale zonei geografice.
Transferul realizat cu Windows Movie Maker HD pe un video DVD este uor.
DVD Maker din Windows Vista public direct n format MPEG-2, permind scrierea DVDurilor direct de pe camera video.
Utiliznd suportul pentru slide show ncorporat n Windows DVD Maker, se poate partaja
prezentri foto i video sau filme utiliznd un DVD player. Imaginile adugate pe DVD sunt incluse
sub forma unui slide show cu efecte i tranziii ntre fotografii i cu coloana sonor dorit.
Windows Media Center permite urmrirea fotografiilor ntr-o expunere cinematic, colecia
de muzic dup coperile albumelor, DVD-uri, nregistrarea TV, descrcarea i vizionarea de filme.
Windows Media Center conine noile jocuri pentru Windows: Chess Titans i Mahjong Titans
care pot fi vizualizate i pe televizor.
Pentru a se asigura c ofer tuturor categoriilor de utilizatori produsele de care au nevoie,
Microsoft a lansat 5 ediii diferite Windows Vista: Windows Vista Home Basic i Premium,
Windows Vista Business, Windows Vista Enterprise i Windows Vista Ultimate. Pentru
organizaiile mari, cu infrastructuri IT complexe, se recomand ediia Windows Vista Enterprise.
Principalele caracteristici ale sistemului de operare Vista sunt asigurate de noile programe:
Windows Defender i Windows Firewall,
Cutarea instantanee i Windows Internet Explorer 7,
Windows Aero cu meniuri cu aspect de sticl, Flip 3D i miniaturi live,
Centrul de mobilitate Windows i suport Tablet PC,
Spaiul de ntlnire Windows,
Windows Media Center i extensiile Media Center,
Windows Complete PC Backup and Restore,
Spaiul de lucru la distan,
Centrul de reea,
criptarea unitilor de disc Windows BitLocker,
Windows DVD Maker,
trei jocuri speciale, noi-noue: Chess Titans, Mahjong Titans i Inkball,
crearea de filme de nalt definiie cu Windows Movie Maker i Movie Maker HD.
4.5.5. Windows 7
Interesul specialitilor IT a nceput s migreze masiv de la Windows Vista la intens
mediatizatul Windows 7, ce urmeaz s fie lansat n 2010 sau 2011.
Windows 7, cunoscut sub numele de cod Blackcomb (Vienna), va fi mai uor, mai rapid
iconine aplicaii multi-touch. Exist informaii despre versiunea 7 de Windows Mobile, unul
dintre cele mai populare sisteme de operare pentru telefoane mobile inteligente i PDA-uri cu
145

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

funcie de telefon. Una dintre cele mai mari schimbri a viitorului Windows Seven este aa numitul
Recover Center care va aprea n panoul de control al sistemului de operare. Cu acest program,
utilizatorii vor fi capabili s repare Windows-ul sau fiierele care au fost afectate, spre exemplu, de
un virus, fr s mai fie necesar reinstalarea. Un alt plus l reprezint faptul c niciun fel date nu
vor fi afectate de reparaii.
Microsoft va lansa DirectX 11 nainte de apariia noului sistem de operare Windows 7.
Microsoft pare s fi ajuns la aceast decizie la presiunea unor nume mari din industria jocurilor,
care vor s integreze n noile apariii elemente din noul API (cum ar fi tesselation).
n figura 4.18 sunt prezentate ferestre i sigla Windows 7 cunoscute din prezentrile recente.

a.

b.

c.

d.

Figura 4.18. a. Interfaa Windows 7, b. Sigla Windows 7, c. Fereastra START, d. Control Panel.
Unul din inginerii Microsoft, a fcut o demonstraie cu Windows 7 - care se vrea a fi urmaul
lui Vista. De fapt Windows 7 este n momentul de fa un sistem de operare gol care ruleaz n
mod text i are doar 13 servicii pornite printre care i un mini-server http. Aceasta versiune
demonstrativ se instaleaz doar pe 25 MB pe hard disk i consum doar 40MB de memorie.
Versiunea alfa va fi diponibil dezvoltatorilor n cadrul Professional Developers Conference
(PDC) care se va desfaura n luna octombrie. Microsoft a confirmat c Windows 7 va fi disponibil
pe piaa n 2010. Conform informaiilor existente pn n prezent, Windows 7 va utiliza acelai
kernel ca i Vista, ceea ce reduce considerabil riscul unor ntrzieri majore n cadrul proiectului i
evitarea unor probleme de compatibilitate dintre Vista i Windows 7. Eforturile sunt cu att mai
intensificate cu ct problemele legate de Vista au constituit nite pai napoi pentru Microsoft.
Prezentarea anterioara a lui Windows 7, cea din mai, a fost considerat, mult prea scurt i
fr prea mare importan, din moment ce compania nu a rspuns la ntrebri.
146

CAPITOLUL 5. REELE DE CALCULATOARE

CAPITOLUL 5
REELE DE CALCULATOARE
5.1. GENERALITI
O reea de calculatoare este alctuit dintr-o colecie de calculatoare interconectate printr-un
mediu fizic de comunicaie, care a evoluat de la cablul telefonic la transmisia prin satelit (engl.:
computer network). Comunicarea fizic ntre calculatoarele din reea ofer utilizatorului individual
avantaje deosebite, de la schimbul reciproc de mesaje la accesul de oriunde i oricnd la resursele
hardware i software ale reelei, respectiv:
- accesul la baze de date aflate pe alte calculatoare;
- folosirea unor programe aflate n alt loc dect pe propriul hard disc;
- utilizarea n comun a unor echipamente hardware conectate la reea.
De obicei e nevoie i de msuri de restricie/siguran a accesului.
Reea este gruparea de calculatoare denumite noduri centrale (NC), care comunic pe canale
de transmisie centrale (CTC) la care se conecteaz calculatoarele utilizatorilor, alctuind nodurile
utilizator (NU) care comunic pe canale de transmisie utilizator (NTU).
Metodele de conectare sunt n continu dezvoltare i deja foarte diverse, ncepnd cu tot felul
de cabluri metalice i de fibr optic, cabluri submarine i terminnd cu legturi prin unde radio
cum ar fi WLAN, WiMAX sau Bluetooth, prin raze infraroii ca de ex. IrDA sau chiar prin
intermediul sateliilor. Foarte rspndit este metoda Ethernet, termen care se refer la natura fizic
a cablului folosit i la tensiunile electrice ale semnalului. Cel mai rspndit protocol de comunicare
n reelele Ethernet se numete CSMA/CD ("Carrier Sense Multiple Access / Collision Detection").
Dac drept mediu fizic sunt utilizate undele radio, atunci reeaua se numete reea fr fir (wireless).
5.2. TIPURI DE REELE DE CALCULATOARE
Tipurile de reele se difereniaz n funcie de anumite criterii.
La modul cel mai general, ele se clasific dup urmtoarele criterii:
a) aria geografic n care opereaz;
b) tehnologia de comunicare.
Aria geografic n care opereaz o reea depinde de distana maxim dintre dou noduri ale
reelei. Astfel se pot distinge:
- reele locale ( LAN - Local Area Network);
- reele academice (CAN - Campus Area Network)
- reele metropolitane ( MAN - Metropolitan Area Network);
- reele pe arie extins (WAN - Wide Area Network);
- reele pe arie de extindere foarte mic (PAN - Personal Area Network).
Reelele relativ mici, de exemplu cu cel mult cteva sute de calculatoare n aceeai cldire
legate ntre ele direct, se numesc Local Area Network (LAN). O reea de tip LAN dar fr fir (prin
unde radio) se numete WLAN (Wireless LAN). Reea academic (Campus Area Network) este o
reea de calculatoare asemnatoare cu cea de tip LAN dar ea se extinde pe zone geografice mult mai
restrnse. Aceast reea se poate de considerat ca o form a reelei metropolitane, configurat dup
necesiti academice. n cazul unei universiti o reea CAN, poate face legtur dintre diferite
cldiri a campusului care poate include: departamentele academice, bibliotec universitar
reedinele studenilor. CAN este mai mare dect reelele locale LAN dar mai mici dect WAN, n
unele cazuri. Reelele CAN au fost create cu scopul de a facilita studenii la accesul liber la reeau
internet i la resursele universitii. Reele de mare ntindere geografic, de exemplu ntre 2 orae,
pe o ar, un continent sau chiar pe ntreaga lume, se numesc Wide Area Network (WAN). Reelele
particulare de tip WAN au fost iniial foarte costisitoare. La ora actual ns, cele mai multe
conexiuni de tip WAN folosesc ca mijloc de comunicaie Internetul (GAN= Global Area Network) 147

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

acesta este universal i public, deci nu foarte controlabil de ctre un utilizator. PAN nseamn
Personal Area Network - o reea de foarte mic ntindere, de cel mult civa metri, constnd din
aparatele interconectabile pe care o persoan le poart cu sine, ca de exemplu telefon mobil, player
MP3 sau aparat de navigaie portabil.
Tehnologia de comunicare separ reelele n dou categorii:
- reele fr comutare;
- reele cu comutare.
1. Reelele fr comutare sunt reele n care nodurile sunt conectate prin echipamentele
specializate cunoscute sub denumirea de canale de comunicaie. Pe aceste canale se ntlnesc
dou tipuri de legturi:
- legturi punct la punct (unicast): un emitor i un receptor;
- legturi multipunct sau difuziune (broadcast sau multicast): un emitor i mai muli
receptori.
Legtura punct la punct conecteaz dou noduri la un canal de comunicaie.
Legtura multipunct conecteaz mai multe noduri la un nod central prin partajarea aceluiai
canal de comunicaie. Nodul central asigur i rezolvarea conflictelor de acces pe canalul comun.
2. Reelele cu comutare pot fi la rndul lor:
- reele cu comutare fizic (de circuite);
- reele cu comutare logic.
a) comutarea de circuite sau comutarea fizic asigur selectarea i rezervarea unui canal
fizic de transmisie care rmne, conectate pe o perioad de timp proporional cu durata apelului.
b) comunicarea logic este de dou feluri:
- comutare de mesaje;
- comutare de pachete.
Comutarea de mesaje este tehnologia prin care mesajul, care se mai numete cadru sau frame,
este transmis de la surs la destinaie ca o entitate unic. Mesajul tranziteaz unul sau mai multe
calculatoare intermediare pn la destinaie, traseul fiind stabilit pe baza unor algoritmi de dirijare.
Comutarea de pachete fragmenteaz un mesaj n uniti numite pachete. Pachetele conin
n antetul lor informaii care permit refacerea mesajului la destinaie n condiiile n care pachetele
au fost dirijate aleatoriu pe traseele gsite libere.
5.3. MODELUL DE COMUNICAIE N SISTEMELE DE DATE
Analiza noiunilor legate de reelele de calculatoare presupune clarificarea unor aspecte legate
de suportul de comunicaie necesar. Vehicularea informaiilor transmise de ctre o sursa ctre o
destinaie, indiferent dac acestea sunt operatori umani sau maini, presupune o abordare complex
i o viziune de ansamblu multidisciplinar. Reeaua de calculatoare reprezint un ansamblu de
calculatoare interconectate prin intermediul unor medii de comunicaie, asigurndu-se n acest fel
utilizarea n comun, de ctre un numr mare de utilizatori, a unor resurse fizice (hardware), logice
(software i aplicaii de baza) i informaionale (baze de date) de care dispune ansamblul de
calculatoare conectate. Prin noiunea de lucru n reea se va nelege conceptul de interconectare a
unor echipamente de calcul care partajeaz resurse.
Resursele pot fi date (baze de date), aplicaii (programe de editare texte, programe de gestiune
a stocurilor etc.), periferice (imprimante, scannere etc.). Tehnicile utilizate n transmiterea
informaiilor se refer la totalitatea mijloacelor i metodelor de transmisie eficient i de protejare a
informaiei mpotriva perturbaiilor. Modelul unui sistem pentru transmiterea informaiei este
prezentat n figura 5.1.

Figura 5.1 Modelul unui sistem de transmitere a informaiei


148

CAPITOLUL 5. REELE DE CALCULATOARE

Semnficaiile blocurilor funcionale sunt:


E = emitor,
G = generator de purttoare,
C = canal de transmisiuni,
P = perturbaii,
S = sursa de informaii,
R = receptor,
D = destinatar.
Prin surs de informaii (S) se va nelege mecanismul prin care se alege ntr-un mod
imprevizibil la nivelul destinatarului, un anumit mesaj ce urmeaz a fi transmis. Sursa de informaii
poate furniza o mulime de mesaje (m), dar la un moment dat ea va alege un anumit mesaj pe care-l
va transmite, fr ca destinatarul s cunoasc alegerea fcut.
Pentru transmiterea mesajelor la distan este necesar un emitor care realizeaz trei operaii:
traducerea,
codarea,
modularea.
Deoarece natura fizic a mesajelor furnizate de o surs este foarte divers este necesar
transformarea acestor mesaje, cu ajutorul unor traductoare, n semnale electrice sau n semnale uor
de prelucrat ulterior. Operaiunea se numete traducere. n scopul mririi eficienei transmisiunii i
protejrii informaiei transmise mpotriva perturbaiilor semnalele de la ieirea traductoarelor sunt
transformate n semnale elementare prin operaiunea de codare. Pentru asigurarea posibilitii de
propagare la distan a semnalului tradus i codat, se genereaz un semnal de nalt frecven
(purttoare) care este modulat de informaia mesajului prelucrat anterior prin procedura de modulare.
Prin canal de transmisiuni se nelege mediul fizic prin care se poate propaga informaia
(cablul telefonic, cablu telegrafic, cablu coaxial, canal radio, canal TV, cablu optic).
Toate canalele de transmisiuni sunt perturbate de anumite zgomote astfel nct semnalul de la
ieirea canalului (r), este o sum ntre semnalul transmis de emitor (s) i zgomotul (n) ce apare
inevitabil pe orice cale de transmisiune. n transmisiunile binare, zgomotul are caracter aditiv (se
sumeaz binar modulo 2 cu biii transmii).
Receptorul (R) realizeaz operaiile inverse celor asociate emitorului n scopul recuperrii
informaiei iniiale:
demodularea,
decodarea,
traducerea.
Receptorul (R) trebuie astfel sintetizat, ca din semnalul recepionat (r) i pe baza cunoaterii
statisticii a zgomotului ce poate apare pe canal, s estimeze, dup un anumit criteriu de fidelitate, ce
mesaj a transmis sursa. La ieirea receptorului se obine astfel un mesaj care este, cu o anumit
probabilitate, similar cu mesajul transmis i care este numit estimatorul mesajului transmis (m).
ntre m i m exist o anumit diferen, numit eroare de estimare. Scopul sintezei
receptorului este acela de a realiza o eroare de estimare ct mai mic.
Unul din elementele fundamentale ntr-o reea de date este canalul de comunicaie. Un canal
de comunicaie poate fi definit ca o cale de vehiculare a informaiei n interiorul unei linii, prin linie
de comunicaie nelegandu-se echipamentul fizic i configuraiile aferente utilizate n
telecomunicaii. O linie poate conine mai multe canale, circuite sau trunchiuri.
Canalele prezint limitri n ceea ce privete posibilitile de vehiculare a informaiilor,
limitri dependente de caracteristicile lor electrice i fizice.
n funcie de posibilitile de vehiculare direcionat a datelor, sunt cunoscute trei tipuri
fundamentale de canale: simplex, semi-duplex (half-duplex), duplex (full-duplex).
Considernd o legtura de tip "punct la punct" ntre dou puncte, A i B, avem situaiile:
-transmisie ntr-un singur sens, de la A ctre B, specifice terminalelor de supervizare. Un
astfel de canal este de tip simplex.
-transmisia de la A ctre B, sau de la B ctre A, dar alternativ i nu simultan, definete
canalele semi-duplex (half-duplex). n cazul circuitelor care utilizeaz dou fire
conductoare, linia trebuie comutat pentru schimbarea sensului de transmisie. Comutarea
149

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

liniei poate fi evitat dac se utilizeaz circuite pe patru fire (sau separearea benzilor de
frecvena n cazul transmisiunilor modulate).
-transmisia simultana de la A ctre B i de la B ctre A se numete transmisie full-duplex
sau simplu duplex. De multe ori un canal full-duplex utilizeaz circuite distincte din
punct de vedere fizic (pe patru fire, de exemplu, cte o pereche pentru fiecare sens) dar
exista i posibilitatea unei transmisii full-duplex i pe un circuit fizic comun (de exemplu
prin divizarea spectrului de frecvena, creandu-se un canal de transmisie i un canal de
recepie sau prin utilizarea de radiaii optice cu lungimi de und diferite n cazul
comunicaiilor prin fibra optic).
Un caz particular l constituie transmisia de tip echoplex pe canale full-duplex, care const n
retransmisia napoi a caracterului recepionat, efect similar cu ecoul.
Echoplexarea este util pentru detectarea i corectarea erorilor. De exemplu, caracterele
tastate de la o tastatur pot fi verificate prin vizualizare pe un monitor, prin redirecionarea lor de
ctre echipamentul receptor (ecou).

Fig. 5.2. Tipuri de canale de comunicatie


5.4. REELE LOCALE
Reelele locale sunt alctuite din staii de lucru conectate la un calculator central numit server.
Ele sunt difereniate de particularitile urmtoarelor elemente:
- mediul de transmisie;
- topologie;
- tehnica de transmisie;
- protocolul de comunicaie.
5.4.1. Mediul de transmisie
Mediul de transmisie este reprezentat de cablul de transmisie a semnalelor electrice ntre
calculatoare. Acesta poate fi:
- cablul torsadat (rsucit),
- cablul coaxial;
- fibra optic.
Mediul de transmitere influeneaz viteza, calitatea i securitatea transmisiei. Cablul de fibr
optic este cel mai folosit acum pentru c asigur viteze de transmisie ntre 100 1000 Mbps (mega
bii pe secund) e drept cu costuri de instalare mai ridicate. Prin cablul de fibr optic se pot
transmite pe distane mari, n condiii de calitate i securitate sporite, date, voce, imagini video, fax.
1. Cablul torsadat (rsucit) Unshielded Twisted-Pair (UTP) este mediul de transmisie format
din patru perechi de fire, izolate ntre ele (fig.5.3.a.). Prin torsadarea perechilor de fire apare efectul
de anulare, efect ce limiteaz degradarea semnalelor datorit interferenelor magnetice sau radio.
UTP-ul este un cablu uor de instalat (are un diamtru de 0.17) i mult mai ieftin decat alte
tipuri de cabluri. Dei este considerat cel mai rapid mediu de transmisie bazat pe cupru, este mai
vulnerabil n faa zgomotelor electrice n comparaie cu alte categorii de cabluri.
Twisted-pair este n strans legatur cu topologia fizic stea. Ratele de transfer sunt de
100Mbps i chiar mai mult. Distana maxim ntre un computer i componenta central (hub) este
de regul de 100m.
Unshielded nsemn c perechile singulare de fire rsucite nu au protecie proprie. Cablurile
UTP sunt destul de sensibile la pertubri. Dac de exemplu n trunchiul unui cablu sunt mai multe
cabluri se poate ajunge la perturbarea transferului de date.
150

CAPITOLUL 5. REELE DE CALCULATOARE

STP (Shielded Twisted-pair) nseamn c fiecare pereche de fire este protejat printr-un
nveli. Tot cablul (toate perechile de fire) au un nveli protector adiional. Cablurile STP sunt de
aceea mult mai puin sensibile la perturbri. Datele pot fi tranferate cu rate mari i pe distane mari.
Ecranarea (Screened). Att UTP ct i STP exist i n versiunea Sc, care nseamn c sunt
protejate adiional toate perechile de fire printr-un ecran (screen) din metal au cu o folie de metal
(Foiled Twisted Pairs) ce realizeaza ecranajul, att din exterior ct i din interior. Notaiile acestor
cabluri sunt ScUTP/FTP i S/STP.
Cablurile torsadate sunt standardizate prin performanele pe care trebuie s le asigure i nu
prin parametri fizici. n acest sens sunt definite mai multe categorii de performan. Acest fapt este
un avantaj important deoarece, indiferent de productor, ne ateptm la performane similare pentru
cabluri din aceiai clas. Principale organisme cu atribuii n domeniul standardizrii (ANSI, FCC,
EIA) au definit standarde pentru cablare sau pentru elemente de infrastructur dar i categorii de
performan pentru cabluri.
Atunci cnd cablurile TP se folsesc pentru a conecta dou echipamente este necesar ca cele
dou perechi pentru transmisie respectiv recepie s fie inversate (transmisia unuia s ajung la
recepia celuilalt), rezultand cablul cross-over (inversor).
Atunci cnd se folosesc echipamente dedicate de interconectare inversiunea respectiv este
realizat n interiorul echipamentului (hub, switch) cablul folosit fiind de tip 1:1 (straight through,
cablu direct). Echipamentele moderne au capacitatea de a determina singure perechea emitoare
respectiv receptoare, funcie numit Auto-sensing, Auto-MDI/MDI-X, Universal Cable Recognition
sau Auto-uplink. n afara cablurilor menionate exist i varianta roll-over (inversare n oglind).
Cablurile UTP sunt mprite pe diferite categorii, oferind informaii despre propritile
cablurilor. La cele mai multe categorii sunt folosite patru perechi de fire rsucite.
Exist numeroase tipuri de cabluri torsadate, dou dintre acestea fiind mai importante pentru
reele. Cablurile UTP din categoria 3 sunt formate din dou fire izolate mpletite mpreun. O
variant mai performant de astfel de cabluri este categoria 5. Sunt similare celor din categoria 3
dar au mai multe rsuciri pe centimetru i ar trebui s fie izolate cu teflon, rezultnd de aici o
interferen redus i o mai bun calitate a semnalului pe distane mari (tabelul 5.1.).
Tabelul 5.1.
Comparaie ntre caracteristicile diferitelor categorii de cabluri torsadate UTP

Elemente de legatura. Pentru legarea cablurilor twisted-pair la hub, respectiv la placa reelei,
sunt folosite steckere/cuple RJ-45 (Registered Jack), ca n figura 5.3.b., aseamntoare cu cele de
telefon (RJ-11), sunt ns ceva mai mari i conin opt pini de cabluri n loc de patru.
Caseta de distributie (Patch-panel) folosesc la preluarea, legarea i mprirea cablurilor,
ofer o posibilitate simpl, confortabil, structurat de a organiza centralizat un numr mare de
conexiuni. Elementele de legatur la cablurile de tip 1 i 2 sunt denumite cupla MIC (Media
Interface Connector). Tipul 3 folosete RJ-45 si RJ-11.
2. Cablul coaxial subire (thinnet) (coax) const dintr-un nveli protector care mbrac dou
elemente conductoare: un fir de cupru mbrcat ntr-un material izolator i o folie metalic (sau o
151

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

plas) ce acioneaz ca al doilea fir din circuit. Acest al doilea element este folosit pentru a reduce
interferenele externe. Este cablul cu cea mai bun ecranare, ns nu prea se mai folosete (cu
excepia reelelor vechi). Circuitele n cablu coaxial permit o vitez de propagare ridicat care
variaz foarte puin cu frecvena, ceea ce implic existena unor distorsiuni de ntarziere reduse. n
cazul transmisiunilor binare, debitul binar scade cu creterea distanei datorit atenurii semnalului
electric. Lungimea maxim de propagare este limitat prin standardele de comunicaie de timpul de
propagare, cu precdere n cazul comunicaiilor bazate pe cerere i rspuns.

a.
b.
Figura 5.3. Cablul torsadat UTP a. cablu; b. cuple RJ-45.
Avantajul cablurilor coaxiale const n oferirea posibilitii unor comunicaii de band larg
pe distane relativ mari echipamentele fiind conectate la o magistral unic folosind conectoare
adaptoare n forma de T. Aceste conectoare fac ca sistemele conectate s apar ca fiind, unul dup
altul, n cascad (figura 5.4.b).
Mediul de comunicaie se comport ca un ghid de und i din acest motiv trebuie asigurat
adaptarea de impedana la capetele liniei (folosind conectoare de capt sau terminatoare) dar i la
nivelul punctelor de inserare a echipamentelor de date. Ele a fost folosite iniial ca medii de
transmisie dedicate pentru reelele de date tip Ethernet, dar treptat au fost nlocuite cu medii de
transmisie mai performante.

a.
b.
Figura 5.4. Cablul coaxial a. cablu; b. cuple BNC.
Principalele dezavantaje ale acestui cablu care a dus la nlocuirea sa aproape total sunt
urmatoarele: este relativ fragil i fr o rezisten mecanic deosebit, are un cost ridicat, o
dimensiune a cablului semnificativ (grosime de 1 cm sau mai mult n funcie de tip) i nu n
ultimul rnd dificulatile de a asigura adaptarea de impedan a magistralei de comunicaie. Lipsa
adaptrii de impedan determin fenomene de reflexie i refracie a undelor electromagnetice.
Pentru adaptare la capetele liniei de comunicaie se folosesc conectoare de capat sau terminatoare.
n cazul cablurilor coaxiale utilizate n retelele locale (Ethernet) comunicaia are loc
alternativ n cele dou sensuri, fiind astfel de tip semiduplex.
Conectorul folosit de acest tip de cablu se numete BNC (British Naval Connector sau
Bayone-Neill-Concelman)
3. Fibra optic reprezint mediul ideal pentru reelele de mare vitez i ntindere medie i
mic datorit unor avantaje certe date de caracteristicile sale de transmisie. Este nesesar o gama
larg de produse n domeniul sistemelor bazate pe fibre optice: cabluri de fibr optic cu diferite
performane, conectoare specifice, adaptoare, amplificatoare, elemente auxiliare, scule i truse de
scule necesare realizrii i ntreinerii sistemelor i nu n ultimul rnd echipamente de testare
specifice.
152

CAPITOLUL 5. REELE DE CALCULATOARE

Cablul cu fibr optic este format dintr-un fir de material sticlos numit miez, acoperit cu un
nveli numit manta. Proprietile de difracie ale celor dou medii de sticl sunt diferite. La exterior
ele sunt protejate de un nveli de protecie.
Fibrele optice pot avea o gam variat de forme, dimensiuni i domenii de lungimi de und
transportate. Tipic un cablu cu fibre optice are structura din figura 5.5.

a.

b.

c.
d.
Figura 5.5. Cablul cu fibre optice a, b cablu; c. conector; d. seciune.
Axa central a fibrei este ocupat de ctre un mediu optic pur care are capacitatea de a
transporta n siguran radiaia luminoas pe distane mari. Cablurile optice conin grupuri de dou
sau mai multe fibre. Deoarece fascicolul luminos se propag de la o sursa ctre receptor, rezult c
o fibr poate transporta informaia ntr-un singur sens. Pentru o transmisie duplex sunt necesare cel
puin dou fibre. n cazul n care se utilizeaz lungimi de und diferite, dou radiaii luminoase pot
clatori pe aceiai fibr cu condiia ca elementele opto-electronice utilizate la emisie i recepie s
aib capacitatea de a le separa, ceea ce presupune costuri suplimentare. Mai multe fibre alcatuiesc
un cablu optic.
Fibra optic este mediul care asigur transmiterea luminii, modulat la o anumit frecven.
Comparativ cu alte medii de transmisie, fibra optic este cea mai costisitoare, dar nu este
susceptibil la interferene electromagnetice i n plus asigur rate de transfer mult mai ridicate
decat celelalte categorii de medii.
Cablul fibr optic const n dou fibre de sticl mbrcate separat ntr-un nveli de plastic
(materialul se numete Kevlar). Cele dou fibre formeaz inima acestui mediu de transmisie, sticla
din care sunt realizate avand un grad ridicat de refracie.
Sursa de lumin pentru cablul de fibr optic este o diod luminescent; iar datele sunt
codificate prin varierea intensitii luminii. Exist dou tipuri de cabluri cu fibre optice: mod unic
(single mode) i multimod (multimode). Primul tip are diametrul mai mic, este mai scump i
transmite semnale la distane mai mari.
Fibrele optice folosesc ca purttor de informaie radiaia electromagnetic din spectrul vizibil
14
10 - 1015 Hz. Ele permit o mult mai larga lrgime de band i o capacitate net superioar altor
medii de transmisie. Distana maxim de transmisie a informaiei optice depinde de atenuarea
fasciculului luminos. Aceast atenuare depinde la rndul ei de dou elemente:
- calitatea radiaiei luminoase emise (lungime de unda, putere, coeren), fiind utilizate trei
lungimi de unda: 850 nm, 1300 nm, 1500 nm,
- calitatea fibrei optice i a mbinrilor acesteia.
Performana de a transporta radiaia luminoas la distane mari este determinat de nivelul de
atenuare al fibrei, care a evoluat continuu de la 500 1000 dB/km n 1966 la 0.158 dB/km la 1550
nm prin 1986. Atenuarea depinde i de lungimea de und a radiaiei luminoase utilizate, cele mai
bune performane obtinndu-se n banda de 1550 nm.
153

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Diametrul fibrei optice variaz de la 5 microni pn la cteva sute de microni. n cazul


fibrelor optice care au diametrul miezului mult mai mare dect lungimea de und a luminii
transmise, fasciculul luminos circul prin fibr reflectndu-se continuu la suprafaa de separare
dintre miez i nveli.
5.4.2. Topologia reelelor
Topologia unei reele este perceput n mod uzual ca o reprezentare grafic a geometriei de
interconectare a calculatoarelor, este studiul de aranjament sau cartografierea a elementelor
(legturi, noduri, etc) dintr-o reea, n special interconexiunile fizice (reale) i logice (virtuale)
dintre noduri.
O reea local reprezint att o topologie fizic ct i o topologie logic. Orice nod n reeaua
local va avea una sau mai multe link-uri ctre unul sau mai multe noduri din reea. Pentru
determinarea topologiei fizice a reelei, toate nodurile i link-urile sunt reprezentate n form de
graf. De asemenea, reprezentarea fluxului de date dintre noduri n form de graf determin
topologia logic a reelei. Topologia logic i fizic pot fi att identice n orice reele particulare ct
i diferite. Prin urmare tehnologia reelei locale este bazat pe teoria grafului.
Tipurile de topologii sunt
fizice,
de semnal i
logice.
Topologia Point-to-Point este cea mai simpl topologie din aceast categorie reprezentnd o
legtur permanent (link) ntre dou terminaii (endpoint). Topologiile de tip switched point-topoint sunt modelele de baz a telefoniei convenionale. Valoarea definitiv a reelelor point-to-point
este o valoare garantat dinte cele dou terminaii. Valoarea conexiunilor de tip on-demand pointto-point este proporional cu numrul de perechi de potenialii abonai i a fost exprimat n Legea
lui Metcalfe.

a.

b.

c.
d.
e.
f.
g.
Fig. 5.6. Topologia reelelor
a. inel, b. mesh, c. stea, d. linie, e. arbore, f. conectare total, g. magistral
Topologia BUS este tipul de topologie de reea n care toate nodurile reelei sunt conectate la
un mediu comun de transmisie care are exact dou terminaii (endpoints), toate datele care sunt
transmise ntre noduri n reea este transmis n cursul acestei magistrale comune de transport i de
mediu n aa msur ca s fie primite de ctre toate nodurile din reea, aproape simultan (fr a ine
seama de ntrzieri rspndite). Cele dou terminaii care fac parte din magistrala comuna de
transport i sunt oprite n mod normal, cu un dispozitiv care se numete terminal (terminator).
Dispozitivul respectiv absoarbe energia care rmne n semnal astfel prevenind reflectarea sau
propagarea semnalului n direcia opus, care poate provoca interferen sau chiar poate duce la
degradarea semnalului.
Topologia BUS este cel mai simplu mod de a conecta mai muli clieni, dar au adesea
probleme cnd doi clieni doresc simultan s transmit date pe aceiai magistral. Astfel sistemele
care folosesc arhitectura de reea de tip magistral au proiectate nite scheme pentru evitarea
coliziunilor de date pe magistrala comun, cel mai des este folosit metoda Carrier Sense Multiple
Access (CSMA) care controleaz resursele partajate a magistralei comune fiind un protocol Media
Access Control (MAC) n care un nod nainte de a transmite informaia pe magistrala comun
verific prezena altui trafic de pe mediul comun de transmisie.
Exist urmtoarele topologii de baz:
topologia magistral,
154

CAPITOLUL 5. REELE DE CALCULATOARE

topologia inel i
topologia stea.
Pe baza acestora se construiesc actual reele cu topologii complexe.
Topologia magistral BUS, se caracterizeaz prin aceea c toate nodurile (staiile) reelei
sunt interconectate total, un nod putnd comunica cu oricare din celelalte noduri ale reelei (fig.
5.7.a.). Transmisia se face folosind un singur canal fizic numit magistral BUS.
Gestiunea comunicrii n reea o asigur server-ul, care este de regul un PC mai performant
dect staiile de lucru.
Avantajele topologiei BUS:
Uor de implementat i de extins,
Necesit mai puin lungime de cablu dect reelele stea,
Sunt bine adaptate pentru reele temporare i mici care nu necesit viteze mari, n plus
se poate uor de configurat,
Sunt mai puin costisitoare deoarece se folosete numai un cablu.

a.
b.
c.
Fig. 5.7. Topologia reelei, a. magistral, b. stea (Star); c. Stea extins (Extended Star)
Dezavantajele topologiei BUS:
Lungimea cablului este limitat i la fel numrul de staii,
Dac exist probleme cu cablul, toat reeaua se oprete,
Costurile de ntreinere pot fi mari pe o perioad lung de timp,
Performana scade dac sunt conectate prea multe calculatore,
Este necesar terminaia corect a semnalului,
Capacitatea de ncrcare semnificativ (fiecare tranzacie trebuie s ajung la destinaie)
Lucreaz mai bine cu un numr limitat de noduri,
Este mai lent dect alte topologii,
Dac un calculator se defecteaz atunci toat reeaua se oprete.
Topologia inel RING se caracterizeaz prin aceea c o staie de lucru este conectat doar cu
staiile vecine. Transmiterea datelor n cadrul inelului se face unidirecional (topologia este
cunoscut i sub numele de topologie TOKEN RING).
O astfel de reea este vulnerabil deoarece dac una din staii se defecteaz, reeaua nu mai
este funcional. Deficiena se elimin prin includerea unui dispozitiv numit HUB cu funcia de
repetor al mesajelor care circul de la staia surs la staia destinaie. Prin aceast modificare
topologia inel devine topologie stea-inel.
Presupune conectarea tuturor echipamentelor pe un singur cablu de comunicaie. Transmisia
se deruleaz ntr-un singur sens i este controlat de server.
Pachetul de date circul ntr-o singur direcie i nu pot fi coliziuni de date. Datorit fluxului
ntr-un sens unic, topologia este perfect adaptata fibrelor optice. Fiecare calculator recepioneaz
datele predecesorului sau le verifica i le transmite amplificat ctre calculatorul urmtor. Fiecare
calculator din reeaua inelar are un predecesor i un urma univoc.
Acest topologie prezint urmatoarele dezavantaje:
Dac se defecteaz un post de lucru, comunicaia se ntrerupe n ntreaga reea;
Dac se rupe cablul de comunicaie se blocheaza reeaua, dar defeciunea poate fi uor
localizat.
155

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Topologia stea - STAR, se caracterizeaz printr-o conectivitate total a staiilor de lucru


(fig. 5.7.b). Tipul de topologie de reea stea este aceea n care fiecare din nodurile de reea este
conectat la un nod central, numit hub sau switch. Toate datele care sunt transmise dintre nodurile
din reea este transmis n acest nod central, care apoi sunt retransmise la unele sau la toate celelalte
noduri n reea. Aceast conexiune centralizat permite o conexiune permanent chiar dac un
dispozitiv de reea iese din funcie. Singura ameninare este ieirea din funcie a nodului central,
care duce la pierderea legturii cu toat reeaua.
Avantajele topologiei stea sunt:
performan sporit: Trecerea pachetelor de date (data packets) prin noduri inutile este
prevenit de aceast topologie. Aceast topologie dup sine induce o mare ncrctur
asupr nodului central, cu toate acestea dac acest nod are capacitatea respectiv, atunci o
utilizare intensiv de ctre un dispozitiv din reea nu va afecta celelalte dispozitive din
reeaua respectiv.

izolarea dispozitivelor: Fiecare dispozitiv este izolat inerent de ctre legtura (link) care se
conecteaz la nodul central. Acest lucru face izolarea dispozitivelor individuale destul de simplu, i
permite deconectarea lui n orice moment de la nodul central. Aceast procedur de izolare previne
orice eec non-centralizat care va afecta toat reeaua.
Dezavantajele topologiei stea sunt:
Primul dezavantaj este dependena sistemului cu privire la funcionarea nodului central.
n timpul ce eecul unei legturi individuale duce numai la izolarea unui singur nod, pe
cnd defeciunea nodului central duce la perderea legturii dintre toate nodurile.
Scalabilitatea i performana reelei tot depind de nodul central. Marimea reelei este
limitat de numrul de conexiuni pe care nodul central poate s le suporte. Traficul dintre
un nod i nodul central este izolat de celelalte, dar dac un nod din reea ocup o parte
semnificativ din capacitatea de procesare a nodului central atunci celelalte noduri pot s
se confrunte cu scderea performanei a reelei.
Topologia arborescent (tree) este constituit din mai multe nivele ierarhice de noduri (huburi, concentratoare) la care sunt conectate gazdele, rezultnd o structur de tip arbore. Avnd n
vedere c de multe ori peste o structur arborescent de noduri funcioneaz o topologie logic de
tip inel, uneori acest topologie este numit inel-stea (ierarhic).
Topologia Mesh reprezint o reea total conectat, care este destinat pentru transportarea
datelor, instruciunilor i servicii de transport voce prin nodurile de reea. Datorit acestei topologii
putem dispune de conexiuni continue chiar dac exist legturi deteriorate sau blocate.
Reelele mesh fr fir (wireless) este cea mai frecvent topologie folosit n zilele de azi.
Aceste reele au fost dezvoltate iniial pentru aplicaii militare, dar au fost supuse unei evoluii
semnificative n ultimii zece ani. Progresul echipamentului de transmisuni de date a permis reelelor
mesh s ofera un larg spectru de servicii cum ar fi client-access, servicii backhaul. Nodurile mesh
au devenit mai performante unele modele pot suporta mai multe cartele radio, fiecare opernd la
diferite frecvene.
Topologii complexe se obin prin plasarea unor elemente de interconectare suplimentare (huburi) pentru optimizarea performanelor reelei. Se pot astfel meniona:
a) topologii cu nlnuire daisy chain care se obin prin conectarea serial a hub-urilor de
interconectare a grupurilor de staii de lucru ale unei reele mari. Topologia Stea extins - Extended
Star, se obine prin cuplarea mai multor reele n topologia stea (fig.5.7.c.).
b) topologii ierarhice care pot fi n varianta inele-ierarhice, varianta ierarhic-stea sau alte
combinaii de topologii ierarhice.
5.4.3. Tehnica de transmisie
Tehnica de transmisie este o caracteristic absolut inginereasc dependent i de mediul de
transmitere. Se pot utiliza dou metode de transmisie: n band de baz i n band larg. Tehnica
de transmisie n band larg este mai complex i asigur viteze mari.
156

CAPITOLUL 5. REELE DE CALCULATOARE

Transmisia informaiei ntre o surs i una sau mai multe destinaii presupune transferarea
datelor, ntr-un format adecvat, prin intermediul unor semnale de natur electric, electromagnetic
sau optic adaptate canalului de transport disponibil.
Scopul fundamental al unei transmisiuni este acela de a reproduce la echipamentul receptor
mesaje cu acelai coninut cu cele care au fost expediate.
Canalul de comunicaie poate fi privit ca fiind alctuit din infrastructura de comunicaie
(echipamente) i mediul aferent de transmitere a informaiei (semnale electrice pe perechi de
conductoare, radiaii luminoase prin fibra optic, unde radio). Performaneele unui canal de
comunicaie sunt evaluate n principal prin cantitatea de informaie care poate fi vehiculat printr-o
seciune a canalului n unitatea de timp, parametru numit lime de band (bandwidth). n cazul
transmisiilor analogice limea de band are n vedere intervalul din spectrul de frecvene ocupat.
La nivelul transmisiunilor digitale evaluarea cantitii de informaie transferate se face prin
volumul de informaie logic vehiculat. Laimea de band n frecven este direct corelat cu
volumul binar transferat. Din acest motiv, n cazul comunicaiilor digitale, limea de band a unui
canal se apreciaz prin cantitatea de informaie binar transferat ntr-o unitate de timp i se
msoar n bii/secund, bps (bits per second).
n transmisiunile de date se foloseste pe larg termenul throughput (debit util) care se refer la
limea de band efectiv, la un moment dat, atunci cnd are loc un transfer de date. Se poate
considera c termenul se refer la debitul informaional net sau la informaia efectiv transportat n
unitatea de timp, fr a lua n considerare i informaiile ajutatoare care nsoesc transferul
(delimitatori de secven, informaii necesare pentru identificare/corectarea erorilor, retransmisii
etc.). Factorii care intervin n transferul de date i influeneaz limea de band efectiv sunt
numeroi, fiind vorba de dispozitivele folosite, tipul de date transferate, topologia reelei,
echipamentul utilizat, numrul de utilizatori sau procese concurente, viteza sursei de date, congestii
de transmisie etc. Prin urmare, debitul binar net (throughput) este diferit de rata de transfer a
canalului de comunicaie. Evoluia calitativ a performanelor liniilor pentru transmisiuni de date
este prezentat n figura 5.8.a.
Evaluarea capacitii de transport a unui canal de comunicaie.
H.Nyquist a aratat (1924) ca, n cazul transmiterii unui semnal pe un canal de band limitat,
n absena zgomotelor, este posibil reconstruirea complet a acestuia prin extragerea unui numr de
eantioane pe secund egal cu dublul benzii. Eantionarea cu o frecven mai mare este inutil
deoarece componenetele suplimentare care ar putea fi recuperate au fost deja eliminate prin filtrarea
introdus de canal sau circuit.
Pornind de la acest raionament i considernd un semnal avnd mai multe nivele discrete,
Nyquist a demonstrat teorema care i poart numele care determin viteza maxim de transfer a
datelor printr-un mediu de band limitat. Pentru o banda de 3 KHz (banda telefonic vocal) i un
semnal cu dou nivele (binar) rezult o vitez maxim de 6 kbps.

a.
b.
Figura 5.8. a. Evoluia performanelor liniilor de comunicaie,
b. Utilizarea spectrului de frecven n comunicaii
Pentru a calcula capacitatea teoretic de transport a unui canal de comunicaie (viteza
maxim), n prezenta zgomotului, se foloseste teorema lui Schannon. Extinznd cercetarile lui
157

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Nyquist, Claude Schannon a calculat capacitatea maxim de transport a canalului, n b/s pentru un
canal ideal caracterizat de o lime de band i un anumit raport ntre puterea de semnal i puterea
de zgomot.
Dac se urmrete transmiterea de date pe un canal telefonic de band limitat 300-3400Hz,
pe baza formulei lui Schannon se obtine o capacitate a canalului de 39,6 Kbps. Modemurile uzuale
de linie telefonica lucreaz cu viteze tipice de 33.6 kbps.
O astfel de transmisie se numete transmisie n band de baz. Numrul de modificri n
unitatea de timp ale formei de und folosit pentru semnalizare este aceiai ca n secvena de
succedare a biilor.
n cazul n care sistemul funcioneaz cu mai multe nivele de semnal, se opereaz cu noiunea
de rat de semnalizare (sau rata simbolurilor sau viteza de modulaie), care se definete ca numrul
simbolurilor transmise n unitatea de timp i care se masoar n [Bauds] sau [Bd] (dupa Emile
Baudot). Semnificaia fizic a ratei de semnalizare este numrul de schimbri (de nivel sau de alt
natur) ale semnalului. Dei formula lui Schannon determin capacitatea teoretic a unui canal, n
practic capacitatea scade i datorit altor factori, ca interferena dintre dou simboluri transmise
consecutiv, numit interferena intersimbol.
Mediile ghidate de transmisie utilizate n mod curent pot fi grupate n dou mari categorii:
medii ghidate i medii neghidate.
Mediile ghidate sunt cele care ofer o cale de propagare n afara creia semnalul nu poate s
existe ntr-o forma utilizabil, rmnnd dependent de mediu.
Principalele medii ghidate de transmisie sunt:
transmisiuni pe cabluri coaxiale
transmisiuni pe cabluri cu perechi de conductoare torsadate
- ne-ecranate: UTP (Unshielded Twisted Pairs)
- ecranate: STP (Shielded Twisted Pairs), ScUTP (Screened UTP) sau FTP (Foiled
Twisted Pairs)
transmisiuni pe fibr optic:
- multimod
- monomod
transmisiuni prin ghiduri de und
Transmisiunile neghidate sunt cele la care propagarea nu este restricionat la un spaiu fizic,
nelegnd-se de obicei prin aceasta propgarea n aer liber.
Principalele medii de transmisie neghidate sunt:
undele radio
microunde
radiaia laser
radiaia infraroie
Principiul transmisiei cu fibr optic, cabluri optice. Sistemele de comunicaie cu fibre
optice au o importan din ce n ce mai mare n transmisia i prelucrarea datelor deoarece ofer o
serie de avantaje suplimentare comparativ cu sistemele bazate pe transmisia informaiei pe cale
electronic. La sistemele optice semnalele sunt transmise sub forma de lumin (fotoni), fr sarcin
electric, i de aceea nu sunt afectate de cmpuri electrice cum sunt cele ce apar n echipamentele
de tensiune nalt sau n timpul descrcarilor electrice. Similar, cmpurile magnetice, cum sunt cele
produse de motoare i transformatoare, nu au efect asupra transmisiei optice. Nu exist probleme de
interaciune ntre canale nvecinate de comunicaie, deoarece fluxul luminos foarte redus ce s-ar
pierde din fibra optic este reinut n nveliul opac din jurul fibrei, asigurnd c semnalele optice
nu interfer chiar dac fibrele sunt foarte apropiate una de cealalta. Lipsa oricrei pierderi de semnal
din fibr spre exterior asigur i o securitate perfect a transmisiei, fiind imposibil msurarea
semnalului din exteriorul fibrei.
Natura fibrei optice asigur c aceasta poate funciona n orice condiii atmosferice i poate fi
imersat n majoritatea fluidelor. Masa, dimensiunile reduse i rezistena mecanic ridicat sunt
utile n majoritatea aplicaiilor. Izolarea electric perfect este un avantaj evident, oferind o libertate
158

CAPITOLUL 5. REELE DE CALCULATOARE

mai mare n proiectarea emitorului, a liniei de transmisie i a receptorului, eliminnd i necesitatea


buclelor de mpmntare.
Avantajul cel mai important este ns banda de frecvene mai ridicat i pierderile de
transmisie mai reduse. La orice cablu coaxial sau paralel banda de frecvene variaz invers
proportional cu ptratul lungimii, in timp ce la fibra optica aceasta variaza doar invers proporional
cu lungimea. Rezult posibilitatea unor lungimi mari de tronson de fibr optic. Se remarc o
capacitate mare de transmisie i viteze mari de transfer.
Energia luminoas se propag n interiorul fibrei optice ntr-un numr finit de configuraii.
Fiecare configuraie, numit mod, are propriile proprieti de propagare. Fibra optic ce permite
folosirea mai multor moduri de propagare poart denumirea de fibr multimodal.
Pentru ntelegerea corect a modului de utilizare i a parametrilor caracteristici ai fibrelor
optice este necesar o ntelegere corect a modului de funcionare. Fibra optic transmite lumina pe
principiul reflexiei interne totale. Razele de lumin ce ajung la suprafaa de separaie dintre dou
medii optic transparente cu densiti diferite sufer o refracie, schimbndu-i direcia.
Fibra multimod. Transmisiunea multimod este datorat propgrii unui grup de fascicule
luminoase emise de ctre un LED. Un LED nu este o surs de lumin foarte concentrat, fasciculul
emis avnd o mprtiere mare i prin urmare necesit o cale de transmisie optic destul de larg.
Aceast rat de dispersie impune limitele maxime ale lungimii efective a fibrei optice. Datorit
dispersiei modale doar o parte din energia emis va fi recuperat la recepie, transmisiunile
multimod sunt predispuse unor atenuri importante. Aceste limitri le fac utilizabile n special pe
distane scurte unde ofer un raport pre/performan rezonabil. Fibra optic tipic utilizat n mod
obinuit n reelele de calculatoare are diametrul de 62,5 microni i ofera suport pentru comunicaii
multimod comandate de un LED. Tipic se ating viteze de 100Mbps pe distane de 10Km i 1Gbps
pe 1Km.
Fibra monomod. Dac diametrul miezului fibrei este doar de cteva ori mai mare dect
lungimea de und a luminii transmise, va fi favorizat propagarea a doar unui singur fascicol (sau
mod) i nu va aprea nici o interferen ntre raze. Aceste fibre, numite fibre monomod, sunt
mediile utilizate n majoritatea sistemelor de transmisie. Fibra monomod utilizeaz o diod laser cu
injecie (ILD Injection Laser Diode). Laserele sunt binecunoscute pentru fasciculele lor extrem de
focalizate i coerente. i aceste raze sufer dispersii dar acestea sunt aproape insesizabile pe
distanele din domeniul reelelor LAN. ntr-un sistem de fibre optice monomod fasciculul laser
transport informaia n lungul fibrei, reflexiile fiind nesemnificative. Prin urmare, fascicolul
purtator transmis rmane aliniat cu axa central a fibrei de-a lungul ntregului drum prin mediul
respectiv. Utilizarea diodelor laser presupune costuri mai ridicate i necesit stabilizarea puterii
emise cu temperatura, dar permite obinerea unor rate de transfer ridicate, limitate n principiu doar
de proprietile de comutaie ale fotodetectorului (uzual la aproximativ 1 sau 10 Gbps), distanele
acoperite fiind de ordinul zecilor sau sutelor de km. Fibrele optice monomod au n general un
diametru ntre 5 i 10 microni i un strat protector de 125 de microni. La distane de 60 Km se pot
atinge viteze de 1Gbps, iar la 10 Km 6 Gbps.
Transmisiuni prin ghiduri de und. Un ghid de und este un tub metalic cu o seciune
determinat i prin care se propag unde radio de nalt frecvena. Exist dou tipuri principale de
ghiduri de und: rectangulare i circulare.
Ghidurile de und rectangulare sunt utilizate pentru racordarea antenelor la echipamentele
asociate, rareori fiind utilizate pentru distane mai mari de cteva sute de metri.
Ghidurile circulare pot transmite frecvene superioare celor rectangulare, structura fiind
protejat de un nveli de oel i rigidizat cu rini epoxidice. Structura permite atenuarea
modurilor de propagare nedorite. Interiorul ghidului de und este uneori presurizat cu aer uscat sau
cu azot pentru a elimina umiditatea din mediul de propagare care ar putea atenua microundele.
Medii neghidate de transmitere a informaiei se refer la undele radio (inclusiv domeniul
microundelor), radiaiile laser i radiaiile infraroii. Transmisiunile care utilizeaz semnale
purtatoare sub 1GHz sunt considerate n mod curent transmisiuni radio, iar cele peste 1GHz sunt
transmisiuni prin microunde.
159

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

A. Transmisiuni radio. Transmisiunile ghidate necesit existena unui mediu de propagare


intrinsec (conductoare, fibre optice, ghiduri de und). n practic este necesar de multe ori
depirea unor obstacole naturale ceea ce a determinat utilizarea undelor electromagnetice radio ca
suport de transmisie. Undele radio au avantaje importante datorit posibiliti de propagare prin aer
sau vid, pot transporta date, pot traversa obstacole. Ele sunt utilizate att pentru transmisii terestre
ct i pentru transmisii prin satelit atunci cnd se urmrete conectarea unor zone greu accesibile.
Undele electromagnetice sunt caracterizate de frecven i lungimea de unda (lambda). Viteza
de propagare a undelor electromagnetice (viteza luminii) n vid este cunoscut i este de 3 x 108
m/s. Aadar cunoscnd frecvena se poate determina lungimea de und i invers. Un semnal cu
frecvena de 2,4 GHz, frecvent utilizat n comunicaiile radio, va avea de exemplu o lungime de
unda de 12,5 cm. n figura 5.8.b. este reprezentata maniera de identificare a undelor radio n
spectrul electromagnetic.
B. Transmisiuni prin microunde. Legturile de comunicaie care folosesc microunde
suport sute de canale de comunicaie tip voce, date sau televiziune, capacitatea lor fiind ns
inferioar cablurilor coaxiale. Spectrul de frecvene alocat este cuprins ntre 1 GHz i 15 GHz.
Datorit directivitii lor microundele sunt afectate mai puin de interferene, dar necesit
vizibilitate direct ntre punctul de emisie i cel de recepie. Lund n calcul curbura pmntului,
pentru antene situate la nalimea de 100m, distana acoperit este de 80 km. Microundele necesit
relee intermediare pentru retransmisie situate uzual la distante de 30-50km i cu vizibilitate direct
ntre antenele acestora. Sunt necesare mai puine amplificatoare intermediare dect n cazul
cablurilor coaxiale (care necesit amplificare la fiecare 2-6 km), motiv pentru care sunt preferate
pentru transmisiunile TV la mare distan.
C. Transmisiuni Laser. Transmisiile bazate pe laser ntr-un mediu LAN fr fir pot fi
considerate ca fiind similare cu cele care folsesc fibre optice la care lipsete cablarea prin fibre
optice. Mai multe staii se pot interconecta cu o unitate de acces care transmite i recepioneaz
semnale laser n numele unui grup de staii. Cnd laserele sunt utilizate n acest mod, dispozitivele
laser trebuie s fie plasate n zone cu vizibilitate optic (de obicei aproape de plafon), ct mai
departe posibil de interferene i obstacole. Laserele pot fi utilizate i pentru a interconecta reele
LAN cablate, aflate la distane de maximum cteva sute de metri. n cazul utilizrii transmisuinilor
laser in aer liber trebuie avute n vedere posibilele interferene atmosferice (particole de ap, cea,
fulgi de zpad) care determin fenomene optice ce pot altera fasciculul.
Comunicaiile care folosesc ca suport de transport radiaia laser care se propag n aer liber
are o utilizare foarte restrans, o alternativ mult mai fiabil rmnnd ns transmisunile radio.
D. Transmisiuni n infrarou. Aceasta tehnologie de transmisie fr fir, n infrarou,
utilizeaz ca suport de transmisie domeniul de frecvene situat la limita vizibil a spectrului
electromagnetic. Chiar dac fasciculele de radiaii infraroii nu pot penetra solide opace, ele pot fi
reflectate de acestea. Exist dou tehnologii uzuale: infrarou difuzat i infrarou direct.
Infrarou difuzat sau indirect, cu redirectare, bazat pe reflectarea pe suprafee interioare
(cnd distana este mare, semnalul poate fi recepionat numai parial (este nesigur), se refer la
emiterea unei radiaii infraroii omnidirectional, acoperind astfel zona de interes n care se afl
receptorii. Tehnologia n infrarou const n tramsmiterea unui fascicul direcionat ctre o
destinaie. Zona deservit este limitat la conul de acoperire iar puterea necesar la emisie este mai
redus, deoarece radiaiile sunt focalizate (prin sisteme optice) evitnd difuzarea semnalului n afara
zonei de interes. Acest principiu este utilizat la telecomenzile celor mai multe dispozitive
electronice casnice, dar i pentru conectri unidirecinale pe distane scurte: tastatura fr fir, mouse
fr fir, porturi IrDA (Infrared Data Association).
5.4.4. Protocoale de comunicaie
Datele se comunic de la un nod surs al reelei la nodul destinaie conform unui set de reguli
precise, standardizate pe plan mondial cunoscut sub denumirea de protocol de comunicaie. irul
160

CAPITOLUL 5. REELE DE CALCULATOARE

de bii care reprezint datele ce se transmit pe canal se ncapsuleaz alturi de un grupaj de bii ce
servesc pentru adresare i regrupare la destinaie. Acest tren de bii se numete cadru sau frame.
Protocolul de comunicaie stabilete dimensiunea, structura, manipularea i controlul cadrelor
care se transmit pe reea.
Pentru a se asigura compatibilitatea conectrii i comunicaiei la nivelul reelei i ntre reele
pe lng standardizarea protocoalelor a mai fost necesar i o standardizare n plan hardware i
software astfel nct structura ierarhic pe nivele de comunicaie n reea s fie unanim acceptat i
implementat identic de toat lumea.
5.4.4.1. Modelul de referin ISO/OSI
Conectarea i comunicaia ntr-o reea de calculatoare respect o propunere dezvoltat de
Organizaia Internaional pentru Standarde.
Modelul OSI (Open Systems Interconnection) propune o soluie de conectare a sistemelor
deschise. El a fost elaborat de ctre Organizaia Internaional de Standarde (ISO - International
Standards Organization) ntre 1977 i 1994.
Proprietatea de "open" (deschis) a unui sistem se refer la faptul c sistemul este pregtit
pentru comunicaii cu orice alt sistem din reea fiind "deschis" pentru schimburi informaionale cu
alte gazde, pe baza unor regului (protocoale de comunicaie). Modelul ISO/OSI este structurat pe
apte nivele ierarhice. Fiecare nivel are un grad de abstractizare i funcii bine definite. Funciile
asociate fiecarui nivel sunt reflectate n standarde de comunicaie specifice. Aceast ierarhie de
protocoale de comunicaie se numete i stiv de protocoale.
Transferul informaional ntre dou aplicaii presupune parcurgerea ntregii stive de
protocoale ntr-un sens la surs i n sens invers la destinaie. Cele apte nivele propuse de modelul
ISO/OSI sunt prezentate n firgura 5.12.

Fig 5.12. Modelul conceptual de referin ISO/OSI


Propunerea este cunoscut ca modelul ISO/OSI RM, Open System Interconection Reference
Model pentru arhitectura reelelor deschise. Pn la apariia sa modelul uzual al arhitecturii reelelor
a fost modelul TCP/IP, care coexist nc n multe aplicaii.
Diferenierea pe 7 nivele propuse de standardul ISO/OSI a fost necesar din considerente
tehnologice i pentru individualizarea componentelor software de reea. Un nivel al unui sistem nu
poate dialoga dect cu nivelul similar al celuilalt sistem, respectnd regulile protocolului de
comunicaie. Protocolul de comunicaie va conine componente specializate pe nivele, i anume
protocol la nivel aplicaie, protocol la nivel prezentare, protocol sesiune si pentru sistemul de
legtur va funciona protocolul reea, legtur date i la nivel fizic.
Pe vertical interfaa dintre dou nivele adiacente asigur operaiile primitive i serviciile
utilizate de nivelul superior. La nivelul de baz se face efectiv o comunicare fizic dar la celelalte
niveluri comunicarea pe interfa este o comunicaie virtual care utilizeaz semnalul nivelului
fizic.
161

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Nivelul fizic realizeaz transmisia impulsurilor electrice utiliznd un anumit mediu de


comunicaie, cablu torsadat, coaxial sau fibr optic, o anumit tehnic de comunicaie i o reea de
transmisie. La acest nivel nu se face verificarea corectitudinii datelor.
Nivelul reea asigur dirijarea cadrelor prin reea, determinndu-se pentru fiecare cadru calea
de urmat de la nodul surs la nodul destinaie. Cadre adiacente pot urma trasee diferite, urmnd ca
mesajul original s fie recompus la destinaie.
Nivelul transport asigur secvenializarea i transmiterea corect a datelor, sincronizeaz
ritmul de transmitere i asigur retransmiterea cadrelor pierdute sau eronate.
Nivelul sesiune asigur conexiunea logic ntre dou staii prin iniierea, desfurarea i la
sfrit nchiderea unui dialog n timpul cruia se comunic mesaje specifice unei aplicaii.
Nivelul prezentare asigur transformarea mesajelor n formatul convenabil terminalelor care
le vor afia.
Nivelul aplicaie asigur serviciile de baz ale reelei: transferul de fiiere, accesul de la
distan, Telnet, pota electronic, accesul Web.
Protocoale de comunicaie
Comunicarea informaiilor calculator-calculator sau calculator server se poate realiza n dou
moduri:
- fr conexiune, similar transmiterii unei scrisori;
- cu conexiune, similar convorbirii telefonice.
Comunicarea fr conexiune este numit i serviciu de datagram.
Datagram este un mesaj fr confirmare. Dac se dorete totui confirmarea, receptorul
trebuie s trimit el un mesaj explicit.
Comunicarea cu conexiune este numit i serviciu sesiune, care presupune o conexiune
logic pentru confirmarea apelului, derularea transmisiei i nchiderea sesiunii.
Cele mai cunoscute protocoale utilizate pentru comunicaia n reea i pe care le vom comenta
pe scurt sunt protocoalele: IPX/SPX, TCP/IP i NETBIOS/NETBEUI.
a) protocolul IPX/SPX
Protocolul, sau mai corect stiva de protocoale IPX i SPX au fost dezvoltate de firma Novell
ca standard de reea pe baza protocolului XNS Xerox Network Systems, pe care firma Rank
Xerox la folosit la prima generaie de reele LAN cu topologie BUS cunoscute ca reele EtherNet.
IPX - adic Internetworking Package Exchange, este un protocol orientat pe mesaje tip
datagram utilizat pe gestiunea mesajelor PC PC.
SPX - Sequenced Package Exchange, este orientat pe comunicarea cu conexiune asigurnd
transmiterea mesajelor n orice sens ntre calculatoarele conectate la aceeai reea LAN .
IPX/SPX include patru din cele apte straturi specificate de standardul ISO/OSI: aplicaie,
internetworking, legtura de date, i accesul la mediul fizic permind o bun funcionalitate.
b) protocolul TCP/IP
Pentru comunicarea pe Internet la ora actual practic toate sistemele de operare folosesc
familia de protocoale TCP/IP Tansmition Control Protocol / Internet Protocol. Protocolul a fost
dezvoltat de Departament of Defence din SUA ntr-o arhitectur ierarhic, spre deosebire de
standardul ISO /OSI care are o arhitectur stratificat. Dac standardul ISO/OSI este mai adecvat
mecanismelor de interconectare a calculatoarelor, protocolul TCP/IP se dovedete a fi cel mai
adecvat protocol pentru interconectarea reelelor, deci i pentru interconectarea reelelor LAN n
reele MAN i WAN. Cele dou grupe de protocoale TCP i respectiv IP realizeaz funcii diferite
dar corelate.
Nivelul aplicaie conine protocoale TCP pentru accesul la distan, partajarea resurselor i
pentru aplicaii uzuale ca Telnet, SMTPSimple Mail Transfer Protocol, HTTP i altele.
Nivelul transport are rolul de a transporta datele de la un nod central la altul. Nodurile
centrale se numesc calculatoare HOST sau gazd. La acest nivel pe lng protocolul TCP se
folosete i protocolul UDP - User Datagram Protocol.
162

CAPITOLUL 5. REELE DE CALCULATOARE

Nivelul reea sau internetworking asigur conectarea reelelor prin intermediul protocolului
IP. Acesta asigur separarea i identificarea datagramelor, adresarea n Internet, circulaia datelor,
direcionarea lor ctre calculatoarele aflate la distan etc.
Calculatoarele conectate la aceeai reea LAN pot comunica local utiliznd protocoale
dedicate, de exemplu:
- X.25 pentru reele cu comutare de mesaje;
- X.21 pentru reele cu comutare de pachete;
- IEEE.802.x pentru reele locale avnd topologii diferite.
c) NETBIOS/NETBEUI
Sistemul de operare cel mai rspndit pentru reele Windows NT are capacitatea de a separa
serviciile de reea de protocoalele de comunicaie, fapt ce permite beneficiarilor s aleag dintre
protocoalele de comunicaie dorite TCP/IP, IPX/SPX i mai recent NETBEUI. Acest lucru este
posibil datorit componentei NETBIOS Network Basic Input/Output System creat n 1984 de
IBM.
Microsoft introduce suplimentar conceptul NETBEUI Netbios Extended User Interaface
pentru diferenierea n cadrul protocolului Netbios a funciilor cu care se opereaz la nivelul
protocolului de acces de funciile cu care se opereaz la nivelul serviciilor de reea, mbuntire
care aduce o mai bun flexibilitate configurrii comunicaiilor din reea. In cadrul acestui protocol
este disponibil i sistemul SMB System Message Blocks care implementeaz o serie de servicii de
partajre a fiierelor, imprimantei i alte servicii utilizator la nivelul aplicaiei.
5.4.4.2. Modelul client server
Iniierea i derularea schimbului de mesaje n reelele de calculatoare actuale se desfoar
dup noul model client - server.
Clientul este reprezentat de aplicaia sau mai simplu de programul care ruleaz pe staia de
lucru a utilizatorului. De exemplu, OUTLOOK EXPRESS este o aplicaie client. Clientul adreseaz
o cerere ctre server.
Serverul trebuie vzut ca o colecie de programe care ruleaz de regul pe un alt calculator
dect clientul. Condiia este ca aplicaia client s cunoasc adresa de server. Dac reeaua este o
reea complex cu mai multe servere atunci clientul este preluat mai nti de un server de nume.
Serverul identific i rezolv cererea clientului trimindu-i napoi acestuia rezultatul
prelucrrii. n exemplul anterior, OUTLOOK EXPRESS va primi de exemplu lista mesajelor din
cutia potal Inbox aflat pe serverul de e-mail.
Complexitatea cererilor a crescut datorit performanelor intrinseci ale serverelor tot mai
puternice i software-ul tot mai specializat. Se asistm la o difereniere a serverelor pe funcii, astfel
c o conectare se va realiza dup caz la un:
- File Server;
- Database Server;
- Communication Server ;
- E-Mail Sever;
- Application Server;
- Printer Server.
Modelul client - server se poate implementa n diverse variante n funcie de particularitile
mediului tehnologic al reelei.
5.4.5. Echipamente de interconectare
Problemele de interconectare a calculatoarelor, a reelelor LAN, MAN i WAN sunt
determinate de creterea numrului de staii dintr-o reea i din faptul ca platformele hardware i
software ale reelelor care se interconecteaz sunt diferite.
163

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Standardul ISO/OSI rezolv tocmai aceste probleme permind utilizarea de dispozitive


hardware care s asigure cerine diferitelor nivele ale structurii de interconectare.
Dispozitivele i nivelurile la care sunt utilizate sunt urmtoarele:
nivelul 1, fizic repetoare;
nivelul 2, legtur date puni;
nivelul 3, reea rutere;
nivelul 4, transport pasarele;
nivelul 5 i mai sus, - pori de acces aplicaie.
Repetoarele sunt cunoscute i sub denumirea de HUB-uri. Ele se folosesc n cazul unor trasee
prea lungi de cablare. Printr-un hub trec toate cablajele unei reele LAN. Hub-ul funcioneaz ca un
repetitor i distribuitor de semnale electrice sau optice ce reprezint copii ale irurilor de bii care se
transmit ntre diferite segmente de cablu de reea.
Punile bridge, sunt echipamente care asigur conectivitatea la nivelul legturii de date a
dou reele care pot avea topologii diferite, de exemplu o reea Ethernet cu o reea TokenRing. Ele
au n componena lor microprocesoare i utilizeaz rutine software dedicate.
Comutatoarele switch-uri, sunt asemntoare hub-urilor, utiliznd componente hardware
pentru comutarea mesajelor ntre reele cu viteze diferite. Ca i punile, comutatoarele opereaz la
nivelul 2 ISO/OSI, dar au performane tehnice mai mari, ceea ce la fac mult mai eficiente. De
exemplu una din faciliti o constituie transmisia de tip full-duplex, deci n ambele sensuri ale
canalului de comunicaie, un mare avantaj pentru creterea vitezei de lucru a reelei.
Routere, sunt componente inteligente, chiar PC-uri, care lucreaz la nivelul 3, asemntoare
conceptual cu bridge-urile. Router-ul dispune de un software care pe baza unor algoritmi de dirijare
transmite pe rute optime datele ntre reele. Rutele individuale modific ordinea de sosire a cadrelor,
acestea fiind rearanjate n final pentru a putea fi transferate corect la nivelul superior.
Pasarele de transport transport gateway, se utilizeaz pentru interconectarea reelelor ce
folosesc protocoale de comunicaie diferite. De exemplu ISO/OSI i TCP/IP.
Pasarelele de acces / aplicaie application gateway, ca i pasarelele de transport asigur
compatibilitatea comunicaiei ntre reele care folosesc protocoale distincte dar sunt ceva mai puin
performante dect acestea. Ele permit stailor de lucru dintr-o reea s acceseze resursele unei
aplicaii aflate pe un server la distan.
Reea backbone coloan vertebral, sunt reele specializate pentru interconectarea unor
reele LAN individuale, care pot opera apoi n paralel pentru comunicarea cu exteriorul, evitndu-se
congestionrile pe reea. Administrarea reelei, adugarea, eliminarea unor staii din reea se face cu
mai mult uurin.
Ziduri de protecie FireWalls, sunt destinate prevenirii virusrii i accesrii neautorizate a
reelei. Un zid de protecie este alctuit din dou routere pentru filtrarea mesajelor (pachetelor) i o
poart de acces de aplicaie. Alturi de criptarea datelor, zidurile de protecie au menirea de a spori
securitatea datelor care circul mai ales prin reeaua Internet.
Conectarea a dou calculatoare pe linie telefonic
Transmiterea informaiilor digitale pe linie telefonic se poate face numai prin interpunerea
unui echipament de modulare-demodulare ntre cele dou calculatoare, bine cunoscutul modem.
La destinaie, modemul pereche reconvertete semnalul vocal ntr-un ir de bii. Protocoalele
SLIP i PPP sunt indispensabile pentru utilizarea unui modem. Aceste protocoale permit
transmiterea pe linie serial a pachetelor IP.
Protocolul SLIP- Serial in Line Internet Protocol utilizeaz un mecanism simplu de
ncadrare a datagramelor i transmiterea lor pe linia serial. Datagramele, sub forma irurilor de bii
sunt ncadrate de caractere speciale care puncteaz nceputul i sfritul datagramei SLIP nu face
controlul i corecia transmisiei. El poate fi utilizat numai pentru datagrame IP.
Protocolul PPP Point to Point Protocol asigur transmisia datagramelor pe legturi seriale
punct la punct. Indiferent de protocolul utilizat calculatorul se comport aproape la fel ca orice nod
Internet, avnd acces la serviciile interactive: Telnet, FTP, WWW, E-mail. Serviciile Internet sunt
acum disponibile i prin telefonia mobil.
164

CAPITOLUL 6. PACHETUL MS OFFICE

CAPITOLUL 6
PACHETUL MS OFFICE
6.1. GENERALITI
Microsoft Office sau MS Office este o suit de programe de birou create de firma Microsoft
Corporation, care sunt nsoite i de o aplicaie special suprapus lor pentru accesarea unitar simpl.
Versiunile de MS Office pn la MS Office 2003 inclusiv folosesc nativ formate de fiier binare,
proprietare, cu extensiile ".doc" (pentru Microsoft Word), ".xls" (Microsoft Excel), ".ppt" (Microsoft
PowerPoint), etc. ncepnd cu MS Office 2007 s-a trecut la un format bazat pe XML, incompatibil
napoi (cu versiunile mai vechi), numit Office OpenXML (OOXML).
Microsoft a naintat la organizaia ISO o propunere de standardizare a formatului Office
OpenXML (OOXML) - propunere care nc nu a fost adoptat, deoarece a primit critici serioase
d.p.d.v. tehnic.
Principalul competitor de pia al formatelor de fiier Microsoft este formatul "OpenDocument
Format" (ODF), care a fost adoptat ca standard oficial ISO n anul 2006 (standardul ISO/IEC
26300:2006). Formatul OpenDocument este folosit de o categorie larg de programe, cum ar fi suita
liber OpenOffice.org, Sun StarOffice, IBM Lotus Notes sau KOffice.
Totui, utilizatorii de MS Office pot utiliza i fiierele de format OpenDocument, cu condiia s
instaleze plugin-ul gratuit ODF, creat de firma Sun Microsystems.
nc de la primele versiuni ale sale Microsoft Office a fost localizat (adaptat i tradus) n limba
romn. Prima versiune localizat a fost Office '97, care a beneficiat de utilitarele de corectare i de
ajutor n romn, dei meniurile i casetele de dialog nu fuseser nc traduse. Office 2000, Office XP,
Office System 2003 i Office System 2007 au fost complet localizate n limba romn.
Pentru ultima versiune sunt comercializate mai multe forme care conin dotri diferite: Office
Basic, Office Standard, Office Home, Office Small Business, Office Professional, Office Professional
Plus Office Entreprise.
Pachetul de programe Microsoft Office conine mai multe aplicaii:
Microsoft Word;
Microsoft Power Point;
Microsoft Outlook;
Microsoft Excel;
Microsoft Access.
1. Procesorul de texte Word este un program puternic pentru prelucrarea textelor i
organizarea lor sub forma de tipritur: comunicri, brouri, etc.
2. Programul de grafic Power Point permite realizarea prezentrilor pentru retroproiector,
proiecii utiliznd calculatorul.
3. Programul pentru gestionarea foilor de calcul Excel este un program care permite
prelucrarea datele sub form de tabele i reprezentarea lor grafic.
4. Sistemul de gestiune a bazelor de date Access este un program specializat n construirea i
ncrcarea bazelor de date i conine proceduri de consultare i interogare rapida a datelor
nregistrate.
5. Aplicaia Outlook permite organizarea corespondentei i planificarea activitilor ntr-o
agend.
Folosirea aplicaiilor din pachetul Microsoft Office are urmtoarele avantaje:
Aplicaiile lucreaz folosind aceleai concepte i metode.
Aplicaiile comunic ntre ele prin intermediul acelorai proceduri i nu apar probleme de
incompatibilitate.
Aplicaiile din pachetul Microsoft Office prezint urmtoarele avantaje:
Sistemul de meniuri conine pentru toate aceste 5 aplicaii aceleai 9 meniuri verticale: File,
Edit, View, Insert, Format, Tools, Table / Date / Draw, Window, Help.
165

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Folosesc aceleai taste scurtturi (shortcut) pentru opiunile comune din meniuri: Ctrl + C
pentru Copy, Ctrl + N pentru New, etc.
Informaiile suplimentare despre fiierele de date administrate de fiecare aplicaie sunt
aceleai.
Folosesc rigle pentru poziionarea mai uoar a fiierului de date.
Aplicaiile Microsoft Office dispun de instrumente de ajutor sub form de:
Proceduri expert _ Wizard sunt instruciuni prin care sunt realizate fiiere de stare de date
complexe;
Previzualizri Previews, arat pe ecran aspectul fiierului de date aa cum vor fi listate
la imprimant;
Demonstraii Demos arat, la cerere, cum trebuie procedat la execuia unei lucrri mai
complexe.
Microsoft Office Professional 2007 este o suit complet de programe software de productivitate
i de baze de date, care ajut la economisirea timpului i lucrul organizat. Are caracteristicile noi, ca
meniuri mbuntite care afieaz instrumentele corecte atunci cnd sunt necesare, bare de
instrumente noi, bazate pe activiti, care afieaz automat comenzile i opiunile care se pot utiliza,
facilitnd i accelernd gsirea caracteristicilor software-ului necesare. Caracteristica Examinare n
direct faciliteaz probarea modificrilor nainte ca acestea s fie aplicate.
Office Professional 2007 are urmtoarele avantaje:
- meniuri i comenzi mbuntite, care prezint instrumentele necesare atunci cnd trebuie;
- are programul Cutarea instantanee;
- are filtre mbuntite pentru corespondena nedorit (i anti-nelciune).
- creaz documente, foi de calcul i prezentri cu aspect profesionist, gata pentru publicare,
fr timp pierdut pentru formatri i stilizri;
- cu activiti n Microsoft Office Outlook 2007 pot s apar i n calendar;
- exist o nou bar de operare Office Outlook 2007, care ofer o prezentare a activitilor,
informaiilor de calendar i a mesajelor de pot electronic semnalizate pentru urmrire;
- exist noi abloane i instrumente din Word 2007 care faciliteaz reutilizarea coninutului,
aplicarea formatrilor profesioniste i examinarea rapid a modificrilor;
- apar noi instrumente din Excel 2007 pentru filtrarea, sortarea i vizualizarea informaiilor,
pentru analiza mai eficient datelor de afaceri;
- se pot centraliza toate informaiile de contact, de prospectare i despre clieni - inclusiv
istoricul comunicrilor, valoarea estimat a vnzrilor, probabilitatea ncheierii tranzaciilor
i activitile - utiliznd Office Outlook 2007 cu Business Contact Manager;
- se pot nregistra ntr-un singur loc toate tipurile de comunicri cu fiecare client - inclusiv
pota electronic, apelurile telefonice, ntlnirile, notele i documentele;
- se pot estima vnzrile i stabili prioritatea activitilor, utiliznd tabloul de bord
particularizabil din Office Outlook 2007 cu Business Contact Manager;
- se poate lucra offline pe laptop sau pe PDA i apoi s sincroniza datele la revenirea la birou;
- se pot urmri ntr-un singur loc informaiile legate de proiect (lucrare) - inclusiv pota
electronic, ntlnirile, notele, activitile i documentele - i atribuii cu uurin persoane
de contact, clieni i activiti altor persoane, utiliznd Office Outlook 2007 cu Business
Contact Manager;
- exist o bibliotec de aplicaii predefinite de urmrire a bazelor de date pentru cele mai
uzuale procese de afaceri care este inclus n Office Access 2007;
- se pot gestiona bazele de date Office Access 2007 mai intuitiv, utiliznd interfaa utilizator
Microsoft Office Fluent i noua vizualizare foaie de date, care se aseamn cu Excel;
- se pot crea rapoarte n Office Access 2007 printr-un singur clic i utiliza instrumente
mbuntite pentru a filtra, sorta, grupa i subtotaliza date;
- se pot sintetiza informaiile i gsi informaiile necesare utiliznd vizualizrile PivotTable i
PivotChart, utiliznd Office Excel 2007.
Pachetele lingvistice Office se adreseaz nevoilor persoanelor care utilizeaz mai multe limbi i
care creeaz sau editeaz n mod regulat documente i prezentri n limbi diferite. Ele ajut
organizaiile care implementeaz aplicaii de birou n medii n care PC-urile sunt partajate de vorbitori
166

CAPITOLUL 6. PACHETUL MS OFFICE

de limbi diferite sau ajut firmele s ofere servicii clienilor din ri diferite. Pachetele lingvistice
furnizeaz flexibilitatea de comutare a ntregii experiene a utilizatorului, incluznd meniurile i
ajutorul sau utilizarea numai a instrumentelor de verificare, cum ar fi verificatorul ortografic,
dicionarul i lexiconul n oricare dintre 37 de limbi diferite.
Instrumentele de verificare a documentelor includ: Verificatoare ortografice, Verificatoare
gramaticale i de stil, Lexicoane, Despritori n silabe, Liste de autocorecie, Capaciti de rezumare
automat, Dicionare de traducere, Editori metod de intrare (IME) pentru limbile est-asiatice.
Se pot schimba limba interfeei cu utilizatorul pentru urmtoarele programe 2007 Microsoft
Office System: Microsoft Office Word 2007, Microsoft Office Access 2007, Microsoft Office Excel
2007, Microsoft Office Groove 2007, Microsoft Office InfoPath 2007, Microsoft Office OneNote
2007, Microsoft Office Outlook 2007, Microsoft Office PowerPoint 2007, Microsoft Office Project
2007, Microsoft Office Publisher 2007, MS Office SharePoint Designer 2007, MS Office Visio 2007.
n plus, meniurile i ajutorul pentru instrumentele suitei Microsoft Office 2007, cum ar fi Clip
Organizer, Document Imaging, Document Scanning i Picture Manager, se localizeaz cnd se
activeaz pachetele lingvistice.
Pachetele lingvistice Office se pot conecta la abloane gratuite Office Online n limba interfeei
cu utilizatorul. abloanele Office Online sunt uor de instalat, adaug proiectri predefinite i resurse
pentru afaceri la aplicaii i documente.
O colecie a tuturor pachetelor lingvistice Office plus un pachet lingvistic n limba englez este
disponibil ca Microsoft Office Multi-Language Pack 2007.
Pe lng limbile de baz, instrumentele de verificare a documentelor sunt incluse pentru limbi
suplimentare nsoitoare.
Toate elementele pachetului MS Office prezint mbuntiri semnuficative fa de versiunile
anterioare.
n continuare se vor trece n revist principalele elemente ale pachetului MS Office i
caracteristicile semnificative ale acestora, indiferent de versiunea abordat.
6.2. EDITORUL DE TEXTE WORD
Pentru prelucrarea simpl a textelor pot fi folosite editoarele de texte Notepad i Word pad
care se gsete n folder-ul (dosarul) Accessories. Fiierele cu texte au extensia cu .txt. Acest sistem
de lucru este mai puin folosit n prezent.
Pentru prelucrarea documentelor, care implicit conin i texte, se folosete cu precdere
programul Microsoft Word, ce poate fi activat dup clicare cu mouse-ul a butonului Start i apoi a
butonului Microsoft Ofice/Programs i n final activarea butonului Microsoft Word.

Aa cum s-a prezentat mai sus, cele 9 meniuri verticale utilizate de Microsoft Word sunt:
Files, care conine opiuni pentru lucrul cu fiierele pe care le creeaz i le actualizeaz
programul;
Edit, care conine opiuni pentru operaii de editare;
View, care conine opiuni pentru prezentarea dup dorin a paginii de lucru pe ecran;
Insert, asigur introducerea anumitor date, paginaii etc.;
Format, care asigur formatarea i aezarea paragrafelor n cadrul paginii;
Tools, care conin o serie de faciliti pentru lucrul cu documentele;
Table, folosit pentru realizarea de tabele;
Window, asigur faciliti de folosirea ecranului;
Help, pentru asigurarea de informaii suplimentare, la cerere, de folosirea programelor
windows.
167

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Lucrul cu fiierele Word


A. Pornirea aplicaiei Word
se realizeaz funcie de versiunea ce o avem la dispoziie pe calculator.
Se pornete sistemul de operareWindows 95, 98, NT, me, , XP, Vista, apoi se urmeaz paii:
1. Clic butonul Start de pe taskbar
2. Se alege Programs, Microsoft Word.
Elementele principale ale ferestrei Word apar pe ecran.
Fereastra Aplicaiei Word 2000 se afieaz cu un document blank ca n figura de mai jos.

B. nchiderea aplicaiei Word


Din meniul File se selecteaz comanda Exit, sau se apas butonul Close
aplicaiei( figurile de mai sus).
C. Crearea unui nou document (fiier)
Sunt mai multe variante:

de pe bara de titlu a

1. Ctrl+N sau butonul New


din bara de instrumente standard.
2. Din meniul File se alege opiunea New.
3. Se face clic pe Start i din meniu se alege opiunea New Office Document.

D. Deschiderea unui fiier


Sunt mai multe variante:
1. Ctrl+O sau butonul Open
din bara de instrumente standard.
2. Din meniul File se alege opiunea Open. n primele dou variante paii sunt:
Apare caseta de dialog Open; se selecteaz discul unde se afl fiierul i directorul.
Se scrie numele fiierului in caseta File Name, sau se alege din list.
Se execut clic pe Open.
3. Se execut clic pe butonul Start i din meniu se alege opiunea Open Office Document.
E. Deschiderea unui fiier recent folosit
Se mai poate deschide un fiier aflat n lista celor mai recente fiiere deschise (din meniul File):
1. Se deschide meniul File.
2. Din lista cu denumirile fiierelor (n partea de jos a meniului), se selecteaz fiierul ce
trebuie deschis (dac de la ultima deschidere, fiierul a fost mutat sau ters, Word-ul nu l
va putea deschide).
168

CAPITOLUL 6. PACHETUL MS OFFICE

Pentru schimbarea numrului de fiiere din list, se selecteaz Tools, Options, General; se scrie
un alt numr n lista Recently Used File i aceast opiune trebuie s fie bifat.

F. Deschiderea fiierelor din Windows Explorer


Paii sunt:
1. Se execut clic-dreapta pe butonul Start. Din meniul rapid desfurat se alege opiunea
Explore
2. n fereastra Windows Explorer se localizeaz fiierul;
3. Se execut dublu-clic pe denumirea lui.

G. Deschiderea fiierelor editate n alte formate


Pot fi deschise cu Word-ul fiiere editate cu WordPerfect, Works, Write, Outlook Address Book,
Excel, Lotus 1-2-3, alte versiuni de Word, fiiere text, fiiere HTML. Datele pot fi uor importate prin
deschiderea cu Word-ul a fiierului respectiv i salvarea fiierului ca document Word.
Paii sunt:
1. Se deschide meniul File, din care se alege opiunea Open;
2. n fereastra Open n lista Files of Type se selecteaz tipul fiierului;
3. n lista Look In se alege directorul unde se afl fiierul;
4. Se selecteaz fiierul din listi se execut clic pe Open.
169

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

5. Tipul de deschidere a unui fiier poate fi: deschidere propriu-zis (Open), forma ReadOnly (Open Read-only), deschiderea unei copii (Open as Copy), deschiderea n browser
(Open in Browser).

H. Vizualizarea rapid a fiierelor nainte de deschidere


Fereastra Open poate fi folosit pentru o vizualizare a documentului nainte de a fi deschis.
Paii sunt:
1. File , Open
2. n lista Look In se selecteaz discul i directorul unde se afl fiierul.
3. Se execut clic pe sgeata din dreapta butonului View pentru a se desfura un meniu
din care se alege opiunea Preview.
4. Fereastra Open este mprit n dou sectoare. n cel stng este lista fiierelor din
directorul dorit. Prin selectarea fiierului ce se dorete a se deschide, n panoul drept
apare o imagine a coninutului fiierului.

I. Cutarea fiierelor
Un fiier poate fi cutat dup nume, extensie, dup informaiile introduse la Summary.
Paii sunt:
1. File, Open, Advanced
2. Din lista Property se alege proprietatea dup care se face cutarea; n lista Condition se
alege condiia, iar n lista Value se scrie valoarea
3. n lista Look In se scrie calea ctre fiier; pentru cutare i n subdirectoare, se bifeaz
opiunea Search Subfolders
4. Clic butonul Add to List; se pot aduga criterii suplimentare de cutare
5. Se apas butonul Find Now; toate fiierele ce ndeplinesc criteriile date, vor apare n
list, n fereastra Open
Pentru salvarea informaiilor folosite pentru o cutare, se apas butonul Save Search, se d un
nume cutarii respective; OK.
J. Vizualizarea proprietilor fiierelor
Paii sunt:
1. Pentru vizualizarea proprietilor fiierului deschis, din meniul File se alege Properties. Va
apare fereastra cu proprietile fiierului deschis.
2. Pentru vizualizarea proprietatilor fisierelor de pe disc: se deschide fereastra Open i se
execut clic pe butonul View

. Din meniul desfurat se alege Properties. Atunci n


170

CAPITOLUL 6. PACHETUL MS OFFICE

sectorul drept al ferestrei se va afia un sumar al proprietilor fiierului selectat. Pentru un


fiier care este deja deschis nu se vor afia proprietile.

3. Tot din fereastra Open din meniul desfurat de la butonul Tools


se alege opiunea
Properties. Va apare aceeai fereastr separat de proprieti ca i la deschiderea din meniul
File.
4. n fereastra Open se poate realiza clic-dreapta pe fiierul dorit i se desfoar un meniu
rapid din care se va alege opiunea Properties.

K. tergerea fiierelor
Paii sunt:
1. Din meniul File se alege opiunea Open sau se acioneaz direct butonul Open de pe
bara de instrumente standard.
2. Din lista Look In se selecteaz discul i directorul unde se afl fiierul.
3. Se execut clic-dreapta pe numele fiierului; se alege comanda Delete din meniul
desfurat sau se acioneaz butonul Delete
. Un fiier deschis nu poate fi ters.
4. n fereastra de mesaj Confirm File Delete se alege Yes pentru confirmarea tergerii.

171

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

L. nchiderea fiierelor
Paii sunt:
1. Pentru nchiderea unui document se apas butonul Close de pe bara de titlu sau se folosete
comanda Close din meniul File sau combinaia de taste Ctrl+F4. Pentru nchiderea tuturor
documentelor deschise, se ine apsat tasta Shift apoi se alege comanda Close All din
meniul File.
2. Dac au fost operate schimbri n document, de la ultima deschidere sau salvare, la
comanda Close apare o fereastra de dialog cu opiuni de salvare a schimbrilor; se apas
Yes pentru salvare, No pentru nchidere fr salvarea schimbrilor, Cancel pentru
rentoarcerea la document.

M. Salvarea fiierelor
Numele sub care sunt salvate fiierele (calea complet i numele fiierului) pot conine pn la
255 de caractere; nu pot conine urmtoarele caractere: /, \, >, <, *, ., ?, , |, :, ;.
Fiierul salvat va avea extensia .DOC.
Paii sunt:
1. Din meniul File se alege opiunea Save As sau Save
2. La prima salvare a documentului, apare fereastra de dialog Save As.
3. n caseta Save In se selecteaz discul i directorul unde va fi salvat fiierul
4. n caseta File Name se va denumi fiierului apoi se apas butonul Save.
5. Pentru salvarea aceluiai document cu un alt nume, se alege Save As din meniul File; n
continuare, se urmeaz paii de mai sus i se redenumete fiierul.
6. Pentru salvarea fiierului n alt format, din lista Save As Type se alege tipul dorit.
Dac fiierul a fost o dat salvat i ulterior au fost aduse completri sau modificri i se dorete
salvarea acestuia n noua form, se va alege din meniul File opiunea Save sau se va aciona direct
butonul Save

din bara de instrumente standard.

N. Salvarea automat a fiierelor


Word-ul permite salvarea automat a documentului la care se lucreaz, la un interval specificat.
Paii sunt:
1. n meniul Tools se alege Options;
2. Se va deschide fereastra Options n care se va aciona pe eticheta Save;
172

CAPITOLUL 6. PACHETUL MS OFFICE

3. Se bifeaz opiunea Save AutoRecover info every i se trece numrul de minute n


caseta Minutes;
4. Se execut clic pe OK.
O. Crearea automat de copii ale fiierelor
Word-ul poate crea o copie a fiierului la fiecare salvare a sa (copia va fi un fiier cu extensia
WKP, plasat n acelai director cu originalul).
Paii sunt:
1. n meniul Tools se alege Options;
2. n fereastra Options se bifeaz opiunea Always create backup Copy;
3. Se execut clic pe OK.
P. Schimbarea directorului implicit pentru fiierele Word
Paii sunt:
1. Din meniul Tools se alege Options;
2. n fereastra Option se acioneaz pe eticheta File Locations;
3. n lista File Types se alege Documents i se acioneaz butonul Modify;
4. n fereastra Modify Locations, n caseta Folder name se scrie calea complet pentru
directorul care va apare implicit n ferestra de deschidere i de salvare a documentelor;
5. OK

R. Vizualizarea documentelor nainte de printare


Print Preview permite vizualizarea aranjamentului paginilor documentului, nainte de a fi tiprit.
Bara de instrumente Print Preview conine butoane pentru mrire i pentru vizualizarea mai multor
pagini. Documentul poate fi editat n modul de vizualizare Print Preview.

mrete poriunea de document unde se execut clic cu mouse-ul,


Butonul Magnifier
pentru o mai bun vizualizare.

Butonul Shrink to Fit


(dac documentul e puin mai mare dect o pagin) permite
nghesuirea coninutului pe o pagin.

Butonul Multiple Pages

Comutarea la modul de vizualizare individual se face cu butonul One page .


putem stabili procentual gradul de vizualizare.
Cu ajutorul butonului Zoom

Butonul Print

permite vizualizarea n acelai timp a mai multor pagini.

trimite documentul la imprimant.

Butonul Close
nchide modul de vizualizare Print Preview.
S. Imprimarea documentelor
Paii sunt:
1. Din meniul File se alege opiunea Print;
2. Apare fereastra Print; n lista Name se alege numele imprimantei folosite;
3. Se execut clic pe butonul Properties pentru vizualizarea ferestrei cu opiunile
imprimantei alese; se fac modificrile dorite i se acionez pe OK;
4. Din fereastra Print se aleg opiunile pentu imprimarea documentului:
Din lista Print What se alege:
173

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Styles pentru imprimarea caracteristicilor stilurilor folosite n document


Key Assignments pentru imprimarea combinaiilor de taste atribuite macrourilor
create
Document Properties pentru imprimarea proprietilor documentului
Comments pentru imprimarea comentariilor inserate n document
AutoText pentru imprimarea textelor ce pot fi inserate automat

n caseta Number of Copies se scrie numrul de exemplare;


n seciunea Page Range se alege:
Current Page pentru imprimarea paginii pe care se afl cursorul
Pages pentru imprimarea mai multor pagini; n caseta alturat se scriu numerele
paginilor;
exemplu: 1- 3 pentru imprimarea paginilor:1, 2, 3;
1, 3 pentru imprimarea paginilor:1, 3;
1-3, 5 pentru imprimarea paginilor:1, 2, 3,5
5. OK.

T. Adugarea de informaii despre fiier


Pentru fiecare document creat pot fi introduse i alte informaii opionale care s descrie fiierul
respectiv, pe lng numele, mrimea i data fiierului.
Paii sunt:
1. Din meniul File se alege Properties;
2. Se deschide fereastra Properties n care se acioneaz pe eticheta Summary; n aceast
fereastr se pot scrie:
n caseta Title - titlul documentului
n caseta Subject o scurt descriere a coninutului fiierului adic subiectul;
(pentru o descriere mai lung a documentului),
autorul, n caseta Author (numele celui care a creat fiierul),
categoria de subiecte din care face parte, n caseta Category;
n caseta keywords - cuvinte cheie dup care s se fac cutarea fiierului;
comentarii (scurte informaii pentru o cutare mai uoar a documentului, sau
pentru alte persoane ce lucreaz cu documentul respectiv), n caseta Comments.
174

CAPITOLUL 6. PACHETUL MS OFFICE

Este afiat i numele ablonului pe care e bazat documentul, n caseta Template.

3. Butonul Statistics afieaz o fereastr cu informaii despre data crerii documentului, a


modificrii, a printrii i a accesrii lui; cine l-a salvat ultima oar, numrul de revizii.
4. Butonul Contents afieaz o fereastr cu pri din fiier.

5. Butonul Custom afieaz o fereastr n care se selecteaz un nume de cmp din lista Name,
apoi se alege tipul de informaie ce se stocheaz n cmp; dac tipul e numr, trebuie
introdus o valoare de la 1 la 9 n cmpul Value.
6. Toate modificrile aduse n aceste ferestre se certific cu butonul OK.
U. Gruparea documentelor folosind Microsoft Binder
Mai multe fiiere create n Word, Excel, ori PowerPoint, avnd acelai subiect, pot fi grupate cu
ajutorul aplicaiei Microsoft Binder din grupul Office.
Paii sunt:
1. Deschiderea aplicaiei de la butonul Start, se intr n meniul Programs i se alege Microsoft
Office Tools i mai departe Microsoft Binder.

175

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

2. n fereastra numit Binder 1 se deschide meniul Section i se alege Add from File .Apare o
nou fereastr n care se pot selecta unul sau mai multe documente care se vor doresc a se
grupa. Se acionez butonul Add.
3. Dup adugarea tuturor documentelor, n fereastra Binder 1, deschidem meniul File i
selectm opiunea Save Binder As. n noua fereastr se va alege calea unde va fi salvat i
va fi denumit gruparea de fiiere, ce se comport ca un alt fiier.
4. Pentru printarea tuturor fiierelor din grupare: File, Print Binder
Cnd este editat un document din fiierul Binder, schimbrile vor fi salvate doar n acest document,
nu i n original.

V. abloane
abloanele sunt fiiere ce conin pri dintr-un document i aranjamente specifice unui anumit
tip de document; pot conine text, imagini, grafice, formatare, stiluri, macrouri, cmpuri, meniuri
personalizate, combinaii de taste pentru anumite comenzi. Ataarea unui ablon la document
Paii sunt:
1. Se deschide documentul
2. Din meniul Tools se alege opiunea Templates and Add-Ins. Apare fereastra cu acelai
nume.
3. Acionnd butonul Attach apare fereastra Attach Template; se selecteaz discul i
directorul unde este fiierul ablon, apoi se selecteaz ablonul. Dac se dorete
folosirea stilurilor din ablon, se bifeaz opiunea Automatically Update Document
Styles.
X. Crearea de documente ablon
Paii sunt:
1. Se deschide documentul
File, Save As; n caseta de opiuni Save as Type se selecteaz Document Template

2. ablonul va fi salvat n directorul unde sunt toate abloanele; poate fi salvat i n alt director
(numele directorului reprezint numele butonului din fereastra New)
3. Se scrie numele fiierului n caseta File Name i se acionez Save.
Y. Crearea unui document bazat pe un ablon
Paii sunt:
1. Din meniul File se selecteaz New. Se selecteaz opiunea Template i apoi tipul de
document ce se dorete a fi creat ca ablon.
2. Se acioneaz butonul OK.
176

CAPITOLUL 6. PACHETUL MS OFFICE

Dac se creaz un document nou prin combinaia de taste Ctrl+N sau executnd clic pe butonul
New
din bara de instrumente standard, nu va fi afiat ferestra New; noul document va fi bazat pe
ablonul normal.

Z. Editarea documentelor ablon


Paii sunt :
1. Din meniul File se selecteaz Open sau se acioneaz direct butonul din bara de instrumente
;
2. n fereastra Open se va selecta ablonul si se execut clic pe comanda Open;
3. Se deschide ablonul n care se opereaz schimbrile dorite;
4. Salvarea ablonului se realizeaz ca i n cazul oricrui fiier Office: din meniul File cu Save
as, cnd ablonul va fi salvat cu un alt nume; dac se dorete salvarea lui cu acelai nume, se
folosete opiunea sau butonul Save.

W. Help
Paii sunt :
1. Pentru a obine mai multe informaii despre un buton sau o linie de meniu se apas butonul
din bara de instrumente standard sau combinaia de taste Shift+F1 sau se alege opiunea
What is This? din meniul Help. Cursorul mouse-ului ii modific forma cu simbolul indicat
pe buton.
177

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

2. Se executClic pe butonul sau linia de meniu pentru care se dorete ajutor; va apare o
fereastr cu explicaii
3. Clic n fereastra documentului pentru a o ndeprta de pe ecran.
AA. Help: Coninut i Index
n orice loc poate fi accesat Help-ul pentru a da asisten, a arta definiii sau sfaturi pentru
realizarea anumitor aciuni mai repede. Facilitile Contents i Index din fereastra Microsoft Word
Help d informaii detaliate despre un subiect.
Paii sunt:
1. Din meniul Help se alege opiunea Microsoft Word Help;
2. n fereastra care se deschide alegei unul dintre subiectele expuse sau tastai n caset
ntrebarea.
3. Se execut Clic pe butonul Search.
4. n urmtoarea fereastr care va apare executnd clic pe butonul show se vor vizualiza i
butoanele Contents i Index;
5. Inchiderea ferestrei Help se face cu butonul Close.
Se folosete butonul Index, dac se dorete vizualizarea unor cuvinte specifice care sunt aranjate
ntr-un index.

AB. Tiprirea informaiilor furnizate de Help


Paii sunt :
1.

Din fereastra Microsoft Word Help Se alege butonul Print

sau

2. Sau din meniul desfurat de la sgeata butonului Options


se alege comanda Print;
3. Se pot face modificri n caseta de dialog Print; se execut clic pe OK;
4. Close.

AC. Cutarea de subiecte


Cnd nu se tie unde pot fi gsite explicaiile despre un anumit subiect, se poate proceda astfel:
1. Din meniul Help se alege opiunea Microsoft Word Help sau se execut clic pe butonul din
bara de instrumente standard
2. n fereastra What would you like to do?, n caseta de text se scrie cuvntul care trebuie
cutat;
3. Se va aciona butonul Search;
4. Sau din fereastra Microsoft Word Help, la Index putei tasta un cuvnt cheie (keyword) sau
putei alege deja unul dintr-o list;
178

CAPITOLUL 6. PACHETUL MS OFFICE

5. Search.
AD. Asistentul Office
Este o alt facilitate a Office-ului ce furnizeaz sfaturi, informaii; este un program interactiv ce
furnizeaz ajutor n timpul lucrului.
Poate fi nchis pentru a dispare de pe ecran: se execut clic pe butonul-dreapta pe Office
Assistant i se alege din meniu opiunea Hide.
Pentru specificarea condiiilor n care s apar asistentul: se execut clic pe butonul-dreapta pe
Office Assistant i se alege opiunea Options. n aceast fereastr se vor bifa cele ce se doresc.
Pentru a se schimba aspectul asistentului: clic pe butonul-dreapta pe Office Assistant i se alege
opiuneaChoose Assistant. Defilarea se va face cu butoanele Next si Back i pentru confirmarea
alegerii se activeaz butonul OK.

AE. Explicaii pentru butoanele de pe bare


Word-ul afieaz pentru fiecare buton etichete explicative numite Screentips atunci cnd cursorul
este n dreptul lor
Pentru a activa/dezactiva opiunea Screentips se vor urma paii:
1. Din meniul View se alege opiunea Toolbars i mai departe Customize;

2. n fereastra Customize se alege Options i se bifeaz / debifeaz opiunea Show Screentips;


3. Close
6.3. MICROSOFT EXCEL XP
Programul Miscrosoft Excel este un program complex ce combin calculul tabelar cu
prelucrarea bazelor de date, prelucrri grafice i diagrame. Astfel, programul Excel este util pentru:
- organizare datelor i prezentarea de rapoarte n forma dorit;
- realizarea calculelor, de la cele simple pn la cele statistice complexe;
- ncorporarea de imagini i adnotri;
- stabilirea de legturi ntre mai multe foi de calcul;
- crearea i prelucrarea bazelor de date.
Lansarea n execuie a programului Excel se face cu opiunea Microsoft Excel din submeniul
Programs al meniului Start sau cu ajutorul unei scurtturi de pe Desktop (dac exist). De asemenea
programul Excel este ncrcat la deschiderea oricrui document Excel adic fiier cu extensia xls.
179

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Fereastra Excel seamn destul de mult cu cea a programului Word. Exist ns i diferene
legate de unele butoane i mai ales de organizarea documentului pe linii i coloane.
Un document Excel se numete registru sau caiet de lucru (workbook) i e format din mai
multe foi de lucru (Worksheets), la nceput trei. Fiecare foaie de lucru e mprir n linii i coloane.
Coloanele sunt marcare cu litere mari (A - IV), iar liniile sunt numerotate (1 16384). La intersecia
unei linii cu o coloan se formeaz o celul. Celula este unitatea de prelucrare a programului Excel.
Spre deosebire de Word, barele de derulare sunt un pic mai complexe. n partea stnga-jos a
ferestrei exist patru butoane suplimentare pentru derulare:
, pentru deplasare la nceputul
foii de lucru, o poziie la stnga, o poziie la dreapta i respectiv deplasare la sfritul foii de lucru.

Operaii cu fiiere document


Operaiile cu fiiere n Excel se fac identic cu cele cu fiiere document n Word, cu opiuni
din meniul Fiier (File).
Operaiile cu fiiere document sunt:
1. Crearea unui nou document se face cu opiunea Nou (New) din acest meniu sau cu
butonul din bara de instrumente sau cu scurttura Ctrl+N.
2. Deschiderea unui document salvat pe disc se face cu opiunea
Deschidere (Open) sau cu butonul sau cu combinaia de taste
Ctrl+O. Se deschide o caset de dialog n care putem alege
documentul dorit dintr-o list.
3. nchiderea documentului fr a nchide programul Word se face
cu opiunea nchide sau cu butonul de nchideri a ferestrei
document (nu a ferestrei Word).
4. Salvarea documentului pe disc se face cu opiunea Salvare
(Save) sau Salvare ca (Save As) sau cu butonul sau cu scurttura
Ctrl+S. La prima salvare a unui document sau dac folosim
Salvare ca se deschide o caset de dialog n care putem alege
numele i locul de salvare a documentului. De asemenea, tot aici
se poate proteja documentul cu o parol prin opiunea Opiuni de
securitate (Security Options) a meniului Instrumente (Tools) (din
caseta de dialog Salvare ca).
De asemenea pot fi folosite
butoanele din bare de instrumente
A. Selectarea celulelor
Butoanele pe care sunt marcate denumirile coloanelor i respectiv numerele liniilor sunt folosite
pentru a selecta o coloan ntreag i respectiv o linie ntreag. Acest lucru se face cu click stnga.
Cu un click pe butonul din stnga sus (deasupra liniei 1 i n stnga coloanei A) sau cu Ctrl+A
sau cu Crtr+Shift +Space se selecteaz toate celulele.
O celul poate fi selectat cu click pe ea sau deplasnd celula activ (cea cu marginea ngroat)
cu sgeile de pe tastatur pn la celula dorit.
180

CAPITOLUL 6. PACHETUL MS OFFICE

O zon dreptunghiular de celule poate fi selectat cu drag and drop pe o diagonal a


dreptunghiului. Selectarea unor celule sau grupuri de celule neconsecutive sau nealturate se face
selectndu-le pe rnd n timp ce se ine tasta Ctrl apsat.
B. Introducerea de informaii n celule
Celula este unitatea de informaie pentru Excel i una dintre cele mai importante operaii este
introducerea datelor n celule. Datele de introduc ntotdeauna n celula activ (selectat).
O celul poate conine o valoare constant (numeric, ir de caractere) sau o formul care ncepe
ntotdeauna cu semnul =.
Introducerea unei valori constante se face se la tastatur sau prin copierea unei valori cu o
succesiune Copy Parte exact ca n Word.
O operaie important este formatare coninutului celulei. Aceasta se face cu opiunea Celule
(Cells) din meniul Format (Formatare).
Ca observaie, n mod normal o celul conine informaia pe un singur rnd. Dac dorim s
scriem un text pe mai multe rnduri selectm n caseta deschis mai sus opiunea Wrap Text.

Introducerea unei formule nseamn definirea valorii din celul ca rezultat al unei operaii. O
formul poate fi introdus de la tastatur. Formula este o succesiune operand-operator care ncepe i se
termin cu operanzi. De multe ori n calcule sunt necesare valorile din celelalte celule. Ele pot fi
folosite doar scriind adresa lor n formul. Pe scurt, adresa unei celule este format din numele liniei
urmat de numrul coloanei pe care se afl celula. Vom aprofunda noiunea de adres mai trziu.
Un alt mod de construire a unei formule e urmtorul:
1. selectm celula n care vrem s scriem formula
2. tastm semnul =
3. selectm prima celul care va intra n calcul
4. tastm operatorul dorit
5. selectm urmtoarea celul
6. repetm paii 4 i 5 de cte ori e necesar
7. apsm tasta Enter
Astfel, se calculeaz automat valoarea i e scris n celul.
Operatorii folosii n celule sunt cei aritmetici: +, - , *, / , % (procent), ^ (ridicare la putere), cei
relaionali: <, >, <=, >=, =, <> (diferit). Ordinea lor de aplicare este cea cunoscut din matematic. Pe
lng acetia exist i operatorul & pentru concatenarea (lipirea) de iruri de caractere.
S revenim acum asupra adreselor. Putem adresa o celul cum am vzut mai sus sau un grup
alturate (sub form de dreptunghi) de celule scriind adresa celulei din colul stnga sus i cel al celulei
din colul dreapta jos separate prin semnul : , de exemplu A2:B4.
Exist trei tipuri de adrese:
1. Adrese relative
Adresa relativ indic formulei cum s gseasc celula pornind de la celula care conine formula.
Adresa relativ unei celule e format din numele liniei urmat de numrul coloanei.
Sunt cel mai des utilizate pentru c permit extinderea unor formule la alte celule. DE exemplu
dac n celula C1 avem formula =A1+B1, dac copiem formula n C2 suma va fi =A2+B2, n C3 va fi
=A3+B3, etc. Acest lucru se poate face cu drag and drop pe colul dreapta-jos al celulei C1. Aceasta
este o facilitate important de editare prin care putem la fel s umplem mai multe celule cu aceeai
valoare sau cu valori consecutive sau care se pot obine printr-o regul simpl, de exemplu.
181

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Adrese absolute
Adresele absolute spun poziia exact a celulei n foaia de lucru i se scriu cu semnul $ naintea
coloanei i naintea liniei (exemplu $E$3). O operaie de felul celor de mai sus nu modific formula.
2. Adrese mixte
Adresele mixte spun cum s fie gsit o celul combinnd cele dou tipuri de adrese de mai sus
(exemplu $A2, A$2).
La introducerea unei formule, n celul e afiat valoarea calculat cu acea formul, iar n bara
de formule e scris formula. Modificarea poate fi fcut doar n aceast bar de formule.
Copierea unei formule cu o succesiune de comenzi Copy Paste are ca rezultat copierea
formulei. Dac adresele folosite sunt relative atunci ele se modific n funcie de locul unde am copiat
formula.
Dac programul Excel afieaz ntr-o celul o valoare precedat de semnul #, atunci ea e greit
i nseamn c formula sau datele din ea nu sunt corecte.
tergerea informaiilor din celule se face selectnd celulele si apoi cu tasta Delete.
tergerea celulelor (nu doar a informaiilor din ele) se face cu opiunile submeniului tergere
(Delete) din meniul Editare (Edit):
- (Shift Cells Left) terge celulele i le deplaseaz pe cele rmase spre stnga
- (Shift Cells Up) terge celulele i le deplaseaz pe cele rmase n sus
- (Entire Row) terge o linie i le deplaseaz pe cele de mai jos cu o poziie n sus
- (Entire Column) terge o coloan i le deplaseaz pe cele din dreapta spre stnga
C. Operaii de cutare
Programul Excel permite cutarea unei valori i eventual nlocuirea ei cu alta. Aceste operaii se
realizeaz n caseta de dialog Gsire i nlocuire (Find and Replace) care se deschide cu opiunea
Gsire(Find) sau nlocuire (Replace) din meniul Editare (Edit).

Ea este o caset de dialog cu o seciune pentru cutare i una pentru cutare i nlocuire. n ele se
precizeaz textul cutat i cu ce s se nlocuiasc, precum i opiunile de cutare (doar celule ntregi,
diferenierea sau nediferenierea literelor mici de cele mari) i cum s se fac cutarea (pe rnduri sau
pe coloane). Cutarea se lanseaz cu butonul Urmtorul gsit (Find Next), iar nlocuirea cu (Replace)
sau (Replace All).
De asemenea se poate preciza partea din document n care s se fac aceste operaii: n tot
documentul, sau doar n foaia curent.
n precizarea informaiei cutate se pot folosi caracterele de nlocuire ? i * exact ca n Windows.
D. Formatarea celulelor
Formatarea celulelor i a informaiilor din ele, a coloanelor, a rndurilor i a ntregii foi de lucru
se face cu opiunile meniului Formatare (Format).
El are urmtoare opiuni:
Rnd (Row) submeniu pentru alegerea caracteristicilor rndului cu opiunile:
- Height nlimea rndului
- AutoFit autoredimensionarea
- Hide ascunde rndul
- Unhide face rndul vizibil
182

CAPITOLUL 6. PACHETUL MS OFFICE

Coloan (Column) submeniu pentru alegerea caracteristicilor coloane cu opiunile:


- Width limea coloanei
- AutoFit autoredimensionarea
- Hide ascunde coloana
- Unhide face coloana vizibil
- Standard Width reface limea coloanei la cea standard
Foaie (Sheet) submeniu cu urmtoarele caracteristici ale foii de lucru:
- Rename redenumete foaia de lucru
- Hide ascunde foaia de lucru
- Unhide face foaia de lucru vizibil
- Background stabilete fondul foii de lucru
Celule (Cells) formateaz caracteristicile celulelor i ale informaiilor din acestea. Se
deschide urmtoarea caset de dialog.
Pentru tipul informaiilor dintr-o celul putem alege din seciunea Numr (Number):

- General (General) tipul implicit


- Numr (Number) numr i putem preciza numrul de zecimale, separatorul pentru
ordine, modul de afiare a numerelor negative
- Simbol monetar (Currency) pentru a folosi simbolul monetar
- Dat (Date) pentru data calen-daristic i formatele ei
- Or (Time) ora i formatele ei
- Procentaj (Percentage) valori re-prezentate pro-centual
- Fracie (Fraction) pentru numere raionala n/m
- Text (Text) valori ir de caractere
n seciunea Aliniere (Alignment) alegem modul de alinierea a informaiei n celule.
n seciunea Font (Font) formatm caracterele ca n Word:
Setul de caractere fontul (Font) care stabilete forma caracterelor. Putem alege din sute de
astfel de fonturi. Cele mai folosite sunt Times New Roman i Arial
Stilul care poate fi normal (Regular), ngroat (Bold), nclinat (Italic) i ngroat - nclinat
(Bold Italic)
Dimensiunea (Size) ntre 8 i 72 (dar se poate scrie i o alt mrime)
Culoarea caracterelor (Font Color)
Modul de subliniere (Underline Style)
Efecte (Effects) cum ar fi: tierea cu o linie orizontal (Strikethrough), scrierea cu indici
(Subscript) sau cu exponeni (Superscript).
Cele mai importante caracteristici se pot alege i din bara de formatare din bara de
instrumente.
n seciunea Bordur (Border) alegem bordurile celulelor. Grila n care e mprit o foaie de
lucru nu apare la imprimant, aa c e bine s stabilim noi bordurile tabelelor (formate din celulele
selectate pentru formatare) i culoarea liniilor lor.
n seciunea Modele (Patterns) alegem culoarea interiorului celulei.
Pe lng aceste modaliti de formatare exist i o bar de formatare, iar unele operaii se pot
face i mai simplu. De exemplu redimensionarea rndurilor sau a coloanelor se face cu drag and
183

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

drop pe zona care separ numerele rndurilor i respectiv pe zona care separ marcajele (denumirile)
coloanelor. Aici mouse-ul i schimb cursorul sgeat n cursor de redimensionare.
E. Tiprea documentului
Tiprirea documentului este asemntoare cu cea din Word. Ea poate fi precedat de formatarea
paginilor care se face cu opiunea Iniializare pagin (Page Setup) din meniu Fiier (File).

Aceast opiune deschide urmtoarea caset de dialog:


Seciunile acesteia sunt:
Pagin (Page) care stabilete dimensiunile paginii utile prin precizarea dimensiunilor celor
patru margini ale foii care rmn neutilizate i modul de centrare n pagin (orizontal sau
vertical).
Margini (Margins) care stabilesc dimensiunile foii i modul se orientare. Se alege
orientarea acesteia orizontal (Landscape) sau vertical (Portrait). Exist o serie de
dimensiuni standard de unde putem alege dimensiunea dorit (Letter, A4, A3, etc).
Antet / subsol (Header and Footer) permite introducerea antetului (Header) i a subsolului
(Footer) i alegerea de opiuni pentru acestea.
Pentru tiprire e bine s se urmeze cei trei pai indicai i la Word:
1. Previzualizarea documentului aa cum va fi tiprit se face cu opiunea Examinare naintea
imprimrii (Print Preview) din meniul Fiier (File) sau cu butonul
.
2. Stabilirea opiunilor de tiprire se face cu opiunea Imprimare (Print) din meniul Fiier (File).
Se deschide o caset de dialog n care putem alege imprimanta la care s tiprim i
proprietile acesteia (dimensiunea foii, calitate, culori n funcie de fiecare imprimant),
paginile dorite i numrul de copii.

3. Lansarea tipririi cu opiunile stabilite anterior se face cu butonul Ok din caseta de dialog
Imprimare (Print) deschis anterior.
F. Sortarea datelor
Ordonarea celulelor dintr-o foaie de lucru se face selectnd celulele i apoi cu opiunea Sort din
meniul Data. Aceasta deschide o caset de dialog n care alegem coloanele dup care s se fac
ordonarea i felul ordonrii, cresctoare sau descresctoare. De asemenea se poate preciza dac se ia i
capul de table sau nu. Ordonarea poate fi lansat i cu unul dintre butoanele

184

CAPITOLUL 6. PACHETUL MS OFFICE

G. Inserarea de obiecte ntr-o foaie de lucru


Programul Excel permite i inserarea de obiecte, cum ar fi imaginile, simbolurile, figuri,
formule, etc. Operaiile de introducere se obiecte se realizeaz din meniul Inserare (Insert), asemntor
cu programul Word..
Simbolurile (matematice, financiare, din alfabetul grecesc) se insereaz cu opiunea Simbol
(Symbol) care deschide o caset de dialog cu o list din care putem alege i insera simbolul
dorit. Pentru simbolurile des utilizate se pot crea scurtturi de la tastatur cu butonul
(Shortcut Key), tastnd noua scurttur (fr a alege din cele folosite deja de Word) i apoi
cu butonul (Assign).
Diagramele se insereaz cu opiunea Diagram (Chart). Acest lucru se face ntr-o caset de
dialog n patru pai. nti alegem tipul diagramei (imaginea), apoi datele care intr n ea,
apoi numele i notaiile din diagram i la final dac ea s fie pus n foaia de lucru curent
sau n una nou.
Imaginile se introduc din submeniul Imagine (Picture) care are mai multe opiuni: pentru
desene realizate pe baza unor figuri de baz (Autoshapes), pentru imagini salvate pe disc
(From File), imagini coninute n galeriile Clip Art ,) sau texte scrise n diferite forme i
culori (Wordart). Categoria (Autoshapes) este foarte important pentru c e mecanismul de
desenare al programului Word. Desenele se realizeaz din forme se baz grupate pe
categorii:

Pentru cele mai des utilizare exist butoane separate


.
Partea de inserare de imagini este identic cu cea din Word.
H. Crearea de diagrame
Crearea de diagrame este o operaie important n Excel. Datele din foile de calcul, pot fi de
asemenea vizualizate ntr-o forma sintetic i atractiv folosind diagramele.
Pentru aceasta se selecteaz datele care ar trebui s se regseasc n diagrama i se efectueaz
clic pe butonul
.
Urmnd cei 4 paii de mai sus, pe exemplul nostru putem obine o diagram:
Vanzari

4.000
3.000
2.000
Series1
1.000
Vanzare
sem 1

Media

Funcii matematice n tabele


Pentru a introduce o formul ntr-o celula, se parcurg urmtorii pai:
se da clic in celula respectiva
se apas tasta = (sau se apas butonul Editeaz formula (=) sau Insereaz funcia (f x)
se introduce formula
se apas tasta Enter
Pentru a efectua operaiile matematice de baza, se folosesc urmtorii operatori aritmetici:
Operatorul aritmetic
Semnificaia
Exemplu
+ (semnul plus)
- (semnul minus)
* (asterisc)
/ (slash)
% (semnul procent)
^ (semnul circumflex)

Adunare
Scdere;
numr negativ
nmulire
mprire
Procent
Ridicare la putere

185

3+3
31
1
3*3
3/3
20%
3^2

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

CAPITOLUL 7
LIMBAJE DE PROGRAMARE
7.1. DOMENII DE UTILIZARE ALE CALCULATOARELOR
Principalele domenii de utilizare ale calculatoarelor sunt:
prelucrarea datelor,
proiectare,
simulare,
conducerea proceselor.
Prelucrarea datelor cuprinde mai multe aspecte:
- nregistrarea,
- selectarea,
- sortarea,
- ordonarea,
- prelucrarea matematic,
- analiza,
- rezumarea,
- raportarea informaiilor.
Selectarea datelor se refer la asocierea unui element de informaie cu un ansamblu de
caracteristici date. De exemplu: o indicaie bibliografic, un tip de scul sau un tip de ascuire.
Sortarea reprezint separarea unei liste n pri (clase) care se exclud reciproc. De exemplu:
seleca fiierelor cu extensia .exe sau selecia unor articolele unui autor.
Ordonarea reprezint aranjarea unei liste n conformitate cu un sistem liniar (oarecare,
stabilit). De exemplu: ordonare dup criteriu alfabetic sau cresctor.
Prelucrarea matematic reprezint efectuarea operaiilor matematice indicate prin program
asupra informaiilor introduse.
Analiza, rezumarea i raportarea informaiilor se refer la efectuarea programat a acestor
operaii asupra informaiilor pe care le poate furniza n urma prelucrrii prealabile a datelor.
Rezultatele sunt analizate, iar prin rezumare se rein cele care urmeaz a fi raportate prin
sistemul de ieire al datelor din calculator.
Utilizarea calculatoarelor n procesele de proiectare constituie o ramur preponderent
inginereasc i cuprinde un spectru larg de probleme care pot fi abordate.
Proiectarea reprezint aplicarea creatoare a unui fond de cunotiine la realizarea unor
produse utile.
Proiectul reprezint din punct de vedere semantic o lucrare tehnic ntocmit pe baza unei
teme date, cuprinznd :
calcule tehnico-economice,
desene,
instruciuni necesare executrii unei construcii, maini, instalaii, tehnologii etc.
Clasificarea problemelor de proiectare:
1. probleme structurale,
2. probleme nestructurale,
3. probleme semisructurale.
1. Problemele structurale au urmtoarele caracteristici:
variabile cunoscute,
relaii funcionale dintre variabile bine definite,
este posibil o rigurozitate complet (matematic),
algoritmi precii.
186

CAPITOLUL 7. LIMBAJE DE PROGRAMARE

Pe baza principalelor caracteristici precizate se poate constata c problemele structurale pot fi


rezolvate relativ uor i cu ajutorul mainilor de calcul, fapt care le recomand pentru proiectarea
automat (prin calculator).
2. Problemele nestructurale sunt caracterizate de:
slab definire a relaiei dintre variabile,
nesiguran n compararea variabilelor individuale.
3. Problemele semistructurale sunt caracterizate de:
au caracteristici comune (structurale i nestructurale),
sunt parial structurale i parial nestructurale.
Pe baza principalelor caracteristici precizate se poate constata c problemele semistructurale
pot fi rezolvate relativ cu ajutorul calculatorului. Proiectantul stabilete strategia i algoritmul de
rezolvare a problemei, iar calculatorul execut calculele.
Problemele nestructurale datorit slabei definiri a relaiilor dintre parametrii i variabilele
individuale solicit proiectantul s introduc reguli dup care se va lua decizia i se face alegerea
variantei cea mai bun. Proiectantul alege varianta final, ia decizia, dar la soluie nesatisfctoare
modific regulile de calcul a soluiei i reia rezolvarea problemei. Calculatorul realizeaz produsul,
ns proiectantul precizeaz sistemul care proiecteaz produsul.
Proiectare euristic este cea care se aplic n aceste cazuri. Euristica este metoda de studiu i
cercetare bazat pe descoperirea unor fapte noi n timpul procesului n desfurare i schimbarea
metodei n cazul neomologrii (fig 7.1.).

Figura 7.1. Etapele parcurse de informaie pn la omologarea i decizia final.


Alt domeniu important de utilizarea a calculatoarelor este simularea. n acest domeniu este
necesar o abordare soft i hard adecvat i n concordan cu procesul urmrit. Calculatoarele n
simulare trebuie s in seama de aspectele:
reprezentarea printr-un model matematic a fiecrui element al sistemului care urmeaz a
fi simulat, specificndu-se interaciunea dintre elemente,
elaborarea unui program de calculator care evolueaz n concordan cu modelul
matematic.
Pornind de la simulatoare de navigaie (zbor), de conducere auto, la simularea prelucrrii pe
CNC a panourilor de mobil, a decorrilor de interioare cu diferite obiecte demobilier, schimbarea
ambientului prin modificarea texturii i culorii, utilizarea analizelor cu element finit pentru testarea
i mbuntirea formelor i seciunilor produrelor de mobilier, simularea matematic a diferitelor
ncrcri cu fore concentrate sau distribuite etc., pn la simplele jocuri simularea i face apariia
i i aduce un aport important la formarea unor deprinderi sau la verificarea nedistructiva a unor
variante proiectate.
Alt domeniu n care se impune utilizarea calculatoarelor este n conducerea proceselor:
conducerea unor procese tehnologice care au loc la maini unelte i instalaii,
conducerea proceselor de producie din punct de vedere organizatoric i economic.
Rolul calculatoarelor n domeniul conducerii proceselor industriale:
- performane i capacitii acestora de a nmagazina i prelucra rapid datele,
187

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

echipamentele periferice specializate ce asigur transmiterea i recepionarea rapid n


timp real a fluxului informaional din proces,
- imposibilitatea operatorului uman de a asigura, prin metodele clasice, conducerea
eficient a produciei.
Introducerea i utilizarea calculatoarelor electronice n procesul de producie urmrete:
-atingerea i meninerea unor regimuri tehnologice optimale;
-conducerea proceselor tehnologice cu grad de nocivitate ridicat;
-reduceri ale consumurilor specifice de materii prime i materiale;
-reduceri ale consumurilor de energie;
-creterea productivitii utilajelor, proceselor tehnologice, siguranei n funcionare;
-posibiliti de conducere operativ a marilor platforme industriale;
-creterea eficienei economice a activitii industriale.
7.1.1. Calculatoarele de proces
Calculatoarele de proces formeaz o categorie aparte, care se caracterizeaz printr-o structur
complex generat att de existena unor module ce asigur primirea i transmiterea informaiilor
din i n instalaia tehnologic, ct i de existena unor module de prelucrare a informaiilor
numerice, de calcul i de decizie, proprii unor calculatoare electronice numerice universale.
Calculatorul de proces asigur:
- prelucrarea unor volume mari de informaii;
- viteza i precizie mare n prelucrarea datelor;
- calcule de complexitate ridicat;
- funcionarea n timp real;
- intervenie rapid n procesul tehnologic.
Folosirea sistemelor de prelucrare a datelor n acest domeniu impune crearea i dezvoltarea
unor sisteme de programe de exploatare i aplicative adecvate.
Calculatoarele de proces se caracterizeaz prin existenta a dou interfee:
calculator - proces i
calculator - operator uman.
Interfaa ntre aceste sisteme complexe i omul care este chemat s le mnuiasc este realizat
prin sistemul de programe i limbajele de programare.
Programele utilizate n contextul sistemelor de conducere se mpart n:
- programe destinate exploatrii curente a sistemelor (software de baz i software de
aplicaie);
- programe (sau sisteme de programe) destinate elaborrii programelor de aplicaie,
pentru o aplicaie anume.
Mrimile de intrare sau variabilele independente sunt informaiile primite despre proces.
Principalele informaii sunt relative la temperaturi, presiuni, debite.
Mrimile pot fi mprite n dou grupe:
- cele care pot fi comandate direct de operator, numite comenzi;
- cele care nu sunt supuse comenzii directe a operatorului, numite perturbaii.
Mrimile de ieire sau variabilele dependente, pot fi grupate n:
- performante, variabilele care intervin n formularea obiectivelor procesului i care
trebuie meninute ntre anumite limite date;
- variabile intermediare, care apar n diverse puncte intermediare ale procesului sau ale
unui model matematic al procesului, sau compoziia, care pot fi utilizate ca masur a unor
perturbaii inaccesibile, ca un predictor al calitii produsului.
Scopul conducerii procesului tehnologic se poate formula astfel: prin ajustarea variabilelor
comandate, s se asigure realizarea unor obiective bine definite ale procesului, innd seama de
perturbaii i folosind rezultatele msurrii indicatorilor de performan, variabilelor intermediare i
pertbaiilor. Operatorul st la consola de proces de unde controleaz i dirijeaz procesul.
188

CAPITOLUL 7. LIMBAJE DE PROGRAMARE

Moduri de conectare calculator proces.


n conducerea proceselor tehnologice, calculatorul poate ndeplini diferite funciuni ce sunt
raportate la modul n care acesta primete informaia i, transmite informaia de la/la proces.
Introducerea datelor n calculator se face pe trei ci :
- utilizarea unui suport de informaie;
- direct de la operator n calculator, prin intermediul consolei;
- direct de la surs n calculator, prin intermediul dispozitivelor de cuplare la proces.
Datele prelucrate de un calculator pot fi folosite pentru:
- asigurarea cu date a operatorului, ntr-o form intermitent;
- asigurarea de nregistrri permanente pentru operator;
- comanda direct a instalaiilor din proces.
Evideniind aceste ci de introducere-extragere a datelor, putem defini urmtoarele moduri de
conectare dintre calculator i proces:
Calculatoare " OFF-LINE", nu este conectat direct la proces, iar legatura informaional ntre
calculator i proces este stabilit prin intermediul omului. Un astfel de sistem poate fi utilizat acolo
unde ntrzierile nu conteaz i unde manipularea manual a dalelor nu este costisitoare.
Calculatoare " IN-LINE". Operatorul introduce datele privind procesul, direct n calculator, n
mod rapid i frecvent, cu ajutorul unei claviaturi, lector de simboluri, creion optic etc., pot fi
prelucrate imediat (dac este cazul), iar rezultatele sunt aplicate manual de ctre operator. La
acest regim (ca i n cel off-line") informaia de la ieirea calculatorului se prezint sub form de
mesaj tiparit sau pe un dispozitiv de afiare.
Calculatoare " ON-LINE", este un sistem conectat fizic cu procesul, astfel nct s primeasc
informaia fr intervenia omului i fr ntrziere. Calculatorul poate primi direct informaii de la
proces prin dispozitivele sale periferice.
Sistemele on-line" transmit informaii de la un proces n memoria calculatorului fr ca
prelucrarea s aib loc imediat, n mod obligatoriu. Atunci cnd prelucrarea informaiilor
transmise on- line" se desfoar imediat, n timpul funcionrii procesului, sistemul se numete
on-line", n timp real. Un calculator care posed aceasta capacitate se numete, n mod
convenional, calculator de proces. n cazul n care nu este nevoie de nici o intervenie manual,
aciunile de conducere sunt calculate de calculator i aplicate direct procesului, sistemul se numete
on-line" n circuit nchis.
STRUCTURA UNUI CALCULATOR DE PROCES
Un calculator de proces posed o serie de caracteristici fundamentale, care-l deosebesc de un
calculator electronic universal, i anume:
- capacitatea de a comunica direct i eficient cu aparatura de msur i control, precum i
cu echipamentul de reglare al procesului;
- posibilitatea de a rspunde rapid, n timp util, la semnale de prioritate emise de procesul
condus (proprietate de ntrerupere);
- capacitatea de a opera suficient de rapid asupra datelor, asigurnd funcionarea i
conducerea procesului n timp real (timpul cronometric).
Calculatorul de proces este un sistem integrat format dintr-un calculator electronic universal
(unitatea central i echipamentele periferice clasice) i un echipament periferic specializat pentru
cuplarea calculatorului la proces (dispozitive analogice, dispozitive numerice, consola operatorului
de proces).
Funciile generale i nivelurile de conducere a proceselor industriale sunt mprite n:
- funcii de supraveghere;
- funcii de reglare i comand;
- funcii de optimizare;
- funcii de planificare.
O parte din aceste activiti pot fi efectuate de calculatorul de proces. Alegerea depinde de
necesitile de memorie, periferice i, bineneles, de pre.
189

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Funciile de conducere a proceselor industriale prezentate mai sus se realizeaz ierarhizat,


conducnd la urmatoarele nivele de comand i supraveghere a proceselor : supraveghere, reglare,
optimizare, planificare.
Sistemul de operare i programare aferent unui calculator de proces are ca sarcin
optimizarea utilizrii sistemului de calcul, minimizarea efortului uman de programare i
automatizarea operaiilor manuale ntr-o msur ct mai mare.
Sistemele de operare i programare aferente calculatoarelor de proces prezint structuri
diferite, corelate cu configuraiile de echipamente ale fiecrui calculator de proces.
Ceea ce este comun tuturor acestor sisteme este prezena urmatoarelor componente:
- un sistem de exploatare de baz aferent calculatorului numeric universal (pentru
conducerea non-proces) ;
- un sistem de timp real (pentru conducerea "on-line");
- un sistem de procesoare,
Sistemul de programe de timp real trebuie s asigure ordonarea deservirii ntreruperilor
externe, supravegherea i comanda operaiilor de intrare/ieire (din/spre proces), gestiunea
proceselor de timp real, comunicarea cu operatorul de proces.
Cu ct limbajul de programare este mai apropiat de limbajul utilizat la analiza i definirea
problemei care se programeaz, cu att gradul de automatizare al programrii este mai ridicat.
Limbajele de programare destinate conducerii proceselor industriale, duc la realizarea unui program
care s realizeze schema de reglare a procesului ntr-un timp scurt i un consum de memorie relativ
minim. Cerintele preliminare necesare conducerii unui astfel de proces pot fi exprimate cu ajutorul
urmtoarelor documente surs: specificatia procesului industrial ce urmeaz a fi condus, diagrama
de comand, schema logic a descrierii procesului.
Elementele unui astfel de limbaj vor fi identificatorii (ex: nume, adrese etc.), ce indic
obiectele i atributele obiectelor i operatorii (ex: verbe imperative, operatori aritmetici etc.), ce
indic operaia ce urmeaz a fi executat cu obiecte.
n vederea descrierii procesului industrial este necesar a fi furnizate listele cu tabele
referitoare la intrri analogice, semnale de ieire, semnale de tip contact.
Pentru mrimile analogice aceste tabele vor conine: identificator (nume etc.), valoare, limite
de alarm etc., traductoare i semnale, perioada de explorare, conversia n uniti inginereti etc.
Pentru semnalele de ieire aceste tabele vor conine: identificator, dispozitiv i semnal,
alarmare i blocare, caracteristici ale reaciei inverse (feedback).
Pentru semnalele de tip-contact, aceste tabele vor conine: identificator, dispozitiv, poziia
contactului n cadrul dispozitivului, poziia normal a contactului (deschis, nchis), explorarea
(aleatorie sau sincronizat cu un anumit interval de timp).
Diagrama de comand din blocuri sau simboluri speciale care reprezint att calcule ce
trebuiesc efectuate ct i fluxul informaional. Sistemul de comand poate fi definit ca o entitate cu
un nume i o serie de elemente de comand. Schema logic descrie procesul industrial, inclusiv
operaiile ce sunt permise att n timpul operrii normale ct i n condiii exceptionale, n general,
schema logic const dintr-un grup de operatori reprezentai printr-o suit de simboluri standard.
Limbajul de programare specializat destinat conducerii proceselor industriale poate fi astfel
realizat n dou forme:
- forma lung, n care o parte sau toate elementele limbajului sunt separate prin simboluri,
denumite, delimitatori limbajul seaman cu un limbaj de programare procedural tipic;
- forma scurt, n care elementele limbajului ocup poziii fixe n fluxul de intrare -i nu
sunt separate prin delimitatori - limbajul seaman cu limbajele de programare specializate de
proces de tipul fill-in-the-blanks".
Putem clasifica limbajele existente, n present, n urmatoarele trei clase:
limbaje de nivel nalt orientate spre aplicaii industriale
limbaje procedurale
limbaje orientate pe problem
190

CAPITOLUL 7. LIMBAJE DE PROGRAMARE

n esen, proiectarea unor astfel de limbaje genereaz o standardizare a funciilor specializate


de supraveghere i conducere a procesului i conduc totodat la reducerea efortului de programareimplementare.
Limbajele din aceasta categorie sunt limbaje interpretative a unor diagrame logice. Ele
necesit cunotine minime de programare, dar folosesc o serie de simboluri ce reprezint ordinele
de codificare a diagramelor logice care sunt prezentate sub forma mnemotehnic.
7.2. ORGANIZAREA STRUCTURAT A CALCULATOARELOR
Un calculator numeric poate rezolva probleme prin executarea instruciunilor ce i-au fost date.
O instruciune este o comand dat calculatorului, prin care se descrie operaia sau operaiile
pe care acesta trebuie s le execute.
Instruciunile pe care le execut un calculator sunt de fapt grupuri de 1 i 0 care reprezint
semnale electronice produse n interiorul calculatorului. Totalitatea instruciunilor care descriu cum
se rezolv o anumit problem se numete program.
Circuitele electronice ale unui calculator pot recunoate i executa un set finit de instruciuni
primare, simple, n care trebuie transformate toate programele, nainte ca acestea s poat fi rulate
(adic executate de ctre microprocesor).
Totalitatea instruciunilor pe care un procesor le poate recunoate i executa, formeaz setul
de instruciuni al procesorului respectiv.
Aceste instruciuni primare execut operaii ca :
adun dou numere,
verific dac un numr este egal cu 0,
copiaz date dintr-o zon a calculatorului n alta, precum i cteva operaii ceva mai
complicate.
Toate informaiile dintr-un program sunt codificate binar. Unitatea de msur pentru
informaie este bitul (0 sau 1). n interiorul calculatoarelor toate informaiile sunt reprezentate sub
forma unor numere binare grupate n bii. Aceste grupe pot fi de 8, 16, 32, 64 de bii.
ntregul set de instruciuni primare reprezint un limbaj care permite comunicarea dintre
calculator (procesorul unui calculator) i om. Acest limbaj se numete limbaj main, i este
singurul limbaj pe care l poate nelege un calculator. Evident acest limbaj este binar.
Proiectanii de calculatoare trebuie s decid setul de instruciuni primare folosit de noul
procesor. Fiecare tip de microprocesor are un set de instruciuni propriu. La primele calculatoare se
puteau scrie programe cu ajutorul a 8 comutatoare (instruciuni pe 8 bii) care se puteau poziiona pe
0 sau 1, i astfel puteau fi scrise i executate programele. Astazi acest fel de scriere nu se mai
folosete, cel mai de jos" limbaj fiind limbajul de asamblare.
Deoarece este destul de dificil de scris programe n limbaj main, va fi necesar
proiectarea unui nou set de instruciuni (limbaj) mai uor de utilizat de ctre oameni dect setul de
instruciuni main, pe care l vom nota cu L1. Vom nota setul de instruciuni main cu L0.
O metod de executare a unui program scris n L1 este de a nlocui fiecare instruciune din
acest limbaj cu un set echivalent funcional din L0. O astfel de tehnic se numete traducere.
Cea de a doua tehnic const n a scrie un program n L0 care preia programe n L1 ca i date
de intrare i le execut examinnd fiecare instruciune pe rnd i executnd secvena echivalent de
instruciuni direct n L0. O astfel de tehnic se numete interpretare i programul care o realizeaz
se numete interpretor.
Traducerea i interpretarea sunt similare. n ambele metode, instruciunile din L1 sunt n final
realizate pe baza executrii unor secvene echivalente de instruciuni n L0.
Programul L1 se mai numete program surs iar programul L0 se numete program n cod
main (limbaj main). Pentru un limbaj de programare, programul surs este cel scris cu ajutorul
instruciunilor limbajului respectiv iar programul n cod main este cel rezultat n urma compilrii
programului surs.
191

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Toate fiierele cu extensia exe sau com de sub sistemul de operare MS-DOS sunt programe n
cod min. n timpul executrii, se ruleaz noul program generat n L0 i acesta este cel care are
controlul calculatorului.
Limbajul de pe nivelul cel mai de jos este cel mai simplu iar limbajul de pe nivelul cel mai
nalt este cel mai sofisticat. Cele mai multe calculatoare moderne sunt formate din dou sau mai
multe niveluri.
Vom analiza un calculator cu ase niveluri.
Nivelul 0, corespunde structurii hardware a mainii care execut instruciunile n limbaj
main de pe nivelul 1. Pentru corectitudine trebuie menionat un nivel aflat sub nivelul 0, care tine
de domeniul ingineriei electronice i se numete nivelul echipamentelor electronice (device level).
La acest nivel se gsesc tranzistoarele cu ajutorul crora se pot proiecta circuitele integrate i
respectiv circuitele logice. Tranzistoarele precum i alte componente electronice sunt considerate
primitivele de nivelul cel mai sczut pentru proiectanii de calculatoare.
Se poate cobor la un nivel i mai de jos, dar acesta se ocup cu tehnologia siliciului, adic a
fabricrii componentelor electronice.
Pentru nivelul logic digital (digital logic level), sunt de interes obiectele numite pori logice.
Ele sunt construite din componente analogice, cum ar fi tranzistoarele, i alctuiesc circuitele
digitale. Fiecare poart are una sau mai multe intrri digitale (0 sau 1) i calculeaz o funcie logic
drept ieire, cum ar fi SI sau SAU logic. Cteva pori pot fi combinate pentru a forma o memorie de
un bit. Memoriile de 1 bit pot fi combinate n grupuri de 16, 32 sau 64 pentru a forma registre.
Nivelul 1 sau Nivelul microarhitecturii (microarhitecture level) conine o colecie de 8 pn la
64 de registre de dimensiune cuprins ntre 8 i 32 de bii, formnd o parte din memoria intern a
procesorului, i un circuit numit UAL (Arithmetic Logic Unit) unitate aritmetic i logic care
poate executa operaii aritmetice i logice simple.
Registrele sunt conectate la UAL pentru a forma o cale de date (data path) prin care se
transmit datele. Operaiile principale ale cii de date constau n selecia a unu sau dou registre
asupra crora opereaz UAL, de exemplu le adun i rezultatul se memoreaz ntr-unul dintre
registre.
Ciclul cii de date const n citirea operanzilor din registre i trimiterea lor prin magistralele
interne la unitatea UAL i la alte uniti funcionale pentru execuie.
Calea de date este controlat de un circuit de comand (command circuit), a crui sarcin
este s gestioneze toate activitile microprocesorului, ncepnd din momentul n care acesta este
alimentat cu curent i are semnal de tact.
Circuitul de comand genereaz toate semnalele de comand pentru activarea elementelor
interne i externe procesorului.
Operaiile principale ale circuitului de comand sunt:
-citete din memorie instruciunea;
-o decodific pentru a ntelege operaiile necesare execuiei;
-programeaz toate activitile interne i externe pentru execuia instruciunii.
Pe anumite calculatoare circuitul de comand este un program (soft) numit microprogram,
iar pe alte calculatoare (n special pe cele moderne) este implementat prin hardware.
Pe calculatoarele cu control software al cii de date, microprogramul este un interpretor al
instruciunilor de pe nivelul 2.
Interpretorul extrage, examineaz i execut instruciunile una dup alta, folosind pentru
aceasta calea de date. Operaiile logice pe care le poate executa sunt: SI, SAU, SAU EXCLUSIV,
COMPARATIE i COMPLEMENTARE.
Cu toate c setul de operaii pare foarte restrns, dac se cunote ndeajuns bazele analizei
numerice se pot programa calcule tiinifice foarte complexe. Totul const n cunotinele
matematice ale programatorului i abilitatea programrii instruciunilor de baz.
Nivelul 2 reprezint un nivel numit nivelul arhitecturii setului de instruciuni sau nivelul
ISA - Instruction Set Arhitecture. Fiecare productor de calculatoare (microprocesoare) public un
manual pentru microprocesoarele pe care le fabric, numit " Manualul de referin al limbajului
192

CAPITOLUL 7. LIMBAJE DE PROGRAMARE

mainii". n manuale productorii detaliaz ntregul set de instruciuni pe care microprocesorul le


poate recunote i executa.
Nivelul 3 este un nivel hibrid n care cele mai multe instruciuni din limbajul de la acest
nivel, sunt instruciuni ale nivelului ISA.
O instruciune de pe un nivel poate aparine i altui nivel. De exemplu, sistemul de operare
DOS este scris n limbaj de asamblare 20% i n limbajul C 80%. La fel, sistemele de operare
Windows sunt scrise o parte n limbajul C++ i o parte n limbajul de asamblare.
n cadrul nivelului 3 exist un set de instruciuni noi, o organizare diferit a memoriei,
posibilitatea de executare concurent a dou sau mai multe programe precum i alte caracteristici.
Exista mai multe posibiliti de proiectare a nivelului 3 dect n cazul nivelurilor 1 i 2. Noile
operaii permise pe nivelul 3 sunt realizate de un interpretor care se execut pe nivelul 2, interpretor
numit sistem de operare.
Instruciunile de pe nivelul 3 care sunt identice cu cele de pe nivelul 2 sunt executate direct de
ctre microprogram (sau controlate hardware) i nu de sistemul de operare. Cu alte cuvinte unele
dintre instruciunile de pe nivelul 3 sunt interpretate de sistemul de operare iar altele direct de
circuitul de comand. Acest nivel este numit nivelul main al sistemului de operare (operating
system machine level). Primele trei niveluri sunt concepute n principal pentru execuia
interpretoarelor i translatoarelor necesare susinerii nivelurilor superioare. Aceste interpretoare i
translatoare sunt scrise de programatorii de sistem.
Nivelul 4 i cele superioare sunt destinate programatorilor de aplicaii care au de rezolvat o
problem specific. Alt diferen ntre nivelurile 1, 2, 3 i nivelurile 4 i 5 este natura limbajului
oferit. Limbajele main ale nivelurilor 1, 2 i 3 sunt numerice, programele scrise n aceste limbaje
sunt formate din serii lungi de numere care sunt convenabile pentru procesoare dar greu de neles
pentru oameni. ncepnd de pe nivelul 4 limbajele conin cuvinte i abrevieri pe nelesul oamenilor.
Nivelul 4. Limbajul de asamblare pe care l gsim la nivelul 4 este o form simbolic pentru
limbajul cod main. Acest nivel ofer programatorilor posibilitatea de a scrie programe pentru
nivelurile 1, 2 i 3 care nu sunt att de complexe ca limbajele de pe nivelul 5. Programele scrise n
limbaj de asamblare sunt nti traduse n unul din limbajele nivelurilor 1, 2 sau 3 i apoi interpretate
de microprocesor. Programul care efectueaz traducerea se numete asamblor.
Nivelul 5 este reprezentat de limbaje proiectate pentru a fi utilizate de programatorii de
aplicaii care au de rezolvat anumite probleme.
Astfel de limbaje se numesc limbaje de nivel nalt. Exist sute de astfel de limbaje, printre
cele mai cunoscute se numr BASIC, C++, Java, LISP, PROLOG, PASCAL .a.
Programele scrise n aceste limbaje sunt n general traduse pentru nivelurile 3 sau 4 de
translatoare cunoscute sub numele de compilatoare, dei exist i interpretoare.
n anumite cazuri nivelul 5 poate fi considerat un interpretor pentru un domeniu aplicativ
particular, de exemplu programul AUTOCAD scris n limbajul LISP sau MATHCAD scris n
limbajul C++.
Mulimea de tipuri de date, operaii i caracteristici ale fiecrui nivel se numete arhitectur.
Arhitectura se refer la acele aspecte care sunt vizibile pentru utilizatorul unui anumit nivel.
Diferitele caracteristici vzute de programator, de exemplu
ct memorie disponibil exist,
dimensiunea regitrilor,
lrgimea magistralei,
memoria secundar sunt pari ale arhitecturii.
Aspectele de implementare ca tehnologia cipurilor de memorie, nu fac parte din arhitectur.
Studiul proiecrii acelor pri ale unui sistem de calcul care sunt vizibile programatorului se
numete arhitectura calculatoarelor.
Un calculator este compus din dou pri principale:
- o parte hardware care este format din obiecte tangibile cum sunt: circuitele integrate,
plci imprimate, cabluri, surse de putere, memoriile, echipamente periferice i nu din idei abstracte
cum ar fi algoritmi sau instruciuni.
193

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

- o parte de software care const din: algoritmi (instruciuni detaliate care spun cum se poate
face un anumit lucru) i modelarea lor cu ajutorul limbajelor de programare, adic programe.
Programele pot fi memorate pe dispozitive de stocare a datelor, dar esena software-ului este
setul de instruciuni care formeaz programul i nu mediile fizice pe care acestea sunt memorate.
n cazul primelor calculatoare exist o diferen clar ntre hardware i software.
Cu timpul linia de demarcaie dintre cele dou a devenit foarte flexibil, n special datorit
adugarii, eliminrii sau compactrii unor niveluri odat cu evoluia calculatoarelor. Hardware-ul i
software-ul sunt logic echivalente.
Orice operaie executat prin software poate fi, de asemenea, construit direct n hardware, de
preferin dup ce este destul de bine neleas. Reversul este de asemenea adevrat: orice
instruciune executat de hardware poate fi simulat prin software. Decizia de a realiza anumite
funcii prin hardware i altele prin software se bazeaz pe factori cum ar fi costul, viteza, sigurana
n funcionare i schimbrile ulterioare avute n vedere, spre exemplu: module grafice implementate
hardware, reele neuronale implementate hardware sau o gam larg de module folosite pe
calculatoarele din tehnica militar.
7.3. GENERALITI DESPRE PROGRAMAREA CALCULATOARELOR
Lumea limbajelor de programare este indisolubil legat de evoluia, ntr-un interval de timp
destul de redus, al sistemelor de calcul electronice. Dependente de iniiativa i capacitatea omului
de a le structura capabilitile fundamentale, sistemele de calcul electronice nu se pot exprima dect
n prezena unor sisteme de comunicaie cu acesta.
Potenialul de calcul al unui sistem de calcul electronic, privit ca main fizic, poate fi
valorificat i chiar amplificat, cu ajutorul suportului oferit de mainile virtuale (sisteme de
operare, sisteme de gestiune a bazelor de date, limbaje de programare, medii vizuale de
programare, etc.)
Pentru a nelege relaia sistem de calcul - limbaj de programare, reamintim c, potrivit
arhitecturii von Neumann, un sistem de calcul electronic are componentele: sistemul de
introducere a datelor, unitatea central de prelucrare i comand, memoria principal, memoria
secundar i sistemul de extragere a rezultatelor.
Limbajul prin care se transmit datele ctre un sistem de calcul electronic, la nivelul cel mai de
jos se numete limbaj main. Alfabetul unui astfel de limbaj este format de simboluri aparinnd
mulimii {0,1}.
Enunurile formulate de cunosctorii limbajelor main i adresate unitii centrale de
prelucrare i comand n vederea decodificrii i execuiei se compun din ordine (comenzi)
destinate procesorului pentru a efectua, n ultim analiz, diverse calcule aritmetico-logice sau
transferuri de date ntre memoria principal i memoria secundar. Pentru a se mri productivitatea
n programare s-au specificat o serie de limbaje al cror alfabet coincide n mare parte cu alfabetul
limbajelor naturale, fcndu-se, prin aceasta, loc programrii simbolice, mult mai aproape de modul
de gndire al oamenilor dect programarea n limbaj main. n aceast categorie intr: limbajele de
asamblare, limbajele de programare de nivel nalt iar, mai recent, limbajele de programare vizuale.
Tendina permanent n definirea limbajelor de programare este de apropiere de limbajul
natural. Apropierea de modul de gndire al oamenilor a generat, implicit, o ndeprtare de modul n
care lucreaz un sistem de calcul electronic. Acesta este motivul pentru care un program scris ntrun limbaj care nu este limbaj main sufer un proces de translatare (de regul n mai multe etape)
de la codul surs la codul executabil de ctre unitatea central de prelucrare i comand al
sistemului de calcul electronic. Astfel c, ntr-un limbaj de programare de nivel nalt (categorie n
care intr i limbajul Pascal asupra cruia ne vom ndrepta atenia n continuare) drumul de la
enunul problemei pn la forma executabil a programului care o rezolv este similar celui descris:
enunul problemei
stabilirea algoritmului
prezentarea soluiei specificat n pseudocod
194

CAPITOLUL 7. LIMBAJE DE PROGRAMARE

codificarea soluiei specificat n pseudocod n limbajul de programare ales


editarea codului surs pentru gsirea soluiei
translatarea codului surs n cod executabil
execuia codului executabil i afiarea soluiei
n practica programrii operaia de translatare este realizat de nite "programe speciale"
numite compilatoare sau, uneori, interpretere. Datele de intrare pentru compilator sau interpreter
sunt reprezentate de codul surs al soluiei unei probleme (cod recunoscut de compilator sau
interpreter).
Etapele parcurse de codul surs pn la obinerea codului executabil cu ajutorul unui
compilator sunt :
Analiza lexical a programelor, are ca scop descompunerea codului surs n uniti lexicale
(numite token-uri) specifice limbajului recunoscut de compilator (cuvinte rezervate, identificatori,
constante, etc.).
Analiza sintactic, are ca scop verificarea corectitudinii sintactice a codului surs. Existena
acestei faze dovedete faptul c obinerea codului surs corect al unei aplicaii-utilizator este un
demers ntemeiat pe respectarea unor exigene de natur sintactic. Pentru nceptori aceste
exigene sunt percepute ca nite constrngeri care pot diminua drastic apetitul pentru exerciiul de a
realiza programe adevrate i utile.
Verificare semantic, se refer la anumite compilatoare care pot semnala situaii
contraproductive de genul: "tip de dat declarat i nefolosit, variabil declarat i nefolosit, etc".
Generare cod intermediar, reprezint n aceast faz, codul acceptat lexical, sintactic i
semantic este transformat n cod binar intermediar.
Optimizare cod i Generare cod executabil, sunt dou faze n urma crora, n cazul
compilatoarelor moderne (cum este cazul i la compilatorul Borland Pascal) se genereaz cod
executabil optimizat. Optimizarea codului se refer, n esen, la memoria RAM ocupat de cod
(lungimea codului generat, n octei) i la viteza de execuie a codului generat.
7.4. PROIECTAREA LIMBAJELOR DE PROGRAMARE
7.4.1. Procesul de creare a software-ului
Limbajele de programare sunt instrumente pentru scrierea de programe,iar prin proiectarea i
implementarea lor respect etapele componente ale acestui proces. Realizarea unui limbaj nou este
structural identic cu realizarea unei aplicaii software complexe, prin faze bine definite ale
procesului de creare .
1. Analiza i specificarea cerinelor - Orice aplicaie software este conceput pentru a veni
n sprijinul unui anumit grup de utilizatori poteniali. Cerinele sunt stabilite sub forma unui
document care trebuie s precizeze ceea ce trebuie s fac aplicaia respectiv i nu cum. La
elaborarea documentului particip att potenialii utilizatori, ct i specialitii n dezvoltarea de
software. Acest document conine specificaii privind manualele utilizator, studii de cost i
fezabilitate, cerine privind performanele .a.
2. Proiectarea i specificarea - De la cerinele specificate n faza precedent, echipa care
realizeaz aceast etap (proiectanii de software) realizeaz specificaiile de proiectare, care
identific fiecare modul al sistemului, precum i interfeele dintre module. Metodologia de
proiectare utilizat n aceast faz are o mare importan pentru alegerea limbajului de programare
utilizat n faza imediat urmtoare.
3. Implementarea - Aceast faz este singura n care este utilizat explicit un limbaj de programare. Implementarea nseamn scrierea de uniti de program corespunztoare modulelor
descrise n specificaiile de proiectare i editarea documentaiei corespunztoare. Rezultatul acestei
faze este un sistem implementat i documentat complet.
4. Certificarea - Scopul acestei etape este verificarea cerinelor impuse n prima etap i se
realizeaz de obicei prin testarea sistemului n raport cu fiecare cerin specificat, utilizndu-se o
195

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

baterie de teste, adic un set de programe (cnd este vorba de un limbaj de programare) sau un set
de exemple (cnd este vorba de o aplicaie oarecare) care acoper toate necesitile impuse. Din
punctul de vedere al testrii, nu se poate face o distincie clar ntre fazele 3 i 4. Astfel, este normal
ca n faza de implementare s se realizeze testarea la nivel de modul, efectuat de fiecare
programator, i parial testarea interfeelor inter-module (testarea de integrare), care se realizeaz
prin legarea ctorva dintre modulele aplicaiei. n faza de certificare se realizeaz testarea
sistemului, care verific sistemul n ansamblul su. Rezultatul acestei faze este un sistem verificat
i certificat complet, livrabil utilizatorilor.
5. ntreinerea - Dup intrarea n exploatare a aplicaiei, pot apare necesare modificri n
aceasta, provocate fie de detectarea unor erori nedepistate n faza 4, fie de dorina de a-i aduga noi
specificaii (cerine). De obicei, costul ntreinerii unei aplicaii ntrece costul tuturor celorlalte faze
(1-4) luate mpreun.
Toate fazele de dezvoltare a unui sistem software pot fi realizate cu ajutorul calculatorului. In
mod normal, faza de implementare necesit prezena calculatorului i a unui set de utilitare (editoare
de texte, asambloare, link-editoare, biblioteci), dar i n celelalte faze utilizarea calculatorului este
benefic, mrind productivitatea muncii.
n general, orice produs software trebuie s satisfac urmtoarele cerine:
- s fie fiabil;
- s fie uor de ntreinut;
- s se execute eficient.
7.4.2. Aspecte ale calitii softului
Toat lumea dorete ca programele s fie: rapide, fiabile, uor de folosit, lizibile, modulare,
structurate etc.
Calitatea produselor program se definete ca o compunere a mai multor trsturi, factori de
calitate care sunt factori externi i factori interni. Factorii externi de calitate sunt sesizai de cei care
interacioneaz direct cu produsul final i care cumpr produsul, contracteaz dezvoltarea i
ntreinerea lui. Factorii interni de calitate se pot detecta doar de ctre persoanele implicate n
procesul de dezvoltare de software.
Factorii externi de calitate sunt enumerai mai jos:
1. Corectitudinea, este abilitatea produsului de a executa exact sarcinile sale, n conformitate cu
cerinele i specificarea sa.
2. Robusteea, este abilitatea sistemului de a funciona chiar i n condiii anormale. Termenul
fiabilitate este folosit uneori n loc de robustee; trebuie precizat c fiabilitatea este un concept mai
general i se interpreteaz cel mai bine ca acoperind att corectitudinea ct i robusteea.
3. Extensibilitatea, este uurina cu care produsele software se pot adapta la schimbri ale
specificaiilor.
Dou principii sunt eseniale pentru mbuntirea extensibilitii:
a. Simplitatea proiectului: o arhitectur mai simpl va fi ntotdeauna mai uor de adaptat la
modificri dect una complicat.
b. Descentralizarea: cu ct sunt mai autonome modulele ntr-o arhitectur software, cu att
va fi mai mic numrul de consecine ale unei modificri simple; ea va trebui s afecteze
doar modulul n cauz sau un numr ct mai mic de alte module.
4. Reutilizabilitatea, este abilitatea produselor software de a fi reutilizate, n ntregime sau
parial, la noi aplicaii.
5. Compatibilitatea, este uurina cu care produsele software pot fi combinate ntre ele (pot
interaciona).
6. Eficiena, nseamn folosirea raional (buna folosire) a resurselor hardware ca:
procesoare, memorie intern i extern, dispozitive de comunicare.
7. Portabilitatea, este uurina cu care produsele software se pot transfera n diverse medii
hardware i software.
196

CAPITOLUL 7. LIMBAJE DE PROGRAMARE

8. Verificabilitatea, este uurina de elaborare a procedurilor de acceptare (n particular date de


test) i a procedurilor de detectare i trasare (transformare n erori) a cderilor (failures) n timpul
fazelor de validare i exploatare.
9. Integritatea, este abilitatea produselor software de a-i proteja componentele lor (programe, date, documente) fa de accese i modificri neautorizate.
10. Uurina n utilizare, se refer la nvarea utilizrii sistemului, operarea, pregtirea
datelor de intrare, interpretarea rezultatelor i recuperarea din situaii de eroare.
Factorii interni de calitate sunt strns legai de natura intim a procesului de elaborare a
produselor program, n mod esenial, aici contribuie:
- metodele de analiz i proiectare a produselor program;
- facilitile oferite de limbajele de programare folosite la implementare;
- aspectele organizatorice ale industriei soft;
Ca factori interni de calitate menionm:
1. Modularitatea. Structural, produsul program trebuie s fie alctuit din module, urmrindu-se
principiul descentralizrii.
2. Documentarea complet trebuie s clar i adus la zi pentru fiecare faz a ciclului de via a
programului.
Un limbaj de programare fiabil trebuie s posede urmtoarele caliti:
s permit o descriere ct mai natural a problemei care se rezolv, permind
programatorului s se concentreze asupra problemei, i nu asupra detaliilor de adresare, indexare;
s aib un grad de lizibilitate ct mai ridicat, adic un program s poat fi uor de descifrat
(sintactic i semantic) de oricine l consult;
s permit gestiunea excepiilor (depiri aritmetice, erori de intrare-ieire etc).
7.4.3. Criterii de proiectare a unui limbaj de programare
Exist 11 criterii de care trebuie s se in seama la proiectarea unui limbaj de programare:
1. O descriere sintactic i semantic bine definit.
Descrierea sintactic se poate realiza cu mai multe metode (forma Backus-Naur, grafele de
sintax, gramaticile context-free).
Semantica poate fi, la rndul ei, descris
interpretativ (engl. interpretive semantics) cu ajutorul unei maini abstracte,
axiomatic (engl. axiomatic semantics) atunci cnd se folosete un set de axiome, sau
denotaional (engl. denotational semanlics; programele sunt definite ca funcii matematice.
Descrierea interpretativ este util la implementarea limbajului, descrierea axiomatic este un prim
pas spre verificarea programelor, iar cea denotaional este folosit la studiul unui limbaj,
independent de implementri.
2. Fiabilitate, n afar de calitile enumerate, prin fiabilitate se mai nelege i faptul c
limbajul este proiectat astfel nct descurajeaz greelile de programare (att cele sintactice, ct i
cele de logic).
3. Traducere rapid. Prin intermediul programelor traductoare se realizeaz decodificarea
unui program surs i obinerea codului main corespunztor. Sunt dezvoltate multe metode de
analiz sintactic, n general aceast operaie de traducere realizndu-se ntr-unul sau mai muli pai.
4. Cod obiect eficient este un criteriu esenial pentru un compilator. Eficiena codului obiect
generat de un compilator este n strns legtur cu informaiile de care compilatorul dispune n
momentul compilrii. De exemplu, limbajul Pascal necesit cunoaterea tuturor detaliilor n faza de
compilare. Un limbaj se numete puternic tipizat (engl. strong typed) dac tipul tuturor expresiilor
este cunoscut la compilare. De obicei dac alocarea variabilelor se face static, atunci se poate
genera un cod eficient, pe cnd dac acest lucru este fcut dinamic (n timpul execuiei), atunci
eficiena codului scade, rmnnd mai multe aciuni de efectuat la momentul execuiei.
197

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

5. Ortogonalitatea, se refer la faptul c limbajul posed un numr relativ mic de elemente de


baz, independente, care pot fi aplicate ortogonal (elementele se pot utiliza independent sau
concatenate).
6. Independena de main, este un deziderat aprut odat cu conceptul de portabilitate,
concept care exprim proprietatea unui program surs de a putea fi implementat n medii hard i soft
diferite fr a fi supus modificrilor sau cel mult s fie supus unor modificri minime. Dificultile
ntlnite n realizarea acestei cerine sunt datorate ntre altele aritmeticii mainii, dimensiunii
cuvntului main i sistemului de codificare a caracterelor i instruciunilor main, precum i
sistemului de intrri/ieiri.
7. Demonstrabilitatea, reprezint cerina ca un limbaj s fie demonstrabil fiind strns legat
de aspectele privind corectitudinea programelor.
8. Consistena, a dou sau mai multe afirmaii reprezint compatibilitatea logic a acestora, n
limbajele de programare se urmrete consistena notaiilor folosite pentru operaii sau funcii cu
cele folosite n limbajul matematic.
9. Existena subseturilor. Ideea de baz a apariiei subseturilor este c nu se impune
cunoaterea ntregului limbaj atunci cnd se utilizeaz doar o parte din specificaiile lui. Exist ns i
dialecte ale unui limbaj. Toate aceste dialecte au n comun acelai subset al limbajului. Ele ns difer
prin ceea ce s-a adugat la acest subset, n special fiind vorba de instruciuni grafice sau de
generare a sunetelor.
10. Uniformitatea este conceptul dup care lucrurile similare trebuie s aib nelesuri similare,
sau, construcii asemntoare din punct de vedere sintactic trebuie s aib nelesuri ct mai apropiate.
11. Extensibilitatea, reprezint un motiv pentru care apare aceast cerin n general translatoarele
sunt forate s aleag, pentru un anumit obiect de un tip precizat, o reprezentare prestabilit, fapt care
contribuie la scderea eficientei codului.
Aceste 11 criterii trebuiesc considerate doar ca linii generale n proiectarea specificaiilor unui
nou limbaj. Domeniul de utilizare al limbajului respectiv poate s stabileasc prioritatea unora
dintre cerinele enumerate i eventuala renunare la altele.
Exist diverse soluii pentru realizarea unui nou limbaj de programare i pentru impunerea
cerinelor specificate. Compilarea rapid se poate obine utilizndu-se compilarea separat, adic
posibilitatea de a compila n momente de timp diferite pri separate (module) ale unei aplicaii.
Super-seturile Pascal ale firmei Borland (Turbo i Borland Pascal) utilizeaz module numite unituri care se compileaz separat.
Principalele dezavantaje al unui compilator optim sunt ncetineala i consumul sporit de
resurse. Nu exist o regul general n ceea ce privete etapele care trebuie parcurse pentru
proiectarea unui limbaj de programare. Horowitz recomand metoda celor 10 pai, ilustrat mai jos:
1. alegerea unui domeniu de aplicaii;
2. stabilirea unui comitet (grup) de proiectani ct mai mic;
3. definirea unor trsturi precise de proiectare;
4. distribuirea primei versiuni a proiectului unui grup restrns de persoane interesate;
5. revizuirea definiiei limbajului (dup primirea observaiilor de la 4);
6a. ncercarea de a realiza un prototip de compilator; sau
6b. ncercarea de a obine o definiie formal a semanticii limbajului;
7. revizuirea definiiei limbajului (a doua revizuire);
8. realizarea unui manual al limbajului, clar i concis, i distribuirea acestuia;
9. producerea unui compilator de calitate i distribuirea lui pe scar larg;
10. scrierea unor manuale de nvare (engl. primers), foarte clare, care s explice cum se
utilizeaz limbajul i care s conin un numr mare de exemple.
7.5. EVOLUIA l CLASIFICAREA LIMBAJELOR DE PROGRAMARE
Prin limbaj de programare nelegem o notaie sistematic prin care este descris un proces de
calcul. Rolul unui limbaj de programare este de a pune la dispoziia programatorilor construcii
198

CAPITOLUL 7. LIMBAJE DE PROGRAMARE

sintactice pentru organizarea calculelor. Procesul de calcul este constituit dintr-o mulime de pai
pe care o main i poate executa pentru a rezolva o anumit problem, pai care sunt exprimai n
comenzi elementare pe care maina (calculatorul) tie s le execute. Pentru descrierea procesului de
calcul este necesar cunoaterea setului de comenzi (instruciuni) al mainii la care ne referim.
7.5.1. Limbaj main. Limbaj de nivel nalt
Limbajul nativ al unui computer este aa-numitul limbaj main al tipului de calculator
respectiv, acest limbaj reprezentnd notaia la care calculatorul rspunde n mod direct.
Setul de comenzi elementare al unui calculator este constituit din:
- operaii aritmetice i logice;
- operaii de intrare-ieire;
- unele funcii speciale, numite funcii de control.
Comenzile i instruciunile limbajului main sunt scrise ntr-o form codificat, foarte
compact, fapt ce ngreuneaz foarte mult nelegerea textului surs. Din pcate, limbajul main
este foarte legat de arhitectura fizic a mainii, fiind constituit din succesiuni de codificri binare.
Datorit apropierii de main, executarea unei operaii complexe necesit scrierea unei
secvene lungi de instruciuni i comenzi.
Limbajul de asamblare al unui calculator face din acest punct de vedere un pas nainte prin
atribuirea de nume simbolice (aa numitele mnemonici) codificrilor operaiilor mainii, precum
i locaiilor de memorie asociate. Limbajele main i cele de asamblare se numesc limbaje de
nivel sczut.
Aceste limbaje sunt foarte departe de limbajul natural, aa c s-a cutat elaborarea altor
limbaje, mai apropiate de exprimarea natural. Rezultatul este ceea ce numim acum limbaje de
programare de nivel nalt (engl. high-level programming languages, echivalate uneori cu termenul
de limbaje de programare). Aceste limbaje utilizeaz notaii mai puin primitive dect limbajele
de asamblare, n care exprimarea aciunilor de urmat devine uoar, clar i concis.
Nivelul nalt are semnificaia unei distanri suficient de mari fa de nivelul de exprimare al
mainii. Un limbaj de nivel nalt mrete considerabil numrul celor ce vor utiliza echipamentele
disponibile la un moment dat. Putem spune c proiectarea i implementarea limbajelor de
programare este activitatea capital de a crei calitate depinde lrgirea comunitii
programatorilor care s poat realiza eficient dezvoltarea unor aplicaii de larg interes.
Orice notaie utilizat care este diferit de limbajul main nu poate fi executat direct, ea
trebuind s fie tradus n limbajul main al calculatorului gazd. Activitatea de traducere (numit
generic translatare) este preluat de programe specializate numite compilatoare (dac textul surs
iniial este scris ntr-un limbaj de nivel nalt) sau asambloare (dac textul surs este scris n limbaj
de asamblare).
Etapele tehnologiei de programare presupune trecerea de la codul unui program surs (PS)
scris ntr-un limbaj de programare, prin programul obiect (PO) la un program obiect executabil
(POE) care poate fi neles de calculator (fig.7.2.)
Operaia de traducere (translatare) corespunde transformrii progarmului surs n programul
obiect (fig. 7.2.b.).
Operaia de interpretare realizeaz direct trecerea din progarm surs n program obiect
executabil (fig. 7.2.c.) i este specific limbajelor cu program interpretor ca limbajul BASIC. Este
specific i operaiei de asamblare prin programul asamblor (cod main), obinndu-se un program
direct executabil, ca n cazul limbajului de asamblare (ASSEMBLER, M80).
Operaia de compilare corespunde unui program compilator ca n cazul limbajelor PASCAL,
C, FORTRAN (fig. 7.2.d.).
Execuia unui program se poate realiza n dou moduri :
- cu ajutorul unui COMPILATOR
199

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

dup verificrile de corectitudine, traduce programul n cod OBIECT, iar prin


operaia de ediie de legturi este convertit ntr-un program OBIECT EXECUTABIL
neles de main,
dup conversie programul poate fi utilizat independent, indiferent de limbajul n
care a fost scris.

Figura 7.2. a. etapele tehnologiei de programare, b. translatarea, c. interpretarea, d. compilarea.


n acest mod sunt realizate utilitarele cele mai performante.
- prin intermediul unui INTERPRETOR
conversia nu mai este necesar,execuia fcndu-se pe msura verificrii i traducerii
programului fr a mai iei din interpretor,
metoda nu este foarte eficient
Deficiene :
necesitatea ncrcrii limbajului n memorie la fiecare execuie,
viteza de lucru sensibil sczuta datorit diferitelor verificri i controale.
Datorit interpunerii compilatoarelor i asambloarelor este evident c odat cu creterea
claritii i accesibilitii, limbajele de programare de nivel nalt aduc cu ele i o scdere a
performanei de execuie fa de variantele de program scrise direct n limbaj main. Aceste scderi
se manifest pe dou planuri:
timp main cerut de procesul de compilare;
codul rezultat n urma translatrii este de obicei mai lung i necesit mai mult timp de
execuie dect varianta codificat direct n limbaj main.
Trecerea la utilizarea pe scar larg a limbajelor de nivel nalt a adus cu sine o caracteristic
foarte important a programelor scrise n astfel de limbaje: portabilitatea, adic posibilitatea ca
programele s fie rulate pe arhitecturi de calcul de tipuri diferite fr ca programele surs s fie
supuse unor modificri (sau cel mult s fie supuse unor modificri cu totul minore). Acest moment a
fost foarte important pentru dezvoltarea unei comuniti de programatori, pentru rspndirea softului i pentru crearea de biblioteci de programe reutilizabile.
Elementele eseniale pe care le promoveaz un limbaj de programare de nivel nalt sunt:
a. Modelul de calcul (computation model)
Reflect principiile de lucru ale programelor scrise n acel limbaj (am amintit n acest sens c
limbajele imperative promoveaz modelul de calcul von Neumann). Din acest punct de vedere un
limbaj poate reflecta prin modelul de calcul adoptat arhitectura mainii pe care ruleaz sau poate
reflecta o arhitectur diferit.
b. Tipuri de date i operaii
Calculatorul dispune de un set de tipuri de baz (ntreg, caracter, real). Este rolul limbajului s
pun la dispoziie mecanisme de generare a unor structuri combinate pe baza tipurilor de baz.
c. Faciliti de abstractizare
Funciile i procedurile reprezint abstractizri ale operaiilor i aciunilor necesare dintr-un
program. Definirea de noi tipuri de dat reprezint o alt utilizare a facilitilor de abstractizare: un
program poate defini tipul de dat coad, dup care acest tip de dat va avea acelai regim ca i tipul
predefinit tablou, spre exemplu.
200

CAPITOLUL 7. LIMBAJE DE PROGRAMARE

d. Verificare
Faza de compilare poate detecta pe lng clasicele erori de sintax o clas larg de erori
posibile la execuie: de exemplu, o incompatibilitate de tip (de exemplu, ncercarea de utilizare a unei
variabile ntregi pe post de variabil de tablou), chiar dac nu este o eroare tipic de sintax, face
parte din categoria erorilor de execuie detectabile n faza de compilare. Aadar, faza de translatare,
n ciuda unor dezavantaje menionate anterior, sporete sigurana programelor procesate.
Majoritatea limbajelor de nivel nalt (Pascal, C, Modula, FORTRAN, ALGOL, Oberon)
reflect la orice nivel acest principiu, din aceast cauz ele numindu-se limbaje dirijate de control
(control-flow languages), adic limbaje n cadrul crora execuia este dirijat de instruciuni de
control al execuiei (instruciuni care dirijeaz fluxul modificrilor celulelor de memorie la care
programul are acces). Dintre aceste instruciuni, rolul central l are instruciunea de atribuire, iar
limbajele dirijate de control se mai numesc i limbaje imperative (termen derivat din caracterul
"imperativ", tranant, ferm, al aciunii instruciunilor de atribuire). Un limbaj de programare
imperativ poate fi privit ca o extensie a tipului de arhitectur hard pe care se implementeaz, iar un
program poate fi privit ca o extensie a limbajului de programare respectiv.
7.5.2. Generaii de limbaje
Un sumar al evoluiei n timp a limbajelor de programare s-ar putea exprima astfel:
1954-1958 Limbaje de prima generaie (FORTRAN I, ALGOL58). Acestea au meritul de a fi
fcut pasul decisiv de la limbajul de asamblare la limbajele de nivel nalt.
1959-1961 Limbaje de generaia a doua (ALGOL60, FORTRAN II, Cobol, Lisp). Sunt
considerate limbaje stabile, durabile, care se utilizeaz intens i astzi. Influena ALGOL60 a fost
imens n dezvoltarea limbajelor Pascal, PL/1, Simula i Ada.
1962-1971 Limbaje de generaia a treia (PL/1, ALGOL68, Pascal, Simula). ALGOL60
reprezint un pas nainte fa de succesorii si. Limbajul PL/1 a combinat elemente de FORTRAN,
ALGOL i COBOL rezultnd un limbaj puternic, dar mult prea complex, deosebit de dificil de
nvat i de implementat, ncercarea limbajului ALGOL68 de a generaliza limbajul ALGOL60 a
fost caracterizat drept elegant dar neacceptat practic de marea mas a programatorilor. Limbajul
Pascal, dei cu un enorm succes din punct de vedere didactic, nu este considerat nici astzi suficient
de robust pentru utilizare la scar industrial.
1972-1979 Limbaje de generaia a patra (CLU, CSP, Ada, Smalltalk). Au avut o
rspndire i mai redus dect cele de generaia a treia, justificnd pe bun dreptate denumirea
acestei perioade drept "gol de generaie" (generation gap). Aceast perioad a fost ns o perioad de
cercetare intens i de reevaluare a obiectivelor proiectrii limbajelor de programare. Criza software
de la sfritul anilor '60 a condus la o schimbare de optic n acest sens, accentul cznd pe
structurare. La nivel micro acest lucru s-a fcut prin eliminarea instruciunilor goto i nlocuirea
lor cu instruciuni de tip while, iar la nivel macro s-a pus mare accent pe modularizarea programelor
prin utilizarea intensiv de funcii i proceduri i prin promovarea conceptului de abstractizare a
datelor.
1980-1990 Paradigme ale limbajelor de programare. Deceniul al noulea se caracterizeaz
printr-o intens activitate de cercetare, concentrat nu att pe studiul i dezvoltarea unor limbaje
particulare, ct pe studiul paradigmelor asociate claselor de limbaje. n acest sens, se remarc clasele
de limbaje funcionale, logice, orientate obiect i distribuite, ele reprezentnd i cele patru paradigme
de programare cel mai intens studiate la ora actual.
7.5.3. Paradigme de programare
Paradigmele de programare sunt colecii individualizate de caracteristici de evaluare i
criterii de abstractizare care determin i difereniaz clasele de limbaje de programare. Ca
exemple de astfel de criterii amintim structura programului, noiunea de stare a execuiei,
metodologia programrii etc.
201

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

n 1990 Wegner d urmtoarea clasificare relativ la paradigmele de programare acceptate i


la exponenii lor cei mai reprezentativi:
a. paradigma programrii procedurale i structurate. Este caracterizat prin faptul ca un
program este privit ca o mulime ierarhic de blocuri i proceduri. Exponent: ALGOL60.
b. paradigma programrii bazate obiect i orientat obiect. Un program este constituit dintr-o
colecie de obiecte care interacioneaz. Exponeni: Simula, Smalltalk, C++.
c. paradigma programrii concurente i distribuite. Execuia unui program este constituit din
aciuni multiple posibil a fi executate n paralel pe una sau mai multe maini. Execuia aciunilor
poate fi independent sau aciunile pot depinde una de alta, situaie n care este nevoie de primitive
de sincronizare i comunicare.
d. paradigma programrii funcionale. Un program este descris pe baza unor funcii de tip
matematic (n sensul lipsei efectelor secundare), utilizate de obicei recursiv.
e. paradigma programrii logice. Un program este descris printr-un set de relaii ntre obiecte
precum i de restricii ce definesc cadrul n care funcioneaz acele obiecte. Execuia nseamn aici
activarea unui proces deductiv care va furniza concluzii posibile pe baza datelor de intrare.
f. paradigma programrii la nivelul bazelor de date, Aciunile programului sunt dictate de
cerinele unei gestiuni corecte i consistente a bazelor de date asupra crora acioneaz programul.
Paradigmele prezentate nu sunt mutual exclusive. Astfel de limbaje se numesc sisteme
multiparadigm (MP).
Limbajele PL/1 i Ada reprezint dou bune exemple n acest sens, rezultatul fiind n ambele
cazuri un limbaj foarte complex care a slbit aplicabilitatea paradigmelor constituente printr-o
inadecvat generalizare a acestora.
Viitorul n aceast direcie este privit ca fiind al sistemelor distribuite cu independen
individual sporit (loosely coupled distributed systems), capabile sa suporte subsisteme MP
cooperante.
7.5.3.1. Ciclul de via i paradigmele dezvoltrii software
O greeal obinuit facut n privina software-ului este presupunerea c partea principal a
dezvoltrii software este programarea (codarea). Programarea (codarea) este doar o parte a
procesului de dezvoltare software. Muli ali pai sunt implicai n succesul dezvoltrii de software
pentru computere. Toi aceti pai poart denumirea de ciclu de via software.
Cea mai mare parte a modelelor ciclului de via software includ urmtoarele ase etape:
ingineria cerinelor, proiectare, codare, integrare, livrare i ntreinere. n continuare se vor descrie
fiecare dintre aceste procese.
Ingineria cerinelor. n timpul acestui proces, proiectanii i clienii se ntlnesc pentru a
discuta ideile pentru noul produs software. Proiectanii utilizeaz o varietate de tehnici pentru a
aprecia necesitile reale ale clientului. O asemenea tehnic este prototiparea rapid, n care se
construiete un model prototip care poate simula funcionarea software-ului dorit.
Procesul ingineriei cerinelor este complet cnd sunt scrise specificaiile pentru noul produs
software ntr-un document formal denumit documentul specificaiilor cerinelor.
Proiectarea. n timpul acestui proces proiectanii decid cum vor construi programul astfel
nct s satisfac cerinele prevzute n documentul specificaiilor cerinelor. Proiectarea
programului trece prin cteva stadii, n care se divide din ce n ce mai detaliat, constituind rafinarea
n pai i permite programatorilor s conduc complexitatea software-ului prin amnarea deciziilor
privind detaliile pentru a se concentra pe alte aspecte importante ale proiectrii. Cnd proiectarea
este complet, este nregistrat n documentul specificaiilor de proiectare.
Codarea n timpul acestui proces, echipele de programatori scriu codul pentru software.
Software-ul este mprit n uniti separate denumite module, datorit complexitii procesului de
codare. Aceste echipe sunt responsabile att pentru codarea modulelor lor, ct i pentru
documentarea adecvat a codului i pentru testarea acestuia n vederea asigurrii corectitudinii.
202

CAPITOLUL 7. LIMBAJE DE PROGRAMARE

Integrare. n timpul acestui proces, modulele individuale ale produsului software sunt
combinate pentru a forma produsul software. Deoarece modulele au fost dezvoltate separat,
testarea este cruciala pentru procesul de integrare. Chiar i n cazul unui proiect bun, este posibil
s existe imcompatibiliti ntre module.
Livrare n timpul acestui proces, proiectanii livreaz clientilor software-ul complet. De
obicei clienii vor realiza teste asupra software-ului pentru a determina dac satisface sau nu
cerinele din documentul specificaiilor cerinelor. O dat software-ul acceptat, acesta este instalat i
utilizat de ctre client.
ntreinere. n timpul acestui proces, software-ul sufer variate modificri dup livrare
pentru a repara erori, adaug noi funcionaliti, instaleaz software-ul pe noi platforme, sau
adapteaz software-ul la noi tehnologii. Dei s-ar parea c software-ul trebuie s fie finalizat nainte
de livrare, aceasta este departe de adevr.
Muli ani produsele software au fost realizate pe principiul programrii structurate,
metod care are la baz realizarea secvenial a operaiilor de calcul n conformitate cu principiul de
lucru al echipamentelor hardware ale calculatoarelor.
n acest gen de programe datele i programul sunt separate, ceea ce duce la necesitatea
scrierii de subrutine pentru realizarea driverelor, operaiilor cu date, multe task-uri. Task-urile
lucreaz serial i secvenial. Acest mod de realizare a software-ului se numete paradigma
procedural sau a programrii structurate.
Aceast paradigm are avantajul unui program compact, o execuie rapid i dejavantaje
cum ar fi slaba flexibilitate a programelor, reutilizare sczut, depanare dificil. Dintre toate procese
descrise, ntreinerea este dominant n privina costurilor din cadrul ciclului de via.
Deoarece costurile de ntreinere sunt att de importante (cca. 60-70%), muli proiectani
ncep s utilizeze metode de proiectare care duc la software care este mai uor de ntreinut. O
asemenea metod este paradigma programrii orientat pe obiect. Principala caracteristic a
acestei paradigme este cuprinderea n acelai task i a datelor i a funciilor ce lucreaz cu acestea,
formnd o clas de obiecte. n felul acesta programarea se face pe obiecte ctignd flexibilitate i
reusabilitate, dar devine mai abstract.
Au fost create multe modele diferite pentru a reprezenta ciclul de via software. Dei aceste
modele utilizeaz nume diferite pentru procesele ciclului de via, toate includ cele ase procese
descrise mai sus. n plus, aceste modele de obicei accentueaz alte cteva aspecte ale dezvoltrii
software, cum ar fi : o anumit tehnic de proiectare (de exemplu, prototiparea rapid), tehnici de
management (de exemplu, managementul riscului) sau modelul descrie un domeniu limitat de
dezvoltare software (de exemplu, software n timp-real).
7.5.3.2. Paradigma programrii structurate
Probabil cea mai cunoscut metod a dezvoltrii de software este paradigma programrii
structurate. Brookshear n 1997 a spus ca paradigma programrii structurate "reprezint abordarea
tradiional a procesului de programare. ntr-adevr, paradigma programrii structurate este cea pe
care se bazeaza un ciclu CPU "fetch-decode-execute" (preia-decodific-execut). Aa cum spune i
numele, paradigma programrii structurate definete procesul de programare ca fiind o dezvoltare
de succesiuni de comenzi care, atunci cnd sunt urmate, manipuleaz datele pentru a produce
rezultatul dorit." Se observ c paradigma programrii structurate abordeaz dezvoltarea de
software ntr-o manier care se potrivete cu hardware-ul de baz al unui calculator PC. Procesorul
computerului lucreaz prin preluarea unei singure instruciuni, interpretarea i apoi executarea
acesteia. Paradigma programarii structurate se potrivete acestei arhitecturi prin faptul ca ghideaz
dezvoltarea de software astfel nct s aib o logic secvenial. Ca rezultat, programele structurate
pot fi urmrite de la nceput pn la sfrit astfel nct ntreaga logic a programului este o serie de
instruciuni.
203

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Aceasta conduce la programe cu eficien mare n execuie. Conform paradigmei structurate


problema se descompune mai nti n subtask-uri, ntreaga proiectare este divizat n uniti logice
care reprezint module i subrutine.
O dat realizat descompunerea proiectrii n sarcini, programele individuale sunt codate,
testate i integrate pentru a forma un nou modul.
Una dintre caracteristicile de baz ale software-ului proiectat prin paradigma programrii
structurate este logica secvenial, fluxul programului poate fi urmrit de la nceput pn la sfrit.
n paradigma programrii structurate relaia dintre modulul apelant i subprogramul apelat este
ntodeauna secvenial.
7.5.3.3. Paradigma programrii orientate pe obiecte
O alt paradigm important a dezvoltrii sfotware este paradigma programrii orientate pe
obiecte. n timp ce paradigma programrii structurate se bazeaz pe task-uri, adic se concentreaz
asupra aciunilor pe care trebuie s le realizeze software-ul, paradigma programrii orientate pe
obiect se bazeaz pe task-uri i pe date. Astfel, paradigma programrii orientate pe obiect grupeaz
mpreun date i task-uri relavante n entiti cunoscute ca obiecte. S considerm exemplul unei
liste de numere. Dup cum spune Brookshear, "n paradigma programrii structurate tradiionale,
aceast list este considerat doar o colecie de date. Orice program care acceseaz aceast list
trebuie s conin algoritmii pentru realizarea manipulrilor necesare. Astfel, lista este pasiv n
sensul c este ntreinut de ctre un program de control i nu are responsabilitatea de a se ntreine
singura."
Paradigma programrii orientate pe obiecte trateaz lista i operaiile asociate ca o entitate
cunoscut, ca un obiect. Brookshear spune c: "n paradigma programrii orientate pe obiect, lista
este considerat un obiect cuprinznd lista mpreun cu o colecie de rutine pentru manipularea
listei. Acestea pot include rutine pentru introducerea unui nou element n list, detectarea dac lista
este goal i sortarea listei. n schimb, programul ce acceseaz aceast list nu trebuie s conin
algoritmii pentru realizarea acestor task-uri, deoarece utilizeaz rutinele obiectului. ntr-un fel, n
loc s sorteze lista ca n paradigma programrii structurate, programul cere listei s se sorteze
singur". Astfel, paradigma programrii orientate pe obiecte se bazeaz pe task-uri deoarece
lucreaz cu operaii cum sunt introducreea unui nou element n list sau detectarea dac lista este
goal. Oricum, se bazeaz i pe date deoarece aceste operaii sunt grupate mpreun cu datele
relevante.
Un obiect generic din paradigma programrii orientate pe obiecte conine date private care
corespund listei i metode ce corespund opearaiilor cu lista cum ar fi introducerea unui nou
element n list, detectarea dac lista este goal i alte operai asupra listei. Nu toate obiectele vor
folosi o lista pentru organizarea datelor sale. Unele obiecte pot conine doar tipuri de baz de date
cum ar fi intregi, caractere, numere reale, n timp ce alte obiecte pot conine tipuri coplexe de date
cum ar fi arbori sau grafuri.
Metodele obiectului pot fi operaii care acceseaz sau manipuleaz date privateale obiectului.
Programele care doresc s utilizeze un obiect pot accesa metodele obiectului printr-o interfa.
Interfaa specific modul de transmitere a unui mesaj la obiect, adic o cerere pentru realizarea unei
anumite operaii.
n continuare se prezint cteva definiii de baz care sunt importante pentru paradigma
programrii orientate pe obiecte.
Obiect = o colecie de date private i un set de operaii care pot fi realizate cu datele.
Metoda = o operaie de accesare sau manipulare a datelor dintr-un obiect.
Mesaj = o cerere de realizare a unei anumite aciuni de ctre un anumit obiect.
Interfaa = o colecie de metode care specific modul de trimitere a mesajele ctre un obiect.
ncapsulare = utilizatorul vede doar serviciile care sunt disponibile pentru un obiect, nu i
modul n care sunt implementate acestea.
204

CAPITOLUL 7. LIMBAJE DE PROGRAMARE

Ideea de ncapsulare presupune ca obiectul poate fi privit din dou perspective diferite. Aceste
perspective sunt denumite perspectiva abstract i perspectiva implementrii.
Perspectiva abstract este ceea ce utilizatorul vede atunci cnd utilizeaz obiectul. Din aceast
perspectiv intefaa obietului este vizibil dar sunt invizibile detaliile privind modul n care obiectul
i execut metodele sau i stocheaz datele private.
Perspectiva implementrii este ceea ce vede proiectantul obiectului. Din aceast perspectiv
sunt dezvluite toate detaliile. n timp ce aceste detalii sunt importante pentru proiectantul
obiectului, utilizatorii acestuia nu au nevoie de ele. De fapt, ar fi mult mai bine ca celelalte module
software s nu exploateze cunotiintele speciale despre modul de implementare a obiectului, pentru
cazul n care proiectantul decide ulterior s modifice modul de implementare al obiectului. De
exemplu, proiectantul poate decide s utilizeze un al tip de date pentru a stoca datele private.
Aceast modificare nu trebuie s afecteze modulele care utilizeaz obiectul deoarece acestea
acceseaz datele doar prin interfaa obiectului. Atta timp ct interfaa obiectului rmne aceeai,
proiectantul poate modifica modul de implementare fr nici un risc asupra celorlalte module care
utilizeaz obiectul. Aceast flexibilitate este un avantaj major pe care ncapsularea l confer
paradigmei programarii orientate pe obiecte.
Proiectele care incorporeaz ncapsularea sunt mult mai uor de intreinut dect cele care nu
fac nici o separare ntre interfa i implementare.
Pe lng obiecte, exist alte dou concepte fundamentale pentru programarea orientat pe
obiecte, i anume: clasele i motenirea. Clasele sunt un mod de specificare de tipuri abstracte de
date n paradigma programrii orientate pe obiecte. Clasele difer de conceptul tradiional de tipuri
abstracte de date prin aceea c au motenire. Moetenirea permite definirea de noi tipuri de date
(adic clasele) ca extensie la tipurile de date definite anterior.
Pentru a ilustra aceste noi concepte vom considera obiectul list, care stocheaz o list de
numere i permite realizarea de operaii uzuale cum ar fi inserarea unui numr, tergerea unui
numr i sortarea listei. n general, n proiectare adesea sunt necesare mai multe liste. Un singur
obiect list nu poate stoca datele din toate listele. Dar toate listele realizeaz aceleai operaii, deci
sunt strns legate ntre ele. Pentru a rezolva aceast problem, proiectantul are nevoie de un tip de
date list care va servi drept ablon pentru crearea tuturor obiectelor list. Utiliznd tipul de date
list, proiectantul poate crea obiecte list multiple, care au acelai comportament dar au date private
proprii. n paradigma programrii orientate pe obiecte, un asemenea tip de date este denumit clas.
Clasa List specific cerinele de stocare pentru datele private ale fiecrui obiect list i clas. List
definete i comportamentul obiectelor prin specificarea metodelor pe care le va folosi fiecare
obiect pentru a accesa i manipula datele sale private. O dat ce proiectantul a completat clasa List,
el poate utiliza aceast clas pentru a crea multe obiecte list similare. Crearea unui nou obiect list
este numit instaniere. Fiecare obiect al listei care este instaniat este diferit de celelalte obiecte
list i are spaiul su propriu pentru stocarea datelor private.
Utiliznd clasele este posibil modelarea unei mari varieti de entiti, nu doar structurile
simple de date prezentate pn acum.
Datele private pentru clase se compun din diverse atribute care sunt specifice doar unor clase.
Metodele ca i atributele sunt specifice anumitor clase. O soluie mai bun ar fi abstractizarea
caracteristicilor commune ntr-o clas separat care poate servi ca i clas de baz pentru mai multe
clase. Acest mod de abordare a proiectrii se numete motenire.
Se creaz o nou clas abstractiznd atributele i metodele commune.
Nu trebuie s se fac confuzie ntre motenire i instaniere. Motenirea nseamn o relaie
ntre diferite clase n timp ce instanierea nseamn crearea unui obiect dintr-o clas.
7.5.3.4. Comparaie ntre paradigmele programrii
Cele dou paradigme majore ale programrii, i anume: paradigma programrii structurate i
paradigma programrii orientate pe obiecte urmeaz s fie comparate fiind scoase n eviden
205

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

punctele forte i punctele slabe ale fiecreia. Ambele paradigme sunt apreciate n concordan cu
cele ase caracteristici ale calitii software-ului.
Se spune ca o paradigm a programrii este caracterizat prin viziunea sa asupra procesului de
descompunere. Procesul de descompunere se refer la modul n care o anumit paradigm divide
proiectul n uniti logice. Paradigma programrii structurate are o abordare orientat pe task-uri,
care-i ncepe sprijinul pentru procesul de proiectare atunci cnd se propune o soluie pentru
problema pus. Soluia propus este descompus ntr-o secven de task-uri. Aceste task-uri
formeaz blocurile de baz pentru o aplicaie structurat. Aceasta nseamn c paradigma
programrii structurate ncepe doar dup ce proiectantul a identificat o soluie posibil. Aceasta
soluie este apoi descompus n diferite module i submodule logice (funcii i proceduri) n
concordan cu aciunile pe care le realizeaz. O dat ce este implementat proiectul, execuia taskurilor poate fi urmrit foarte uor de la nceput pn la sfrit.
Paradigma programrii orientate pe obiecte asigur ciclul de via complet al dezvoltrii
software de la analiz la proiectare. Paradigmele programrii structurate asigur doar paii de
proiectare i codare deoarece trebuie specificat o soluie ppotenial nainte de a putea ncepe
descompunerea n task-uri. Paradigma programrii orientate pe obiecte nltur aceast restricie
asigurnd o abordare cuprinztoare a dezvoltrii software. Paradigma programrii orientate pe
obiecte asigur o abordare din punct de vedere al modelului. Modelul este construit prin privirea
domeniului problemei ca un set de entiti care interacioneaz mpreun cu relaiile dintre ele.
Entitile sunt modelate prin proiectarea de clase pentru a instania obiecte.
Relaiile dintre obiecte sunt modelate prin motenire i prin mecanismul de comunicare prin
transmiterea de mesaje. n timp ce programele proiectate cu paradigma programrii structurate sunt
de fapt o secven de task-uri, programele proiectate cu paradigma programrii orientate pe obiecte
sunt un set de obiecte care interacioneaz ntre ele prin transmiterea de mesaje.
Cele ase caracteristici ale calitii software asigur un alt mod prin care inginerii software s
aprecieze elementele pro i contra pentru paradigmele programrii.
Utiliznd aceste caracteristici, inginerii software ncearc s rspund la ntrebarea: "Aceast
paradigm a programrii produce software care este mai mentenabil, mai fiabil, mai portabil etc?"
Mentenabilitate - Uuina cu care se pot face modificri care s satisfac noile cerine sau s
corecteze deficienele.
Corectitudine - Gradul n care software-ul corespunde cerinelor specificate.
Revalorificare - Uuina cu care poate fi reutilizat software-ul la dezvoltarea altor produse
software.
Fiabilitate - Frecvena eurilor software-ului i ct de critice sunt aceste euri. Euare este
un efect sau comportare neacceptabil aprut n condiii de operare normale.
Portabilitate - Uuina cu care poate fi folosit software-ul pe alte configuraii de computere
dect cea curent.
Eficiena - Gradul n care software-ul i satisface scopul fr pierdere de resurse.
Mentenabilitatea. Majoritatea proiectelor orientate pe obiecte sunt mai mentenabile, avantaj
datorat n parte faptului ca paradigma programarii orientate pe obiect foreaz proiectanii s creeze
obiecte ncapsulate. Incapsularea nseamn c interfaa obiectului este separat de implementarea
obiectului. Asemenea separare este foarte binevenit deoarece multe pri ale programului pot
depinde de o anumit interfa. Dac trebuie fcute modificri n interfa, atunci vor trebui fcute
multe modificri n tot programul. O proiectare orientat pe obiecte bun va minimiza modificrile
care trebuie fcute n interfa. Aadar, mentenana este localizat n implementarea unui anumit
obiect.
Corectitudinea se testeaza prin verificare i validare. Verificarea rspunde la ntrebarea
"Construim cum trebuie software-ul?" n timp ce validarea rspunde la ntrebarea "Construim
software-ul care trebuie?". Exist diferite tehnici de realizare a verificrii i validrii software i
aceste tehnici sunt aplicabile ambelor paradigme. Oricum, Schach spune "afirmaia c utiliznd
paradigma programrii orientate pe obiecte se reduce necesitatea de testare este foarte adevrat".
Aceasta deoarece motenirea permite reutilizarea software-ului care a fost deja testat. Aadar,
206

CAPITOLUL 7. LIMBAJE DE PROGRAMARE

paradigma programrii orientate pe obiecte poate contribui la dezvoltarea de software corect prin
reducerea numrului de teste necesare.
Revalorificare. Evident paradigma programrii orientate pe obiecte ofer suport pentru
reutilizarea software-ului mai mult dect paradigma programrii structurate. n paradigma
programrii structurate pot fi reutilizate module sau subprograme, dar nu exist nici o metod care
s necesite sau mcar s ncurajeze reutilizarea software. Din contr, paradigma programrii
orientate pe obiecte ofer suport pentru reutilizare prin motenire. Motenirea nsi este reutilizare,
definirea de noi clase ca extensii la clasele definite anterior.
Fiabilitatea, este rezultatul unei bune proiectri software mai mult dect al unei paradigme a
programrii. Astfel, programele structurate care sunt bine proiectate vor fi la fel de fiabile ca cele
orientate pe obiecte dac sunt bine proiectate. Oricum, este important de luat n considerare care
paradigm conduce la proiecte mai bune. Dac paradigma programrii orientate pe obiecte ofer
suport pentru ntregul proces de dezvoltare (analiz, proiectare, implementare ), atunci s-ar prea c
aceast paradigm va ajuta la producerea de proiecte mai bune i mai fiabile. ns, aceasta este o
legtur indirect. Utiliznd paradigma programrii orientate pe obiecte nu se ofer nici o garanie
ca proiectul realizat va fi fiabil. Trebuie inut cont i de faptul c fiabilitatea se msoar adesea prin
durata medie a reparrii unei erori software. Dac software-ul orientat pe obiecte este ntr-adevar
mai mentenabil, atunci este normal s ne ateptm ca aceste software s fie mai uor de reparat i
astfel mai fiabil.
Portabilitatea la fel ca fiabilitatea, nu depinde chiar de paradigma utilizat pentru crearea
software-ului. Portabilitatea unui produs software este afectat mai mult de limbajul de programare
folosit pentru implementarea software-ului i de constrngerile platformei harware pe care ruleaz
software-ul. Astfel portabilitatea unui produs software nu este influenat prea mult de alegerea
paradigmei de programare.
Eficiena. n timp ce paradigma programrii orientate pe obiecte asigur suport mai bun
pentru crearea de software mentenabil, reutilizabil i corect, toat lumea este de acord c paradigma
programrii structurate asigur suport mai bun pentru software eficient. Logica unui program
structurat este cea a suportului hardware pe care ruleaz. Software-ul const dintr-o secven de
task-uri logice i hardware-ul execut o secven de instruciuni. Programele orientate pe obiecte
necesit mai multe instruciuni care s implementeze motenirea i transmiterea mesajelor.
7.5.3.5. Programarea structurat
Prin programarea structurat se urmrete :
- utilizarea judicioas a resurselor umane i resurselor calculatorului,
- reducerea duratei de realizare a produselor program,
- creterea fiabilitii i portabilitii programelor,
- standardizarea activitii de programare prin utilizarea unui limbaj unic i precis de
proiectare,
- elaborarea n mod unic i unitar a documentaiei,
- sporirea posibilitilor de pregatire a cadrelor n domeniul programrii,
- existena unei baze tiinifice de demonstrare teoretic i practic a fundamentelor
programrii.
Principale conceptele n domeniul programrii structurate sunt:
- proiectarea top - down,
- proiectarea modular,
- proiectarea structurat.
Proiectarea top - down, presupune descompunerea n manier descendent a problemei n
subprobleme sau funcii de prelucrare care pot fi tratate independent, pn la obinerea unor rutine
sau module primitive care conin operaii ce pot fi comandate prin instruciuni.
n urma descompunerii se obine o structur arborescent n care blocurile, indiferent de tipuri
i de probleme au urmtoarele funcii :
207

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

iniializri,
introducere / extragere de date,
prelucrri,
prelucrri finale.
Este necesar s fie ndeplinite dou condiii:
s cunoasc sistemul de calcul pe care lucreaz (minimum de cunotine hard i cunotine
ct mai ample despre capabilitile oferite de sistemul de operare gazd);
s aib deprinderea de a gndi algoritmic; deprindere strict necesar pentru a face un pas
spre obinerea unei soluii de calitate problemei n cauz.
Aceste condiii, pot fi ndeplinite dac utilizatorul are nite noiuni minime de arhitectura
sistemelor de calcul, de algoritmic i de iniiere n utilizarea unui sistem de operare.
Pentru a scrie programe bune mai sunt i alte cerine de ndeplinit. Este vorba, mai ales n
cazul problemelor a cror complexitate este semnificativ, de necesitatea unei strategii de elaborare
a soluiei care s asigure:
mijloace de stpnire a complexitii att n ceea ce privete organizarea datelor ct i
referitor la identificarea prelucrrilor aferente acestora;
corectitudinea codului surs obinut (abilitatea codului executabil asociat de a ndeplini
toate sarcinile definite n faza de specificare ;
extensibilitatea codului surs obinut (posibilitatea de a adapta acest cod surs la modificri
i cerine noi); .
eliminarea rendundanelor, prin care nelegem efortul de minimizare a codului necesar
pentru a obine o funcionalitate dat;
Robusteea codului surs elaborat (abilitatea codului executabil asociat de a reaciona adecvat
n condiii anormale de exploatare). O strategie verificat n practica programrii, de ndeplinire a
cerinelor de mai sus, poate avea la baz principiul modularizrii, potrivit cruia problema iniial
(de complexitate semnificativ) se descompune n subprobleme; acest proces de descompunere
poate fi aplicat i subproblemelor, pn cnd gradul de detaliere este satisfctor din punctul de
vedere al posibilitilor de codificare n limbajul ales. Acest procedeu de obinere a soluiei se
numete proiectare top-down (top-down design) iar fiecare treapt a procesului de descompunere se
numete rafinare succesiv (stepwise refinement). Produsele acestui proces de proiectare se numesc
module. Relaiile dintre modulele astfel identificate pot fi ilustrate grafic. Este vorba de relaiile de
subordonare ntre module situate pe nivele de descompunere diferite i de relaia de succesiune ntre
modulele subordonate aceluiai modul ierarhic superior.
Pentru o rezolvare corect a problemelor se recomand urmtorul set de reguli, fcute pentru a
ajuta gndirea nu pentru a o nlocui:
Analizeaz problema.
Gsete algoritmii.
Scrie codul surs.
Execut programul cu date de test i date reale.
Verific rezultatele.
Documenteaz programul.
Ca metodologie de proiectare se folosete des metoda FIFO (Hierarhical Input Processing
Ouput), impune ca structur global a sistemului s fie oglindit de o diagram sintetic.
proiectarea top - down, este nnsoit de o codificare i o testare top-down.
codificarea top - down ofer posibilitatea scrierii unui modul nainte de a se proiecta
modulele de nivel inferior i se poate realiza i documentaia programului o dat cu scrierea
acestuia.
testarea top - down const n ierarhizarea operaiilor de sus n jos: se porneste cu modulul
radacin i cu unul sau mai multe nivele de ordin imediat inferior, se continu cu ataarea altui nivel
inferior, pn cnd s-au inclus n testare modulele ultimului nivel.
208

CAPITOLUL 7. LIMBAJE DE PROGRAMARE

Proiectarea i programarea modular, const n descompunerea sistemelor (programelor)


n module intercorelate n conformitate cu o ierarhie bine precizat.
Tehnica modularizrii presupun :
identificarea funciilor sistemului, printr-o analiz top-down,
stabilirea legilor de structur prin prospectarea legturilor dintre module
Modularizarea a impus o metodologie adecvat de proiectare i realizare a sistemelor
informatice i a programelor, precum i unele faciliti de definire, utilizare, corectare, asamblare i
catalogare a modulelor
Etapele sunt urmtoarele:
Analiza problemei i ntocmirea listei funciilor acesteia
Definirea modulelor aferente funciilor, atribuirea de semne acestora i
ntocmirea schemei ierarhizate dintre modulele
Analiza posibilitilor de utilizare a modulelor existente din alte sisteme, programe sau
pachete de programe
Stabilirea interfeelor dintre module
Organizarea echipei de realizare a proiectului i repartizarea sarcinilor
Proiectarea i realizarea modulelor
Testarea modulelor
Implementarea modulelor
Proiectarea i programarea structurat, const dintr-o mulime de restricii i reguli care
foreaz programatorul s urmeze o forma strns, eliminindu-se n acest fel muli factori care
conduc la erori i care complic nelegerea programului
Programarea structurat, este modalitatea de ordonare a activitii mentale desfasurat n
scopul obinerii de programe constituite din structuri fundamentale: secvena, alternana, iteraia, cu
grad de structurare ct mai mare i n condiiile minimizrii efortului de programare, dar obinerii
unui produs de cea mai bun calitate.
Printr-o programare empiric se pot obine programe slabe, greu de neles i de depanat.
n schimb printr-o programare disciplinat se obin programe puternice, uor de depanat i
nsoite de documentaia corespunztoare.
Programarea disciplinat se efectueaz respectnd o anumit tehnologie care cuprinde etapele:
1. analiza
2. proiectarea
3. codificarea
4. implementarea, modificarea, rularea, ntreinerea
Schema etapelor tehnologice ale unui program este prezentat n figura 7.3., iar ca
documentaie se menioneaz fazele:

Figura 7.3. Schema etapelor tehnologice ale unui program


1. specificaia
2. proiectul
3. programul scris ntr-un limbaj.
Analiza problemei de rezolvat presupune parcurgerea etapelor (cerinelor):
209

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

ce se dorete s se obin stabilirea obiectivelor,


se stabilete structura datelor de intrare i ieire,
modul de afiare,
se stabilete tabelul de variabile,
se descriu funciile programului.
Prin tabelul de variabile se ine cont s fie lmurite toate constantele i variabilele ce vor fi
utilizate la rezolvarea problemei. Sunt prezentate variabile de intrare, variabile de stare (intermediare)
i variabile de ieire (rezultatele). Se vor meniona att notaiile, definirile variabilelor, ct i unitile
de msur ale acestora sub care le ntlnim n relaiile de calcul (tab. 7.1.).
Tabelul 7.1.
TABELUL DE VARIABILE
-------------------------------------------------------------------------------------------------Variabile de intrare
Variabile de stare
Variabile de ieire
-------------------------------------------------------------------------------------------------V - volum [m3]
LU - lungimea [mm]
VN - volum net [m3]
LA - limea [mm]
CU - coeficient de
S - suprafaa [m2]
G - grosimea [mm]
utilizare
SIGMA - efort unitar [N/m2]
--------------------------------------------------------------------------------------------------Specificaia de programare conine:
- datele de intrare,
- datele de ieire,
- tabelul de variabile.
Proiectarea duce la stabirea algoritmului de calcul.
Algoritmul const dintr-o secven finit de operaii, ordonat i complet definit care
pornind de la date (intrare) produce rezultate (ieiri).
Proprietile algoritmilor sunt:
1. s fie bine definit - adic operaiile s fie specificate riguros i fr ambiguitate,
2. s fie descris foarte exact, aa nct o main programabil s-l poat realiza,
3. s fie efectiv, adic s se termine dup efectuarea unui numr finit de (pai) operaii,
4. s fie universal - adic s permit rezolvarea unei clase de probleme.
Instrumente de lucru sunt:
diagrama de structur (sintax),
schema logic,
limbajul pseudocod.
Diagrama de structur sau diagrama de sintax se refer la ncadrarea simbolic a unei
structuri cu forme specifice pentru ca pornind de la o form general s poat fi particularizat orice
structur particular a unui algoritm transpus n program ntr-un anumit limbaj.
Schema logic este reprezentarea grafic a algoritmului folosind diferite blocuri care indic
tipul operaiei care se efectueaz ca n tabelul 7.2., respectiv blocuri de: intrare, ieire, atribuire,
decizie, apel de procedur, conectori.
Limbajul pseudocod descrie algoritmul prin cuvinte cheie, folosind anumite enunuri:
- standard - conin cuvinte cheie
- nestandard - conin texte ce descriu anumite activiti i ncep cu simbolul asterix *
- comentarii - se descrie * text *
- cuvinte cheie ale limbajului pseudocod:
CITETE
SCRIE
ATRIBUIE
REPET ... PN CND
CT TIMP...EXECUT
PENTRU ... EXECUT
210

CAPITOLUL 7. LIMBAJE DE PROGRAMARE

DAC ...ATUNCI ... ALTFEL


PROCEDURA ESTE
Tabelul 7.2.
Blocurile utilizate n schemele logice

Sintaxa limbajului pseudocod nu este rigid, ns disciplinarea scrierii este binevenit,


sporind claritatea descrierii algoritmului
Semantica limbajului pseudocod este de obicei vag precizat de cuvintele cheie folosite n
limbaj i de conveniile ce i le asum proiectantul
Limbajul de programare este un intermediar ntre realitatea reprezentrilor utilizatorului
asupra problemelor de rezolvat i realitatea calculatorului cu care se lucreaz.
Utilizatorul trebuie s priveasc fiecare element al limbajului, din dou puncte de vedere :
LOGIC - cel al problemei,
FIZIC - cel al implementrii.
Utilizatorul este confruntat cu 3 universuri distincte :
a - universul problemei,
b - universul limbajelor de programare,
c - universul calculatorului.
Definiia unui limbaj conine Sintaxa, Semantica i Pragmatica
Sintaxa este mulimea regulilor ce descriu mulimea tuturor propoziiilor (succesiunea de
semne) din limbaj.
Semantica reprezint o mulime de reguli ce determin sensul, nelesul fiecrei propoziii a
limbajului.
Pragmatica este format dintr-o mulime de reguli ce descriu formarea efectului propoziiilor
limbajului pentru un anumit receptor.
7.5.3.6. Evoluia limbajelor de programare
Prezentm n continuare aspectele importante din evoluia istoric a celor mai cunoscute
limbaje de programare, aspecte ce au menirea de a clarifica locul i rolul jucat de fiecare dintre
aceste limbaje de-a lungul timpului, n tabelul 7.2.
Limbajul Pascal apare spre sfritul anilor '60, dup introducerea a dou concepte noi:
generalitatea i ortogonalitatea limbajelor. Niklaus Wirth a realizat limbajul Pascal cu ideea de
baz urmrit la proiectarea acestui limbaj de operare cu un numr mic de concepte integrate, care s
fie compilabile ntr-un cod eficient. Printre atuurile Pascal-ului se numr:
- mecanismul de structurare a datelor, ce permite un nivel superior de abstractizare;
- existena unei definiii axiomatice a limbajului;
211

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

- mecanismul de verificare a programelor n faza de compilare.


Cu toate aceste avantaje, limbajul Pascal are i pri mai puin bune:
- nu este evitat alierea (engl. aliasing);
- utilizarea pointerilor nu este controlat strict, putnd rezulta erori grave;
- mecanismul de definire a tipurilor prezint anumite anomalii (toate tipurile enumerare sunt
ordonate; toate tipurile care sunt subdomenii de ntregi sunt considerate ntregi; nu este posibil
verificarea complet a compatibilitii tipurilor n faza de compilare, de exemplu n cazul tipului
record cu variante);
- imposibilitatea folosirii tablourilor cu dimensiuni variabile, lucru posibil de exemplu n
ALGOL68.
Tabelul 7.2.
Limbaje de programare

Primul compilator Pascal a fost realizat tot de Wirth n 1971. Limbajul PASCAL a devenit
lingua franca n mediul academic, el cptnd o larg utilizare datorit uurinei cu care se pot
realiza programe puternice i eficiente, utilizndu-se un set redus de concepte.
ncorporarea de mecanisme pentru descrierea proceselor paralele, datorat creterii volumului
aplicaiilor n timp real (sisteme de operare, sisteme de control al proceselor industriale, sisteme de
rezervri de locuri sau de gestiune bancar etc.), care necesit exploatarea simultan a mai multor
programe care au acces la aceleai resurse, numite n general procese. Pentru sincronizarea
proceselor s-au dezvoltat mai multe concepte, cum sunt: semaforul, monitorul implementat n
Pascalul Concurent i sincronizarea prin transmitere de mesaje.
212

CAPITOLUL 8. LIMBAJUL PASCAL

CAPITOLUL 8
LIMBAJUL PASCAL
8.1. ELEMENTELE DE BAZA ALE LIMBAJULUI PASCAL
Limbajele de programare reprezint unul din principalele mijloace de comunicare ommain, evoluia lor fiind nemijlocit legat de cea a calculatoarelor electronice, a cror er ncepe n
1944. Primele calculatoare puteau fi programate numai n limbaj main. La nceputul anilor 50, se
nregistreaz trecerea la programarea simbolic, prin apariia limbajelor de asamblare caracterizate
prin folosirea codurilor mnemonice pentru instruciuni i a adresrii simbolice a operanzilor.
8.1.1. Apariia, evoluia i caracteristicile generale ale limbajului
Apariia limbajului Pascal este un rezultat al conceptelor dezvoltate ca urmare a crizei
programrii ce caracteriz domeniul programrii calculatoarelor la sfritul anilor 60. n aceast
perioad, rspndirea pe plan mondial a prelucrrii automate a datelor a cunoscut o extindere
remarcabil, trecndu-se la abordarea i rezolvarea unor probleme din ce n ce mai complexe. Ca
rspuns la cerina de elaborare a unei metodologii generale de dezvoltare sistematic a programelor
s-a cristalizat metoda proiectrii i programrii structurate.
Un program structurat este constituit din uniti funcionale bine conturate, ierarhizate
conform naturii intrinseci a problemei. n interiorul unor astfel de uniti, structura se manifest att
la nivelul aciunilor (instructiunilor), ct i al datelor.
Programarea structurat este o metod independent de limbajul de programare, acionnd la
nivelul stilului de lucru. n 1968, profesorul elveian Niklaus Wirth realizeaz acest limbaj. Numele
limbajului a fost ales ca un omagiu adus marelui matematician, fizician, filosof i scriitor francez
Blaise Pascal (1623-1662), primul care, n 1642, a inventat o main de calcul. Dup o faz de
dezvoltare extensiv, un prim compilator devine operaional n 1970, limbajul fiind publicat n
1971. Interesul trezit de apariia sa a condus la necesitatea unor consolidri ale limbajului, finalizate
prin publicarea n 1973 a unui raport revizuit, n care se realizeaz o definire a formei de referin
numit Pascal Standard, redactat ulterior conform normelor ISO i devenit baz comun pentru
diverse implementri.
Limbajul Pascal include conceptele programrii structurate n ambele laturi ale efortului de
abstractizare presupus de realizarea unui program - organizarea datelor i conceperea aciunilor.
Printre principalele caracteristici ale lui pot fi menionate:
Include o serie de instruciuni care reprezint chiar structurile de control impuse de tehnica
progrmrii structurate (IF-THEN-ELSE, CASE, REPEAT, WHILE, FOR).
Are faciliti puternice i deosebit de flexibile pentru reprezentarea datelor. Noiunea de tip
de date a fost extins dincolo de cercul restrns al datelor ntregi, reale, iruri de caractere i tablouri
(masive). S-au introdus structuri de date complexe, ca articolul (nregistrarea), mulimea, fisierul i
posibiliti de a descrie altele noi, combinndu-le pe cele existente. La acestea se adaug facilitatea
de a defini i manipula structuri dinamice (liste liniare, arbori etc.). n anumite implementri ale
limbajului a fost introdus tipul obiect, care permite reunirea n aceeasi construcie a datelor i
metodelor care le prelucreaz (proceduri i funcii), crend cadrul trecerii la programarea orientat
obiect (POO).
Ofer posibiliti de modularizare a programelor, prin structurarea lor n module crora le
pot fi asociate construcii ale limbajului (proceduri i funcii).
Fundamenteaz construciile pe conceptul de bloc, care permite, pe de o parte, definirea de
date proprii (variabile locale) i, pe de alt parte, accesul la datele din blocurile de pe nivelurile
superioare (variabile globale).
213

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Posed o bibliotec bogat de funcii i proceduri standard, cu elemente specifice diverselor


implementri ale limbajului i permite, totodat, construirea de biblioteci ale utilizatorului.
Aceste caracteristici au fcut ca, dei conceput iniial pentru a servi ca suport de studiu al
programrii structurate, limbajul s fie folosit intens i de ctre programatorii profesioniti.
Firma Borland a realizat, ncepnd cu 1983, medii integrate de dezvoltare (IDE - Integrated
Development Environment) cu denumirile generice Turbo Pascal, Borland Pascal i Delphi. Turbo
Pascal, ajuns la versiunea 7.0, a marcat introducerea progresiv a unor noi faciliti:
realizarea segmentrii programelor prin tehnica overlay, ncepnd cu versiunea 5.0 (1988);
introducerea conceptelor POO, ncepnd cu versiunea 5.5 (1989);
folosirea mouse-ului, ferestrelor de editare multiple, asamblorului integrat i sistemului
Turbo Vision, pentru dezvoltarea de aplicaii orientate obiect, n versiunea 6.0 (1990).
Versiunile din categoria Turbo Pascal sunt destinate utilizrii sub DOS. Pentru dezvoltarea de
aplicaii Windows a fost lansat implementarea Borland Pascal 7.0 pentru Windows, cu posibiliti
superioare de utilizare a POO. Ultima realizare a firmei Borland o reprezint Delphi, care
implementeaz faciliti de POO i programare vizual. Dac n cazul implementrilor pe 16 bii
apare limitarea important a dimensiunii segmentelor de date i de cod la 64 KB (spaiul maxim de
adrese care poate fi gestionat cu un cuvnt de 16 bii), trecerea la cod pe 32 de bii face ca limitrile
s fie impuse numai de sistemul de operare.
8.1.2. Construciile limbajului
Acceptnd terminologia folosit n definirea limbajelor formale, limbajului Pascal i poate fi
asociat o gramatic format din urmtoarele clase de elemente:
- alfabetul terminal (AT), format din entitile elementare ale limbajului, (cele mai mici
uniti cu semnificaie proprie). Prin comparaie cu limbajul natural, aceste uniti formeaz
mulimea cuvintelor sau lexicul limbajului Pascal (simboluri speciale, cuvinte rezervate,
identificatori, etichete, literali numerici, literali nenumerici);
- alfabetul neterminal (AN), format din mulimea constructiilor sintactice realizate prin
agregare succesiv pornind de la elementele alfabetului terminal;
- simbolul de start sau axioma gramaticii (aoAN), care este construcia sintactic de cel mai
nalt nivel;
- mulimea produciilor (P), format din regulile de sintax ce se aplic n realizarea
construciilor limbajului.
Construciile sintactice ale limbajului Pascal sunt formate, din uniti lexicale i separatori,
unde separatorul este un spaiu sau un comentariu. Dou uniti lexicale trebuie s fie separate prin
unul sau mai muli separatori, dac fiecare dintre ele este un cuvnt rezervat, un identificator, o
etichet sau un numr. Separatorii nu pot fi parte a unitilor lexicale, cu excepia includerii n iruri
de caractere.
Principalele construcii sintactice ale limbajului Pascal sunt:
- expresiile, care sunt construcii formate din operanzi (date numerice, logice, de tip
caracter etc.) i operatori (aritmetici, relaionali, logici etc.) i a cror evaluare produce o valoare de
un anumit tip;
- declaraiile, care sunt construcii pentru definirea i descrierea datelor (constante i/sau
variabile, date scalare i/sau structuri de date etc.);
- instruciunile, pentru descrierea aciunilor realizate asupra datelor;
- subprogramele de tip funcie i procedur;
- programul, reprezentnd construcia sintactic de nivel superior, care poate face obiectul
prelucrrii i execuiei pe un sistem de calcul.
n termenii folosii anterior, construciile sintactice enumerate aparin alfabetului neterminal,
iar, dintre ele, programul reprezint axioma gramaticii limbajului Pascal.
Regulile de sintax ce formeaz mulimea produciilor pot fi specificate n mai multe moduri,
dintre care se remarc: notaia formal BNF (Backus Normal Form) i diagramele de sintax.
n notaia BNF, regulile sintactice (metadefiniiile) au forma:
214

CAPITOLUL 8. LIMBAJUL PASCAL

<parte-stnga> ::= parte-dreapta


unde:
<parte-stnga> : desemneaz metavariabila (variabila neterminal) ce se definete;
::=
: metasimbol avnd sensul de "este prin definiie";
parte-dreapta : definiia metavariabilei.
n cadrul definiiei (parte-dreapta) se ntlnesc urmtoarele elemente:
<metavariabila>: categorie sintactic folosit n definirea altei categorii sintactice;
metaconstanta : element al alfabetului terminal;
|
: separ alternativele n definiie;
[]
: indic o construcie opional;
{}
: indic posibilitatea repetrii construciei.
Alternativele se constituie prin juxtapunerea de metavariabile i/sau metaconstante.
O diagram de sintax este un graf orientat avnd o singur intrare i o singur ieire. Orice
drum posibil n graf, ncepnd cu intrarea i terminnd cu ieirea, definete o construcie sintactic
corect. Ca noduri ale grafului se folosesc urmtoarele figuri geometrice, pentru care se precizeaz
i condiiile de utilizare n prezentarea limbajului Pascal:
ncadreaz simboluri speciale;
ncadreaz cuvinte rezervate;
ncadreaz elementele limbajului care se definesc prin alte diagrame de sintax.
n sens restrns, diagramele de sintax i meta-definiiile ar trebui asociate numai
construciilor sintactice propriu-zise (neterminale). Utilizatorul este implicat n alctuirea unora din
clasele de componene ale lexicului, se vor folosi, i n cazul acestora, diagrame de sintax i/sau
metadefiniii. Pentru a ilustra comparativ cele dou moduri de reprezentare a regulilor sintactice, se
prezint n continuare metadefiniiile i diagramele de sintax pentru liter, cifr (zecimal) i cifr
hexazecimal.Construciile sintactice enumerate aparin alfabetului neterminal, iar dintre ele
programul reprezint axioma gramaticii limbajului Pascal.
Lexicul limbajului Pascal se construiete pe baza unui set de caractere format din
urmtoarele submulimi de caractere ASCII:
- litere mari i mici ale alfabetului englez;

(8.1.)

- cifrele sistemului zecimal;

(8.2.)

- cifrele sistemului hexazecimal;


(8.3.)
- caracterul spaiu (#32) i toate caracterele de control (#0..#31);
- o serie de caractere speciale.
Dup modul lor de construire, componentele lexicului pot fi grupate n:
- entiti lexicale prestabilite, n care se nscriu simbolurile speciale i cuvintele rezervate;
- entiti realizate de utilizator, n care se nscriu identificatorii, etichetele, numerele i
constantele de tip ir.
Entitile prestabilite se folosesc conform destinaiei impuse de definitorul limbajului, pentru
utilizator fiind suficient specificarea mulimii acestora (de exemplu, prin enumerare) i a modului
de utilizare.
Sunt simboluri speciale n Pascal urmtoarele caractere ASCII: + - * / = < > [ ] . , ( ) ; : ^ ' _
@ { } & $ # etc. i urmtoarele perechi de caractere: <= >= := .. (* *) (. .) <>.
Unele dintre simbolurile speciale servesc ca operatori n expresii.
215

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Cuvintele rezervate ale limbajului Pascal sunt prezentate n tabelul 8.1. Scrierea cuvintelor
rezervate cu majuscule este numai o convenie de prezentare, n programe fiind permis folosirea
att a literelor mari ct i a celor mici, cu aceeai semnificaie.
Tabelul 8.1.
Lista cuvintelor rezervate
ABSOLUTE
AND
ARRAY
BEGIN
CASE
CONST
DIV
DO

DOWNTO
ELSE
END
EXTERNAL
FILE
FOR
FORWARD
FUNCTION

GOTO
IF
IMPLEMENTATION
IN
INLINE
INTERFACE
INTERRUPT
LABEL

MOD
NIL
NOT
OF
OR
PACKED
PROCEDURE
PROGRAM

SHR
RECORD
REPEAT
SET
SHL
STRING
THEN
TO

TYPE
UNIT
UNTIL
USES
VAR
WHILE
WITH
XOR

Identificatorii sunt folosii n Pascal pentru a desemna date, proceduri, funcii etc. (8.4.).

(8.4.)
n notaia BNF, regula de construire a unui identificator este urmtoarea:
<identificator>::=<liter>|_{<liter>|<cifr>|_}
Un identificator trebuie s nceap cu o liter sau cu caracterul _ (liniua de subliniere)
urmat, eventual, de litere, cifre zecimale i liniue de subliniere. Un identificator poate avea orice
lungime, dar numai primele 63 de caractere sunt semnificative.
Identificatorii pot fi scrii att cu litere mari, ct i cu litere mici. Caracterul liniu de
subliniere (#95) folosit n construirea identificatorilor este, formal, tratat ca liter.
Etichetele sunt secvene de cifre zecimale din intervalul 0 la 9999 (8.6.), care asociate unor
instructiuni permit transferul ctre acestea prin instruciuni de salt necondiionat (GOTO).
n condiiile programrii structurate folosirea instruciunii GOTO (i a etichetelor) este foarte
redus i se realizeaz n condiii restrictive, cu respectarea riguroas a cerinelor de construire a
structurilor fundamentale de control.
Numerele denumite n prezentarea unor limbaje de programare i literali numerici, sunt
constante de tip ntreg i real (8.5.- 8.11.).
(8.5)

(8.6)

(8.7)

(8.8)

(8.9)

(8.10)

(8.11)
Numerele ntregi se pot scrie n baza 10 sau n baza 16, precedate, eventual, de semn. Cifre le
hexazecimale au ca prefix caracterul $.
Numerele reale se pot scrie n forma uzual din matematic, cu parte ntreag i fracionar,
separate prin caracterul "." i, eventual, precedate de semn, sau n forma tiinific (cu exponent),
216

CAPITOLUL 8. LIMBAJUL PASCAL

adic urmate de E sau e i de un ntreg reprezentnd o putere a lui 10. Numerele cu parte fracionar
sau exponent corespund constantelor (literalilor) reale, iar celelalte numere zecimale, precum i
numerele hexazecimale, corespund constantelor (literalilor) ntregi. irurile de caractere (literali
nenumerici) sunt - n sens restrns - secvene de zero sau mai multe caractere ASCII afiabile,
incluse ntre apostrofuri (8.12 8.13).
(8.12)
(8.13)
irul format din zero caractere, deci cu nimic ntre apostrofuri, se numeste ir nul. Pentru a
include un apostrof n cadrul irului se folosesc dou apostrofuri consecutive. Lungimea unui ir (L)
va fi dat de numrul efectiv de caractere incluse ntre apostrofuri.

Structura general a programelor Pascal.


Pentru evidenierea relaiilor ntre diverse construcii sintactice, n cele ce urmeaz se face o
abordare descendent, pornind de la axioma gramaticii limbajului. n forma sa cea mai general,
structura unui program Pascal poate fi descris prin diagramele de sintax 8.14 i 8.15:
(8.14)

(8.15)
Antetul programului, atunci cnd este prezent, are rol pur informativ. Posibilitatea definirii
unor eventuali parametri este menionat numai pentru asigurarea similitudinii cu Pascal Standard,
fr a avea nici o semnificaie n Turbo Pascal. Clauza USES, cu caracter opional, permite
specificarea unitilor (UNIT-urilor) folosite n programul respectiv.
Principala component a unui program este blocul, care reprezint corpul acestuia. Blocul
(diagramele 8.16 8.27) este format din declaraii (instruciuni neexecutabile) i instruciuni
(instruciuni executabile).
(8.16)

(8.18)

(8.17)

(8.19)

(8.20)

(8.21)

(8.22)

(8.23)

(8.24)

(8.25)

(8.26)

(8.27)

217

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Partea de declaratii a blocului este submprit n:


- partea de declarare a etichetelor (LABEL), n care se declar etichetele folosite n partea de
instruciuni a blocului;
- partea de declarare a tipurilor (TYPE), care conine definirea unor tipuri de date pe baza
altor tipuri definite anterior, standard sau ale utilizatorului;
- partea de declarare a constantelor (CONST), care cuprinde declararea constantelor
simbolice (identificatori asociai unor constante) i a constantelor cu tip (variabile iniializate n
momentul compilrii);
- partea de declarare a variabilelor (VAR), conine definirea variabilelor specifice blocului;
- partea de declarare a procedurilor i/sau funciilor.
Procedurile i funciile sunt subprograme interne sau externe. Constructiv, indiferent de tipul
su, un subprogram este format din un antet i un corp (8.23 i 8.24).
Antetul unui subprogram de tip PROCEDURE precizeaz numele (identificatorul) acestuia i
lista parametrilor formali, care n momentul apelrii vor fi pui n coresponden cu parametrii
actuali, asigurnd schimbul de informaii n contextul de apelare. Parametrii sunt de intrare i/sau de
ieire, ceea ce nseamn c un subprogram PROCEDURE returneaz zero, unu sau mai multe
rezultate. Un subprogram de tip FUNCTION returneaz (cel puin) un rezultat asociat cu numele
funciei, iar n antetul su se va include i o declaraie de tip corespunznd acestui rezultat (8.26).
Corpul procedurilor interne conine drept principal component blocul, care are aceeai
structur ca n cazul programului. Partea de instruciuni (8.27) este format din instruciunile
executabile prin care se codific algoritmul problemei. Termenul instruciune desemneaz generic
tipurile de instruciuni pe care le posed limbajul. nsi construcia BEGIN...END reprezint o
instruciune compus (care poate s fie vid).
Analiznd diagramele de sintax rezult urmtoarele aspecte practice:
partea de declaraii poate s lipseasc;
partea de declaraii, atunci cnd este prezent, o precede obligatoriu pe cea de instruciuni;
ordinea diverselor componenete ale prii de declaraii este oarecare, cu condiia ca orice
referire a unui obiect s fie precedat de definirea sa;
procedurile (funciile) interne sunt opionale, iar cnd sunt prezente se definesc anterior
prii de instruciuni care le refer;
pot fi realizate subprograme imbricate, adic definirea de proceduri/funcii n cadrul altor
proceduri/funcii.
Programul se prezint ca o succesiune de linii, fiecare de maximum 127 de caractere.
Declaraiile i instruciunile programului se separ ntre ele prin simbolul ;.
Se recomand ca fiecare linie s conin o singur declaraie sau instruciune, dar este permis
scrierea mai multor asemenea construcii pe aceeasi linie sau continuarea lor pe mai multe linii.
Comentariul este o succesiune de caractere inclus ntre acolade { } sau ntre perechile de
caractere speciale (* i *) folosite ca delimitatori. Delimitatorii folosii pentru comentarii pot servi
i la introducerea unor directive de compilare, ce conin dup delimitatorul stnga caracterul $,
urmat de codul unei directive.
8.2. TIPURI STATICE DE DATE I EXPRESII
Limbajul Pascal ofer posibilitti deosebit de elastice n declararea i utilizarea tipurilor de
date. El accept tipuri de date simple i structurate, statice i dinamice. Programatorii pot s-i
defineasc propriile tipuri de date. Prin tip de date se nelege mulimea valorilor pe care le poate
lua data mpreun cu mulimea operatiilor care se aplic asupra acestora.
O clasificare a tipurilor statice de date n Turbo Pascal este prezentat n figura 8.1.
Tipurile ordinale (scalare) reprezint mulimi finite i ordonate de valori discrete. Unui
element i se asociaz un numr de ordine n cadrul mulimii, obinut implicit sau prin funcia ORD.
Pot fi referite elementele succesor - predecesor ale unui element, prin funciile SUCC i PRED.
218

CAPITOLUL 8. LIMBAJUL PASCAL

Valoarea unei date ordinale se reprezint intern prin ordinul ei. Elementele pot fi puse n relaie (<,
<=, =, >, >=, <>), rezultatul fiind evaluat n funcie de numrul de ordine.

Figura 8.1. Tipuri statice de date


Dup modul de specificare a valorilor pe care le pot avea, datele de tip ordinal pot fi
submprite n date de tip domeniu (subdomeniu) i date de tip enumerativ. Pentru tipul domeniu
(subdomeniu), mulimea valorilor discrete se precizeaz printr-un interval nchis (8.28).
Marginile intervalului trebuie s ndeplineasc condiia:
ORD(limita_inferioar)<=ORD(limita_superioar).
(8.28)
Tipurile standard ntregi au domeniile implicite prezentate n tabelul 8.2. De exemplu, prin
tipul standard INTEGER se desemneaz mulimea numerelor ntregi din intervalul -32768..32767.
Tipul standard CHAR are domeniul implicit #0..#255 (mulimea caracterelor setului extins ASCII).
Tabelul 8.2.
Tipuri ntregi de date

Pentru tipul enumerativ, multimea de valori discrete se precizeaz prin liste ordonate (8.29).
(8.29)
Tipul standard BOOLEAN are lista de valori implicit (FALSE,TRUE). Utilizatorul poate
s-i defineasc propriile tipuri enumerative. Elementelor datelor de tip enumerativ li se asociaz
numere de ordine, prima valoare din list avnd ordinalitatea zero.
Datele de tip real au valori n mulimea R. n funcie de lungimea intern, se disting mai
multe tipuri reale care au precizii diferite (tabelul 8.3).
Datele de tip structurat sunt mulimi (colecii) de date de tipuri simple sau structurate,
constituite dup anumite reguli bine stabilite. Nici o dat structurat nu poate ocupa n memorie mai
mult de 65520 octei. Tipul datelor statice poate fi definit ca n diagrama 8.30 n care
identificator_tip desemneaz un tip definit de utilizator.
(8.30)
Tabelul 8.3.
Tipuri reale de date

219

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

8.2.1. Clasificarea tipurilor statice de date.Variabile i constante


Din punct de vedere al posibilittii de modificare a valorii n faza de execuie a programului,
se disting:
date variabile, care i pot modifica valoarea pe parcursul execuiei programului;
date constante, predefinite la momentul scrierii programului i ale cror valori sunt generate
n faza de compilare.
Toate variabilele cu care se lucreaz ntr-un program Pascal trebuie declarate n seciunea
VAR (unele i n CONST) a prii de declaraii a programului.
ntr-o declaraie (8.31) pot fi specificate mai multe variabile.

(8.31)
Datele constante pot fi literali care se autoindentific prin valoare, sau constante simbolice,
referite prin identificatori, crora li se asociaz declaraii n seciunea CONST a prii de declaraii a
programului.
Expresie_de_constante este evaluat n momentul compilarii, avnd ca operanzi numai literali
sau constante simbolice. Operatorii folosii n expresii sunt cei specifici tipului de dat pentru care
se definete constanta. n expresiile de constante pot fi folosite i urmtoarele funcii: ABS, CHR,
HI, LENGTH, LO, ODD, ORD, PRED, ROUND, SIZEOF, SUCC, SWAP, TRUNC.
Limbajul Pascal definete ca fiind constante i acele variabile iniializate n momentul
compilrii, numindu-se n limbaj, constante cu tip sau variabile initializate (8.32).
(8.32)
n multe construcii sintactice se cere respectarea unor clase de compatibiliti de tip. Prin
noiunea de variabile de acelai tip se va ntelege:
variabile de acelai tip utilizator;
variabile simple de acelai tip standard;
variabile definite n aceiai descriere.
Tipurile ntregi de date sunt: BYTE, WORD, SHORTINT, INTEGER, LONGINT. Ele se
refer la ntregi far semn (BYTE, WORD) i la ntregi cu semn (SHORTINT, INTEGER,
LONGINT). n operaii, toate tipurile ntregi sunt compatibile ntre ele. Operatorii aritmetici sunt:
+
adunare (sau operator unar);
scdere (sau operator unar);
*
nmulire;
DIV
mprire ntreag (se obine ctul);
mprire ntreag (se obine restul).
Datele de tip ntreg pot fi puse n relaie (<, <=, =, >, >=, <>), rezultatul logic fiind n
concordan cu ordinea lor (ca tip ordinal) sau cu valoarea lor n Z. Funciile specifice tipurilor
ordinale (ORD, PRED, SUCC) se aplic i tipurilor ntregi, cu meniunea c numrul de ordine a
datei coincide cu valoarea sa din Z.
n Turbo Pascal exist dou constante predefinite, avnd identificatorii MaxInt (tip
INTEGER) i MaxLongint (tip LONGINT) care au valoarea egal cu maximul din valorile
domeniilor acestor tipuri (32767, respectiv 2147483647).
Tipul BOOLEAN este ordinal, enumerativ: (FALSE, TRUE). Asupra datelor booleene se pot
aplica funciile specifice tipului ordinal (ORD, PRED, SUCC).
O dat de tip BOOLEAN se reprezint n memorie pe un octet, n care se memoreaz valorile
ordinelor elementelor: 0 (pentru FALSE), 1 (pentru TRUE).
Operatorii logici sunt: NOT (nu); AND (i); OR (sau); XOR (sau exclusiv).
Tipul caracter (CHAR) este ordinal, subdomeniul #0..#255. Mulimea valorilor tipului
caracter este format din caracterele setului extins ASCII (256 caractere). O dat de tip CHAR
220

CAPITOLUL 8. LIMBAJUL PASCAL

ocup n memorie un octet, n care se memoreaz valori binare interne din intervalul 0..255.
Literalii de tip CHAR pot fi scrii n urmtoarele moduri (8.33):
a) Un caracter imprimabil cuprins ntre apostrofuri;
b) Un ntreg din domeniul 0..255, precedat de caracterul #;
c) Un caracter imprimabil precedat de ^. Prin exprimarea literalilor CHAR sub forma ^x se
pot preciza uor codurile de control al transmisiei i imprimrii (caractere neimprimabile), din
intervalul de valori #0..#31.

(8.33)
Asupra datelor de tip caracter se poate realiza operaia de concatenare (+), rezultatul fiind de
tip STRING. Acelai efect se poate obine utiliznd funcia CONCAT. Asupra datelor de tip CHAR
se pot aplica funciile specifice tipurilor ordinale: ORD, PRED, SUCC.
Datele de tip CHAR pot fi puse n relaie (<, <=, =, >, >=, <>), rezultatul logic fiind n
concordant cu ordinalitatea lor, care se memoreaz intern. Funciile ORD i CHR sunt inverse.
Tipul ordinal enumerativ se definete ca o list ordonat de identificatori ai utilizatorului
(8.34). Valorilor din lista ordonat care precizeaz tipul enumerativ li se asociaz numere de ordine
n cadrul acesteia, ncepnd de la zero. Un identificator precizat ntr-o list nu poate fi prezent si
ntr-o alt list. Dac numrul elementelor listei este mai mic sau egal cu 256, variabilele de tip
enumerativ se reprezint pe un octet. n caz contrar, ele se reprezint pe un cuvnt. Intern este
memorat numrul de ordine a valorii. Din aceast cauz, numrul elementelor listei enumerative
este maxim 65536. Referirea unui element se face prin intermediul unui identificator de tip i nu al
unui identificator de variabil. Asupra datelor de tip enumerativ se pot aplica funciile specifice
tipurilor ordinale: ORD, PRED, SUCC.
(8.34)
Datele de tip enumerativ pot fi puse n relaie (<, <=, =, >, >=, <>), rezultatul logic fiind n
concordan cu ordinea valorii lor. Datele de tip enumerativ se folosesc n urmtoarele situaii:
n operaia de atribuire: unei variabile de tip enumerativ i se poate atribui o valoare definit
n lista tipului respectiv;
n declararea dimensiunilor masivelor i n expresiile indiceale pentru referirea elementelor;
ca variabile de control n instruciunea FOR.
Tipul ordinal subdomeniu se mai numete tip interval i se definete ca submulime a unui
tip ordinal ("tip printe"), prin precizarea intervalului nchis de valori. Toate caracteristicile tipului
printe se regsesc n tipul subdomeniu, singura deosebire dintre ele referindu-se la mulimea
valorilor pe care le pot lua. Literalii, constantele, funciile i operaiile definite pentru datele de tip
subdomeniu sunt similare celor specifice tipului printe. Funcia ORD aplicat unui element dintrun subdomeniu returneaz numrul de ordine din domeniul printe. Datele de tip subdomeniu se
memoreaz identic cu cele din tipul printe.
Tipurile reale sunt: REAL, SINGLE, DOUBLE, EXTENDED, COMP. Datele reale sunt
memorate intern n virgul mobil. n ISO Standard Pascal este inclus doar tipul REAL, celelalte
tipuri sunt cuprinse n convenia IEEE (Institute for Electrical and Electronics Engineers). Tipul
COMP desemneaz o dat real particular, avnd numai valori ntregi. n operaii, toate tipurile
reale sunt compatibile ntre ele. Operatorii aritmetici sunt: + adunare (sau operator unar), - scdere
(sau operator unar), * nmulire i / mprire real. Datele de tip real pot fi puse n relaie (<, <=, =,
>, >=, <>), rezultatul logic fiind n concordan cu valoarea lor n mulimea R.
221

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Tipul ir de caractere este implementat tipul structurat ir (STRING), care definete iruri de
caractere ASCII, de lungime variabil. Lungimea maxim a irurilor este 255 caractere, iar
lungimea minim este zero, pentru irul null (vid).
Din analiza diagramei se observ c n definirea literalilor de tip STRING se pot succede
iruri scrise n cele trei moduri corespunztoare tipului caracter.
Tipul ir se declar conform diagramei 8.35. Dac la declarare nu se specific lungimea
maxim, se consider, implicit, 255 caractere. Lungimea efectiv a irului este numrul de caractere
pe care l are valoarea memorat. Lungimea maxim a irului este numrul de caractere specificat n
descrierea datelor STRING.

(8.35)
Cu datele de tip STRING poate fi realizat operaia de concatenare (+).
Acelai efect se obtine utiliznd funcia CONCAT. Datele de tip STRING pot fi puse n
relaie (<, <=, =, >, >=, <> ). Compararea se face caracter cu caracter, de la stnga la dreapta
(lexicografic), terminndu-se fie la ntlnirea primei perechi de caractere neegale, fie dup un
numr de comparri egal cu minimul dintre lungimile irurilor.
Tipul masiv (ARRAY) este structurat i desemneaz o mulime finit de elemente omogene
constituit ca un tablou cu una, dou sau mai multe dimensiuni (8.36). Mulimea are un singur
identificator i ofer posibilitatea referirii elementelor n acces direct prin poziie, determinat
printr-un numr de expresii indiceale corespunznd dimensiunilor masivului.

(8.36)
Tip_dimensiune este ordinal (mai puin LONGINT) i precizeaz, pe de o parte, numrul de
elemente de pe fiecare dimensiune, care se rezerv n momentul compilrii, iar pe de alt parte,
tipul expresiei indiceale care se poate utiliza n referirea elementelor masivului.
Pot fi declarate oricte dimensiuni pentru masiv, dar zona de memorie rezervat pentru el nu
trebuie s depseasc 65520 octei. Masivele se memoreaz cu liniarizare n ordine lexicografic
(de exemplu, la matrice, n ordinea liniilor). Tip_element este orice tip de date, mai puin tipul
fiier.
Se pot declara constante de tip ARRAY (8.37). Valorile iniiale din constantele cu tip
ARRAY se precizeaz n ordinea linializrii masivelor n memorie ("pe linii"), construindu-se
entiti cuprinse ntre paranteze pentru fiecare dimensiune, mai puin ultima.

(8.37)
Referirea elementelor unui masiv se face prin variabile indexate, iar expresia indiceal trebuie
s aib tipul dimensiunii respective, prezent la declararea masivului.
Observaie: Limbajul nu are incluse operaii cu masive. Se pot realiza operaii cu elemente ale
masivelor, operaii care sunt caracteristice tipului acestor elemente.
Tipul structurat mulime (SET - diagrama 8.38) desemneaz o mulime - n sens matematic de elemente de acelai tip i operaii specifice de lucru pe mulimi (intersecie, reuniune, incluziune
etc.). Mulimea poate avea maxim 256 elemente dintr-un tip "printe" ordinal, care la rndul su, nu
poate avea mai mult de 256 elemente i poate fi de tip CHAR, BYTE, BOOLEAN, subdomeniu.
222

CAPITOLUL 8. LIMBAJUL PASCAL

(8.38)
Reprezentarea intern a datelor de tip SET are la baz urmtorul mecanism: se rezerv un
numr de bii (maxim 256) egal cu numrul de elemente ale tipului "printe". Biii corespunztori
obiectelor din tipul printe, prezente n SET, sunt pui pe valoarea unu, ceilali pe valoarea zero.
Operaiile i relaiile se aplic mulimilor compatibile ntre ele (care au acelai tip printe).
Operatorii care se aplic datelor de tip SET sunt:
* Intersecia (rezult o mulime format din elementele comune celor dou mulimi).
Fizic se realizeaz funcia SI ntre biii valorilor interne ale celor dou variabile.
+ Reuniunea (rezult o mulime format din elementele celor dou mulimi). Fizic se
realizeaz funcia SAU ntre biii valorilor interne ale celor dou variabile.
- Diferena (A-B: rezult o mulime format din elemente care aparin mulimii A i nu
aparin mulimii B). Fizic se realizeaz funcia A SI NOT(B) ntre biii valorilor
interne ale celor dou variabile.
Operatorul IN, care se aplic ntre un element e i o mulime A: e IN A. Expresia are valoarea
TRUE dac elementul e se regsete n mulimea A - apartenen (eA).
Atribuirea, operaiile i relaiile pe mulimi au la baz testarea i/sau poziionarea biilor din
reprezentarea intern a datelor de tip SET.
Tipul articol (RECORD) desemneaz o structur de date static, eterogen, cu acces direct,
ntre componentele creia exist o relaie de ordine ierarhic. Articolul poate fi reprezentat sub
form de arbore, ale crui noduri sunt asociate componentelor structurii. Componentele de pe
ultimul nivel sunt scalare i se numesc date elementare sau cmpuri. Datele de pe celelalte niveluri,
numite de grup, se constituie prin agregarea datelor de pe nivelurile inferioare. Data de grup de cel
mai nalt nivel (rdcina arborelui) corespunde articolului n ansamblu (figura 8.2).
Posibilitatea construirii recursive se remarc n figura 8.2.b, unde data de grup
DATA_NASTERII este formal echivalent cu articolul DATA.

Figura 8.2. Exemple de structuri de articole


Tipul articol se declar conform diagramei 8.39, iar variabilele de acest tip conform diagramei
8.40. Tip este orice tip de date PASCAL, mai puin tipul fiier. n cazul componentelor care sunt la
rndul lor structuri de date (RECORD, SET, STRING, ARRAY) apar aspecte specifice n
rezervarea zonelor de memorie i/sau n referirea lor. Tipul articol poate fi definit i ca structur
vid. Cmpurile care se succed imediat i sunt de acelai tip pot fi declarate ca liste. Din punct de
vedere practic, utilizarea tipului articol este strns legat de prelucrarea fiierelor binare. n lucrul
cu variabilele de tip articol se recomand declararea identificatorului de tip n seciunea TYPE. n
acest mod, identificatorul de tip articol poate fi folosit n definirea mai multor variabile, inclusiv a
celor asociate fiierelor cu tip. n procesul de descriere a unui articol, arborele se parcurge n
preordine (de la rdcin spre extremiti i de la stnga la dreapta).

(8.39)
223

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

(8.40)
Variabilele de tip articol se reprezint intern ca succesiuni de cmpuri elementare, cu
reprezentarea intern i lungimea fizic specifice tipurilor lor. Datele STRING se memoreaz pe
lungimea fizic (octet de lungime plus lungime maxim), componentele SET se reprezint pe
maxim 32 octei (depinznd de numrul de elemente ale mulimii) iar pentru componentele
ARRAY se rezerv numrul de octei necesari fiecrui element al masivului. Lungimea zonei de
memorie rezervat pentru variabila de tip articol rezult din nsumarea lungimilor cmpurilor.
Structura arborescent a articolelor poate fi exprimat sugestiv i prin machete, care
evideniaz componentele, natura, lungimea declarat i lungimea fizic ale acestora.
Datele de tip articol pot fi referite n dou moduri: global sau pe componente. Referirea
global este permis numai n operaia de atribuire, cu condiia ca ambele variabile (surs i
destinaie) s fie articole de acelai tip. Referirea unor componente de tip articol din structura altui
articol este posibil numai n operaia de atribuire, n condiiile precizate anterior la referirea
global.
Exist dou variante de referire a componentelor articolelor: referirea prin calificare i
referirea fr calificare.
n referirea prin calificare asigurarea identificrii unice a cmpurilor se realizeaz prin
asocierea numelui acestora cu numele articolului care le conine. Construcia rmne la aceast
form dac structura are numai dou niveluri: articolul i cmpurile elementare ale acestuia.
n articolele cu structur recursiv se realizeaz calificarea progresiv cu articolele de pe
nivelurile superioare, primul calificator fiind numele articolului rdcin.
Pentru referirea fr calificare se foloseste instruciunea WITH, care are la baz un procedeu
similar scoaterii factorului comun din matematic. Cmpurile unui articol pot fi referite numai prin
identificatorii lor, fr a fi descris explicit ntreaga structur arborescent de care aparin, referirea
avnd efect n instruciunea care aparine structurii WITH.
Sintaxa instruciunii WITH este precizat n diagrama 8.41. Pot fi folosite structuri WITH
imbricate, cu condiia evitrii ambiguitilor: se includ n WITH toate nivelurile superioare de
arborescen, ncepnd cu identificatorul de variabil al articolului i continund cu identificatorii
de cmpuri de tip grup. Pe baza declarrilor din WITH, compilatorul "reface" adresarea fizic a
cmpurilor.

(8.41)
Forma WITH r1, r2, ..., rm DO instruciune, poate fi scris astfel:
WITH r1 DO
WITH r2 DO
...............
WITH rm DO instructiune;

Referirea cmpurilor articolelor fr calificare este preferabil atunci cnd se realizeaz


operaii asupra mai multor cmpuri ale aceleiai variabile articol. Ea poate fi aplicat ntregului
program Pascal, dac instructiunea WITH este plasat la nceputul prii executabile.
Limbajul PASCAL ofer posibilitatea lucrului cu articole care au structur variabil. Acestea
au n component o parte fix i o parte variabil. Partea variabil este descris n funcie de
existena mai multor variante de structur ale articolului. Tipul articol se declar, n acest caz,
conform diagramelor 8.42 i 8.43 (care pot fi considerate generale pentru tipul articol). Descrierea
prii variabile ncepe cu cuvntul CASE. Variantele de structur se descriu prin "selecie", pe baza
valorilor unei caracteristici (selector) de tip ordinal sau pe baza valorilor unui tip ordinal.
Din studiul diagramelor 8.44 8.45 se desprind urmtoarele reguli practice:
partea fix, cnd exist, o precede pe cea variabil;
224

CAPITOLUL 8. LIMBAJUL PASCAL

fiecare variant de structur se descrie ntre paranteze rotunde;


partea variabil poate avea, la rndul ei, o parte fix i o parte variabil.

(8.42)

(8.43)

(8.44)

(8.45)
Valoarea iniial trebuie s fie de acelai tip cu cmpul cruia i corespunde. Cnd articolul
conine la rndul su alt articol, identificarea cmpului care se iniializeaz se face pe niveluri,
folosind perechi corespunztoare de paranteze.
La initializarea cmpurilor unui articol cu parte variabil, constanta de tip articol se asociaz
unei singure structuri, deoarece zona de memorie rezervat pentru articol este unic.
Expresii
Asupra datelor pot fi aplicai operatori din diverse clase, rezultnd construciile sintactice
numite expresii. Expresiile sunt alctuite din operanzi i operatori. Evaluarea expresiilor produce ca
rezultat o valoare de un anumit tip. n metalimbajul BNF expresia poate fi definit astfel:
<expresie>::=<operand>|<operator_unar><expresie>|<expresie><operator_binar><expresie>
Prima variant din definiie corespunde celei mai simple forme de expresie, redus la o
variabil sau o constant de un anumit tip. A doua i a treia variant, prin aplicare repetat, conduc
la recursivitate n construirea expresiilor.
Ordinea de aplicare a operatorilor din expresii poate fi, total sau parial, impus prin folosirea
parantezelor. Acestea sunt evaluate cu prioritate, iar dac sunt mai multe niveluri de paranteze,
evaluarea se realizeaz din interior spre exterior. n absena parantezelor, respectiv n interiorul
acestora, evaluarea se realizeaz n funcie de ordinul de precedent a operatorilor. Se disting cinci
clase de precedent, care (de la superior la inferior) sunt:
1 : operatorii unari + si -;
2 : operatorul unar NOT;
3 : *, DIV, /, MOD, AND, SHR, SHL;
4 : +, -, OR, XOR, intersecie (*), reuniune (+), diferen (-) de mulimi;
5 : <, <=, =, >, >=, <>, IN i operatorii relaionali ntre mulimi.
Pentru operatorii aparinnd aceleiai clase de preceden, evaluarea se realizeaz de la stnga
la dreapta. Operatorii se aplic operanzilor de acelai tip, cu rezultat n mulimea tipului de dat
respectiv. Exist i excepii:
- Expresiile aritmetice au operanzi numerici. n categoria acestora se includ datele de tip
ntreg (BYTE, WORD, INTEGER, LONGINT, SHORTINT) i cele de tip real (REAL, SINGLE,
DOUBLE, EXTENDED, COMP). n general, toate tipurile numerice sunt compatibile ntre ele, cu
unele excepii prezentate n tabelul 8.4. Deoarece expresiile se evalueaz pe subexpresii definite de
un operator, comutativitatea din matematic nu este conservat (n programare, expresia A+B+C nu
este ntotdeauna egal cu A+C+B, depinznd de tipurile variabilelor). Operatorii *, /, +, -, pot fi
aplicai i n cazul cnd un operand este ntreg iar cellalt real, rezultatul fiind de tip real. n
operaiile de mprire (/, DIV, MOD), mpritorul nu poate fi zero. n evaluarea expresiilor nu se
sesizeaz eventuala depire a domeniului de valori admise de tipul rezultatului, care, n acest caz,
este imprevizibil pentru utilizator.
225

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Tabelul 8.4
Operatori arimetici

- Expresiile logice sunt cele care, n urma evalurii, produc rezultat de tip BOOLEAN. n
funcie de operatorii utilizai, se disting expresii relaionale i expresii logice propriu-zise.
Expresiile relaionale se construiesc cu operatorii < <= = > >= <> inclui n clasa de
precedent cinci. Operanzii expresiilor (subexpresiilor) relaionale trebuie s fie compatibili.
Se consider urmtoarele clase de compatibilitti:
- operanzii numerici (tipurile ntregi si reale);
- operanzii STRING sau CHAR ;
- operanzii de tip BOOLEAN ;
- operanzii de tip enumerativ ;
- operanzii de tip multimi compatibile (acelasi tip "printe").
Operatorii relaionali pot fi aplicai i operanzilor de tip mulime, semnificaia lor fiind:
incluziune (<=), egalitate (=), neegalitate (<>), apartenen (IN). Rezultatul este de tip BOOLEAN
(TRUE sau FALSE). Operatorii relaionali aplicai mulimilor au clasa de preceden cinci.
Expresiile logice propriu-zise au operanzi de tip logic i se construiesc cu operatorii NOT
(clasa de preceden doi), AND (clasa de preceden trei), OR si XOR (clasa de preceden patru).
Rezultatul evalurii este de tip BOOLEAN (TRUE sau FALSE).
- Expresii cu iruri de caractere. Operaia care se realizeaz cu iruri de caractere este
concatenarea (+). Operanzii trebuie s fie de tip STRING sau CHAR. Rezultatul este de tip
STRING. irul rezultat va fi trunchiat la dreapta dac are lungimea mai mare de 255 de caractere.
8.3. REALIZAREA STRUCTURILOR FUNDAMENTALE DE CONTROL
Limbajul Pascal este puternic orientat spre programarea structurat. Este conceput astfel nct
s implementeze fidel conceptele proiectrii i realizrii structurate i modularizate a programelor.
Tipurile de instruciuni
Instruciunile specific operaiile (aciunile) care se aplic datelor n vederea obinerii
rezultatelor scontate prin algoritm. n programul obiect rezultat dup compilare, ele se regsesc sub
forma unor secvene de apeluri i instruciuni cod main. Aceeai instruciune surs poate avea
diverse configuraii cod main, depinznd de tipul operanzilor pe care i refer. Instruciunile unui
program Pascal se grupeaz ntr-un bloc BEGIN...END. Un program trebuie s execute cel puin o
instruciune, chiar dac, la limit, aceasta este vid. Rezult deci, c forma cea mai simpl a unui
program Pascal este: BEGIN END. Dup modul de realizare a construciilor sintactice i al
numrului de aciuni descrise, se disting instruciuni simple i structurate. Pot fi create blocuri de
instruciuni executabile, denumite instruciuni compuse.
O instruciune compus este o secven de instruciuni (simple, structurate sau compuse)
delimitat de cuvintele rezervate BEGIN i END (8.46). Ea implementeaz natural structura
secvenial din programarea structurat. Mulimea instruciunilor executabile ale unui program este
o instruciune compus.

(8.46)
226

CAPITOLUL 8. LIMBAJUL PASCAL

O instruciune este simpl dac descrie o singur aciune, unic determinat i care nu
provoac condiionri. Din categoria instruciunilor simple fac parte: atribuirea, saltul necondiionat
(GOTO), apelul procedurilor, instruciunea INLINE (secvene de program scrise n cod main) i
instruciunea vid.
Instruciunile structurate sunt construcii care conin alte instruciuni (simple, compuse sau
structurate) care vor fi executate alternativ sau repetitiv. Prin instruciunile structurate se codific
structurile fundamentale alternative sau repetitive din algoritm. Instruciunile sunt separate ntre ele
prin caracterul ; i poate lipsi naintea cuvntului rezervat END. n limbaj exist i alte cuvinte
rezervate cu rol de separator (ELSE, UNTIL). n concluzie, conceptului de instruciune i poate fi
asociat diagrama de sintax 8.47.

(8.47)
Instruciunile simple ale limbajului
Prin instruciunile simple se realizeaz o parte a operaiilor de baz din algoritmi.
Instructiunea vid descrie actiunea vid. Ea este definit prin lips n contextul unor
construcii Pascal, neavnd o mnemonic explicit. Prin construcia instruciune se subntelege i
instruciunea vid.
Instruciunea de atribuire evalueaz o expresie i atribuie valoarea acesteia unei variabile
sau funcii. Instruciunea are forma:
identificator:=expresie,
unde identificator refer o variabil (simpl sau indexat) sau o funcie (8.48).

(8.48)
Limbajul Pascal accept un numr limitat de atribuiri neomogene: cnd variabila este de un
tip real i expresia este de un tip ntreg sau variabila este de tip ir i expresia este de tip caracter.
Alte combinaii de tipuri neomogene genereaz erori n momentul compilrii. n cazul n care
expresia din dreapta atribuirii este o constant simbolic sau un literal, compilatorul verific att
compatibilitatea de tip, ct i ncadrarea valorii n domeniul (lista) de valori admise de tipul
variabilei receptoare, semnalnd, eventual, erorile corespunztoare.
La atribuire de iruri, cnd irul rezultat din expresie are lungimea mai mare dect cea
declarat pentru variabila receptoare, acesta va fi trunchiat la dreapta. Octetul de lungime al
variabilei receptoare primete valoarea irului efectiv atribuit.
Instruciunea de apel al unei proceduri (8.49) are forma:
nume_procedur [ (list_parametri_actuali ) ];

(8.49)
Parametrii din apel se numesc actuali i se pun n coresponden cu parametrii corespunztori
definii n antetul subprogramelor, care se numesc formali.
Realizarea structurilor alternative
Structurile alternative se realizeaz prin instruciunile IF i CASE.
227

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

n instruciunea condiional IF, continuarea execuiei instruciunilor programului depinde


de rezultatul evalurii unei expresii logice (condiii). Instruciunea IF (8.50), are forma:
IF condiie THEN instruciune [ELSE instruciune];
unde condiie este o expresie logic, iar instruciune corespunde definiiei.

(8.50)
n figura 8.3. se prezint dou exemple de structuri alternative: c desemneaz o condiie
(expresie logic), a crei evaluare produce rezultatul TRUE (ramura DA n schema logic) sau
FALSE (ramura NU n schema logic); s1 i s2 desemneaz secvene de operaii ce se transpun n
limbaj prin construcia instruciune, fiind posibil, la limit, situaia de instruciune vid; pentru
lizibilitate, se recomand scrierea cu indentare (cu deplasarea cu cteva poziii spre dreapta) a
secvenelor s1 i/sau s2. ntruct s1 i s2 trebuie s rspund cerinelor construciei instruciune,
adic s fie o instruciune simpl, compus sau structurat, se vor constitui instruciuni compuse
care s nglobeze eventualele succesiuni de instruciuni ce corespund lui s1 i/sau s2.
Structura pseudoalternativ IF-THEN poate fi descris i ca o structur alternativ simpl,
cu instruciune vid pe ramura FALSE:
IF c THEN s1 ELSE;
O structur IF-ELSE se poate descrie fie ca structur pseudoalternativ IF-THEN, fie ca
structur IF-THEN-ELSE cu instruciune vid pe ramura THEN: IF NOT c THEN s1; IF c THEN
ELSE s1;

Figura 8.3. Structura alternativ simpl (a) i pseudoalternativ (b)


Se remarc faptul c instruciunea ce precede ELSE nu trebuie urmat de caracterul ;
. Prezenta lui ar genera interpretarea eronat a ntregii instruciuni IF. n cazul n care
secventele s1 i/sau s2 conin alte instruciuni IF, se ajunge la structuri alternative multiple. Pentru o
imbricare clar i corect, se recomand ca pe ramurile care se dezvolt s se construiasc
instruciuni compuse.
Instruciunea alternativ CASE permite alegerea unei aciuni dintr-un grup, n funcie de
valorile pe care le poate lua un selector (8.51).

(8.51)
CASE selector OF
list_constante : instructiune
{;list_constante : instructiune}
[ELSE instructiune]
END;

Selector este o expresie de tip ordinal, list_constante conine literali compatibili cu tipul
selectorului iar instruciune corespunde definiiei din digrama 8.5.
Instruciunea CASE selecteaz pentru execuie instruciunea a crei list_constante conine o
valoare egal cu valoarea curent a selectorului. Dac nici o constant nu ndeplinete condiia de
228

CAPITOLUL 8. LIMBAJUL PASCAL

egalitate, se execut instruciunea care urmeaz dup ELSE (dac aceasta exist) sau nu se execut
nimic (dac aceasta lipsete).
Instruciunea permite realizarea structurii alternative generalizate (CASE-OF) a crei form
de principiu se prezint n figura 8.4.

Figura 8.4. Structura CASE - OF


Constantele din list sunt literali compatibili cu selectorul, a cror ordine este arbitrar.
Valorile acestora trebuie s fie unice n cadrul aceleiai instructiuni CASE.
Realizarea structurilor repetitive
Limbajul Pascal dispune de instruciuni care realizeaz natural structurile repetitive cu
condiie anterioar, posterioar i cu numrtor.
Structurile repetitive condiionate anterior se realizeaz cu instruciunea WHILE (8.52), care
are forma: WHILE condiie DO instruciune;, unde condiie este o expresie logic, iar instruciune
corespunde definiiei.
(8.52)
Instruciunea WHILE este repetitiv cu un numr necunoscut de pai, al crei corp poate s nu
fie executat niciodat, dac expresia logic are de la nceput valoarea FALSE. Programatorul
trebuie s asigure n corpul ciclrii modificarea, la un moment dat, a valorii expresiei logice, pentru
a evita ciclarea infinit.
La execuia instruciunii WHILE (figura 8.5) se realizeaz urmtoarele operaii:
1.
se evalueaz expresia logic;
2.
dac valoarea este TRUE se trece la pasul 3, altfel se trece la pasul 4;
3.
se execut instruciunea i se revine la pasul 1;
4.
se trece la instruciunea s de dup construcia WHILE.

Figura 8.5. Structura WHILE - DO


Structurile repetitive condiionate posterior se realizeaz cu instruciunea REPEAT (8.53),
care are forma:

(8.53)
REPEAT
instructiune
{;instructiune}
UNTIL conditie;

unde condiie i instruciune au aceleai semnificaii prezentate la instruciunea WHILE.


229

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Instruciunea REPEAT este repetitiv cu numr nedefinit de iteraii, al crei corp se execut
cel puin o dat. La ntlnirea ei, funcioneaz urmtorul algoritm (figura 8.6):

Figura 8.6. Structura DO - UNTIL


1.
se execut corpul de instructiuni S;
2.
se evalueaz expresia logic;
3.
dac valoarea este FALSE, se revine la pasul 1, altfel se trece la pasul 4;
4.
se trece la instructiunea de dup constructia REPEAT.
Programatorul trebuie s asigure n corpul ciclrii modificarea valorii expresiei logice, pentru
a evita ciclarea infinit.
Dac S este mulime de instruciuni, nu este necesar formarea unei instruciuni compuse
deoarece instruciunea REPEAT are delimitatori explicii: cuvintele REPEAT i UNTIL.
Structurile repetitive cu numrtor se realizeaz cu instruciunea FOR (8.54) care are
urmtoarele forme sintactice:

(8.54)
FOR contor := vi TO vf DO instruciune;
FOR contor := vi DOWNTO vf DO instruciune;

unde contor este variabil de tip ordinal pentru controlul ciclrii, vi i vf sunt expresii
compatibile cu tipul contorului, semnificnd valoarea initial, respectiv valoarea final a acestuia,
iar instruciune corespunde corpului ciclului.
Structurile asociate instructiunii FOR sunt prezentate n figura 8.7. Numrul de iteraii se
determin astfel: n= [ORD(vf)-ORD(vi)]+1.

Figura 8.7. Structura DO - FOR


Semnul + se utilizeaz pentru forma instruciunii cu TO, iar semnul - pentru forma cu
DOWNTO. Dac de la nceput n0, s nu se execut i se trece la urmtoarea instruciune. La
sfritul execuiei instruciunii, variabila contor are o valoare nedefinit. Nu se recomand
modificarea de ctre programator a valorii variabilei contor n corpul ciclrii.
Dac algoritmul necesit ca pasul iteraiei s fie diferit de SUCC(v) sau PRED(v), structura
repetitiv cu numrator se va transforma ntr-o structur repetitiv cu numr necunoscut de iteraii
(WHILE sau REPEAT).
8.4. PROCEDURI I FUNCll
Procedurile i funciile sunt secvene de program subordonate (subprograme), care se
execut sub controlul programului principal. Procedurile i funciile prezint aceeai structura n trei
seciuni (antet, seciune de declaraii, seciune de instruciuni) ca i programul.
230

CAPITOLUL 8. LIMBAJUL PASCAL

Procedurile sunt activate prin invocarea numelui lor n instruciuni de apelare, iar funciile
sunt activate prin evaluarea unor expresii care conin apeluri ale acestor funcii ca operanzi,
valoarea rezultat din evaluarea funciilor fiind asociat numelui acestora.
8.4.1. Proceduri
Declaraia unei proceduri asociaz unui bloc un identificator, care este numele procedurii.
Structura general a unei proceduri este urmtoarea:
PROCEDURE nume_proc[(lista_param_formali)]; [opiune;]
LABEL
{declaraii de etichete locale};
CONST
{declaraii de constante locale};
TYPE
{declaraii de tipuri locale};
VAR
{declaraii de variabile locale};
{declaraii de subprograme FUNCTION i PROCEDURE};
BEGIN
{instruciuni -corpul procedurii}; .
END;

Antetul procedurii specific numele procedurii, nume_proc, lista parametrilor formali,


lista_param_formali i, eventual, o opiune.
Detalii asupra listei parametrilor formali sunt date n continuare.
Pentru opiune exist urmtoarele posibiliti:
FORWARD pentru declararea anticipat a procedurii ;
INLINE
pentru proceduri scrise n cod obiect;
EXTERNAL pentru declararea procedurilor externe scrise n limbaj de asamblare;
INTERRUPT pentru declararea procedurilor de ntreruperi.
Activarea unei proceduri se poate realiza printr-o instruciune de apel de procedur, care
specific numele procedurii i, dac este cazul, lista parametrilor actuali:
nume_proc[(lista_param_actuali)];
unde nume_proc este numele utilizat la declararea procedurii, iar lista_param _actuali este
lista parametrilor actuali.
8.4.2. Funcii
Declaraia unei funcii definete un bloc, care calculeaz o valoare asociat numelui funciei.
Funciile prezint o structur similar cu cea a procedurilor:
FUNCTION nume func[(lista_param_formali)]: tip_func; [opiune;]
LABEL
{declaraii de etichete locale};
CONST
{declaraii de constante locale};
TYPE
{declaraii de tipuri locale};
VAR
{declaraii de variabile locale};
{declaraii de subprograme FUNCTION i PROCEDURE};
BEGIN
{instruciuni- corpul funciei};
END.

Antetul funciei specific identificatorul funciei, nume_func, lista parametrilor formali,


lista_param_formali, dac este cazul, i tipul rezultatului funciei, tip_func. Blocul unei funcii
trebuie s conin cel puin o instruciune de atribuire ctre identificatorul funciei. O funcie este
activat prin invocarea ei ca operand ntr-o expresie.
8.4.3. Parametri
Parametrii specificai n listele de parametri ale declaraiilor procedurilor i funciilor se
numesc parametri formali. Parametrii formali sunt identificatori de variabile locale, care pot fi
231

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

referite n blocul subprogramului respectiv. Parametrii utilizai n locul parametrilor formali n


listele de parametri ale apelurilor procedurilor sau funciilor se numesc parametri actuali.
Parametrii actuali pot fi variabile, expresii sau valori.
Parametrii formali ai unui subprogram primesc ca valori actuale valorile corespunztoare din
lista de parametri actuali a apelului subprogramului respectiv i, de aceea, trebuie s existe
coincident de numr i tip ntre parametrii formali i, parametrii actuali corespunztori.
n funcie de modul transmiterii parametrilor actuali ctre parametrii formali, acetia din urm
sunt de dou tipuri:
a) parametri valoare
b) parametri variabil (parametri referin).
Un parametru valoare se comport ca o variabil local a subprogramului apelat, cu
deosebirea c primete ca valoare iniial valoarea parametrului actual corespunztor din lista de
argumente a apelulul subprogramului n momentul apelrii. Modificarea valorii unui parametru
valoare nu are efect asupra valorii parametrului actual corespunztor din blocul apelant. Prin
urmare, prin intermediul unui parametru valoare poate fi transmis o valoare din blocul apelant
ctre subprogram, nu ns i n sens invers. Parametrul actual corespunztor unui parametru valoare
poate fi o expresie, a crei valoare ns nu trebuie s fie de tip fiier, sau s aparin unui tip
structurat care implic n definiie un tip fiier .
Un parametru variabil devine n momentul apelului, i este pe parcursul execuiei
subprogramului, chiar variabil care constituie parametrul actual corespunztor din blocul apelant,
putnd fi identificai n cele dou blocuri prin nume diferite. Orice referire a parametrului formal de
tip variabil acceseaz nsui parametrul actual, modificarea valorii parametrului variabil
reflectndu-se imediat asupra parametrului actual. n consecin, un parametru variabil este,
utilizat n situaia n care trebuie transmis o valoare din subprogramul apelat ctre blocul apelant i,
de aceea, parametrul actual corespunztor trebuie s fie un identificator de variabil de un tip
compatibil, neputnd fi o expresie.
Sintaxa scrierii listei de parametri formali din declaraia unei proceduri sau funcii este
urmtoarea:
( [VAR] id _1, id_2 , ...: tip_1 [ ; [VAR]id_i, id_j , ..: tip_2 ; ...])

unde identificatorii corespunztori aceluiai tip (tip _i) sunt separai prin virgule, grupurile de
identificatori corespunztori unor tipuri diferite fiind separai prin " ; ".
Cuvntul rezervat VAR trebuie s apar numai naintea grupurilor de parametri variabil. n
program argumentul formal n al procedurii fact este parametru valoare, parametrul actual
corespunztor din programul principal este o variabil distinct (dei are acelai nume), care la
revenirea execuiei n programul principal nu este afectat de eventuala modificare a variabilei n din
procedur. Argumentul formal f este declarat ca parametru variabil (fiind precedat de cuvntul
rezervat VAR), pentru ca la revenirea execuiei din procedura n programul principal, parametrul
actual corespunztor f s conin valoarea calculat a factorialului.
Parametrii actuali trebuie separai n lista de argumente prin virgule.
Domeniul de valabilitate al declaraiilor
Declaraia identificatorilor i etichetelor este valabil n interiorul blocului n care au fost
definite, incluznd toate blocurile subordonate. n particular, identificatorii sau etichetele definite n
programul principal pot fi folosite n orice bloc al programului.
Declararea identificatorilor i etichetelor trebuie s fie unic la nivelul exterior dintr-un bloc.
Excepie fac redeclarrile din blocurile subordonate sau cmpurile tipurilor RECORD.
Identificatorii i etichetele pot fi redeclarate n blocurile subordonate blocului n care au fost
declarate, noua declaraie desemnnd obiecte diferite fa de cele declarate la nivelul superior i
fiind valabil pn la revenirea execuiei n blocul apelant, unde ramne valabil declaraia iniial.
Utilizarea unui identificator declarat n lista de argumente formale a subprogramului, implic
considerarea acestuia ca variabil local dac este parametru valoare, sau ca variabil a blocului
apelant dac este parametru variabil. Declaraia este valabil n blocul n care a fost declarat:
232

CAPITOLUL 8. LIMBAJUL PASCAL

- variabile globale - sunt variabile declarate n programul principal i sunt recunoscute n


orice procedura sau funcie;
- variabile locale - sunt variabile declarate n blocul procedurii sau funciei i sunt
recunoscute n blocurile subordonate (de nivel inferior).
O variabil decalarat n program, procedur sau funcie, este considerat global la nivel de
program i local la nivel de procedur sau funcie. Se prefer ca toate variabilele din proceduri sau
funcii, s fie declarate n lista de parametrii formali sau n cadrul procedurii (ca variabile locale),
pentru a nu se modifica variabilele globale n mod nedorit.
Declaraii forward de procedur.
O procedur sau funcie poate apela o procedura sau funcie deja declarat, declararea fiind
amplasat n program nainte de daclararea procedurii sau funciei ce o apeleaz.
O declaraie de procedur ce specific directiva FORWARD n loc de bloc, este o declaraie
FORWARD de procedur. Dup aceast declaraie, procedura poate fi definit oriunde, dar lista de
parametrii formali trebuie s fie surs i s se nchid blocul.
Procedure Nume1 [(lista parametrilor formali)];forward;
..............
Procedure Nume2 [(lista parametrilor formali)];
begin
..............
Nume1(lista parametrilor actuali);
..............
end;
Procedure Nume1;
begin
...............
Nume2(lista parametrilor actuali);
...............
end;
...............
Procedure Nume1 (lista parametrilor formali);forward;
Procedure Nume2 (lista parametrilor formali);
begin
...............
Nume1(lista parametrilor actuali);
...............
end;
Procedure Nume1;
begin
...............
Nume2(lista parametrilor actuali);
...............
end;

Proceduri i funcii recursive. n Turbo-Pascal este permis ca o procedur sau funcie s se


apeleze pe sine. Aceasta tehnic se numete recursivitate.
Folosirea acestei tehnici impune introducerea n program a directivelor de compilare {$S+},
prin care se genereaza un cod care verifica depairea stivei. Directiva de compliare {$M
stacksize, heapmin, heapmax}, stabilete dimensiunea stivei (stacksize), de nceput (heapmin), i
de sfrit (heapmax), a zonei de heap. Valorile implicite sunt: {$M 6384,0,655360}.
Recursivitatea direct. Un subprogram (funcie sau procedur) este direct recursiv
dac se apeleaz pe el insui. Aceasta proprietate este realizabila in PASCAL , datorita faptului ca
variabilele locale ale subprogramului sunt create in momentul apelului si apoi distruse la
sfarsitul executiei subprogramului
Recursivitatea implic activarea unei proceduri sau funcii din propria seciune de instruciuni
(se autoapeleaz). La autoapelri repetate, spaiul ocupat n stiv poate depi limitele admise.
233

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Recursivitatea indirect (mutual) implic apelarea reciproc a dou sau mai multe
subprograme i poate fi realizat cu ajutorul directivei FORWARD, care permite apelarea unui
subprogram naintea definirii sale complete n textul surs.
8.5. FIIERE
Prin fiier n general se nelege o structur de date care const dintr-o secven de
componente. Fiecare component din secven are acelai tip. Numrul acestor componente nu este
fixat. Aceasta este o caracteristicii prin care se distinge clar fiierul de tablou. La un moment dat
ns, este accesibil direct numai o singur component a secvenei. Celelalte componente sunt
accesibile progresnd secvenial n fiier. Progresarea n componentele unui fiier se realizeaz prin
subprograme de citire i de scriere. Datele fiierului sunt stocate de obicei pe un suport magnetic.
Datele se manevreaz, pe purttori tehnici de informaii, dar se prelucreaz numai cnd sunt
prezente n memoria intern, acestea trebuie organizate att extern, ct i intern.
n organizarea extern a datelor se identifica dou niveluri de abordare logic i fizic. Fiierul
reprezint termenul generic care desemneaz structurile de date externe. El reprezint o mulime
(colecie) de date omogene din punct de vedere al semnificaiei i al cerintelor de prelucrare. n
purtatorul extern, fiierul are, pe lng partea de date, i informaii de identificare.
Privit din punctul de vedere al prelucrrii, un fiier este o colecie ordonat de date, numite
articole. Articolul este constituit dintr-o mulime ordonat de valori ale unor caracteristici care
aparin, unei singure entiti Componentele articolului destinate diverselor caracteristici sunt
denumite cmpuri de date. Depinznd de natura, ordinul de mrime i forma de reprezentare extern
a valorilor asociate, fiecare cmp de date are o lungime, exprimat n octeti. Lungimea unui articol
este dat de suma lungimilor cmpurilor care l compun. Dup cum toate articolele dintr-un fiier au
sau nu aceeai lungime, se face distincie ntre fiierele cu articole de lungime fix sau variabil.
Limbajul Pascal accept att fiiere cu articole de lungime fix (stabilit la momentul fiecrei
prelucrri), ct i de lungime variabil (implementat prin separarea fizic a dou nregistrari
alturate - de exemplu, prin caracterele CR/LF).
Principiile i regulile dup care se memoreaz articolele unui fiier pe purtatorul extern, cu
asigurarea proteciei i regsirii acestor, constituie metoda de organizare. n evoluia organizrii
datelor externe s-au conturat mai multe metode (secvenial, relativ, indexat), dintre care, n
limbajul Pascal este inclus metoda de organizare secvential. Tipul de acces reprezint modalitatea
de regsire (localizare) a articolelor din fiier. Noiunea de acces trebuie aplicat att pentru
operaia de scriere, ct i pentru cea de citire a datelor.
Accesul secvenial este posibil la toi purtatorii tehnici de date i presupune nscrierea
nregistrrilor n ordinea furnizrii lor i regsirea ulterioar n ordinea n care au fost nscrise n
suport. O problem important la consultarea (citirea) n acces secvenial este controlul ajungerii la
sfritul fiierului. Dupa citirea ultimei entiti (articol, bloc, linie sau cmp), pointerul indic
marcatorul (logic sau fizic) de sfrit de fisier EOF (End of File).
n accepiunea limbajului Turbo Pascal, pot fi definite trei structuri de tip fiier:
fiier cu tip
fiier text
fiier fr tip,
S notm cu f o variabil de tip fiier. nainte ca variabila s fie ulilizat, ea trebuie asociat
cu un fiier extern, prin apelul procedurii Assign. n general, fiierul extern este un fiier pe disc,
dar variabila de fiier poate fi asociat i cu un dispozitiv (de exemplu tastatura, ecran). Fiierul
extern marcheaz informaiile scrise n, fiier sau furnizeaz informaiile depuse. Dup ce s-a
stabilit asocierea cu un fiier extern, fiierul trebuie "deschis". Aceast deschidere pregtete fiierul
pentru citire i/sau scriere. Un fiier existent poate fi deschis cu ajutorul procedurii Reset. Un fiier
nou poate fi deschis cu procedura Rewrite. Fiierele de tip text deschise cu Reset permit doar
operaii de citire; fiierele de tip text deschise cu procedura Rewrite sau Append permit numai
234

CAPITOLUL 8. LIMBAJUL PASCAL

operaii de scriere. Fiierele cu tip sau fr tip permit att citiri ct i scrieri, indiferent dac ele au
fost deschise cu Rewrite sau cu Reset.
Fiecare fiier este o secven liniar de componente, fiecare component avnd tipul de baz
al variabilei fiier. Fiecare component a fiierului are asociat un numr, numit numrul
componentei. Prima componenta a fiierului este considerat avnd numrul de component zero.
Cea de a doua componenta are numrul 1 i aa pn la n-1 ultima component.
n mod normal accesul la componentele fiierului este secvenial. Aceasta nseamn ca atunci
cnd se citete o component cu ajutorul procedurii standard Read, sau cnd se scrie o component
cu ajutorul rocedurii standard Write, poziia curent de fiier se deplaseaz la urmtoarea
component, n sensul ordonrii numerice. n afar de acest mod de acces, fiierele cu tip i fiierele
fr tip permit i accesul direct (aleator) la componentele fiierului. Accesul direct se bazeaz pe
procedura de cutare Seek, care mut poziia curent n; fiier pe o component specificat. Dup
aceast poziionare componenta astfel aleas poate fi citit. Funciile standard File-Pos i File-size
permit determinarea poziiei curente n fiier, respectiv a dimensiunii actuale a fiierului. Cnd
prelucrarea componentelor unui fiier se termin, fiierul trebuie nchis cu procedura standard
Close. Dup ce fiierul a fost nchis, se vor actualize datele fiierului extern asociat. Dup fiecare
apel de procedur i funcie standard de intrare/ieire se testeaz automat reuita operaiei de
intrare/ieire. n cazul n care apare o eroare, programul se termin i se afieaz un mesaj, de eroare
n execuie. Directiva de compilare $I permite ca aceast eroare s fie tratat n program. n stare
decuplat {$I-}, programul nu se oprete la o eroare de intrare/ieire. Pentru a analiza cauza erorii,
se apeleaz funcia standard IoResult, care n caz de operaie reuit returneaz valoarea zero, iar n
caz de eec returneaz o valoare diferit de zero, care codific natura erorii. tergerea fiierului
extern asociat unui fiier nchis poate fi realizat cu procedura Erase.
n procesul de citire a unui fiier, faptul c s-a ajuns la sfritul fiierului poate fi urmrit cu
funcia Eof. Aceast funcie returneaz valoarea logica true dac s-a ajuns la sfiritul fiierului,
respectiv false n caz contrar. Logica apelurilor diferitelor subprograme i funcii standard de
intrare/ieire sint prezentate n figura 8.8.

Figura 8.8. Principalele proceduri utilizate la lucrul cu fiiere


Fiiere cu tip, reprezint o secven de componente, fiecare component avnd acelai tip,
numit tipul de baz al fiierului. Fiierele cu tip sunt constituite, logic, din articole de lungime fix,
235

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

crora li se asociaz numere relative, ncepnd de la zero. Fiierele cu tip se mai numesc fiiere cu
prelucrare la nivel de articol. Operaiile de acces la articolele fiierelor cu tip transfer date fr
conversie. Unitatea de transfer este articolul, definit ca variabil de acelai tip cu fiierul.
Mecanismul fizic de "decupare" a articolelor n cadrul fiierului se bazeaz pe faptul c ele au
lungime fix (lart), definit n momentul prelucrrii. Operaia de I/E transfer atia octei ci
indic lart. Lungimea fisierului, exprimat n octei, este memorat n intrarea lui din director
(sfritul de fiier este logic). Numrul de articole din fiier (Filesize(f)) este determinat de sistem
prin mprirea ntreag a lungimii acestuia la lart. Fiierele cu tip accept accesul secvenial i
relativ la articole. Accesul secvenial poate fi combinat cu cel relativ n cadrul aceluiai program.
Poziionarea direct pe articolul cu numrul relativ r se realizeaz cu procedura Seek(f,r). Citirea
articolelor se face cu procedura Read, iar scrierea cu procedura Write. Asupra fiierelor cu tip nu se
pot aplica funciile Eoln, SeekEoln, SeekEof i procedurile WriteLn, ReadLn.
Tipul fiier cu tip se declar conform diagramei 8.55, unde tip este orice tip de date Pascal,
mai puin tipul fiier.
(8.55)
O variabil de acest tip poate fi declarat printr -o declaraie de forma:
var nume_fiier : file of tip_de_baz;
unde tip _de_baz este un tip arbitrar, exceptnd tipul fiier (nu exist fiier de fiiere).
Deseori tipul de baz este un tip nregistrare (record), astfel nct fiecare linie a unui fiier
reprezint o nregistrare cu toate cmpurile completate.
Fiiere de tip text, conine caractere structurate pe linii, fiecare linie fiind terminat cu un
caracter de sfrit de linie (EOLN character). Lungimea liniilor este variabil. Caracterul de sfrit
de linie este de regul CR (ASCII #13), care poate s fie urmat i de un caracter LF (ASCII #10).
Un fiier text este terminat cu un caracter de sfrit de fiier CTRL-Z.
Fiierele TEXT accept numai accesul secvenial. Operaia de citire se realizeaz cu
procedurile Read i ReadLn, iar scrierea cu procedurile Write si WriteLn. Deoarece datele
memorate n fiiere TEXT au reprezentarea extern ASCII, nu toate tipurile de date pot face
obiectul operaiilor de citire/scriere. Nu pot fi citite/scrise date de tip SET sau enumerativ, date de
tip ARRAY sau RECORD, ci numai elemente ale acestora. Exist dispozitive fizice care accept
numai fiiere TEXT, cum ar fi: tastatura, care emite numai coduri ASCII. Tipul TEXT se declar
conform diagramei 8.56, unde TEXT este cuvntul rezervat.
(8.56)
Un fiier text este declarat prin tipul predefinit text, de exemplu:
var f : text;
Notm c un fiier text nu este echivalent cu un fiier de tip file of char.
Lungimea liniilor fiind variabil, poziia unei linii n cadrul fiierului nu este calculabil. n
consecin, la fiiere text accesul nu poate fi dect secvenial.
Asocierea numelui fiierului la suportul extern este realizat cu procedura Assign.
Deschiderea fiierului poate fi realizat prin trei subprograme standard. Un fiier nou se
deschide cu procedura Rewrite, un fiier existent poate fi deschis fie la nceputul fiierului, fie la
sfritul lui, n vederea adugrii liniilor noi. Deschiderea la nceput se realizeaz cu procedura
Append.
Pentru fiiere text, formele speciale ale subprogramelor Read i Write permit citirea i
scrierea nu numai a valorilor de tip caracter, ci i a valorilor de tip ntreg, real i de tip ir de
caractere. De exemplu, Read(f,i), unde i este o variabil de tip intreg, va citi o secven de cifre,
care vor fi interpretate ca un ntreg zecimal, i care va fi depus n variabila i.
Detectarea caracterelor de sfrit de linie poate fi realizat cu funcia Eoln, care returneaz
valoarea true dac s-a ajuns la sfritul liniei curente.
236

CAPITOLUL 8. LIMBAJUL PASCAL

Funcia SeekEoln este similar cu Eoln; exceptnd faptul c se sare peste blancuri i tab-uri,
dup care se testeaz starea de sfrit de linie.
Starea de sfrit de fiier poate fi testat cu funcia Eof, precum i cu funcia SeekEof; aceasta
sare peste blancuri i tab-uri, dup care se returneaz true dac s-a ajuns la sfritul fiierului.
Procedura SetTextBuf permite ataarea unui tampon de intrare/ieire de lungime dat la un
fiier text. Golirea tamponului unui fiier text deschis pentru scriere poate fi realizat cu procedura
Flush.
Aa cum s-a artat la generaliti despre fiiere, exist dou fiiere text standard: Input i
Output. Fiierul Input este destinat numai pentru operaii de citire i este asociat cu fiierul
standard de intrare al sistemului de operare (de regul claviatur). Fiierul Output este destinat
numai pentru operaii de scriere i este asociat cu fiierul standard de ieire al sistemului de operare
(de regula ecranul). Aceste fiiere sunt deschise automat nainte de nceputul execuiei, ca i cum ar
fi prezente instruciunile.
Assign(Input,' '); Reset(Input);
Assign(Output,' '); Rewrite(Output);
Aceste fiiere sunt nchise automat dup ce s-a terminat execuia programului.
Unele proceduri i funcii de intrare/ieire permit ca numele fiierului s nu fie specificat n
lista de argumente. n acest caz se presupune c fiierul text implicit este sau Input, sau Output, n
funcie de natura subprogramului. De exemplu, Read(x) este echivalent cu Read (Input,x), iar
Write(x) este echivalent cu Write(Output,x).
Un fiier deschis cu Reset suport numai proceduri i funcii orientate spre citire. Analog, un
fiier deschis cu Rewrite sau Append permite utilizarea acelor proceduri i funcii, care sunt
orientate spre scriere.
Fiiere fr tip, sunt canale de intrare/ieire de nivel inferior, utilizate n primul rnd pentru
accesul direct la orice fiier disc, indiferent de tipul i de structurarea intern a fiierului.
Fiierele fr tip sunt construite, logic, din blocuri de lungime fix, asupra crora nu se face
nici o ipotez de structur. Se mai numesc fiiere cu prelucrare la nivel de bloc. Unitatea de transfer
este blocul, a carui lungime este definit, implicit sau explicit, la deschiderea fiierului (parametrul
RecSize). Transferul datelor ntre memoria intern i suportul extern se realizeaz fr conversie.
ntre fiierele cu tip i cele fr tip exist multe asemnri de prelucrare. Dintre aceste, cele
mai importante se refer la faptul ca transferul este binar (fr conversie) i ca entitile transferate
(articolul sau blocul) au lungime fix. Deosebirea esenial dintre cele dou tipuri de fiiere const
n aceea c la fiierele cu tip, articolul are definit o structur, iar la cele fr tip, blocului nu i se
asociaz o structura.
Tipul fiier fr tip se declar conform diagramei 8.57, unde FILE este cuvnt rezervat.
(8.57)
n operaiile de intrare/ieire, la fiierele fr tip informaiile sunt transferate direct ntre fiier
disc i variabile, economisindu-se astfel spaiul necesar zonei tampon. Un fiier fr tip este
compatibil cu orice fiier (cu tip sau text).
Pentru fiiere fr tip, procedurile de deschidere Reset i Rewrite permit folosirea unui
parametru auxiliar. Acest parametru specific lungimea unei componente a fiierului. Valoarea
acestui parametru, din motive istorice, este 128. Se recomand alegerea valorii 1, deoarece aceast
valoare permite reflectarea corect a dimensiunii exacte a fiierului (cnd aceast valoare este 1, nu
sunt posibile componente fracionate).
Exceptnd procedurile Read i Write, toate procedurile i funciile standard utilizabile pentru
fiierele cu tip sunt permise i pentru fiierele fr tip. n locul procedurilor Read i Write, pentru
realizarea transferurilor rapide de date sunt folosite procedurile BlockRead i BlockWrite.
Procedura BlockRead citete din iierul fr tip un numr precizat de componente, care se
depun n memorie de la o adres specificat. La revenire din procedur, o variabil -care se poate
specifica opional va conine numrul componentelor citite efectiv. Dac aceast variabil nu este
specificat, i dac nu s-a reuit citirea tuturor componentelor, va apare o eroare de intrare/ieire.
237

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Procedura BlockWrite scrie n fiierul fr tip un numr precizat de componente,


componentele fiind luate de la o adres specificat. La revenire din procedura o variabil opional
va conine numrul componentelor scrise efectiv. Dac aceast variabil nu este specificat i dac
nu s-a reuit scrierea tuturor componentelor, atunci va apare o eroare de intrare/ieire.
Numrul componentelor se determin cu funcia FileSize, iar numrul componentei actuale se
determin cu funcia FilePos. Procedura Truncate permite trunchierea fiierului, pornind de la
componenta actual din fiier.
Caracteristici generale ale algoritmilor de prelucrare a fiierelor Pascal
Organizarea datelor n fiiere pe supori externi de informaii presupune proiectarea unor
algoritmi specifici operaiilor de gestiune a acestora, denumii generic algoritmi de prelucrare a
fiierelor de date. Datorit complexitii aplicaiilor care prelucreaz fiiere este recomandat
aplicarea metodei modularizrii algoritmilor i programelor. Modularizarea presupune ca, pe baza
analizei problemei, s se descompun rezolvarea ei n pri distincte, numite module, astfel nct
fiecare dintre acestea s ndeplinieasc anumite funcii. Descompunerea se poate realiza n mai
multe faze (pe mai multe niveluri), prin metoda top-down. Criteriile de descompunere n module se
refera la: omogenizarea funciilor; utilizarea diverselor structuri de date; separarea funciilor de
intrare/iesire de funciile de prelucrare; utilizarea unor module deja existente; utilizarea eficient a
resurselor calculatorului. Modulele se implementeaz n program prin proceduri interne sau externe.
De cele mai multe ori o aplicaie necesit existena mai multor fiiere active simultan, cu rol
diferit (de intrare, de ieire, de intrare/iesire). Indiferent de numrul fisierelor utilizate, n marea
majoritate a algoritmilor, logica prelucrrii este coordonat, la un moment dat, de un singur fiier,
obligatoriu de intrare, parcurs secvenial, numit fiier conductor (sau director). Fiierul conductor
are proprietatea ca articolele lui pot fi citite independent de prelucrarea altor fiiere. Accesul la
datele memorate n fiierul conductor se realizeaz la nivel de articol. De aceea, algoritmii de
prelucrare, indiferent de operaia de gestiune, necesit utilizarea unei structuri repetitive pentru
parcurgerea (parial sau integral) a fiierului.
Modulul NCEPUT se realizeaz o singur dat, naintea prelucrrii primului articol al
fiierului conductor i cuprinde urmtoarele grupe de operaii:
Operaii iniiale specifice, facultative, existena lor depinznd de particularitile problemei
abordate care includ, n principal: iniializri de variabile de total, afiri ale antetului, titlului i/sau
a capului de tabel pentru situaii de ieire etc.
Modulul PRELUCRARE se execut repetitiv (n general, printr-o structur WHILE-DO) i
cuprinde, pe de o parte, totalitatea operaiilor de prelucrare a articolului curent al fiierului
conductor - operaii specifice fiecrei probleme - i, citirea unui articol din fiierul conductor.
Modulul SFRIT se execut o singur dat, dup prelucrarea ultimului articol al fiierului
conductor i include urmtoarele grupe de operaii: operaii finale standard, corespunznd
nchiderii fiierelor implicate n prelucrare; operaii finale specifice, care depind de natura
problemei i includ, de regul: afiarea variabilelor de total, a statisticilor privind operaiile de
gestiune executate, nchiderea situaiilor de ieire etc.
Modalitatea de detectare/tratare a sfritului de fiier conduce la existena mai multor
variante ale schemei generale de prelucrare cu fiier conductor, prin forme particulare ale condiiei
sfrsit_de_prelucrare. n funcie de variantele alese, se pot construi scheme logice valabile pentru
toate tipurile de fiiere sau numai pentru fiierele binare, scheme valabile pentru toate tipurile de
fisiere.
8.6.

TIPURI DINAMICE DE DATE

Datele de tip static au caracteristici care limiteaz rezolvarea unor clase de probleme.
Spaiul de memorie aferent unor astfel de date se definete i se rezerv la dimensiune
maxim, prestabilit, ca spaiu propriu care nu poate fi disponibilizat i nici mprit cu alte date,
chiar dac, n momentul diverselor execuii ale programului, nu este n ntregime utilizat (rezervare
static sau la momentul compilrii).
238

CAPITOLUL 8. LIMBAJUL PASCAL

Componentele structurilor statice ocup locuri prestabilite n spaiul rezervat, determinate de


relaia de ordonare specific fiecrei structuri.
Limbajul definete operaiile admise cu valorile componentelor, potrivit tipului de baz al
structurii, nct numrul maxim i ordinea componentelor structurii nu pot fi modificate.
n aceste condiii, structurile statice sunt dificil de utilizat n rezolvarea problemelor care
prelucraz mulimi de date pentru care numrul i ordinea componentelor se modific frecvent n
timpul execuiei programului. Limbajul PASCAL ofer posibilitatea utilizrii datelor de tip
dinamic, crora li se pot aloca i elibera zone de memorie pe parcursul execuiei programului.
Lucrul cu adrese n Pascal
Adresarea memoriei se realizeaz prin registre ale unitii centrale, care au apacitatea de un
cuvnt. La adresarea n modul real, pentru formarea unei adrese fizice din spaiul de 1Mo este
necesar folosirea a dou registre: de segment (segment), care conine adresa de nceput a
segmentului, numit i adresa de baz; de deplasare (offset), care precizeaz distana la care se afl
octetul adresat fa de nceputul segmentului. Astfel, orice adres din memorie poate fi specificat
n formatul segment:offset sau, n ali termeni, baz:deplasare. Memoria este mprit n
paragrafe de cte 16 octei, iar fiecare segment ncepe la grani de paragraf, adic de la o adres
divizibil cu 16. ntr-un spaiu de 1Mo sunt 216 paragrafe, adresa de nceput a unui segment,
corespunznd unui numr de paragraf, poate fi reprezentat ca o valoare pe 16 bii. Adresele din
segmentul curent se numesc apropiate (near), iar cele din afara acestuia sunt ndeprtate (far).
Accesul la o adres apropiat presupune doar schimbarea coninutului registrului de deplasare, n
timp ce pentru o adres ndeprtat trebuie schimbat att valoarea registrului de segment, ct i a
celui de deplasare.
n unitatea System sunt definite functiile Seg(Var x):WORD, Ofs(VAR x):WORD care
furnizeaz adresa de segment i deplasarea variabilei, procedurii sau funciei x. n Pascal exist
tipul de date pointer, memorat pe dou cuvinte, n care cuvntul superior (high) conine partea de
segment, iar cuvntul inferior (low) pe cea de deplasare asociate unei adrese. Pentru a se putea
exemplifica modul de lucru cu adrese, se precizeaz faptul c:
tipul pointer se definete prin construcia de forma ^tip;
adresarea indirect a unei variabilei se definete prin construcia identificator^;
referirea adresei unei variabile se definete prin construcia @identificator.
n sintaxa @identificator, identificator se refer la o variabil, procedur sau funcie. Efectul
referirii @identificator este similar celui obinut prin funcia Addr definit n unitatea System
astfel: Addr(VAR x):pointer, unde x este variabil, funcie sau procedur. Folosirea referirii
identificator^ presupune existena unei adrese valide n variabila identificator.
Structura memoriei la execuia unui program
Dup ncrcarea programului executabil, memoria aferent lui se structureaz n urmtoarele
regiuni (segmente): segmentul prefix program, regiunea de cod, segmentul de date, stiva i zona
heap. Pentru adresarea acestora, unitatea central de prelucrare folosete registre specializate, la
unele dintre ele existnd acces direct sau indirect.
Segmentul prefix al programului (PSP) este o zon de 256 de octei constituit la ncrcarea
n memorie a fiierului de tip .EXE. Adresa de segment este memorat n variabila public
PrefixSeg, de tip WORD, definit n unitatea System.
Regiunea de cod este constituit din mai multe segmente de cod: unul corespunznd
programului principal, respectiv cte unul pentru fiecare unitate referit n program. Registrul CS
conine adresa de start a instruciunilor programului, iar registrul IP (registru pointer al
instruciunilor) precizeaz adresa urmtoarei instruciuni de executat. Programele Pascal nu au
acces la registrul IP, dar valoarea curent a registrului CS poate fi obinut cu funcia CSeg.
Segmentul de date este unic i conine constantele cu tip urmate de variabilele globale.
Atunci cnd necesarul de memorie pentru datele interne depete 64Ko, trebuie s se recurg la
folosirea unor tehnici adecvate (memorarea datelor n heap sau pe medii externe, folosirea
compactrii etc.).
239

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Segmentul de stiv, ca i cel de date, poate avea maximum 64Ko, reducndu-se la unul
singur. Stiva este folosit n lucrul cu subprograme pentru memorarea parametrilor formali,
variabilelor locale i adreselor de revenire.
Zona variabilelor dinamice, poate corespunde ntregii memorii convenionale a
calculatorului, rmas disponibil dup ncrcarea programului. n heap se memoreaz variabilele
dinamice, buffer-ele pentru structuri de reacoperire i pentru lucrul n modul grafic. Adresa de
nceput a zonei heap este dat de variabila public HeapOrg, iar adresa curent este dat de
variabila HeapPtr, ambele de tip pointer, definite n unitatea System. Alocarea variabilelor ncepe
de la adrese mai mici ctre adrese mai mari, spaiul maxim ce poate fi alocat unei variabile
neputnd depi 64Ko (65520 octei), ca urmare a limitrilor impuse mecanismului de adresare a
memoriei. Dup modul lor de funcionare, stiva i heap-ul pot fi asimilate cu dou stive aezate
spate n spate. Programatorul poate controla repartizarea memoriei disponibile ntre stiv i heap n
faza de execuie cu directiva de compilare {$M}, care are urmtoarea form sintactic:
{$M StackSize,HeapMin,HeapMax}
StackSize trebuie s fie un ntreg din domeniul 1024 (1Ko) la 65520 (64 Ko), prin care se
specific mrimea segmentului de stiv. HeapMin i HeapMax specific dimensiunea minim,
respectiv maxim a heap-ului, teoretic cu valori ntre 0 si 640 Ko. Riguros, HeapMin poate avea
valori de la 0 la 655360, iar HeapMax trebuie s fie n domeniul de la HeapMin la 655360. Valorile
implicite pentru aceti parametri de alocare sunt {$M 16384,0,655360}.
Rezult c dimensiunea implicit a stivei este de 16 Ko, iar zona de heap se extinde, teoretic,
n tot spaiul rmas liber n memoria convenional. Practic, din dimensiunea de 640 Ko trebuie
sczut, pe lng spaiul ocupat de programul nsusi, cel corespunztor componentelor sistemului de
operare rezidente n memorie pe parcursul executiei.
Tipuri dinamice de date
n Pascal se opereaz cu dou tipuri de date dinamice - referin i pointer - primele fiind "cu
tip" iar celelalte "fr tip".
Tipul referin are sintaxa:
tip_referint=^tip_de_baz;
Simbolul ^ are semnificaia de "indirect". Datorit asocierii cu un tip de baz, variabilele
tip_referint se mai numesc i variabile cu referin legat. La compilare, pentru astfel de variabile,
se vor rezerva n segmentul de date dou cuvinte i la referirea lor se vor genera instruciuni cod
main conform tipului de baz, dar cu adresare indirect. nainte de referire, n variabilele de
tip_referint trebuie s se ncarce adresele variabilelor de tipul tip_de_baz. Declararea unui tip
referin permite referirea anterior declarrii tipului de baz. Astfel, urmtoarea secven de
declarri este corect: TYPE pointer_a=^vector; vector=ARRAY[1..20] OF REAL;
Construcia sintactic a referirii unei variabile dinamice depinde de caracteristicile tipului su
de baz: este de forma identificator^ n cazul tipurilor nestructurate sau celor structurate care permit
referirea global (STRING, RECORD i SET); conine prefixul identificator^, urmat de elementele
specifice modului de referire a componentelor, n cazul tipurilor structurate care permit referirea pe
componente (ARRAY, STRING i RECORD).
Tipul pointer este desemnat prin cuvntul rezervat pointer. Variabilele de tip pointer pot fi
denumite variabile cu referint liber, deoarece pot fi folosite la memorarea adreselor pentru
variabile de orice tip. Tehnica de lucru cu astfel de variabile este asemntoare celei prezentate la
tipul referin. Utilizarea efectiv presupune o asociere explicit cu un anumit tip de baz, dar
soluia folosit este diferit. La tipul referin, asocierea se face prin declarare, iar n cazul tipului
pointer asocierea se realizeaz la utilizare, prin diverse tehnici. O posibilitate este asigurat de
referinta typecasting (transfer de tip), care are forma general: tip(variabil), unde tip este un tip
standard sau declarat anterior de utilizator iar variabil poate fi cu/fr tip sau o referin prin
pointer, de forma variabil_pointer^.
Din punct de vedere fizic, variabilele de tip referint_legat i pointer memoreaz adrese sub
forma segment:offset. n limbajul de specialitate, ambele tipuri se definesc prin termenul pointer.
240

CAPITOLUL 8. LIMBAJUL PASCAL

Urmtorul evemplu evalueaz expresia e:=a+b, folosind adresarea indirect pentru toate
variabilele (a i e prin referint_cu_tip iar b prin pointer):
VAR
a,b,e:REAL; pa,pe:^REAL; pb:POINTER;
BEGIN
pa:=addr(a); pb:=@b; pe:=@e;
Write(A=); ReadLn(pa^);
Write(B=); ReadLn(REAL(pb^));
pe^:=pa^+REAL(pb^);
WriteLn(E= ,pe^:8:2))
END.

Variabilele pointer (referin sau pointer) pot fi puse n relaie cu operatorii = i < >. Dou
variabile vor fi egale dac au componentele segment, respectiv offset egale. De remarcat faptul c
dou variabile de tip pointer care indic aceeasi adres pot fi neegale, deoarece le difer
componentele. Variabilele pointer pot fi folosite n atribuiri. Att n relaii ct i n atribuiri sunt
definite urmtoarele clase de compatibilitate: tipul referin este compatibil cu orice alt tip dinamic;
dou variabile de tip referin sunt compatibile dac sunt de acelai tip.
Observaie: pa i pb nu sunt de acelai tip dac sunt declarate astfel: pa:^real; pb:^real. Ele
sunt de acelai tip dac sunt declarate astfel: pa,pb:^real.
Este definit o constant simbolic (nil) cu semnificaie de valoare nul a tipului dinamic
(valoarea nil nu puncteaz o zon de memorie).
Utilizarea zonei heap
Noiunea de dinamic este strns legat de utilizarea zonei de memorie heap (dei tipul
dinamic poate fi asociat variabilelor memorate n orice component a memoriei principale).
n unitatea System sunt definite urmtoarele variabile de tip pointer, care pot fi folosite n
gestionarea zonei heap: HeapOrg, HeapPtr, HeapEnd, HeapError, FreeList.
HeapOrg puncteaz pe adresa de nceput a zonei heap, iar HeapEnd d adresa de sfrit a
heap-ului.
HeapPtr conine urmtoarea adresa disponibil din heap. Ea este variabila prin care se
gestioneaz fiecare nou alocare, punctnd pe prima adres disponibil din heap. Toate procedurile
de alocare (New, GetMem, Mark) lucreaz cu aceast variabil. HeapError corespunde adresei
rutinei de tratare a erorilor de alocare pentru variabile dinamice. FreeList servete la gestiunea
blocurilor devenite libere n interiorul heap-ului, punctnd pe primul bloc liber n heap, care
puncteaz pe al doilea. Ultimul bloc liber puncteaz pe vrful heap-ului, adic pe locatia dat de
HeapPtr, asigurndu-se astfel posibilitatea realocrii acestor spaii. Dac n interiorul heap-ului nu
exist blocuri libere, atunci FreeList va fi egal cu HeapPtr.
n unitatea System sunt definite o serie de proceduri i funcii care pot fi utilizate n lucrul cu
variabilele dinamice. Procedurile GetMem(p,n), FreeMem(p,n), respectiv New(p) i Dispose(p) se
folosesc pentru a aloca /elibera un bloc a crui adres este dat de variabila pointer sau referint, p.
Se poate stabili dac spaiul disponibil este acoperitor pentru o variabil de un anumit tip,
scriind o relaie de forma MaxAvail >= SizeOf (tip).
Alocarea i eliberarea zonelor pentru variabile referint_legat se face cu procedurile New,
respectiv Dispose, definite n unitatea System astfel:
New(VAR p:pointer), Dispose(VAR p:pointer).
Procedura New rezerv n heap o zon de memorie de lungime egal cu cea indicat de tipul
de baz i ncarc n variabila p adresa acestei zone. Exist dou niveluri de rezervare: static
(corespunztoare lui px) i dinamic (datorat procedurii New(px), care rezerv variabila n heap, n
conformitate cu tipul de baz). Din punct de vedere fizic, operaia realizeaz memorarea n variabila
p a valorii HeapPtr i avansarea acesteia din urm cu lungimea specific tipului de baz.
Dac nu exist o zon contigu disponibil de lungime mai mare sau egal cu cea necesar se
genereaz eroare de execuie. Procedura Dispose elibereaz zona alocat variabilei. Urmtorea
alocare se poate face pe spaiul eliberat, dac este acoperitor ca lungime. Fizic, se reface n HeapPtr
valoarea de dinaintea alocrii prin New.
241

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

Prin posibilitatea de generare a unor succesiuni de valori de acelai tip, de la simpla alocare
dinamic de spaiu pentru o singur valoare a unei variabile se poate trece la realizarea unor
structuri dinamice de date.
Acest lucru este posibil pe baza nlnuirii succesiunilor de valori, ca urmare a includerii la
fiecare element al structurii a dou pri:
o parte de informaii, corespunznd valorii propriu-zise a elementului;
o parte de legtur, care va conine adresa urmtorului element.
Alocarea i eliberarea zonelor pentru variabile de tip pointer se realizeaz cu procedurile
GetMem, respectiv FreeMem, definite n unitatea System astfel:
GetMem(VAR p:pointer; l:WORD), FreeMem(VAR p:pointer; l:WORD).
Efectul acestora este asemntor procedurilor New i Dispose, cu precizarea c este necesar
specificarea lungimii, care nu poate fi dedus implicit, neexistnd un tip de baz.
Spaiul alocat la un apel al procedurii GetMem corespunde dimensiunii articolului (6 octeti).
Ca alternative ale procedurilor New, GetMem, respectiv Dispose, FreeMem, pot fi folosite
procedurile Mark i Release, definite n unitatea System astfel:
Mark(VAR p:pointer), Release(VAR p:pointer).
Procedura Mark memoreaz n variabila p valoarea din HeapPtr, iar procedura Release
depune n variabila HeapPtr coninutul variabilei p. Folosirea n pereche a procedurilor Mark i
Release ofer posibilitatea ca dup diverse alocri s se restabileasc valoarea variabilei HeapPtr cu
valoarea memorat prin Mark.
Apelul Release(HeapOrg) aduce HeapPtr pe nceputul zonei heap (elibereaz zona).
n exemplul urmtor, se memoreaz n y adresa de la un moment dat a lui HeapPtr (fie ea a),
se modific HeapPtr prin rezervarea a 12 octei (pentru x2, x3), se reface coninutul lui HeapPtr cu
adresa a, ceea ce nseamn c x3^ se rezerv la aceast adres (n locul variabilei x2^).
VAR
x1,x2,x3.x4:^REAL;
y:POINTER;
BEGIN
New(x1); x1^:12;
Mark(y);
New(x2); x2^:=10;
New(x3); x3^:=34;
Release(y);
New(x4); x4:=46;

{Memorarea valorii HeapPtr in Y}


{Reincarcarea valorii din Y in Heapptr}
{Se va memora peste valoare 10 din x2}

O alt facilitate a limbajului consta n posibilitatea utilizrii tipurilor care se autorefer (sunt
definite recursiv). Tipul reper "list" repereaz un tip "articol", n care cmpul "urmtor" la rndul
lui este de asemenea de tip "lista". Aceasta facilitate poate fi folosit de exemplu la alctuirea
listelor nlnuite. Dup crearea unei variabile dinamice a crei adres este depus ntr-o variabil
de tip reper, ea poate fi accesat prin aa zisa dereperare: numele variabilei de tip reper este urmat
de semnul ^. Acest semn poate fi urmat i de un alt calificator (de cmp, de tablou, etc.).
8.7. UNITI DE PROGRAME
Unitile de program (UNIT-uri), stau la baza programarii modulare n Turbo- Pascal.
Ele sunt folosite pentru a crea biblioteci ce pot fi incluse n diferite programe. Programele
mari se pot mpari n module logice create i testate separat.
Unit-ul este o colecie de constante predefinite, declaraii de tip i variabile, funcii i
proceduri, care sunt stocate n forma compilat i este recunoscut dup identificatorul de nume, care
are extensia .TPU
Incorporarea Unit-urilor n programul Turbo-Pascal, se realizeaz cu instruciunea USES,
plasat n prima linie de program, dup linia de titlu PROGRAM (dac aceasta exist).
Formatul general al instructiunii USES este:
242

CAPITOLUL 8. LIMBAJUL PASCAL

USES Nume_unit1[,Nume_unit2,...];
unde:
Nume_unit1, Nume_unit2,... - reprezint numele Unit-urilor ce vor fi incorporate n
program.
La ntlnirea acestei instruciuni, compilatorul pregateste incorporarea n program a unit-ului
specificat n USES, astfel:
A - caut unit-urile specificate n fiierul Turbo.TPL. Dac acesta este gsit, este ncrcat n
memoria central i astfel codurile obiect sunt incorporate n program;
B - dac unit-ul nu se gsete n Turbo.TPL, compilatorul caut n catalogul de uniti un
fiier cu numele unit-ului i extensia .TPU. Dac este gsit, se realizeaz paii de la punctul A.
C - dac nu-l gasete, compilatorul caut un fiier surs cu numele unit-ului i extensia .PAS.
Daca l gsete , acesta va fi compilat i-l va include n program;
D - dac un astfel de fiier nu exista, este semnalat eroarea.
n Turbo-Pascal se pot folosi dou categori de Unit-uri:
- unit-uri STANDARD
- puse la dispoziie de mediul Turbo-Pascal;
- unit-uri NESTANDARD - create de utilizatori.
Unit-urile STANDARD sunt urmatoarele:
- unit-ul SYSTEM, conine toate funciile i procedurile de baz din Turbo-Pascal. Acest
unit se ncarc automat.
- unit-ul DOS, conine proceduri i funcii echivalente cu funciile DOS cele mai
utilizate.
- unit-ul OVERLAY, conine proceduri i funcii care permit gestionarea segmentelor de
program pentru proiectarea programelor mari.
- unit-ul CRT, conine proceduri i funcii pentru folosirea ecranului n mod alfanumeric
i a tastaturii.
- unit-ul GRAPH, conine proceduri i funcii, pentru folosirea ecranului n mod grafic.
- unit-ul PRINTER, conine funciile de lucru cu imprimanta.
- unit-urile GRAPH3,TURBO3, care permit folosirea programelor mari scrise n TurboPascal versiunea 3.0.
Unitile STANDARD sunt pastrate n fiierul bibliotec Turbo.TPL
Actualizarea acestui fiier se poate face cu programul utilitar TPUMOVER.EXE.
Unit-urile NESTANDARD, sunt acele unit-uri create de utilizatori, n care sunt incluse
proceduri i funcii proprii utilizatorului.
Crearea unui unit propriu, necesita urmtoarele etape:
- editarea unit-ului;
- compilare in memorie i eliminarea erorilor de compilare;
- salvarea Unit-ului editat i compilat n memorie sub un nume de fiier (care va fi numele
unit-ului), cu extensia .PAS;
- compilarea fiierului pe disc, obinndu-se fiierul cu extensia .TPU
Dup creare, unit-ul poate fi incorporat n program, folosind instructiunea USES.
Editarea Unit-ului
Initial programatorul editeaza textul unui unit ntr-un fiier surs nume_unit.PAS.
Pentru a edita unit-ul, se deschide un fiier folosind opiunea OPEN din meniul FILE (F10,
File, Open, sau ALT-F,O), i se introduce numele viitorlui UNIT.
Se deschide o fereastr de editare cu numele UNIT-ului, n care se va edita codul surs ntr-o
anumit structur.
Structura unui unit consta din:
- titlul Unit-ului (UNIT HEADING);
- seciunea INTERFACE - care conine lista de declaraii de constante, tipuri, variabile,
proceduri i funcii;
- seciunea IMPLEMENTATION - care conine codul surs a procedurilor i funciilor
declarate n seciunea INTERFACE;
243

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

- seciunea INITIALIZATION - care conine instruciuni pe care Turbo-Pascal-ul le execut


la prima apelare a Unit-ului, respectiv la linia final din programul principal.
Forma generala n limbajul Turbo-Pascal a unui Unit este:
UNIT Nume_unit;
INTERFACE
uses

{lista unit-urilor folosite}


{declaratii globale }
{lista de proceduri si functii globale}
IMPLEMENTATION
{declaraii locale de etichete}
{declaratii locale de constante}
{declaraii locale de tipuri}
{declaraii locale de variabile}
{proceduri i funcii}
[ begin
{iniializare}
end.

{instruciuni} ] {opional}
{sfrit iniializare i unitate}

Numele unitii Nume_unit , este identificatorul unitii utilizat n clauza USES.


Numele acestor uniti trebuie s difere ntre ele.
Lista unit-urilor folosite, este lista numelor unitilor utilizate de unitatea curent. Ordinea
unitilor este oarecare, exceptnd cazul cnd o unitate apeleaza pe alta; atunci unitatea apelat
trebuie s precead unitea apelant.
Declaraiile globale, conin declaraii de constante, tipuri i variabile accesibile altor uniti.
Lista de funcii i proceduri, cuprinde antetele funciilor i procedurilor accesibile altor
uniti.
Procedurile i funciile conin declaraiile procedurilor i funciilor locale sau globale i corpul
acestora cu zona de instruciuni cuprins ntre Begin i End.
Secvena de iniializare cuprinde instruciunile care trebuiesc executate nainte de declanarea
execuiei programului principal.
Exemplu:
Unit Mate;
{O+F+}
INTERFACE
function fact(x:integer):longint;
IMPLEMENTATION
function fact(x:integer):longint;
var f:longint; i:integer;
begin
f:=1;
for i:=2 to x do f:=f+i;
fact:=f;
end
end.

Incorporarea acestui unit ntr-un program se realizeaz cu linia USES Mate;


Program calcule;
uses mate;
var NFact:longint;
-----begin
-----NFact:=Nfact(10);
-----end.

Programul apeleaz funcia Fact(10) care este definit n unitul Mate.


244

CAPITOLUL 8. LIMBAJUL PASCAL

Compilarea n memorie i eliminarea erorilor la compilare.


Dup terminarea editarii se verific dac opiunea de compilare Compile din meniul
COMPILE, este setat pe MEMORY dup care se efectueaz complilarea (ALT+F9 sau ALT+F,C).
Daca n timpul compilrii apar erori, acestea se vor corecta i se va relua compilarea.
Rezultatul compilrii unit-ului editat, este fiierul nume_unit.PAS.
Salvarea Unit-ului compilat sub numele viitorului unit (nume folosit la OPEN) se realizeaz
cu opiunea Save din meniul FILE (F2 sau ALT+F,S)
Se obine fiierul cu numele nume_unit.Pas
Compilarea Unit-ului
Se procedeaz la setarea opiunii Compile pe Compile Disk (din meniul Compile ALT+F10,C
sau ALT+F9)
Se obine fiierul nume_unit.TPU, care reprezint fiierul obiect al unit-ului.
Cnd se efectueaz modificri n partea de implementare, sau de iniializare a unui unit,
unitile care-l utilizeaz trebuiesc recompilate.
Cnd se efectueaz modificri n interfaa unit-ului, trebuiesc recompilate toate unit-urile care
la rndul lor o utilizeaz.
Acest lucru se efectueaz automat cu Compile Built i Make din meniul Compile.
Comanda Make, compar data crerii fiierului surs (.PAS) i obiect (.TPU) ale unitilor
folosite i le recompileaz pe cele care au fost modificate dar nu au fost compilate din nou.
Comanda Built, recompileaz toate unitile indiferent de data crerii.
Codul obiect generat pentru fiecare Unit, nu trebuie s depaseasc 64k, fiid limitat de
dimensiunea unui segment n care trebuie s se ncadreze.
Organizarea programelor mari. Fiiere incluse.
Editorul Turbo Pascal poate trata programe a cror text nu depete 64K.
Programele mai mari trebuiesc mprite n mai multe fiiere, a cror grupare poate fi realizat
prin directive de includere.
Un exemplu este dat n programul urmtor, dispus n dou fiiere diferite.
Fiierul inclus Proc.inc conine textul:
Procedure ListareFisier;
Var i : integer;
Begin
....corp procedura ....
End.

Fiierul principal Princ.pas conine:


{$I Proc.inc}
Begin
ListareFisier;
End;

Directiva $I face ca Turbo Pascal s trateze coninutul fiierului Proc.inc ca parte a


programului, plasat chiar n poziia directivei.
Forma generala a directivei de includere este :
{$I nume_fisier_inclus}

unde:
nume_fisier_inclus este identificatorul unui fiier coninnd un text surs Pascal.
Dac numele nu este nsoit de extensie, Turbo Pascal consider implicit extensia .Pas.
Stive i cozi
Listele, implementate dinamic, sunt foarte utile atunci cnd se lucreaz cu multe informaii,
pe care vectorii se dovedesc incapabili a le stoca, sau ineficieni.
Un caz particular de liste (simplu nlnuite) l constituie stivele i cozile. Acestea
implementeaz dou mecanisme diferite de intrare i ieire a elementelor din lista. La ambele
feluri de liste, un nod al listei este o nregistrare ce conine o informaie (info), precum i un
pointer (indicator) ctre urmtorul element al listei (prec sau urm).
245

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

. Stiva este o structur dinamic de date reprezentat de o list simplu nlnuit n care
mecanismul de intrare-ieire a elementelor este de tip LIFO Ultimul intrat este primul ieit (last in
first out). Este de ajuns un pointer ctre primul element al stivei, pentru a realiza att operaia de
adugare a unui element (numit Push), ct i cea de eliminare (Pop), deoarece ambele operaii se
realizeaz prin partea superioar a listei.
. Coada este o structur dinamic de date reprezentat de o list simplu nlnuit n care
mecanismul de intrare-ieire a elementelor este de tip FIFO primul intrat este primul ieit (first in
first out). n cazul cozii, avem nevoie de doi pointeri, unul ctre primul element al cozii (capul
cozii), iar altul ctre ultimul su element (coada cozii), deoarece introducerea n list se face prin
spate, iar eliminarea prin fa. (Exist i o variant de coad circular, n care elementele sunt legate
ntr-un cerc, iar cei doi pointeri, indicnd capul i coada cozii, sunt undeva pe acest cerc.).
Liste dublu nlnuite
n cazul listelor dublu nlnuite avem, spre deosebire de stive i cozi, urmtoarele noi
elemente:
exist doi pointeri speciali: nceput i sfrit care pointeaz ctre dou celule extreme ale
listei, dar care nu fac parte din list; ei se numesc santinele,
exist un pointer numit curent care indic ntotdeauna elementul curent din list;
fiecare element a listei este legat prin doi pointeri (prec i urm) de elementele dinaintea i
de dup el din cadrul listei;
avem un cmp lungime, care va indica lungimea listei.
Operaiile ce se cer a se efectua cu o astfel de list sunt:
iniializarea listei;
adugarea unui element ta sfritul listei;
inserarea unui element naintea elementului curent din list;
tergerea elementului curent din list.
afiarea listei.
Cnd se adaug sau se insereaz un nou element n list, acel element devine cel curent. Cnd
elementul curent se terge din list, locul su este preluat de elementul care l succeda, n cadrul
listei. n momentul n care se introduce sau se elimin un element din list, dispar unele legturi i
apar altele. Procese aproape inverse se realizeaz la eliminarea elementului curent din list. Firete,
acest lucru se poate realiza doar dac lista nu este vid. Pentru a elibera efectiv zona de memorie
ocupat de elementul eliminat, se apeleaz procedura Dispose. Eliminarea elementului curent va
presupune legarea elementului ce-l precede cu cel ce l succede. Succesorul elementului eliminat
devine element curent, iar lungimea listei scade cu o unitate.
Arbori binari. Arborescene n digrafuri
Fie H=(V,E) un digraf (graf orientat). Se numete rdcin a lui G un vrf V0V astfel nct
oricare ar fi un vrf vV, exist cel puin un drum de la V0 la v. Dac H=(V,E) este un digraf, prin
graful suport al lui H vom nelege graful obinut din H, prin renunarea la orientarea arcelor. H se
numete arborescent dac are o rdcin i graful su suport este arbore.
n informatic, arborescentele sunt numite, prin abuz de limbaj, arbori, specificndu-se
rdcina i considernd implicit orientarea muchiilor corespunztor parcurgerii drumului unic de la
rdcin la fiecare vrf. Fiecare vrf are astfel nite fii, adic vecinii imediat urmtori pe drumul de
la rdcin n jos (ctre frunze, adic noduri fr fii). Un arbore cu cel mult doi fii se, mai numete
i arbore binar. Se pote considera arborele ca fiind organizat pe mai multe niveluri. Primul nivel
este cel al rdcinii. Urmeaz nivelul fiilor acesteia i tot aa pn la ultimul nivel, cel al ultimelor
frunze.
Referirea unui arbore binar i, implicit, definirea sa, pote fi fcut printr-un pointer ctre
nodul su rdcin. Fiecare nod din arbore este o nregistrare cu urmtoarele elemente:
o informaie info de tip ntreg;
doi pointeri ctre cei doi fii (subarborii stng i drept) ai nodului: stg i dr.
n programul care urmeaz, vom construi astfel de arbori, care au n plus urmtoarea
proprietate: fiecare nod din arbore este mai mare sau egal cu nodurile din fiul stng i mai mic dect
246

CAPITOLUL 8. LIMBAJUL PASCAL

nodurile din fiul drept (din punct de vedere al cmpului info). Un astfel de arbore se numete
arbore de cutare - sortare,
O cutare a unui element n astfel de arbori este ntr-adevr uor de realizat: dac elementul
cutat este identic cu informaia din nod, atunci cutarea se ncheie cu succes, dac nu, atunci se
pleac pe una din cele dou direcii: dac elementul cutat este mai mic, atunci se merge pe fiul
stng, altfel pe fiul drept. Dac se ncearc o trecere dincolo de un nod terminal, deci la nil, atunci
cutarea eueaz.
Un arbore binar poate fi parcurs n trei feluri:
n inordine se parcurge mai nti, recursiv, n inordine, fiul stng, apoi rdcina, apoi fiul
drept;
n postordiner se parcurge fiul stng, apoi cel drept, n final rdcina;
n preordine se parcurge rdcina, fiul stng i apoi fiul drept.
Se observ c parcurgerea n inordine a unui astfel de arbore duce la afiarea n ordine
cresctoare a elementelor din nodurile arborelui, motiv pentru care astfel de arbori pot fi considerai
i de sortare.
Memorarea arborilor oarecare n arbori binari se realizeaz dac legm rdcina 1 de
nodul 2, iar apoi, nodul 2 poate fi legat de primul fiu al su (21) i de urmtorul fiu al rdcinii, deci
3, despre care se spune c este un frate a lui 2. Procednd astfel pentru toate nodurile din arbore,
vom obine un arbore binar, cu dou legturi: cea din stnga este ctre primul fiu, iar cea din dreapta
ctre primul frate din dreapta al acestui fiu.
Arborii oarecare se vor memora sub forma unei structuri ce conine o informaie info (de tip
Integer), un numr de fii (NrFii), precum i un vector de pointeri (referine) ctre toi fii nodului n
cauz (fiu: array[1..max] of arbore).
8.8

PROGRAMAREA ORIENTAT SPRE OBIECTE

O tendin natural n evoluia limbajelor de programare este de a pune n coresponden


obiectele acestei realiti cu reprezentri ct mai fidele la nivelul limbajului.
Limbajele orientate spre obiecte elimin neajunsurile menionate prin includerea conceptelor
de ncapsulare i motenire, pentru caracterizarea acestor limbaje care sugereaz c reprezentarea
obiectelor n limbaj se apropie tot mai mult de realitatea acestora.
ncapsularea realizeaza "fuziunea" dintre datele i procedurile caracteristice unui obiect,
ntr-o structur unic ce-l caracterizeaz static i comportamental. Motenirea permite captarea
unor mecanisme naturare ca specializarea, abstractizarea, aproximarea i evoluia. Motenirea poate
fi folosit pentru organizarea mai bun a prelucrrilor.
Programarea orientat spre obiecte este o tehnic de programare, iar un limbaj de
programare orientat spre obiecte are mecanismele-suport necesare acestui stil de programare.
Limbajul este nzestrat cu elementele care fac programarea orientat spre obiecte suficient de
comod.
Unitatea grupeaz datele i procedurile de prelucrare a lor, cu urmtoarele efecte:
-ascunde utilizatorului unitii amnuntele de implementare a listei (ncapsulare);
-furnizeaz o interfaa clar de acces la list, doar prin procedurile i funciile definite;
-face iniializarea listei.
Utiliznd tehnica modularizrii, sunt posibile urmtoarele soluii:
-modificarea unitii de program lista, astfel nct s gestioneze un numr oarecare de
liste, nu doar una singur;
-utilizarea unei uniti separate, cu acelai coninut dar cu nume diferit, pentru
gestionarea unei a doua liste,
Definirea obiectelor
Dei programarea orientat spre obiecte este un stil de programare -fundamental deosebit de
cel tradiional, construciile sintactice ale limbajului Turbo Pascal care o faciliteaz pot fi nelese ca
"extinderi" ale unora mai vechi. Astfel, asocierea dintre datele caracteristice unor subprobleme i
247

PROGRAMAREA CALCULATOARELOR I LIMBAJE DE PROGRAMARE N INDUSTRIA LEMNULUI

procedurile de prelucrare a lor nu este nou, ea fiind ntlnit i n cazul unitilor de program. n
cazul obiectelor, programatorul are posibilitatea s defineasc aceast asociere n forma unui tip,
care se comport aproape la fel ca celelalte tipuri ale limbajului, cum ar fi nregistrrile: se pot
declara variabile avnd tipul respectiv i se pot realiza prelucrri cu ele. Acest nou tip poart
numele de object.
Obiectul conine declaraii att pentru date, ct i pentru proceduri i funcii, ntr-o form
similar definirii unei nregistrri. Procedurile i funciile declarate ntr-un obiect se numesc
metode. Obiectul cuprinde doar antetul metodelor, blocurile asociate lor urmnd a fi specificate
separat. Cmpurile de date sunt definite ca n nregistrri, prin selectorul i tipul fiecruia.
O metod este identificat prin numele obiectului la care se refer, urmat de un punct i de
numele procedurii sau al funciei, dup tiparul notaiei unui cmp de nregistrare. n schimb, n
blocul metodei, cmpurile de date sunt referite doar prin selector, ca i cum acesta s-ar afla sub
incidena unei instruciuni with referitoare la obiectul corespunzator.
Odat ce a fost definit un object, pot fi declarate instane ale sale. Acestea pot fi valorile unor
variabile-obiect statice, declarate n maniera cunoscut (declaraia var), sau ale unor variabile
dinamice create prin aplicarea procedurilor predefinite new i getmem unor variabile referine la
obiectul declarat.
O astfel de modificare direct a cmpurilor unei instane nu este n concordan cu stilul
programrii cu obiecte, care recomand folosirea exclusiv a metodelor. Apelul unei metode are
forma uzual a apelului oricarei proceduri sau funcii, cu observaia ca numele metodei este prefixat
de numele variabilei creia i se aplic.
Observaie. Terminologia adoptat n Turbo Pascal difer de cea a altor limbaje orientate
spre obiecte. Astfel, n C + + , se utilizeaz denumirile clasa (pentru un tip obiect) i obiect (pentru
o instan). Turbo Pascal este mai conservator, denumirile adoptate fiind n concordan cu
noiunile mai vechi ale limbajului. Prin urmare, se vorbete despre un tip object n acelai mod n
care ne referim la un tip nregistrare i despre o variabil obiect la fel ca despre o variabil
nregistrare.
Variabilele obiect pot fi iniializate cu ajutorul declaraiei const, similar altor variabile.
Deoarece iniializarea se refer doar la cmpurile obiectelor nu i la metode, iniializarea
variabilelor obiect are aceeai form cu iniializarea variabilelor nregistrare: numele instanei
insoit de tip i de lista valorilor iniiale ale cmpurilor, inclus ntre paranteze rotunde. Valoarea
iniial a unui cmp este precedat de selectorul acestuia.
Unul din scopurile programrii orientate spre obiecte este utilizarea obiectelor ca entiti
complete, de sine stttoare: niciunul din cmpurile unui obiect nu trebuie s fie direct accesibil
utilizatorului, orice operaie asupra sa realizndu-se prin intermediul metodelor. Metodele trebuie s
alctuiasca un set ct mai complet de operaii relative la object. Metodele permit testarea i
actualizarea oricrui cmp al obiectului, eliminnd necesitatea adresrii directe la cmpurile
acestuia.
Utilizatorul are la dispoziie un set complet de metode pentru prelucrarea cmpurilor
obiectului, accesul direct la aceste cmpuri nu este ngrdit, deoarece ele sunt declarate n partea de
interfa, la fel ca metodele. Versiunea 6 a limbajului Turbo Pascal permite ns divizarea
declaraiei obiectului n dou seciuni: una public, accesibil din afara obiectului i una privat,
accesibil doar n cadrul obiectului, inclusiv n declaraiile metodelor sale. Se asigur astfel o
protecie a cmpurilor i metodelor private. Prin aceasta, se elimin posibilitatea manevrrii lor
incorecte, prin aciuni din afara obiectului, de ndat ce metodele care au acces la ele sunt puse la
punct. Seciunea privat este specificat prin cuvntul cheie private i se afl dup seciunea
public a obiectului.
Definiia unui obiect ncepe cu declararea elementelor publice, urmat de seciunea privat.
Aceasta este indicat de cuvntul cheie private, urmat de declaraiile corespunztoare. Exist
i situaii n care i unele metode sunt dispuse n zona privat.
Includerea unor structuri de date n altele este un procedeu obinuit de realizare a unor
structuri complexe. O astfel de imbricare nu este permis n cazul obiectelor. Exist totui un
248

CAPITOLUL 8. LIMBAJUL PASCAL

mecanism prin care un object s moteneasc componentele altui obiect, declaraia primului trebuie
s fac o referire la cel de-al doilea obiect.
Definirea metodei init ntr-un obiect face ca metoda init a strmoului su s nu mai fie
motenit, fiind astfel redefinit. n schimb ea poate fi utilizat n noua metod, evitnd astfel
duplicarea codului necesar cmpurilor care sunt prezente. Redefinirea unei metode poate schimba
lista parametrilor acesteia.
Spre deosebire de metode, ale cror nume pot fi duplicate, selectorii cmpurilor nu pot fi
redefinii n nici un obiect descendent.
Metode statice i virtuale.
Dac dorim s mbogim metodele obiectelor definite anterior cu una de modificare a unui
cmp, aceast metod ar trebui adugat obiectului, de ea beneficiind, prin motenire i obiectul.
Mecanismul care permite realizarea unei legturi dinamice este acela al metodelor virtuale.
Sintactic, declararea unei metode virtuale se face prin adugarea cuvntului rezervat virtual
antetului metodei din declaraia obiectului. Dac o metod a fost declarat virtual ntr-un obiect, ea
trebuie declarat virtual n toi descendenii acestuia, antetul metodei rmnnd nemodificat n toi
descendenii (nu se pot modific parametrii i nu se poate schimba o funcie cu o procedur sau
invers).
Implementarea metodelor virtuale se bazeaz pe construcia unor tabele de metode virtuale
(virtual method table -VMT), care conin adresele metodelor virtuale. Fiecare obiect care conine o
metod virtual are o astfel de tabel realizat de o metod special a obiectului numit
constructor. El trebuie apelat naintea oricrei metode virtuale; de obicei el este apelat naintea
oricarei alte metode a obiectului. Sintactic, constructorul difer de celelalte metode prin prezena
cuvntului rezervat constructor, n loc de function sau procedure.
Funcia invers celei a constructorului este realizat de o alt metod special, numit
destructor. Sintactic, ea se deosebete de celelalte metode prin cuvntul rezervat destructor folosit
n locul cuvintelor procedure sau function.
Destructorul este ultima metod apelat a unui obiect. Uzual, destructorul nu are parametri.
Mecanismul metodelor virtuale se bazeaz pe construirea i utilizarea unei tabele de metode
virtuale (VMT -Virtual Methods Table) pentru fiecare object. Ea are urmtoarea alctuire:
-dimensiunea obiectului (1 cuvnt);
-valoarea negativ a primului cuvnt;
-adresa primei metode virtuale (2 cuvinte: segment + deplasare)
-adresa celei de-a doua metode virtuale etc.
Al doilea cuvnt al acestei structuri este prevzut pentru validarea tabelei n cazul n care se
utilizeaz directiva de compilare ($R+ }. Ea const n nsumarea primelor dou cuvinte, rezultatul
fiind zero dac tabela este iniializat corect i diferit de zero n caz contrar.
La apelul unei metode virtuale, Turbo Pascal transmite automat prin stiv adresa variabileiobiect prin care s-a facut apelul. De exemplu, la apelul s.afisare se transmite prin stiva adresa lui s.
Aceasta este cunoscut sub denumirea de parametrul self i este ultimul parametru ncrcat n stiv
la apelul metodei.
Compatibilitatea obiectelor. Variabilele obiect pot fi copiate prin instruciuni de atribuire i
pot fi folosite ca parametri variabile, la apelul subprogramelor. Rutinele cu parametri variabile
objecte pot fi incluse ntr-o unitate, i pstrate n forma compilat. Obiecte care conin referine.
Dac un object are un cmp referin, constructorul trebuie s realizeze nu numai iniializarea VMT
ci i a cmpurilor de tip referin (cu NIL, sau prin alocarea memoriei pentru variabilele dinamice).
Referine la obiecte. n Turbo Pascal este permis utilizarea variabilelor referin la obiecte.
Variabilele dinamice referite se creeaz i se distrug prin apelul procedurilor predefinite new
i dispose. Acestea au fost extinse astfel nct prima s fac automat apelul constructorilor
obiectului referit, dup alocarea spaiului necesar instanei corespunztoare, iar a doua s apeleze
automat destructorul nainte de eliberarea spaiului ocupat de instana referit.
Turbo Pascal consider c toate tipurile derivate sunt compatibile n privina operaiei de
atribuire, cu tipurile object de la care provin.
249

BIBLIOGRAFIA
1. Baron, C., Murean, M., s.a. Bazele informaticii, Editura Oscar Print,Bucureti, 2001
2. Bocu, D. Introducere n programarea calculatoarelor utiliznd limbajului Pascal, Editura
Albastr, Cluj-Napoca, 2001
3. Bott, E., Leonhard, W. Microsoft Office XP, Editura Teora, Bucureti, 2002
4. Bucerzan, D., Vulpe, A. Lecii de utilizare a calculatoarelor, Editura Albastr, ClujNapoca, 2001
5. Collin S., H. - Dictionary of Computing, Peter Collins Publishers, 1990
6. Cowart, R., Knittel, B. Microsoft Windows XP professional, Editura Teora, Bucureti,
2002
7. Glenn, W. - Microsoft Windows XP n imagini, Editura Teora, Bucureti, 2002
8. Ionescu, M., Ionescu, I., Mihai, F., Pan, A., Stanciu, A., Oancea, M., Mihailov, G.
Informatica utilizatorului. Office 2003, Editura Infomega, Bucureti, 2004
9. Johnson, S., Perspection, Inc. - Microsoft Windows XP, Editura Teora, Bucureti, 2002
10. Mihilescu T., Coma Gh.,N. s.a. Programarea i proiectarea asistat de calculator.
Indrumar de laborator. Limbajul Turbo-Pascal. Fascicula 2. Reprografia Univeresitii
TRANSILVANIA Braov 1993
11. Mihilescu, T., Coma, Gh. .a Programare i Proiectare Asistat de calculator.
Indrumar pentru Lucrri Practice. Fascicula 1. SISTEMUL DE OPERARE MS-DOS,
Reprografia Universitii Transilvania Braov, 1992
12. Kovacs, S. Excel 2000. Ghid de utilizare, Ed. Albastr, Cluj-Napoca, 2001
13. McFedries, P. Microsoft Windows Vista. Utilizare i performan, Editura All,
Bucureti, 2007
14. Mueller, S. PC. Depanare i modernizare, vol I i II, Editura Teora, Bucureti, 2003
15. Munteanu, A., Greavu-Serban, V., Cristescu G.- Reele Windows. Servere i clieni.
Exemple practice, Editura Polirom, Bucureti, 2004
16. Negus, C. Red Hat Lunux 8, Editura Teora, Bucureti, 2003
17. Norton, P., Kearn, D. Reele de calculatoare, Editura Teora, Bucureti, 2002
18. Overland, B. C++. Ghid pentru nceptori, Editura Corint, Bucureti, 2005
19. Ptru, B. nvai limbajul Pascal n 12 lecii, Editura Teora, Bucureti, 2002
20. Perry, G. nva singur Microsoft Windows XP n 24 de ore, Editura Niculescu,
Bucureti, 2004
21. Perry, G. nva singur Microsoft Windows XP n 24 de ore, Editura Niculescu,
Bucureti, 2004
22. Ruest, N., Ruest, D, - Windows Server 2003 pentru administratori, Editura All, Bucureti,
2003
23. Schmidt, H. C. Manual Complet, Editura Teora, Bucureti, 2003
24. Schwarz, M., Anderson, J., Curtis, P., Murphy, S. Instrumente Linux, Editura Niculescu,
Bucureti, 2005
25. Simmons, C. Totul despre Windows Vista, Editura Rosetti, Bucureti, 2007
26. Sinclair I.,R., n Collins Dictionary of Personal Computing, Haper Collins Publishers,
ediia a 2-a, 1991

250

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