Sunteți pe pagina 1din 145

UNIVERSITATEA DIN BACU

FACULTATEA DE INGINERIE

DAN ROTAR

SISTEME DE OPERARE
Note de curs
Indrumar de laborator

EDITURA ALMA MATER BACU


2007
CUPRINS
pagina
CAPITOLUL 1
1. Sistemul de operare. Definiie. Caracteristici. 6
1.1. Generaliti 6
1.2. Caracteristicile sistemelor de operare 8
1.3. Tipuri de sisteme de operare 9
1.4. Obiectivele sistemelor de operare 10

CAPITOLUL 2
2. Administrarea informaiei 11
2.1. Generaliti 11
2.2. Reprezentarea i existena obiectelor 11
2.3. Stabilirea cii de acces 12
2.4. Interfaa cu administrarea resurselor 12
2.5. Structura unui proces 13

CAPITOLUL 3
3. Administrarea resurselor 14
3.1. Generaliti 14
3.2. Resurse, cereri, alocare 14
3.3. Administrarea resurselor de calcul 16
3.4. Concluzii 20
3.5. Administrarea memoriei 21
3.5.1. Administrarea memoriei principale 21

CAPITOLUL 4
4. Controlul paralelismului 23
4.1. Generaliti 23
4.2. Procese (taskuri) 24
4.3. Interaciunea ntre procese 25
4.4. Resurse generalizate 26

CAPITOLUL 5
5. Sistemul de operare DOS 28
5.1. Generaliti 28
5.2. Caracteristicile microprocesoarelor Intel din familia 80x86 28
5.2.1. Modurile de funcionare 28
3
5.2.2. Registrele interne 29
5.2.3. ntreruperile 32
5.3. ncrcarea i lansarea n execuie a sistemului de operare DOS 33
5.4. Organizarea memoriei sub sistemul de operare DOS 34
5.5. Configurarea sistemului (fiierul CONFIG.SYS) 35
5.6. Fiierul AUTOEXEC.BAT 41
5.7. Organizarea i specificarea fiierelor sub DOS 41
5.8. Comenzile sistemului de operare DOS 42
5.9. Funcii sistem 43
5.10. ntreinerea sistemului de operare DOS 47

CAPITOLUL 6
6. Sistemul de operare UNIX 48
6.1. Generaliti 48
6.2. Structura general a sistemului de operare UNIX 49
6.3. Accesul n sistem 50
6.4. Structura fiierelor sub sistemul de operare UNIX 51
6.4.1. Tipuri de fiiere 51
6.4.2. Structura arborescent a sistemului de fiiere 52
6.4.3. Protecia fiierelor. Drepturi de acces. 52
6.4.4. Montarea volumelor n arborele sistemului de fiiere 54
6.5. Operarea sub sistemul de operare UNIX 54
6.6. Instalarea sistemului de operare UNIX 56
6.7. Iniializarea sistemului de operare UNIX 56
6.8. Sesiunea de lucru 57
6.9. Administrarea i ntreinerea sistemului de operare UNIX 57
6.9.1. Administrarea sistemului 57
6.9.2. ntreinerea i securitatea sistemului 58

CAPITOLUL 7
7. Sistemul de operare Windows 59
7.1. Generaliti 59
7.2. Utilizarea programelor DOS sub Windows 9x 60
7.3. Arhitectura sistemului de operare Windows 62
7.4. Descrierea suprafeei de lucru (DESKTOP) 63
7.5. ntreinerea sistemului de operare Windows 64

LABORATOR
A. INTRODUCERE N SISTEME DE OPERARE

Laborator 1 - Caracteristicile fizice i capacitatea harddiscului 65


Laborator 2 - Partiionarea harddiscurilor 70
Laborator 3 - Partiionarea harddiscurilor (continuare) 76
Laborator 4 - Formatarea 80
Laborator 5 - Instalarea sistemului de operare DOS 84
Laborator 6 - Instalarea sistemului de operare Windows 86
ntrebri de test 87
Laborator 7 - Instalarea sistemului de operare LINUX 93
4
Laborator 8 - Managementul partiiilor 101
Laborator 9 - Lucrul cu programul Partition Magic 105
Laborator 10 - Crearea partiiilor sub sistemul de operare Linux 111
Laborator 11 - Programe pentru crearea imaginii partiiilor 113
Laborator 12 - Instalarea mai multor sisteme de operare pe acelai
115
sistem de calcul

B. SISTEME DE OPERARE

Laborator 1 - Utilizarea funciilor sistem DOS 119


Laborator 2 - Emulatorul DOS 136
Laborator 3 + 4 - Lucrul sub sistemul de operare UNIX 138
Laborator 5 - Intreinerea sistemului de operare Windows 141
ntrebri de verificare 142

BIBLIOGRAFIE 145

5
CAPITOLUL 1
1. Sistemul de operare. Definiie. Caracteristici.
1.1. Generaliti
Sistemul de operare este componenta software cea mai important a unui
calculator numeric. Din acest motiv, performanele unui sistem de calcul sunt n mod
esenial influenate de performanele sistemului de operare. n prezent exist nu numr
foarte mare de sisteme de operare, fiecare dintre acestea prezentnd anumite avantaje
pentru diferite situaii de utilizare a unui sistem de calcul. Prezena unui sistem de
operare nu este absolut necesar pentru funcionarea unui calculator. Sisteme de calcul
mai simple sau mai complexe pot funciona cu programe ce au doar rol de gestionare a
resurselor calculatorului, fr ca partea de interfa cu utilizatorul s fie foarte
dezvoltat. n general, astfel de sisteme de calcul sunt reprezentate de calculatoare de
proces de complexitate relativ redus care nu necesit intervenia operatorului dect prin
comenzi simple. n acest caz, sistemul de operare este nlocuit cu un program de
complexitate mai redus, numit n general program monitor. Din acest punct de vedere,
calculatoarele pot fi mprite n dou mari categorii: calculatoare de uz general i
calculatoare specializate. Prin calculator de uz general nelegem, n acest context, un
calculator numeric ce poate acoperi o gam larg de aplicaii i la care dialogul cu
operatorul uman este consistent. Calculatoarele specializate au un domeniu ngust de
aplicare ele fiind destinate anumitor aplicaii bine definite, avnd o funcionare
autonom i la care intervenia operatorului uman este redus sau chiar inexistent. De
exemplu, partea de comand a unei imprimante este reprezentat de fapt de un
microsistem. Chiar i pentru imprimantele foarte performante, dialogul cu operatorul se
rezum la apsarea ctorva butoane i aprinderea unor diode LED. Pentru creterea
gradului de confort a utilizatorului, marea majoritate a imprimantelor actuale pot
dialoga prin intermediul interfeei cu sistemul de calcul la care este conectat, utiliznd
posibilitile sistemului de operare a acestuia n scopul afirii unor mesaje sau
introducerea unor comenzi. Legtura dintre programul monitor ce se gsete n memoria
microsistemului imprimantei i sistemul de operare al calculatorului la care este
conectat imprimanta este asigurat de ctre programul driver. Pentru calculatoarele
specializate de complexitate mare exist sisteme de operare de tip special care acoper
necesitile unor astfel de sisteme de calcul. n prezent se manifest tendina de a
generaliza utilizarea sistemelor de operare destinate sistemelor de calcul de uz general
(n special a sistemelor de operare Windows, Windows NT i UNIX i variante ale
acestora) i la sistemele de calcul specializate. Aceast tendin este justificat din cel
6
puin dou puncte de vedere. n primul rnd, comanda sistemelor de calcul specializate
devine mult mai simpl pentru o clas mult mai mare de utilizatori, trecerea de la
operarea pe un calculator de uz general pe unul specializat fcndu-se fr probleme
majore iar n al doilea rnd, creterea complexitii i a performanelor sistemelor de
operare destinate calculatoarelor de uz general, precum i apariia n structura acestora a
unor elemente specifice sistemelor de operare specializate, permite utilizarea sistemelor
de operare destinate calculatoarelor de uz general i la calculatoarele specializate.
n figura 1.1 este prezentat schematic structura programelor unui calculator
numeric.

Aplicaii

Sistem de
BIOS Dialog cu
operatorul prin
Structura fizic intermediul unui
a calculatorului limbaj de
(hardware) comand

operare
utilizator

Fig. 1.1. Structura programelor unui calculator


numeric

Sistemul de programe a calculatorului este compus n general din programul


BIOS, sistemul de operare i programele de aplicaie. Toate aceste programe
interacioneaz ntre ele funcionnd ca veritabile interfee. Astfel, programul BIOS este
o interfa ntre structura fizic a calculatorului (componenta hardware) i sistemul de
operare iar sistemul de operare este o interfa ntre programul BIOS i programele de
aplicaie. Folosirea unei astfel de structuri permite modificarea unei componente fizice
sau de program fr a fi necesar schimbarea celorlalte componente (de exemplu
schimbarea unei interfee seriale nu va necesita modificri n programul de aplicaie
care utilizeaz aceast component sau a sistemului de operare, ci doar modificri la
nivelul programului BIOS), obinndu-se astfel o mare flexibilitate i portabilitate a
sistemului de programe. Portabilitatea se refer la proprietatea unui program de a fi rulat
fr modificri pe calculatoare cu configuraii diferite.
Din cele prezentate rezult c sunt posibile mai multe definiii pentru sistemul de
operare n funcie de destinaia i caracteristicile acestuia.
n general, un sistem de operare este un ansamblu de programe de control i de
serviciu care ghideaz un calculator n executarea sarcinilor sale i asist programele de
aplicaie i utilizatorul prin intermediul anumitor funciuni. Sistemul de operare trebuie
deci s fie capabil s asigure o interfa ntre calculatorul propriu-zis i utilizator. El este
deci interpretul cerinelor utilizatorului, exprimate ntr-un limbaj de control (sau de
comand).

7
1.2. Caracteristicile sistemelor de operare
Aa cum s-a artat, multitudinea sistemelor de operare existente n prezent,
impune stabilirea unor caracteristici pe baza crora s poat fi realizat o evaluare a
performanelor acestora i a adecvanei la scopul propus. Chiar dac la momentul actual
exist cteva sisteme de operare consacrate care domin piaa, de multe ori raportul
performan/pre nu este n favoarea acestora, n anumite domenii de aplicare. n acelai
timp, exist nc o disput aprins ntre specialiti, asupra criteriilor de performan
minime la care trebuie s rspund un sistem de operare, n aa fel nct acesta s fie
corespunztor unui anumit domeniu de aplicare. Punerea n eviden a anumitor atribute
ale sistemelor de operare constituie ns singura modalitate de a obine anumii termeni
de comparaie a sistemelor de operare, fr ca acetia s aib un caracter absolut i
exhaustiv. n continuare sunt prezentate pe scurt cteva elemente ce pot fi luate n
considerare atunci cnd se face evaluarea unui sistem de operare.
1. Timpul de rspuns: exprim durata intervalului delimitat de lansarea unei
cereri de serviciu i achitarea acesteia de ctre sistem. Acest atribut are n
general dou componente i anume: timpul de ateptare pentru ca cererea
respectiv s fie luat n consideraie i timpul de execuie propriu-zis a
acestei cereri.
2. Simultaneitatea utilizrii: msoar gradul n care un sistem poate s lucreze
n acelai timp pentru mai muli utilizatori sau s execute mai multe lucrri
ale aceluiai utilizator. Un alt aspect al acestui atribut este capacitatea de a
funciona simultan, fie prin multiplexarea unui singur procesor intrare-ieire,
fie prin existena mai multor procesoare de acest tip.
3. Eficiena: msoar proprietatea unui sistem de a folosi n mod optim
resursele de care dispune.
4. Partajarea i protecia: caracterizeaz nivelul la care utilizatorii au
posibilitatea s utilizeze n comun informaia prezent n sistem i nivelul la
care pot s comunice ntre ei, n deplin siguran (n sensul evitrii
accesului neautorizat i/sau alterrii intenionate sau accidentale a
informaiei).
5. Generalitatea, flexibilitatea, extensibilitatea: msoar gradul n care un
sistem poate fi folositor i adaptabil unui context specific (exprimat prin
nivelul de limitare impus programelor utilizatorului), precum i gradul n
care se pot include n sistem noi componente hardware i software fr
eforturi de proiectare i programare suplimentare.
6. Fiabilitatea i disponibilitatea: exprim proprietatea unui sistem de operare
de a funciona fr defecte (pene, blocaje) un anumit timp i de a evita goluri
n funcionare din cauza defectrii uneia sau mai multor componente ale sale.
Acest atribut poate fi interpretat fie prin necesitatea de a avea o fiabilitate
total (obinut prin prevederea unor componente cu un grad nalt de
siguran n funcionare i dublarea lor), fie prin tolerana la defeciuni care
asigur degradarea lent a performanelor (fr a scdea sub anumite limite
acceptate).
7. Transparena i vizibilitatea: exprim pe de o parte proprietatea unui
sistem de a face invizibil utilizatorului ceea ce se afl sub interfaa de
utilizare care i se ofer i pe de alt parte, capacitatea lui de a permite
utilizatorilor si s obin anumite informaii despre modul cum el lucreaz,
8
informaii de care n mod teoretic ei nu au nevoie pentru a beneficia de o
utilizare complet, ns care ar putea s-i ajute la obinerea unei utilizri mai
eficiente.

1.3. Tipuri de sisteme de operare


Pe baza caracteristicilor sistemelor de operare enunate anterior se poate face o
clasificare a acestora, clasificare recunoscut aproape unanim:

o sisteme secveniale;
o sisteme cu multiprogramare;
o sisteme cu prelucrare multipl;
o sisteme n timp real.

Majoritatea sistemelor de aceste tipuri recunosc programul ca cea mai mic


unitate de prelucrare, creia i se atribuie o identitate i pe care un utilizator o poate
prezenta spre execuie. Unele sisteme ofer n plus posibilitatea ca un program s fie
considerat ca un ansamblu de sarcini (task) ale cror execuii (inclusiv n paralel)
contribuie la atingerea obiectivului urmrit de acest program.
Un sistem secvenial (batch processing prelucrare pe loturi) execut la un
moment dat un singur program, care trebuie terminat nainte ca un alt program s fie
luat n consideraie. n acest caz timpul de rspuns este de obicei mare.
Sistemele cu multiprogramare (multiprogramming) accept la un moment dat
mai multe programe n memoria central partajat, acestea aflndu-se n diferite stadii
de execuie. Execuia acestor programe se realizeaz prin multiplexarea unitii centrale.
Acelai sistem poate s permit execuii secveniale sau interactive. n ultimul caz se
poate ajunge la tehnici sofisticate de gestiune a resurselor de calcul, n scopul obinerii
unui timp de rspuns ct mai mic i a unei eficiene de utilizare maxim. Pentru un
sistem interactiv timpul de rspuns este un atribut deosebit de important.
Simultaneitatea utilizrii este definit de nivelul multiprogramrii, care depinde n mod
hotrtor de viteza unitii centrale, de capacitatea memoriei principale i de perifericele
disponibile.
Un sistem de calcul cu prelucrare multipl (multiprocessor) dispune de mai
multe procesoare, care pot executa simultan unul sau mai multe programe. Utilizarea
efectiv a prelucrrii multiple necesit atributul de multiprogramare. Execuia simultan
a unui singur program de ctre mai multe uniti presupune existena posibilitii de a
descompune acest program n mai multe sarcini (multitasking).
Se remarc ns c nici multiprogramarea i nici multitasking-ul nu impun
capacitatea de prelucrare multipl.
Sistemele n timp real sunt n general dedicate anumitor tipuri de funciuni i
trebuie ca valorile anumitor atribute s se ncadreze n limite uneori extrem de
restrictive. Timpul real este o noiune utilizat pentru caracterizarea operaiilor ce se
desfoar n sincronism cu evenimentele lumii exterioare. Un sistem are o comportare
n timp real dac deciziile elaborate de acesta sunt emise la momentul oportun, adic
sunt aplicate procesului condus nainte ca ele s-i piard valabilitatea.

9
1.4. Obiectivele sistemelor de operare
Aceste clase de sisteme nu sunt nici disjuncte i nici exhaustive, din punct de
vedere al criteriilor de clasificare luate n consideraie. Majoritatea sistemelor existente,
analizate prin prisma obiectivelor pe care le urmresc, pot fi ncadrate n mai multe
clase, dar caracteristicile lor sunt mai mult sau mai puin reprezentative pentru aceste
clase.
O trecere n revist a sistemelor de operare existente scoate n eviden o
varietate de obiective urmrite n realizarea acestora, care pot fi grupate astfel: obiective
generale, obiective comerciale, obiective specifice sistemelor interactive i n timp real,
obiective diverse. Printre obiectivele generale se numr n primul rnd maximizarea
eficienei i generalitii sistemului, precum i minimizarea erorilor sistemului de
operare (ca obiective primare) i n al doilea rnd maximizarea transparenei sistemului
i a securitii datelor (ca obiective secundare). Obiectivele comerciale vizeaz
maximizarea satisfaciei utilizatorilor i a interesului potenial pentru ali utilizatori. n
ceea ce privete sistemele interactive, se menioneaz minimizarea timpului de rspuns,
prelucrarea direct a datelor, maximizarea posibilitilor de acces la distan i
optimizarea controlului comunicaiilor. n cazul sistemelor n timp real trebuie
prevzut posibilitatea actualizrii i/sau regenerrii directe a sistemului, ceea ce
constituie exemple de obiective specifice. Printre obiectivele diverse se amintete
minimizarea efortului de concepie-realizare a sistemului.
Indiferent de obiectivele unui sistem de operare, acesta trebuie s pun la
dispoziia utilizatorului mijloace prin care acesta s poat crea, stoca, regsi (pentru a
prelucra) i distruge informaia.

10
CAPITOLUL 2

2. Administrarea informaiei
2.1. Generaliti

Informaia prezentat n sistem este constituit din obiecte pe care utilizatorul


efectueaz diverse prelucrri. Pentru aceasta sistemul trebuie s-i ofere mijloace de
creare, regsire, modificare i distrugere a obiectelor. Fiecrui obiect i se asociaz o
reprezentare extern, folosit de utilizator, i o reprezentare intern, determinat de
suportul hardware. Accesul la reprezentarea (extern sau intern) a unui obiect se
realizeaz cu ajutorul unor funcii de acces.
Problematica administrrii informaiei const n conversia reprezentrii externe
i a funciilor de acces asociate, n reprezentarea intern i funciile de acces
corespunztoare tuturor obiectelor sistemului.

2.2. Reprezentarea i existena obiectelor

Utilizatorul definete obiecte utiliznd identificatori, care respect o anumit


sintax proprie unui limbaj de programare. Aadar, din punct de vedere extern,
identificatorul desemneaz un anumit obiect - care poate fi la rndul lui o informaie ce
permite accesul la un alt obiect, caz n care un obiect repereaz alt obiect (fig. 2.1.).

..
. D
identificator obiect/reper
.. Ri
.
obiect

Fig. 2.1. Definirea obiectelor

Prin compunerea funciei de acces D cu una sau mai multe funcii de acces Ri, se
obine calea de acces la un obiect, care permite, la un moment dat, trecerea de la
identificator la obiectul propriu-zis.
Memoria, ca suport al informaiei, poate fi privit la acest nivel ca un ir de
amplasamente caracterizate n orice moment printr-un coninut. Un amplasament poate
avea o dimensiune oarecare fiind accesibil ca un tot i transparent pentru utilizator. Un
11
proces (care materializeaz execuia unui program) desemneaz un amplasament printr-
un nume folosit de unitatea central pentru a citi i eventual modifica coninutul acestui
amplasament. n continuare, pentru simplitate, prin proces se va nelege att un
program (ca entitate ntr-un sistem de calcul) ct i execuia acestuia, n funcie de
context.
Sistemul trebuie s asigure transformarea reprezentrii externe a unui obiect i a
funciilor de acces asociate n reprezentarea intern i funciile de acces
corespunztoare, dup cum urmeaz. Reprezentarea extern este convertit n cuplul
(amplasament, coninut), iar numele amplasamentului devine numele obiectului.
Termenul nume este folosit pentru a desemna un amplasament, termenul de
adres fiind rezervat pentru celulele memoriei fizice. Obiectul reprezentat prin
(amplasament, coninut) se poate deplasa n memoria fizic i, n general, schimbarea
adresei fizice a unui amplasament nu afecteaz numele lui.
Un obiect cruia i s-a asociat o cale de acces este numit accesibil. Atunci cnd
un obiect este accesibil mai multor utilizatori, eventual cu drepturi difereniate, se spune
c obiectul respectiv este partajat.
Ansamblul obiectelor accesibile unui proces se mpart n dou pri disjuncte:
obiectele private ale procesului i cele potenial partajabile.
Este important de remarcat faptul c n unele situaii, acelai nume permite
accesul la reprezentri diferite; este cazul proceselor reentrante la care, n timpul
execuiei, un nume conduce la reprezentri diferite, proprii condiiilor de execuie a
fiecrui proces n parte.
Perioada de timp n care un obiect este accesibil se numete durat de existen a
acestuia.

2.3. Stabilirea cii de acces


Construcia cii de acces la un obiect prin compunerea funciilor de acces ataate
este numit legtur, iar atunci cnd calea de acces este complet se spune c obiectul
este legat.
Considernd doi pai ai unei ci de acces, o1F1o2 i o2F2o3, care permit accesul
de la obiectul o1 la obiectul o3 prin compunerea funciilor de acces F1 i F2,
calea de acces poate fi construit prin substituie sau prin nlnuire.
Prin metoda substituiei se fixeaz, o dat pentru totdeauna, o nou funcie de
acces F3 cu ajutorul creia se atinge inta dorit, o1F3o3. Aceast metod are avantajul
c accesul este rapid dar, n schimb, se constat o pierdere de informaie.; n cazul de
fa o2 este iremediabil pierdut.
Prin metoda nlnuirii, la fiecare acces este parcurs calea o1F1o2F2o3. Aadar
nu se pierde informaia, n schimb accesul este mai lent.

2.4. Interfaa cu administrarea resurselor

Natura obiectelor i prevederea posibilitii partajrii acestora nu determin n


ntregime reprezentarea lor; trebuie inut cont i de limitarea dimensiunii suportului
fizic. Memoriile sunt limitate din punctul de vedere al capacitii i prezint timpi de
acces foarte variai. n plus instruciunile nu pot fi executate dect dac se afl n
memoria central, ceea ce impune un grad de mobilitate a obiectelor pe suporturile
fizice disponibile. Aceast interferen cu gestiunea resurselor fizice complic
12
administrarea informaiei i pentru a separa cele dou funciuni s-a introdus noiunea de
memorie fictiv, definit ca fiind o memorie principal ipotetic suficient de mare
pentru a conine toate obiectele sistemului. Orice obiect al sistemului are o structur
proprie, care poate fi reprezentat astfel, fr restricii de capacitate, n memoria fictiv
(fig. 2.2.).

obiectele ADMINISTRARE Memoria ADMINISTRARE MEMORIA


sistemului NUME fictiv RESURSE FIZIC

Fig. 2.2. Administrarea resurselor

Noiunile de memorie fictiv i memorie virtual sunt similare, dar ele se


deosebesc prin faptul c prima este asociat sistemului pe cnd cea de-a doua este
proprie noiunii de proces.
n afar de memorie, obiectele pot necesita acces la diverse resurse cum sunt
perifericele. Accesul poate fi cerut simultan de mai multe obiecte (n cazul prelucrrii
paralele) i, n general, sistemul trebuie s realizeze arbitrarea accesului la astfel de
resurse. i aici se poate vorbi de periferice fictive care pot fi multiplicate orict de mult
n aa fel nct s fie satisfcute toate cererile.

2.5. Structura unui proces


Procesul ca entitate dinamic care materializeaz execuia unui program, are
acces la obiecte prin intermediul instruciunilor i a operaiilor programate. Un proces
poate fi considerat ca un obiect construit de un alt proces care poate deci s-l
manipuleze cu ajutorul anumitor operaii programate. Printre aceste operaii se numr
cele de blocare i de activare a unui proces care permit trecerea acestuia n starea blocat
respectiv activ.
Privit ca obiect, un proces are o structur care cuprinde: segmentele executabile
care realizeaz operaiile posibile pe acesta, stiva procesului i un anumit numr de
segmente care conin informaii proprii procesului respectiv, cum ar fi starea sa,
prioritatea sa, numele utilizatorului cruia i este asociat etc. Ca orice obiect construit,
aceast structur este reprezentat printr-un domeniu al crui descriptiv conine
capacitile segmentelor.

13
CAPITOLUL 3
3. Administrarea resurselor
3.1. Generaliti
Activitatea unui proces este precedat de anumite aciuni menite s asigure
prezena n memoria central a informaiilor care l definesc i disponibilitatea unui
procesor (uniti centrale). ndeplinirea acestor deziderate presupune existena unor
entiti logice (module executabile, structuri de date etc.) i fizice (memorie principal,
dispozitive periferice, procesor etc.), indispensabile execuiei, care constituie resursele
procesului. De cele mai multe ori cantitatea de resurse solicitat la un moment dat
depete disponibilitile unei configuraii de calcul. n consecin, sistemul de operare
trebuie s-i asume responsabilitatea repartizrii, utilizatorilor si, a resurselor de care
dispune. Componentele sistemului de operare prin care se materializeaz funciunea de
administrare a resurselor se numesc alocatoare. Realizarea alocatoarelor presupune
definirea unei strategii globale a cozilor de ateptare organizate pentru diferite tipuri de
resurse, existena unui ansamblu de informaii care permit reprezentarea resurselor i
organizarea cozilor asociate, precum i stabilirea evenimentelor care guverneaz
legturile dintre aceste cozi.

3.2. Resurse, cereri, alocare


RESURSE

Componentele sistemului de programe (software) i cele ale calculatorului


(hardware), utilizate de cele mai multe ori prin intermediul programelor, sunt resurse
reale ale sistemului de calcul.
n practic, un sistem de operare dispune de o cantitate limitat de resurse reale
i n cele mai multe cazuri ea este inferioar sumei cererilor venit din partea
utilizatorilor. n ciuda acestui fapt, sistemul de operare poate crea fiecrui utilizator
iluzia c posed o resurs proprie chiar dac aceasta n realitate exist ntr-un singur
exemplar. Acest lucru este posibil prin introducerea noiunii de resurs virtual, cum ar
fi de exemplu memoria virtual sau perifericele virtuale.
n cazul dispozitivelor de intrare-ieire, perifericul virtual este reprezentat printr-
o zon de memorie secundar cu acces direct, care este folosit ca suport intermediar
pentru schimbul de informaii ntre un proces i un periferic real. Procesul consumator

14
de resurse lucreaz cu perifericul virtual, iar transferul ntre perifericele virtuale i cele
reale este realizat de un proces al sistemului de operare (fig. 3.1.).

PROCESE SUPORT
CONSUMA- PERIFERICE
TOARE DE VIRTUALE
RESURSE

PROCES INTRARE
CONTROL INTRARE UNIC
INTR|RI

PROCES IEIRE IEIRE


CONTROL UNIC
IEIRI

Fig. 3.1. Utilizarea perifericelor virtuale

Unele resurse de calcul nu pot fi folosite dect de un singur proces la un moment


dat i, n consecin, atunci cnd exist mai muli solicitani accesul la acestea trebuie
serializat. Printre aceste resurse, numite cu acces unic, se pot enumera: unitatea central,
zonele de memorie principal alocate proceselor, imprimanta, unitile de benzi
magnetice, procedurile neentrante, fiierele private sau cu protecie de acces etc.
Spre deosebire de acestea, exist resurse care permit utilizarea lor simultan de
ctre mai multe procese. Acestea se numesc resurse cu acces multiplu. Se pot da
exemplu multiplexoarele, unitile de discuri magnetice, procedurile reentrante, fiierele
utilizate n citire etc.
Se spune despre o resurs alocat unui proces c poate s fac obiectul unei
retrageri dac sistemul de operare poate s o retrag posesorului nainte ca acesta s fi
terminat utilizarea pe care i-a propus-o. Retragerea unei resurse, provocat de anumite
evenimente, presupune luarea unor msuri de prevedere pentru: a mpiedica distrugerea
procesului posesor i a permite reluarea procesului din punctul n care a fost ntrerupt.
Exemplul tipic de resurs recuperabil este unitatea central care poate fi retras (cu
salvarea vectorului de stare) unui proces activ n scopul lansrii unui proces prioritar.
nainte ca procesul ntrerupt s fie reactivat, vectorul su de stare este restaurat i
execuia lui este continuat.
Dac ntr-un sistem de calcul o resurs de un anumit tip exist n mai multe
exemplare, este posibil ca din punctul de vedere al solicitantului s nu conteze ce
exemplar i se aloc. O astfel de resurs se numete banalizat. Se pot da ca exemplu
zonele sau paginile de memorie principal libere, pistele unui disc, unitile de benzi
magnetice etc.
Pentru administrarea resurselor unui sistem de calcul, sistemul de operare are
nevoie de anumite informaii privind unitatea de alocare, modul de reprezentare a
resurselor, durata i beneficiarul alocrii. Alegerea unitii de alocare depinde de natura
resursei i de strategia de alocare preconizat.

15
CERERI

Pentru a stabili strategiile de alocare ale diverselor resurse ale unui sistem de
calcul trebuie identificate att originea (sursa) cererilor de alocare ct i forma sub care
acestea sunt prezentate. Cererile de alocare se pot prezenta sub dou forme: implicit i
explicit. De exemplu un proces care trece din starea blocat n starea ntrerupt devine n
mod automat (implicit) pretendent la ocuparea unitii centrale. Cererile explicite de
alocare sunt fcute n general prin instruciuni ale limbajului de comand.
Totalitatea cererilor (explicite i implicite) de resurse care trebuie satisfcute la
un moment dat constituie ncrcarea sistemului.

ALOCARE

Alocarea const n totalitatea aciunilor prin care sistemul prin alocatoarele


corespunztoare, reuete s satisfac cererile de resurse. Orice cerere este prezentat n
ultim instan alocatorului resurselor de tipul solicitat. Alocatorul rspunde la fiecare
cerere n conformitate cu strategia de alocare stabilit, dup consultarea strii resursei
dorite. Strategia adoptat pentru o clas de resurse se poate ncadra n unul din cazurile:
satisfacerea oricrei noi cereri, refuzarea cererii n situaia n care resursa nu este
disponibil, amnarea satisfacerii cererii cu nregistrarea ei ntr-o coad de ateptare.
Satisfacerea oricrei cereri noi presupune disponibilitatea resursei n cauz i
actualizarea catalogului resursei dup alocare.
O cerere se soldeaz cu un refuz n cazul n care resursa nu este disponibil i
nici nu s-a prevzut o coad de ateptare asociat. Solicitantul primete refuzul i
acioneaz n conformitate cu o strategie proprie.
Administrarea unei cozi de ateptare asociat resursei permite nregistrarea
cererilor care nu pot fi satisfcute imediat i luarea lor n consideraie, n conformitate
cu organizarea cozii, la apariia unui din evenimentele: modificarea strii resursei ca
urmare a unei eliberri efectuate de unul din posesori, semnalizarea printr-un eveniment
exterior a unei retrageri posibile, sau dispariia unei condiii de nealocare.
n momentul n care condiiile de alocare sunt ndeplinite, se realizeaz alocarea
propriu-zis n conformitate cu algoritmul prevzut i se actualizeaz catalogul resursei
respective.

3.3. Administrarea resurselor de calcul


Resursele de calcul sunt constituite din unitatea central (cazul sistemelor
monoprocesor) sau unitile centrale (cazul sistemelor multiprocesor). La un moment
dat un singur proces poate fi n curs de execuie pe o unitate central i se spune c
aceasta este alocat procesului respectiv. Dac mai multe procese solicit serviciile
procesorului este necesar planificarea lor n execuie, care const n administrarea
unei/unor cozi de ateptare. Punerea n practic a strategiei de alocare alese cade n
sarcina alocatorului unitii centrale, care trebuie s satisfac cererile ce-i sunt
prezentate. Totodat el trebuie s respecte anumite restricii cum ar fi: asigurarea
terminrii execuiei oricrui proces ntr-un interval de timp finit (eventual nainte de un
termen cerut de utilizator), respectarea unei prioriti prestabilite ntre procese.
Principalele tipuri de strategii utilizate pentru administrarea resurselor de calcul
sunt strategiile pe baz de prioritate, strategiile pe baz de termen sau combinaii ale
16
acestora. De asemenea strategiile de alocare a unitii centrale pot fi strategii cu un pas
sau strategii cu mai muli pai. Aceste tipuri de baz nu sunt utilizate n general ca atare,
sistemele de operare actuale utiliznd strategii sofisticate obinute prin combinatrea
acestor tipuri de baz.

Strategii pe baz de prioritate


Prioritatea este un numr asociat fiecrui program (proces) - indicat n mod
explicit de utilizator sau evaluat de sistem pe baza unor indicaii date de utilizator (de
exemplu, necesiti de resurse) i a unor informaii de control obinute prin msurtori.
Planificarea lucrrilor este fcut ntr-o singur coad n care procesele sunt aezate
n ordinea prioritii sau mai multe cozi, fiecare coad de ateptare avnd o anumit
prioritate. n acest din urm caz lucrrile dintr-o anumit coad sunt luate n considerare
numai n momentul cnd toate cozile asociate prioritilor mai mari sunt vide.
Implementarea poate fi fcut cu sau fr rechiziia unitii centrale, n caz
afirmativ, la introducerea unei noi lucrri se ntrerupe lucrarea n curs i se compar
prioritile lor; dac prioritatea noii lucrri sosite este mai mare, unitatea central este
retras celei n curs, care se ntoarce n coada de ateptare i este alocat noii lucrri.

Strategii pe baz de termen


Cnd terminarea execuiei unor lucrri este imperativ (conducerea n timp real a
proceselor) strategia pe baz de prioritate poate fi nesatisfctoare.
Pentru a imagina o strategie de planificare corespunztoare este necesar s se
cunoasc durata de execuie a lucrrii n cauz, dar i informaii despre ncrcarea
sistemului. Corelnd toate aceste informaii se poate asocia unei astfel de lucrri o
prioritate variabil care s creasc odat cu apropierea termenului solicitat.

Strategii cu un pas
n acest caz, dup alocarea unitii centrale unui proces, aceasta nu mai este
eliberat dect dup terminarea execuiei lucrrii. n continuare sunt prezentate principalele
tipuri de strategii cu un pas.

Strategia FIFO (First In First Out)

n esen aceast strategie aa cum arat i numele se bazeaz pe principiul: primul


venit, primul servit. Alocatorul administreaz o coad de ateptare simpl; fiecare lucrare
nou este introdus n irul de ateptare i i se aloc unitatea central dup ce toate
predecesoarele sale, n timp, i-au terminat execuia (fig. 3.2).

intrare alocare ieire


n+1 n ... 2 1 0
UNITATE
n+2 CENTRAL
Fig. 3.2. Strategia FIFO

Strategia LIFO (Last In First Out)

17
Aceast strategie administreaz o coad de ateptare de tip stiv astfel nct ultima
lucrare intrat n sistem este lansat n execuie prima, din momentul n care procesorul
devine disponibil (fig. 3.3).

alocare ieire
UNITATE
0 1 2 ... n n+1 CENTRAL

intrare
n+2
Fig. 3.3. Strategia LIFO

Dac intervalele ntre sosirile noilor lucrri sunt scurte n raport cu duratele de
execuie ale lucrrilor deja existente n irul de ateptare, acestea risc s atepte n mod
nedefinit pn la obinerea unitii centrale.

Strategia SXFS (Shortest eXecution First Service)

Aceast strategie utilizeaz durata de execuie a lucrrilor i anume, i propune s


acorde o prioritate mai mare lucrrilor scurte. Pentru aceasta, n coada de ateptare
lucrrile sunt aranjate n ordinea cresctoare a timpilor de execuie (fig. 3.4).
Aceast strategie favorizeaz lucrrile scurte n detrimentul celor lungi. Acest lucru
este i mai pregnant n cazul n care ponderea lucrrilor scurte este mai mare; timpul de
rspuns pentru lucrrile lungi poate deveni astfel inacceptabil de mare.

alocare ieire
UNITATE
d0> d1> ... dn> dn=1 CENTRAL

intrare d2>

Fig. 3.4. Strategia SXFS

Trebuie menionat faptul c durata de execuie a unei lucrri trebuie cunoscut


apriori i c sistemul trebuie s primeasc aceast informaie de la utilizator. Din acest
motiv pot apare erori datorate greelilor de estimare a duratei de execuie de ctre utilizator
cu consecine nedorite asupra calitii serviciilor oferite de sistem.

Strategia EDFS (Earliest Deadline First Service)

Aceast strategie se bazeaz pe faptul c procesul cu cel mai scurt termen final s
fie primul servit (s i se aloce unitatea central). Este o strategie similar cu cea prezentat
mai sus, cu diferena c, prioritatea alocat lucrrii se refer la termenul impus pentru
terminarea acesteia i nu la durata lucrrii.

18
Strategii cu mai muli pai

Strategiile ntr-un singur pas pot prezenta anumite inconveniente n special n ceea
ce privete durata de execuie a anumitor programe. Din acest motiv, n strategiile cu mai
muli pai, un proces nu este executat integral atunci cnd i se aloc unitatea central. n
aceste strategii fiecrui proces i se aloc o cuant de timp dup care procesul este
reintrodus n coada de ateptare. n acest fel ntr-un anumit interval de timp (dup un
numr de cuante de timp), tuturor proceselor din coada de ateptare li se va aloca unitatea
central. Astfel de sisteme se numesc cu divizare n timp (time-sharing)

Strategia carusel-simplu (Round robin)

Aceast strategie este similar strategiei FIFO, din punct de vedere al administrrii
cozii de ateptare, n schimb alocarea procesului este fcut numai pe durata unei anumite
cuante de timp c.

retur

alocare
intrare n+1 n ... 2 1 0
UNITATE
CENTRAL ieire
n+2
Fig. 3.5. Strategia carusel simplu

Dac procesul nu se termin n cursul alocrii curente, atunci el se rentoarce n


coada de ateptare (fig. 3.5). Presupunnd c timpul real de execuie este t, atunci procesul
trece prin coada de ateptare de n ori, n fiind cel mai mic numr ntreg care satisface
relaia:

t nc

Se garanteaz prin aceast metod c orice lucrare este servit la captul unui
interval de timp finit: momentul alocrii procesorului unui proces nu mai depinde de timpii
estimai de execuie ai lucrrilor sosite nainte.
Parametrul c este fixat n funcie de tipul i obiectivele sistemului de operare.

Strategia-carusel multiplu

Strategia carusel-multiplu este o extensie a strategiei precedente prin definirea mai


multor valori pentru cuanta de timp, c1 < c2 ...... < cm. Pentru fiecare cuant ci este
administrat o coad de tip FIFO, Ci (fig. 3.6).
Cnd un proces devine solicitant de unitate central, este introdus n C1 iar o
lucrare aparinnd cozii Ci (i >1) nu poate face obiectul unei alocri dect atunci cnd
cozile Cj , 1 j < i, sunt vide. Trecerea proceselor dintr-o coad de ateptare n alta este
determinat de relaia care exist ntre timpul real de execuie i valorile cuantei; dac
execuia unui proces provenit din coada Ci nu se termin pe durata unei cuante ci, atunci el
este introdus n coada de ateptare Ci+1 pentru orice i < m. Dac procesul provine din Cm i
la expirarea cuantei cm nu s-a terminat, el revine n aceeai coad de ateptare.

19
retur
cm

c1
alocare UNITATE
ieire
CENTRAL
c0
intrare

Fig. 3.6. Strategia carusel multiplu

3.4. Concluzii
Prezentarea fcut pentru strategiile de alocare a unitii centrale nu este exhaustiv
fiind doar un mod general de prezentare a posibilitilor de abordare a acestei probleme.
Este important de reinut faptul c durata unui proces i prioritatea acestuia, n cele mai
multe strategii, sunt noiuni care interfer, condiionndu-se una pe cealalt. Este limpede
c la strategiile ntr-un singur pas, prezentate n lucrare, durata procesului nu are nici o
importan la strategiile FIFO, LIFO i EDFS pe cnd la strategia SXFS durata procesului
este esenial. Strategiile ntr-un singur pas se refer de fapt la prioritatea alocat
procesului n sensul c, procesul care va intra imediat n execuie primete prioritatea
maxim.
De asemenea, strategiile n mai muli pai se pot defini prin modul de alocare a
prioritilor. Astfel, algoritmul carusel-simplu aloc prioritile n felul urmtor: algoritmul
acord prioritate maxim lucrrii care are timpul cel mai lung de ateptare fa de ultima
cuant de timp acordat. Lucrrile sunt aezate n coad n ordinea prioritilor. Dup ce o
lucrare este servit o cuant de timp, ea capt prioritate minim iar celelalte au prioritatea
crescut cu 1. O lucrare nou sosit capt prioritate maxim.
n general, sistemele de operare moderne permit modificarea dinamic sau static
att a cuantelor de timp ct i a prioritilor obinndu-se variante combinate a strategiilor
de baz prezentate mai sus. Trebuie inut ns cont i de faptul c alocatorul este i el
consumator de resurse de calcul iar dac algoritmul adoptat este complex exist riscul ca
timpul consumat de alocator s devin nepermis de mare. Din acest punct de vedere, n
funcie de aplicaie, adoptarea unei strategii simple poate fi mai eficient din punct de
vedere al execuiei aplicaiilor dect adoptarea unei strategii complexe. n acelai timp
trebuie acordat atenie i cuantei de timp utilizate n cadrul strategiilor n mai muli pai.
O cuant de timp mic nu duce ntotdeauna la eficientizarea sistemului pe cnd o cuant de
timp mare poate duce la creterea nepermis de mult a timpului de execuie a unor lucrri.

20
3.5. Administrarea memoriei
Administrarea memoriei sistemului de calcul se refer att la administrarea
memoriei principale (memoria intern) ct i la administrarea memoriei auxiliare (memoria
extern).

3.5.1. Administrarea memoriei principale

Administrarea neautomat

Administrarea neautomat se refer la posibilitile de administrare a memoriei


principale a sistemului de calcul, fr a fi posibil utilizarea memoriei secundare (externe),
n scopul execuiei programelor.

Maina vid

Aceast metod este cea mai simpl tehnic de gestiune a memoriei: memoria
central este alocat n ntregime i n mod permanent unui singur program utilizator. Dac
exist un al doilea nivel de memorie, utilizatorul trebuie s-i gestioneze singur, n mod
explicit, transferurile de informaie ntre memoria principal i cea secundar.

Utilizator unic i rezident

Aceast metod de gestiune a memoriei i propune s rezolve problema nlnuirii


automate a lucrrilor. n acest scop se introduce un program cunoscut sub numele de
supervizor. Supervizorul rmne n memoria central (ncrcat ntr-o zon rezervat,
numit rezident) pe parcursul execuiei tuturor programelor utilizatorilor, care au la
dispoziie cea mai mare parte a memoriei principale.
Sarcinile principale ale supervizorului sunt:
o s asigure continuitatea ncrcrii sistemului; n momentul n care execuia
programului curent este terminat, controlul este preluat de supervizor care
iniiaz execuia urmtorului program, adic l ncarc n memoria central
i i cedeaz controlul procesorului;
o s iniializeze i s achite operaiile de intrare/ieire cerute de utilizatori;
o s trateze erorile provocate de hardware i de software (de baz sau de
aplicaie);
o s pun la dispoziia utilizatorilor proceduri standard, utilizate n mod
frecvent.

Partiii fixe

Memoria principal destinat utilizatorilor este decupat ntr-un anumit numr


de zone de dimensiune fix (numite partiii) n care se ncarc cte un program
utilizator. Utilizatorii sunt deci izolai n aceste partiii fixe, cel puin pe durata execuiei
unui program. Utilizarea partiiilor fixe necesit existena unui mecanism prin care
supervizorul s aloce unitatea central proceselor existente n memorie.

21
Partiii variabile

Aceast metod este o extensie a tehnicii partiiilor fixe, care permite o


exploatare mai supl i mai economic a memoriei centrale. Spaiul utilizatorilor este
divizat ntr-un numr arbitrar de zone de dimensiuni variabile (numite partiii
variabile), corespunztoare dimensiunilor programelor ce urmeaz s se execute n
aceste partiii. Supervizorul ajusteaz numrul i dimensiunile partiiilor, n funcie de
ncrcarea sistemului.
Pentru implementarea acestei metode trebuie s existe un mecanism hardware de
protecie a partiiilor i un mecanism de relocare dinamic a programelor.

Administrarea automat

Administrarea automat se refer la posibilitile de administrare a memoriei


principale a sistemului de calcul mpreun cu memoria secundar (extern), n scopul
execuiei programelor. Aceast metod duce la creterea eficienei n exploatare a
resurselor i mbuntirea timpului de rspuns a sistemului.

Segmentarea i memoria virtual

O memorie segmentat poate fi definit ntr-un calculator al crui mecanism de


adresare este capabil s interpreteze partea de adres a unei instruciuni ca un cuplu (s,
d), unde s este identificatorul (numele) unui segment, iar d este o deplasare relativ n
acest segment.
Memoria virtual (sau fictiv) este o memorie central ipotetic, suficient de
mare pentru a conine toate segmentele procesului (sistemului).
Fiecare segment are o structur proprie care este aplicat, prin funcia de
gestiune a numelor, n memoria virtual (spaiul segmentelor), pe durata sa de existen.
Alocatorul trebuie s realizeze proiecia spaiului segmentelor n memoria fizic, printr-
o funcie de topografie (mapping). Problema care se pune este de a determina cum i n
ce moment trebuie realizat aceast funcie. Soluia ideal este de a realiza aceast
transformare n momentul execuiei procesului; orice adres virtual este tradus, prin
funcia de topografie, ntr-o adres fizic, n momentul n momentul n care este
utilizat pentru a avea acces la memoria central. Acest mod de traducere a adreselor
autorizeaz relocarea dinamic a segmentelor.

Gestiunea cu zone de dimensiune fix

Metodele de gestiune aparinnd acestei familii, presupun c memoria central


de capacitate M este decupat (o dat pentru totdeauna) ntr-un anumit numr de zone
de dimensiune fix, numite pagini de memorie fizic. n acest context, descriptorii care
definesc starea ocuprii memoriei centrale pot fi grupai ntr-o tabel de pagini.
Utilizarea memoriei secundare presupune existena unui mecanism de paginaie
care decupeaz spaiul virtual de adresare a unui proces n zone de dimensiune fix
numite pagini virtuale. Astfel unei pagini virtuale i se poate asocia orice pagin fizic
liber.

22
CAPITOLUL 4
4. Controlul paralelismului
4.1. Generaliti
De cele mai multe ori, pentru utilizarea eficient a sistemului de calcul (i n
special atunci cnd este vorba de aplicaii n timp real), este necesar introducerea
paralelismului.
Aplicaiile n timp real sunt acele aplicaii la care timpul n care se obine rezultatul
este suficient de scurt nct el s fie utilizabil n timpul desfurrii aplicaiei respective (on
line).
O aplicaie de timp real este caracterizat de operaii paralele (necesar a se afla n
execuie n acelai moment), asincrone, comandate de stimuli externi.
Pentru programele care se execut sau vor fi executate n paralel se mai folosete i
denumirea de task. Un proces poate fi alctuit din mai multe taskuri ce pot fi rulete n
paralel n aa fel nct viteza de execuie a procesului s creasc. Acolo unde ambiguitatea
este exclus (avnd n vedere i faptul c poate exista echivalena ntre un proces i un
task) pentru task se va folosi numele de proces.
Planificarea taskurilor paralele pentru execuie, precum i comutarea controlului
procesorului de la un task ctre altul este funcia unui program special, parte component a
sistemului de operare, numit executiv (executiv de timp real n cazul n care sistemul este
de timp real). De asemenea executivul este component a unui program, numit program
dispecer (component la rndul lui a sistemului de operare), prin intermediul cruia este
controlat paralelismul pe sistemul de calcul.
Comunicaia ntre task-uri sau a unui task cu exteriorul se realizeaz doar prin
intermediul dispecerului.
Executivul permite excluderea mutual ntre taskuri la apariia unui conflict pe o
resurs comun ct i sincronizarea taskurilor pe un eveniment extern (asincron) fie chiar
ntre procese.
Dispecerul preia controlul sistemului n urmtoarele cazuri:

o la apariia unei ntreruperi de dispecer;


o la autosuspendarea oricrui task;
o la apariia unei ntreruperi asociate unuia dintre task-urile instabile.

23
4.2. Procese (taskuri)
Clasificare

Din punct de vedere al periodicitii (periodicitate reprezint numrul de cuante de


timp alocate procesului respectiv) de lansare din cadrul executivului procesele se mpart n:

o procese cu periodicitate fix (cuanta de timp alocat procesului respectiv


rmn nemodificat pe tot parcursul existenei procesului respectiv);
o procese cu periodicitate automat - declarat iniial de ctre utilizator dar
care poate fi modificat de ctre programul dispecer n mod automat, n
momentul n care activitatea taskului depete cuanta de timp alocat;

Din punct de vedere al prioritii, procesele se mpart de asemenea n:

o procese cu prioritate fix;


o procese cu prioritate dinamic.

Strile proceselor

ntr-un sistem de calcul procesele se pot gsi n una din strile urmtoare:

o activ taskul respectiv deine controlul unitii centrale;


o gata de execuie (n ateptare) taskul poate lua controlul procesorului de
ndat ce executivul l lanseaz, n funcie de prioritatea alocat;
o blocat (suspendat) taskul ateapt producerea unui eveniment sau
eliberarea unei resurse.

Modul de descriere a proceselor

Pentru realizarea cerinelor impuse de funcionarea n paralel, taskul, pe lng


seciunea de program care implementeaz funcia propriu-zis a taskului, trebuie s
furnizeze anumite informaii executivului. Aceste informaii sunt exprimate prin
intermediul unor descriptori.
Descriptorii sunt de 2 tipuri:

o descriptori statici - configurai de utilizator la nceputul aplicaiei, care exprim:

prioritatea alocat procesului;


adresa la care se gsete programul ce reprezint activitatea propriu-zis;
indicatorul de stiv pentru stiva proprie a taskului;
periodicitatea sa de lansare - din cte n cte lansri ale dispecerului i se
cedeaz controlul;
faptul c procesul este cu periodicitate automat sau nu;
dac procesul este considerat la instalare gata de execuie sau este lansat
din cadrul altui task.

24
o descriptori dinamici - rezervai de ctre dispecer n zona RAM alocat acestuia:

cuvntul stare al taskului respectiv;


starea registrului taskului;
adresa de retur la urmtoarea cedare a controlului de ctre dispecer;
resursa pe care este blocat procesul la un moment dat.

n categoria proceselor cu periodicitate modificabil automat se includ:

o procesele a cror activitate poate ocupa la un moment dat mai multe cuante de
timp, dar se dorete s fie tratate "simultan" cu alte procese cu prioritate mai mic;
o procesele care funcioneaz "permanent" (care nu se blocheaz pe resurse sau prin
terminarea activitii).

Dispecerul rezolv executarea "simultan" a n astfel de procese existente la un


moment dat, acordnd fiecruia n mod ciclic procesorul pentru cte o cuant de timp din n
cuante succesive.
n momentul n care un astfel de proces ncepe s desfoare o activitate care nu
mai ocup o cuant de timp ntreag, periodicitatea sa este n mod automat redus pn la
valoarea 1, asigurnd creterea corespunztoare a vitezei de rspuns a nucleului n raport
cu stimulul supravegheat.
Opiunea de periodicitate automat poate preveni blocarea accidental de ctre un
task care blocheaz execuia taskurilor cu prioritate inferioar.

4.3. Interaciunea ntre procese


Problema interaciunii ntre taskuri poate fi redus la:

o sincronizare - care asigur ealonarea execuiei task-urilor n timp, fie


sincronizarea execuiei n funcie de:

declanarea unui eveniment exterior;


satisfacerea unei condiii de timp impuse;
apariia unor rezultate pariale transmise ntre task-uri;

o excluderea mutual - care arbitreaz accesul simultan al mai multor taskuri la una
i aceeai resurs a sistemului;
o transferul de mesaje ntre taskuri;

Sincronizarea

Sincronizarea execuiilor proceselor poate fi realizat prin:

o sincronizarea direct;
o sincronizarea indirect prin evenimente;
o sincronizarea indirect prin semafoare.

25
Un semafor este definit de perechea (V(S), C(S)) unde V(S) este valoarea
semaforului, iar C(S) este o coad de ateptare destinat s primeasc procesele care
eueaz n ncercarea lor de a trece de acest semafor.

Excluderea mutual

Esena problemei excluderii mutuale const n utilizarea corect a resurselor cu un


singur punct de intrare.
Excluderea mutual este folosit n utilizarea resurselor critice iar la nivelul unui
proces, secvena de tratare a unei resurse critice se numete seciune critic.
Soluia pentru o problem de acest tip trebuie s satisfac urmtoarele condiii:

o utilizarea exclusiv (la un moment dat numai un proces se poate afla n seciunea sa
critic pentru aceeai resurs);
o evitarea blocajului reciproc (dac mai multe procese sunt blocate n ateptarea
aceleiai resurse critice i aceasta nu este ocupat, atunci unul dintre aceste procese
trebuie s fie capabil s intre n seciunea sa critic la captul unui interval finit de
timp);
o evitarea dependenelor inutile (dac un proces este blocat n afara unei seciuni
critice, acest blocaj nu trebuie s mpiedice intrarea unui alt proces n seciunea sa
critic);
o uniformitatea soluiei (soluia trebuie s fie identic pentru toate procesele, n
sensul c nici un proces nu trebuie s joace un rol privilegiat n scopul obinerii
soluiei cutate)

n sensul celor prezentate mai sus, pentru utilizarea unei resurse critice se poate
utiliza metoda ateptrii active care presupune introducerea unei variabile care s indice
eliberarea resursei critice i posibilitatea procesului de a intra n seciunea critic.

Comunicarea ntre procese

Transferul de mesaje ntre taskuri se poate realiza prin dou metode:

o comunicarea prin zone comune;


o comunicarea prin mesaje - permite att comunicarea de informaie ct i rezolvarea
problemelor de sincronizare a proceselor n coresponden.

4.4. Resurse generalizate


Dispecerul utilizeaz pentru rezolvarea problemelor de interaciune ntre taskuri i
de acces la resursele sistemului de calcul mecanisme de tipul semafoarelor, a cutiilor
potale i a bufferelor de transfer. Acestea sunt descrise cu ajutorul un tip unic de resurs
generalizat, caracterizat prin intermediul a dou elemente care constituie descriptorul
static la deschiderea resursei:

o capacitatea n mesaje a bufferului;


o lungimea n octei a unui mesaj.

26
Semafoare

Semafoarele sunt n mod tipic utilizate pentru sincronizarea taskurilor cu diferite


evenimente, cu momente de timp i pentru arbitrarea accesului mai multor taskuri la o
resurs comun a sistemului.
Semafor poate fi definit n termenii elementelor resursei generalizate prezentate
mai sus ca o resurs generalizat cu capacitatea bufferului egal cu zero.

Cutii potale

Cutia potal se obine prin deschiderea unei resurse generalizate cu capacitatea


bufferului diferit de zero i lungimea mesajelor egal cu zero.
Acest tip de rezerv servete ca nregistrator de evenimente identice, aciunea
taskului ce produce evenimente fiind de a incrementa indicele de umplere a resursei, iar
taskul ce consum evenimentele de a decrementa acest indice.

Buffere de transfer

Bufferul de transfer reprezint o resurs generalizat cu capacitate n masaje i


lungimea mesajelor nenule.
Operaiile posibile asupra unui buffer de transfer:

o depunere mesaj (cu test sau blocare);


o preluare mesaj (cu test sau blocare);
o tergere buffer;
o test indice de umplere a bufferului.

27
CAPITOLUL 5
5. Sistemul de operare DOS
5.1. Generaliti
Conform celor prezentate n capitolele anterioare putem spune c sistemul de
operare DOS (Disk Operating System) este un sistem de operare secvenial cu
administrarea neautomat a memoriei (nu conine mecanisme de acces a memoriei
virtuale). Aa cum sugereaz i numele acestui sistem de operare, una din sarcinile
importante ale acestuia este gestionarea informaiei pe disc. La un moment dat, pe un
calculator pe care ruleaz sistemul de operare DOS poate lucra un singur utilizator iar
aplicaiile acestuia vor fi executate succesiv (secvenial) pe maina respectiv. Acest
sistem de operare este dedicat exclusiv calculatoarelor de tip PC (Personal Computer)
dotate cu microprocesor Intel sau compatibile. Importana acestui sistem de operare
rezid n faptul c lucreaz n modul real al microprocesorului ceea ce permite activiti
de depanare i configurare a sistemului care nu sunt posibile n alt mod.

5.2. Caracteristicile microprocesoarelor Intel din familia


80x86
Microprocesoarele de tip INTEL, ncepnd cu microprocesorul de tip 80386 au
patru moduri de funcionare de baz: modul real, modul virtual i modul protejat. Avnd
n vedere faptul c sistemul de operare DOS este destinat n exclusivitate
microprocesoarelor de tip INTEL i datorit faptului c aceste mecanisme se ntlnesc i
la alte tipuri de microprocesoare, ele vor fi descrise pe scurt n continuare.

5.2.1. Modurile de funcionare

MODUL REAL. Acest mod este cel n care se intr dup iniializarea
microprocesorului. De regul, sub sistemul de operare DOS microprocesorul se afl n
modul real. Specific acestui mod de funcionare este faptul c microprocesorul nu poate
rula dect un singur program odat. Exist posibilitatea rulrii programelor sub sistemul
de operare DOS i n alte moduri ale microprocesorului, dar acest lucru necesit extensii
ale sistemului de operare (existnd n acest sens programe specifice).

MODUL VIRTUAL. Acest mod permite execuia programelor n contextul


mecanismelor de protecie, gestiune a taskurilor i management al memoriei. Un
28
program poate rula n mod virtual n paralel cu alte programe care ruleaz n mod
protejat. De asemenea, pot fi executate deodat mai multe programe n mod virtual.
Sistemul de operare Windows 9x se bazeaz pe acest mod performant de funcionare al
microprocesorului, permind execuia n paralel a mai multor programe (sesiuni DOS)
ct i a mai multor programe Windows.
MODUL PROTEJAT. n acest mod, microprocesorul emuleaz funcionarea
unui microprocesor de tip 80286 n mod protejat. Modul protejat prezint un mecanism
sofisticat pentru protejarea datelor, integritatea sistemului, concurena taskurilor i
gestiunea memoriei incluznd i cea a memoriei virtuale. n modul protejat, n cazul
microprocesorului 80286, spaiul adreselor fizice este mrit de la 1 Moctet la 16
Moctei, n timp ce spaiul adreselor virtuale a fost mrit la 1 Goctet. n acest mod,
programele folosesc adrese virtuale, translatarea lor n adrese fizice fcndu-se automat
pe baza unor tabele cu descriptori de segmente. Acest mecanism permite implementarea
eficient a sistemelor cu memorie virtual n care utilizatorul vede memoria intern i
cea extern ca o singur memorie. Modul protejat permite implementarea sistemelor
multitasking, oferind cte un segment de stare ataat fiecrui task, care sunt structuri
manevrate hardware i conin strile curente (incluznd toate registrele) ale taskurilor.
Selectoarele acestor segmente de stare identific unic taskul ataat. De asemenea, este
facilitat i comutarea taskurilor, care poate fi invocat printr-o singur instruciune.
Fiecare task din sistem poate avea propriul lui spaiu de adrese logice, existnd de
asemenea un mecanism evoluat pentru comunicarea ntre taskuri, sincronizarea lor,
partajarea memoriei etc.
MODUL NATIV. Acest mod folosete ntreaga putere a microprocesorului.
Memoria virtual permite ca dimensiunea unui program s fie limitat de spaiul pe disc
i nu de dimensiunea memoriei interne. Mecanismele de protecie sunt destul de
puternice pentru a evita accidentele ntre taskuri sau ntre utilizatori. Spaiul de adrese al
taskurilor este complet separat, segmentele sunt tipizate i au diferite drepturi de acces.
De asemenea, se verific i depirea limitelor segmentelor. Exist trei nivele de
prioritate, sistemul de operare avnd nivelul zero (cel mai prioritar), iar aplicaiile
programatorilor avnd nivelul trei (cel mai puin prioritar).

5.2.2. Registrele interne

Registrele microprocesorului pot fi grupate din punct de vedere al rolului pe care


l au n execuia instruciunilor:

grupul registrelor generale AX, BX, CX, DX (registre de 16 bii);


grupul registrelor indicatoare de adres (pointer): SP, BP (registre de 16 bii);
grupul registrelor index: SI, DI (registre de 16 bii);
grupul registrelor de segment CS, DS, ES, SS (registre de 16 bii), la
microprocesoarele ncepnd cu 80386 mai departe, aprnd dou registre
suplimentare FS i GS;
registrul adresei instruciunii curente: IP (registru de 16 bii) iar la
microprocesoarele ncepnd cu 80386 mai departe, registrul este notat cu EIP i
are 32 de bii.
Registrele generale (AX, BX, CX, DX) sunt utilizate n instruciunile aritmetice
i logice. Majoritatea instruciunilor aritmetice utilizeaz n acelai mod toate registrele.
Exist ns instruciuni aritmetice pentru care anumite registre au semnificaii speciale.
29
Astfel, registrul AX constituie registrul implicit pentru anumite instruciuni i este
denumit de obicei registru acumulator, registrul BX este utilizabil ca registru de baz n
instruciunile care folosesc adresarea indexat, CX este utilizat de obicei drept contor n
instruciunile repetitive iar registrul DX este utilizat n operaiile de nmulire i
mprire sau poate s conin adresa unui port pentru instruciunile de intrare/ieire.
Toate cele 4 registre generale pot fi utilizate i ca perechi de registre de 8 bii. n
tabelul de mai jos sunt specificate registrele de 16 bii i notaiile corespunztoare
utilizrii perechilor de registre de 8 bii.
Registrul pe 16 Registrul pe 8 bii Registrul pe 8 bii
bii superior inferior
AX AH AL
BX BH BL
CX CH CL
DX DH DL
ncepnd cu microprocesorul 80386, cele patru registre de uz general sunt pe 32
de bii, fiind notate cu EAX, EBX, ECX, EDX. Registrul AX corespunde prii
inferioare (celor mai puin semnificativi 16 bii) a registrului EAX, BX corespunde
prii inferioare (celor mai puin semnificativi 16 bii) a registrului EBX, i aa mai
departe.
Registrele indicatoare de adres (SP, BP) sunt registre care conin adrese relative
n segmentul de stiv curent. Pentru microprocesoarele pe 32 de bii (ncepnd cu
80386) registrele sunt notate ESP i EBP, registrele mai sus menionate corespunznd
celor mai puin semnificativi 16 bii. Registrul (E)SP are semnificaia de adres curent
a vrfului stivei. De obicei registrul (E)BP este utilizat pentru a permite accesul la
informaia coninut n stiv fr a o extrage din stiv. Registrul (E)BP poate fi utilizat
i pentru adresarea altor segmente. De asemenea registrele (E)SP i (E)BP pot fi
utilizate n anumite instruciuni aritmetice i logice ca registre de 16 bii.
Registrele index (SI, DI) sunt utilizate n general pentru adresarea indexat,
coninnd adrese relative n segmentul de date curent. Segmentul implicit utilizat n
adresare poate s fie modificat prin utilizarea n instruciuni a unor prefixe speciale.
Similar, la microprocesoarele aprute ncepnd cu 80386 se folosesc registre index pe
32 de bii notate ESI i EDI. Registrele index sunt utilizate ca registre index implicite n
instruciunile de transfer sau prelucrare pe iruri de octei. n acest caz registrul (E)SI
conine adresa relativ curent a irului surs n cadrul segmentului de date curent, iar
(E)DI conine adresa relativ curent a irului destinaie n cadrul segmentului de date
suplimentar (extra segment). i registrele index sunt utilizabile n instruciunile
aritmetice i logice ca registre de 16 bii.
Registrele de segment (CS, DS, ES, SS) conin adresa segmentului de program
(CS), adresa segmentului de date curent (DS), adresa segmentului de date suplimentar
(ES) i adresa segmentului de stiv (SS). Instruciunea care urmeaz s se execute se
gsete n segmentul a crui adres este dat de CS, la adresa relativ n segment
coninut de registrul (E)IP.
Coninutul registrului DS definete segmentul de date curent. Toate referirile la
datele din memorie cu excepia celor care utilizeaz registrele BP, SP sau registrul DI n
instruciunile pentru iruri de octei, utilizeaz n mod implicit segmentul referit de
registrul DS.

30
Coninutul registrului SS definete segmentul curent al stivei. Toate referirile la
datele din memorie care utilizeaz n mod implicit sau explicit registrele (E)SP, (E)BP
se consider c implic segmentul curent al stivei (referit de coninutul registrului SS).
Coninutul registrului ES definete un segment de date suplimentar (extra
segment). Referirile la date n instruciuni pe iruri de octei care utilizeaz registrul DI
sunt considerate utilizeaz n mod implicit segmentul referit de registrul ES.
Microprocesoarele ncepnd cu 80386 posed dou registre de segment
suplimentare, notate FS i GS, care pot fi folosite n aceleai condiii ce i ES.
Indicatorii de condiii sunt utilizai pentru a memora informaii referitoare la
rezultatul unor operaii aritmetice sau logice (AF, CF, OF, PF, SF, ZF) i pentru
memorarea unor informaii de control pentru microprocesor (DF, IF, TF). Aceti
indicatori de condiii sunt biii registrului indicatorilor de condiii, F (Flags), cu
dimensiunea de 16 bii.
Indicatorul AF (Auxiliary Carry) ia valoarea unu dac n execuia unei
instruciuni care poziioneaz acest indicator a aprut un transport din rangul 3 spre
rangul 4 sau a fost efectuat un mprumut din rangul 4 spre rangul 3. Acest indicator este
utilizat pentru implementarea aritmeticii pentru numere zecimale codificate binar.
Indicatorul CF (Carry) ia valoarea unu dac n execuia unei instruciuni care
poziioneaz acest indicator a aprut un transport din sau s-a fcut un mprumut n
rangul cel mai semnificativ. De asemenea instruciunile de rotire a coninutului unui
registru pot s poziioneze acest indicator.
Indicatorul OF (Overflow) este poziionat n unu dac n execuia unei
instruciuni aritmetice cu semn a aprut o depire, adic s-a obinut un rezultat care nu
poate s fie memorat corect n destinaia stabilit de ctre instruciune.
Indicatorul SF (Sign) ia valoarea unu dac din execuia unei instruciuni care
poziioneaz acest indicator s-a obinut un rezultat pentru care bitul cel mai semnificativ
este unu.
Indicatorul PF (Parity) este poziionat n unu dac din execuia unei instruciuni
care poziioneaz acest indicator s-a obinut un rezultat pentru care octetul cel mai puin
semnificativ are un numr par de bii cu valoare unu.
Indicatorul ZF (Zero) este unu dac n execuia unei instruciuni care
poziioneaz acest indicator s-a obinut rezultatul zero.
Indicatorul DF (Direction) indic direcia de parcurgere a irurilor de octei n
cazul instruciunilor pe iruri de octei. Valoarea zero a acestui indicator indic
parcurgerea irurilor de la adrese mici spre adrese mari.
Indicatorul IF (Interrupt) controleaz acceptarea semnalelor de ntrerupere
extern. Dac indicatorul IF este unu atunci este activat acceptarea semnalelor de
ntrerupere extern. Indicatorul nu are influen n cazul semnalului de ntrerupere
nemascabil.
Indicatorul TF (Trace) este utilizat pentru controlul execuiei instruciunilor n
regim pas cu pas n scopul depanrii programelor. Dac acest indicator are valoarea
unu, dup fiecrei instruciuni se va genera un semnal de ntrerupere intern (pe nivelul
1). Execuia secvenei de tratare a acestei ntreruperi se face cu indicatorul TF avnd
valoarea zero.

31
5.2.3. ntreruperile

ntreruperile microprocesoarelor de tip INTEL sunt de dou feluri: ntreruperi


iniiate hardware i ntreruperi iniiate software.
ntreruperile hardware sunt iniiate prin aplicarea unor semnale pe intrrile
special destinate acestui scop ale microprocesorului. ntreruperile software sunt iniiate
prin instruciuni inserate n program.
Sistemul de ntreruperi hardware are rolul de a realiza sincronizarea ntre
activitatea intern a sistemului de calcul cu evenimentele externe ce apar asincron.
Pentru implementarea acestui mecanism, microprocesoarele INTEL din seria 80x86
sunt prevzute cu dou intrri notate cu INTR (INTeRrupt) i NMI (Non Maskable
Interrupt).
ntreruperile generate de aplicarea semnalelor pe intrarea INTR sunt numite
ntreruperi mascabile, din cauz c microprocesorul rspunde la aceste cereri numai
dac sistemul ntreruperilor mascabile a fost activat prin program. Mascarea
ntreruperilor se poate realiza prin setarea bitului IF din cuvntul de stare (F) al
procesorului. Este de remarcat faptul c IF nu inhib excepiile sau ntreruperile cauzate
de instruciunile INT sau de erorile de extensie ale procesorului.
ntreruperile generate de aplicarea semnalelor pe intrarea NMI sunt numite
ntreruperi nemascabile, din cauz c microprocesorul rspunde necondiionat la aceste
cereri.
ntreruperile software sunt generate la ntlnirea n program a instruciunilor de
forma INT n, unde n este numrul ntreruperii (n=0 ... 255) sau sunt rezultatul unor
condiii excepionale ce previn programul asupra continurii execuiei, aceste ntreruperi
sunt mascabile.
Indiferent de tipul ntreruperii, modul de achitare a unei cereri de ntrerupere se
face n acelai fel la microprocesoarele INTEL. n esen dac a aprut o ntrerupere i
aceasta a fost acceptat de microprocesor se va trece la execuia unei instruciuni INT n.
La ntreruperile hardware instruciunea INT n este furnizat pe magistrala de date de
ctre perifericul care a cerut ntreruperea iar la ntreruperile software aceast
instruciune este furnizat prin program.
Pentru ca ntreruperile s poat fi achitate la ntlnirea unei instruciuni de tip
INT n, trebuie construit n prealabil, n memoria principala a calculatorului, tabelul
vectorului de ntrerupere. Acesta se gsete n memorie ncepnd cu adresa 00000h i se
termin la adresa 003FFh avnd o lungime de 1ko. Acest lucru se datoreaz faptului c
n aceast tabel se vor gsi adresele absolute ale rutinelor de tratare a ntreruperilor. O
adres absolut, pe baza creia se calculeaz adresa fizic (sau efectiv), necesit adresa
de segment (2 octei) i adresa relativ (offset) care la rndul ei are 2 octei. Rezult c
pentru fiecare ntrerupere trebuie alocai cte 4 octei. Din acest motiv dimensiunea
tabelei vectorilor de ntrerupere va fi de 256 ntreruperi x 4 octei = 1024 octei (1ko).
Reprezentarea schematic a modului de aezare a adreselor n tabelul vectorilor de
ntrerupere este artat n figura 5.1.
La ntlnirea unei instruciuni de tip INTn, microprocesorul extrage ncepnd de la
adresa n*4 cele patru valori pe care le gsete n locaiile de memorie succesive i
calculeaz adresa fizic a rutinei de tratare a ntreruperii pe baza relaiei:

adresa fizic = adresa segment * 16 + adresa ofset

32
LSB Segment INT0 00000h
MSB Segment INT0 00001h

LSB Offset INT0 00002h

MSB Offset INT0 00003h


..
. Adrese fizice

LSB Segment INT0 003FFC Fig. 5.1. Tabela


MSB Segment INT0 003FFDh vectorilor de
ntrerupere la
LSB Offset INT0 003FFEh microprocesoarele
003FFFh 80x86
MSB Offset

Figura 5.1. Tabela de ntreruperi


executnd salt necondiionat la aceast adres i trecnd la execuia rutinei de
ntrerupere. Din punct de vedere al sistemului de operare DOS, mecanismul
ntreruperilor este important att pentru asigurarea bunei funcionri a structurii
hardware ct i pentru apelul funciilor sistem.

5.3. ncrcarea i lansarea n execuie a sistemului de operare


DOS
n cazul pornirii calculatorului, se d controlul rutinelor BIOS din ROM de la
adresa FFFF:0000, adres la care se afl de obicei o instruciune de salt la rutina de
testare. Aceast rutin verific elementele hardware i memoria calculatorului. Testul de
verificare a funcionrii calculatorului se numete i test de confiden i face parte
dintr-un proces de diagnosticare cunoscut sub numele de POST (Power On Self Test).
Dup terminarea acestei verificri, se ncearc (n funcie de felul n care a fost stabilit
configuraia n modul SETUP din programul BIOS) citirea primului sector a unitii de
memorie pe care se gsete sistemul de operare (unitatea de dischet, harddisc sau
CDROM). n acest prim sector se afl programul bootstrap loader (zone de boot), cel
care asigur ncrcarea sistemului de operare. Dac citirea s-a fcut cu succes atunci se
d controlul acestui program care a fost transferat n memorie. Dac citirea eueaz
atunci se testeaz primul sector a celorlalte dispozitive de stocare n ordinea stabilit n
modul SETUP.
n cazul repornirii la cald (Ctrl+Alt+Del) nu se mai fac testele elementelor
hardware i nici cele ale memoriei. Iniializarea la rece se face prin acionarea butonului
RESET sau prin repornirea acestuia.
Programele de ncrcare verific dac exist pe disc toate fiierele sistem (n
principiu, programul BIO.COM i programul DOS.COM sau IO.SYS i MSDOS.SYS
n funcie de tipul i versiunea sistemului de operare), semnalnd un mesaj de eroare n
caz contrar.
Fiierul BIO.COM (IO.SYS) este ncrcat ca un program rezident la adrese mici,
primind i controlul. Rutinele din fiierul BIO.COM execut urmtoarele operaii:

ncarc fiierul DOS.COM la adresa cea mai mic posibil;


33
construiesc tabele interne ale sistemului;
iniializeaz driverele sistemului;
verific existena fiierului de configurare CONFIG.SYS pe discul sistem. Dac
exist, sistemul va fi reconfigurat conform coninutului acestui fiier;
ncarc interpretorul de comenzi COMMAND.COM.

Dac dup lansarea lui n execuie, interpretorul de comenzi nu gsete fiierul


AUTOEXEC.BAT, va afia versiunea sistemului, va cere introducerea datei i a orei,
dup care va afia prompterul sistem. Dac exist fiierul AUTOEXEC.BAT, atunci
informaiile de mai sus nu se vor mai afia, ci se va da controlul fiierului
AUTOEXEC.BAT.
n final interpretorul de comenzi COMMAND.COM afieaz prompterul sistem
format din numele unitii implicite urmat de caracterul >.
De menionat c unitatea implicit poate fi schimbat prin simpla introducere a
numelui altei uniti urmat de caracterul dou puncte :.

5.4. Organizarea memoriei sub sistemul de operare DOS


Pe motive de compatibilitate cu versiunile mai vechi ale sistemului de operare
DOS i datorit modului de funcionare a microprocesorului 80x86 (vezi paragraful
5.2.1.), sub sistemul de operare DOS memoria intern accesibil utilizatorului este
organizat ntr-un mod specific, n funcie de dimensiunea acesteia, astfel:

1. memoria cuprins intre 0KB i 640kB se numete memorie convenional (sau


memorie de baz) i ea este utilizat de programe;
2. memoria cuprins ntre 640kB i 1MB se numete memorie superioar fiind
organizat pe blocuri de memorie (blocurile n memoria superioar se numesc
UMB Upper Memory Block);
3. memoria peste 1MB se numete memoria extins (Extended Memory)
(simbolizat XMS);
4. primii 64kB de memorie extins formeaz zona memoriei nalte (High Memory)
(simbolizat HMA);
5. memoria expandat (Expanded Memory) este utilizat prin intermediul
memoriei superioare, printr-o zon de 64kB numit fereastr sau cadru de
pagin.

n mod normal, programele rulate sub DOS vd doar memoria de baz i nu


pot fi rulate dect aici ceea ce nseamn c dimensiunea maxim a unui program rulat
sub sistemul de operare DOS poate fi de cel mult 640kB. Pentru accesarea celorlalte
zone de memorie (dac acestea exist) sunt necesare programe speciale de gestiune a
memoriei (drivere) care se ncarc n memorie o dat cu ncrcarea sistemului de
operare.
n figura 5.2 este prezentat modul de organizare al memoriei sub sistemul de
operare DOS.

34
Memorie extins

1MB Zona de memorie nalt

Memorie superioar
Fereastr

640kB Memorie
expandat
Memorie disponibil

pentru programe Memorie


convenional
Fiiere de configurare
Cod BIOS
0kB Date sistem

Fig. 5.2. Organizarea memoriei sub sistemul de operare DOS


Drivere utilizate pentru gestionarea memoriei (n fiierul de configurare
CONFIG.SYS):

HIDOS.SYS permite utilizarea memoriei nalte la microprocesoarele 286


EMM386.SYS simuleaz memoria expandat folosind memoria extins i ofer
urmtoarele faciliti:

umplerea blocurilor UMB cu memorie expandat;


accesul la memoria extins;
simularea memoriei expandate cu memoria extins;
deplasarea nucleului DOS n memoria nalt sau superioar.

HIMEM.SYS este folosit pentru gestionarea memoriei extinse i permite


ncrcarea programelor n memoria nalt (respect standardul XMS).

5.5. Configurarea sistemului (fiierul CONFIG.SYS)


La fiecare lansare a sistemului de operare DOS, acesta caut n directorul
rdcin de pe unitatea de unde a fost ncrcat, un fiier special de configurare, numit
CONFIG.SYS. Dac acest fiier este gsit, atunci este citit i comenzile lui sunt
interpretate. n caz contrar, sistemul este configurat cu valorile implicite ale comenzilor
de configurare. Fiierul CONFIG.SYS este un fiier text i el poate fi creat i modificat
de ctre utilizator.
Principalele directive de configurare sunt: BREAK, BUFFERS, COUNTRY,
DEVICE, DEVICEHIGH, DOS, DRIVPARM, FCBS, FILES, INSTALL,
LASTDRIVE, REM, SHELL, STACKS, SWITCHES.
Dac se modific sau se adaug comenzi n fiierul de configurare, acestea devin
efective la urmtoarea lansare a sistemului de operare.
Convenii i notaii:
35
cuvintele indicate cu majuscule trebuie introduse exact aa cum sunt indicate.
Aceste cuvinte sunt cuvintele cheie. Ele pot fi introduse cu orice combinaie de
litere mari i mici. Sistemul de operare DOS convertete automat cuvintele cheie
la litere mari;
irurile de caractere din cadrul comenzilor cu litere mici trebuie nlocuite de
utilizator cu iruri particulare (de exemplu nume_fiier este nlocuit cu numele
efectiv al fiierului);
irurile de caractere nchise ntre paranteze ptrate, [ i ], sunt opionale. Dac se
dorete introducerea informaiei opionale, nu trebuie introduse parantezele
ptrate ci numai informaia din interiorul parantezelor;
irurile separate prin bar vertical (|) se exclud reciproc, ceea ce nseamn c se
poate introduce numai unul din irurile specificate;
un ir de puncte (...) indic repetarea unui ir de cte ori se dorete;
semnele de punctuaie (cu excepia parantezelor ptrate i a barei verticale) cum
ar fi virgula, semnul egal, semnul de ntrebare, dou puncte, slash-ul etc. trebuie
incluse n linia de comand acolo unde sunt indicate.

Comanda BREAK

Caracterul Ctrl/C (Ctrl/Break) permite ntreruperea unui program n execuie. n


mod normal, sistemul de operare verific introducerea acestui caracter numai n timpul
operaiilor de intrare/ieire cu echipamentul standard. Prin comanda BREAK se poate
fora verificarea introducerii caracterului CTRL/C la fiecare apel de funcie sistem.
Formatul general al comenzii este:

BREAK=ON | OFF

Valoarea implicit pentru aceast comand este BREAK=OFF.


Opiunea OFF determin sistemul de operare s verifice introducerea
caracterului Ctrl/C numai n timpul operaiilor de intrare/ieire cu echipamentul
standard.
Opiunea ON determin verificarea introducerii caracterului Ctrl/C la apelul
fiecrei funcii sistem. Aceasta permite ntreruperea i a unui program care nu execut
nici una din operaiile cu echipamentele standard de intrare/ieire.

Comanda BUFFERS

Formatul general al comenzii este:

BUFFERS=xx

unde:

xx este un numr ntre 1 i 99 care reprezint numrul zonelor tampon de disc pe care
le aloc sistemul la lansare.

36
Comanda COUNTRY

Comanda COUNTRY permite utilizarea conveniilor internaionale pentru timp,


dat, moned i conversie ntre litere mari i mici (implicit SUA). De asemenea, este
identificat totodat setul de caractere (specific unei ri) care va fi utilizat.
Formatul general al comenzii este:

COUNTRY=xxx[,[yyy][,d:]nume_fiier]]

unde:

xxx - reprezint codul rii;


yyy - reprezint pagina de cod pentru ar
nume_fiier - reprezint un fiier care conine informaii specifice rii. Dac acesta
nu este specificat, este utilizat fiierul COUNTRY.SYS.

Comanda DEVICE

Formatul general al comenzii este:

DEVICE=[d:][cale]nume_fiier[.ext]

Aceast comand permite specificarea unui nume de fiier care conine un driver
de intrare/ieire. n timpul ncrcrii, sistemul de operare ncarc fiierul n memorie, ca
o extensie a sa i d controlul acestui driver.
Driverele standard ncrcate de DOS sunt cele pentru ecranul consolei,
claviatur, imprimant i disc. Nu trebuie specificat nici o comand DEVICE pentru ca
sistemul s ncarce aceste drivere.

Comanda DEVICEHIGH

Comanda DEVICEHIGH este similar comenzii DEVICE cu deosebirea c,


ncrcarea driverului se face n zona de memoria nalt. Acest lucru are avantajul c
permite eliberarea poriunii corespunztoare din memoria convenional care ar fi fost
ocupat de driver, ceea ce duce la creterea dimensiunii de memorie din aceast zon ce
va putea fi utilizat de programele de aplicaie.

Comanda DOS

Comanda DOS permite ncrcarea unei poriuni din sistemul de operare care n
mod normal este rezident n memoria convenional, n memoria nalt. Acest lucru
duce la eliberarea memoriei convenionale care va putea fi utilizat de ctre aplicaii.
Sintaxa comenzii este:

DOS=HIGH|LOW[,UMB|,NOUMB]

Comanda DRIVPARM

37
Comanda DRIVPARM permite definirea parametrilor pentru dispozitive bloc,
nlocuind dispozitivele originale DOS.
Formatul general al comenzii este:

DRIVPARM /d:nr [/c][/f:factor][/h:cap][/n][/s:sector][/t:pista]

unde:

/d:nr - specific numrul de unitate fizic (0-255). Prima unitate de disc flexibil este 0
(cea care este referit cu litera A), a doua unitate este 1 (referit cu litera B),
prima unitate de harddisc este 128 (referit cu C), a doua este 129 i aa mai
departe;
/t:pista - specific numrul de piste pe o fa (1-999). Valoarea implicit este de 80 de
piste pe o fa;
/s:sector - specific numrul de sectoare pe pist (1-99). Valoarea implicit este de
9 sectoare pe pist.
/h:cap - specific numrul de capete de citire/scriere ale unitii (1-99). Valoarea
implicit este 2;
/c -este utilizabil numai pentru uniti de disc flexibil care suport detecia
schimbrii dischetei (change line);
/n - specific dac echipamentul fizic este de tip amovibil;
/f:factor - specific tipul unitii.

Comanda FCBS

Comanda FCBS permite specificarea numrului de blocuri de control al


fiierelor (FCB) care pot fi deschise simultan de DOS. Dac nu este ncrcat suportul
pentru partajarea fiierelor, comanda FCBS nu are nici un efect (numrul fiierelor
deschise simultan este limitat de dimensiunea memoriei disponibile).
Formatul general al comenzii este:

FCBS=m,n

Parametrul m specific numrul total de fiiere care pot fi deschise simultan


(valori posibile:1..255, valoare implicit: 4) iar parametrul n specific numrul de
fiiere deschise simultan care nu pot fi nchise automat de DOS dac un program
ncearc s deschid simultan mai mult de m fiiere (valoare implicit zero).

Comanda FILES

Comanda FILES permite deschiderea mai multor fiiere de ctre o aplicaie fr


utilizarea blocului de control al fiierului (FCB). Aceast comand nu afecteaz
comanda FCBS.
Formatul general al comenzii este:

FILES=xx

38
Valoarea maxim pentru xx este 255, iar valoarea minim este 8 (valoare
implicit).

Comanda INSTALL

Permite ncrcarea programelor rezidente n memorie la lansarea sistemului de


operare. Acest lucru permite extinderea facilitilor oferite de sistemul de operare DOS.
Programele rmn n memoria convenional att timp ct aceasta este alimentat.
Formatul comenzii este:

INSTALL=[d:][cale]nume_fisier[parametri]

Comanda LASTDRIVE

Formatul general al comenzii este:

LASTDRIVE=liter

Litera specificat (de la A la Z) corespunde ultimei litere valide de unitate


acceptat de DOS. Implicit ultima liter este E.
Valoarea cea mai mic acceptat n comanda LASTDRIVE corespunde
numrului de uniti instalate n sistem. n caz contrar comanda este ignorat.

Comanda REM

Comanda REM permite introducerea unor comentarii n fiierul CONFIG.SYS.


Liniile care ncep cu comanda REM sunt ignorate de sistemul de operare.
Formatul general al comenzii este:

REM comentariu

Comanda SHELL

Formatul general al comenzii este:

SHELL=[d:][cale]nume_fiier[.ext][param1][param2]

Aceast comand permite s se specifice numele i locaia interpretorului de


comenzi de nivelul cel mai nalt, pe care sistemul de operare l plaseaz la ncrcare n
locul lui COMMAND.COM.

Comanda STACKS

Comanda STACKS permite mrirea dimensiunii implicite a stivei.


Formatul general al comenzii este:

39
STACKS=n,s

Parametrul n reprezint numrul de zone de stiv (domeniul: 8 ... 64).


Parametrul s este dimensiunea n octei a fiecrei zone (domeniul: 32 ... 512).

Comanda SWITCHES

Comanda SWITCHES permite stabilirea unor opiuni speciale pentru DOS.


Formatul general al comenzii este:

SWITCHES= /F /K /N /W

/F duce la anularea celor dou secunde ct timp este afiat mesajul: Starting MS-DOS;

/K impune ca tastaturile extinse s fie privite ca tastaturi convenionale;

/N - mpiedic utilizarea tastelor F5 sau F8 pentru ignorarea fiierelor CONFIG.SYS


sau AUTOEXEC.BAT.

/W indic faptul c fiierul WINA20.386 a fost mutat din directorul rdcin (utilizat
la versiunea Windows 3.0).
Informaii suplimentare asupra modului de utilizare a comenzilor utilizate n
fiierul CONFIG.SYS se pot obine cu ajutorul comenzii HELP. n figura 5.3 este
prezentat ecranul afiat la introducerea comenzii HELP.
n continuare se prezint un exemplu de coninut al unui fiier CONFIG.SYS
pentru un sistem de calcul pe care este instalat i sistemul de operare Windows 9x:

Files=50
DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.EXE NOEMS
DOS=UMB
DEVICE=C:\WINDOWS\setver.exe
DOS=HIGH
REM *** LION_XI200_AI SERIES ADDED LINES ***
DEVICEHIGH /L:1,22912 =C:\LION\LION200A.SYS /D:LION001 /M:S /P:1F0S /I:14
/V
REM *** LION_XI200_AI SERIES ADDED LINES *** ( 02-Oct-98 )
DEVICE=C:\DOS\INTERLNK.EXE /COM:2 /DRIVES:2 /NOPRINTER /V /AUTO
device=C:\WINDOWS\COMMAND\display.sys con=(ega,,1)
Country=040,852,C:\WINDOWS\COMMAND\country.sys

40
Fig. 5.3. Meniul HELP

5.6. Fiierul AUTOEXEC.BAT


Fiierul AUTOEXEC.BAT este un fiier de comenzi special. De cte ori se
ncarc sistemul de operare, interpretorul de comenzi execut automat comenzile din
fiierul AUTOEXEC.BAT, dac acest fiier este prezent n directorul rdcin (pe
discul de pe care se face ncrcarea sistemului).
Fiierul AUTOEXEC.BAT poate fi creat (ca orice fiier de comenzi) cu un
editor de texte, sau direct de la echipamentul standard de intrare, utiliznd comanda
COPY.
Directivele ce pot fi folosite n fiierele loturi de comenzi (fiiere cu extensia
.BAT): CALL, ECHO, FOR, GOTO, IF, PAUSE, REM, SHIFT, MENU.
n continuare este prezentat un exemplu de fiier AUTOEXEC.BAT:
@ECHO OFF
PROMPT $p$g
SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND
SET TEMP=C:\TEMP
SET TASMTABS=D:\Pathway\240bsp\tasm
mode con codepage prepare=((852) C:\WINDOWS\COMMAND\ega.cpi)
mode con codepage select=852

5.7. Organizarea i specificarea fiierelor sub DOS


n sistemul de operare DOS spaiul de memorare al unui disc este mprit n
patru zone disteincte. Primele trei zone, numite zone sistem, sunt rezervate i iniializate
la formatarea discului.
Prima zon este destinat programului de ncrcare al sistemului.
O alt zon sistem, numit tabel de alocare a fiierelor (FAT), conine
informaii de alocare a spaiului pe disc.
Urmtoarea zon sistem conine directorul rdcin, cu informaiile despre
fiierele aparintoare (numele, dimensiunea, poziia lor pe disc, precum i data i ora la
care au fost modificate sau create).

41
Zona care ocup cel mai mult spaiu este zona fiierelor, care conine fiiere
grupate n directoare. De menionat c, n cazul unui disc sistem, primele dou fiiere
din aceast zon sunt fiierele sistem.
Numele unui fiier este alctuit din dou pri: numele propriu-zis care poate s
aib maxim 8 caractere i extensia care poate s aib maxim 3 caractere, cele dou pri
fiind separate de caracterul punct (forma generica este
xxxxxxxx.yyy, unde x este numele iar y extensia).
Fiierelor se pot asocia urmtoarele atribute: Read-only,
Hidden, Archive, System.
Primul director, creat automat pe disc de ctre
sistemul de operare, se numete director rdcin i are
numele \. Toate directoarele (cu excepia directorului
rdcin) sunt de fapt fiiere de tip special. Fiecare
director are un nume i poate fi nregistrat n alt
director. Dac directorul X este nregistrat n directorul
Y, atunci se spune c X este subdirector al directorului
Y. Cerinele fa de numele directoarelor sunt aceleai
ca i fa de numele fiierelor. De obicei, numele
directorului se indic fr extensie. Conform acestei
organizri, structura ierarhic a fiierelor i
Fig. 5.4. Structura directoarelor din sistemul de operare DOS este sub
arborescent a directoarelor form arborescent (figura 5.4).
Atunci cnd este apelat un fiier, de regul
trebuie indicat toat calea de cutare a acestuia, ncepnd din directorul rdcin. Un
exemplu de apelare a unui program ar putea fi:

C:\DOS\help.exe

Fiiere speciale

Sistemul de operare asociaz resurselor fiiere speciale:

AUX identic cu COM1 (primul port pentru comunicaii seriale);


CLOCK$ - ceasul de timp real;
COM1 primul port serial;
COM2 al doilea port serial;
CON consola sistem (tastatura + ecranul);
LPT1 primul port paralel;
LPT2 al doilea port paralel;
NUL dispozitiv nul (n acest fiier se poate scrie orice iar ceea ce se scrie
se ignor). Citirea din acest fiier d eroare de sfrit de fiier.
PRN identic cu LPT1

5.8. Comenzile sistemului de operare DOS


Comenzile sistemului de operare sunt: interne i externe. Comenzile interne sunt
executate direct de ctre interpretorul de comenzi pe cnd comenzile externe sunt fiiere

42
memorate pe disc, care pentru a fi executate trebuie mai nti ncrcate n memorie.
Acest mod de mprire a comenzilor permite extinderea nelimitat a posibilitilor
sistemului de operare prin comenzi externe.
Comenzile pot fi simple sau compuse (separate prin bara vertical | ). Rezultatele
comenzii precedente devin date de intrare pentru comanda urmtoare.
O comand poate avea o serie de parametri sau opiuni (specificai cu semnul /
n faa opiunii). De exemplu, pentru a obine explicaii sumare cu privire la comanda
dir, se va scrie:

DIR /?

Caractere utilizate n comenzi (indirectare):


< fiier comanda preia datele de intrare din fiier n loc s le citeasc de la
tastatur;
> fiier rezultatele comenzii sunt depuse n fiier n loc s fie afiate pe ecran;
>> fiier rezultatele comenzii sunt adugate la fiier;
cmd1 | cmd2 rezultatele cmd1 sunt folosite de cmd2.

5.9. Funcii sistem


Funciile sistem reprezint rutinele utilizate de DOS pentru tratarea operaiilor i
resurselor sistemului. Aceste funcii sistem pot fi apelate de orice program de aplicaie,
uurnd munca de programare.
Rutinele DOS sunt apelate prin ntreruperi software. ntreruperea 21h (INT 21h)
este serviciul pentru apelul funciilor.
Pentru un apel al unei funcii sistem DOS, se procedeaz astfel:

se ncarc numrul funciei n registrul AH;


se ncarc (dac este necesar) numrul subfunciei n registrul AL;
se ncarc (dac este necesar) celelalte date n registrele specificate;
se genereaz INT 21h

Funciile DOS pe categorii.

1. Intrri/ieiri pentru dispozitive caracter standard


1.1. Citirea cu ecou de la tastatur
1.2. Afiarea unui caracter
1.3. Intrarea auxiliar
1.4. Ieirea auxiliar
1.5. Tiprirea unui caracter
1.6. Intrare/ieire direct fr ecou la consol
1.7. Intrarea direct fr ecou de la consol
1.8. Citirea fr ecou de la tastatur
1.9. Afiarea unui ir
1.10. Intrarea prin zona tampon de la tastatur
1.11. Verificarea strii intrrii
1.12. tergerea zonei tampon de intrare i citirea de la tastatur

43
2. Gestiunea memoriei
2.1. Alocarea memoriei
2.2. Eliberarea memoriei alocate
2.3. Modificarea alocrii memoriei
2.4. Obinerea/Selectarea strategiei de alocare

3. Gestiunea proceselor
3.1. Pstrarea procesului
3.2. ncrcarea i/sau execuia unui program (EXEC)
3.3. Terminarea procesului (EXIT)
3.4. Obinerea codului de retur al procesului fiu (Wait)
3.5. Obinerea adresei PSP-ului

4. Tratarea fiierelor prin identificatoare logice


4.1. Crearea unui fiier
4.2. Deschiderea unui fiier, utiliznd identificatorul logic
4.3. nchiderea unui fiier, utiliznd identificatorul logic
4.4. Citirea dintr-un fiier sau de la un dispozitiv, utiliznd identificatorul logic
4.5. Scrierea ntr-un fiier sau de la un dispozitiv, utiliznd identificatorul logic
4.6. Poziionarea pointerului de scriere/citire
4.7. Duplicarea identificatorului logic al unui fiier
4.8. Redirectarea unui identificator logic
4.9. Crearea unui fiier temporar unic
4.10. Crearea unui fiier nou

5. Partajarea fiierelor
5.1. Deschiderea unui fiier, utiliznd identificatorul logic
5.2. IOCTL: Modificarea numrului de rencrcri
5.3. Blocarea/deblocarea accesului la un fiier

6. Tratarea directoarelor
6.1. Crearea unui nou director
6.2. tergerea unui director
6.3. Schimbarea directorului
6.4. tergerea unui fiier
6.5. Obinerea/poziionarea atributelor fiierului
6.6. Obinerea directorului curent
6.7. Gsirea primului fiier potrivit
6.8. Gsirea urmtorului fiier potrivit
6.9. Schimbarea intrrii n director
6.10. Obinerea/poziionarea datei i orei unui fiier

7. Gestiunea dispozitivelor
7.1. Obinerea informaiilor despre dispozitiv
7.2. Poziionarea informaiilor despre dispozitiv
7.3. Citirea de la un dispozitiv caracter
7.4. Scrierea la un dispozitiv caracter
44
7.5. Citirea de la un dispozitiv bloc
7.6. Scrierea la un dispozitiv bloc
7.7. Obinerea strii intrrii
7.8. Obinerea strii ieirii

8. Reele Microsoft

9. Operaii sistem generale

Exemple de utilizare a funciilor sistem n PASCAL

Program care afieaz versiunea DOS instalat n sistemul de calcul

Se folosete funcia sistem 30h. Valorile returnate sunt urmtoarele:


n registrul AL numrul versiunii de baz;
n registrul AH numrul versiunii secundare.
Programul:

program versiune;
uses DOS;

var
registre:registers;

begin
registre.ah:=$30;
MsDos(registre);
{echivalent: Intr($21, registre)}
with registre do
writeln(Versiune MsDOS,al:1,.ah:2);
end.

Programul citete un caracter de la tastatura (cu ecou)

Se folosete funcia sistem 01h. Valoarea returnat este urmtoarea:


n registrul AL caracterul citit.
Programul:

program caracter;
uses DOS;

var
registre:registers;
begin
registre.ah:=1;
MsDos(registre);
{echivalent: Intr($21, registre)}
with registre do
45
writeln(S-a apasat tasta:,char(al));
end.

Obinerea unitii curente implicite

Se folosete funcia sistem 19h. Valoarea returnat este urmtoarea:


n registrul AL numrul unitii curente.
Programul:

program unitate_curenta;
uses dos;
var registre:registers;
begin
registre.ah:=$19;
msdos(registre);
with registre do
writeln('unitatea curenta:',al);
readln
end.

Obinerea datei sistem curente

Se folosete funcia sistem 2Ah. Valoarea returnat este urmtoarea:


n registrul AL ziua din sptmn (0=duminic, ..., 6=smbt);
n registrul CX anul curent (1980-2098);
n registrul DH luna curent (1-12);
n registrul DL ziua curent (1-13).
Programul:

program data_curenta;
uses dos;
const
luni:array1..12 of
string=('Ianuarie','Februarie','Martie','Aprilie','Mai','Iunie','Iulie','August','Septembrie','
Octombrie','Noiembrie','Decembrie');
var reg:registers;
begin;
reg.ah:=$2A;
msdos(reg);

case reg.al of
0:write('Duminica ');
1:write('Luni ');
2:write('Marti ');
3:write('Miercuri ');
4:write('Joi ');
5:write('Vineri ');
6:write('Sambata ');
46
end;
write(reg.dl,' ',lunireg.dh,' ',reg.cx);
readln;
end.

5.10. ntreinerea sistemului de operare DOS


ntreinerea sistemului de operare se face n principal prin verificarea integritii
informaiei pe disc, cu ajutorul unor utilitare prezente n directorul DOS. Este
recomandabil lansarea periodic, cel puin o dat pe sptmn, a programului
scandisk.exe care face o verificare a informaiei att din punct de vedere logic ct i
fizic. Aceast operaie permite depistarea informaiei pierdute, a alocrilor greite sau a
sectoarelor defecte de pe disc. Un alt program destinat ntreinerii sistemului de fiiere
de pe disc este programul chkdsk.exe.
Pentru creterea vitezei de lucrul cu discul este bine ca fiierele pe disc s fie
memorate n zone continue. Datorit faptului c n timpul lucrului cu discul se terg i
se adaug fiiere, sistemul de operare va ncerca s ocupe sectoarele rmase libere ntre
zonele scrise i n acest fel se produce fragmentarea fiierelor scrise pe disc. Pentru
defragmentarea acestor fiiere i optimizarea accesului la disc se utilizeaz programul
defrag.exe.
Atunci cnd se intenioneaz oprirea calculatorului este bine ca operatorul sa
apese combinaia de taste CTRL+ALT+DEL care duce de fapt la iniializarea
procesorului. n acest fel sistemul de operare este informat de faptul c se dorete
oprirea calculatorului i salveaz datele rmase n memorie, pe disc, nchide toate
fiierele i iniializeaz (reseteaz) unitatea central. Dac oprirea se face de la butonul
sursei de alimentare, atunci datele din memorie care n-au fost scrise pe disc se pierd iar
informaia de alocare a fiierelor poate fi trunchiat.

47
CAPITOLUL 6
6. Sistemul de operare UNIX
6.1. Generaliti
Sistemul de operare UNIX este un sistem de operare cu multiprogramare cu
sisteme sofisticate de alocare a resurselor i gestiune automat a memoriei. n acest sens
se poate spune c UNIX este un sistem de operare de tip time-sharing, multitasking i
multiutilizator.
Sistemele de operare cu divizare n timp (time-sharing) aloc proceselor gata de
execuie, prin strategia de alocare a resurselor de calcul, succesiv, cte o cuant de timp,
pn la execuia complet.
Sistemele multitasking sunt sistemele care pot executa mai multe programe
simultan, avnd implementat o anumit strategie de alocare a resurselor.
Sistemele multiutilizator sunt sistemele ce permit lucrul mai multor operatori
simultan avnd implementate mecanisme de protecie i de partajare a accesului la
resursele sistemului.
O alt caracteristic a sistemului de operare UNIX este faptul c promoveaz
modularitate permind extinderea simpl a funciilor sistemului de operare ceea ce
duce la creterea continu a performanelor acestuia. De asemenea, pentru operaiile de
intrare/ieire sunt utilizate aa-numitele intrri/ieiri generalizate prin asocierea a cte
unui fiier de tip special fiecrei intrri/ieiri. n scopul realizrii mediului multitasking
exist un sistem de gestiune a proceselor reentrante i asincrone multiple, care se pot
sincroniza prin intermediul unui sistem de ntreruperi logice. Gestiunea memoriei se
face printr-un mecanism ce permite schimbul de pagini ntre memoria RAM i cea
extins, gestionndu-se spaiul afectat execuiei proceselor i controlndu-se timpul de
acces la procesele n ateptare.
Pentru interaciunea cu utilizatorul, sistemul de operare UNIX dispune de o
interfa simpl i interactiv prin intermediul componentei SHELL, care nu este
integrat n nucleul sistemului de operare (KERNEL).
Componenta SHELL reprezint mecanismul prin care sistemul de operare
realizeaz interfaa ntre utilizator i sistemul de calcul. Aceast component reprezint
un interpretor de comenzi care citete liniile introduse de ctre utilizator i determin
execuie comenzilor solicitate. Printre cele mai populare componente SHELL, se poate
meniona Bourne SHELL (sh), Berkeley C SHELL (csh) i Korn SHELL (ksh). Aceste
SHELL-uri sunt orientate pe text. Pentru faciliti grafice printre cele mai cunoscute
programe SHELL sunt: Graphic Interface a firmei Macintosh sau Presentation Manager
48
al lui IBM. Exist ns i un numr de interfee grafice pentru UNIX: sistemul
X/Window de la MIT folosit i de firma SCO n produsul ei OPEN DESKTOP.
OpenLook al firmelor AT&T i SUN i, n sfrit, produsul DECwindows al firmei
DEC.
Prin scrierea sistemului de operare n limbajul C, s-a obinut o portabilitate att a
sistemului UNIX propriu-zis, ct i a programelor de aplicaie dezvoltate sub acest
sistem, realizndu-se astfel i dezideratele de sistem deschis. Prin portabilitate se
nelege proprietatea unui program de a putea fi executat pe sisteme de calcul cu
structuri fizice (n special uniti centrale) diferite.
Multe sisteme de calcul cu sisteme de operare UNIX creeaz posibilitatea ca
utilizatorii si s poat rula i aplicaii MS-DOS, n paralel cu aplicaiile de baz rulate
sub UNIX.
Spre deosebire de sistemul de operare DOS care este utilizat exclusiv pe
calculatoarele de tip PC, sistemul de operare UNIX este utilizat pe toate tipurile de
calculatoare, ncepnd de la calculatoare de tip PC pn la supercalculatoare.
n esen, orice sistem de operare UNIX conine un nucleu, una sau mai multe
componente SHELL i un sistem bogat de fiiere.

6.2. Structura general a sistemului de operare UNIX


Ca orice sistem de operare, UNIX asigur mecanisme pentru gestionarea
resurselor sistemului de calcul i o interfa pentru utilizatori i programele de aplicaii.
O prim caracteristic a acestui sistem de operare este reprezentat de faptul c interfaa
cu structura fizic a sistemului de calcul nu se face prin intermediul programului BIOS.
UNIX are propriile rutine pentru interaciunea cu sistemul fizic al calculatorului. Din
acest motiv, dup ce a fost ncrcat n memorie interaciunea cu componenta hardware
este fcut direct (ignorndu-se programul BIOS) de ctre nucleul sistemului de operare
(fig. 6.1).
Programe de Nucleul
UTILI- aplicaie sistemului de HARD-
ZATOR SHELL WARE
operare UNIX
Utilitare
Fig. 6.1. Interaciunea UNIX cu structura fizic
Structura de programe a sistemului de operare UNIX este alctuit din trei
componente majore (fig. 6.2):

nucleu (Kernel);
sistemul de fiiere (SF) ce cuprinde programe utilitare, aplicative i
programe de gestiune I/E;
SHELL.

Relaiile ntre cele trei module principale ale sistemului se realizeaz prin:

apeluri sistem;
utilitare;
proceduri standard folosite de limbajul C;

49
programe de gestiune a intrrilor/ieirilor, furnizate odat cu sistemul i
diferite de la un sistem de calcul la altul.

Utilizator
SHELL

Nucleu
Kernel Programe
Sistemul

fiiere
Programe aplicative
utilitare
Programe de
gestiune I/E

Dispozitive periferice de

Fig. 6.2. Componentele software ale sistemului de operare UNIX

Interfeele oferite utilizatorului de ctre sistem sunt organizate pe trei niveluri:

nivel exterior nucleului (prin utilitare);


nivel intermediar oferit de funciile din biblioteca standard C;
nivel sczut oferit de funciile sistem.

Nucleul sistemului de operare UNIX este partea central a sistemului asigurnd


servicii sistem ctre programele de aplicaie pentru realizarea gestiunii proceselor, a
memoriei, a intrrilor/ieirilor i a timpului. Nucleul gestioneaz memoria real, aloc
procesorul n mod automat i furnizeaz rspunsul pentru funciile sistem (system calls)
apelate de procesele de aplicaie. Sistemul UNIX creeaz i distruge frecvent procese.
De exemplu, ori de cte ori un utilizator introduce o comand, SHELL-ul creeaz un
proces separat pentru a rula fiierul executabil asociat comenzii. Fiecare proces posed
o regiune de text (cod), o regiune de date, o stiv i structuri de date nucleu asociate,
care constituie mediul procesului. n mod normal mediul procesului include coninutul
registrelor, prioritatea procesului i o list a fiierelor sale deschise. Procesele nu pot s-
i modifice direct mediul asociat, ci doar s solicite modificri prin intermediul
funciilor sistem. Procesele pot fi terminate voluntar (prin apelul funciei sistem exit)
sau involuntar ca rezultat al aciunilor ilegale, al semnalelor sau al ntreruperilor
generate de utilizator.

6.3. Accesul n sistem


Spre deosebire de sistemele de operare DOS i Windows, sub sistemul de
operare UNIX, mai muli utilizatori pot folosi calculatorul n acelai timp, executnd
independent diferite aplicaii. n primul rnd pentru a avea acces la un sistem UNIX,
utilizatorul trebuie s primeasc un cont. Din punct de vedere al utilizatorului contul
este reprezentat de un nume i o parol. Din punct de vedere al administraiei, un cont
nseamn evidena utilizrii resurselor la care utilizatorul are drept de acces.
50
Utilizatorii unui sistem de operare UNIX se mpart n dou mari categorii:
superutilizatorul - administratorul de sistem (superuser) i utilizatorii obinuii (users).
Superutilizatorul sau administratorul de sistem (superuser) are drepturi de acces
nelimitate n sistem i are ca sarcin principal administrarea i ntreinerea sistemului
de operare. Numele superutilizatorului va fi ntotdeauna root.
Utilizatorii obinuii (user) au drepturi de acces limitate n sistem, drepturile de
acces putnd fi extinse sau ridicate de ctre administratorul de sistem. Utilizatorii
obinuii pot forma grupuri de utilizatori crora administratorul de sistem
(superutilizatorul) le poate acorda drepturi comune sau individuale.

6.4. Structura fiierelor sub sistemul de operare UNIX

Una din cele mai importante funcii ale unui sistem de operare este gestionarea
fiierelor proprii i ale utilizatorilor. Pentru a putea fi folosite, fiierele trebuie, pe de o
parte, s fie uor de memorat i uor de gestionat, iar, pe de alt parte, trebuie s fie de
dimensiuni adecvate mediului fizic accesibil. Aceste cerine impun ca sistemul de fiiere
s aib o structur logic eficient i o structur fizic potrivit pentru dispozitivele
utilizate n memorarea fiierelor.

6.4.1. Tipuri de fiiere

n concepia UNIX, un fiier este un ir de caractere terminat printr-o marc de


sfrit de fiier, considerndu-se uneori c un fiier este constituit dintr-un set de linii,
fiecare linie terminndu-se cu un caracter de linie nou, care este generat de la tastatur
atunci cnd se tasteaz ENTER.
Fiecrui utilizator i se atribuie un director care conine fiierele acestuia, numele
de fiiere avnd pn la 14 caractere, cu excepia blancului. Sistemul UNIX face
deosebirea ntre caractere mari i mici. Este permis utilizarea punctului (.) n cadrul
numelui fiierelor, aprnd astfel posibilitatea diferenierii ntre mai multe fiiere
nrudite.
Sistemul de operare UNIX System V recunoate patru tipuri de fiiere: fiiere
obinuite, speciale, director (catalog) i FIFO.

Fiiere obinuite

Un fiier obinuit este privit de ctre sistemul de operare ca un ir de octei, fr


o organizare logic special. Un astfel de fiier poate conine informaii precum:

informaie binar (pentru un fiier n format executabil);


linii de text, separate de caracterul NewLine (cod ASCII 10H).

Structura logic a informaiei din fiier cade exclusiv n sarcina programului.

Fiiere speciale

O particularitate care difereniaz sistemul UNIX de alte sisteme de operare este


asocierea dispozitivelor periferice cu fiiere speciale. Fiierele speciale sunt citite/scrise,
din punct de vedere al utilizatorului, exact ca i cele obinuite, rezultatul unei astfel de
51
operaii fiind activarea driver-ului dispozitivului asociat. Un program de aplicaie poate,
deci, utiliza aceeai sintax pentru a accesa un fiier obinuit sau unul special.
Unui dispozitiv periferic i este asociat cel puin un fiier special, care va conine
ntotdeauna informaii despre programul de comand al acestui periferic (driver-ul su).
posibilitatea de a trata perifericele ca fiiere speciale asigur urmtoarele avantaje:

simplitate i elegan prin utilizarea unor comenzi similare pentru fiiere i


dispozitive periferice;
fiierele speciale beneficiaz de mecanismul de protecie al fiierelor.

Fiiere director

Fiierele director reprezint o modalitate de a structura logic sistemul de fiiere.


Informaia din directori este organizat ca o tabel care conine cte o intrare pentru
fiecare fiier din acel director. O astfel de intrare memoreaz identificatorul intern (i-
number) i numele fiierului. Fiecare utilizator dispune de un director propriu n care
i poate crea propriile fiiere i care se numete home directory.
Fiierul director poate conine orice tip de fiiere. El nu poate fi citit sau scris n
mod direc, ci doar prin intermediul anumitor programe (ls, mv, rm, ln etc).

Fiiere de tip FIFO

Fiierele de tip FIFO sunt fiiere speciale utilizate pentru realizarea comunicaiei
ntre procese prin mecanismul de conduct (pipe).

6.4.2. Structura arborescent a sistemului de fiiere

n sistemul de operare UNIX fiierele sunt organizate ntr-un sistem de fiiere cu


structur arborescent. O astfel de structur reprezint un mod de organizare eficient,
deoarece permite utilizatorilor s-i creeze medii proprii de lucru i s-i grupeze logic
fiierele. Toate fiierele sunt structurate n directori, organizate ierarhic, n vrful
ierarhiei (la rdcina arborelui) aflndu-se un director particular numit rdcin (root),
notat cu simbolul linie de mprire - slash (/).
Structura standard a sistemului de fiiere pentru sistemul de operare UNIX este
prezentat n figura 6.3.

6.4.3. Protecia fiierelor. Drepturi de acces.

Toate sistemele UNIX includ o schem formal a drepturilor de acces la fiiere, care
prevede n general c utilizatorii obinuii au deplin acces la propriile lor fiiere i acces
restrns la fiierele de sistem. Schema de acces la fiiere prevede trei drepturi de acces:
read (r) citire, write (w) scriere i execute (x) execuie i trei categorii de
utilizatori: user (u) - proprietar, group (g) - grup i others (o) - ceilali utilizatori.
Rezult c vor trebui s existe 9 (3 drepturi de acces * 3 categorii de utilizatori) poziii
pentru precizarea complet a acestor drepturi. Pentru fiiere, semnificaia drepturilor de
acces reiese din numele acestor drepturi, write incluznd i posibilitatea de tergere.
Pentru fiierele director, drepturile de acces au alte semnificaii:

52
read exist posibilitatea de listare a directorului cu comanda ls;
write se pot crea/terge fiiere director;
execute se poate parcurge directorul pentru accesul la fiierele coninute.
dev Fiiere speciale pentru dispozitive periferice:
consola dev sistem, terminale, discuri, imprimant;
bin Programe utilitare n format executabil: compi-
latoare, bin asambloare, instrumente pentru dez-
voltarea de programe;
lib Biblioteci de limbaje i utilitare (Fortran, C, rutine
de bibliotec I/E, apeluri sistem, biblioteci
matematice);
etc Date de sistem cu acces limitat i controlat, utilitare
de sistem destinate n special superuser-ului
(administratorului), fiiere cu parole, fiiere cu
root comenzi SHELL de iniializare;
tmp Fiiere temporare folosite de utilitare; editor;
(/)
compilatoare, asamblor;
usr bin Programe utilitare mai puin folosite;
tmp Fiiere temporare mai puin folosite;
dict Liste de cuvinte, verificarea mpririi n
silabe (spell_checker);
lib Fiiere de biblioteci mai puin utilizate;
man Directori cu fiier de text coninnd n
ntregime Manualul Programatorului
UNIX
at procese temporizate
spool
lpd director imprimant;
user 1 structura de director a
utilizatorului 1;
users
user n structura de director a
utilizatorului n;
Fig. 6.3. Structura standard a sistemului de fiiere

Drepturile de acces pot fi vizualizate cu comanda ls, cu opiunile:

l (forma lung);
a (toate intrrile);
t (sorteaz dup tipul ultimei modificri);
r (ordine invers).

n urma comenzii pe ecran este afiat un text de forma:

drwxrwxr-x 6 John staff 678 Feb 20 12:23


drwxrwxr-x 9 Mary staff 512 Ian 15 10:04
drwxrwxr-x 1 Nick staff 139 Mar 11 15:20 carte
-rwxr-x--- 2 Ioan system 3445 Feb 13 11:10 program
drw---------- 1 Fred staff 567 Feb 19 17:30 program1

53
Primul caracter dintr-o linie indic tipul fiierului: director (d), fiier special (b
sau c) sau fiier ordinar (-). Urmtoarele nou caractere descriu drepturile de acces ale
proprietarului fiierului (primele trei caractere), membrilor grupului (urmtoarele trei)
i celorlali utilizatori (ultimele trei caractere). Literele r, w, x sunt ntotdeauna listate n
aceast ordine; prezena unei litere indic acordarea dreptului respectiv, iar semnul
minus indic absena dreptului respectiv. Urmtoarele coloane indic, n ordine,
numrul de legturi, numele proprietarului, numele grupului, numrul de caractere din
fiier i data la care fiierul a fost modificat ultima oar.
Schimbarea drepturilor de acces se face cu comanda chmod. n aceast comand
este necesar s fie specificate urmtoarele informaii:

pentru ce persoane se stabilesc drepturile de acces;


care sunt drepturile care se modific;
care este fiierul ale crui drepturi de acces se modific.

Pentru persoanele ale cror drepturi de acces se stabilesc pot fi folosite


caracterele u (utilizator), g (grup), o (alii) sau a (toi). Pentru drepturile care se
modific elementele se dau sub forma unui grup de dou caractere. Primul caracter este
+ (pentru acordarea dreptului) sau (pentru retragerea dreptului) urmat de unul din
caracterele r, w sau x (al doilea caracter) care se refer la dreptul de acces n discuie.

6.4.4. Montarea volumelor n arborele sistemului de fiiere

Orice disc UNIX pe care se pot crea mai multe partiii poate s conin mai
multe sisteme de fiiere (n general un disc flexibil conine doar un singur sistem de
fiiere). Nucleul UNIX are un sistem de fiiere propriu care conine comenzile necesare
gestionrii sistemului (root file system).
Toate sistemele de fiiere, cu excepia lui root file system care este mereu activ,
pot fi sau nu ncorporate n structura accesibil la un moment dat. Dac un sistem de
fiiere este accesibil, se spune despre el c este montat. Fiecare volum UNIX conine un
sistem propriu de fiiere, cu o rdcin ce poate fi ataat la root file system prin
operaia de montare, care l extinde pe acesta din urm cu subarborele corespunztor
volumului care s-a montat. Este posibil i operaia invers cnd un volum UNIX este
fcut inaccesibil prin demontare. Comenzile de montare i demontare a volumelor sunt
accesibile numai superutilizatorului (administratorului sistemului).

6.5. Operarea sub sistemul de operare UNIX


Aa cum s-a artat, sistemul de operare UNIX admite dou categorii de
utilizatori: superutilizatorul (sau administratorul de sistem) i utilizatorii obinuii.
Pentru distingerea acestor dou categorii de utilizatori prompterul afiat de sistemul de
operare este diferit, n mod implicit fiind afiat caracterul # pentru superutilizator i
caracterul $ pentru utilizatorul obinuit.
Directorul utilizatorului se numete home directory i el devine automat
directorul curent la nceperea sesiunii de lucru.
Pentru operare, o parte din parametrii mediului de lucru sunt definii prin
variabilele interpretorului de comenzi (variabile shell).
Definirea unei variabile shell se face n felul urmtor:
54
variabil=valoare

Referirea la o variabil shell se face cu ajutorul numelui acesteia prefixat de


semnul $.
De exemplu,
- atribuirea valorii: pozit=/usr/dan
- utilizarea variabilei: cd $pozit
ceea ce va avea ca efect schimbarea directorului curent n /usr/dan.
Variabilele shell sunt de dou tipuri:
a) variabile modificate dinamic de ctre interpretor:

$# = numrul de parametrii ai unei proceduri shell;


$? = codul de revenire al ultimei comenzi executate;
$$ = identificatorul de proces asociat SHELL-ului;
$! = identificatorul ultimului proces lansat n background;
$- = Opiunile cu care a fost lansat SHELL-ul;
$n = parametrii trimii procedurilor SHELL pe linia de comand (n=1 ...9)

b) variabile atribuite la intrarea n sesiune:

$HOME = home directory;


$PATH = lista cilor de cutare;
$PS1 = promterul asociat interpretorului (implicit $);
$PS2 = prompterul asociat continurii liniei de comand (implicit >);
$LOGNAME = numele de conectare al utilizatorului;
$MAIL = numele directorului unde este plasat pota electronic;
$SHELL = numele programului shell folosit de editorul de texte vi i alte
comenzi;
$TERM = informaii despre tipul terminalului ecran.

Pentru afiarea tuturor variabilelor shell se folosete comanda set. De asemenea


aceast comand poate fi folosit pentru vizualizarea i modificarea fiecrei variabile
shell n parte.
Pentru operare UNIX prezint manualul complet al tuturor comenzilor.
Pentru a obine explicaii despre utilizarea unei anumite comenzi se scrie:

man nume_comand

obinndu-se pe ecran explicaii complete despre aceast comand.


De asemenea UNIX pune la dispoziie instrumente puternice pentru dezvoltarea
de programe: editoare de text, interpretoare, compilatoare, asambloare, editoare de
legturi pentru majoritatea limbajelor de programare.

55
6.6. Instalarea sistemului de operare UNIX
Instalarea sistemului de operare UNIX se realizeaz printr-un program special
afectat acestui scop, specific fiecrei versiuni UNIX. Indiferent ns de versiune, acest
program efectueaz:

partiionarea i formatarea hard discurilor;


crearea structurii arborescente standard;
copierea fiierelor sistem i ale utilizatorilor;
nchiderea sesiunii de instalare i informarea utilizatorului despre
posibilitatea iniializrii sistemului.

Dup instalarea sistemului, administratorul de sistem va crea cte o intrare n


sistem pentru fiecare utilizator care va presupune:

crearea de directoare proprii home directories;


crearea parolelor i a drepturilor de acces;
asocierea unor identificatori pentru grup i pentru utilizatori.

6.7. Iniializarea sistemului de operare UNIX


Procesul de iniializare a sistemului comport urmtoarele etape:

execuia procedurilor de testare i iniializare hardware: memorie, tastatur,


uniti de disc etc., proceduri ce se gsesc n memoria ROM;
ncrcarea n memoria RAM a ncrctorului aflat n blocul de boot al
sistemului de fiiere;
ncrctorul va transfera n memoria RAM nucleul sistemului de operare
UNIX aflat n fiierul UNIX din root.

Nucleul o dat ncrcat, va declana execuia urmtoarelor activiti:

iniializarea structurilor de date proprii:


imaginea superblocului i a listei de inod-uri n memorie;
lista bufferelor de disc libere;
bufferele pentru cozile de caractere;
altele.
montarea sistemului de fiiere root n /;
construirea procesului 0 ca imagine a unui proces incomplet, datorit zonei
de date incomplete (numai zona utilizat de nucleu);
construirea procesului 1 init prin execuia unui fork intern (n mod
Kernel), care:
iniializeaz structurile de date;
mrete zona de memorie alocat pentru text;
transfer codul apelului directivei exec din spaiul de adres al nucleului
n memoria RAM, devenind astfel primul proces complet din sistem;

56
trecerea procesului 1 n mod utilizator i ncrcarea sa pentru execuie, ceea
ce va implica:
citirea fiierului /etc/inittab pentru stabilirea proceselor ce se vor crea;
lansarea unui proces /etc/gtty pentru fiecare linie de comunicaie activ;
scanarea fiierului /etc/rc;
lansarea n execuie a proceselor ce se execut n background pe ntreaga
durat de funcionare a sistemului.

6.8. Sesiunea de lucru


Fiecare proces /etc/getty ateapt ca un utilizator s se conecteze la sistem,
setnd parametrii de comunicaie pentru terminal cu informaiile furnizate de fiierul
/etc/getty defs i lansnd n execuie (directive exec) programul login. Acesta va
solicita datele de identificare a utilizatorului (nume, parol) i, n caz de concordan, va
lansa n execuie (prin exec) procesul Shell specificat n fiierul /etc/passwd.
Ieirea din sesiunea de lucru se face prin comanda CTRL/D sesizat de init, care
va lansa un nou proces getty pe linia respectiv.
ncheierea complet a sesiunii de lucru a ntregului sistem se face cu comanda
shutdown care ncheie toate procesele din sistem, salvnd pe disc toate informaiile din
memorie.

6.9. Administrarea i ntreinerea sistemului de operare UNIX


6.9.1. Administrarea sistemului

Funcie de diversele versiuni ale sistemului de operare UNIX, pentru


administrarea acestuia este pus la dispoziie o interfa sub form de menu orientat pe
task-uri, ale crei principale funcii constau n:

opiuni pentru toate operaiile posibile;


verificarea erorilor pe parcurs;
informarea utilizatorului cu privire la modul de terminare a fiecrui task
lansat n execuie.

Administrarea sistemului poate fi realizat i prin intermediul unor comenzi ce


se afl n cile: /bin, /usr/bin i /etc setate ntr-o variabil PATH pentru a fi disponibile;
exemplu: comanda cron ce permite executarea unor lucrri ca:

stabilirea unor proceduri de backup la anumite momente de timp;


evidenierea activitii sistemului la anumite ore, zile, sptmni sau luni.

Exist o serie de activiti administrative ce trebuie avute n vedere odat cu


instalarea sistemului (proceduri de setup iniializare):

stabilirea consolei;
instalarea sistemului de operare;
instalarea pachetelor de aplicaii;

57
definirea i identificarea utilizatorilor ce se pot conecta la sistem;
configurarea terminalelor, imprimantelor.

6.9.2. ntreinerea i securitatea sistemului

ntreinerea sistemului dup instalare i iniializarea acestuia vizeaz urmtoarele


activiti:

comunicarea cu utilizatorii;
verificarea periodic a sistemului care necesit verificarea:
numelui sistemului;
strii curente;
utilizatorii;
plcile hardware;
montarea sistemului de fiiere;
gradul de ocupare a discurilor.

Asigurarea securitii se realizeaz prin:

schimbarea periodic a parolelor;


verificarea i limitarea fiierelor ce dau unui utilizator drepturi de acces la
fiierele altui utilizator sau grup;
detectarea eventualelor ncercri ilegale de conectare la sistem.

58
CAPITOLUL 7
7. Sistemul de operare Windows
7.1. Generaliti
Sistemul de operare Windows a aprut mai nti ca un program utilitar sub DOS,
oferind o interfa grafic prietenoas pentru utilizatori, avnd ca principal scop accesul
la operarea pe calculator a utilizatorilor obinuii, cu cunotine minime de operare. De
asemenea, interfaa grafic Windows extinde posibilitile de utilizare a calculatorului
personal exploatnd modul de funcionare virtual al microprocesorului INTEL 80x86
(vezi paragraful 5.2). Mai trziu, datorit succesului deosebit de care s-a bucurat aceast
interfa grafic, firma productoare, Microsoft, a creat sistemul de operare Windows.
Acest sistem de operare este un sistem de operare cu multiprogramare fiind
prevzut cu mecanisme de alocare a resurselor i gestiune automat a memoriei. n acest
sens se poate spune c Windows este un sistem de operare de tip time-sharing,
multitasking.
Principalele caracteristici ale sistemului de operare Windows 9x sunt:

o ofer posibilitatea efecturii activitii de multiprogramare (multitasking);


o ofer faciliti pentru conectarea n reele de calculatoare;
o dispune de o interfa grafic prietenoas care ofer utilizatorilor posibiliti
multiple pentru operaii de creare, mutare, copiere, redenumire, tergere si
vizualizare a fiierelor i directoarelor;
o are componente multimedia performante;
o permite administrarea configuraiei sistemului de calcul prin intermediul
unui registru special. Acest registru are n componenta o serie de parametri
care pot fi poziionai pe anumite valori, permind o cretere a
performanelor n utilizarea sistemului de calcul;
o permite conectarea la distan i executarea de apeluri diverse realiznd
astfel procesul de prelucrare distribuit a datelor;
o dispune de faciliti deosebite pentru editarea i tiprirea textelor i
graficelor;
o ofera compatibilitate cu aplicaiile executate sub DOS, precum i a celor
executate sub versiunile anterioare WIN 3.1 sau WIN 3.11;
o dispune de un sistem HELP modernizat, oferind utilizatorului posibilitatea
cutrii dup index i dup anumite chei precizate de utilizator;

59
o are n componen un sistem de fiiere, care accept lungimi ale numelui
fiierului de la 1 la 255 de caractere.

Opiunile afiate n cadrul diverselor meniuri se activeaz fie cu mouse-ul prin


executarea unor simple apsri asupra tastelor acestuia, n funcie de contextul respectiv
fie prin intermediul tastaturii. Orice obiect reprezentat pe suprafaa de lucru este sub
controlul sistemului de operare, care dispune de un meniu de context prin intermediul
cruia se precizeaz principalele operaii ce se pot executa cu obiectul respectiv.

7.2. Utilizarea programelor DOS sub Windows 9x


Deschiderea unei sesiuni DOS pe un calculator pe care este instalat sistemul de
operare Windows poate fi realizat n 3 moduri:

1. la pornirea calculatorului, n momentul n care se lanseaz ncrcarea sistemului


de operare, prin apsarea tastei F8 sau CTRL, fapt ce determin apariia unui
meniu din care se pot selecta opiunile:

a. Command prompt only cnd este lansat o sesiune DOS cu ncrcarea


driverelor n memorie;
b. Safe mode command prompt only cnd este lansat o sesiune DOS fr
ncrcarea driverelor n memorie;
c. Previous version of MS-DOS cnd este lansat sesiunea DOS cu sistemul
de operare avut nainte de instalarea sistemului de operare Windows.

La instalarea sistemului de operare Windows, acesta nlocuiete versiunea DOS


a sistemului dumneavoastr cu una mai nou, compatibil cu sistemul Windows instalat.
La punctele a. i b. sistemul de operare DOS este cel corespunztor sistemului de
operare Windows. Aceast metod permite deschiderea unei singure sesiuni DOS,
calculatorul lucrnd practic sub sistemul de operare DOS iar lansarea sistemului de
operare Windows nu poate fi fcut dect dac se iniializeaz calculatorul prin apsarea
butonului RESET i se rencarc sistemul de operare.

2. Prin deschiderea unei sesiuni DOS dup ce sistemul de operare Windows a fost
ncrcat. Aceast opiune permite lucrul ntr-un mediu multitasking, existnd
posibilitatea deschiderii mai multor sesiuni DOS simultan. Din cauz c n acest
mod se lucreaz de fapt sub sistemul de operare Windows, comutarea ntre
aplicaii se poate face cu combinaia de taste ALT+TAB sau din bara de meniu
(cnd ferestrele aplicaiilor sunt n starea intermediar - comutarea ntre fereastra
complet deschis i cea intermediar se face la aplicaiile DOS cu combinaia de
taste ALT+ENTER). Este bine ca o sesiune DOS deschis sub sistemul de
operare Windows s fie nchis prin scrierea comenzii EXIT la promptul DOS,
n caz contrar existnd posibilitatea pierderii datelor. Din acest motiv, secvena
de lucru corect este urmtoarea: se nchide programul rulat n sesiunea DOS, se
scrie comanda EXIT la promptul DOS, dup care dac fereastra nu se nchide
automat, poate fi nchis din colul din dreapta al ferestrei.

60
3. Prin trecerea de sub sistemul de operare Windows sub sistemul de operare DOS.
Pentru aceasta, din bara de meniu principal, se apas butonul START, apoi
Shut Down iar din meniul afiat se selecteaz: Restart in MS-DOS mode.
Rentoarcerea n sistemul de operare Windows se face cu comanda EXIT la
promptul DOS.

Viteza de execuie a unei aplicaii


DOS depinde de modul n care este ea lansat.
Astfel, dac aplicaia este lansat n execuie
pe o main care ruleaz sistemul de operare
DOS, atunci microprocesorul va lucra n
modul real i aplicaia va fi executat cu
viteza cea mai mare (aceast afirmaie fiind
valabil i pentru punctele 1 i 3 prezentate la
deschiderea unei sesiuni DOS de pe un
calculator pe care a fost instalat sistemul de
operare Windows). Dac aplicaia este lansat
de sub sistemul de operare Windows (punctul
2 prezentat la deschiderea unei sesiuni DOS
de pe un calculator pe care a fost instalat
sistemul de operare Windows), atunci
microprocesorul va lucra n modul protejat
Fig. 7.1. Stabilirea proprietilor pentru aplicaia respectiv, iar aplicaia va fi
aplicaiilor DOS rulat cu att mai lent cu ct numrul
aplicaiilor rulate simultan este mai mare i cu
ct cuanta de timp alocat de ctre
microprocesor aplicaiei respective este mai
mic.
Pentru execuia unei aplicaii DOS sub
sistemul de operare Windows, sunt posibile
anumite setri care s permit execuia optim
a aplicaiei. Aceste setri sunt memorate n
fiiere cu extensia .PIF. Fiierele .PIF
(Program Information File) sunt fiiere de
informaii ale programului care controleaz
modul n care sistemul Windows va executa o
aplicaie DOS (non Windows) i care sunt
salvate n directorul aplicaiei DOS sau n
directorul Windows. Aceste fiiere sunt de tip
special i ele pot fi editate cu ajutorul opiunii
Properties din meniul ce este afiat dac se
Fig. 7.2. Opiunile posibile pentru o apas butonul din dreapta a mouse-ului
aplicaie DOS deasupra pictogramei ce desemneaz
programul DOS (fig. 7.1.).
Un fiier .PIF conine informaii precum utilizarea memoriei, opiuni de
multitasking, modurile video, prelucrrile foreground i background, execuia n mod
ecran sau ntr-o fereastr etc. Prezentm n continuare utilizarea opiunii Properties
pentru un program DOS.
61
La alegerea opiunii Properties pe ecran apare un meniu cu urmtoarele opiuni:
General, Program, Font, Memory, Screen i Misc aa cum este prezentat n figura 7.2.
Opiunea General se refer la informaii generale cu privire la program. Aici se
poate stabili atributul (atributele) programului prin bifarea csuelor active (Read-only,
Hidden sau Archive).
Opiunea Program se refer la date ce privesc programul: pictograma i numele
programului, linia de comand cu parametri, variabile de mediu etc., directorul de lucru,
fiierul de comenzi (.BAT) ce se execut la lansarea programului, combinaia de taste
pentru lansarea programului (shortcut), fereastra n care va lucra programul i modul de
nchidere a acesteia la terminarea programului DOS. Tot aici sunt dou butoane:
Advanced... i Change Icon... care permit utilizarea fiierelor CONFIG.SYS i
AUTOEXEC.BAT ce se gsesc n directorul rdcin a discului sistem sau definirea
propriilor fiiere pentru aplicaia respectiv i, respectiv, schimbarea pictogramei
programului.
Celelalte obiuni permit: Font alegerea tipului de caractere care se vor utiliza
n sesiunea DOS, Memory stabilirea cantitii de memorie RAM alocat aplicaiei
DOS (n general fiind recomandat pstrarea opiunilor implicite), Screen care se
refer la modul de afiare pe ecran i Misc ce conine diferite opiuni la care n general
sunt preferate cele implicite.

7.3. Arhitectura sistemului de operare Windows


Sistemul de operare Windows 9x conine un ansamblu de elemente, fiecare
realiznd o anumit funcie pentru utilizatori i pentru programele de aplicaii
componente sau executate sub contextul acestui sistem.
Principalele componente ale sistemului de operare Windows sunt:

nucleul sistemului de operare compus dintr-un interpretor de comenzi, care are


rolul de a interpreta comenzile utilizatorului n vederea realizrii dialogului cu
calculatorul;
programele sistemului de baz: permit efectuarea serviciilor specifice unui
sistem de operare i au n componena lor urmtoarele elemente:
subsistemul de administrare a fisierelor, care are rolul de interfa ntre
toate echipamentele calculatorului, pentru a asigura procesul de creare,
actualizare i consultare a fiierelor;
subsistemul de programe pentru reea, care are rolul de a efectua
conectrile, deconectrile i gestionarea calculatoarelor conectate ntr-o reea
de calculatoare;
programe speciale pentru efectuarea serviciilor sistemului de operare:
programe necesare instalrii echipamentelor si componentelor soft n regim
PLUG&PLAY, programe speciale pentru administrarea memoriei interne;
sisteme de programe pentru administrarea mainii virtuale: programe pentru
administrarea memoriei virtuale, programe pentru programarea executrii
lucrrilor, programe pentru pornirea i oprirea aplicaiilor ntr-o sesiune de
lucru;

62
programe DRIVER ale echipamentelor: sunt programe care permit sistemului
de operare s realizeze o comunicare real cu echipamentul pentru care s-a
elaborat programul DRIVER respectiv;
programe traductoare: cuprind diferite asambloare, macroasambloare,
interpretoare i compilatoare pentru limbaje de programe diverse adaptate
cerinelor lucrului sub WINDOWS;
sisteme de gestiune a coleciilor de date: cuprind sisteme de gestiune a
fiierelor orientate pentru lucrul sub WINDOWS, precum i sisteme de gestiune
a bazelor de date cum sunt: FOXPRO, ORACLE, etc., adaptate cerinelor
lucrului sub Windows.

7.4. Descrierea suprafeei de lucru (DESKTOP)


Dup lansarea n executie a sistemului de operare, pe ecran apar o serie de
reprezentri sugestive numite pictograme, aranjate n funcie de opiunile furnizare la
instalarea sistemului.
O parte dintre acestea sunt:

- configuraia calculatorului la care se lucreaz

- depozitarea fiierelor i dosarelor care se terg

- calculatoarele conectate n reea

Mai apar o serie de pictograme care sunt specifice anumitor aplicaii instalate n
sistem, iar n partea de jos a ecranului apare bara de TASK-uri (TASK BAR). Aceasta
este de fapt o component central, avnd un rol deosebit pentru majoritatea operaiilor
ce se execut sub Windows. Ea are trei componente de baz:

meniu START;
lista TASK-urilor;
zona SETTING.

Meniul START apare n partea stnga jos i conine lista complet cu toate
aplicaiile explorate sub Windovs. Acestea pot fi:

PROGRAMS: o list cu toate aplicaiile instalate pe calculatorul respectiv.


DOCUMENTS: permite selectarea unui document care a fost deschis anterior.
63
SETTINGS (setare parametri): permite modificarea de ctre utilizator a unor
parametri ai meniului Windows i, de asemenea, accesul la fereastra de control
pentru efectuarea diverselor operaii de instalare sau dezinstalare a unor
programe sau echipamente periferice. De asemenea, permite accesul la
configurarea imprimantelor i a parametrilor barei de task-uri;
FIND: se utilizeaz pentru a specifica diverse criterii pentru cutarea unui
fiier/director (dup nume, locaie, data modificrii, dimensiune i coninut) sau
calculator (pentru calculatoarele legate ntr-o reea de calculatoare);
HELP: deschide o fereastra principal de ajutor a utilizatorului i caut orice
informaie de care are el nevoie. Permite i executarea de mici exemple;
RUN (rulare): se utilizeaz pentru lansarea n execuie a unei aplicaii;
SHUT DOWN (nchidere): se utilizeaz pentru a nchide sesiunea de lucru,
oferind mai multe posibiliti:
1. Shut down - oprirea calculatorului
2. Restart - repornire;
3. Restart in MS-DOS mod - repornire, pentru a intra n modul de lucru
MS-DOS.

7.5. ntreinerea sistemului de operare Windows


ntreinerea sistemului de operare Windows presupune dou aspecte: pe de o
parte este necesar ca programele necesare operrii s fie instalate i dezinstalate corect
iar pe de alt parte s se urmreasc faptul ca toate componentele hardware ale
calculatorului au driverele corecte.
Instalarea sau dezinstalarea aplicaiilor se face cu ajutorul componentei
Add/Remove Programs din Control Panel.
Instalarea componentelor hardware se realizeaz cu ajutorul componentei Add
New Hardware iar corectitudinea instalrii se verific prin intermediul componentei
System din Control Panel.
Pentru ntreinerea sistemului sunt furnizate trei componente de baz: Disk
Cleanup ce permite eliminarea informaiei inutile de pe harddisc, Disk Defragmenter
care permite creterea vitezei de lucru prin defragmentarea informaiei pe hardisc i
ScanDisk ce permite verificarea corectitudinii sistemului de fiiere de pe disc i
corectarea eventualelor erori depistate.

64
LABORATOR
INTRODUCERE N SISTEME DE OPERARE

Laborator 1
Caracteristicile fizice i capacitatea harddiscului
ntr-un sistem de calcul, ncrcarea sistemului de operare n memoria intern se
face cu ajutorul programului ncrctor (Bootstrap Loader), de pe un suport extern de
memorie. Suportul de memorie extern poate fi :

o discul flexibil (discheta) din de n ce mai rar folosit ;


o discul dur (harddiscul sau discul Winchester) ;
o discul optic (CD Compact Discul) ;
o discul video (DVD) ;
o memoria flash ;
o etc.

Discul dur sau harddiscul rmne n continuare unul din principalele suporturi
externe de memorie de pe care se ncarc n mod obinuit sistemul de operare. Datorit
acestui fapt, n stadiul actual, exist o strns legtur ntre sistemul de operare i
harddisc. Pentru un astfel de dispozitiv destinat stocrii informaiei una dintre
caracteristicile principale este cantitatea de informaie ce poate fi stocat pe harddisc sau
capacitatea acestuia.
Pentru cantitatea de informaie elementar posibil a fi stocat pe harddisc se
folosete din motive tehnologice i istorice octetul (byte). Un octet este cantitatea de
informaie ce poate fi reprezentat cu ajutorul a opt cifre binare (opt bii). Deci, avem o
prim relaie pentru cantitatea de informaie stocat :

1 octet (byte) = 8 bii (bits)

Este evident faptul c aceast cantitate de informaie este mult prea mic pentru
cantitile imense de informaie vehiculate astzi de sistemele de calcul. Din acest motiv
se folosesc multiplii acesteia :

210 octeti = 1024 octei = 1 kilo octet = 1ko


210 ko = 1024 ko = 1 mega octet = 1Mo
210 Mo = 1024 Mo = 1 giga octet = 1Go
65
210 Go = 1024 Go = 1 tera octet = 1To

Rezult c:

1To = 210 x 210 x 210 x 210 octei = 240 octei = 1 099 511 627 776 octei

ceea ce reprezint o valoare ce nu poate fi comparat dect cu valorile numerice folosite


n astronomie.
Informaia este stocat pe harddisc pe principii magnetice, un strat magnei aflat
pe unul sau mai multe
discuri fiind magnetizat cu
ajutorul mai multor capete
de scriere/citire.
Pentru ca informaia s
poat fi gestionat i
regsit pe aceste
suprafee magnetice,
exist un anumit mod de
organizare a informaiei pe
harddisk, mod de
organizare extins i la
celelalte suporturi externe
de stocare a informaiei
din motive de
compatibilitate.
Figura 1. Structura unei unitii hard disc Structura fizic a
harddiscului este
prezentat n figura 1. n acest exemplu
structura este alctuit din dou discuri
dure i de patru capete de citire/scriere
aezate de o parte i de alta a discului. Cele
patru capete se mic simultan deplasate de
un bra de poziionare. Discurile dure se
rotesc cu o anumit vitez (de exemplu
Figura 2. Organizarea informaiei pe disc 7200 rot/min) iar capetele citesc, pentru o
anumit poziie, o suprafa circular.
Organizarea informaiei conform acestui principiu este artat n figura 2.
Fiecare pist (zon circular) este mprit, la rndul ei, n mod convenional n mai
multe pri numite sectoare. Sectoarele au dimensiune fix (de obicei 512 octei).
Pistele i sectoarele unui disc sunt numerotate n aa fel nct informaia stocat n
acestea s fie uor regsit. Indiferent de cantitatea de informaie pe care dorim s-o
memorm, aceasta trebuie s ocupe un numr ntreg de sectoare deoarece sectorul este
considerat ca unitate de memorie pentru suportul extern. De exemplu un fiier pe disc
va putea ocupa sectoarele 28, 29 i 35 iar alt fiier sectoarele 88, 89 i 73. Pentru ca
informaia s poat fi localizat uor, sectoarele i pistele vor avea la nceput un antet n
care sunt nscrise anumite informaii cum ar fi: numrul pistei, numrul sectorului,
cantitatea de informaie stocat, codul de eroare etc. Aceste marcaje sunt scrise la
formatarea suportului extern de memorie (formatare fizic).
66
Aa cum s-a vzut, la un harddisc exist mai multe capete de citire/scriere,
fiecare dintre acestea citind la un moment dat o pist de pe o fa a unui disc. Totalitatea
pistelor citite la un moment dat formeaz un cilindru. Rezult c numrul total al
pistelor de pe o fa a discului este egal nu numrul total al cilindrilor unui harddisc.
Aceste informaii: numrul capetelor, numrul cilindrilor, numrul sectoarelor
de pe o pist formeaz caracteristicile fizice ale unui harddisc (dimensiunea unui sector
se consider implicit 512 octei). Din acest motiv pentru astfel de dispozitive externe de
memorie se folosete noiunea de adresare CHS (Cylinder/Head/Sector addressing),
deoarece atunci cnd sunt cunoscute aceste valori se cunoate exact poziia informaiei,
sau geometrie CHS deoarece aceste informaii se refer la o anumit structur fizic.
Cunoaterea geometriei CHS permite calcularea cantitii tonale de informaie ce
poate fi stocat pe suportul extern de memorie:

capacitate total = numr capete x numr cilindrii x numr sectoare pe


(1)
pist x capacitate sector (512) <octei>

Harddiscurile moderne sunt dispozitive extrem de complexe, care, din motive de


simplitate sunt asociate cu dispozitive de tip CHS similare cu cele descrise aici.
Interfeele (controlerele de harddisc) EIDE (Enhanced IDE IDE Intelligent Drive
Electronics sau Integrated Drive Electronics) sau ATA (Advanced Technology
Attachment) realizeaz translatri interne ale informaiei n aa fel stocarea intern,
complex, a sectoarelor s poat fi privit n exterior sub forma simplificat a unei
configuraii de tip CHS.
Datorit caracterului universal al translatrilor interne, harddiscurile moderne
pot fi configurate folosind orice combinaie pentru numrul total de cilindrii, capete i
sectoare, ns valoarea capacitii totale calculat cu aceste valori nu trebuie s
depeasc valoarea capacitii totale a dispozitivului extern de memorie. Dup
stabilirea unei configuraii CHS aceasta trebuie folosit ori de cte ori este folosit
harddiscul, orice modificare a acestor valori putnd duce la imposibilitatea
recuperrii informaiei de pe harddisc.
n funcie de tipul programului BIOS (Basic Input Output Sistem) valoarea capacitii
maxime a unui harddisc ce se poate monta ntr-un sistem este limitat la diferite valori
(pentru detalii se va studia bibliografia referitoare la arhitectura calculatoarelor).
n aceast lucrare de laborator se vor studia valorile furnizate pentru geometria CHS de
ctre programul BIOS i de ctre programul PartIn (Partition Information) al firmei
PowerQuest.

ATENIE! n meniul SETUP nu se vor face nici un fel de modificri! Modificrile


pot produce nefuncionarea calculatorului.

1. Pentru determinarea geometriei CHS cu ajutorul componentei BIOS se va intra


n meniul SETUP al acesteia astfel:
a. se pornete calculatorul (sau se repornete selectnd comenzile: START
Turn off computer Restart) i se apas tasta Delete sau se execut
comanda indicat pe ecranul calculatorului, pentru a intra n meniul
SETUP al programului BIOS;
b. atunci cnd apare meniul SETUP se selecteaz opiunea Standard
CMOS Features;
67
c. se selecteaz o unitate harddisk i se apas ENTER;
d. n fereastra aprut se citesc caracteristicile fizice ale unei uniti de disc;
de exemplu:
Capacity (capacitatea): 163 GB
Cylinder (numrul de cilindri): 65535
Head (capete): 16
Sector (numrul de sectoare pe pista): 255
Calculnd capacitatea maxima a discului cu relaia (1), obinem:
capacitatea maxim = 127,5 GB
Valorile citite i calculul efectuat se vor scrie ntr-un tabel de forma tabelului 1,
n coloana BIOS.

TABELUL 1

2. Pentru determinarea CHS cu ajutorul programului PartIn se deschide acest


program care afieaz fereastra din figura 3.

Conform informaiilor afiate n aceast fereastr, valoarea calculat cu ajutorul


Parametrul BIOS PartIn
Capacity
Cylinder
Head
Sector
Capacitate calculat
(relaia 1)
relaiei (1) a capacitii totale a discului este:
capacitatea maxim = 152,67 GB
Valorile citite i cele calculate se trec n tabelul 1 n coloana PartIn.
Aa cum se observ, exist diferene ntre capacitatea raportat de programul
BIOS i cea raportat de programul PartIn. De asemenea exist diferene ntre
capacitatea calculat i cea raportat.
Capacitatea raportat de programul BIOS se refer la formatul fizic al
harddiscului iar valorile CHS sunt cele stabilite de acest program pentru formatul fizic.
Valoarea capacitii calculate trebuie s fie, aa cum s-a artat, mai mic dect
capacitatea fizic (127,5 GB < 163 GB).
Capacitatea raportat de programul PartIn se refer la capacitatea logic
(obinut n urma formatrii logice). i aceast valoare trebuie s fie mai mic dect
capacitatea fizic (152,66 GB < 163 GB). Valoarea calculat trebuie s fie n acest caz
aceeai (156 327,8 MB = 152,66 GB).
Important este configuraia CHS raportat de programul BIOS. Aceast
configuraie trebuie pstrat (nscris n programul BIOS), dac unitatea de harddisc
este mutat pe un alt sistem de calcul, pentru a putea citi n continuare informaiile de pe
harddisk. De regul programul BIOS recunoate singur combinaia CHS datorit
universalitii schemei de transformare.

68
Informaiile discului 1

Figura 3. Fereastra principal a programului PartIn.

Referatele de laborator vor conine valorile determinate experimental i cele


calculate, trecute n tabelul 1. De asemenea referatele vor conine un scurt material
(de o pagin) cu privire la stadiul actual al harddiscurilor existente pe pia
(productori, capaciti maxime etc.).

69
Introducere n sisteme de operare

Laborator 2
Partiionarea harddiscurilor
Prin operaia de partiionare nelegem fragmentarea logic a unui harddisc fizic
n mai multe discuri logice. Cu alte cuvinte, un disc fizic, de o anumit dimensiune,
poate fi privit de sistemul de operare ca fiind format din mai multe discuri
independente, fiecare dintre acestea avnd asociat o liter. Cum pentru harddiscuri
prima liter rezervat pentru identificare este litera C (literele A i B sunt rezervate
pentru unitile de disc flexibil), partiiile vor primi n ordine, identificatorii: D, E, ,
Z.
n utilizare, unui disc fizic i se poate asocia un singur disc logic, situaie n care
discul fizic este identic cu discul logic, sau mai multe discuri logice a cror capacitate
poate fi cel mult egal cu capacitatea discului fizic.
Operaiile efectuate la instalarea unui sistem de operare sunt: partiionarea
suportului extern de memorie, formatarea logic (formatarea de nivel nalt) a partiiilor,
pentru un anumit sistem de fiiere corespunztor sistemului de operare instalat i
instalarea propriu-zis a sistemului de operare..
Uneori, nainte de operaia de partiionare, poate fi necesar formatarea fizic
(de nivel sczut) a suportului extern de memorie. Aceast formatare este fcut de
regul n fabric dar, uneori, de exemplu n situaia apariiei unor virui informatici,
formatarea fizic trebuie refcut.

NOT: evitai pe ct posibil formatarea fizic a harddiscurilor deoarece pot aprea


probleme n funcionarea harddiscului.

Partiiile unui harddisk pot fi: partiii primare sau partiii extinse. Partiiile
extinse se compun, la rndul lor din partiii logice.
Un sistem de operare nu poate fi instalat dect pe o partiie primar. Partiia de
pe care se ncarc sistemul de operare la un moment dat este partiia activ. Datorit
faptului c la un moment dat n sistemul de calcul nu se poate ncrca dect un sistem de
operare, o singur partiie va putea fi activ n sistem,
Pentru ncrcarea sistemului de operare, n pista zero a harddiscului, se va afla
sectorul de boot (MBR Master Boot Record), care permite lansarea n execuie a
programului de ncrcare a sistemului de operare (Bootstrap Loader). Acest program, n
cazul n care n sistemul de calcul sunt instalate mai multe sisteme de operare, va afia
un meniu din care utilizatorul s-i aleag sistemul de operare pe care dorete s-l
ncarce n sistemul de calcul. Programul Bootstrap Loader face activ partiia primar
pa care se afl sistemul de operare dorit i trece la ncrcarea acestuia n memoria
principal (memoria RAM) a sistemului de calcul.
Programul de instalare a sistemului de operare conine i aplicaia pentru crearea
sectorului de boot i instalarea programului Bootstrap Loader. Exist i aplicaii
independente (cum este spre exemplu programul PartitionMagic) cu ajutorul crora se
pot crea sectoare de boot i instala programe Bootstrap Loader prevzute cu meniu ce
permite ncrcarea unui sistem de operare din mai multe instalate n calculator.

70
Structura general a unui harddisc este prezentat n figura 1.

PARTIIE PARTIIE
PARTIIE PARTIIE PARTIIE
PRIMAR PRIMAR LOGIC LOGIC LOGIC
E: F: G:
C: D:
PARTIIE EXTINS

HARDDISC (UNITATE FIZIC)

Figura 1. Structura general a unui harddisc.

n figura 1 harddiscul conine dou partiii primare (C: i D:), pe care se pot
instala dou sisteme de operare diferite i o partiie extins compus din trei partiii
logice (E:, F: i G:). Partiia primar C: este partiia activ.
Primele sisteme de operare create de firma Microsoft (DOS i Windows 9x) nu
permiteau existena a dou sisteme de operare pe acelai calculator i deci nici existena
a dou partiii primare. Este posibil totui s instalm i un al doilea sistem de operare
alturi de aceste sisteme de operare dac ce-a de-a doua partiie primar este ascuns aa
cum este artat n figura 2.

PARTIIE PARTIIE
PARTIIE PARTIIE PARTIIE
PRIMAR PRIMAR LOGIC LOGIC LOGIC
D: E: F:
C: (partiie
ascuns) PARTIIE EXTINS

HARDDISC (UNITATE FIZIC)

Figura 2. Structura general a unui harddisc n cazul instalrii sistomului de operare DOS sau
Windows 9x.

Pentru partiionarea unui harddisk pot fi folosite diferite programe utilitare mai
mult sau mai puin avansate. Unul dintre acestea este programul fdisk.exe furnizat de
ctre firma Microsoft pentru sistemele de operare DOS i Windows 9x.
n aceast lucrare de laborator se va experimenta partiionarea harddiscurilor cu
ajutorul unui simulator al programului FDISK.EXE pentru a ctiga deprinderile
necesare pentru partiionarea corect a unui harddisc. Se folosete un simulator
deoarece, aa cum s-a artat, partiionarea este o aciune distructiv (se terge informaia
de pe harddisc) n cazul utilizrii programului FDISK.EXE.

71
NOT: partiionarea poate fi i nedistructiv aa cum este spre exemplu n cazul
utilizrii programului PartitionMagic. n orice caz citii cu atenie documentaia
programului utilizat.

Pentru lansarea simulatorului programului FDISK.EXE se lanseaz n execuia


aplicaia Simulator FDISK.exe. Pe ecranul calculatorului este afiat fereastra
prezentat n figura 3.

Figura 3. Fereastra de nceput a programului Simulator FDISK

Figura 4. Meniul principal al programului FDISK.EXE

Se apas butonul Pornire iar la fereastra urmtoare se rspunde YES sau NO la


ntmplare deoarece informaiile legate de formatul FAT16 sau FAT32 vor fi prezentate
mai trziu. Dac s-a apsat butonul YES atunci la fereastra urmtoare se rspunde iari
cu YES sau NO la ntmplare, pentru c, din nou, informaiile legate de formatul NTFS
vor fi prezentate mai trziu.
72
Se ajunge la meniul principal (figura 4) al programului FDISK.EXE care
permite principalele operaii legate de partiionarea unui harddisc.
Pe msur ce se desfoar aceast lucrare de laborator, vor fi citite i
explicaiile prezentate n partea stng a ferestrei, explicaii ce completeaz cunotinele
prezentate aici.
Pentru nceput se vizualizeaz starea harddiscului prin selectarea opiunii patru
din meniul principal. Este afiat fereastra din figura 5.

Figura 5. Afiarea informaiilor legate de partiionarea harddiscului

Figura 6. Structura partiiei extinse.

Conform informaiilor afiate, harddiscul conine o partiie primar (C:) i una


extins. Pentru a vedea componena partiiei extinse se apas butonul YES. Este afiat
fereastra din figura 6.
Partiia extins conine trei partiii logice (D: E: i F:) structura harddiscului
fiind cea din figura 7.

73
PARTIIE PARTIIE PARTIIE
LOGIC LOGIC LOGIC
PARTIIE PRIMAR D: E: F:

C: PARTIIE EXTINS

HARDDISC (UNITATE FIZIC)

Figura 7. Structura harddiscului din programul Simulator FDISK.

Se vor explora toate opiunile programului Simulator FDISK i se vor nota


principalele aspecte legate de aceste opiuni.
Dup ce se va ncheia aceast activitate se va nchide programul prin selectarea
butonului ESCAPE din meniul principal i apoi n fereastra Codul rezultat se apas
butonul OK.
Se repornete aplicaia Simulator FDISK i se terg toate partiiile de pe disc cu
ajutorul opiunii trei din meniul principal n aa fel nct atunci cnd se va afia situaia
partiiilor de pe disc s fie afiat fereastra din figura 8.

Figura 8. Fereastra afiat n cazul n care toate partiiile au fost terse.

Din aceast fereastr ne rentoarcem n meniul principal prin apsarea butonului


Meniu principal (ESC) i de aici prsim programul prin apsarea butonului
ESCAPE.

Din fereastra Codul rezultat (figura 9) se noteaz codul afiat, care se trece n referatul
de laborator.

74
Figura 9. Fereastra cu codul activitii de laborator.

Referatele de laborator vor conine: lista opiunilor din meniul principal al


programului FDISK.EXE cu o scurt descriere a acestora, o prezentare succint
(de maximum o pagin) a unor programe de partiionare a harddiscurilor, folosite
n prezent i codul rezultat la ncheierea activitii de tergere a harddiscului.

75
Introducere n sisteme de operare

Laborator 3
Partiionarea harddiscurilor (continuare)
Pentru instalarea unui sistem de operare pe un suport extern de memorie, acesta
trebuie pregtit n prealabil in aa fel nct la pornirea calculatorului sistemul de operare
s fie gsit i ncrcat n memoria RAM. n cazul harddiscurilor pregtirea acestora
const n operaiile de: partiionare, formatare logic i copierea fiierelor sistemului de
operare.
La pornirea unui calculator pe care este instalat un sistem de operare, ncrcarea
acestuia n memoria RAM a sistemului de calcul se numete proces de boot. Procesul de
boot va fi descris pe scurt n continuare.

Procesul de boot

Dup terminarea POST-ului (Power-On Self Test - aciune determinat n


general, de programul BIOS, la pornirea calculatorului), funcia BIOS de ncrcare a
sistemului de operare (ntreruperea INT 19) intr n aciune. Aceast funcie are rolul de
a ncrca primul sector de pe harddisc, adic MBR (Master Boot Record) n memorie la
adresa 0000:7c00, dup care va rula codul de la locaia respectiv. Micul program din
MBR va ncerca s gseasc partiia bootabil (activ) din tabela de partiii iar n cazul
n care o gsete, va ncrca n memorie sectorul de boot din partiia activ (figura 1).

Tabela de partiii

Figura 1. Succesiunea operaiilor de ncrcare a unui sistem de operare.

MBR ( Master Boot Record)

Master Boot Record este primul sector aflat pe harddisc, acest sector fiind creat
la partiionare de programul FDISK, sector ce conine 512 Bytes.
Sectorul este mprit n:

o Programul de boot (Master Boot Code) 446 bytes.


o Tabela de partiii (Master Partition Table) 64 bytes (16 x 4).
o Semntura (Boot Signature) - 2 bytes.

76
Tabela de partiii

Figura 2. Structura MBR

1) Programul de boot

Este un mic program ce ncepe de la offset-ul 000h ocupnd 446 de octei.


Rolul acestui program este de a afla care este partiia activ. n cazul n care o gsete,
execut codul din sectorul de boot din partiia activ.

2) Tabela de partiii

Aceast tabel conine intrrile pentru partiiile primare, dintre care numai una
poate fi activ la un moment dat, i partiia extins.
Aceast tabel de partiii ncepe de la offset-ul 0x01BE ocupnd 64 de octei ca mrime,
coninnd 4 partiii primare sau 3 primare i una extins, fiecare dintre ele ocupnd 16
octei (bytes). Cea extins la rndul ei poate fi mprit n mai multe partiii logice.

3) Semnatura

Ultimii 2 octei sunt ocupai de o sum de control care are rolul de a verifica
dac a fost definit o tabel de partiii sau dac exista erori n tabela de partiii,
semnatura avnd ntotdeauna valoarea AA55 n hexazecimal.
Boot Managerul este programul ce ruleaz cnd este pornit un calculator. El este
responsabil de ncrcarea i transferarea controlului sistemului de operare sau mai bine
zis kernelui, kernelul iniializnd restul sistemului de operare. El este instalat n MBR i
poate ocupa cel mult 446 de octei.

NOTA: Trebuie precizat faptul c informaiile prezentate n aceste referate de laborator


sunt valabile pentru sisteme de calcul de tip IBM PC sau compatibile cu acestea.

77
4) Sectorul de boot

Fiecare partiie primar pe care este instalat un sistem de operare are un sector
de boot (care nu trebuie confundat cu MBR). n momentul n care o partiie este fcut
activ, de pe aceasta poate fi ncrcat sistemul de operare prin mecanismul prezentat.
Primii 62 de octei ai sectorului de boot formeaz blocul de parametrii ai BIOS-ului
(BPB BIOS Parameter Block ). Acest bloc poate fi vzut, spre exemplu, cu ajutorul
programului PartitionInfo (figura 3).

Figura 3. Coninutul BPB.

Partiionarea harddiscului

n urma partiionrii harddiscului cu ajutorul programului FDISK.EXE sau a


altui program de partiionare se obin mai multe discuri logice simbolizate cu ajutorul
literelor de la C la Z i sectorul MBR ce conine tabela de partiii.
Pentru partiionarea unui harddisk vom folosi programul Simulator FDISK
parcurgnd urmtoarele etape:

2. se alege sistemul de fiiere FAT 32;


3. se alege opiunea large pentru partiiile NTFS;
4. se terge complet harddiscul conform procedeului descris n lucrarea de
laborator 2;
5. se alege opiunea 1 i din aceasta se alege Create Primary DOS Partition;
6. apoi se alege opiunea Create Extended DOS Partition;
7. n sfrit se creeaz partiiile logice n partiia extins;
78
8. se creeaz partiia activ cu opiunea 2;
9. se vizualizeaz corectitudinea rezultatului cu opiunea 4 din meniul principal;
10. se prsete programul notnd codul afiat.

Atunci cnd se realizeaz partiionarea unui harddisk, fiecare partiie are o


anumit dimensiune, msurat n megaoctei (MegaBytes - MB), dimensiune solicitat
de ctre programul FDISK.EXE. Suma total a dimensiunilor partiiilor nu poate depi
capacitatea harddiscului.

Referatele de laborator vor conine:

tabelul afiat de programul PartitionInfo pentru BPB a discului logic C:


partiionarea unui harddisc de 64 GB, folosind tot spaiul disponibil, astfel:
o partiie primar i dou partiii logice. n referat se vor trece:
dimensiunea propus pentru fiecare partiie creat (n MB)
avnd n vedere c pentru sistemul de operare instalat sunt
necesari 700MB;
codul furnizat la sfrit de programul Simulator FDISK;
un referat de maximum o pagin cu programele Boot Manager mai des
utilizate.

79
Introducere n sisteme de operare

Laborator 4
Formatarea
Dup partiionarea cu programul FDISK.EXE calculatorul trebuie repornit
(bootat) pentru ca tabela partiiilor s fie scris n sectorul de boot. Urmeaz acum
instalarea sistemului de fiiere n partiiile create iar apoi instalarea sistemului de
operare.
Instalarea sistemului de fiiere se face cu ajutorul operaiei de formatare logic.
Formatarea logic (sau pe scurt formatarea) este operaia care se realizeaz n
mod frecvent asupra suporturilor externe de memorie, n scopul marcrii acestora cu
informaiile necesare sistemului de operare, pentru gestionarea informaiei stocate pe
suportul de memorie respectiv.
Pentru nceput, trebuie reinut n legtur cu operaia de formatare, dou aspecte:

formatarea este o operaie distructiv, n sensul c n urma operaiei de formatare


se pierde informaia de pe suportul formatat;
fiecare sistem de operare are propriul sistem de fiiere (format) i deci
formatarea va fi specific sistemului de operare pe care dorim s-l instalm.

Principalele tipuri de formate logice (sisteme de fiiere)

Sistemul de fiiere reprezint o metod de organizare i stocare a fiierelor i a


datelor coninute de acestea, pe un harddisc, metod ce s-a extins i la celelalte suporturi
externe destinate stocrii informaiei i la reelele de calculatoare.

Sistemul de fiiere FAT (File Allocation Table)

Cel mai cunoscut (i folosit) sistem de fiiere este sistemul FAT creat de ctre
firma Microsoft pentru sistemele de operare DOS i Windows.
Sistemul de fiiere FAT este relativ simplu, fiind suportat de ctre toate
sistemele de operare existente astzi i care sunt destinate calculatoarelor personale.
Datorit acestui lucru formatul FAT este preferat la formatarea dischetelor sau a
cardurilor de memorie extern i la formatarea harddiscurilor pe care se instaleaz mai
multe sisteme de operare.
Principalul inconvenient al acestui sistem de fiiere este reprezentat de faptul c
tergerea i scrierea repetat a fiierelor pe suportul extern de memorie duce la
fragmentarea informaiei i n consecin la scderea vitezei de lucru a sistemului de
calcul. Pentru remedierea acestei situaii se folosesc de obicei aplicaii pentru
defragmentarea (rearanjarea informaiei) suportului extern de memorie. Durata mare
necesar acestor aplicaii pentru rezolvarea problemei le face de cele mai multe ori s
fie ocolite de utilizatori.
Exist mai multe versiuni de sisteme de fiiere FAT, cele mai folosite fiind
versiunile FAT16 i FAT 32.

80
Sistemul de fiiere FAT mparte o partiie n poriuni alctuite din mai multe
sectoare, de dimensiuni egale, numite clustere (grmezi). Dimensiunea unui cluster
depinde de versiunea FAT variind ntre 2KB i 64KB (chiar i n cadrul aceluiai tip de
FAT existnd mai multe variante). Numrul versiunii FAT semnific numrul de bii
folosii pentru adresarea unui cluster. Rezult c n cazul FAT16 sunt posibile 216 adrese
diferite, adic 216 clustere, ceea ce conduce la o dimensiune maxim a partiiei de 2GB.
Fiecare fiier, n funcie de dimensiunea acestuia, poate ocupa unul sau mai
multe clustere (ntotdeauna un numr ntreg) i deci fiecare fiier poate fi reprezentat ca
un ir unic a adreselor acestor clustere, ir cunoscut i sub numele de list nlnuit
independent. Clusterele care aparin unui fiier pot s nu fie adiacente, caz n care se
spune c informaia este fragmentat, situaie n care regsirea informaiei dureaz mai
mult i sistemul este mai lent.
Tabela de alocare a fiierelor (FAT File Allocation Table) reprezint o list de
nregistrri ce corespund clusterelor partiiei. Fiecare nregistrare din tabel poate
reprezenta:

adresa urmtorului cluster din ir;


un caracter special EOF (End Of File sfrit de fiier) care indic sfritul
irului;
un caracter special pentru marcarea clusterelor defecte;
un caracter special pentru marcarea clusterelor rezervate;
un zero care indic un cluster nefolosit.

Dimensiunea unei nregistrri n tabela de alocare poate fi, aa cum s-a artat, de
16 bii pentru FAT16 i de 32 de bii (din care sunt folosii 28), pentru FAT32.
Un alt aspect important se refer la spaiul rmas nefolosit dintr-o partiie
(wasted space). Datorit faptului c un fiier nu poate ocupa dect un numr ntreg de
clustere rezult c este posibil ca ultimul cluster din ir s fie incomplet folosit.
Totalitatea acestor clustere alctuiete spaiul nefolosit (i care nu mai poate fi
recuperat) al unei partiii. Din acest punct de vedere sistemul FAT32 gestioneaz mai
bine spaiul pe disc dect sistemul FAT16 din cauz c pentru aceeai dimensiune a
partiiei sistemul FAT32 adreseaz mai puine clustere dect sistemul FAT16.
Principalele caracteristici ale sistemelor de gestiune a fiierelor FAT16 i FAT32
sunt prezentate n tabelul 1.

TABELUL 1
Caracteristica FAT16 FAT32
1 2 3
Sistemul de operare DOS Windows
Windows
Identificator (MBR) 0x04, 0x06, 0x0E 0x0B, 0x0C
Dimensiune adres cluster 16 32
Dimensiunea maxim a
2GB 4GB
fiierului

81
1 2 3
Numrul maxim de fiiere 65 517 268 435 437
Dimensiunea maxim a
4GB 8TB
partiiei

Sistemul de fiiere NTFS

Sistemul de fiiere NTFS (New Technology File System) reprezint sistemul de


fiiere standard pentru Windows NT i descendenii acestui sistem de operare: Windows
2000, Windows XP, Windows Server 2003 i Windows Vista.
Sistemul de fiiere NTFS are numeroase mbuntiri fa de sistemul de fiiere
FAT cum ar fi: structuri avansate de date, creterea fiabilitii i a disponibilitii datelor
i a spaiului utilizat, creterea securitii datelor etc. Datorit mecanismelor utilizate
dimensiunea partiiilor este practic nelimitat.
Sistemul de fiiere NTFS cunoate de asemenea mai multe variante, unele din
acestea fiind compatibile cu sistemul de operare UNIX i LINUX.
Exist numeroase aplicaii care permit formatarea suporturilor externe de
memorie n diferite sisteme de fiiere i conversia acestor sisteme de fiiere. De
asemenea anumite sisteme de operare cum sunt Windows XP, Linux etc sunt
compatibile cu mai multe astfel de sisteme de fiiere.

Aplicaia Disk Defragmenter

Aplicaia Disk Defragmenter permite rearanjarea informaiei pe harddisc n


scopul creterii vitezei de execuie a aplicaiilor. Aceast aplicaie este instalat odat cu
sistemul de operare. Avnd n vedere faptul c att sistemul de fiiere FAT ct i
sistemul de fiiere NTFS folosesc clustere pentru memorarea informaiei,
defragmentarea este necesar pentru ambele tipuri de sisteme de fiiere.
Deschiderea aplicaiei sub sistemul de operare Windows se face acionnd
opiunea start din bara principal de unelte dup care se selecteaz All Programs i de
aici directorul Accessories. Din acesta se selecteaz directorul System Tools i din
acesta se lanseaz programul Disk Defragmenter.

Aplicaia Disk Defragmenter.

Se selecteaz una din partiiile afiate i se apas butonul Analyze. La sfritul


analizei se poate afia raportul acesteia.
82
Exemplu de raport afiat de programul Disk
Defragmenter.

Referatele de laborator vor conine:

din raportul afiat pe ecran (similar cu cel din figur) se vor nota:
tipul sistemului de fiiere utilizat la partiia analizat;
dimensiunea partiiei;
dimensiunea unui cluster;
procentul de fragmentare;
sugestia furnizat de program: este sau nu este necesar
defragmentarea.
se va ntocmi un studiu de cel mult o pagin n care se va realiza o
comparaie intre sistemul FAT i sistemul NTFS.

83
Introducere n sisteme de operare

Laborator 5
Instalarea sistemului de operare DOS
Sistemul de operare DOS este un sistem de
operare simplu i instalarea acestuia nu ridic probleme
deosebite. Avnd n vedere dimensiunile reduse ale
sistemului de operare, acesta poate fi instalat pe un disc
flexibil sau pe un suport de memorie de dimensiuni
mici ceea ce uneori reprezint un avantaj important.
Pentru nceput se va realiza o dischet MS-DOS
de sub sistemul de operare Windows. Pentru acesta se
deschide My Computer se d clic dreapta pe 3.5
Floppy (A:) i din meniul contextual aprut se
selecteaz Format. Din fereastra aprut se bifeaz
csua Create an MS-DOS startup disk. n felul
acesta este realizat o dischet sistem la care este creat
sectorul de boot i s-au copiat fiierele sistem: IO.SYS,
MSDOS.SYS, COMMAND.COM i o serie de fiiere
utile pentru configurare. Aceste fiiere se vor elimina,
nefiind necesare n aceast lucrare de laborator, i se vor aduga pe dischet, fiierele:
QBASIC.EXE, QBASIC.HLP, QBASIC.INI, EDIT.COM, EDIT.HLP, HELP.COM,
HELP.HLP, SETVER.EXE, FORMAT.EXE i SYS.COM.
Cu ajutorul editorului EDIT se vor crea pe dischet cele dou fiiere de
configurare ale sistemului de operare: autoexec.bat i config.sys cu urmtorul coninut:
<AUTOEXEC.BAT>
@ECHO OFF
PROMPT $P$G
<CONFIG.SYS>
FILES=30
STACKS=0,0
BUFFERS=20
DEVICE=A:\SETVER.EXE
Lansarea editorului se face cu comanda
EDIT urmat, eventual, de numele fiierului de
editat. Comenzile n interiorul editorului se dau
cu tasta ALT inut apsat i se apas i tasta
literei cu care ncepe cuvntul din meniul
principal.
Pentru ca aceste configurri s aib
efect se repornete calculatorul prin apsarea
combinaiei de taste CTRL+ALT+DEL
(RESET la cald) sau butonul RESET de pe
panoul frontal al calculatorului. Dup
repornirea calculatorului se apas tasta DEL pentru a intra n meniul SETUP al
programului BIOS. De aici se selecteaz dispozitivul de pe care se buteaz ca fiind
84
unitatea de disc flexibil. Dup care se salveaz aceste opiuni i se repornete
calculatorul.
Dup ce sistemul de operare DOS s-a rencrcat, se trece la testarea programului
FDISC. Cu ajutorul acestui program se vizualizeaz partiiile existente i se trec n
referatele de laborator informaiile afiate.
Se poate trece acum la instalarea sistemului de operare DOS pe harddisc. Pentru
aceasta hardiscul trebuie partiionat i formatat i pe acesta s existe o partiie primar
FAT 16 (DOS) activ.
n mod normal, instalarea sistemului de operare se face cu ajutorul unui kit de
instalare care realizeaz toate operaiile necesare. Pentru instalarea cu ajutorul kitului de
instalare, se introduce prima dischet n unitate i se lanseaz programul SETUP.EXE.
Restul operaiilor sunt fcute n mod automat.
Instalarea se poate face i fr kitul de instalare n modul descris n continuare.
Dup formatarea partiiei DOS active, se transfer sistemul de operare de pe dischet pe
aceast partiie cu ajutorul comenzii: A:\SYS A: C:. Pe harddisc trebuie s apar
fiierele sistem ale sistemului de operare DOS. Dup aceasta, se creeaz pe discul C:
directorul DOS n care se vor pune fiierele sistemului de operare pentru comenzile
externe (aceste fiiere vor fi copiate de pe dischetele puse la dispoziie) i fiierul TEMP
n care se vor pune fiierele temporare.
Se creeaz fiierele CONFIG.SYS i AUTOEXEC.BAT n modul artat, cu
urmtorul coninut:
<CONFIG.SYS> <AUTOEXEC.BAT>
DEVICE=C:\DOS\HIMEM.SYS @echo off
DOS=HIGH,UMB SET PATH=C:\DOS;C:\TEMP
DEVICE=C:\DOS\EMM386.EXE SET TEMP=C:\TEMP
NOEMS LH C:\MOUSE\MOUSE.EXE
FILES=30 DOSKEY
STACKS=0,0 CLS
BUFFERS=20
DEVICEHIGH=C:\DOS\ANSI.SYS
aceste fiiere trebuie s se gseasc n directorul rdcin al discului C:.
NOT: fiierele specificate n directorul DOS trebuie s se gseasc n acest director
nainte de repornirea sistemului.

Referatele de laborator vor conine: descrierea aciunilor desfurate pe


parcursul laboratorului, explicarea necesitii acestora i explicarea comenzilor
coninute de fiierele CONFIG.SYS i AUTOEXEC.BAT

85
Introducere n sisteme de operare

Laborator 6
Instalarea sistemului de operare Windows
Instalarea sistemului de operare Windows
XP se face simplu cu ajutorul discului compact ce
conine kitul de instalare. Pentru a porni
instalarea trebuie selectat n BIOS butarea de pe
CD-ROM. Pentru aceasta la pornirea
calculatorului se deschide componenta SETUP a
programului BIOS prin apsarea tastei DEL. Din
SETUP se intr n Advanced BIOS Features i de
aici se selecteaz First Boot Device ca fiind
CD-ROM. Dup aceasta se repornete sistemul
cu discul optic n unitate i instalarea pornete.
Pentru nceput se face testarea existenei resurselor hardware minime, necesare
sistemului de operare dup care sunt copiate fiierele necesare nceperii instalrii.
Utilizatorul este ntrebat dac dorete instalarea sa repararea sistemului de operare.
Chiar dac exist un sistem de operare Windows XP instalat, se recomand reinstalarea
sistemului de operare pentru a obine rezultate optime.
n programul de instalare se face si partiionarea harddiscului. Utilizatorul are
posibilitatea de a alege ntre partiii de tip FAT sau NTFS n funcie de necesiti.
Windows XP rezerv un spaiu de 8Mb pentru stocarea informaiilor despre partiiile
active. Din acest motiv pe disc apare o zon nepartiionat de 8MB care trebuie lsat
aa.
n lucrarea de laborator se va folosi simulatorul pentru instalarea sistemului de
operare Windows XP: Windows Xp Setup.exe.
Se pornete simulatorul i se urmresc paii indicai de simulator.
Dup parcurgerea informaiilor furnizate de simulator se trece la instalarea
sistemului de operare pe un sistem de calcul.

Referatele de laborator vor conine: paii parcuri pentru instalarea


sistemului de operare Windows XP cu ajutorul simulatorului, etapele parcurse la
instalarea real, resursele hardware ale sistemului de calcul pe care s-a instalat
sistemul de operare, schema de partiionare a harddiscului i discuii asupra
deciziilor luate i componentele sistemului de operare.

86
NTREBRI DE TEST
1. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). Transparena i
vizibilitatea reprezint o caracteristic a sistemelor de operare cu ajutorul
creia se poate face evaluarea performanelor acestuia.
A. ADEVRAT
B. FALS
2. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). Partajarea i protecia
reprezint o caracteristic a sistemelor de operare cu ajutorul creia se
poate face evaluarea performanelor acestuia.
A. ADEVRAT
B. FALS
3. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). Un sistem secvenial
poate executa la un moment dat mai multe programe simultan dac aceste
programe aparin unor utilizatori diferii.
A. ADEVRAT
B. FALS
4. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). Un sistem cu
multiprogramare poate rula mai multe programe simultan numai n
situaia n care aceste programe aparin unor utilizatori diferii.
A. ADEVRAT
B. FALS
5. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). Performanele unui
sistem de calcul sunt influenate n mod esenial de sistemul de operare
rulat.
A. ADEVRAT
B. FALS
6. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). n cazul unui sistem de
operare interfaa ntre sistemul de calcul i operator este realizat prin
intermediul limbajului de control.
A. ADEVRAT
B. FALS
7. Alegei varianta corect din cele prezentate mai jos. Un sistem de operare
indiferent de tipul su trebuie s pun la dispoziia utilizatorului mijloace
pentru:
A. crearea, stocarea, regsirea (n scopul prelucrrii) i distrugerea informaiei;
B. crearea, sortarea, regsirea (n scopul prelucrrii) i distrugerea informaiei;
C. citirea, stocarea, regsirea (n scopul prelucrrii) i distrugerea informaiei;
8. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). Pe o main cu o singur

87
unitate central poate fi instalat un sistem de operare cu prelucrare
multipl.
A. ADEVRAT
B. FALS
9. Alegei varianta corect din cele prezentate mai jos. Durata existen a unui
obiect reprezint:
A. Durata ct obiectul este pstrat n memorie.
B. Durata de execuie a obiectului.
C. Durata de timp n care obiectul este accesibil.
10. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). Sistemul de operare
folosete o reprezentare extern i una intern pentru obiectele prelucrate.
A. ADEVRAT
B. FALS
11. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). Calea de acces la un
obiect ce reprezint o informaie poate fi constituit prin substituie sau
prin nlnuire.
A. ADEVRAT
B. FALS
12. Alegei varianta corect din cele prezentate mai jos pentru definirea
memoriei fictive.
A. Memoria fictiv reprezint memoria extern a sistemului de calcul utilizat ca
memorie intern.
B. Memoria fictiv reprezint o memorie principal ipotetic suficient de mare pentru a
conine toate obiectele sistemului.
C. Memoria fictiv este caracteristic sistemelor de operare cu administrare automat a
memoriei.
13. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). Administrarea resurselor
unui sistem de calcul se realizeaz n principal prin intermediul
programelor de aplicaii.
A. ADEVRAT
B. FALS
14. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). Pentru a crete eficiena
sistemului de calcul, administrarea accesului la periferice prin intermediul
sistemului de operare se face cu ajutorul perifericelor fictive.
A. ADEVRAT
B. FALS
15. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). Componentele sistemului
de operare prin care se materializeaz funcia de administrare a resurselor
de calcul se numesc alocatoare.
A. ADEVRAT
B. FALS
16. Alegei varianta corect din cele prezentate mai jos. Resursele reale ale
sistemului de calcul sunt reprezentate de:
88
A. componente de program (software);
B. componente constructive (hardware);
C. att componentele software ct i cele hardware.
17. Alegei varianta corect din cele prezentate mai jos pentru resursele cu
acces multiplu.
A. Resursele cu acces multiplu sunt resurse care permit utilizarea lor simultan de ctre
mai multe procese.
B. Resursele cu acces multiplu sunt resursele la care accesul utilizatorilor este
serializat.
C. Resursele cu acces multiplu sunt resursele care pot fi conectate simultan la mai
multe sisteme de calcul.
18. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). Unitatea central este o
resurs cu acces multiplu.
A. ADEVRAT
B. FALS
19. Alegei varianta corect din cele prezentate mai jos.
A. Cererile de alocare se pot prezenta sub dou forme: implicit i impus.
B. Cererile de alocare se pot prezenta sub dou forme: cereri unice i cereri multiple.
C. Cererile de alocare se pot prezenta sub dou forme: implicit i explicit.
20. Alegei varianta corect din cele prezentate mai jos. ncrcarea sistemului
reprezint:
A. Totalitatea programelor ncrcate n memoria sistemului.
B. Numrul utilizatorilor simultani pe un sistem de calcul.
C. Totalitatea cererilor (explicite i implicite) de resurse care trebuie satisfcute la un
moment dat.
21. Alegei varianta corect din cele prezentate mai jos. Alocarea unei resurse
reprezint:
A. Totalitatea aciunilor prin care sistemul de operare reuete s satisfac cererile de
resurse.
B. Numrul resurselor virtuale create la un moment dat pentru o resurs fizic.
C. Modul n care unitatea central comand perifericele ntr-un sistem de calcul.
22. Alegei varianta corect din cele prezentate mai jos.
A. Administrarea resurselor de calcul se face pe baza numrului de resurse virtuale.
B. Administrarea resurselor de calcul se face cu ajutorul strategiilor pe baz de
prioritate i a strategiilor pe baz de termen.
C. Administrarea resurselor de calcul se face cu ajutorul strategiilor pe baz de
prioritate i a strategiilor pe baz de program.
23. Alegei varianta corect din cele prezentate mai jos referitor la strategiile
pe baz de prioritate.
A. Unitii centrale i se asociaz o serie de prioriti n aa fel nct s poat ordona
procesele din coada de ateptare.
B. Planificarea lucrrilor se face n funcie de termenul n care ele sunt prezentate
sistemului de calcul.
C. Planificarea lucrrilor se face n funcie de prioritatea asociat acestora, procesele
fiind aezate n una sau mai multe cozi de ateptare.

89
24. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). Strategia FIFO (First In
First Out) este o strategie n mai muli pai.
A. ADEVRAT
B. FALS
25. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). Strategia LIFO (Last In
First Out) este o strategie cu un pas.
A. ADEVRAT
B. FALS
26. Alegei varianta corect din cele prezentate mai jos, referitor la strategiile
pe baz de termen.
A. Strategie de planificare care presupune cunoaterea duratei de execuiei a proceselor
i ncrcarea sistemului.
B. Strategie n care se impune un anumit termen pentru prezentarea lucrrii n scopul
lansrii n execuie.
C. Strategie n care perifericele au un anumit termen de utilizare.
27. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). Strategia SXFS (Shortest
eXecution First Service) este o strategie care favorizeaz lucrrile lungi n
detrimentul celor scurte.
A. ADEVRAT
B. FALS
28. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). Strategia EDFS (Earliest
Deadline First Service) este o strategie cu un pas.
A. ADEVRAT
B. FALS
29. Alegei varianta cea mai potrivit, din cele prezentate mai jos, referitor la
strategia carusel-simplu.
A. Este o strategie cu un pas similar strategiei FIFO (First In First Out).
B. Este o strategie cu cozi multiple, fiecare coad de ateptare avnd asociat o anumit
prioritate.
C. Este o strategie cu mai muli pai similar strategiei FIFO (First In First Out).
30. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). Strategia carusel-
multiplu este o strategie cu un singur pas.
A. ADEVRAT
B. FALS
31. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). Administrarea memoriei
se refer numai la administrarea memoriei interne (memoria principal).
A. ADEVRAT
B. FALS
32. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). Maina vid este o
metod automat de gestionare a memoriei principale.
A. ADEVRAT
90
B. FALS
33. Alegei varianta corect din cele prezentate mai jos referitor la partiiile
fixe ale memoriei.
A. Metod de gestiune a memoriei care permite rularea programelor de dimensiuni
orict de mari.
B. Este o metod de gestionare automat a memoriei care presupune segmentarea
acesteia n segmente de dimensiuni fixe.
C. Metod de gestionare a memoriei care permite nlnuirea automat a lucrrilor prin
intermediul programului supervizor.
34. Alegei varianta corect din cele prezentate mai jos referitor la
administrarea automat a memoriei.
A. Administrarea automat a memoriei duce la creterea eficienei n exploatare a
resurselor i la mbuntirea timpului de rspuns a sistemului.
B. Administrarea automat a memoriei presupune utilizarea segmentrii, a memoriei
virtuale i a partiiilor fixe.
C. Administrarea automat a memoriei exclude posibilitatea utilizrii memoriei
secundare (externe) n scopul execuiei programelor.
35. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). Unitatea central este o
resurs banalizat.
A. ADEVRAT
B. FALS
36. Alegei varianta corect din cele prezentate mai jos. O resurs virtual este
reprezentat de:
A. O resurs ce nu exist n sistemul de calcul.
B. O resurs existent ce este multiplicat dup necesiti.
C. O resurs inaccesibil.
37. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). O baz de date
reprezint o resurs cu acces multiplu.
A. ADEVRAT
B. FALS
38. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). Periodicitatea unui
proces (task) poate fi fix sau dinamic.
A. ADEVRAT
B. FALS
39. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). Un proces (task) este n
starea gata de execuie n momentul n care deine controlul unitii
centrale.
A. ADEVRAT
B. FALS
40. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). Un proces (task) este n
starea blocat n momentul n care poate lua controlul procesorului de
ndat ce executivul l lanseaz n execuie.
A. ADEVRAT
91
B. FALS
41. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). Prioritatea unui proces
(task) poate fi fix sau dinamic.
A. ADEVRAT
B. FALS
42. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). Un proces (task) poate fi
descris cu ajutorul descriptorilor care sunt de dou feluri: statici i
implicii.
A. ADEVRAT
B. FALS
43. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). Periodicitatea unui
proces (task) este stabilit la nceput i ea nu mai poate fi modificat pe
parcursul execuiei.
A. ADEVRAT
B. FALS
44. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). Prioritatea unui proces
(task) este stabilit la nceput i ea nu mai poate fi modificat pe parcursul
execuiei.
A. ADEVRAT
B. FALS
45. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare
este corect (ADEVRAT) sau incorect (FALS). Bufferul de transfer
reprezint o resurs virtual.
A. ADEVRAT
B. FALS

92
Introducere n sisteme de operare

Laborator 7
Instalarea sistemului de operare LINUX
Pregtirea pentru instalare
Instalarea unei distribuii Linux se poate face n mod normal prin pornirea
sistemului de pe primul disc CD. n cazul n care programul de instalare nu pornete
automat, trebuie mai nti creat o disket de boot. De asemenea, aceast disket poate
fi necesar atunci cnd nu se dorete utilizarea metodei obinuite de instalare de pe CD.
Dac sistemul are deja instalat un sistem MS-DOS/Windows, instalarea poate fi
pornit i direct de pe CD-ROM, fr a mai fi necesar i disketa de boot. Pe un
calculator pot coexista fr probleme mai multe sisteme de operare, evident dac spaiul
pe disc permite acest lucru. Astfel, poate rula sistemul deja instalat (cum ar fi cele din
seria Windows) i Linux. Sistemul Linux are nevoie de cel puin dou partiii separate
pentru a putea funciona. Dac pe disc exist deja Windows, este necesar
redimensionarea partiiilor existente pentru a putea crea partiiile necesare Linux-ului.
Pentru a redimensiona partiiile existente pe disc, poate fi folosit utilitarul FIPS
(inclus de obicei tot pe primul disc al distribuiei) sau Partition Magic (program
comercial). Pentru a folosi FIPS, trebuie mai nti defragmentat discul cu ajutorul
comenzii MS-DOS DEFRAG, iar apoi redimensionate partiiile. Dup activarea
acestora, calculatorul va trebui repornit.

Crearea disketei de boot


Pentru a crea disketa de boot din cadrul MS-DOS/Windows, se va folosi
utilitarul RAWRITE (inclus i el n general pe primul disc), printr-o comand de genul
RAWRITE BOOT.IMG.
Pentru crearea disketei de boot din cadrul unui sistem compatibil UNIX (e.g. un
alt calculator cu Linux), se lanseaz un set de comenzi de genul (presupunnd c
dispozitivul asociat unitii CD-ROM este /dev/cdrom, iar cel asociat unitii floppy este
/dev/fd0, i c directorul /mnt/cdrom exist):
# mount /dev/cdrom /mnt/cdrom
# dd if=/mnt/cdrom/images/boot.img_of=/dev/fd0
# umount /dev/cdrom
Distribuiile Linux ofer mai multe surse de unde fiierele coninnd pachetele
de programe vor fi preluate. Astfel, sunt posibile urmtoarele metode: instalare de pe
CD-ROM (cea mai uzual), harddisk (n acest caz, coninutul discurilor de instalare
trebuie copiat n prealabil pe o partiie Linux sau Windows existent), NFS (instalarea
se efectueaz de pe un alt calculator aflat n reea, care export coninutul distribuiei
prin sistemul NFS), FTP (dac instalarea se efectueaz de pe un server FTP, de obicei
atunci cnd se dispune de o conexiune Internet rapid), HTTP (similar cu FTP, dar
fiind vorba despre un server HTTP). Menionm c pentru metodele de instalare prin
reea poate fi necesar o a doua disket, coninnd drivere pentru diferite plci de reea
(imaginea acesteia se gsete de asemenea pe primul disc).

93
Planificarea partiionrii discului
Dup cum spuneam i mai sus, spaiul pe disc ocupat de sistemul Linux trebuie
s fie separat de spaiul ocupat de alte sisteme de operare instalate n sistem. Cel puin
dou partiii (o partiie principal, /, i swap) sunt necesare pentru instalarea sistemului.
Recomandm crearea cel puin a urmtoarelor partiii:
o o partiie de swap, pentru a crea memorie virtual (informaiile sunt
scrise n memoria virtual atunci cnd nu exist memorie fizic
disponibil). Partiia de swap trebuie s fie de cel puin 32 MB i cel
mult 2 GB, valoarea ideal fiind valoarea memoriei RAM existente n
sistem, pentru un calculator ce urmeaz a fi utilizat ca staie de lucru,
i dublul acesteia pentru un server;
o o partiie /boot care va conine nucleul Linux i celelalte fiiere
utilizate n timpul bootrii. Dimensiunea ideal a acestei partiii este
de 16-32 MB;
o partiia de root, acolo unde se va afla /, directorul-rdcin al
sistemului, i care va conine toate fiierele din sistem. n cazul n
care calculatorul va fi server Linux, recomandm crearea a trei partiii
suplimentare:
o o partiie /usr, care va conine fiierele sistemului de operare, de
mrime cel puin egal cu dimensiunea preconizat a instalrii plus
circa 100 MB (de exemplu, 1,4 GB);
o o partiie /var, care va conine fiierele variabile ale sistemului,
preferabil de cel puin 256 MB;
o o partiie /home, care va conine fiierele utilizatorilor, de preferin
de cel puin 512 MB. Pentru a gzdui sistemul Linux pot fi utilizate
urmtoarele tipuri de partiii:
o ext2 sistemul clasic de fiiere din Linux, compatibil cu standardele
UNIX;
o ext3 un sistem nou de fiiere, bazat pe ext2, cu suport pentru
jurnalizare;
o reiserfs un sistem nou de fiiere, cu suport pentru jurnalizare, avnd
n multe condiii performane superioare ext2 sau ext3, datorit
arhitecturii interne arborescente.
Recomandm utilizarea de partiii ext3 n loc de ext2 deoarece suportul pentru
jurnalizare permite n primul rnd siguran mult mai mare a informaiilor n cazul
incidentelor nedorite (probleme hardware sau ntreruperi ale tensiunii de alimentare) i
n al doilea rnd reduce semnificativ timpul de restaurare dup o cdere a sistemului
(fsck). Pot fi utilizate de asemenea i partiiile de tip reiserfs, care prezint, pe lng
avantajele enumerate mai sus, o vitez superioar de acces n multe situaii.

nceperea instalrii
n cele ce urmeaz ne vom referi la paii care trebuie urmai n vederea instalrii
unei distribuii Fedora/Red Hat. Dup bootare trebuie s apar un ecran coninnd n
partea inferioar promptul boot:
Ecranul conine informaii despre diverse opiuni de pornire. Dup apariia
acestui prompt, programul de instalare va porni automat dup un minut, dac nu este
apsat nici o tast. Apsarea tastei ENTER va porni imediat instalarea ntr-un mediu
grafic uor de utilizat. Dac nu se dorete pornirea mediului grafic (de exemplu, dac
94
placa video are performane slabe), se tasteaz comanda: boot: text pentru a porni
programul de instalare n mod text.

1. Selectarea limbii
Se selecteaz limba ce va fi utilizat att n timpul instalrii, ct i implicit dup
instalare. Selecia fcut aici va influena i fusul orar. Sunt disponibile o multitudine de
limbi, dintre care i limba romn.
2. Configurarea tastaturii
Se selecteaz modelul tastaturii (Generic, 101 taste, Microsoft Natural Keyboard
etc.) i schema acesteia (German, U.S. English etc.).
3. Configurarea mouse-ului
Se selecteaz tipul mouse-ului (Generic, Mouse Systems, Wheel Mouse etc.),
portul la care este conectat acesta (serial, PS/2 etc.) i, n cazul n care mouse-ul are
dou butoane, dac se dorete emularea de trei butoane prin apsarea celor dou.
4. Opiunile de instalare
Se stabilete dac se efectueaz o instalare complet sau un upgrade (instalarea
unei versiuni mai noi a distribuiei). n cazul instalrii complete, se stabilete tipul
instalrii: Personal Desktop, Workstation, Server sau Custom. Acest tip determin
pachetele care vor fi propuse pentru instalare.

Personal Desktop (statie de lucru)


Acest tip de instalare este ideal pentru utilizatorii noi de Linux. Se folosete
atunci cnd sistemul se afl acas sau la serviciu, sau pentru calculatoare portabile.
Include programe de tip office (redactare de texte, calcul tabelar etc.), programe pentru
acces la Internet (navigare, citirea corespondenei etc.), programe multimedia .a.m.d.
Necesit minim 1,5 GB spaiu disponibil pe hard-disk.

Workstation
Este asemntoare cu Personal Desktop, incluznd n plus instrumente pentru
dezvoltarea de programe i administrare de sistem.

Server
Acest tip de instalare cuprinde programe care ofer servicii Internet (Web, FTP,
pot electronic etc.), precum i alte servicii de reea (NFS, Samba etc.). Necesit
minim 1 GB spaiu disponibil.

Custom (personalizat)
Instalarea de tip Custom este potrivit utilizatorilor obinuii cu sistemul Linux
i ofer cea mai mare flexibilitate posibil.
Necesit minim 350 MB spaiu disponibil pentru o instalare minimal i circa 3,5 GB
dac sunt selectate toate pachetele.
5. Partiionarea discului
Exist trei opiuni de partiionare:
o partiionare automat: programul de instalare va genera automat
partiiile n funcie de tipul de instalare ales. Partiiile rezultate pot fi
modificate apoi n funcie de necesiti;
o partiionare manual cu ajutorul programului Disk Druid, dotat cu o
interfa grafic simpl dar puternic, uor de folosit;
95
o partiionare manual cu ajutorul programului clasic fdisk (disponibil
numai n cazul instalrilor n mod text), care are o interfa tip linie
de comand, n mod text.

Figura 1: Crearea partiiilor cu ajutorul programului Disk Druid

Partiionarea automat
Programul de partiionare automat ofer utilizatorului posibilitatea de a controla
modul de tratare a partiiilor deja existente pe disc, prin intermediul a trei opiuni:
o tergerea partiiilor Linux existente;
o tergerea tuturor partiiilor existente;
o pstrarea partiiilor existente i utilizarea spaiului liber.
Din lista de discuri fixe aflate n sistem trebuie selectate discurile pe care va fi
efectuat instalarea.
Dac opiunea Review este activat, instalarea va continua cu programul Disk
Druid, permind modificarea partiiilor create automat (Figura 1).
Fiecare disc fix din sistem poate fi editat separat. Aciunile se efectueaz prin
intermediul a cinci butoane:
New pentru crearea unei noi partiii. Dialogul care apare conine urmtoarele
cmpuri:
o Mount Point directorul n care va fi montat coninutul noii partiii (de
exemplu, pentru partiia de root, /);
o Filesystem Type tipul partiiei (de exemplu, ext2 sau ext3 pentru o
partiie Linux);
o Size dimensiunea partiiei n Megabytes;

96
o Additional Size Options dac partiia va avea dimensiunea fix
menionat n cmpul precedent, dac se dorete ca partiia s umple tot
spaiul liber mai puin o dimensiune menionat sau dac se dorete ca
partiia s umple tot spaiul disponibil;
o Force to be a primary partition dac se dorete ca partiia s fie
primar;
o Check for bad blocks dac se dorete verificarea existenei de sectoare
defecte pe respectiva partiie;
Edit pentru editarea proprietilor unei partiii deja create;
Delete pentru tergerea unei partiii deja create;
Reset pentru renunarea la modificri le fcute asupra partiiilor;
RAID pentru crearea de partiii RAID (Redundant Array of Independent Disks,
sistem care permite considerarea mai multor discuri ca un singur dispozitiv).

Partiionarea discului folosind programul fdisk


Comenzile uzuale sunt:
a seteaz/anuleaz opiunea de bootare a unei partiii
d terge o partiie
l listeaz tipurile de partiii cunoscute
m afieaz toate comenzile fdisk
n adaug o nou partiie
p afieaz tabela de partiii
q prsete fdisk fr a salva modificrile fcute
t modific tipul unei partiii
w scrie tabela pe disc i prsete fdisk
6. Instalarea ncrctorului de boot
Pentru a putea porni sistemul Linux, este nevoie de un ncrctor de boot (boot
loader). De asemenea, acest ncrctor poate porni i alte sisteme de operare care sunt
instalate pe disc. Sunt disponibile trei opiuni:
o programul GRUB (GRand Unified Boot loader), pe care l recomandm datorit
facilitilor oferite i performanelor sale superioare;
o programul LILO (LInux LOader);
o nici un ncrctor de boot, caz n care utilizatorul trebuie s se asigure c poate
porni sistemul Linux ntr-un alt mod (de exemplu, cu o disket de boot).
o ncrctorul de boot poate fi instalat n:
o Master Boot Record (MBR), sectorul de boot care este ncrcat automat de
BIOS-ul calculatorului este opiunea recomandat (exceptnd situaia n care
pe disc este instalat i sistemul OS/2);
o primul sector al partiiei de root.
o De asemenea, n aceast etap pot fi stabilite i celelalte sisteme de operare care
vor putea fi pornite de ncrctorul de boot.
7. Parola de pornire
Dac a fost instalat un ncrctor de boot, poate fi definit o parol pentru a
proteja sistemul. Aceasta va fi solicitat utilizatorului la pornire, dac ncearc s
apeleze nucleul folosind parametri. Parola de pornire ofer protecie fa de atacurile
provenite de la consola calculatorului.

97
8. Configurarea legturii de reea
Dac instalarea a fost pornit cu suport pentru reea, fiecare plac de reea aflat
n calculator trebuie configurat astfel:
o dac configurarea adresei IP se face prin DHCP (Dynamic Host
Configuration Protocol);
o dac interfaa de reea va fi activat la pornire;
o adresa IP;
o masca de reea;
o adresa de reea;
o adresa de broadcast;
o numele mainii;
o adresa gateway-ului;
o adresa DNS-ului primar, secundar i ternar.
9. Configurarea firewall-ului
Un firewall este un filtru de protecie care determin ce servicii de reea pot fi
accesate din afara sistemului. Programul de instalare poate configura automat firewall-
ul.
Exist trei niveluri de securitate:
o nalt (High), caz n care sistemul nu va accepta alte tipuri de conexiuni dect
cele definite. Dac sistemul este conectat la Internet, ns nu ofer servicii
ctre exterior, aceasta este cea mai sigur opiune;
o Mediu (Medium), caz n care sistemul nu va accepta dect anumite tipuri de
conexiuni.
o Fr firewall (No firewall).
Alegnd opiunea Customize, pot fi adugate dispozitive considerate sigure sau
poate fi acordat accesul la servicii adiionale. Selectnd oricare dintre dispozitive, va fi
permis accesul dinspre dispozitivele respective ctre sistem cu alte cuvinte,
respectivul dispozitiv va fi exclus din regulile stabilite de firewall.
Spre exemplu, poate fi permis accesul fr restricii n cadrul reelei locale, prin
placa de reea eth0, iar conexiunea dial-up la Internet, ppp0, s fie supus filtrrii.
Dintre serviciile din cadrul Allow Incoming pot fi selectate acelea la care va fi
permis accesul, fie dintre serviciile clasice (cum ar fi SSH sau HTTP), fie alte porturi,
specificate sub forma port:protocol (de exemplu, pop3:tcp sau 6667:udp).
10. Selectarea limbii
Se selecteaz att limba implicit, ct i limbile adiionale care vor fi instalate.
11. Configurarea timpului
Se selecteaz fusul orar n care se afl sistemul.
12. Configurarea utilizatorilor
Utilizatorul root posed drepturi totale asupra sistemului. Acest utilizator trebuie
folosit n mod normal doar pentru a instala/dezinstala pachete i pentru administrarea
sistemului. Se recomand crearea unuia sau mai multor utilizatori obinuii pentru
utilizarea calculatorului, chiar dac acesta este folosit acas, deoarece o comand greit
tastat ca root poate cauza deteriorarea sistemului sau chiar pierderea total a datelor i
aplicaiilor stocate.
Este obligatorie stabilirea unei parole pentru utilizatorul root. Parola trebuie s
aib minim ase caractere lungime i nu poate conine cuvinte aflate n dicionar (de
exemplu, program).

98
n cadrul acestei etape pot fi creai i utilizatorii sistemului. Pentru fiecare
utilizator nou creat vor fi solicitate aceleai date ca n cazul crerii utilizatorului root.
13. Configurarea autentificrii n sistem
n cazul n care maina va fi legat n reea, este important ca accesul la sistem
s fie posibil pe baza unui sistem de autentificare sigur. Sunt disponibile urmtoarele
opiuni:
o Activarea/dezactivarea parolelor MD5, care permite utilizarea de parole de
pn la 256 de caractere lungime, n loc de lungimea standard de maxim 8
caractere. Implicit, aceast opiune este activat.
o Activarea/dezactivarea parolelor de tip shadow, care ofer o metod sigur
de memorare a parolelor. Parolele sunt memorate n fiierul /etc/shadow,
care nu poate fi accesat de ctre utilizatori. Implicit, aceast opiune este
activat i nu recomandm modificarea acesteia.
o Activarea NIS (Network Information Service), LDAP (Lightweight Directory
Access Protocol), Kerberos sau SMB, protocoale de autentificare n reea.

Figura 2: Selectarea pachetelor pentru instalare

14. Selectarea grupurilor de pachete


Pot fi selectate grupurile de pachete (aplicaii) care se doresc a fi instalate. Dac
se dorete i selectarea individual a pachetelor din cadrul grupurilor, trebuie selectata
opiunea Customize software packages to be installed. n orice moment poate fi
verificat dimensiunea instalrii (Figura 2).
Lista de pachete poate fi afiat fie grupat dup tipul acestora, fie n ordine
alfabetic. n partea de jos a ecranului este prezentat descrierea pachetului pe care se
afl cursorul.

99
Dup selectarea pachetelor, programul de instalare verific dependenele dintre
pachete (anumite aplicaii necesit i alte aplicaii pentru a funciona corect) i va
solicita permisiunea de instalare a acestora.
15. Configurarea plcii video
n general, programul de instalare poate determina singur tipul plcii video din
sistem. n cazul n care aceast detectare a euat, din lista de plci video cunoscute poate
fi aleas placa n cauz. De asemenea, poate fi specificat dimensiunea memoriei video.
16. Instalarea pachetelor
Durata instalrii pachetelor depinde att de numrul de pachete selectate, ct i
de performanele calculatorului, putnd varia ntre 10 i 40 de minute.
n timpul instalrii sunt afiate informaii despre pachetul n curs de instalare,
precum i despre evoluia instalrii.
Procesul de instalare a pachetelor creeaz un jurnal cu aciunile ntreprinse, n
/root/install.log.
17. Crearea unei diskete de boot
Este recomandat crearea unei diskete de boot, util n cazul n care ar aprea
probleme la pornirea sistemului Linux. Se utilizeaz o disket goal, formatat n
prealabil, care nu trebuie s conin sectoare defecte. Aceast disket nu va fi formatat
FAT (MS-DOS) i deci nu va putea fi utilizat n alt sistem de operare dect dup o
formatare prealabil (cu pierderea desigur a datelor de bootare Linux).
18. Configurarea sistemului de ferestre X Window
Configurarea monitorului
Programul de instalare va ncerca s determine tipul monitorului. Dac
detectarea eueaz, trebuie selectat monitorul din lista de tipuri cunoscute.
Sistemul va testa configuraia aleas. n cazul n care testul nu se ncheie n
cteva secunde, acesta poate fi ncheiat utiliznd combinaia de taste Ctrl+Alt+
Backspace.
Personalizarea sistemului X Window
Se selecteaz adncimea culorii (de exemplu High Color 16 bit, True Color
32 bit etc.), rezoluia ecranului (spre exemplu, 800600, 1024768 etc.), mediul
desktop (KDE sau GNOME) i dac sistemul va porni direct dup bootare n mod grafic
sau n mod consol (text).
19. Instalarea este ncheiat
Programul de instalare va cere confirmare pentru repornirea sistemului. nainte
de aceasta, eventuala dischet aflat n unitatea floppy trebuie scoas, CD-ul din
unitatea CD-ROM fiind scos automat.
[1] Situl oficial al sistemului de operare Linux: http://www.linux.org
[2] Distribuii de Linux: http://www.linuxiso.org
[3] Situl Red Hat: http://www.redhat.com
Referatele de laborator vor conine: descrierea etapelor realizate pentru instalarea
sistemului de operare LINUX, schema partiionrii harddiscului, componentele
instalate i configurarea sistemului. De asemenea se vor prezenta principalele
versiuni LINUX existente la momentul actual i principalele caracteristici ale
acestora.

100
Introducere n sisteme de operare

Laborator 8
Managementul partiiilor
n activitatea de
ntreinere i depanare a unui
sistem de operare, apare
adesea necesitatea
modificrii dimensiunii i a
tipului partiiilor existente pe
harddisc. n aceast lucrare
de laborator se vor studia
cteva din programele
destinate modificrii
partiiilor.

Programul AcronisDisk Director Suite 10 ofer protecie i o reorganizare a


datelor pentru creterea performantelor. Programul este alctuit dintr-o suit complet
de utilitare pentru managementul hard disk-ului ce combin un numr de programe
anterioare sub marca Acronis, structurate acum, ntr-o singur soluie, oferind suport
pentru aproape toate tipurile de partiii, FAT16, FAT32, NTFS, Linux Ext2, Ext3,
ReiserFS, si Linux SWAP.

Utilitare incluse n program:


o Acronis Partition Expert ( redimensionare, mutare, copierea partiiilor fr
pierderi de date).
o Acronis OS Selector ( instalarea si utilizarea mai multor sisteme de operare
pe un singur calculator).
o Acronis Recovery Expert ( recuperarea partiiilor pierdute sau terse
accidental).
o Acronis Disk Editor ( editarea hexazecimal i restaurarea secvenelor de
boot).

Funcii disponibile in Acronis Disk Director Suite 10

101
o Split partitions ( mprirea unei partiii n dou partiii egale sau inegale,
fr a pierde date)
o Boot from CD/DVD ( bootare sistemelor de operare de pe CD-uri sau DVD-
uri)
o Merge partitions (mbinarea a dou partiii ntr-una singur, nemodificnd
datele, chiar dac acestea sunt diferite)
o Explore partitions ( explorarea coninutului unei partiii nainte de executarea
unei operaiuni)
o Boot from an additional hard disk drive( flexibilitatea bootrii de pe hard
disk-uri adiionale)
o Automatic operating system detection ( detectarea sistemelor de operare
terse accidental)
o Modify, copy, move partitions ( modificarea, copierea i mutarea partiiilor
deja existente)
o Install multiple operating sistems on one PC( posibilitatea de instalare a mai
multor sisteme de operare pe acelai calculator)
o Recover lost or deleted partitions ( recuperarea partiiilor pierdute sau terse)
o Edit a hard disk drive (editarea hard disk-urilor).

Cerine de sistem pentru Acronis Disk Director Suite 10:

o Procesor 150MHz sau mai mare


o Memorie 32MB sau mai mare
o Periferice: CD-ROM, CD-RW, DVD-ROM, floppy disk
o Sisteme de operare: Microsoft Windows Professional x64
Edition/XP/2000/NT/Me/98

Tehnologii oferite:
o Crearea i tergerea partiiilor de orice tip

102
o Formatarea partiiilor
o Optimizarea automat a spaiului de pe hard disk
o Conversia partiiilor FAT16 <=> FAT32, Linux Ext2 <=> Ext3 fr pierderi
de date
o Schimbarea marimii clusterelor automat sau manual
o Navigarea prin informaiile detaliate ale hard disk-urilor sau fiierelor de
sistem
o Ascunderea sau vizualizarea tuturor partiiilor
o Vizualizarea operaiilor efectuate inainte de a fi aplicate
o Suport pentru hard disk-uri peste 180 GB
o Posibilitatea inserarii unui CD bootabil care apoi va fi automat detectat si
afisat de catre utilitarul Acronis OS Selector
o Protecia sistemelor de operare multi-boot cu parola
o Clonarea sistemelor de operare prin back-up
o Protecie antivirus la bootare.

Programul GDISK este un utilitar DOS inclus n pachetul Norton Ghost 2001.
El este unul din cele mai bune instrumente de partiionare, nlocuind cu succes FDISK-
ul pus la dispoziie de ctre sistemul de operare Windows. Prin intermediul sau pot fi
create, terse sau modificate mrimile unei game variate de partiii, de la FAT, FAT32,
NTFS pana la Ext2. i pentru GDISK gama de opiuni i switch-uri n linia de comand
este mare, lucru care contribuie la obinerea unui control crescut al operaiei de
partiionare.
Daca nu avei acces la un program specializat, Windows XP permite
managementul partiiilor la un nivel mai simplu (creare, tergere, schimbare liter) din
Control Panel -> Administrative Tools -> Computer Management, selectnd apoi
Storage -> Disk Management.

Managementul partiiilor din Windows XP

Cu click-dreapta pe una din partiii avem acces la urmtoarele opiuni:


o Create partition
o Change drive letter and paths
103
o Format
o Delete partition
Fiecare opiune are un wizard pentru a facilita aciunile respective.

Referatele de laborator vor conine descrierea metodelor nvate despre


tehnicile de management a partiiilor. Se va descrie modul de utilizare a
programului Acronis Disk Director Suite 10 i modul de funcionare sub sistemele
de operare DOS, Windows i Linux conform informaiilor preluate din fiierul
DiskDirectorSuite10.0_ug.en.pdf.
Se va descrie modul de realizare a managementului partiiilor cu uneltele
oferite de sistemul de operare Windows XP.
Referatele de laborator vor conine informaiile despre partiionarea
hardiscului de pe care se lucreaz obinute cu ajutorul programului Acronis Disk
Director Suite 10.

104
Introducere n sisteme de operare

Laborator 9
Lucrul cu programul Partition Magic
Partiionarea harddiscului prezint mai multe avantaje:

o o mai buna organizare a informaiilor pe hardurile foarte mari (putei s avei


o partiie pentru programe, una pentru jocuri etc.);
o posibilitatea de a separa informaiile mai importante pe unele partiii care s
poat fi defragmentate periodic;
o pstrarea informaiilor n cazul n care este necesar reinstalarea sistemului
de operare;
o separarea unor partiii cu un grad mare de fragmentare a fiierelor (unde sunt
puse fiierele descrcate de pe net);
o crearea unor partiii pentru fiierele temporare (de exemplu, pentru fiierul
SWAP folosit de Windows).

Cel mai important aspect este ca mprirea hardului sa fie bine gndit. Altfel
apare riscul de a avea prea mult spaiu liber pe unele partiii i mult prea puin pe altele.
Nu exista o formul exact pentru aceasta. n cazul partiiilor pentru fiiere temporare
pot exista nite recomandri, dar cam att. De exemplu, n cazul fiierului SWAP (prin
care Windows suplimenteaz memoria RAM innd pe hard ntr-un fiier tot ce
preconizeaz ca are nevoie in acel moment) se poate impune o limita la de 3 ori
memoria RAM a sistemului.
Un program de partiionare este PartitionMagic 8.0. Primul pas ce trebuie fcut
nainte de partiionare este instalarea programului de partiionare.
Al doilea pas este s fie fcut o defragmentare a tuturor partiiilor ce urmeaz a
fi implicate in proces. Prin defragmentare sunt grupate datele si este evitata pierderea lor
in timpul operaiunii.
Elementele principale ale ecranului iniial sunt:

o zonele de toolbar si Partition Operations (care dau acces la aceleai funcii )


o zona Pick a Task (de unde poate fi lansat un wizard pentru fiecare
operaiune)
o zona Disk Map (partea grafic din dreapta)
o zona Operations Pending (unde sunt puse toate operaiunile care urmeaz a fi
executate - operaiunile nu sunt puse n aplicare dect n momentul n care
este apsat butonul Apply)
Ultimele trei butoane de pe toolbar:

o anuleaz ultima operaiune fcut


o anuleaz toate operaiunile fcute
o valideaz toate operaiunile fcute i le lanseaz n execuie
Pentru executarea operaiunilor PartitionMagic se d un restart al PC-ului si
efectueaz toi paii necesari.

105
Ecranul iniial al programului Partition Magic

Crearea unei noi partiii

A. Se d click mai nti zona de hard nealocat (care apare n grafic marcat cu gri
nchis) i pe urma dai click pe Create partition (de pe toolbar sau din Partition
operations). Va aprea o fereastra n care poi specifica:
o tipul partiiei (Primary - este partiia principal pe care este instalat sistemul
de operare i de pe care poate boota calculatorul; Extended - grupeaz restul
spaiului liber n afar de partiia principal; Logical -
marcheaz partiiile din partea Extended i nu poate fi create pn nu a fost
creat cea Extended)
o litera ce urmeaz a fi atribuita noii partiii
o modul de alocare (NTFS este modul de alocare pentru Windows NT, 2000,
XP, 2003 si Vista)
o eticheta partiiei (este util numai pentru utilizator)
o poziia partiiei (dac s fie creat pornind de la nceputul su de la sfritul
zonei nealocate)
o dimensiunea noii partiii (implicit este dimensiunea maxim nealocat -
poate fi definit i ca procent din spaiul nealocat)
B. Se d click direct pe Create a new partition din Pick a Task. Va apare un wizard
care s te ajute la creare noii partiii (fiecare punct reprezint un ecran):
1. o descriere a ceea ce face wizardul;
2. poziia partiiei (recomandabil este s fie la sfrit);
3. ofer posibilitatea de a lua din spaiul liber disponibil pe alte partiii pentru
noua partiie (ia numai de pe cele bifate - implicit sunt bifate toate);

106
4. stabileti dimensiunea (implicit este trecut valoarea spaiului nealocat, iar
valoarea maxima tine cont i de spaiul liber pe celelalte partiii selectate la
pasul anterior), eticheta, tipul, modul de alocare i litera ce urmeaz a fi
atribuite noii partiii;
5. arat cum va fi alocarea spaiului pe hard dup efectuarea operaiunii i cere
confirmarea.
Dup ce se d OK (sau Finish n a doua varianta), operaiunea de creare va
aprea n lista de operaii. Operaiunea in sine nu va avea loc dect dup ce se d si
Apply.

tergerea unei partiii


Stergerea este ca n orice alt aplicaie partea cea mai simpla:
o se selecteaz partiia pe care vrem s o tergem (ori de pe reprezentarea
grafica, ori din lista);
o se d click pe Delete partition (sau se apas Del de pe tastatura);
o se selecteaz tipul de tergere (normala sau de siguran - cea de siguran
dureaz mai mult, dar va terge datele n aa fel nct s nu poate fi
recuperate);
o se confirm operaiunea.
Din nou, tergerea nu este executata pn nu se d Apply.

Recuperarea unei partiii


Dac ai ters din greeala o partiie (tergere obinuit - n cazul tergerii de
siguran partiia nu mai poate fi recuperat) i nu ai fcut ntre timp alte modificri
asupra alocrii spaiului pe hard, poi ncerca s recuperezi datele selectnd zona
nealocata unde era partiia i dnd Undelete Partition. Este posibil ca datele s mai
poat fi recuperate.
n cazul n care au fost terse mai multe partiii, este recomandabil s fie
recuperate una cte una, n ordinea importanei lor.

Redimensionarea unei partiii


Poi redimensiona partiia principal (C-ul), dar nu este recomandabil s lai
spaiu liber la nceputul ei.
A. Mai nti selectezi partiia pe care vrei sa o redimensionez, iar pe urma dai click
pe Resize/Move Partition.
In fereastra care apare, ai 3 rubrici:
o spaiul liber nainte partiiei
o dimensiunea partiiei
o spaiul liber dup partiiei
Este important poziionarea spaiului liber deoarece nu poi include ntr-o
partiie dect spaiul liber adiacent. Deci, dac vrei s eliberezi spaiu pentru a mri
partiia din stnga celei pe care o redimensionezi, va trebui s lai spaiu liber naintea
partiiei.
Redimensionarea poi s o faci fie tastnd noua valoare ntr-una din cele 3
rubrici, fie trgnd de capetele partiiei (cum ai redimensiona o fereastr n Windows).
Mutarea este tot pe acelai principiu ca i mutarea unei ferestre: deplasezi
cursorul deasupra partiiei, dai click stnga (i ii apsat), dup care poi muta stnga-
dreapta partiia (valorile din rubricile legate de spaiul liber se vor modifica automat).
107
B. Dai click direct pe Resize a Partition i va apare un wizard care s te ajute in
redimensionarea unei partiii (fiecare punct reprezint un ecran):
1. o descriere a ceea ce face wizardul
2. selectezi partiia pe care vrei s o redimensionezi
3. specifici noua dimensiune (minim - volumul datelor de pe partiie, maxim -
tot spaiul liber de pe hard, incluznd i celelalte partiii)
4. selectezi de la ce partiii s ia spaiul liber (dac mreti partiia) sau cror
partiii s repartizeze spaiul eliberat (dac micorezi partiia)
5. arat cum va fi alocarea spaiului pe hard dup efectuarea operaiunii i cere
confirmarea
Dup ce dai OK (sau Finish n a doua varianta), operaiunea de creare va aprea
n lista de operaii. Operaiunea n sine nu va avea loc dect dup ce dai i Apply.

Unirea a doua partiii


Pentru a uni dou partiii dai click pe Merge partitions i apare un wizard
(fiecare punct reprezint un ecran):
1. o descriere a ceea ce face wizardul
2. selectezi prima partiie din cele dou (trebuie s fie lng urmtoarea altfel
nu se poate face unirea)
3. selectezi a doua partiie
4. specifici numele directorului in care vor fi puse pe noua partiie toate datele
de pe a doua partiie selectata
5. avertisment legat de schimbarea literelor folosite pentru identificarea
partiiilor (explicaii se gsesc n seciunea de mai jos dedicat schimbrii
literei unei partiii)
6. arat cum va fi alocarea spaiului pe hard dup efectuarea operaiunii i cere
confirmarea
Dup ce dai Finish operaiunea de creare va aprea in lista de operaii.
Operaiunea n sine nu va avea loc dect dup ce dai i Apply.

Schimbarea literei unei partiii (DriveMapper)


Pentru a schimba litera prin care este identificata o partiie:
o click dreapta pe respectiva partiie
o din meniul aprut Advanced -> Change Drive Letter
o stabileti noua litera i dai OK
Operaiunea in sine nu va avea loc dect dup ce dai si Apply.
Un program utilitar al PartitionMagic este DriveMapper (n meniul creat la
instalare apare n Tools). Acesta permite modificarea n sistem a referinelor existente
ctre o partiie. De exemplu, dac ai modificat partiia F n partiia G, trebuie sa
modifici i toate referinele ctre partiia F s poat gsi acum datele pe G.
DriveMapper este de fapt un wizard (fiecare punct de mai jos, reprezint un
ecran):
1. o descriere a ceea ce face DriveMapper
2. pentru a aduga sau terge o operaiune de modificarea a referinelor
foloseti butoanele Add i Delete, iar n cazul n care dai Add specifici tipul
de operaiuni

108
o operaiune tipic - dac ai creat o noua partiie sau dac ai schimbat litera
aferent unei partiii (selectezi litera care trebuie cutat i cea noua care
o va nlocui)
o operaiune de unire - dac ai unit dou partiii i toate datele de pe una
din vechile partiii sunt acum ntr-un director pe cea nou (selectezi litera
care trebuie cutat i directorul unde au fost mutate datele de pe
respectiva partiie)
3. poi bifa dac sa fii ntrebat pentru validare la fiecare modificare
4. dup ce apei Finish, programul va ncepe modificarea referinelor.

Crearea meniului de boot


Programul BootMagic
pentru crearea unui meniu de boot,
realizat de ctre compania
PowerQuest (realizatorii lui
Partition Magic), este unul din
programele cele mai vechi de acest
fel existente pe pia. Este
configurabil (att ca partiii care
vor fi activate, setarea unor parole
pentru activarea partiiilor, sau
modificarea acestor setri) din
cadrul unui program ce ruleaz in
Windows, dar se pot face si din
DOS. Modul de selecie a partiiilor de pe care se va realiza operaiunea de boot este
foarte simplu i intuitiv.
NOT: avei mare grij atunci cnd rulai un program de tip boot manager, deoarece
utilizarea n mod defectuos a acestuia poate duce n cel mai fericit caz la tergerea
informaiilor din MBR, iar n cel mai ru la pierderea tuturor datelor pe care le avei pe
harddisk. Dac totui, operaiunea de instalare a unui boot manager a euat, iar
ncercarea dumneavoastr de a restaura zona MBR cu FDISK /MBR a fost zadarnica,
dar putei avea acces la fiierele de pe harddisk, problema se poate rezolva uor prin
reinstalarea sistemului de operare.

Mutarea fiierului SWAP din Windows


O idee util ar fi i mutarea fiierului SWAP din Windows pe o partiie special
fcut pentru el sau mcar pe o partiie care sufer puine modificri (pe care nu prea
scrii sau tergi).
Fiierul SWAP este fiierul prin care Windows suplimenteaz (cnd are nevoie)
memoria RAM. Problema cu acest fiier este ca el apare ca imposibil de mutat la
defragmentare i poate ncurca, din acest motiv, procesul.
Mutarea este destul de simplu de fcut:
1. click dreapta pe My Computer -> Properties
2. Advanced -> Settings (de la Performance) -> Advanced
3. click pe butonul Change
n fereastra curent poi stabili pe ce partiii s fie fiierul SWAP i ce
dimensiuni s aib. Cel mai bine este s fie un singur fiier SWAP pe o singura partiie.

109
Pentru a anula fiierul SWAP de pe o partiie trebuie s selectezi partiia din
lista, sa bifezi No paging file i s apei butonul Set.
Pentru a crea un nou fiier SWAP pe alt partiie trebuie s selectezi partiia din
lista, s bifezi Custom size sau System Managed i s apei butonul Set.
Diferena ntre Custom size si System Managed este c la prima fiierul are
dimensiunile (minim i maxim) stabilite de utilizator, iar la a doua Windows
crete/scade dimensiunea fiierului n funcie de necesiti.
Este de preferat s fie stabilit o dimensiune constant (punnd la dimensiunile
minim i maxim aceeai valoare) pentru a evita fragmentarea partiiei. O valoare care ar
trebui s acopere necesitile unui sistem obinuit ar fi de 1,5 GB (1536 MB).
Pentru ca noile setri sa aib efect este necesar un restart (vei fi ntrebat n mod
automat dup ce dai OK in cele 3 ferestre deschise).
Programul BootMagic pentru crearea unui meniu de boot, realizat de ctre
compania PowerQuest (realizatorii lui Partition Magic), este unul din programele cele
mai vechi de acest fel existente pe pia. Este configurabil (att ca partiii care vor fi
activate, setarea unor parole pentru activarea partiiilor, sau modificarea acestor setri)
din cadrul unui program ce ruleaz n Windows, dar se pot face si din DOS. Modul de
selecie a partiiilor de pe care se va realiza operaiunea de boot este foarte simplu si
intuitiv.

Referatele de laborator vor conine: descrierea modului de lucru cu


programul Partition Magic, modul de realizare a unei partiii de 512Mb pe care se
va instala sistemul de operare DOS i crearea unui meniu de boot pentru pornirea
calculatorului fie sub sistemul de operare Windows, fie sub sistemul de operare
DOS.

110
Introducere n sisteme de operare

Laborator 10
Crearea partiiilor sub sistemul de operare Linux
Crearea partiiilor sub sistemul de operare Linux poate fi realizat cu utilitarul
fdisk (care este diferit de cel de sub sistemul de operare DOS). Linux permite 4 partiii
primare i un numr mai mare de partiii logice obinute prin subdivizarea unei partiii
primare. O singur partiie primar poate fi subdivizat.

Utilizarea programului fdisk


Programul fdisk se lanseaz n execuie de ctre administratorul sistemului, cu
comanda: fdisk device, unde device este dispozitivul de partiionat, ca de exemplu:
/dev/had sau /dev/sda.
Comenzile utilizate sunt :

P afieaz tabela de partiii;


n creeaz o partiie nou ;
d terge o partiie ;
q prsirea programului fr salvarea schimbrilor ;
w scrie noua tabel de partiii i prsete programul.

Schimbrile efectuate cu programul fdisk vor avea efect dup ce se d comanda


w. Prezentm mai jos un exemplu de tabel de partiii.

Disk /dev/hdb: 64 heads, 63 sectors, 621 cylinders


Units = cylinders of 4032 * 512 bytes

Device Boot Start End Blocks Id System


/dev/hdb1 * 1 184 370912+ 83 Linux
/dev/hdb2 185 368 370944 83 Linux
/dev/hdb3 369 552 370944 83 Linux
/dev/hdb4 553 621 139104 82 Linux swap

Prima linie indic geometria harddiscului (aceasta poate s nu aib legtur cu


structura fizic dar este util pentru partiionare). Harddiscul din acest exemplu are 64
de capete, 63 de sectoare pe pist i 621 de piste. Fiecare sector are 512 octei.
Prezentm n continuare un plan general de partiionare.
Partition Mount point Size
/dev/hda1 /boot (15 megs)
/dev/hda2 windows 98 partition (2 gigs)
/dev/hda3 extended (N/A)
/dev/hda5 swap space (64 megs)
/dev/hda6 /tmp (50 megs)
/dev/hda7 / (150 megs)

111
Partition Mount point Size
/dev/hda8 /usr (1.5 gigs)
/dev/hda9 /home (rest of drive)

n lucrarea de laborator se va realiza, sub sistemul de operare Linux, vizualizarea


i modificarea partiiilor cu ajutorul programului fdisk.

Referatele de laborator vor conine un tabel cu partiiile iniiale existente n


sistem i un tabel cu partiiile rezultate. De asemenea se va ntocmi un referat de
cel mult o pagin n care se vor prezenta aprecieri asupra partiiilor sistemului de
operare Linux.

112
Introducere n sisteme de operare

Laborator 11
Programe pentru crearea imaginii partiiilor
Extinderea numrului de sisteme de operare cu care utilizatorii lucreaz n mod
obinuit a fost luat n considerare de ctre Symantec, aceasta firma fcnd posibil,
prin intermediul lui Norton Ghost 2001, realizarea de imagini ale unor partiii sau
discuri pe care este instalat si Windows 2000 sau Me. Una din noutile cele mai
importante ale acestei noi versiuni se refer la suportul pentru partiii de tip Ext2
(Linux), care acum pot fi clonate la fel de uor ca i partiiile native Windows, singurul
impediment fiind acela ca pentru a putea fi realizata o clonare a unei partiii Ext2, este
necesara fie existenta unei partiii DOS, pe care sa fie instalat programul Norton Ghost
2001, fie crearea unei dischete de boot pe care sa fie incluse instrumentele necesare.
In funcie de necesiti, se pot realiza imagini ale unui ntreg harddisk, sau numai a unei
anumite partiii de pe acest harddisk. In oricare dintre aceste situaii, utilitarul Ghost
Explorer va permite introducerea sau extragerea anumitor fiiere din cadrul arhivei
imagine. Acest lucru, combinat cu posibilitatea de arhivare a imaginii printr-un algoritm
performant de compresie i protejarea prin parola a imaginii, ofer alturi de o
flexibilitate crescut i un grad ridicat de protecie a datelor. Numrul ridicat de opiuni
care pot fi incluse n linia de comand a utilitarului cu care se realizeaz imaginea
permit automatizarea i controlul amnunit al procesului de backup, lucru foarte util
pentru administratorii de sistem ce trebuie s deserveasc un numr mare de staii de
lucru. Manualul care vine odata cu pachetul software prezint detaliat aceste opiuni i
ofer cteva sfaturi pentru cazurile cele mai des ntlnite.
In conformitate cu tendina de globalizare a comunicrii, i de dezvoltare a
reelelor de calculatoare, majoritatea companiilor au un sistem propriu de organizare a
datelor n cadrul unei reele interne. Munca de ntreinere a unei astfel de reele este
destul de anevoioas, mai ales atunci cnd nu exista posibilitatea monitorizrii constante
a modului de funcionare, sau cnd exista foarte multe staii de lucru. Instalarea i
configurarea unui sistem de operare este o operaiune ce consuma destul de mult timp i
necesit o atenie deosebit din partea celui ce o realizeaz. In acest context, piaa
software a nceput s ofere programe de asisten i de realizare automat a unor astfel
de operaiuni.
Cum era de ateptat, compania Symantec a realizat o versiune a pachetului de
programe utilitare Norton Ghost dedicat lucrului n reea. Versiunea Enterprise a
Norton Ghost vine n ntmpinarea cerinelor administratorilor de reea i ofer o
modalitate rapid de clonare a staiilor de lucru aflate ntr-o reea. Norton Ghost face
inutila utilizarea unor programe de partiionare manual a harddisk-ului, dac exist
deja o imagine a unui sistem cu care s se poat lucra. Pentru extinderea facilitilor
oferite de Norton Ghost, se pot folosi aplicaiile Ghost Multicast Server ce va asigura
transmiterea simultan a unor fiiere ce conin imagini ale unor sisteme, spre o aplicaie
Norton Ghost ce ruleaz pe mai multe staii prin intermediul unei singure adrese IP.
Ghost Walker identifica i asociaz un cod unic SID, pentru staiile de lucru Windows
NT ce sunt clonate. Aplicaia Ghost Explorer permite modificarea fiierului imagine,
pentru tergerea sau adugarea anumitor directoare. Comenzile de formatare a
harddiskului FDISK si FORMAT sunt nlocuite cu GDISK, comanda ce permite o mai
113
buna utilizare a spaiului de lucru, obinerea unor informaii detaliate despre partiiile
aflate pe un harddisk si ascunderea anumitor partiii.
Pachetul Norton Ghost este format reea. Norton Ghost face inutil utilizarea
unor programe de partiionare manuala a harddisk-ului, dac exist deja o imagine a
unui sistem cu care s se poat lucra. Pentru extinderea facilitilor oferite de Norton
Ghost, se pot folosi aplicaiile Ghost Multicast Server ce va asigura transmiterea
simultana a unor fiiere ce conin imagini ale unor sisteme, spre o aplicaie Norton
Ghost ce ruleaz pe mai multe staii prin intermediul unei singure adrese IP. Ghost
Walker identifica i asociaz un cod unic SID, pentru staiile de lucru Windows NT ce
sunt clonate. Aplicaia Ghost Explorer permite modificarea fiierului imagine, pentru
tergerea sau adugarea anumitor directoare. Comenzile de formatare a harddiskului
FDISK si FORMAT sunt nlocuite cu GDISK, comand ce permite o mai bun utilizare
a spaiului de lucru, obinerea unor informaii detaliate despre partiiile aflate pe un
harddisk i ascunderea anumitor partiii. Pachetul Norton Ghost este format din doua
module, Norton Ghost Console - un server ce are drept funcie principala managementul
operaiunilor de clonare, i de realizare a unor operaii post clonare pe staiile de lucru
client, n acest fel fiind eliminat nevoia de realizare a unor discuri boot-abile pentru
realizarea clonrii. Pe fiecare staie de lucru este necesar instalarea Norton Ghost
Console Client, pentru realizarea operaiunilor de remote control, pe aceste staii putnd
rula Windows 9x, NT sau 2000. Informaiile despre fiecare staie de lucru sunt stocate
ntr-o baz de date, aplicaia server fiind capabil s identifice numele fiecrei maini,
grupul de lucru din care aceasta face parte, domeniul de lucru, descrierea mainii
respective precum i setrile TCP/IP. Operaiunea de clonare se poate face fie prin
intermediul unei reele peer-to-peer sau prin intermediul unui cablu paralel conectat la
portul LPT. Indiferent de modalitatea utilizata, serverul va identifica automat viteza
optima de transmisie, i va realiza o copie a sistemului n cel mai scurt timp posibil.
Norton Ghost Enterprise Edition se remarca n primul rnd prin uurina in
folosire, pentru aceasta nefiind necesare cunotine foarte avansate, i n al doilea rnd
prin faptul ca uureaz extrem de mult munca unui administrator de reea.
Programul Partition Image este un utilitar Linux/UNIX care poate salva
partiiile de diferite formate ntr-un fiier imagine. Fiierul imagine poate fi comprimat
n format GZIP/BZIP2 i divizat n mai multe fiiere. Partiiile pot fi salvate i prin
reea.
Programul Partition Image copiaz doar informaia din poriunile folosite ale
partiiei pentru creterea vitezei i eficienei programului. Dac se d comanda dd
atunci vor fi copiate n imagine i blocurile goale ale partiiei.
n lucrarea de laborator se vor realiza i restaura imagini ale partiiilor att sub
sistemul de operare Windows ct i Linux.

Referatele de laborator vor conine descrierea modului n care s-a realizat


salvarea i restaurarea partiiilor. De asemenea se va ntocmi un referat de cel
mult o pagin, despre modalitile de salvare i protecie a datelor de pe un sistem
de calcul. Se va arta care este utilitatea salvrii imaginilor partiiilor.

114
Introducere n sisteme de operare

Laborator 12
Instalarea mai multor sisteme de operare pe acelai
sistem de calcul
Utilizatorii de calculatoare care i-au nceput odiseea n lumea sistemelor de
operare cu ani buni n urm nu prea aveau posibilitatea de a folosi pe acelai calculator
mai multe sisteme de operare (lipsa spaiului pe harddisk era elementul principal, dar i
puinele alternative n ceea ce privete sistemele de operare) i de aceea utilizarea
exclusiv a unuia sau a altuia elimin de obicei posibilitatea de mbinare a acestora. La
momentul actual, piaa sistemelor de operare este foarte vast, de la multe variante de
SO-uri bazate pe UNIX, i pn la cele oferite de ctre Microsoft (Windows
9x/Me/NT/2000/XP), iar tentaia de a le ncerca pe toate i de a le face sa coexiste pe
acelai sistem este foarte mare. Dac majoritatea sistemelor vin cu propriile managere
de boot (LILO pentru sistemele Linux, NTLoader pentru Windows NT/2000), totui
acestea sunt destul de limitate de obicei i nu v ofer chiar tot ce v-ai dori, ca sa nu
mai vorbim de facilitatea n configurare. In aceste condiii, utilizatorii de calculatoare
s-au vzut nevoii s caute noi modaliti de a accesa diversele SO-uri instalate pe
harddisk-urile din sistem i inevitabil au aprut programe dedicate care uureaz
semnificativ aceast munc.
Organizare interna
Harddisk-ul este locul n care sunt depozitate toate datele necesare funcionrii
unui sistem de operare. Locurile fixe in care sunt stocate informaiile sunt denumite
blocuri, acestea fiind cea mai mica unitate de adresare fixa de pe harddisk. Modul in
care calculatorul comunica cu harddisk-ul se bazeaz pe furnizarea unei astfel de adrese
controlerului care face legatura fizica ntre harddisk i memoria RAM. Dac modul de
organizare a datelor de pe harddisk s-a modificat n timp datorit creterii capacitii de
stocare a acestor suporturi, precum i de limitrile de adresare pe care le-au impus
sistemele de operare mai vechi si BIOS-ul, singura zona care a rmas practic
neschimbata a fost zona denumita MBR (Master Boot Record). Aceasta se gsete in
primul sector de pe harddisk i conine informaii despre toate partiiile existente pe
harddisk-ul respectiv.
Informaiile sunt grupate n trei categorii i anume, codul de iniializare (Initial
loader code), un program care este pornit de ctre BIOS imediat dup ncrcarea cu
succes in memorie a datelor din MBR. Are o dimensiune mai mic de 512 bytes (zona
adresabila a unui bloc de pe harddisk) i conine numai informaiile de iniializare
pentru sistemul de operare existent.
Cea de-a doua informaie este tabela de partiii (se afla la offset-ul 0x1BE in
MBR) i conine informaii despre partiiile de pe disk. Numai una dintre acestea poate
fi marcata ca fiind bootabila (sau activ).
n ultima poriune (ultimii 2 bytes) se afla o sum de control prin care se verific
dac MBR-ul a fost ncrcat corect i nu exista erori de alocare a partiiilor care ar putea
duce la deteriorarea datelor de pe harddisk. Mai este o problema care trebuie lmurit, i
anume file system boot sector care nu trebuie confundat cu MBR. File system boot
sector este primul sector fizic de pe un volum logic. La rndul sau, un volum logic poate
115
fi reprezentat de ctre o partiie primara sau o partiie logic din una extins. Pentru
dischete, sectorul de boot este primul sector de pe disc. n cazul harddisk-urilor, primul
sector este Master Boot Record sau MBR, i nu reprezint acelai lucru ca i file system
boot sector, coninnd elementele prezentate anterior. File system boot sector poate fi
primul sector de pe una din aceste partiii.
Managerul de boot
Pentru a putea ocoli aceste limitri datorate arhitecturii harddisk-ului din punct de
vedere logic, au fost create programele denumite Boot Manager, care se ocupa cu
alocarea eficient a partiiilor i schimbarea n timpul rulrii (acolo unde este nevoie) a
partiiilor active, precum i a zonelor de alocare a datelor.
Majoritatea programelor noi din aceasta categorie permit rularea fr dureri de
cap a mai multor sisteme de operare instalate pe acelai harddisk, i ajut utilizatorul sa
aib un numr mare de alegeri n ceea ce privete sistemele de operare utilizate. Multe
dintre ele vin i cu un instrument propriu de partiionare care ajut la organizarea
fiecrei partiii n parte i la setarea atributelor necesare n vederea utilizrii.
In momentul actual, numrul aplicaiilor boot manager este ridicat, unele dintre acestea
oferind chiar interfee grafice pentru configurare i alegere a sistemului de operare dorit,
alegerea uneia sau a alteia dintre aceste aplicaii fiind destul de dificil, deoarece fiecare
are plusurile ei ca i minusuri. Pentru a va ghida n acest proces am ales s v prezint
succint cele mai utilizate dintre aceste programe, dumneavoastr urmnd s decidei
dac ele v sunt de folos i care este cel mai potrivit.
La treab
nainte de a v apuca s utilizai un astfel de program, este bine s v facei mai
nti o lista cu sistemele de operare pe care dorii s le instalai, precum i cu cerinele
minime de spaiu liber pe harddisk pe care le au acestea, precum i un backup al
documentelor importante pe care le deineti pe harddisk-ul pe care dorii s instalai mai
multe sisteme de operare. Al doilea pas la fel de important este realizarea unei dischete
de boot cu ajutorul opiunii din Control Panel- Add/Remove Programs - Startup Disk.
Mai trebuie s dezactivai din BIOS opiunea de Virus Warning, i s fii ateni s
dezactivai programul antivirus care este n memorie atunci cnd rulai o aplicaie de tip
boot manager, deoarece acesta poate interpreta operaiunea de scriere a sectorului de
boot ca fiind una realizat de ctre un posibil virus i s ncerce blocarea ei.
Dac dintr-un motiv sau altul, operaiunea de instalare a unui nou boot manager
nu a reuit, i sistemul dumneavoastr nu mai boot-eaz, intrai cu o dischet de sistem
i dai urmtoarea comanda: FDISK /MBR, care are ca efect rescrierea poriunii MBR.
n cazul n care nu au fost terse fizic partiiile, ar trebui s avei din nou un sistem
funcionabil.
Steaua... cluzitoare
BootStar ofer posibilitatea de alegere a pn la 15 partiii primare de pe care s
poat fi ncrcate diferite sisteme de operare. Tipul de partiie specific fiecrui sistem de
operare n parte poate fi selectat direct din programul propriu de partiionare, fapt ce
uureaz semnificativ procesul de alocare si organizare a spaiului disponibil. Programul
beneficiaz de posibilitatea de instalare pe orice platforma Windows, precum i de
funcii de securitate pentru protejarea prin parola a accesului la anumite partiii, dar i
de ascundere a acestora. Instalarea i dezinstalarea s se face fr prea mare greutate, iar
selecia partiiilor pe care se face boot-area se face dintr-un meniu grafic. Pentru
situaiile n care din diferite motive MBR a fost deteriorat i nu se mai poate face o

116
ncrcare corect, putei crea o discheta de salvare pe care s fie stocate datele necesare
pentru restaurarea acestuia.
Vrjitorul pentru boot
Avnd o utilizare foarte larg, BootWizard Pro poate manipula un numr mare
de sisteme de operare, inclusiv PTS-DOS, MS-DOS, PC-DOS, Open DR-DOS,
Windows 9x/Me/NT/2000, OS/2, Linux, FreeBSD, SUN Solaris etc. Instalarea si
dezinstalarea sa se realizeaz fr probleme. Configurarea elementelor de boot este
posibil prin intermediul unui meniu grafic direct din managerul de boot. Pentru o
versatilitate crescut, BootWizard a fost conceput s poat fi instalat pe partiii de tip
FAT16 sau FAT32, i are incluse module care verifica compatibilitatea ntre fiierele
sistemelor de operare instalate, precum i verificarea de virui a executabilului de
ncrcare. Poate rula i de pe dischete de sistem, fr a afecta modul de alocare a
partiiilor. Modificarea partiiilor (FAT16 si FAT32) existente se poate face on-thefly,
fr pierderea datelor.
Trecutul devine legenda
In comparaie cu celelalte programe prezentate pn acum, LegendOS BM poate
prea mai greoi. Chiar dac face parte din categoria aplicaiilor freeware, LegendOS
BM nu este totui o aplicaie care sa poat fi folosit de orice utilizator, necesitnd ceva
mai multe cunotine despre calculatoare i modul de funcionare a acestora. Instalarea
se face uor, direct din fiierul de start (ruleaz numai pe sisteme DOS, sau Windows
9x!), dar pentru dezinstalare este necesar o discheta de boot i comanda FDISK /MBR.
Suport majoritatea sistemelor de operare, totui, configurarea acestora este un pic mai
dificil de realizat. Dac nu suntei familiarizai cu parametrii de funcionare ai harddisk-
ului, v sftuiesc s ocolii acest program.
Directorul de partiii
Lista de functii i operaiuni pe care le poate realiza programul MasterBooter
este foarte mare. Sistemele de operare care sunt susinute includ pe lng cele standard
(Microsoft, Linux) i unele mai puin utilizate precum SCO OpenServer, OS/2 (Warp,
Merlin), Solaris, Oberon, Theos, BeOS. Partiiile de tipul FAT/NTFS/HPFS pot fi
protejate prin parola, precum i activate sau ascunse in timpul procesului de boot. Are
inclus i un manager propriu de partiii care permite realizarea unor operaiuni pentru
modificarea parametrilor funcionali ale acestora. Configurarea profilelor de boot-are
este facil, fcndu-se direct din meniul de instalare.
Biblioteca pentru SO-uri
Utilitarul MSTBOOT permite utilizarea a pn la 12 sisteme de operare pe
acelai calculator. Instalarea sa presupune realizarea unei dischete de boot, care apoi
permite configurarea opiunilor, i atunci cnd este nevoie dezinstalarea aplicaiei. Toate
funciile pot fi accesate dintr-un meniu grafic, dar i prin intermediul unor parametri
linie comand.
Cruul
Unul din cele mai bune programe pentru managementul boot-arii este OSL2000
(Operating System Loader 2000). Numrul de sisteme de operare care pot fi utilizate pe
acelai harddisk cu ajutorul acestui utilitar este foarte mare (100), ceea ce i ofer o
flexibilitate mare de lucru. Programul poate lucra i cu MBR-urile altor harddisk-uri
dect cel care este selectat ca fiind harddisk-ul boot-abil. Meniul de selecie a partiiilor
de boot este unul grafic, iar modalitatea de prezentare a acestora este una bine realizat.
Instalarea programului se face numai din mod DOS, dezinstalarea lui fiind uoar.
Ordine i curenie
117
Managerul de boot i utilitarul de partiionare Ranish Partition Manager v ofer
cteva modaliti uoare de configurare a partiiilor de lucru. Pot fi meninute patru
partiii active la nivelul unui singur harddisk. Modulul de boot management are incluse
n el funcii de verificare a fiierului pentru eventualele infecii cu virui. Se poate
configura o opiune implicit care s fie citit la fiecare pornire.
Extinderea meniurilor de boot
Unul din putinele programe care ofera o modalitate de instalare i configurare n
cadrul unor meniuri grafice este Extended Operating System Loader, pe scurt XOL.
Suporta un numr mare de sisteme de operare, iar opiunea Smart Boot Manager
permite realizarea unei boot-ri de pe CD-ROM. Selecia parametrilor pentru meniurile
grafice (rezoluie display, mouse) se face din meniul grafic, i permit o funcionare
optim n momentul boot-rii. Selecia partiiilor este un pic mai dificil, pentru cei care
nu au cunotine despre modul de organizare a partiiilor pe harddisk putnd aprea
probleme serioase n funcionare (sistemul nu mai boot-eaz).
Un magician pentru dvs.
Programul BootMagic realizat de ctre compania PowerQuest (realizatorii lui
Partition Magic) este unul din programele cele mai vechi de acest fel existente pe pia.
Este configurabil (att ca partiii care vor fi activate, setarea unor parole pentru activarea
partiiilor, sau modificarea acestor setri) din cadrul unui program ce ruleaz n
Windows, dar se pot face i din DOS. Modul de selecie a partiiilor de pe care se va
realiza operaiunea de boot este foarte simplu i intuitiv.
Managerul Linux
Cei care lucreaz frecvent cu sistemele de operare Linux au fcut deja cunotin
cu LILO (Linux Loader), progrmelul care v invita s selectai sistemul de operare care
dorii s fie ncrcat. Fcnd parte din mediul Linux (criptic nc pentru muli
utilizatori), LILO este oarecum greu de configurat pentru utilizatorul care nu are
cunotine bune despre sistemul de operare Linux i organizarea harddisk-ului, dar pune
la dispoziie instrumentele necesare pentru a avea o pleiada de sisteme de operare pe
harddisk. Cea mai recent versiune de LILO ofer posibilitatea de alegere a opiunilor
din meniuri, care sunt, totui, realizate n mod text, dar cei care se pricep pot crea i
meniuri grafice impresionante.
Avei mare grij!
Dup cum am mai spus, avei mare grij atunci cnd rulai un program de tip
boot manager, deoarece utilizarea n mod defectuos a acestora poate duce n cel mai
fericit caz la tergerea informaiilor din MBR, iar n cel mai ru la pierderea tuturor
datelor pe care le avei pe harddisk. Dac, totui, operaiunea de instalare a unui boot
manager a euat, iar ncercarea dumneavoastr de a restaura zona MBR cu FDISK
/MBR a fost zadarnic, dar putei avea acces la fiierele de pe harddisk, problema se
poate rezolva uor prin reinstalarea sistemului de operare. Baft la lucru, atenie la
configurare i ct mai multe sisteme de operare funcionale pe un singur sistem!

Referatele de laborator vor conine descrierea programelor utilizate n


lucrarea de laborator i descrierea operaiilor efectuate pentru instalarea
sistemelor de operare.

118
SISTEME DE OPERARE

Laborator 1
Utilizarea funciilor sistem DOS
1. Apeluri de funcii sistem

Rutinele utilizate de DOS pentru tratarea operaiilor i resurselor sistemului


Pot fi apelate de orice program de aplicaii, uurnd munca de programare i mrind
posibilitatea compatibilitii cu viitoare versiuni DOS.

Rutinele DOS sunt apelate prin ntreruperi software. ntreruperea 21h (INT 21h)
este serviciul pentru apelul funciilor. Ea permite accesul la o mare varietate de resurse
DOS.
Pentru un apel al unei funcii sistem DOS, se procedeaz astfel:
- se ncarc numrul funciei n registrul AH;
- se ncarc (dac este necesar) numrul subfunciei n registrul AL;
- se ncarc (dac este necesar) celelalte date n registrele specificate;
- se genereaz INT 21h.
Exemplu:
mov ah, 02h
mov dl, 41h
int 21h
Unele funcii necesit ca parametrii iruri de caractere ASCII (de exemplu, nume
de fiiere, ci, etc). n acest caz, irul trebuie s aib contorul binar 0 la sfrit
(terminator este caracterul nul), iar ca parametru se transmite adresa irului.
Numrul funciilor a crescut odat cu versiunile sistemului de operare, existnd
n prezent i funcii cu aciuni similare, dar cu numere diferite. n acest caz, se
recomand utilizarea celei cu numr mai mare.
Pentru nelegerea acestor funcii, care n parte se acoper, reamintim pe scurt
istoricul sistemului de operare DOS.
Dezvoltarea sistemului s-a fcut n trei pai mari:
1. Primele versiuni (1.x) se apropie foarte mult de sistemul de operare CP/M,
din
motive de compatibilitate necesar n acel moment.
2. Versiunile urmtoare (2.x) au adus structura de fiiere asemntoare
sistemului
UNIX, i o tratare consecvent a erorilor, relativ la care se folosete
urmtoarea convenie:
dac operaia cerut s-a executat corect, indicatorul CARRY
(CF) va fi nul;
n caz de eroare, indicatorul CARRY este poziionat i se
returneaz n cont de eroare n registrul AX.
3. ncepnd cu versiunea a treia, s-au adugat funcii pentru lucrul cu reele, cu
fiiere partajate, funcii noi pentru gestionarea proceselor, precum i o
funcie important pentru tratarea erorilor (59h), care ofer informaii exacte

119
despre originea unei (eventuale) erori la ultima funcie apelat, precum i
sugestii (codificate) referitor la posibiliti de tratare a erorii.
Cea mai important diferen ntre funciile vechi i cele noi const n modul de
tratare al fiierelor.
n cazul funciilor vechi, programul trebuie s pregteasc un Bloc de Control al
Fiierului (FCB-File Descriptor Block).Funciile noi necesit pentru tratarea fiierelor
doar adresa numelui de fiier, returnnd o valoare numit indicator logic de fiier
(handle), prin care acesta va fi identificat n operaiile de intrare/ieire.
Utilizarea funciilor vechi prezint avantaje i dezavantaje:
o Pot fi citite direct din FCB anumite informaii, care n cazul funciilor
noi pot fi preluate doar prin apeluri de funcii (nu se cunoate FCB-
ul, ci numai un numr logic al fiierului ).Acesta este motivul pentru
care se mai utilizeaz aceast metod, dar firmele Microsoft i IBM
nu ncurajeaz acest mod de lucru.
o Utilizatorul trebuie s rezerve spaiul de memorie pentru FCB i s
completeze cmpurile lui. Aceast munc numai este necesar la
funciile noi.
Cel mai mare avantaj al noilor funcii l constituie posibilitatea redirectrii
fiierelor standard:
o intrare standard (identificator logic 0);
o ieire standard (identificator logic 1);
o eroare standard (identificator logic 2);
Funciile sistem pot fi apelate i dintr-un limbaj de nivel nalt, al crui module
pot fi pot fi legate cu module scrise n limbaj de asamblare. n plus, majoritatea
limbajelor de nivel nalt au prevzute rutine de bibliotec pentru execuia direct al
acestor funcii.
Observaie:
Cnd DOS preia controlul dup un apel de funcie, se face un salt la o stiv
intern, salvndu-se toi registrele neutilizate pentru returnare de informaii (cu excepia
registrului AX). Ca urmare, stiva programului apelant trebuie s fie suficient de mare
pentru a se adapta sistemului de ntreruperi (cel puin 128 de octei n plus, fa de alte
cerine).

1.1.Apeluri de funcii DOS, n ordine numeric

Funcia 00h - terminarea programului


Funcia 01h - citirea cu ecou de la tastatur
Funcia 02h - afiarea unui caracter
Funcia 03h - intrarea auxiliar
Funcia 04h - ieirea auxiliar
Funcia 05h - tiprirea unui caracter
Funcia 06h - intrare/ieire direct fr ecou de la consol
Funcia 07h - intrarea direct fr ecou de la consol
Funcia 08h - citirea fr ecou de la tastatur
Funcia 09h - afiarea unui ir
Funcia 0Ah - intrarea prin zon tampon de la tastatur
Funcia 0Bh - verificarea strii intrrii
Funcia 0Ch - tergerea zonei tampon de intrare i citirea de la tastatur
120
Funcia 0Dh - resetarea discului
Funcia 0Eh - selectarea unitii implicite
Funcia 0Fh - deschiderea unui fiier, utiliznd FCB
Funcia 10h - nchiderea unui fiier, utiliznd FCB
Funcia 11h - cutarea primului fiier potrivit, utiliznd FCB
Funcia 12h - cutarea urmtorului fiier potrivit, utiliznd FCB
Funcia 13h - tergerea unui fiier, utiliznd FCB
Funcia 14h - citirea secvenial, utiliznd FCB
Funcia 15h - scrierea secvenial, utiliznd FCB
Funcia 16h - crearea unui fiier, utiliznd FCB
Funcia 17h - redenumirea unui fiier, utiliznd FCB
Funcia 18h - rezervat
Funcia 19h - obinerea unitii curente implicite
Funcia 1Ah - modificarea adresei zonei de transfer a discului (DTA)
Funcia 1Bh - obinerea informaiilor FAT pentru unitatea curent
Funcia 1Ch - obinerea informaiilor FAT pentru unitatea specificat
Funcia 1Dh - rezervat
Funcia 1Eh - rezervat
Funcia 1Fh - rezervat
Funcia 20h - rezervat
Funcia 21h - citirea n acces direct, utiliznd FCB
Funcia 22h - scrierea n acces direct, utiliznd FCB
Funcia 23h - obinerea dimensiunii unui fiier, utiliznd FCB
Funcia 24h - poziionarea cmpului Articol n acces direct, utiliznd FCB
Funcia 25h - poziionarea vectorului de ntrerupere soft
Funcia 26h - crearea unui PSP
Funcia 27h - citirea multipl n acces direct, utiliznd FCB
Funcia 28h - scrierea multipl n acces direct, utiliznd FCB
Funcia 29h - analiza unui nume de fiier
Funcia 2Ah - obinerea datei sistem curente
Funcia 2Bh - poziionarea datei sistem curente
Funcia 2Ch - obinerea orei sistem curente
Funcia 2Dh - poziionarea orei sistem curente
Funcia 2Eh - poziionarea / repoziionarea indicatorului VERIFY
Funcia 2Fh - obinerea adresei DTA curente
Funcia 30h - obinerea numrului versiunii DOS
Funcia 31h - pstrarea procesului
Funcia 32h - rezervat
Funcia 33h - poziionarea / obinerea strii pentru Ctrl/C
Funcia 34h - rezervat
Funcia 35h - obinerea vectorului de ntrerupere soft
Funcia 36h - obinerea spaiului liber pe disc
Funcia 37h - rezervat
Funcia 38h - obinerea / poziionarea informaiilor dependente de ar
Funcia 39h - crearea unui nou director (MKDIR)
Funcia 3Ah - tergerea unui director (RMDIR)
Funcia 3Bh - schimbarea directorului (CHDIR)
Funcia 3Ch - crearea unui fiier (CREAT)
121
Funcia 3Dh - deschiderea unui fiier, utiliznd identificator logic
Funcia 3Eh - nchiderea unui fiier, utiliznd identificator logic
Funcia 3Fh - citirea dintr-un fiier sau de la un dispozitiv, utiliznd identificator
logic
Funcia 40h - scrierea ntr-un fiier sau la un dispozitiv, utiliznd identificator logic
Funcia 41h - tergerea unui fiier (UNLINK)
Funcia 42h - poziionarea pointerului de scriere / citire (LSEEK)
Funcia 43h - obinerea / poziionarea atributelor fiierului (CHMOD)
Funcia 44h - control intrare/ ieire pentru dispozitive (IOCTL)
Funcia 4400h - IOCTL: obinerea informaiilor despre dispozitiv
Funcia 4401h - IOCTL: poziionarea informaiilor despre dispozitiv
Funcia 4402h - IOCTL: citirea de la un dispozitiv caracter
Funcia 4403h - IOCTL: scrierea la un dispozitiv caracter
Funcia 4404h - IOCTL: citirea de la un dispozitiv bloc
Funcia 4405h - IOCTL: scrierea la un dispozitiv bloc
Funcia 4406h - IOCTL: obinerea strii intrrii
Funcia 4407h - IOCTL: obinerea strii ieirii
Funcia 4408h - IOCTL: dispozitivul se poate nlocui?
Funcia 4409h - IOCTL: dispozitivul logic se afl la distan?
Funcia 440Ah - IOCTL: identificatorul logic se afl la distan?
Funcia 440Bh - IOCTL: modificarea numrului de rencercri
Funcia 440Ch - IOCTL: cerere generic IOCTL pentru identificatorul logic
Funcia 440Dh - IOCTL: cerere generic IOCTL pentru dispozitive bloc
Funcia 440Dh - poziionare parametrilor dispozitivului (cod 40h)
Funcia 440Dh - returnarea parametrilor dispozitivului (cod 60h)
Funcia 440Dh - formatarea / verificarea unei piste (cod 42h/62h) pe
dispozitivul logic
Funcia 440Eh - IOCTL: obinerea dispozitivului logic
Funcia 440Fh - IOCTL: selectarea dispozitivului logic
Funcia 45h - duplicarea identificatorului logic al unui fiier (DUP)
Funcia 46h - redirectarea unui identificator logic (FORCDUP)
Funcia 47h - obinerea directorului curent
Funcia 48h - alocarea memoriei
Funcia 49h - eliberarea memoriei alocate
Funcia 4Ah - modificarea alocrii memoriei (SET BLOCK)
Funcia 4Bh - ncrcarea i/sau execuia unui program (EXEC)
Funcia 4Ch - terminarea procesului (EXIT)
Funcia 4Dh - obinerea codului de retur al procesului fiu (WAIT)
Funcia 4Eh - gsirea primului fiier potrivit (FIND FIRST)
Funcia 4Fh - gsirea urmtorului fiier potrivit (FIND NEXT)
Funcia 50h - rezervat
Funcia 51h - rezervat
Funcia 52h - rezervat
Funcia 53h - rezervat
Funcia 54h - verificarea strii indicatorului VERIFY
Funcia 55h - rezervat
Funcia 56h - schimbarea intrrii n director
Funcia 57h - obinerea/poziionarea datei i orei unui fiier
122
Funcia 58h - obinerea/selectarea strategiei de alocare
Funcia 59h - obinerea informaiilor suplimentare despre o eroare
Funcia 5Ah - crearea unui fiier temporar unic
Funcia 5Bh - crearea unui fiier nou
Funcia 5Ch - blocare/deblocarea accesului la un fiier
Funcia 5Dh - rezervat
Funcia 5Eh - servicii de reea
Funcia 5E00h - obinerea numelui mainii
Funcia 5E02h - poziionarea antetului imprimantei de reea
Funcia 5E03h - obinerea antetului imprimantei de reea
Funcia 5Fh - redirectarea dispozitivelor de reea
Funcia 5F02h - obinerea unei intrri n lista de redirectri
Funcia 5F03h - redirectarea unui dispozitiv de reea
Funcia 5F04h - anularea redirectrii unui dispozitiv de reea
Funcia 60h - rezervat
Funcia 61h - rezervat
Funcia 62h - obinerea adresei PSP-ului

1.2.Apelurile de funcii DOS, n ordine alfabetic

Funcia 02h - afiarea unui caracter


Funcia 09h - afiarea unui ir
Funcia 48h - alocarea memoriei
Funcia 29h - analiza unui nume de fiier
Funcia 5Ch - blocare / deblocarea accesului la un fiier
Funcia 11h - cutarea primului fiier potrivit, utiliznd FCB
Funcia 12h - cutarea urmtorului fiier potrivit, utiliznd FCB
Funcia 21h - citirea n acces direct, utiliznd FCB
Funcia 01h - citirea cu ecou de la tastatur
Funcia 3Fh - citirea dintr-un fiier sau de la un dispozitiv, utiliznd identificatorul
logic
Funcia 08h - citirea fr ecou de la tastatur
Funcia 27h - citirea multipl n acces direct, utiliznd FCB
Funcia 14h - citirea secvenial, utiliznd FCB
Funcia 44h - control intrare/ieire pentru dispozitive (IOCTL)
Funcia 4400h - IOCTL: obinerea informaiilor despre dispozitiv
Funcia 4401h - IOCTL: poziionarea informaiilor despre dispozitiv
Funcia 4402h - IOCTL: citirea de la un dispozitiv caracter
Funcia 4403h - IOCTL: scrierea la un dispozitiv caracter
Funcia 4404h - IOCTL: citirea de la un dispozitiv bloc
Funcia 4405h - IOCTL: scrierea la un dispozitiv bloc
Funcia 4406h - IOCTL: obinerea strii intrrii
Funcia 4407h - IOCTL: obinerea strii ieirii
Funcia 4408h - IOCTL: dispozitivul se poate nlocui?
Funcia 4409h - IOCTL: dispozitivul logic se afl la distan?
Funcia 440Ah - IOCTL: identificatorul logic se afl la distan?
Funcia 440Bh - IOCTL: modificarea numrului de rencercri
Funcia 440Ch - IOCTL: cerere generic IOCTL pentru identificator logic
123
Funcia 440Dh - IOCTL: cerere generic IOCTL pentru dispozitive bloc
Funcia 440Dh - poziionarea parametrilor dispozitivului (cod 40h)
Funcia 440Dh - returnarea parametrilor dispozitivului (cod 60h)
Funcia 440Dh - formatarea /verificarea unei piste (cod 42h/62h) pe
dispozitivul logic
Funcia 440Eh - IOCTL: obinerea dispozitivului logic
Funcia 440Fh - IOCTL: selectarea dispozitivului logic
Funcia 3Ch - crearea unui fiier (CREAT)
Funcia 5Bh - crearea unui fiier nou
Funcia 5Ah - crearea unui fiier temporar unic
Funcia 16h - crearea unui fiier, utiliznd FCB
Funcia 39h - crearea unui nou director (MCDIR)
Funcia 26h - crearea unui PSP
Funcia 0Fh - deschiderea unui fiier, utiliznd FCB
Funcia 3Dh - deschiderea unui fiier, utiliznd identificator logic
Funcia 45h - duplicarea identificatorului logic al unui fiier (DUP)
Funcia 49h - eliberarea memoriei alocate
Funcia 4Eh - gsirea primului fiier potrivit (FIND FIRST)
Funcia 4Fh - gsirea urmtorului fiier potrivit (FIND NEXT )
Funcia 04h - ieirea auxiliar
Funcia 4Bh - ncrcarea i/sau execuia unui program (EXEC)
Funcia 10h - nchiderea unui fiier, utiliznd FCB
Funcia 3Eh - nchiderea unui fiier, utiliznd identificator logic
Funcia 03h - intrarea auxiliar
Funcia 07h - intrarea direct fr ecou de la consol
Funcia 0Ah - intrarea prin zon tampon de la tastatur
Funcia 06h - intrare/ieire fr ecou de la consol
Funcia 1Ah - modificarea adresei zonei de transfer a discului (DTA)
Funcia 4Ah - modificarea alocrii memoriei (SET BLOCK)
Funcia 2Fh - obinerea adresei DTA curente
Funcia 62h - obinerea adresei PSP-ului
Funcia 4Dh - obinerea codului de retur al procesului fiu (WAIT)
Funcia 2Ah - obinerea datei sistem curente
Funcia 23h - obinerea dimensiunii unui fiier, utiliznd FCB
Funcia 47h - obinerea directorului curent
Funcia 1Bh - obinerea informaiilor FAT pentru unitatea curent
Funcia 1Ch - obinerea informaiilor FAT pentru unitatea specificat
Funcia 59h - obinerea informaiilor suplimentare despre o eroare
Funcia 30h - obinerea numrului versiunii DOS
Funcia 2Ch - obinerea spaiului liber pe disc
Funcia 36h - obinerea/poziionarea datei i orei unui fiier
Funcia 43h - obinerea/poziionarea atributelor fiierului (CHMOD)
Funcia 57h - obinerea/poziionarea datei i orei unui fiier
Funcia 38h - obinerea/poziionarea informaiilor dependente de ar
Funcia 58h - obinerea/selectarea strategiei de alocare
Funcia 19h - obinerea unitii curente implicite
Funcia 35h - obinerea vectorului de ntrerupere
Funcia 31h - pstrarea procesului
124
Funcia 24h - poziionarea cmpului Articol n acces direct, utiliznd FCB
Funcia 2Bh - poziionarea datei sistem curente
Funcia 2Dh - poziionarea ore sistem curente
Funcia 33h - poziionarea/obinerea strii pentru Ctrl/C
Funcia 42h - poziionarea pointerului de scriere/citire (LSEEK)
Funcia 2Eh - poziionarea/ repoziionarea indicatorului VERIFY
Funcia 25h - poziionarea vectorului de ntrerupere
Funcia 5Fh - redirectarea dispozitivelor de reea
Funcia 5F02h - obinerea unei intrri n lista de redirectri
Funcia 5F03h - redirectarea unui dispozitiv de reea
Funcia 5F04h - anularea redirectrii unui dispozitiv de reea
Funcia 17h - redenumirea unui fiier, utiliznd FCB
Funcia 46h - redirectarea unui identificator logic (FORCDUP)
Funcia 0Dh - resetarea discului
Funcia 3Bh - schimbarea directorului (CHDIR)
Funcia 56h - schimbarea intrrii n director
Funcia 22h - scrierea n acces direct, utiliznd FCB
Funcia 28h - scrierea multipl n acces direct, utiliznd FCB
Funcia 40h - scrierea ntr-un fiier sau la un dispozitiv, utiliznd identificator logic
Funcia 15h - scrierea secvenial, utiliznd FCB
Funcia 0Eh - selectarea unitii implicite
Funcia 5Eh - servicii de reea
Funcia 5E00h - obinerea numelui mainii
Funcia 5E02h - poziionarea antetului imprimantei de reea
Funcia 5E03h - obinerea antetului imprimantei de reea
Funcia 0Ch - tergerea zonei tampon de intrare i citire de la tastatur
Funcia 3Ah - tergerea unui director (RMDIR)
Funcia 41h - tergerea unui fiier (UNLINK)
Funcia 13h - tergerea unui fiier, utiliznd FCB
Funcia 4Ch - terminarea procesului(EXIT)
Funcia 00h - terminarea programului
Funcia 05h - tiprirea unui caracter
Funcia 54h - verificarea strii indicatorului VERIFY
Funcia 0Bh - verificarea strii intrrii

1.3. Apeluri de funcii DOS, pe categorii

1.3.1. intrri/ieiri pentru dispozitive caracter standard

Acestea trateaz toate cererile de intrare/ieire, de la i la orice dispozitiv


standard (consol, imprimant, porturi seriale).Dac un program utilizeaz aceste
funcii, intrrile i ieirile sale pot fi redirectate.
Funcia 01h - citirea cu ecou de la tastatur
Funcia 02h - afiarea unui caracter
Funcia 03h - intrarea auxiliar
Funcia 04h - ieirea auxiliar
Funcia 05h - tiprirea unui caracter
Funcia 06h - intrare/ieire direct fr ecou de la tastatur
125
Funcia 07h - intrarea direct fr ecou de la consol
Funcia 08h - citirea fr ecou de la tastatur
Funcia 09h - afiarea unui ir
Funcia 0Ch - intrarea prin zona tampon de la tastatur
Funcia 0Bh - verificarea strii iniiale
Funcia 0Ch - tergerea zonei tampon de intrare i citirea de la tastatur

1.3.2. Gestiunea memoriei

Dos reine care zone de memorie sunt alocate, scriind un bloc de control la nceputul
fiecrei zone de memorie. Acesta conine dimensiunea zonei de memorie, numele
procesului(dac exist) care o posed i un pointer la urmtoarea zon de memorie.
Funcia 48h - alocarea memoriei
Funcia 49h - eliberarea memoriei alocate
Funcia 4Ah - modificarea alocrii memoriei (SET BLOCK)
Funcia 58h - obinerea/selectarea strategiei de alocare

1.3.3. Gestiunea proceselor

DOS utilizeaz mai multe funcii pentru a ncrca, executa i termina


programele. Aplicaiile care utilizeaz aceste funcii pot gestiona alte programe.
Funcia 08h - pstrarea procesului
Funcia 08h - ncrcarea i/sau execuia unui program (EXEC)
Funcia 08h - terminarea procesului (EXIT)
Funcia 08h - obinerea codului de retur al procesului fiu (WAIT)
Funcia 08h - obinerea adresei PSP-ului
1.3.4.Gestiunea fiierelor i directoarelor

1.3.4.1.Tratarea fiierelor prin FCB-uri

Pentru anumite apeluri de funcii, versiunile DOS mai vechi necesitau pstrarea
unui FCB (cu diferite informaii) pentru fiecare fiier. Aceste funcii care trateaz
fiierele prin FCB-uri au fost pstrate pentru compatibilitate.
Funcia 00h - terminarea programului
Funcia 0fh - deschiderea unui fiier, utiliznd FCB
Funcia 10h - nchiderea unui fiier, utiliznd FCB
Funcia 11h - cutarea primului fiier potrivit, utiliznd FCB
Funcia 12h - cutarea urmtorului fiier potrivit , utiliznd FCB
Funcia 13h - tergerea unui fiier, utiliznd FCB
Funcia 14h - citirea secvenial, utiliznd FCB
Funcia 15h - scrierea secvenial, utiliznd FCB
Funcia 16h - crearea unui fiier, utiliznd FCB
Funcia 17h - redenumirea unui fiier, utiliznd FCB
Funcia 21h - citirea n acces direct, utiliznd FCB
Funcia 22h - scrierea n acces direct, utiliznd FCB
Funcia 23h - obinerea dimensiunii unui fiier, utiliznd FCB
Funcia 24h - poziionarea cmpului Articol n acces direct, utiliznd FCB
Funcia 26h - crearea unui PSP
126
Funcia 27h - citirea multipl n acces direct, utiliznd FCB
Funcia 28h - scrierea multipl n acces direct, utiliznd FCB

1.3.4.2.Tratarea fiierelor prin identificatoare logice

Noile versiuni DOS utilizeaz noiunea de identificator logic, care se poate referi
la un fiier, director sau dispozitiv. Exist 5 identificatoare logice standard, deschise
implicit.
Identificator Dispozitiv Observaii
logic de fiier standard
0 Intrare Poate fi redirectat din linia de comand.
1 Ieire Poate fi redirectat din linia de comand.
2 Eroare
3 Auxiliar
4 Imprimant

DOS trateaz un fiier ca un ir de octei, a crui structur este stabilit de


aplicaie. Citirea i scrierea necesit doar un pointer la o zon de date i un specificator
pentru numrul de octei de scris sau citit.
Urmtoarele funcii trateaz fiiere utiliznd identificatoare logice:
Funcia 28h - crearea unui fiier (CREAT)
Funcia 28h - deschiderea unui fiier, utiliznd identificator logic
Funcia 28h - nchiderea unui fiier, utiliznd identificator logic
Funcia 28h - citirea dintr-un fiier sau de la un dispozitiv, utiliznd identificator
logic
Funcia 28h - scrierea ntr-un fiier sau la un dispozitiv, utiliznd identificator logic
Funcia 28h - poziionarea pointerului de scriere/citire (LSEEK)
Funcia 28h - duplicarea identificatorului logic al unui fiier (DUP)
Funcia 28h - redirectarea unui identificator logic (FORCDUP)
Funcia 28h - crearea unui fiier temporar unic
Funcia 28h - crearea unui fiier nou

1.3.4.3. Partajarea fiierelor

Versiunea DOS 3.0 a introdus partajarea fiierelor, care permite ca mai multe
procese sa aib acelai fiier. Funciile care traverseaz aceasta problema au efect doar
dup execuia comenzii DOS SHARE, care instaleaz partajarea fiierelor.
Funcia 3Dh - Deschiderea unui fiier, utiliznd un identificator logic
Funcia 440hD - IOCTL: modificarea numrului de rencercri
Funcia 5Ch - Blocare/Deblocarea acestui fiier

1.3.4.4. Tratarea directoarelor

Versiunea DOS 2.0 a introdus directorul arborescent, cu adncimea limitat doar


de spaiul de stocare.
Tratarea directoarelor se face prin urmtoarele funcii :
Funcia 39h - crearea unui nou director (MKDIR)
Funcia 3Ah - tergerea unui director (RMDIR)
127
Funcia 3Bh - schimbarea directorului (CHDIR)
Funcia 41h - tergerea unui fiier (UNLINK)
Funcia 43h - obinerea/ Poziionarea atributelor fiierului (CHMOD)
Funcia 47h - obinerea directorului curent
Funcia 3Eh - gsirea primului fiier potrivit (FIND FIRST)
Funcia 3Fh - gsirea urmtorului fiier potrivit (FIND NEXT)
Funcia 56h - schimbarea intrrii n director
Funcia 57h - obinerea/ poziionarea datei i ore unui fiier

1.3.5. Gestiunea dispozitivelor

Funcia 44h conine mai multe subfuncii pentru operaiile cu dispozitive:


Funcia 4400h - IOCTL: obinerea informaiilor despre dispozitiv
Funcia 4401h - IOCTL: poziionarea informaiilor despre dispozitiv
Funcia 4402h - IOCTL: citirea de la un dispozitiv caracter
Funcia 4403h - IOCTL: scrierea de la un dispozitiv caracter
Funcia 4404h - IOCTL: citirea de la un dispozitiv bloc
Funcia 4405h - IOCTL: scrierea de la un dispozitiv bloc
Funcia 4406h - IOCTL: obinerea strii intrrii
Funcia 4407h - IOCTL: obinerea stri ieiri
Funcia 4408h - IOCTL: dispozitivul se poate nlocui?
Funcia 440Ch - IOCTL: cerere generic IOCTL pentru identificator logic
Funcia 440Dh - IOCTL: cerere generic IOCTL pentru dispozitive bloc
Funcia 440Dh - poziionarea parametrilor dispozitivului (cod 40h)
Funcia 440Dh - returnarea parametrilor dispozitivului (cod 60h)
Funcia 440Dh - formatarea /verificarea unei piste pe (cod 42h/62h) dispozitivul logic
Funcia 440Eh - IOCTL: obinerea dispozitivului logic
Funcia 440Fh - IOCTL: selectarea dispozitivului logic

1.3.6. Reele MicroSoft

Reelele MicroSoft constau dintr-un server i una sau mai multe staii de lucru.
DOS pstreaz o staie care indica drivere i dispozitive ale unei staii de lucru care au
fost redirectate ctre server.
Aceste reele sunt tratate de urmtoarele funcii:
Funcia 440Dh - IOCTL: dispozitivul logic se afl la distan?
Funcia 440Dh - IOCTL: identificatorul logic se afl la distan?
Funcia 5E00h - obinerea numelui mainii
Funcia 5E02h - poziionarea antetului imprimantei de reea
Funcia 5F02h - obinerea unei intrri in lista de redirectri
Funcia 5F03h - redirecionarea unui dispozitiv de reea
Funcia 5F04h - anularea redirecionrii unui dispozitiv de reea

1.3.7. Diferite operaii sistem

Restul funciilor sistem trateaz resurse diferite, cum ar fi drivere adrese i ceas.
Funcia 0Dh - resetarea discului
Funcia 2Eh - selectarea unitii implicite
128
Funcia 19h - obinerea unitii curente implicite
Funcia 1Ah - modificarea adresei zonei de transfer a discului (DTA)
Funcia 1Bh - obinerea informaiilor FAT pentru unitatea curent
Funcia 1Ch - obinerea informaiilor FAT pentru unitatea specifica
Funcia 25h - poziionarea vectorului de ntrerupere
Funcia 29h - analiza unui nume de fiier
Funcia 2Ah - obinerea datei sistem curente
Funcia 2Bh - poziionarea datei sistem curente
Funcia 2Ch - obinerea orei sistem curente
Funcia 2Dh - poziionarea orei sistem curente
Funcia 2Eh - poziionarea /repoziionarea indicatorului VERIFY
Funcia 2Fh - obinerea adresei DTA curente
Funcia 30h - obinerea numrului versiunii DOS
Funcia 33h - poziionarea/obinerea strii pentru CTRL/C
Funcia 35h - obinerea vectorului de ntrerupere
Funcia 36h - obinerea spaiului liber pe disc
Funcia 38h - obinerea/poziionarea informaiilor dependente de tar
Funcia 54h - verificarea stri indicatorului VERIFY
Funcia 59h - obinerea informaiilor suplimentare despre o eroare

1.4. Apeluri sistem vechi

Acestea au fost pstrate pentru compatibilitate cu versiunile DOS mai vechi. Toate au
ns corespondene noi i se recomand a nu fi utilizate dac nu este strict necesar.

2. Descrierea detaliat a funciilor sistem.

2.1. Funcia 00h Terminarea programului.


Funcia 00h realizeaz terminarea unui program i revenirea n DOS. Control
este trecut vectorului terminator din PSP (se iese in procesul printe). Vectorii de
ntrerupere DOS 22h-24h (Terminarea programului Ctrl/Break, Eroare critic) sunt
repoziionai la valorile salvate din PSP-ul procesului printe. Sunt golite toate zonele
tampon de fiiere.
Pentru apelul funciei, se folosesc registre:
AH ncrcat cu 00h;
CS ncrcat cu adresa de segment a PSP-ului programului terminat.
Funcia nu returneaz nimic.
Observaii:
1. Funcia este echivalent cu INT 20h.
2. n noile versiunii DOS, este de preferat utilizarea funciei 4Ch.
3. Pentru informaii suplimentare, a se vedea funciile 4Ch, 31h i INT 20h,
INT 27h.
Atenie:
nainte de apel, toate fiierele trebuie s fie nchise, altfel lungimea celor
modificate nu va fi nregistrat corect n director.

2.2. Funcia 01h Citirea cu ecou de la tastatur.

129
Funcia 01h realizeaz citirea unui caracter de la dispozitivul de intrare standard
(n mod normal tastatura) i afiarea lui la dispozitivul standard de ieire (n mod
normal ecranul). Dac se detecteaz Ctrl/Break sau Ctrl/C, se genereaz INT 23h.
Pentru apelul funciei, se folosesc regitri:
AH ncrcat cu 01h.
Funcia returneaz n registrul AL caracterul citit.
Observaii:
1. Pentru tastele speciale (cursor, taste funcionale F1-F12, ) sunt necesare
dou apeluri. Primul returneaz 0 n AL, al doilea codul ASCII extins.
2. Pentru informaii suplimentare, a se vedea funciile 06h, 07h, 08h, 0Ah, 0Ch.

2.3. Funcia 02h Afiarea unui caracter


Funcia 02h trimite la dispozitivul de ieire standard caracterul a crui cod
ASCII se afl n registrul DL. Caracterul backspace (ASCII 8) este tratat prin
deplasarea cursorului cu o poziie la stnga. Dac se detecteaz Ctrl/Break sau Ctrl/C, se
genereaz INT 23h, dup afiarea caracterului.
Pentru apelul funciei, se folosesc registrele:
AH ncrcat cu 02h;
DL ncrcat cu codul caracterului.
Funcia nu returneaz nimic.
Pentru informaii suplimentare, a se vedea funciile 06h, 09h.

2.4. Funcia 08h - Citirea fr ecou de la tastatur


Funcia 08h citete(ateapt) un caracter de la dispozitivul de intrare standard i
l returneaz n registrul AL. Nu se face ecou.
Dac se detecteaz Ctrl/Break sau Ctrl/C, se genereaz INT 23h.
Pentru apelul funciei, se folosete registrul:
AH ncrcat cu 08h.
Funcia returneaz n AL caracterul citit.
Observaii:
1. Valoarea 0 returnat n registrul AL la citire indic prezena unui caracter special
la intrare (cursor, cheie funcional, etc). Un al doilea apel va returna codul
extins.
2. Pentru informaii suplimentare, a se vedea funciile 01h, 06h, 07h, 0Ah, 0Bh,
0Ch.
2.5. Funcia 09h Afiarea unui ir
Funcia 09h trimite la dispozitivul de ieire standard un ir de caractere terminat
prin $ (caracterul $ nu este tiprit ), al crui deplasament fa de adresa segment din
registrul DS se afl n registrul DX. Caracterul backspace este tratat ca la funcia 02h.
Dac se detecteaz Ctrl/Break sau Ctrl/C, se genereaz INT 23h.
Pentru apelul funciei, se folosesc registrele:
AH ncrcat cu 09h.
DS:DX ncrcat cu pointer la ir.
Funcia nu returneaz nimic.
Observaii:
1. Sunt tiprite toate caracterele n afar de $ i de caracterele speciale.
2. Caracterul $ se poate tiprii cu funcia 40h.

130
3. afiarea caracterului linie nou se face n mod normal prin perechea
CR+LF (ASCII 13h urmat de ASCII 0Ah).
4. Pentru informaii suplimentare, a se vedea funciile 02h, 06h.

2.6. Funcia 0Bh Verificarea strii intrrii


Funcia 0Bh verific dac exist sau nu un caracter pregtit la dispozitivul de
intrare standard. Dac se detecteaz Ctrl/Break sau Ctrl/C, se genereaz INT 23h.
Pentru apelul funciei, se folosete registrul:
AH ncrcat cu 0Bh.
Funcia returneaz n registrul AL valoarea FFh dac exist un caracter pregtit
la dispozitivul de intrare standard, respectiv 0 n caz contrar.
Observaii:
1. Este o metod simpl de a verifica apariia unui Ctrl/Break n timpul unor
prelucrri de durat mare.
2. Se recomand utilizarea acestei funcii naintea apelului funciilor 01H, 07h
i 08h.
3. Pentru informaii suplimentare, a se vedea INT 16h i funciile 01h, 06h, 07h
i 08h.

2.7. Funcia 0Dh Resetarea discului


Funcia 0Dh golete toate zonele tampon de fiiere, fr a nchide fiierele.
Toate zonele tampon modificate sunt scris, i toate zonele tampon ale memoriei cache
interne sunt marcate ca fiind libere. Funcia poate fi folosit pentru tratarea lui
Ctrl/Break.
Pentru apelul funciei, se folosesc registrele:
AH ncrcat cu 0Dh.
Funcia nu returneaz nimic.
Observaii:
Pentru a avea certitudinea c n director este nregistrat lungimea corect
afiierelor modificate , se recomand nchiderea lor folosind una din funciile 10h sau
3Eh.

2.8. Funcia 0Fh Deschiderea unui fiier utiliznd FCB


Funcia 0Fh deschide n mod acces compatibilitatea unui fiier existent, utiliznd
un bloc de control al fiierului (FCB), cu deplasamentul fa de adresa segment din DS
specificat n registrul DX.
Pentru apelul funciei, se folosesc registrele:
AH ncrcat cu 0Fh.
DS:DX ncrcat cu un pointer la un FCB nedeschis.
Funcia returneaz n registrul AL valoarea 0 dac s-a gsit o intrare n director
pentru fiierul specificat, respectiv FFh n caz contrar.

2.9. Funcia 10h nchiderea unui fiier, utiliznd FCB


Funcia 10h nchide un fiier, utiliznd un bloc de control al fiierului, cu
deplasamentul fa de adresa segment din DS specificat n registrul DX.
Pentru apelul funciei, se folosesc registrele:
AH ncrcat cu 10h.
DS:DX ncrcat cu un pointer la un FCB deschis.
131
Funcia returneaz n registrul AL valoarea 0 dac s-a gsit o intrare n director
pentru fiierul specificat, respectiv FFh n caz contrar.
Observaii:
1. Orice fiier chiar nemodificat, se recomand a fi nchis, dac nu mai este
accesat.
2. n noile versiuni, este de preferat utilizarea funciei 3Eh.
3. Pentru informaii suplimentare, a se vedea funciile 0Fh, 3Eh i FCB.
Atenie!
ncercarea de a nchide un fiier inexistent poate avea defecte nedorite.

2.10. Funcia 13h tergerea unui fiier, utiliznd FCB


Funcia 13h terge un fiier, utiliznd un bloc de control cu deplasamentul fa
de adresa segment din DS specificat n registrul DX. Numele de fiier poate conine
caracterul ? , toate fiierele cu nume potrivit fiind terse.
Pentru apelul funciei, se folosesc registrele:
AH ncrcat cu 13h.
DS:DX ncrcat cu un pointer la un FCB nedeschis.
Funcia returneaz n registrul AL valoarea 0 dac s-a gsit o intrare n director
pentru fiierul specificat, respectiv FFh n caz contrar.
Observaii:
1. Fiierele read-only nu vor fi terse.
2. n noile versiuni nchise, nainte de a fi terse.

2.11. Funcia 16h Crearea unui fiier, utiliznd FCB


Funcia 16h creeaz un fiier, utiliznd un FCb a crui deplasament fa de
adresa de segment din registrul DS se afl n registrul DX. FCB-ul este completat la fel
ca la funcia 0Fh.
Pentru apelul funciei, se folosesc registrele:
AH ncrcat cu 16h.
DS:DX ncrcat cu un pointer la un FCB nedeschis.
Funcia returneaz n registrul AL valoarea 00h dac fiierul a fost creat,
respectiv FFh n caz contrar (nu exist intrare vid n director).
Observaii:
1. Fiierul este creat dac s-a gsit o intrare n director potrivit cu numele de
fiier specificat, sau dac s-a gsit o intrare vid n director. n ambele
cazuri, lungimea fiierului este poziionat la 0 (dac fiierul exist, el va fi
ters).
2. Fiierului i se poate asigna un atribut, utiliznd un FCB extins.
3. n noile versiuni, este de preferat utilizarea uneia din funciile 3Ch, 5Ah sau
5Bh.
4. Pentru informaii suplimentare, a se vedea funciile 0Fh, 3Ch, 5Bh i FCB.

2.12. Funcia 39h - Crearea unui nou director (MKDIR)


Funcia 39h creeaz un nou subdirector, utiliznd ca i nume de cale un ir
ASCIIZ (maxim 64 caractere) cu deplasamentul fa de adresa registru din DS aflat n
DX.
Pentru apelul funciei, se folosesc registrele:
AH ncrcat cu 39h;
132
DS:DX ncrcat cu un pointer la numele noului director
(d:\nume_cale\nume_director).
Dac dup retur indicatorul CF este poziionat, directorul nu a fost creat i
funcia returneaz n AX un cod de eroare:
3 nu s-a gsit calea specificat;
5 acces interzis (nu exist spaiu, exist deja un director cu acelai nume sau s-
a specificat un nume de unitate).
Observaii:
1. Dac se omite numele dispozitivului i/sau al cii, se vor considera cele
implicite.
2. Pentru informaii suplimentare, a se vedea funciile 3Ah, 3Bh, 47h, 59h.

2.13. Funcia 3Ah tergerea unui director (RMDIR)


Funcia 3Ah terge un subdirector, utiliznd ca i nume de cale un ir ASCIIZ
(maxim 64 caractere) cu deplasamentul fa de adresa registru din DS aflat n DX.
Pentru apelul funciei, se folosesc registrele:
AH ncrcat cu 3Ah;
DS:DX ncrcat cu un pointer la numele directorului
(d:\nume_cale\nume_director).
Dac dup retur indicatorul CF este poziionat, directorul nu a fost ters i
funcia returneaz n AX un cod de eroare:
3 nu s-a gsit calea specificat;
5 acces interzis (directorul nu este gol, calea nu specific un director valid sau
specific directorul rdcin);
6 calea specific directorul curent.
Observaii:
1. Dac se omite numele dispozitivului i/sau al cii, se vor considera cele
implicite.
2. Directorul trebuie s fie gol (s nu conin fiiere sau alte subdirectoare).
3. Directorul rdcin i cel curent nu pot fi terse.
4. Pentru informaii suplimentare, a se vedea funciile 39h, 3Bh, 47h, 59h.

2.14. Funcia 3Ch Crearea unui fiier (CREAT)


Funcia 3Ch creeaz un fiier cu numele dat de irul ASCIIZ
(d:\nume_cale\specif_fiier) avnd deplasamentul fa de adresa segment din DS n
DX, deschizndu-l n mod scriere/citire.
Pentru apelul funciei, se folosesc registrele:
AH ncrcat cu 3Ch;
DS:DX ncrcat cu un pointer la numele fiierului (ir ASCIIZ);
CX ncrcat cu atributul fiierului;
00h normal;
01h read-only
02h ascuns;
04h sistem.
Dac dup retur nu este poziionat indicatorul CF, funcia returneaz n AX
indicatorul logic al fiierului, respectiv un cod de eroare n caz contrar:
3 nu s-a gsit calea;
4 prea multe fiiere deschise;
133
5 acces interzis (director plin sau exist un fiier cu acelai nume, dar
cu atribute mai restrictive).
Observaii:
1. Dac fiierul specificat nu exist, el va fi creat i i se va asigura primul
identificator logic liber. Dac exist, el este trunchiat la lungime 0 (ters).
2. ncercarea de a deschide un fiier read-only va genera o eroare. Totui, se
pot scrie informaii ntr-un fiier creat n mod read-only.
3. Dac nu se specific unitatea i/sau calea, se vor lua cele implicite.
4. Pentru informaii suplimentare, a se vedea funciile 16h, 43h, 5Ah, 5Bh, 59h.

3. Funcii sistem in C++

Pentru utilizarea funciilor sistem n C++, cel mai adesea se folosete funcia
INTDOS care se gsete in biblioteca dos.h.
In continuare se dau exemple corespunztoare celor din limbajul de programare
PASCAL existente n curs.
Primul exemplu:
/*Program demonstrativ pentru apelarea functiilor DOS in CPP*/
/*Determinarea versiunii DOS -> functia 30 hexa */
#include <stdio.h>
#include <dos.h>
void main(void)
{
union REGS regs;
regs.h.ah = 0x30;
intdos(&regs, &regs);
/* Poate fi folosit echivalent: int86x
vezi exemplul pentru utilizare */
printf("\n Versiune MsDOS %d.%d",regs.h.ah,regs.h.al);
scanf("%c");
}

Al doilea exemplu:
/*Program demonstrativ pentru apelarea functiilor DOS in CPP*/
/*Citirea unei taste -> functia 1 hexa */
#include <stdio.h>
#include <dos.h>
void main(void)
{
union REGS regs;
regs.h.ah = 0x01;
intdos(&regs, &regs);
/* Poate fi folosit echivalent: int86x
vezi exemplul pentru utilizare */
printf("\n Tasta apasata %c",char(regs.h.al));
scanf("%c");
}

134
Un exemplu de afiare a unitii de disc curente.
#include <stdio.h>
#include <dos.h>
/* Get current drive as 'A', 'B', ... */
char current_drive(void)
{
char curdrive;
/* Get current disk as 0, 1, ... */
curdrive = bdos(0x19, 0, 0);
return('A' + curdrive);
}
int main(void)
{
printf("The current drive is %c:\n", current_drive());
return 0;
}

Referatele de laborator vor conine patru programe n care s-au folosit cte
dou funcii sistem la alegere. Funciile sistem din fiecare program vor fi diferite
de cele folosite n celelalte programe.

135
Sisteme de operare

Laborator 2
Emulatorul DOS
Emulatorul DOS numit DOSBox funcioneaz att sub sistemul de operare
Windows ct i Linux. Avantajul folosirii unui emulator este reprezentat de faptul ca
erorile comise nu afecteaz sistemul de programe instalate pe sistemul de calcul.
Emulatorul utilizeaz biblioteca SDL ceea ce permite portabilitatea simpl a
acestuia pe diverse platforme. De asemenea se emuleaz unitile centrale de tip 286 i
386 n modul real, Directory File Szstem/XMS/EMS.
Emulatorul se lanseaz cu ajutorul comenzii DOSBox i se afieaz fereastra
urmtoare.

n fereastra afiat se specific principalele comenzi necesare informrii asupra


emulatorului: HELP i INTRO. Se vor da aceste comenzi i se vor nota n referatele de
laborator informaiile primite.
Dup pornire, emulatorul se gsete pe discul virtual z care este de fapt
directorul din care s-a lansat programul. Pentru a folosi un alt director, de exemplu
directorul dos care se afl pe discul D:, acesta se va monta ca o unitate de disc
separat. S spunem ca aceast unitate va fi unitatea C. Comanda necesar este:

mount C D:\laborator\dos

Dac n directorul montat se afl alte directoare, acestea vor fi vzute n unitatea
virtual creat i vor putea fi folosite.
Pentru a iei din emulator, ne ntoarcem pe unitatea Z: dup care se scrie exit.
n continuare se prezint tastele care permit diferite comenzi asupra
emulatorului: ALT-ENTER Go full screen and back; CTRL-F5 Save a screenshot;
CTRL-F6 Start/Stop recording sound output to a wave file; CTRL-F7 Decrease
frameskip; CTRL-F8 Increase frameskip; CTRL-F9 Kill dosbox; CTRL-F10
136
Capture/Release the mouse; CTRL-F11 Slowdown emulation. CTRL-F12 Speedup
emulation.
n lucrarea de laborator se vor realiza mai multe operaii n emulatorul DOS:
- cu ajutorul fiierelor loturi de comenzi se vor realiza mai multe directoare i
se vor copia n mod selectiv fiiere n acestea;
- se vor crea fiiere loturi de comenzi la care s se poat da parametrii n linia
de comand;
- se vor testa diferite programe DOS instalndu-se n prealabil utilitarul
DOSVER.COM i se va realiza un tabel cu aplicaiile compatibile cu
DOSBox.

Referatele de laborator vor conine descrierea aplicaiei DOSBox, comenzile


permise de aceasta i modul de utilizare. De asemenea n referatele de laborator se
vor pune explicaii ale experimentelor efectuate i listingul programelor folosite.

137
Sisteme de operare

Laborator 3 + 4
Lucrul sub sistemul de operare UNIX
Sistemul de fiiere al sistemului de operare UNIX (Linux) este prezentat n curs,
n paragraful 6.4, la pagina 50.
Detalii despre comenzile folosite se gsesc n manualul UNIX (Linux).
Comenzi utilizate n lucrarea de laborator (aflate n directorul /bin):
cat concateneaz fiierele i le afieaz pe ecran;
chgrp schimb grupul proprietar al unui fiier;
chmod schimb permisiunile de acces la un fiier;
chown schimb utilizatorul i grupul de proprietari ai unui fiier;
cp copiaz coninutul unui fiier n alt fiier;
dd copiaz fiiere din intrare n ieire cu posibilitate de conversie;
ed ruleaz editorul de text standard (numit ed);
ln creeaz legturi ntre fiiere;
ls listeaz coninutul unui fiier;
mkdir creeaz un director;
mv mut (redenumete) un fiier;
pr afieaz un fiier la terminal, pagin cu pagin;
pwd afieaz directorul curent, de lucru;
rm terge un fiier;
rmdir terge directoare.

Comenzile care urmeaz sunt importante deoarece ele ajuta la descoperirea


informaiilor despre fiiere. Aceste comenzi pot fi folosite pentru a determina tipul
fiierelor i care aplicaie le-a creat. De asemenea, sunt o serie de comenzi care permit
vizualizarea /sau modificarea coninutului fiierelor text sau compararea acestora.

Combinaiile cu tasta CTRL

a. Control-c Intrerupe activitatea curent; este folosit n mod curent pentru a


ntrerupe sau pentru a termina un proces sau un output pe ecran prea lung
(rezultat de exemplu n urma utilizrii comenzilor man, cat sau ls). Control-c
este util i pentru a recupera promptul atunci cnd a fost introdus o linie de
comand nerecunoscut de sistem (de ex. $ls " ) i s-a returnat al doilea prompt.
b. Control-d Indic sfritul fiierului sau ieire (exit). Secvena Control-d este
utilizata pentru a iei din anumite programe, dintr-o fereastr terminal. Ca regul
general, cnd v mpotmolii i nu funcioneaz Control-c, ncercai Control-d.
c. Control-u terge ntreaga linie de comand. Utilizri frecvente ale
combinaiei Control-u:

1. O modalitate rapid de a terge o linie de comand atunci cnd v-ai


decis s nu o executai.
2. Dac suntei logai intr-un sistem la distan iar tasta backspace nu
funcioneaz.
138
3. Deoarece nu vedei parola atunci cnd o scriei, putei folosi Control-u
pentru a o terge i pentru a o scrie din nou de la nceput dac nu suntei
siguri ca ai scris-o corect.

Determinarea tipului fiierului cu comanda file


ntr-un sistem Linux se ntlnesc mai multe tipuri de fiiere. Tipul acestora poate
fi determinat utiliznd comanda file command. Acest tip de informaie poate fi
important atunci cnd un utilizator ncearc s deschid sau s citeasc un fiier.
Determinarea tipului fiierului poate fi de ajutor si pentru a determina programul
sau comanda de utilizat pentru a deschide un fiier. Rezultatul obinut de pe urma unei
astfel de comenzi este de cele mai multe ori unul dintre urmtoarele: Text, Executable
sau Data.

a. Fiiere Text Exemplele includ text ASCII sau text n englez,


comenzi text, i scripturi shell executabile. Acest tip de fiier
poate fi citit utiliznd comenzile cat sau more i poate fi editat
utiliznd un editor de text (precum vi sau pico).
b. Fiiere executabile sau Binare Exemplele includ fiiere ELF
sau alte executabile legate dinamic. Acest tip indica faptul ca
fiierul este un program sau o comand.
c. Fiiere de date Aceste fiiere sunt create de aplicaii care
ruleaz pe sistem. In unele cazuri se indic tipul fiierului; de
exemplu, document FrameMaker.

Vizualizarea continutului unui fisier cu comanda cat


Comanda cat (prescurtarea pentru concatenate) afieaz pe ecran coninutul unui
fiier text. Este utilizat adesea pentru fiiere text scurte precum fiierele scripturi
(similare cu fiierele batch). Dac fiierul ocupa mai mult de un ecran este de preferat sa
se recurg la comanda

Vizualizarea coninutului unui fiier cu comanda more


Comanda more este metoda preferat de afiare a fiierelor text deoarece
coninutul apare pe rnd pe cte un ecran. Dac informaia din fiier nu ncape pe un
singur ecran, apare n partea de jos a ecranului urmtorul mesaj (unde n reprezint
procentul din coninutul fiierului deja afiat): --More--(n%). Apsnd tasta Enter se
continu afiarea linie cu linie. Dac se apas Space atunci se va umple urmtorul ecran.

Vizualizarea poriunilor de fiier cu comanda head


Comanda head este utilizat pentru a afia primele n linii dintr-unul sau mai multe
fiiere text. Primele 10 linii sunt afiate automat dac se omite opiunea -n. Comanda
head este util atunci cnd dorii doar s verificai primele cteva linii dintr-un fiier
indiferent de ct de lung este acesta.
Vizualizarea portiunilor unui fisier cu comanda tail
Comanda tail se folosete pentru a afia ultimele n linii ale unui fiier. Ultimele
10 linii sunt afiate atunci cnd se omite opiunea -n. Comanda tail este util pentru
verificarea celor mai recente intrri n fiierele log foarte lungi.
Opiunea -n afieaz ultimele n linii ale fiierului.

139
Determinarea numrului de linii, cuvinte i caractere utiliznd comanda wc
Comanda wc (word count) poate fi utilizat pentru a afia numrul de linii,
cuvinte, octei ai unui fiier text.
Aceasta comanda este utila atunci cnd se ncearc determinarea caracteristicilor
unui fiier sau cnd se compar dou fiiere.

Determinarea diferenelor dintre fiiere cu comanda diff


Comanda diff (difference) este utilizat pentru a compara dou fiiere text i
pentru a determina diferenele dintre ele. Comanda wc poate fi utilizat pentru a
compara fiiere att timp ct ea numra linii,cuvinte i caractere. Este posibil ca dou
fiiere s aib acelai numr de linii, cuvinte i caractere ns s aib cuvinte i caractere
diferite. Comanda diff poate s descopere aceste diferene ntre fiiere: rezultatul acestei
comenzi va afia diferenele dintre dou fiiere text linie cu linie.
Exista dou opiuni pentru comanda diff : -i si -c. Opiunea -i ignora tipul
literelor (mari sau mici); de exemplu A este tot una cu a. Opiunea -c realizeaz o
comparaie detaliat i afieaz o list a diferenelor cu trei linii de context. Cu aceast
opiune, afiarea ncepe cu identificarea fiierelor implicate n comparaie i data la care
au fost acestea create.

n lucrarea de laborator se va studia structura de directoare a sistemului de


operare i coninutul acestora.
Se va crea un director utilizator i se vor experimenta comenzile. Se vor crea
fiiere loturi de comenzi (scripturi) i se vor manevra fiiere ntre directoare.

Referatele de laborator vor conine descrierea activitilor efectuate,


listarea comenzilor date i rezultatele obinute. De asemenea se va realiza o analiz
de maximum o pagin ntre modul de lucru cu fiierele n sistemul de operare DOS
i modul de lucru cu fiierele n sistemul de operare UNIX (Linux).

140
Sisteme de operare

Laborator 5
Intreinerea sistemului de operare Windows
Sistemul de operare Windows furnizeaz o serie de instrumente destinate
ntreinerii cum sunt: Backup, Disk Cleanup, Disk Defragmenter, Files and Settings
Transfer Wizard, Scheduled Tasks, Security Center, System Restore etc. care se
gsesc n All Programs\Accessories\System.
De asemenea pe reeaua Internet se gsesc o serie de programe utilitare destinate
ntreinerii sistemului.

n lucrarea de laborator se va realiza o schem (un scenariu) de ntreinere a


sistemului. Se vor utiliza unelte furnizate de sistemul de operare Windows i unelte
luate din reeaua internet.
Se va folosi meniul HELP pentru utilizarea acestor programe.

Referatele de laborator vor conine descrierea funcionrii programelor


utilitare destinate ntreinerii sistemului att pentru cele furnizate de sistemul de
operare Windows ct i pentru cele preluate de pe reeaua Internet. Se va descrie
schema de ntreinere elaborat la laborator.
Referatele de laborator vor conine un studiu comparativ, de maximum o
pagina, a diferitelor unelte destinate ntreinerii sistemelor de operare.

141
NTREBRI DE VERIFICARE
1. Alegei rspunsul cel mai potrivit din variantele prezentate mai jos. Sistemul de
operare DOS este:
A. Un sistem de operare cu multiprogramare cu administrarea neautomat a memoriei.
B. Un sistem de operare secvenial cu administrarea automat a memoriei.
C. Un sistem de operare secvenial cu administrarea neautomat a memoriei.

2. Alegei rspunsul cel mai potrivit din variantele prezentate mai jos. ncrcarea
i lansarea n execuie a sistemului de operare DOS presupune:
A. Existena sistemului de operare n memoria ROM a sistemului de calcul.
B. Existena pe un suport extern de memorie a programului bootstrap loader.
C. Apsarea combinaiei de taste Ctrl+Alt+Del.

3. Alegei rspunsul cel mai potrivit din variantele prezentate mai jos. Sub
sistemul de operare DOS memoria convenional are dimensiunea de:
A. orice dimensiune.
B. 1MB.
C. 640kB.

4. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este


corect (ADEVRAT) sau incorect (FALS). Utilizarea memoriei expandate
sub sistemul de operare DOS nu este posibil dect prin intermediul memoriei
superioare.
A. ADEVRAT
B. FALS

5. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este


corect (ADEVRAT) sau incorect (FALS). Funciile sistem ale unui sistem
de operare sunt aplicaii create de utilizator pentru extinderea posibilitilor
sistemului de operare.
A. ADEVRAT
B. FALS

6. Specificai care din noiunile de mai jos descriu cel mai bine comenzile
sistemului de operare DOS.
A. Comenzile sistemului de operare DOS sunt n numr fix i reprezint limbajul de
comand al acestuia.
B. Comenzile sistemului de operare DOS sunt similare funciilor sistem.
C. Comenzile sistemului de operare DOS sunt: comenzi interne i comenzi externe.

7. Alegei varianta de rspuns corect din cele prezentate mai jos. Sistemul de
operare UNIX este:
A. un sistem de operare secvenial, multiutilizator.
B. un sistem de operare cu divizare n timp (time-sharing), secvenial, multiutilizator.
142
C. un sistem de operare cu divizare n timp (time-sharing), multitasking,
multiutilizator.

8. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este


corect (ADEVRAT) sau incorect (FALS). Sistemul de operare UNIX nu
poate avea dect un singur interpretor de comenzi (SHELL).
A. ADEVRAT
B. FALS

9. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este


corect (ADEVRAT) sau incorect (FALS). Sistemul de operare UNIX
permite accesul mai multor administratori de sistem (superuser) simultan.
A. ADEVRAT
B. FALS

10. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este
corect (ADEVRAT) sau incorect (FALS). Sub sistemul de operare UNIX
fiecrui dispozitiv periferic i este asociat un fiier special.
A. ADEVRAT
B. FALS

11. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este
corect (ADEVRAT) sau incorect (FALS). Sub sistemul de operare UNIX
diferenierea ntre fiierele executabile i cele neexecutabile se face pe baza
extesiei numelui fiierului.
A. ADEVRAT
B. FALS

12. Alegei rspunsul cel mai potrivit din variantele prezentate mai jos, cu privire
la accesul la o unitate extern de memorie sub sistemul de operare UNIX.
A. Accesul la o unitate de memorie extern se face prin intermediul descriptorului logic
asociat acesteia.
B. Accesul la o unitate de memorie extern se face prin intermediul literei asociate
acesteia.
C. Accesul la o unitate de memorie extern se face prin operaia de montare a
volumului n arborele sistemului de fiiere.

13. Alegei varianta de rspuns care nu se refer la sistemul de operare Windows.


A. Sistemul de operare Windows este un sistem grafic.
B. Sistemul de operare Windows este un sistem multiproces.
C. Sistemul de operare Windows este un sistem monoproces.

14. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este
corect (ADEVRAT) sau incorect (FALS). Sub sistemul de operare
Windows nu este posibil rularea programelor DOS.
A. ADEVRAT
B. FALS

143
15. n Windows98 numele unui fiier poate avea maxim:
A. 8 caractere
B. 11 caractere
C. 256 caractere
D. 1024 caractere

16. Care este componenta din sistemul de operare Windows cu ajutorul creia se
poate verifica dac informaia pe suportul extern de memorie (HDD) este
corect:
A. ScanDisk
B. Defrag
C. Windows Update

144
BIBLIOGRAFIE
1. Punescu Florin, Analiza i concepia sistemelor de operare, Editura tiintific i
Enciclopedic, Bucureti, 1892
2. ***, Memento DOS, Editura Romanian Software Comp., Cluj-Napoca 1990
3. ***, DOS-5.0 ghid de referin al comenzilor, Editura ROMSOFT, Bucureti
1992
4. ***, Sistemul de operare DOS. Ghidul programatorului, Editura Romanian
Software Comp., Cluj-Napoca 1991
5. ***, Sistemul de operare DOS. Funcii sistem, Editura Romanian Software
Comp., Cluj Napoca 1991
6. ***, Sistemul de operare DOS. Comenzi, Editura Romanian Software Comp.,
Cluj-Napoca 1990
7. ***, Take a road trip with the MS-DOS 6 Upgarde, MICROSOFT
CORPORATION, 1993
8. Mranu Radu, Sistemele de operare MS-DOS si UNIX. Utilizare WINDOWS,
LOTUS, WordPerfect, Editura Tehnic, Bucureti, 1995
9. Pnoiu Alexandru, MS-DOS 5.0, Editura TEORA, Bucureti, 1993
10. Popa Cornel, Oprea Eugen, Utilizarea calculatoarelor personale. Sistemul de
operare MS-DOS 5.0, Editura ECCE, Bucureti 1992
11. Cecal Liana, Cele mai bune Tricks & Tips Windows, Editura Tehnic, Bucureti,
1995
12. Pilat Vladimir Florin, WINDOWS 3.1., Editura TEORA, Bucureti, 1993
13. Golcea Delia, Introducere in UNIX, Editura Memorii S.R.L. Timioara
14. Iosif Ignat, s.a., UNIX - gestionarea fiierelor, Editura Microinformatica, Cluj,
1992
15. Pilat Florin Vladimir, tefanescu Irina, Sorin D., UNIX, Editura TEORA, Bucureti,
1993
16. Oaualline Steve, Descoperii sistemul Linux, Editura TEORA, Bucureti, 1998
17. Schumer Larry, Negus Chris, Utilizare UNIX, Editura TEORA, Bucureti, 1998
18. Petzold Charles, Programare n Windows 95, Editura TEORA, Bucureti, 1998
19. Crawford Sharon, ABC Windows 95, Editura TEORA, Bucureti, 1998
20. Bott Ed, Utilizare Windows 95, Editura TEORA, Bucureti, 1998
21. Norton Peter, Ghid complet pentru Windows 95, Editura TEORA, Bucureti,
1998
22. Levine R. John, Young Margaret, UNIX pentru Toi, Editura TEORA, Bucureti,
1998
23. Sharon Crawford, Heil Salking, Windows 98 ABC, Editura TEORA, Bucureti,
1998

145

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