Documente Academic
Documente Profesional
Documente Cultură
FACULTATEA DE INGINERIE
DAN ROTAR
SISTEME DE OPERARE
Note de curs
Indrumar de laborator
CAPITOLUL 2
2. Administrarea informaţiei 11
2.1. Generalităţi 11
2.2. Reprezentarea şi existenţa obiectelor 11
2.3. Stabilirea căii de acces 12
2.4. Interfaţa cu administrarea resurselor 12
2.5. Structura unui proces 13
CAPITOLUL 3
3. Administrarea resurselor 14
3.1. Generalităţi 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. Generalităţi 23
4.2. Procese (taskuri) 24
4.3. Interacţiunea între procese 25
4.4. Resurse generalizate 26
CAPITOLUL 5
5. Sistemul de operare DOS 28
5.1. Generalităţi 28
5.2. Caracteristicile microprocesoarelor Intel din familia 80x86 28
5.2.1. Modurile de funcţionare 28
3
5.2.2. Registrele interne 29
5.2.3. Întreruperile 32
5.3. Încărcarea şi lansarea în execuţie a sistemului de operare DOS 33
5.4. Organizarea memoriei sub sistemul de operare DOS 34
5.5. Configurarea sistemului (fişierul CONFIG.SYS) 35
5.6. Fişierul AUTOEXEC.BAT 41
5.7. Organizarea şi specificarea fişierelor sub DOS 41
5.8. Comenzile sistemului de operare DOS 42
5.9. Funcţii sistem 43
5.10. Întreţinerea sistemului de operare DOS 47
CAPITOLUL 6
6. Sistemul de operare UNIX 48
6.1. Generalităţi 48
6.2. Structura generală a sistemului de operare UNIX 49
6.3. Accesul în sistem 50
6.4. Structura fişierelor sub sistemul de operare UNIX 51
6.4.1. Tipuri de fişiere 51
6.4.2. Structura arborescentă a sistemului de fişiere 52
6.4.3. Protecţia fişierelor. Drepturi de acces. 52
6.4.4. Montarea volumelor în arborele sistemului de fişiere 54
6.5. Operarea sub sistemul de operare UNIX 54
6.6. Instalarea sistemului de operare UNIX 56
6.7. Iniţializarea sistemului de operare UNIX 56
6.8. Sesiunea de lucru 57
6.9. Administrarea şi întreţinerea sistemului de operare UNIX 57
6.9.1. Administrarea sistemului 57
6.9.2. Întreţinerea şi securitatea sistemului 58
CAPITOLUL 7
7. Sistemul de operare Windows 59
7.1. Generalităţi 59
7.2. Utilizarea programelor DOS sub Windows 9x 60
7.3. Arhitectura sistemului de operare Windows 62
7.4. Descrierea suprafeţei de lucru (DESKTOP) 63
7.5. Întreţinerea sistemului de operare Windows 64
LABORATOR
A. INTRODUCERE ÎN SISTEME DE OPERARE
B. SISTEME DE OPERARE
BIBLIOGRAFIE 145
5
CAPITOLUL 1
1. Sistemul de operare. Definiţie. Caracteristici.
1.1. Generalităţi
Sistemul de operare este componenta software cea mai importantă a unui
calculator numeric. Din acest motiv, performanţele unui sistem de calcul sunt în mod
esenţial influenţate de performanţele sistemului de operare. În prezent există nu număr
foarte mare de sisteme de operare, fiecare dintre acestea prezentând anumite avantaje
pentru diferite situaţii de utilizare a unui sistem de calcul. Prezenţa unui sistem de
operare nu este absolut necesară pentru funcţionarea unui calculator. Sisteme de calcul
mai simple sau mai complexe pot funcţiona cu programe ce au doar rol de gestionare a
resurselor calculatorului, fără 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ă intervenţia operatorului decât 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 împărţite în două mari categorii: calculatoare de uz general şi
calculatoare specializate. Prin calculator de uz general înţelegem, în acest context, un
calculator numeric ce poate acoperi o gamă largă de aplicaţii şi la care dialogul cu
operatorul uman este consistent. Calculatoarele specializate au un domeniu îngust de
aplicare ele fiind destinate anumitor aplicaţii bine definite, având o funcţionare
autonomă şi la care intervenţia 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 apăsarea câtorva butoane şi aprinderea unor diode LED. Pentru creşterea
gradului de confort a utilizatorului, marea majoritate a imprimantelor actuale pot
dialoga prin intermediul interfeţei cu sistemul de calcul la care este conectată, utilizând
posibilităţile sistemului de operare a acestuia în scopul afişării unor mesaje sau
introducerea unor comenzi. Legătura dintre programul monitor ce se găseşte în memoria
microsistemului imprimantei şi sistemul de operare al calculatorului la care este
conectată imprimanta este asigurată de către programul driver. Pentru calculatoarele
specializate de complexitate mare există sisteme de operare de tip special care acoperă
necesităţile unor astfel de sisteme de calcul. În prezent se manifestă tendinţa 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
puţin două puncte de vedere. În primul rând, 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 făcându-se fără probleme
majore iar în al doilea rând, creşterea complexităţii şi a performanţelor sistemelor de
operare destinate calculatoarelor de uz general, precum şi apariţia î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.
Aplicaţii
Sistem de
BIOS Dialog cu
operatorul prin
Structura fizică intermediul unui
a calculatorului limbaj de
(hardware) comandă
operare
utilizator
7
1.2. Caracteristicile sistemelor de operare
Aşa cum s-a arătat, multitudinea sistemelor de operare existente în prezent,
impune stabilirea unor caracteristici pe baza cărora să poată fi realizată o evaluare a
performanţelor acestora şi a adecvanţei la scopul propus. Chiar dacă la momentul actual
există câteva sisteme de operare consacrate care domină piaţa, de multe ori raportul
performanţă/preţ nu este în favoarea acestora, în anumite domenii de aplicare. În acelaşi
timp, există încă o dispută aprinsă între specialişti, asupra criteriilor de performanţă
minime la care trebuie să răspundă un sistem de operare, în aşa fel încât acesta să fie
corespunzător unui anumit domeniu de aplicare. Punerea în evidenţă a anumitor atribute
ale sistemelor de operare constituie însă singura modalitate de a obţine anumiţi termeni
de comparaţie a sistemelor de operare, fără ca aceştia să aibă un caracter absolut şi
exhaustiv. În continuare sunt prezentate pe scurt câteva elemente ce pot fi luate în
considerare atunci când se face evaluarea unui sistem de operare.
1. Timpul de răspuns: exprimă durata intervalului delimitat de lansarea unei
cereri de serviciu şi achitarea acesteia de către sistem. Acest atribut are în
general două componente şi anume: timpul de aşteptare pentru ca cererea
respectivă să fie luată în consideraţie şi timpul de execuţie propriu-zis a
acestei cereri.
2. Simultaneitatea utilizării: măsoară gradul în care un sistem poate să lucreze
în acelaşi timp pentru mai mulţi utilizatori sau să execute mai multe lucrări
ale aceluiaşi utilizator. Un alt aspect al acestui atribut este capacitatea de a
funcţiona simultan, fie prin multiplexarea unui singur procesor intrare-ieşire,
fie prin existenţa mai multor procesoare de acest tip.
3. Eficienţa: măsoară proprietatea unui sistem de a folosi în mod optim
resursele de care dispune.
4. Partajarea şi protecţia: caracterizează nivelul la care utilizatorii au
posibilitatea să utilizeze în comun informaţia prezentă în sistem şi nivelul la
care pot să comunice între ei, în deplină siguranţă (în sensul evitării
accesului neautorizat şi/sau alterării intenţionate sau accidentale a
informaţiei).
5. Generalitatea, flexibilitatea, extensibilitatea: măsoară 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 fără
eforturi de proiectare şi programare suplimentare.
6. Fiabilitatea şi disponibilitatea: exprimă proprietatea unui sistem de operare
de a funcţiona fără defecte (pene, blocaje) un anumit timp şi de a evita goluri
în funcţionare din cauza defectării uneia sau mai multor componente ale sale.
Acest atribut poate fi interpretat fie prin necesitatea de a avea o fiabilitate
totală (obţinută prin prevederea unor componente cu un grad înalt de
siguranţă în funcţionare şi dublarea lor), fie prin toleranţa la defecţiuni care
asigură degradarea lentă a performanţelor (fără a scădea sub anumite limite
acceptate).
7. Transparenţa şi vizibilitatea: exprimă pe de o parte proprietatea unui
sistem de a face invizibil utilizatorului ceea ce se află sub interfaţa de
utilizare care i se oferă şi pe de altă parte, capacitatea lui de a permite
utilizatorilor săi să obţină anumite informaţii despre modul cum el lucrează,
8
informaţii de care în mod teoretic ei nu au nevoie pentru a beneficia de o
utilizare completă, însă care ar putea să-i ajute la obţinerea unei utilizări mai
eficiente.
o sisteme secvenţiale;
o sisteme cu multiprogramare;
o sisteme cu prelucrare multiplă;
o sisteme în timp real.
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 consideraţie. Majoritatea sistemelor existente,
analizate prin prisma obiectivelor pe care le urmăresc, pot fi încadrate în mai multe
clase, dar caracteristicile lor sunt mai mult sau mai puţin reprezentative pentru aceste
clase.
O trecere în revistă a sistemelor de operare existente scoate în evidenţă o
varietate de obiective urmărite î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 numără în primul rând maximizarea
eficienţei şi generalităţii sistemului, precum şi minimizarea erorilor sistemului de
operare (ca obiective primare) şi în al doilea rând maximizarea transparenţei sistemului
şi a securităţii datelor (ca obiective secundare). Obiectivele comerciale vizează
maximizarea satisfacţiei utilizatorilor şi a interesului potenţial pentru alţi utilizatori. În
ceea ce priveşte sistemele interactive, se menţionează minimizarea timpului de răspuns,
prelucrarea directă a datelor, maximizarea posibilităţilor de acces la distanţă şi
optimizarea controlului comunicaţiilor. În cazul sistemelor în timp real trebuie
prevăzută posibilitatea actualizării şi/sau regenerării directe a sistemului, ceea ce
constituie exemple de obiective specifice. Printre obiectivele diverse se aminteşte
minimizarea efortului de concepţie-realizare a sistemului.
Indiferent de obiectivele unui sistem de operare, acesta trebuie să pună la
dispoziţia utilizatorului mijloace prin care acesta să poată crea, stoca, regăsi (pentru a
prelucra) şi distruge informaţia.
10
CAPITOLUL 2
2. Administrarea informaţiei
2.1. Generalităţi
..
. D
identificator obiect/reper
.. Ri
.
obiect
Prin compunerea funcţiei de acces D cu una sau mai multe funcţii de acces Ri, se
obţine calea de acces la un obiect, care permite, la un moment dat, trecerea de la
identificator la obiectul propriu-zis.
Memoria, ca suport al informaţiei, poate fi privită la acest nivel ca un şir de
amplasamente caracterizate în orice moment printr-un conţinut. Un amplasament poate
avea o dimensiune oarecare fiind accesibil ca un tot şi transparent pentru utilizator. Un
11
proces (care materializează execuţia unui program) desemnează un amplasament printr-
un nume folosit de unitatea centrală pentru a citi şi eventual modifica conţinutul acestui
amplasament. În continuare, pentru simplitate, prin proces se va înţelege atât un
program (ca entitate într-un sistem de calcul) cât şi execuţia acestuia, în funcţie de
context.
Sistemul trebuie să asigure transformarea reprezentării externe a unui obiect şi a
funcţiilor de acces asociate în reprezentarea internă şi funcţiile de acces
corespunzătoare, după cum urmează. Reprezentarea externă este convertită în cuplul
(amplasament, conţinut), 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, conţinut) se poate deplasa în memoria fizică şi, în general, schimbarea
adresei fizice a unui amplasament nu afectează numele lui.
Un obiect căruia i s-a asociat o cale de acces este numit accesibil. Atunci când
un obiect este accesibil mai multor utilizatori, eventual cu drepturi diferenţiate, se spune
că obiectul respectiv este partajat.
Ansamblul obiectelor accesibile unui proces se împart în două părţi disjuncte:
obiectele private ale procesului şi cele potenţial partajabile.
Este important de remarcat faptul că în unele situaţii, acelaşi nume permite
accesul la reprezentări diferite; este cazul proceselor reentrante la care, în timpul
execuţiei, un nume conduce la reprezentări diferite, proprii condiţiilor de execuţie a
fiecărui proces în parte.
Perioada de timp în care un obiect este accesibil se numeşte durată de existenţă a
acestuia.
13
CAPITOLUL 3
3. Administrarea resurselor
3.1. Generalităţi
Activitatea unui proces este precedată de anumite acţiuni menite să asigure
prezenţa în memoria centrală a informaţiilor care îl definesc şi disponibilitatea unui
procesor (unităţi centrale). Îndeplinirea acestor deziderate presupune existenţa unor
entităţi logice (module executabile, structuri de date etc.) şi fizice (memorie principală,
dispozitive periferice, procesor etc.), indispensabile execuţiei, care constituie resursele
procesului. De cele mai multe ori cantitatea de resurse solicitată la un moment dat
depăşeşte disponibilităţile unei configuraţii de calcul. În consecinţă, sistemul de operare
trebuie să-şi asume responsabilitatea repartizării, utilizatorilor săi, a resurselor de care
dispune. Componentele sistemului de operare prin care se materializează funcţiunea de
administrare a resurselor se numesc alocatoare. Realizarea alocatoarelor presupune
definirea unei strategii globale a cozilor de aşteptare organizate pentru diferite tipuri de
resurse, existenţa unui ansamblu de informaţii care permit reprezentarea resurselor şi
organizarea cozilor asociate, precum şi stabilirea evenimentelor care guvernează
legăturile dintre aceste cozi.
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
15
CERERI
Pentru a stabili strategiile de alocare ale diverselor resurse ale unui sistem de
calcul trebuie identificate atât originea (sursa) cererilor de alocare cât ş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 unităţii centrale. Cererile explicite de
alocare sunt făcute în general prin instrucţiuni ale limbajului de comandă.
Totalitatea cererilor (explicite şi implicite) de resurse care trebuie satisfăcute la
un moment dat constituie încărcarea sistemului.
ALOCARE
Strategii cu un pas
În acest caz, după alocarea unităţii centrale unui proces, aceasta nu mai este
eliberată decât după terminarea execuţiei lucrării. În continuare sunt prezentate principalele
tipuri de strategii cu un pas.
În esenţă această strategie aşa cum arată şi numele se bazează pe principiul: primul
venit, primul servit. Alocatorul administrează o coadă de aşteptare simplă; fiecare lucrare
nouă este introdusă în şirul de aşteptare şi i se alocă unitatea centrală după ce toate
predecesoarele sale, în timp, şi-au terminat execuţia (fig. 3.2).
17
Această strategie administrează o coadă de aşteptare de tip stivă astfel încât ultima
lucrare intrată în sistem este lansată în execuţie prima, din momentul în care procesorul
devine disponibil (fig. 3.3).
alocare ieşire
UNITATE
0 1 2 ... n n+1 CENTRALĂ
intrare
n+2
Fig. 3.3. Strategia LIFO
Dacă intervalele între sosirile noilor lucrări sunt scurte în raport cu duratele de
execuţie ale lucrărilor deja existente în şirul de aşteptare, acestea riscă să aştepte în mod
nedefinit până la obţinerea unităţii centrale.
alocare ieşire
UNITATE
d0> d1> ... dn> dn=1 CENTRALĂ
intrare d2>
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 diferenţa că, prioritatea alocată lucrării se referă la termenul impus pentru
terminarea acesteia şi nu la durata lucrării.
18
Strategii cu mai mulţi paşi
Strategiile într-un singur pas pot prezenta anumite inconveniente în special în ceea
ce priveşte durata de execuţie a anumitor programe. Din acest motiv, în strategiile cu mai
mulţi paşi, un proces nu este executat integral atunci când i se alocă unitatea centrală. În
aceste strategii fiecărui proces i se alocă o cuantă de timp după care procesul este
reintrodus în coada de aşteptare. În acest fel într-un anumit interval de timp (după un
număr de cuante de timp), tuturor proceselor din coada de aşteptare li se va aloca unitatea
centrală. Astfel de sisteme se numesc cu divizare în timp (time-sharing)
Această strategie este similară strategiei FIFO, din punct de vedere al administrării
cozii de aşteptare, în schimb alocarea procesului este făcută numai pe durata unei anumite
cuante de timp c.
retur
alocare
intrare n+1 n ... 2 1 0
UNITATE
CENTRALĂ ieşire
n+2
Fig. 3.5. Strategia carusel simplu
t ≤ n⋅c
Se garantează prin această metodă că orice lucrare este servită la capătul unui
interval de timp finit: momentul alocării procesorului unui proces nu mai depinde de timpii
estimaţi de execuţie ai lucrărilor sosite înainte.
Parametrul c este fixat în funcţie de tipul şi obiectivele sistemului de operare.
Strategia-carusel multiplu
19
retur
cm
c1
alocare UNITATE
ieşire
CENTRALĂ
c0
intrare
3.4. Concluzii
Prezentarea făcută pentru strategiile de alocare a unităţii centrale nu este exhaustivă
fiind doar un mod general de prezentare a posibilităţilor de abordare a acestei probleme.
Este important de reţinut faptul că durata unui proces şi prioritatea acestuia, în cele mai
multe strategii, sunt noţiuni care interferă, condiţionându-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 când la strategia SXFS durata procesului
este esenţială. Strategiile într-un singur pas se referă de fapt la prioritatea alocată
procesului în sensul că, procesul care va intra imediat în execuţie primeşte prioritatea
maximă.
De asemenea, strategiile în mai mulţi paşi se pot defini prin modul de alocare a
priorităţilor. Astfel, algoritmul carusel-simplu alocă priorităţile în felul următor: algoritmul
acordă prioritate maximă lucrării care are timpul cel mai lung de aşteptare faţă de ultima
cuantă de timp acordată. Lucrările sunt aşezate în coadă în ordinea priorităţilor. După ce o
lucrare este servită o cuantă de timp, ea capătă prioritate minimă iar celelalte au prioritatea
crescută cu 1. O lucrare nou sosită capătă prioritate maximă.
În general, sistemele de operare moderne permit modificarea dinamică sau statică
atât a cuantelor de timp cât şi a priorităţilor obţinându-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
funcţie de aplicaţie, adoptarea unei strategii simple poate fi mai eficientă din punct de
vedere al execuţiei aplicaţiilor decât adoptarea unei strategii complexe. În acelaşi timp
trebuie acordată atenţie şi cuantei de timp utilizate în cadrul strategiilor în mai mulţi paşi.
O cuantă de timp mică nu duce întotdeauna la eficientizarea sistemului pe când o cuantă de
timp mare poate duce la creşterea nepermis de mult a timpului de execuţie a unor lucrări.
20
3.5. Administrarea memoriei
Administrarea memoriei sistemului de calcul se referă atât la administrarea
memoriei principale (memoria internă) cât şi la administrarea memoriei auxiliare (memoria
externă).
Administrarea neautomată
Maşina 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 informaţie între memoria principală şi cea secundară.
Partiţii fixe
21
Partiţii variabile
Administrarea automată
22
CAPITOLUL 4
4. Controlul paralelismului
4.1. Generalităţi
De cele mai multe ori, pentru utilizarea eficientă a sistemului de calcul (şi în
special atunci când este vorba de aplicaţii în timp real), este necesară introducerea
paralelismului.
Aplicaţiile în timp real sunt acele aplicaţii la care timpul în care se obţine rezultatul
este suficient de scurt încât el să fie utilizabil în timpul desfăşurării aplicaţiei respective (on
line).
O aplicaţie de timp real este caracterizată de operaţii paralele (necesar a se afla în
execuţie în acelaşi moment), asincrone, comandate de stimuli externi.
Pentru programele care se execută sau vor fi executate în paralel se mai foloseşte şi
denumirea de task. Un proces poate fi alcătuit din mai multe taskuri ce pot fi rulete în
paralel în aşa fel încât viteza de execuţie a procesului să crească. Acolo unde ambiguitatea
este exclusă (având în vedere şi faptul că poate exista echivalenţa între un proces şi un
task) pentru task se va folosi numele de proces.
Planificarea taskurilor paralele pentru execuţie, precum şi comutarea controlului
procesorului de la un task către altul este funcţia 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 rândul lui a sistemului de operare), prin intermediul căruia este
controlat paralelismul pe sistemul de calcul.
Comunicaţia între task-uri sau a unui task cu exteriorul se realizează doar prin
intermediul dispecerului.
Executivul permite excluderea mutuală între taskuri la apariţia unui conflict pe o
resursă comună cât şi sincronizarea taskurilor pe un eveniment extern (asincron) fie chiar
între procese.
Dispecerul preia controlul sistemului în următoarele cazuri:
23
4.2. Procese (taskuri)
Clasificare
Stările proceselor
Într-un sistem de calcul procesele se pot găsi în una din stările următoare:
24
o descriptori dinamici - rezervaţi de către dispecer în zona RAM alocată acestuia:
o procesele a căror activitate poate ocupa la un moment dat mai multe cuante de
timp, dar se doreşte să fie tratate "simultan" cu alte procese cu prioritate mai mică;
o procesele care funcţionează "permanent" (care nu se blochează pe resurse sau prin
terminarea activităţii).
o excluderea mutuală - care arbitrează accesul simultan al mai multor taskuri la una
şi aceeaşi resursă a sistemului;
o transferul de mesaje între taskuri;
Sincronizarea
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 aşteptare destinată să primească procesele care
eşuează în încercarea lor de a trece de acest semafor.
Excluderea mutuală
o utilizarea exclusivă (la un moment dat numai un proces se poate afla în secţiunea sa
critică pentru aceeaşi resursă);
o evitarea blocajului reciproc (dacă mai multe procese sunt blocate în aşteptarea
aceleiaşi resurse critice şi aceasta nu este ocupată, atunci unul dintre aceste procese
trebuie să fie capabil să intre în secţiunea sa critică la capătul unui interval finit de
timp);
o evitarea dependenţelor inutile (dacă un proces este blocat în afara unei secţiuni
critice, acest blocaj nu trebuie să împiedice intrarea unui alt proces în secţiunea sa
critică);
o uniformitatea soluţiei (soluţia trebuie să fie identică pentru toate procesele, în
sensul că nici un proces nu trebuie să joace un rol privilegiat în scopul obţinerii
soluţiei căutate)
În sensul celor prezentate mai sus, pentru utilizarea unei resurse critice se poate
utiliza metoda aşteptării active care presupune introducerea unei variabile care să indice
eliberarea resursei critice şi posibilitatea procesului de a intra în secţiunea critică.
26
Semafoare
Cutii poştale
Buffere de transfer
27
CAPITOLUL 5
5. Sistemul de operare DOS
5.1. Generalităţi
Conform celor prezentate în capitolele anterioare putem spune că sistemul de
operare DOS (Disk Operating System) este un sistem de operare secvenţial cu
administrarea neautomată a memoriei (nu conţine mecanisme de acces a memoriei
virtuale). Aşa cum sugerează şi numele acestui sistem de operare, una din sarcinile
importante ale acestuia este gestionarea informaţiei pe disc. La un moment dat, pe un
calculator pe care rulează sistemul de operare DOS poate lucra un singur utilizator iar
aplicaţiile acestuia vor fi executate succesiv (secvenţial) pe maşina respectivă. Acest
sistem de operare este dedicat exclusiv calculatoarelor de tip PC (Personal Computer)
dotate cu microprocesor Intel sau compatibile. Importanţa acestui sistem de operare
rezidă în faptul că lucrează în modul real al microprocesorului ceea ce permite activităţi
de depanare şi configurare a sistemului care nu sunt posibile în alt mod.
MODUL REAL. Acest mod este cel în care se intră după iniţializarea
microprocesorului. De regulă, sub sistemul de operare DOS microprocesorul se află în
modul real. Specific acestui mod de funcţionare este faptul că microprocesorul nu poate
rula decât un singur program odată. Există posibilitatea rulării programelor sub sistemul
de operare DOS şi în alte moduri ale microprocesorului, dar acest lucru necesită extensii
ale sistemului de operare (existând în acest sens programe specifice).
30
Conţinutul registrului SS defineşte 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 conţinutul registrului SS).
Conţinutul registrului ES defineşte un segment de date suplimentar (extra
segment). Referirile la date în instrucţiuni pe şiruri de octeţi care utilizează registrul DI
sunt considerate utilizează în mod implicit segmentul referit de registrul ES.
Microprocesoarele începând cu 80386 posedă două registre de segment
suplimentare, notate FS şi GS, care pot fi folosite în aceleaşi condiţii ce şi ES.
Indicatorii de condiţii sunt utilizaţi pentru a memora informaţii referitoare la
rezultatul unor operaţii aritmetice sau logice (AF, CF, OF, PF, SF, ZF) şi pentru
memorarea unor informaţii de control pentru microprocesor (DF, IF, TF). Aceşti
indicatori de condiţii sunt biţii registrului indicatorilor de condiţii, F (Flags), cu
dimensiunea de 16 biţi.
Indicatorul AF (Auxiliary Carry) ia valoarea unu dacă în execuţia unei
instrucţiuni care poziţionează acest indicator a apărut 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 execuţia unei instrucţiuni care
poziţionează acest indicator a apărut un transport din sau s-a făcut un împrumut în
rangul cel mai semnificativ. De asemenea instrucţiunile de rotire a conţinutului unui
registru pot să poziţioneze acest indicator.
Indicatorul OF (Overflow) este poziţionat în unu dacă în execuţia unei
instrucţiuni aritmetice cu semn a apărut o depăşire, adică s-a obţinut un rezultat care nu
poate să fie memorat corect în destinaţia stabilită de către instrucţiune.
Indicatorul SF (Sign) ia valoarea unu dacă din execuţia unei instrucţiuni care
poziţionează acest indicator s-a obţinut un rezultat pentru care bitul cel mai semnificativ
este unu.
Indicatorul PF (Parity) este poziţionat în unu dacă din execuţia unei instrucţiuni
care poziţionează acest indicator s-a obţinut un rezultat pentru care octetul cel mai puţin
semnificativ are un număr par de biţi cu valoare unu.
Indicatorul ZF (Zero) este unu dacă în execuţia unei instrucţiuni care
poziţionează acest indicator s-a obţinut rezultatul zero.
Indicatorul DF (Direction) indică direcţia de parcurgere a şirurilor de octeţi în
cazul instrucţiunilor pe şiruri de octeţi. 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 execuţiei instrucţiunilor în
regim pas cu pas în scopul depanării programelor. Dacă acest indicator are valoarea
unu, după fiecărei instrucţiuni se va genera un semnal de întrerupere intern (pe nivelul
1). Execuţia secvenţei de tratare a acestei întreruperi se face cu indicatorul TF având
valoarea zero.
31
5.2.3. Întreruperile
32
LSB Segment INT0 00000h
MSB Segment INT0 00001h
În mod normal, programele rulate sub DOS “văd” doar memoria de bază şi nu
pot fi rulate decât 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 încărcarea sistemului de
operare.
În figura 5.2 este prezentat modul de organizare al memoriei sub sistemul de
operare DOS.
34
Memorie extinsă
Memorie superioară
Fereastră
640kB Memorie
expandată
Memorie disponibilă
Comanda BREAK
BREAK=ON | OFF
Comanda BUFFERS
BUFFERS=xx
unde:
xx – este un număr între 1 şi 99 care reprezintă numărul zonelor tampon de disc pe care
le alocă sistemul la lansare.
36
Comanda COUNTRY
COUNTRY=xxx[,[yyy][,d:]nume_fişier]]
unde:
Comanda DEVICE
DEVICE=[d:][cale]nume_fişier[.ext]
Această comandă permite specificarea unui nume de fişier care conţine un driver
de intrare/ieşire. În timpul încărcării, sistemul de operare încarcă fişierul în memorie, ca
o extensie a sa şi dă controlul acestui driver.
Driverele standard încărcate 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 DOS
Comanda DOS permite încărcarea unei porţiuni din sistemul de operare care în
mod normal este rezident în memoria convenţională, în memoria înaltă. Acest lucru
duce la eliberarea memoriei convenţionale care va putea fi utilizată de către aplicaţii.
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:
unde:
/d:nr - specifică numărul 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 aşa mai
departe;
/t:pista - specifică numărul de piste pe o faţă (1-999). Valoarea implicită este de 80 de
piste pe o faţă;
/s:sector - specifică numărul de sectoare pe pistă (1-99). Valoarea implicită este de
9 sectoare pe pistă.
/h:cap - specifică numărul de capete de citire/scriere ale unităţii (1-99). Valoarea
implicită este 2;
/c -este utilizabil numai pentru unităţi de disc flexibil care suportă detecţia
schimbării dischetei (change line);
/n - specifică dacă echipamentul fizic este de tip amovibil;
/f:factor - specifică tipul unităţii.
Comanda FCBS
FCBS=m,n
Comanda FILES
Comanda FILES permite deschiderea mai multor fişiere de către o aplicaţie fără
utilizarea blocului de control al fişierului (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
INSTALL=[d:][cale]nume_fisier[parametri]
Comanda LASTDRIVE
LASTDRIVE=literă
Comanda REM
REM comentariu
Comanda SHELL
SHELL=[d:][cale]nume_fişier[.ext][param1][param2]
Comanda STACKS
39
STACKS=n,s
Comanda SWITCHES
SWITCHES= /F /K /N /W
/F – duce la anularea celor două secunde cât timp este afişat mesajul: Starting MS-DOS;
/W – indică faptul că fişierul WINA20.386 a fost mutat din directorul rădăcină (utilizat
la versiunea Windows 3.0).
Informaţii suplimentare asupra modului de utilizare a comenzilor utilizate în
fişierul CONFIG.SYS se pot obţine cu ajutorul comenzii HELP. În figura 5.3 este
prezentat ecranul afişat la introducerea comenzii HELP.
În continuare se prezintă un exemplu de conţinut al unui fişier 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
41
Zona care ocupă cel mai mult spaţiu este zona fişierelor, care conţine fişiere
grupate în directoare. De menţionat că, în cazul unui disc sistem, primele două fişiere
din această zonă sunt fişierele sistem.
Numele unui fişier este alcătuit din două părţi: numele propriu-zis care poate să
aibă maxim 8 caractere şi extensia care poate să aibă maxim 3 caractere, cele două părţi
fiind separate de caracterul punct (forma generica este
xxxxxxxx.yyy, unde x este numele iar y extensia).
Fişierelor se pot asocia următoarele atribute: Read-only,
Hidden, Archive, System.
Primul director, creat automat pe disc de către
sistemul de operare, se numeşte director rădăcină şi are
numele “\”. Toate directoarele (cu excepţia directorului
rădăcină) sunt de fapt fişiere 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. Cerinţele faţă de numele directoarelor sunt aceleaşi
ca şi faţă de numele fişierelor. De obicei, numele
directorului se indică fără extensie. Conform acestei
organizări, structura ierarhică a fişierelor şi
Fig. 5.4. Structura directoarelor din sistemul de operare DOS este sub
arborescentă a directoarelor formă arborescentă (figura 5.4).
Atunci când este apelat un fişier, de regulă
trebuie indicată toată calea de căutare a acestuia, începând din directorul rădăcină. Un
exemplu de apelare a unui program ar putea fi:
C:\DOS\help.exe
Fişiere speciale
42
memorate pe disc, care pentru a fi executate trebuie mai întâi încărcate în memorie.
Acest mod de împărţire a comenzilor permite extinderea nelimitată a posibilităţilor
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 următoare.
O comandă poate avea o serie de parametri sau opţiuni (specificaţi cu semnul “/”
în faţa opţiunii). De exemplu, pentru a obţine explicaţii sumare cu privire la comanda
dir, se va scrie:
DIR /?
43
2. Gestiunea memoriei
2.1. Alocarea memoriei
2.2. Eliberarea memoriei alocate
2.3. Modificarea alocării memoriei
2.4. Obţinerea/Selectarea strategiei de alocare
3. Gestiunea proceselor
3.1. Păstrarea procesului
3.2. Încărcarea şi/sau execuţia unui program (EXEC)
3.3. Terminarea procesului (EXIT)
3.4. Obţinerea codului de retur al procesului fiu (Wait)
3.5. Obţinerea adresei PSP-ului
5. Partajarea fişierelor
5.1. Deschiderea unui fişier, utilizând identificatorul logic
5.2. IOCTL: Modificarea numărului de reîncărcări
5.3. Blocarea/deblocarea accesului la un fişier
6. Tratarea directoarelor
6.1. Crearea unui nou director
6.2. Ştergerea unui director
6.3. Schimbarea directorului
6.4. Ştergerea unui fişier
6.5. Obţinerea/poziţionarea atributelor fişierului
6.6. Obţinerea directorului curent
6.7. Găsirea primului fişier potrivit
6.8. Găsirea următorului fişier potrivit
6.9. Schimbarea intrării în director
6.10. Obţinerea/poziţionarea datei şi orei unui fişier
7. Gestiunea dispozitivelor
7.1. Obţinerea informaţiilor despre dispozitiv
7.2. Poziţionarea informaţiilor 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. Obţinerea stării intrării
7.8. Obţinerea stării ieşirii
8. Reţele Microsoft
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.
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.
program unitate_curenta;
uses dos;
var registre:registers;
begin
registre.ah:=$19;
msdos(registre);
with registre do
writeln('unitatea curenta:',al);
readln
end.
program data_curenta;
uses dos;
const
luni:arrayş1..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,' ',lunişreg.dhţ,' ',reg.cx);
readln;
end.
47
CAPITOLUL 6
6. Sistemul de operare UNIX
6.1. Generalităţi
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
execuţie, prin strategia de alocare a resurselor de calcul, succesiv, câte o cuantă de timp,
până la execuţia completă.
Sistemele multitasking sunt sistemele care pot executa mai multe programe
simultan, având implementată o anumită strategie de alocare a resurselor.
Sistemele multiutilizator sunt sistemele ce permit lucrul mai multor operatori
simultan având implementate mecanisme de protecţie şi de partajare a accesului la
resursele sistemului.
O altă caracteristică a sistemului de operare UNIX este faptul că promovează
modularitate permiţând extinderea simplă a funcţiilor sistemului de operare ceea ce
duce la creşterea continuă a performanţelor acestuia. De asemenea, pentru operaţiile de
intrare/ieşire sunt utilizate aşa-numitele intrări/ieşiri generalizate prin asocierea a câte
unui fişier de tip special fiecărei intrări/ieşiri. În scopul realizării 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ă, gestionându-se spaţiul afectat execuţiei proceselor şi controlându-se timpul de
acces la procesele în aşteptare.
Pentru interacţiunea 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ă interfaţa între utilizator şi sistemul de calcul. Această componentă reprezintă
un interpretor de comenzi care citeşte liniile introduse de către utilizator şi determină
execuţie comenzilor solicitate. Printre cele mai populare componente SHELL, se poate
menţiona Bourne SHELL (sh), Berkeley C SHELL (csh) şi Korn SHELL (ksh). Aceste
SHELL-uri sunt orientate pe text. Pentru facilităţi grafice printre cele mai cunoscute
programe SHELL sunt: Graphic Interface a firmei Macintosh sau Presentation Manager
48
al lui IBM. Există însă şi un număr de interfeţe 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 sfârşit, produsul DECwindows al firmei
DEC.
Prin scrierea sistemului de operare în limbajul C, s-a obţinut o portabilitate atât a
sistemului UNIX propriu-zis, cât şi a programelor de aplicaţie dezvoltate sub acest
sistem, realizându-se astfel şi dezideratele de sistem deschis. Prin portabilitate se
înţelege proprietatea unui program de a putea fi executat pe sisteme de calcul cu
structuri fizice (în special unităţi centrale) diferite.
Multe sisteme de calcul cu sisteme de operare UNIX creează posibilitatea ca
utilizatorii săi să poată rula şi aplicaţii MS-DOS, în paralel cu aplicaţiile 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, începând de la calculatoare de tip PC până la supercalculatoare.
În esenţă, orice sistem de operare UNIX conţine un nucleu, una sau mai multe
componente SHELL şi un sistem bogat de fişiere.
• nucleu (Kernel);
• sistemul de fişiere (SF) ce cuprinde programe utilitare, aplicative şi
programe de gestiune I/E;
• SHELL.
Relaţiile între cele trei module principale ale sistemului se realizează prin:
• apeluri sistem;
• utilitare;
• proceduri standard folosite de limbajul C;
49
• programe de gestiune a intrărilor/ieşirilor, furnizate odată cu sistemul şi
diferite de la un sistem de calcul la altul.
Utilizator
SHELL
Nucleu
Kernel Programe
Sistemul
fişiere
Programe aplicative
utilitare
Programe de
gestiune I/E
Dispozitive periferice de
Una din cele mai importante funcţii ale unui sistem de operare este gestionarea
fişierelor proprii şi ale utilizatorilor. Pentru a putea fi folosite, fişierele trebuie, pe de o
parte, să fie uşor de memorat şi uşor de gestionat, iar, pe de altă parte, trebuie să fie de
dimensiuni adecvate mediului fizic accesibil. Aceste cerinţe impun ca sistemul de fişiere
să aibă o structură logică eficientă şi o structură fizică potrivită pentru dispozitivele
utilizate în memorarea fişierelor.
Fişiere obişnuite
Un fişier obişnuit este privit de către sistemul de operare ca un şir de octeţi, fără
o organizare logică specială. Un astfel de fişier poate conţine informaţii precum:
Fişiere speciale
Fişiere director
Fişierele de tip FIFO sunt fişiere speciale utilizate pentru realizarea comunicaţiei
între procese prin mecanismul de conductă (pipe).
Toate sistemele UNIX includ o schemă formală a drepturilor de acces la fişiere, care
prevede în general că utilizatorii obişnuiţi au deplin acces la propriile lor fişiere şi acces
restrâns la fişierele de sistem. Schema de acces la fişiere prevede trei drepturi de acces:
read (r) – citire, write (w) – scriere şi execute (x) – execuţie şi trei categorii de
utilizatori: user (u) - proprietar, group (g) - grup şi others (o) - ceilalţi utilizatori.
Rezultă că vor trebui să existe 9 (3 drepturi de acces * 3 categorii de utilizatori) poziţii
pentru precizarea completă a acestor drepturi. Pentru fişiere, semnificaţia drepturilor de
acces reiese din numele acestor drepturi, write incluzând şi posibilitatea de ştergere.
Pentru fişierele director, drepturile de acces au alte semnificaţii:
52
• read – există posibilitatea de listare a directorului cu comanda ls;
• write – se pot crea/şterge fişiere director;
• execute – se poate parcurge directorul pentru accesul la fişierele conţinute.
dev Fişiere 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), fişiere cu parole, fişiere cu
root comenzi SHELL de iniţializare;
tmp Fişiere temporare folosite de utilitare; editor;
(/)
compilatoare, asamblor;
usr bin Programe utilitare mai puţin folosite;
tmp Fişiere temporare mai puţin folosite;
dict Liste de cuvinte, verificarea împărţirii în
silabe (spell_checker);
lib Fişiere de biblioteci mai puţin utilizate;
man Directori cu fişier de text conţinând î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 fişiere
• l (forma lungă);
• a (toate intrările);
• t (sortează după tipul ultimei modificări);
• r (ordine inversă).
53
Primul caracter dintr-o linie indică tipul fişierului: director (d), fişier special (b
sau c) sau fişier ordinar (-). Următoarele nouă caractere descriu drepturile de acces ale
proprietarului fişierului (primele trei caractere), membrilor grupului (următoarele trei)
şi celorlalţi utilizatori (ultimele trei caractere). Literele r, w, x sunt întotdeauna listate în
această ordine; prezenţa unei litere indică acordarea dreptului respectiv, iar semnul
minus – indică absenţa dreptului respectiv. Următoarele coloane indică, în ordine,
numărul de legături, numele proprietarului, numele grupului, numărul de caractere din
fişier şi data la care fişierul a fost modificat ultima oară.
Schimbarea drepturilor de acces se face cu comanda chmod. În această comandă
este necesar să fie specificate următoarele informaţii:
Orice disc UNIX pe care se pot crea mai multe partiţii poate să conţină mai
multe sisteme de fişiere (în general un disc flexibil conţine doar un singur sistem de
fişiere). Nucleul UNIX are un sistem de fişiere propriu care conţine comenzile necesare
gestionării sistemului (root file system).
Toate sistemele de fişiere, cu excepţia lui root file system care este mereu activ,
pot fi sau nu încorporate în structura accesibilă la un moment dat. Dacă un sistem de
fişiere este accesibil, se spune despre el că este montat. Fiecare volum UNIX conţine un
sistem propriu de fişiere, cu o rădăcină ce poate fi ataşată la root file system prin
operaţia de montare, care îl extinde pe acesta din urmă cu subarborele corespunzător
volumului care s-a montat. Este posibilă şi operaţia inversă când un volum UNIX este
făcut inaccesibil prin demontare. Comenzile de montare şi demontare a volumelor sunt
accesibile numai superutilizatorului (administratorului sistemului).
man nume_comandă
55
6.6. Instalarea sistemului de operare UNIX
Instalarea sistemului de operare UNIX se realizează printr-un program special
afectat acestui scop, specific fiecărei versiuni UNIX. Indiferent însă de versiune, acest
program efectuează:
56
• trecerea procesului 1 în mod utilizator şi încărcarea sa pentru execuţie, ceea
ce va implica:
citirea fişierului /etc/inittab pentru stabilirea proceselor ce se vor crea;
lansarea unui proces /etc/gtty pentru fiecare linie de comunicaţie activă;
scanarea fişierului /etc/rc;
lansarea în execuţie a proceselor ce se execută în background pe întreaga
durată de funcţionare a sistemului.
• stabilirea consolei;
• instalarea sistemului de operare;
• instalarea pachetelor de aplicaţii;
57
• definirea şi identificarea utilizatorilor ce se pot conecta la sistem;
• configurarea terminalelor, imprimantelor.
• comunicarea cu utilizatorii;
• verificarea periodică a sistemului care necesită verificarea:
numelui sistemului;
stării curente;
utilizatorii;
plăcile hardware;
montarea sistemului de fişiere;
gradul de ocupare a discurilor.
58
CAPITOLUL 7
7. Sistemul de operare Windows
7.1. Generalităţi
Sistemul de operare Windows a apărut mai întâi ca un program utilitar sub DOS,
oferind o interfaţă grafică prietenoasă pentru utilizatori, având ca principal scop accesul
la operarea pe calculator a utilizatorilor obişnuiţi, cu cunoştinţe minime de operare. De
asemenea, interfaţa grafică Windows extinde posibilităţile de utilizare a calculatorului
personal exploatând modul de funcţionare virtual al microprocesorului INTEL 80x86
(vezi paragraful 5.2). Mai târziu, datorită succesului deosebit de care s-a bucurat această
interfaţă grafică, firma producătoare, Microsoft, a creat sistemul de operare Windows.
Acest sistem de operare este un sistem de operare cu multiprogramare fiind
prevăzut 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:
59
o are în componenţă un sistem de fişiere, care acceptă lungimi ale numelui
fişierului de la 1 la 255 de caractere.
2. Prin deschiderea unei sesiuni DOS după ce sistemul de operare Windows a fost
încărcat. Această opţiune permite lucrul într-un mediu multitasking, existând
posibilitatea deschiderii mai multor sesiuni DOS simultan. Din cauză că în acest
mod se lucrează de fapt sub sistemul de operare Windows, comutarea între
aplicaţii se poate face cu combinaţia de taste ALT+TAB sau din bara de meniu
(când ferestrele aplicaţiilor sunt în starea intermediară - comutarea între fereastra
complet deschisă şi cea intermediară se face la aplicaţiile DOS cu combinaţia 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 existând posibilitatea pierderii datelor. Din acest motiv, secvenţa
de lucru corectă este următoarea: 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 colţul 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 afişat se selectează: Restart in MS-DOS mode.
Reîntoarcerea în sistemul de operare Windows se face cu comanda EXIT la
promptul DOS.
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 traducătoare: cuprind diferite asambloare, macroasambloare,
interpretoare şi compilatoare pentru limbaje de programe diverse adaptate
cerinţelor lucrului sub WINDOWS;
• sisteme de gestiune a colecţiilor de date: cuprind sisteme de gestiune a
fişierelor orientate pentru lucrul sub WINDOWS, precum şi sisteme de gestiune
a bazelor de date cum sunt: FOXPRO, ORACLE, etc., adaptate cerinţelor
lucrului sub Windows.
Mai apar o serie de pictograme care sunt specifice anumitor aplicaţii instalate în
sistem, iar în partea de jos a ecranului apare bara de TASK-uri (TASK BAR). Aceasta
este de fapt o componentă centrală, având un rol deosebit pentru majoritatea operaţiilor
ce se execută sub Windows. Ea are trei componente de bază:
• meniu START;
• lista TASK-urilor;
• zona SETTING.
Meniul START apare în partea stânga jos şi conţine lista completă cu toate
aplicaţiile explorate sub Windovs. Acestea pot fi:
64
LABORATOR
INTRODUCERE ÎN SISTEME DE OPERARE
Laborator 1
Caracteristicile fizice şi capacitatea harddiscului
Într-un sistem de calcul, încărcarea sistemului de operare în memoria internă se
face cu ajutorul programului încărcător (Bootstrap Loader), de pe un suport extern de
memorie. Suportul de memorie extern poate fi :
Discul dur sau harddiscul rămâne în continuare unul din principalele suporturi
externe de memorie de pe care se încarcă în mod obişnuit sistemul de operare. Datorită
acestui fapt, în stadiul actual, există o strânsă legătură între sistemul de operare şi
harddisc. Pentru un astfel de dispozitiv destinat stocării informaţiei una dintre
caracteristicile principale este cantitatea de informaţie ce poate fi stocată pe harddisc sau
capacitatea acestuia.
Pentru cantitatea de informaţie elementară posibil a fi stocată pe harddisc se
foloseşte din motive tehnologice şi istorice octetul (byte). Un octet este cantitatea de
informaţie ce poate fi reprezentată cu ajutorul a opt cifre binare (opt biţi). Deci, avem o
primă relaţie pentru cantitatea de informaţie stocată :
Este evident faptul că această cantitate de informaţie este mult prea mică pentru
cantităţile imense de informaţie vehiculate astăzi de sistemele de calcul. Din acest motiv
se folosesc multiplii acesteia :
Rezultă că:
1To = 210 x 210 x 210 x 210 octeţi = 240 octeţi = 1 099 511 627 776 octeţi
TABELUL 1
68
Informaţiile discului 1
69
Introducere în sisteme de operare
Laborator 2
Partiţionarea harddiscurilor
Prin operaţia de partiţionare înţelegem 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 având asociată o literă. Cum pentru harddiscuri
prima literă rezervată pentru identificare este litera C (literele A şi B sunt rezervate
pentru unităţile de disc flexibil), partiţiile vor primi în ordine, identificatorii: D, E, …,
Z.
În utilizare, unui disc fizic i se poate asocia un singur disc logic, situaţie în care
discul fizic este identic cu discul logic, sau mai multe discuri logice a căror capacitate
poate fi cel mult egală cu capacitatea discului fizic.
Operaţiile efectuate la instalarea unui sistem de operare sunt: partiţionarea
suportului extern de memorie, formatarea logică (formatarea de nivel înalt) a partiţiilor,
pentru un anumit sistem de fişiere corespunzător sistemului de operare instalat şi
instalarea propriu-zisă a sistemului de operare..
Uneori, înainte de operaţia de partiţionare, poate fi necesară formatarea fizică
(de nivel scăzut) a suportului extern de memorie. Această formatare este făcută de
regulă în fabrică dar, uneori, de exemplu în situaţia apariţiei unor viruşi informatici,
formatarea fizică trebuie refăcută.
NOTĂ: evitaţi pe cât posibil formatarea fizică a harddiscurilor deoarece pot apărea
probleme în funcţionarea harddiscului.
Partiţiile unui harddisk pot fi: partiţii primare sau partiţii extinse. Partiţiile
extinse se compun, la rândul lor din partiţii logice.
Un sistem de operare nu poate fi instalat decât pe o partiţie primară. Partiţia de
pe care se încarcă sistemul de operare la un moment dat este partiţia activă. Datorită
faptului că la un moment dat în sistemul de calcul nu se poate încărca decât un sistem de
operare, o singură partiţie va putea fi activă în sistem,
Pentru încărcarea sistemului de operare, în pista zero a harddiscului, se va afla
sectorul de boot (MBR – Master Boot Record), care permite lansarea în execuţie a
programului de încărcare a sistemului de operare (Bootstrap Loader). Acest program, în
cazul în care în sistemul de calcul sunt instalate mai multe sisteme de operare, va afişa
un meniu din care utilizatorul să-şi aleagă sistemul de operare pe care doreşte să-l
încarce în sistemul de calcul. Programul Bootstrap Loader face activă partiţia primară
pa care se află sistemul de operare dorit şi trece la încărcarea acestuia în memoria
principală (memoria RAM) a sistemului de calcul.
Programul de instalare a sistemului de operare conţine şi aplicaţia pentru crearea
sectorului de boot şi instalarea programului Bootstrap Loader. Există şi aplicaţii
independente (cum este spre exemplu programul PartitionMagic) cu ajutorul cărora se
pot crea sectoare de boot şi instala programe Bootstrap Loader prevăzute cu meniu ce
permite încărcarea unui sistem de operare din mai multe instalate în calculator.
70
Structura generală a unui harddisc este prezentată în figura 1.
PARTIŢIE PARTIŢIE
PARTIŢIE PARTIŢIE PARTIŢIE
PRIMARĂ PRIMARĂ LOGICĂ LOGICĂ LOGICĂ
E: F: G:
C: D:
PARTIŢIE EXTINSĂ
În figura 1 harddiscul conţine două partiţii primare (C: şi D:), pe care se pot
instala două sisteme de operare diferite şi o partiţie extinsă compusă din trei partiţii
logice (E:, F: şi G:). Partiţia primară C: este partiţia activă.
Primele sisteme de operare create de firma Microsoft (DOS şi Windows 9x) nu
permiteau existenţa a două sisteme de operare pe acelaşi calculator şi deci nici existenţa
a două partiţii primare. Este posibil totuşi să instalăm şi un al doilea sistem de operare
alături de aceste sisteme de operare dacă ce-a de-a doua partiţie primară este ascunsă aşa
cum este arătat în figura 2.
PARTIŢIE PARTIŢIE
PARTIŢIE PARTIŢIE PARTIŢIE
PRIMARĂ PRIMARĂ LOGICĂ LOGICĂ LOGICĂ
D: E: F:
C: (partiţie
ascunsă) PARTIŢIE EXTINSĂ
Figura 2. Structura generală a unui harddisc în cazul instalării sistomului de operare DOS sau
Windows 9x.
Pentru partiţionarea unui harddisk pot fi folosite diferite programe utilitare mai
mult sau mai puţin avansate. Unul dintre acestea este programul fdisk.exe furnizat de
către firma Microsoft pentru sistemele de operare DOS şi Windows 9x.
În această lucrare de laborator se va experimenta partiţionarea harddiscurilor cu
ajutorul unui simulator al programului FDISK.EXE pentru a câştiga deprinderile
necesare pentru partiţionarea corectă a unui harddisc. Se foloseşte un simulator
deoarece, aşa cum s-a arătat, partiţionarea este o acţiune distructivă (se şterge informaţia
de pe harddisc) în cazul utilizării programului FDISK.EXE.
71
NOTĂ: partiţionarea poate fi şi nedistructivă aşa cum este spre exemplu în cazul
utilizării programului PartitionMagic. În orice caz citiţi cu atenţie documentaţia
programului utilizat.
73
PARTIŢIE PARTIŢIE PARTIŢIE
LOGICĂ LOGICĂ LOGICĂ
PARTIŢIE PRIMARĂ D: E: F:
C: PARTIŢIE EXTINSĂ
Din fereastra Codul rezultat (figura 9) se notează codul afişat, care se trece în referatul
de laborator.
74
Figura 9. Fereastra cu codul activităţii de laborator.
75
Introducere în sisteme de operare
Laborator 3
Partiţionarea harddiscurilor (continuare)
Pentru instalarea unui sistem de operare pe un suport extern de memorie, acesta
trebuie pregătit în prealabil in aşa fel încât la pornirea calculatorului sistemul de operare
să fie găsit şi încărcat în memoria RAM. În cazul harddiscurilor pregătirea acestora
constă în operaţiile de: partiţionare, formatare logică şi copierea fişierelor sistemului de
operare.
La pornirea unui calculator pe care este instalat un sistem de operare, încărcarea
acestuia în memoria RAM a sistemului de calcul se numeşte proces de boot. Procesul de
boot va fi descris pe scurt în continuare.
Procesul de boot
Tabela de partiţii
Master Boot Record este primul sector aflat pe harddisc, acest sector fiind creat
la partiţionare de programul FDISK, sector ce conţine 512 Bytes.
Sectorul este împărţit în:
76
Tabela de partiţii
1) Programul de boot
2) Tabela de partiţii
Această tabelă conţine intrările pentru partiţiile primare, dintre care numai una
poate fi activă la un moment dat, şi partiţia extinsă.
Această tabelă de partiţii începe de la offset-ul 0x01BE ocupând 64 de octeţi ca mărime,
conţinând 4 partiţii primare sau 3 primare şi una extinsă, fiecare dintre ele ocupând 16
octeţi (bytes). Cea extinsă la rândul ei poate fi împărţită în mai multe partiţii logice.
3) Semnatura
Ultimii 2 octeţi sunt ocupaţi de o sumă de control care are rolul de a verifica
dacă a fost definită o tabelă de partiţii sau dacă exista erori în tabela de partiţii,
semnatura având întotdeauna valoarea AA55 în hexazecimal.
Boot Managerul este programul ce rulează când este pornit un calculator. El este
responsabil de încărcarea şi transferarea controlului sistemului de operare sau mai bine
zis kernelui, kernelul iniţializând restul sistemului de operare. El este instalat în MBR şi
poate ocupa cel mult 446 de octeţi.
77
4) Sectorul de boot
Fiecare partiţie 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 partiţie este făcută
activă, de pe aceasta poate fi încărcat sistemul de operare prin mecanismul prezentat.
Primii 62 de octeţi ai sectorului de boot formează blocul de parametrii ai BIOS-ului
(BPB – BIOS Parameter Block ). Acest bloc poate fi văzut, spre exemplu, cu ajutorul
programului PartitionInfo (figura 3).
Partiţionarea harddiscului
79
Introducere în sisteme de operare
Laborator 4
Formatarea
După partiţionarea cu programul FDISK.EXE calculatorul trebuie repornit
(bootat) pentru ca tabela partiţiilor să fie scrisă în sectorul de boot. Urmează acum
instalarea sistemului de fişiere în partiţiile create iar apoi instalarea sistemului de
operare.
Instalarea sistemului de fişiere se face cu ajutorul operaţiei de formatare logică.
Formatarea logică (sau pe scurt formatarea) este operaţia care se realizează în
mod frecvent asupra suporturilor externe de memorie, în scopul marcării acestora cu
informaţiile necesare sistemului de operare, pentru gestionarea informaţiei stocate pe
suportul de memorie respectiv.
Pentru început, trebuie reţinut în legătură cu operaţia de formatare, două aspecte:
Cel mai cunoscut (şi folosit) sistem de fişiere este sistemul FAT creat de către
firma Microsoft pentru sistemele de operare DOS şi Windows.
Sistemul de fişiere FAT este relativ simplu, fiind suportat de către toate
sistemele de operare existente astăzi ş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 fişiere este reprezentat de faptul că
ştergerea şi scrierea repetată a fişierelor pe suportul extern de memorie duce la
fragmentarea informaţiei şi în consecinţă la scăderea vitezei de lucru a sistemului de
calcul. Pentru remedierea acestei situaţii se folosesc de obicei aplicaţii pentru
defragmentarea (rearanjarea informaţiei) suportului extern de memorie. Durata mare
necesară acestor aplicaţii pentru rezolvarea problemei le face de cele mai multe ori să
fie ocolite de utilizatori.
Există mai multe versiuni de sisteme de fişiere FAT, cele mai folosite fiind
versiunile FAT16 şi FAT 32.
80
Sistemul de fişiere FAT împarte o partiţie în porţiuni alcătuite din mai multe
sectoare, de dimensiuni egale, numite clustere (grămezi). Dimensiunea unui cluster
depinde de versiunea FAT variind între 2KB şi 64KB (chiar şi în cadrul aceluiaşi tip de
FAT existând mai multe variante). Numărul versiunii FAT semnifică numărul de biţi
folosiţi 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 partiţiei de 2GB.
Fiecare fişier, în funcţie de dimensiunea acestuia, poate ocupa unul sau mai
multe clustere (întotdeauna un număr întreg) şi deci fiecare fişier poate fi reprezentat ca
un şir unic a adreselor acestor clustere, şir cunoscut şi sub numele de listă înlănţuită
independentă. Clusterele care aparţin unui fişier pot să nu fie adiacente, caz în care se
spune că informaţia este fragmentată, situaţie în care regăsirea informaţiei durează mai
mult şi sistemul este mai lent.
Tabela de alocare a fişierelor (FAT – File Allocation Table) reprezintă o listă de
înregistrări ce corespund clusterelor partiţiei. Fiecare înregistrare din tabelă poate
reprezenta:
Dimensiunea unei înregistrări în tabela de alocare poate fi, aşa cum s-a arătat, de
16 biţi pentru FAT16 şi de 32 de biţi (din care sunt folosiţi 28), pentru FAT32.
Un alt aspect important se referă la spaţiul rămas nefolosit dintr-o partiţie
(wasted space). Datorită faptului că un fişier nu poate ocupa decât un număr întreg de
clustere rezultă că este posibil ca ultimul cluster din şir să fie incomplet folosit.
Totalitatea acestor clustere alcătuieşte spaţiul nefolosit (şi care nu mai poate fi
recuperat) al unei partiţii. Din acest punct de vedere sistemul FAT32 gestionează mai
bine spaţiul pe disc decât sistemul FAT16 din cauză că pentru aceeaşi dimensiune a
partiţiei sistemul FAT32 adresează mai puţine clustere decât sistemul FAT16.
Principalele caracteristici ale sistemelor de gestiune a fişierelor 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
fişierului
81
1 2 3
Numărul maxim de fişiere 65 517 268 435 437
Dimensiunea maximă a
4GB 8TB
partiţiei
• din raportul afişat pe ecran (similar cu cel din figură) se vor nota:
tipul sistemului de fişiere utilizat la partiţia analizată;
dimensiunea partiţiei;
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
comparaţie 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. Având î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 apărut se
selectează Format. Din fereastra apărută se bifează
căsuţa 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 fişierele sistem: IO.SYS,
MSDOS.SYS, COMMAND.COM şi o serie de fişiere
utile pentru configurare. Aceste fişiere se vor elimina,
nefiind necesare în această lucrare de laborator, şi se vor adăuga pe dischetă, fişierele:
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ă fişiere de
configurare ale sistemului de operare: autoexec.bat şi config.sys cu următorul conţinut:
<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 fişierului de
editat. Comenzile în interiorul editorului se dau
cu tasta ALT ţinută apăsată şi se apasă şi tasta
literei cu care începe cuvântul din meniul
principal.
Pentru ca aceste configurări să aibă
efect se reporneşte calculatorul prin apăsarea
combinaţiei 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 opţiuni şi se reporneşte
calculatorul.
După ce sistemul de operare DOS s-a reîncărcat, se trece la testarea programului
FDISC. Cu ajutorul acestui program se vizualizează partiţiile existente şi se trec în
referatele de laborator informaţiile afişate.
Se poate trece acum la instalarea sistemului de operare DOS pe harddisc. Pentru
aceasta hardiscul trebuie partiţionat şi formatat şi pe acesta să existe o partiţie primară
FAT 16 (DOS) activă.
În mod normal, instalarea sistemului de operare se face cu ajutorul unui kit de
instalare care realizează toate operaţiile necesare. Pentru instalarea cu ajutorul kitului de
instalare, se introduce prima dischetă în unitate şi se lansează programul SETUP.EXE.
Restul operaţiilor sunt făcute în mod automat.
Instalarea se poate face şi fără kitul de instalare în modul descris în continuare.
După formatarea partiţiei DOS active, se transferă sistemul de operare de pe dischetă pe
această partiţie cu ajutorul comenzii: A:\SYS A: C:. Pe harddisc trebuie să apară
fişierele sistem ale sistemului de operare DOS. După aceasta, se creează pe discul C:
directorul DOS în care se vor pune fişierele sistemului de operare pentru comenzile
externe (aceste fişiere vor fi copiate de pe dischetele puse la dispoziţie) şi fişierul TEMP
în care se vor pune fişierele temporare.
Se creează fişierele CONFIG.SYS şi AUTOEXEC.BAT în modul arătat, cu
următorul conţinut:
<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 fişiere trebuie să se găsească în directorul rădăcină al discului C:.
NOTĂ: fişierele specificate în directorul DOS trebuie să se găsească în acest director
înainte de repornirea sistemului.
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
conţine 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 apăsarea 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 reporneşte sistemul
cu discul optic în unitate şi instalarea porneşte.
Pentru început se face testarea existenţei resurselor hardware minime, necesare
sistemului de operare după care sunt copiate fişierele necesare începerii instalării.
Utilizatorul este întrebat dacă doreşte instalarea sa repararea sistemului de operare.
Chiar dacă există un sistem de operare Windows XP instalat, se recomandă reinstalarea
sistemului de operare pentru a obţine rezultate optime.
În programul de instalare se face si partiţionarea harddiscului. Utilizatorul are
posibilitatea de a alege între partiţii de tip FAT sau NTFS în funcţie de necesităţi.
Windows XP rezervă un spaţiu de 8Mb pentru stocarea informaţiilor despre partiţiile
active. Din acest motiv pe disc apare o zonă nepartiţionată de 8MB care trebuie lăsată
aşa.
În lucrarea de laborator se va folosi simulatorul pentru instalarea sistemului de
operare Windows XP: Windows Xp Setup.exe.
Se porneşte simulatorul şi se urmăresc paşii indicaţi de simulator.
După parcurgerea informaţiilor furnizate de simulator se trece la instalarea
sistemului de operare pe un sistem de calcul.
86
ÎNTREBĂRI DE TEST
1. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). Transparenţa şi
vizibilitatea reprezintă o caracteristică a sistemelor de operare cu ajutorul
căreia se poate face evaluarea performanţelor acestuia.
A. ADEVĂRAT
B. FALS
2. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). Partajarea şi protecţia
reprezintă o caracteristică a sistemelor de operare cu ajutorul căreia se
poate face evaluarea performanţelor acestuia.
A. ADEVĂRAT
B. FALS
3. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). Un sistem secvenţial
poate executa la un moment dat mai multe programe simultan dacă aceste
programe aparţin unor utilizatori diferiţi.
A. ADEVĂRAT
B. FALS
4. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). Un sistem cu
multiprogramare poate rula mai multe programe simultan numai în
situaţia în care aceste programe aparţin unor utilizatori diferiţi.
A. ADEVĂRAT
B. FALS
5. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). Performanţele unui
sistem de calcul sunt influenţate în mod esenţial de sistemul de operare
rulat.
A. ADEVĂRAT
B. FALS
6. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). În cazul unui sistem de
operare interfaţa între sistemul de calcul şi operator este realizată prin
intermediul limbajului de control.
A. ADEVĂRAT
B. FALS
7. Alegeţi varianta corectă din cele prezentate mai jos. Un sistem de operare
indiferent de tipul său trebuie să pună la dispoziţia utilizatorului mijloace
pentru:
A. crearea, stocarea, regăsirea (în scopul prelucrării) şi distrugerea informaţiei;
B. crearea, sortarea, regăsirea (în scopul prelucrării) şi distrugerea informaţiei;
C. citirea, stocarea, regăsirea (în scopul prelucrării) şi distrugerea informaţiei;
8. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). Pe o maşină cu o singură
87
unitate centrală poate fi instalat un sistem de operare cu prelucrare
multiplă.
A. ADEVĂRAT
B. FALS
9. Alegeţi varianta corectă din cele prezentate mai jos. Durata existenţă a unui
obiect reprezintă:
A. Durata cât obiectul este păstrat în memorie.
B. Durata de execuţie a obiectului.
C. Durata de timp în care obiectul este accesibil.
10. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). Sistemul de operare
foloseşte o reprezentare externă şi una internă pentru obiectele prelucrate.
A. ADEVĂRAT
B. FALS
11. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). Calea de acces la un
obiect ce reprezintă o informaţie poate fi constituită prin substituţie sau
prin înlănţuire.
A. ADEVĂRAT
B. FALS
12. Alegeţi 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
conţine toate obiectele sistemului.
C. Memoria fictivă este caracteristică sistemelor de operare cu administrare automată a
memoriei.
13. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). Administrarea resurselor
unui sistem de calcul se realizează în principal prin intermediul
programelor de aplicaţii.
A. ADEVĂRAT
B. FALS
14. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). Pentru a creşte eficienţa
sistemului de calcul, administrarea accesului la periferice prin intermediul
sistemului de operare se face cu ajutorul perifericelor fictive.
A. ADEVĂRAT
B. FALS
15. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). Componentele sistemului
de operare prin care se materializează funcţia de administrare a resurselor
de calcul se numesc alocatoare.
A. ADEVĂRAT
B. FALS
16. Alegeţi 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. atât componentele software cât şi cele hardware.
17. Alegeţi 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 către
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. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). Unitatea centrală este o
resursă cu acces multiplu.
A. ADEVĂRAT
B. FALS
19. Alegeţi 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. Alegeţi varianta corectă din cele prezentate mai jos. Încărcarea sistemului
reprezintă:
A. Totalitatea programelor încărcate în memoria sistemului.
B. Numărul utilizatorilor simultani pe un sistem de calcul.
C. Totalitatea cererilor (explicite şi implicite) de resurse care trebuie satisfăcute la un
moment dat.
21. Alegeţi varianta corectă din cele prezentate mai jos. Alocarea unei resurse
reprezintă:
A. Totalitatea acţiunilor prin care sistemul de operare reuşeşte să satisfacă cererile de
resurse.
B. Numărul 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. Alegeţi varianta corectă din cele prezentate mai jos.
A. Administrarea resurselor de calcul se face pe baza numărului 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. Alegeţi varianta corectă din cele prezentate mai jos referitor la strategiile
pe bază de prioritate.
A. Unităţii centrale i se asociază o serie de priorităţi în aşa fel încât să poată ordona
procesele din coada de aşteptare.
B. Planificarea lucrărilor se face în funcţie de termenul în care ele sunt prezentate
sistemului de calcul.
C. Planificarea lucrărilor se face în funcţie de prioritatea asociată acestora, procesele
fiind aşezate în una sau mai multe cozi de aşteptare.
89
24. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). Strategia FIFO (First In
First Out) este o strategie în mai mulţi paşi.
A. ADEVĂRAT
B. FALS
25. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). Strategia LIFO (Last In
First Out) este o strategie cu un pas.
A. ADEVĂRAT
B. FALS
26. Alegeţi varianta corectă din cele prezentate mai jos, referitor la strategiile
pe bază de termen.
A. Strategie de planificare care presupune cunoaşterea duratei de execuţiei a proceselor
şi încărcarea sistemului.
B. Strategie în care se impune un anumit termen pentru prezentarea lucrării în scopul
lansării în execuţie.
C. Strategie în care perifericele au un anumit termen de utilizare.
27. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). Strategia SXFS (Shortest
eXecution First Service) este o strategie care favorizează lucrările lungi în
detrimentul celor scurte.
A. ADEVĂRAT
B. FALS
28. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). Strategia EDFS (Earliest
Deadline First Service) este o strategie cu un pas.
A. ADEVĂRAT
B. FALS
29. Alegeţi 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 aşteptare având asociată o anumită
prioritate.
C. Este o strategie cu mai mulţi paşi similară strategiei FIFO (First In First Out).
30. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). Strategia carusel-
multiplu este o strategie cu un singur pas.
A. ADEVĂRAT
B. FALS
31. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). Administrarea memoriei
se referă numai la administrarea memoriei interne (memoria principală).
A. ADEVĂRAT
B. FALS
32. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). Maşina vidă este o
metodă automată de gestionare a memoriei principale.
A. ADEVĂRAT
90
B. FALS
33. Alegeţi varianta corectă din cele prezentate mai jos referitor la partiţiile
fixe ale memoriei.
A. Metodă de gestiune a memoriei care permite rularea programelor de dimensiuni
oricât 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 înlănţuirea automată a lucrărilor prin
intermediul programului supervizor.
34. Alegeţi varianta corectă din cele prezentate mai jos referitor la
administrarea automată a memoriei.
A. Administrarea automată a memoriei duce la creşterea eficienţei în exploatare a
resurselor şi la îmbunătăţirea timpului de răspuns a sistemului.
B. Administrarea automată a memoriei presupune utilizarea segmentării, a memoriei
virtuale şi a partiţiilor fixe.
C. Administrarea automată a memoriei exclude posibilitatea utilizării memoriei
secundare (externe) în scopul execuţiei programelor.
35. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). Unitatea centrală este o
resursă banalizată.
A. ADEVĂRAT
B. FALS
36. Alegeţi 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ă necesităţi.
C. O resursă inaccesibilă.
37. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). O bază de date
reprezintă o resursă cu acces multiplu.
A. ADEVĂRAT
B. FALS
38. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). Periodicitatea unui
proces (task) poate fi fixă sau dinamică.
A. ADEVĂRAT
B. FALS
39. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). Un proces (task) este în
starea gata de execuţie în momentul în care deţine controlul unităţii
centrale.
A. ADEVĂRAT
B. FALS
40. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) 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 execuţie.
A. ADEVĂRAT
91
B. FALS
41. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). Prioritatea unui proces
(task) poate fi fixă sau dinamică.
A. ADEVĂRAT
B. FALS
42. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). Un proces (task) poate fi
descris cu ajutorul descriptorilor care sunt de două feluri: statici şi
impliciţi.
A. ADEVĂRAT
B. FALS
43. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). Periodicitatea unui
proces (task) este stabilită la început şi ea nu mai poate fi modificată pe
parcursul execuţiei.
A. ADEVĂRAT
B. FALS
44. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). Prioritatea unui proces
(task) este stabilită la început şi ea nu mai poate fi modificată pe parcursul
execuţiei.
A. ADEVĂRAT
B. FALS
45. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare
este corectă (ADEVĂRAT) sau incorectă (FALS). Bufferul de transfer
reprezintă o resursă virtuală.
A. ADEVĂRAT
B. FALS
92
Introducere în sisteme de operare
Laborator 7
Instalarea sistemului de operare LINUX
Pregătirea pentru instalare
Instalarea unei distribuţii Linux se poate face în mod normal prin pornirea
sistemului de pe primul disc CD. În cazul în care programul de instalare nu porneşte
automat, trebuie mai întâi creată o disketă de boot. De asemenea, această disketă poate
fi necesară atunci când nu se doreşte utilizarea metodei obişnuite 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, fără a mai fi necesară şi disketa de boot. Pe un
calculator pot coexista fără probleme mai multe sisteme de operare, evident dacă spaţiul
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 puţin două partiţii separate
pentru a putea funcţiona. Dacă pe disc există deja Windows, este necesară
redimensionarea partiţiilor existente pentru a putea crea partiţiile necesare Linux-ului.
Pentru a redimensiona partiţiile existente pe disc, poate fi folosit utilitarul FIPS
(inclus de obicei tot pe primul disc al distribuţiei) sau Partition Magic (program
comercial). Pentru a folosi FIPS, trebuie mai întâi defragmentat discul cu ajutorul
comenzii MS-DOS DEFRAG, iar apoi redimensionate partiţiile. După activarea
acestora, calculatorul va trebui repornit.
93
Planificarea partiţionării discului
După cum spuneam şi mai sus, spaţiul pe disc ocupat de sistemul Linux trebuie
să fie separat de spaţiul ocupat de alte sisteme de operare instalate în sistem. Cel puţin
două partiţii (o partiţie principală, /, şi swap) sunt necesare pentru instalarea sistemului.
Recomandăm crearea cel puţin a următoarelor partiţii:
o o partiţie de swap, pentru a crea memorie virtuală (informaţiile sunt
scrise în memoria virtuală atunci când nu există memorie fizică
disponibilă). Partiţia de swap trebuie să fie de cel puţin 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 staţie de lucru,
şi dublul acesteia pentru un server;
o o partiţie /boot care va conţine nucleul Linux şi celelalte fişiere
utilizate în timpul bootării. Dimensiunea ideală a acestei partiţii este
de 16-32 MB;
o partiţia de root, acolo unde se va afla /, directorul-rădăcină al
sistemului, şi care va conţine toate fişierele din sistem. În cazul în
care calculatorul va fi server Linux, recomandăm crearea a trei partiţii
suplimentare:
o o partiţie /usr, care va conţine fişierele sistemului de operare, de
mărime cel puţin egală cu dimensiunea preconizată a instalării plus
circa 100 MB (de exemplu, 1,4 GB);
o o partiţie /var, care va conţine fişierele variabile ale sistemului,
preferabil de cel puţin 256 MB;
o o partiţie /home, care va conţine fişierele utilizatorilor, de preferinţă
de cel puţin 512 MB. Pentru a găzdui sistemul Linux pot fi utilizate
următoarele tipuri de partiţii:
o ext2 – sistemul clasic de fişiere din Linux, compatibil cu standardele
UNIX;
o ext3 – un sistem nou de fişiere, bazat pe ext2, cu suport pentru
jurnalizare;
o reiserfs – un sistem nou de fişiere, cu suport pentru jurnalizare, având
în multe condiţii performanţe superioare ext2 sau ext3, datorită
arhitecturii interne arborescente.
Recomandăm utilizarea de partiţii ext3 în loc de ext2 deoarece suportul pentru
jurnalizare permite în primul rând siguranţă mult mai mare a informaţiilor în cazul
incidentelor nedorite (probleme hardware sau întreruperi ale tensiunii de alimentare) şi
în al doilea rând reduce semnificativ timpul de restaurare după o cădere a sistemului
(fsck). Pot fi utilizate de asemenea şi partiţiile de tip reiserfs, care prezintă, pe lângă
avantajele enumerate mai sus, o viteză superioară de acces în multe situaţii.
Începerea instalării
În cele ce urmează ne vom referi la paşii care trebuie urmaţi în vederea instalării
unei distribuţii Fedora/Red Hat. După bootare trebuie să apară un ecran conţinând în
partea inferioară promptul boot:
Ecranul conţine informaţii despre diverse opţiuni de pornire. După apariţia
acestui prompt, programul de instalare va porni automat după un minut, dacă nu este
apăsată nici o tastă. Apăsarea tastei ENTER va porni imediat instalarea într-un mediu
grafic uşor de utilizat. Dacă nu se doreşte pornirea mediului grafic (de exemplu, dacă
94
placa video are performanţe 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ă atât în timpul instalării, cât şi implicit după
instalare. Selecţia făcută aici va influenţa şi fusul orar. Sunt disponibile o multitudine de
limbi, dintre care şi limba română.
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 doreşte emularea de trei butoane prin apăsarea celor două.
4. Opţiunile de instalare
Se stabileşte dacă se efectuează o instalare completă sau un upgrade (instalarea
unei versiuni mai noi a distribuţiei). În cazul instalării complete, se stabileşte tipul
instalării: Personal Desktop, Workstation, Server sau Custom. Acest tip determină
pachetele care vor fi propuse pentru instalare.
Workstation
Este asemănătoare cu Personal Desktop, incluzând în plus instrumente pentru
dezvoltarea de programe şi administrare de sistem.
Server
Acest tip de instalare cuprinde programe care oferă servicii Internet (Web, FTP,
poştă electronică etc.), precum şi alte servicii de reţea (NFS, Samba etc.). Necesită
minim 1 GB spaţiu disponibil.
Custom (personalizat)
Instalarea de tip Custom este potrivită utilizatorilor obişnuiţi cu sistemul Linux
şi oferă cea mai mare flexibilitate posibilă.
Necesită minim 350 MB spaţiu disponibil pentru o instalare minimală şi circa 3,5 GB
dacă sunt selectate toate pachetele.
5. Partiţionarea discului
Există trei opţiuni de partiţionare:
o partiţionare automată: programul de instalare va genera automat
partiţiile în funcţie de tipul de instalare ales. Partiţiile rezultate pot fi
modificate apoi în funcţie de necesităţi;
o partiţionare manuală cu ajutorul programului Disk Druid, dotat cu o
interfaţă grafică simplă dar puternică, uşor de folosit;
95
o partiţionare manuală cu ajutorul programului clasic fdisk (disponibilă
numai în cazul instalărilor în mod text), care are o interfaţă tip linie
de comandă, în mod text.
Partiţionarea automată
Programul de partiţionare automată oferă utilizatorului posibilitatea de a controla
modul de tratare a partiţiilor deja existente pe disc, prin intermediul a trei opţiuni:
o ştergerea partiţiilor Linux existente;
o ştergerea tuturor partiţiilor existente;
o păstrarea partiţiilor existente şi utilizarea spaţiului liber.
Din lista de discuri fixe aflate în sistem trebuie selectate discurile pe care va fi
efectuată instalarea.
Dacă opţiunea Review este activată, instalarea va continua cu programul Disk
Druid, permiţând modificarea partiţiilor create automat (Figura 1).
Fiecare disc fix din sistem poate fi editat separat. Acţiunile se efectuează prin
intermediul a cinci butoane:
• New – pentru crearea unei noi partiţii. Dialogul care apare conţine următoarele
câmpuri:
o Mount Point – directorul în care va fi montat conţinutul noii partiţii (de
exemplu, pentru partiţia de root, /);
o Filesystem Type – tipul partiţiei (de exemplu, ext2 sau ext3 pentru o
partiţie Linux);
o Size – dimensiunea partiţiei în Megabytes;
96
o Additional Size Options – dacă partiţia va avea dimensiunea fixă
menţionată în câmpul precedent, dacă se doreşte ca partiţia să umple tot
spaţiul liber mai puţin o dimensiune menţionată sau dacă se doreşte ca
partiţia să umple tot spaţiul disponibil;
o Force to be a primary partition – dacă se doreşte ca partiţia să fie
primară;
o Check for bad blocks – dacă se doreşte verificarea existenţei de sectoare
defecte pe respectiva partiţie;
• Edit – pentru editarea proprietăţilor unei partiţii deja create;
• Delete – pentru ştergerea unei partiţii deja create;
• Reset – pentru renunţarea la modificări le făcute asupra partiţiilor;
• RAID – pentru crearea de partiţii RAID (Redundant Array of Independent Disks,
sistem care permite considerarea mai multor discuri ca un singur dispozitiv).
97
8. Configurarea legăturii de reţea
Dacă instalarea a fost pornită cu suport pentru reţea, fiecare placă de reţea aflată
în calculator trebuie configurată astfel:
o dacă configurarea adresei IP se face prin DHCP (Dynamic Host
Configuration Protocol);
o dacă interfaţa de reţea va fi activată la pornire;
o adresa IP;
o masca de reţea;
o adresa de reţea;
o adresa de broadcast;
o numele maşinii;
o adresa gateway-ului;
o adresa DNS-ului primar, secundar şi ternar.
9. Configurarea firewall-ului
Un firewall este un filtru de protecţie care determină ce servicii de reţea 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 decât
cele definite. Dacă sistemul este conectat la Internet, însă nu oferă servicii
către exterior, aceasta este cea mai sigură opţiune;
o Mediu (Medium), caz în care sistemul nu va accepta decât anumite tipuri de
conexiuni.
o Fără firewall (No firewall).
Alegând opţiunea Customize, pot fi adăugate dispozitive considerate sigure sau
poate fi acordat accesul la servicii adiţionale. Selectând oricare dintre dispozitive, va fi
permis accesul dinspre dispozitivele respective către sistem – cu alte cuvinte,
respectivul dispozitiv va fi exclus din regulile stabilite de firewall.
Spre exemplu, poate fi permis accesul fără restricţii în cadrul reţelei locale, prin
placa de reţea eth0, iar conexiunea dial-up la Internet, ppp0, să fie supusă filtrării.
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ă atât limba implicită, cât şi limbile adiţionale 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 obişnuiţi pentru
utilizarea calculatorului, chiar dacă acesta este folosit acasă, deoarece o comandă greşită
tastată ca root poate cauza deteriorarea sistemului sau chiar pierderea totală a datelor şi
aplicaţiilor stocate.
Este obligatorie stabilirea unei parole pentru utilizatorul root. Parola trebuie să
aibă minim şase caractere lungime şi nu poate conţine cuvinte aflate în dicţionar (de
exemplu, „program”).
98
În cadrul acestei etape pot fi creaţi şi utilizatorii sistemului. Pentru fiecare
utilizator nou creat vor fi solicitate aceleaşi date ca în cazul creării utilizatorului root.
13. Configurarea autentificării în sistem
În cazul în care maşina va fi legată în reţea, este important ca accesul la sistem
să fie posibil pe baza unui sistem de autentificare sigur. Sunt disponibile următoarele
opţiuni:
o Activarea/dezactivarea parolelor MD5, care permite utilizarea de parole de
până la 256 de caractere lungime, în loc de lungimea standard de maxim 8
caractere. Implicit, această opţiune este activată.
o Activarea/dezactivarea parolelor de tip shadow, care oferă o metodă sigură
de memorare a parolelor. Parolele sunt memorate în fişierul /etc/shadow,
care nu poate fi accesat de către utilizatori. Implicit, această opţiune este
activată şi nu recomandăm modificarea acesteia.
o Activarea NIS (Network Information Service), LDAP (Lightweight Directory
Access Protocol), Kerberos sau SMB, protocoale de autentificare în reţea.
99
După selectarea pachetelor, programul de instalare verifică dependenţele dintre
pachete (anumite aplicaţii necesită şi alte aplicaţii pentru a funcţiona corect) şi va
solicita permisiunea de instalare a acestora.
15. Configurarea plăcii video
În general, programul de instalare poate determina singur tipul plăcii video din
sistem. În cazul în care această detectare a eşuat, din lista de plăci video cunoscute poate
fi aleasă placa în cauză. De asemenea, poate fi specificată dimensiunea memoriei video.
16. Instalarea pachetelor
Durata instalării pachetelor depinde atât de numărul de pachete selectate, cât şi
de performanţele calculatorului, putând varia între 10 şi 40 de minute.
În timpul instalării sunt afişate informaţii despre pachetul în curs de instalare,
precum şi despre evoluţia instalării.
Procesul de instalare a pachetelor creează un jurnal cu acţiunile întreprinse, în
/root/install.log.
17. Crearea unei diskete de boot
Este recomandată crearea unei diskete de boot, utilă în cazul în care ar apărea
probleme la pornirea sistemului Linux. Se utilizează o disketă goală, formatată în
prealabil, care nu trebuie să conţină sectoare defecte. Această disketă nu va fi formatată
FAT (MS-DOS) şi deci nu va putea fi utilizată în alt sistem de operare decât 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 eşuează, trebuie selectat monitorul din lista de tipuri cunoscute.
Sistemul va testa configuraţia aleasă. În cazul în care testul nu se încheie în
câteva secunde, acesta poate fi încheiat utilizând combinaţia de taste Ctrl+Alt+
Backspace.
Personalizarea sistemului X Window
Se selectează adâncimea culorii (de exemplu High Color – 16 bit, True Color –
32 bit etc.), rezoluţia ecranului (spre exemplu, 800×600, 1024×768 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] Distribuţii de Linux: http://www.linuxiso.org
[3] Situl Red Hat: http://www.redhat.com
Referatele de laborator vor conţine: descrierea etapelor realizate pentru instalarea
sistemului de operare LINUX, schema partiţionării 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 partiţiilor
În activitatea de
întreţinere şi depanare a unui
sistem de operare, apare
adesea necesitatea
modificării dimensiunii şi a
tipului partiţiilor existente pe
harddisc. În această lucrare
de laborator se vor studia
câteva din programele
destinate modificării
partiţiilor.
101
o Split partitions ( împărţirea unei partiţii în două partiţii egale sau inegale,
fără 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ă partiţii într-una singură, nemodificând
datele, chiar dacă acestea sunt diferite)
o Explore partitions ( explorarea conţinutului unei partiţii înainte de executarea
unei operaţiuni)
o Boot from an additional hard disk drive( flexibilitatea bootării de pe hard
disk-uri adiţionale)
o Automatic operating system detection ( detectarea sistemelor de operare
şterse accidental)
o Modify, copy, move partitions ( modificarea, copierea şi mutarea partiţiilor
deja existente)
o Install multiple operating sistems on one PC( posibilitatea de instalare a mai
multor sisteme de operare pe acelaşi calculator)
o Recover lost or deleted partitions ( recuperarea partiţiilor pierdute sau şterse)
o Edit a hard disk drive (editarea hard disk-urilor).
Tehnologii oferite:
o Crearea şi ştergerea partiţiilor de orice tip
102
o Formatarea partiţiilor
o Optimizarea automată a spaţiului de pe hard disk
o Conversia partiţiilor FAT16 <=> FAT32, Linux Ext2 <=> Ext3 fără pierderi
de date
o Schimbarea marimii clusterelor automat sau manual
o Navigarea prin informaţiile detaliate ale hard disk-urilor sau fişierelor de
sistem
o Ascunderea sau vizualizarea tuturor partiţiilor
o Vizualizarea operaţiilor 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 Protecţia sistemelor de operare multi-boot cu parola
o Clonarea sistemelor de operare prin back-up
o Protecţie antivirus la bootare.
Programul GDISK este un utilitar DOS inclus în pachetul Norton Ghost 2001.
El este unul din cele mai bune instrumente de partiţionare, înlocuind cu succes FDISK-
ul pus la dispoziţie de către sistemul de operare Windows. Prin intermediul sau pot fi
create, şterse sau modificate mărimile unei game variate de partiţii, de la FAT, FAT32,
NTFS pana la Ext2. Şi pentru GDISK gama de opţiuni şi switch-uri în linia de comandă
este mare, lucru care contribuie la obţinerea unui control crescut al operaţiei de
partiţionare.
Daca nu aveţi acces la un program specializat, Windows XP permite
managementul partiţiilor la un nivel mai simplu (creare, ştergere, schimbare literă) din
Control Panel -> Administrative Tools -> Computer Management, selectând apoi
Storage -> Disk Management.
104
Introducere în sisteme de operare
Laborator 9
Lucrul cu programul Partition Magic
Partiţionarea harddiscului prezintă mai multe avantaje:
Cel mai important aspect este ca împărţirea hardului sa fie bine gândită. Altfel
apare riscul de a avea prea mult spaţiu liber pe unele partiţii şi mult prea puţin pe altele.
Nu exista o “formulă” exactă pentru aceasta. În cazul partiţiilor pentru fişiere temporare
pot exista nişte recomandări, dar cam atât. De exemplu, în cazul fişierului SWAP (prin
care Windows suplimentează memoria RAM ţinând pe hard într-un fişier 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 partiţionare este PartitionMagic 8.0. Primul pas ce trebuie făcut
înainte de partiţionare este instalarea programului de partiţionare.
Al doilea pas este să fie făcută o defragmentare a tuturor partiţiilor ce urmează a
fi implicate in proces. Prin defragmentare sunt grupate datele si este evitata pierderea lor
in timpul operaţiunii.
Elementele principale ale ecranului iniţial sunt:
105
Ecranul iniţial al programului Partition Magic
A. Se dă click mai întâi 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 apărea o fereastra în care poţi specifica:
o tipul partiţiei (Primary - este partiţia principală pe care este instalat sistemul
de operare şi de pe care poate boota calculatorul; Extended - grupează restul
spaţiului liber în afară de partiţia principală; Logical -
marchează partiţiile din partea Extended şi nu poate fi create până nu a fost
creată cea Extended)
o litera ce urmează a fi atribuita noii partiţii
o modul de alocare (NTFS este modul de alocare pentru Windows NT, 2000,
XP, 2003 si Vista)
o eticheta partiţiei (este utilă numai pentru utilizator)
o poziţia partiţiei (dacă să fie creată pornind de la începutul său de la sfârşitul
zonei nealocate)
o dimensiunea noii partiţii (implicit este dimensiunea maximă nealocată -
poate fi definită şi ca procent din spaţiul 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 partiţii (fiecare punct reprezintă un ecran):
1. o descriere a ceea ce face wizardul;
2. poziţia partiţiei (recomandabil este să fie la sfârşit);
3. oferă posibilitatea de a lua din spaţiul liber disponibil pe alte partiţii pentru
noua partiţie (ia numai de pe cele bifate - implicit sunt bifate toate);
106
4. stabileşti dimensiunea (implicit este trecută valoarea spaţiului nealocat, iar
valoarea maxima tine cont şi de spaţiul liber pe celelalte partiţii selectate la
pasul anterior), eticheta, tipul, modul de alocare şi litera ce urmează a fi
atribuite noii partiţii;
5. arată cum va fi alocarea spaţiului pe hard după efectuarea operaţiunii şi cere
confirmarea.
După ce se dă OK (sau Finish în a doua varianta), operaţiunea de creare va
apărea în lista de operaţii. Operaţiunea in sine nu va avea loc decât după ce se dă si
Apply.
108
o operaţiune tipică - dacă ai creat o noua partiţie sau dacă ai schimbat litera
aferentă unei partiţii (selectezi litera care trebuie căutată şi cea noua care
o va înlocui)
o operaţiune de unire - dacă ai unit două partiţii şi toate datele de pe una
din vechile partiţii sunt acum într-un director pe cea nouă (selectezi litera
care trebuie căutată şi directorul unde au fost mutate datele de pe
respectiva partiţie)
3. poţi bifa dacă sa fii întrebat pentru validare la fiecare modificare
4. după ce apeşi Finish, programul va începe modificarea referinţelor.
109
Pentru a anula fişierul SWAP de pe o partiţie trebuie să selectezi partiţia din
lista, sa bifezi “No paging file” şi să apeşi butonul Set.
Pentru a crea un nou fişier SWAP pe altă partiţie trebuie să selectezi partiţia din
lista, să bifezi “Custom size” sau “System Managed” şi să apeşi butonul Set.
Diferenţa între “Custom size” si “System Managed” este că la prima fişierul are
dimensiunile (minimă şi maximă) stabilite de utilizator, iar la a doua Windows
creşte/scade dimensiunea fişierului în funcţie de necesităţi.
Este de preferat să fie stabilită o dimensiune constantă (punând la dimensiunile
minim şi maxim aceeaşi valoare) pentru a evita fragmentarea partiţiei. O valoare care ar
trebui să acopere necesităţile unui sistem obişnuit ar fi de 1,5 GB (1536 MB).
Pentru ca noile setări 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 către
compania PowerQuest (realizatorii lui Partition Magic), este unul din programele cele
mai vechi de acest fel existente pe piaţă. Este configurabil (atât ca partiţii care vor fi
activate, setarea unor parole pentru activarea partiţiilor, sau modificarea acestor setări)
din cadrul unui program ce rulează în Windows, dar se pot face si din DOS. Modul de
selecţie a partiţiilor de pe care se va realiza operaţiunea de boot este foarte simplu si
intuitiv.
110
Introducere în sisteme de operare
Laborator 10
Crearea partiţiilor sub sistemul de operare Linux
Crearea partiţiilor 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 partiţii
primare şi un număr mai mare de partiţii logice obţinute prin subdivizarea unei partiţii
primare. O singură partiţie primară poate fi subdivizată.
111
Partition Mount point Size
/dev/hda8 /usr (1.5 gigs)
/dev/hda9 /home (rest of drive)
112
Introducere în sisteme de operare
Laborator 11
Programe pentru crearea imaginii partiţiilor
Extinderea numărului de sisteme de operare cu care utilizatorii lucrează în mod
obişnuit a fost luată în considerare de către Symantec, aceasta firma făcând posibilă,
prin intermediul lui Norton Ghost 2001, realizarea de imagini ale unor partiţii sau
discuri pe care este instalat si Windows 2000 sau Me. Una din noutăţile cele mai
importante ale acestei noi versiuni se referă la suportul pentru partiţii de tip Ext2
(Linux), care acum pot fi clonate la fel de uşor ca şi partiţiile native Windows, singurul
impediment fiind acela ca pentru a putea fi realizata o clonare a unei partiţii Ext2, este
necesara fie existenta unei partiţii DOS, pe care sa fie instalat programul Norton Ghost
2001, fie crearea unei dischete de boot pe care sa fie incluse instrumentele necesare.
In funcţie de necesităţi, se pot realiza imagini ale unui întreg harddisk, sau numai a unei
anumite partiţii de pe acest harddisk. In oricare dintre aceste situaţii, utilitarul Ghost
Explorer va permite introducerea sau extragerea anumitor fişiere 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ă alături de o
flexibilitate crescută şi un grad ridicat de protecţie a datelor. Numărul ridicat de opţiuni
care pot fi incluse în linia de comandă a utilitarului cu care se realizează imaginea
permit automatizarea şi controlul amănunţit al procesului de backup, lucru foarte util
pentru administratorii de sistem ce trebuie să deservească un număr mare de staţii de
lucru. Manualul care vine odata cu pachetul software prezintă detaliat aceste opţiuni şi
oferă câteva sfaturi pentru cazurile cele mai des întâlnite.
In conformitate cu tendinţa de globalizare a comunicării, şi de dezvoltare a
reţelelor de calculatoare, majoritatea companiilor au un sistem propriu de organizare a
datelor în cadrul unei reţele interne. Munca de întreţinere a unei astfel de reţele este
destul de anevoioasă, mai ales atunci când nu exista posibilitatea monitorizării constante
a modului de funcţionare, sau când exista foarte multe staţii de lucru. Instalarea şi
configurarea unui sistem de operare este o operaţiune ce consuma destul de mult timp şi
necesită o atenţie deosebită din partea celui ce o realizează. In acest context, piaţa
software a început să ofere programe de asistenţă şi de realizare automată a unor astfel
de operaţiuni.
Cum era de aşteptat, compania Symantec a realizat o versiune a pachetului de
programe utilitare Norton Ghost dedicată lucrului în reţea. Versiunea Enterprise a
Norton Ghost vine în întâmpinarea cerinţelor administratorilor de reţea şi oferă o
modalitate rapidă de clonare a staţiilor de lucru aflate într-o reţea. Norton Ghost face
inutila utilizarea unor programe de partiţionare manuală a harddisk-ului, dacă există
deja o imagine a unui sistem cu care să se poată lucra. Pentru extinderea facilităţilor
oferite de Norton Ghost, se pot folosi aplicaţiile Ghost Multicast Server ce va asigura
transmiterea simultană a unor fişiere ce conţin imagini ale unor sisteme, spre o aplicaţie
Norton Ghost ce rulează pe mai multe staţii prin intermediul unei singure adrese IP.
Ghost Walker identifica şi asociază un cod unic SID, pentru staţiile de lucru Windows
NT ce sunt clonate. Aplicaţia Ghost Explorer permite modificarea fişierului imagine,
pentru ştergerea sau adăugarea anumitor directoare. Comenzile de formatare a
harddiskului FDISK si FORMAT sunt înlocuite cu GDISK, comanda ce permite o mai
113
buna utilizare a spaţiului de lucru, obţinerea unor informaţii detaliate despre partiţiile
aflate pe un harddisk si ascunderea anumitor partiţii.
Pachetul Norton Ghost este format reţea. Norton Ghost face inutilă utilizarea
unor programe de partiţionare manuala a harddisk-ului, dacă există deja o imagine a
unui sistem cu care să se poată lucra. Pentru extinderea facilităţilor oferite de Norton
Ghost, se pot folosi aplicaţiile Ghost Multicast Server ce va asigura transmiterea
simultana a unor fişiere ce conţin imagini ale unor sisteme, spre o aplicaţie Norton
Ghost ce rulează pe mai multe staţii prin intermediul unei singure adrese IP. Ghost
Walker identifica şi asociază un cod unic SID, pentru staţiile de lucru Windows NT ce
sunt clonate. Aplicaţia Ghost Explorer permite modificarea fişierului imagine, pentru
ştergerea sau adăugarea anumitor directoare. Comenzile de formatare a harddiskului
FDISK si FORMAT sunt înlocuite cu GDISK, comandă ce permite o mai bună utilizare
a spaţiului de lucru, obţinerea unor informaţii detaliate despre partiţiile aflate pe un
harddisk şi ascunderea anumitor partiţii. Pachetul Norton Ghost este format din doua
module, Norton Ghost Console - un server ce are drept funcţie principala managementul
operaţiunilor de clonare, şi de realizare a unor operaţii post clonare pe staţiile de lucru
client, în acest fel fiind eliminată nevoia de realizare a unor discuri boot-abile pentru
realizarea clonării. Pe fiecare staţie de lucru este necesară instalarea Norton Ghost
Console Client, pentru realizarea operaţiunilor de remote control, pe aceste staţii putând
rula Windows 9x, NT sau 2000. Informaţiile despre fiecare staţie de lucru sunt stocate
într-o bază de date, aplicaţia server fiind capabilă să identifice numele fiecărei maşini,
grupul de lucru din care aceasta face parte, domeniul de lucru, descrierea maşinii
respective precum şi setările TCP/IP. Operaţiunea de clonare se poate face fie prin
intermediul unei reţele 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 rând prin uşurinţa in
folosire, pentru aceasta nefiind necesare cunoştinţe foarte avansate, şi în al doilea rând
prin faptul ca uşurează extrem de mult munca unui administrator de reţea.
Programul Partition Image este un utilitar Linux/UNIX care poate salva
partiţiile de diferite formate într-un fişier imagine. Fişierul imagine poate fi comprimat
în format GZIP/BZIP2 şi divizat în mai multe fişiere. Partiţiile pot fi salvate şi prin
reţea.
Programul Partition Image copiază doar informaţia din porţiunile folosite ale
partiţiei pentru creşterea vitezei şi eficienţei programului. Dacă se dă comanda „dd”
atunci vor fi copiate în imagine şi blocurile goale ale partiţiei.
În lucrarea de laborator se vor realiza şi restaura imagini ale partiţiilor atât sub
sistemul de operare Windows cât şi Linux.
114
Introducere în sisteme de operare
Laborator 12
Instalarea mai multor sisteme de operare pe acelaşi
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 acelaşi calculator
mai multe sisteme de operare (lipsa spaţiului pe harddisk era elementul principal, dar şi
puţinele alternative în ceea ce priveşte sistemele de operare) şi de aceea utilizarea
exclusivă a unuia sau a altuia elimină de obicei posibilitatea de îmbinare a acestora. La
momentul actual, piaţa sistemelor de operare este foarte vastă, de la multe variante de
SO-uri bazate pe UNIX, şi până la cele oferite de către Microsoft (Windows
9x/Me/NT/2000/XP), iar tentaţia de a le încerca pe toate şi de a le face sa coexiste pe
acelaşi sistem este foarte mare. Dacă majoritatea sistemelor vin cu propriile managere
de boot (LILO pentru sistemele Linux, NTLoader pentru Windows NT/2000), totuşi
acestea sunt destul de limitate de obicei şi nu vă oferă chiar tot ce v-aţi dori, ca sa nu
mai vorbim de facilitatea în configurare. In aceste condiţii, utilizatorii de calculatoare
s-au văzut nevoiţi să caute noi modalităţi de a accesa diversele SO-uri instalate pe
harddisk-urile din sistem şi inevitabil au apărut programe dedicate care uşurează
semnificativ această muncă.
Organizare interna
Harddisk-ul este locul în care sunt depozitate toate datele necesare funcţionării
unui sistem de operare. Locurile fixe in care sunt stocate informaţiile 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ă creşterii capacităţii de
stocare a acestor suporturi, precum şi de limitările de adresare pe care le-au impus
sistemele de operare mai vechi si BIOS-ul, singura zona care a rămas practic
neschimbata a fost zona denumita MBR (Master Boot Record). Aceasta se găseşte in
primul sector de pe harddisk şi conţine informaţii despre toate partiţiile existente pe
harddisk-ul respectiv.
Informaţiile sunt grupate în trei categorii şi anume, codul de iniţializare (Initial
loader code), un program care este pornit de către BIOS imediat după încărcarea 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 conţine numai informaţiile de iniţializare
pentru sistemul de operare existent.
Cea de-a doua informaţie este tabela de partiţii (se afla la offset-ul 0x1BE in
MBR) şi conţine informaţii despre partiţiile de pe disk. Numai una dintre acestea poate
fi marcata ca fiind bootabila (sau activă).
În ultima porţiune (ultimii 2 bytes) se afla o sumă de control prin care se verifică
dacă MBR-ul a fost încărcat corect şi nu exista erori de alocare a partiţiilor care ar putea
duce la deteriorarea datelor de pe harddisk. Mai este o problema care trebuie lămurită, ş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 rândul sau, un volum logic poate
115
fi reprezentat de către o partiţie primara sau o partiţie 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ă acelaşi lucru ca şi file system
boot sector, conţinând elementele prezentate anterior. File system boot sector poate fi
primul sector de pe una din aceste partiţii.
Managerul de boot
Pentru a putea ocoli aceste limitări datorate arhitecturii harddisk-ului din punct de
vedere logic, au fost create programele denumite Boot Manager, care se ocupa cu
alocarea eficientă a partiţiilor şi schimbarea în timpul rulării (acolo unde este nevoie) a
partiţiilor active, precum şi a zonelor de alocare a datelor.
Majoritatea programelor noi din aceasta categorie permit rularea fără dureri de
cap a mai multor sisteme de operare instalate pe acelaşi harddisk, şi ajută utilizatorul sa
aibă un număr mare de alegeri în ceea ce priveşte sistemele de operare utilizate. Multe
dintre ele vin şi cu un instrument propriu de partiţionare care ajută la organizarea
fiecărei partiţii în parte şi la setarea atributelor necesare în vederea utilizării.
In momentul actual, numărul aplicaţiilor boot manager este ridicat, unele dintre acestea
oferind chiar interfeţe grafice pentru configurare şi alegere a sistemului de operare dorit,
alegerea uneia sau a alteia dintre aceste aplicaţii 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ă urmând să decideţi
dacă ele vă sunt de folos şi care este cel mai potrivit.
La treabă
Înainte de a vă apuca să utilizaţi un astfel de program, este bine să vă faceţi mai
întâi o lista cu sistemele de operare pe care doriţi să le instalaţi, precum şi cu cerinţele
minime de spaţiu liber pe harddisk pe care le au acestea, precum şi un backup al
documentelor importante pe care le deţineti pe harddisk-ul pe care doriţi să instalaţi mai
multe sisteme de operare. Al doilea pas la fel de important este realizarea unei dischete
de boot cu ajutorul opţiunii din Control Panel- Add/Remove Programs - Startup Disk.
Mai trebuie să dezactivaţi din BIOS opţiunea de Virus Warning, şi să fiţi atenţi să
dezactivaţi programul antivirus care este în memorie atunci când rulaţi o aplicaţie de tip
boot manager, deoarece acesta poate interpreta operaţiunea de scriere a sectorului de
boot ca fiind una realizată de către un posibil virus şi să încerce blocarea ei.
Dacă dintr-un motiv sau altul, operaţiunea de instalare a unui nou boot manager
nu a reuşit, şi sistemul dumneavoastră nu mai boot-ează, intraţi cu o dischetă de sistem
şi daţi următoarea comanda: FDISK /MBR, care are ca efect rescrierea porţiunii MBR.
În cazul în care nu au fost şterse fizic partiţiile, ar trebui să aveţi din nou un sistem
funcţionabil.
Steaua... „călăuzitoare„
BootStar oferă posibilitatea de alegere a până la 15 partiţii primare de pe care să
poată fi încărcate diferite sisteme de operare. Tipul de partiţie specific fiecărui sistem de
operare în parte poate fi selectat direct din programul propriu de partiţionare, fapt ce
uşurează semnificativ procesul de alocare si organizare a spaţiului disponibil. Programul
beneficiază de posibilitatea de instalare pe orice platforma Windows, precum şi de
funcţii de securitate pentru protejarea prin parola a accesului la anumite partiţii, dar şi
de ascundere a acestora. Instalarea şi dezinstalarea să se face fără prea mare greutate, iar
selecţia partiţiilor pe care se face boot-area se face dintr-un meniu grafic. Pentru
situaţiile în care din diferite motive MBR a fost deteriorat şi nu se mai poate face o
116
încărcare corectă, puteţi crea o discheta de salvare pe care să fie stocate datele necesare
pentru restaurarea acestuia.
Vrăjitorul pentru boot
Având o utilizare foarte largă, BootWizard Pro poate manipula un număr 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ă fără 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 partiţii de tip
FAT16 sau FAT32, şi are incluse module care verifica compatibilitatea între fişierele
sistemelor de operare instalate, precum şi verificarea de viruşi a executabilului de
încărcare. Poate rula şi de pe dischete de sistem, fără a afecta modul de alocare a
partiţiilor. Modificarea partiţiilor (FAT16 si FAT32) existente se poate face on-thefly,
fără pierderea datelor.
Trecutul devine legenda
In comparaţie cu celelalte programe prezentate până acum, LegendOS BM poate
părea mai greoi. Chiar dacă face parte din categoria aplicaţiilor freeware, LegendOS
BM nu este totuşi o aplicaţie care sa poată fi folosită de orice utilizator, necesitând ceva
mai multe cunoştinţe despre calculatoare şi modul de funcţionare a acestora. Instalarea
se face uşor, direct din fişierul 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, totuşi, configurarea acestora este un pic mai
dificil de realizat. Dacă nu sunteţi familiarizaţi cu parametrii de funcţionare ai harddisk-
ului, vă sfătuiesc să ocoliţi acest program.
Directorul de partiţii
Lista de functii şi operaţiuni pe care le poate realiza programul MasterBooter
este foarte mare. Sistemele de operare care sunt susţinute includ pe lângă cele standard
(Microsoft, Linux) şi unele mai puţin utilizate precum SCO OpenServer, OS/2 (Warp,
Merlin), Solaris, Oberon, Theos, BeOS. Partiţiile 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 partiţii care permite realizarea unor operaţiuni pentru
modificarea parametrilor funcţionali ale acestora. Configurarea profilelor de boot-are
este facilă, făcându-se direct din meniul de instalare.
Biblioteca pentru SO-uri
Utilitarul MSTBOOT permite utilizarea a până la 12 sisteme de operare pe
acelaşi calculator. Instalarea sa presupune realizarea unei dischete de boot, care apoi
permite configurarea opţiunilor, şi atunci când este nevoie dezinstalarea aplicaţiei. Toate
funcţiile pot fi accesate dintr-un meniu grafic, dar şi prin intermediul unor parametri
linie comandă.
Cărăuşul
Unul din cele mai bune programe pentru managementul boot-arii este OSL2000
(Operating System Loader 2000). Numărul de sisteme de operare care pot fi utilizate pe
acelaşi 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
decât cel care este selectat ca fiind harddisk-ul boot-abil. Meniul de selecţie a partiţiilor
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 uşoară.
Ordine şi curăţenie
117
Managerul de boot şi utilitarul de partiţionare Ranish Partition Manager vă oferă
câteva modalităţi uşoare de configurare a partiţiilor de lucru. Pot fi menţinute patru
partiţii active la nivelul unui singur harddisk. Modulul de boot management are incluse
în el funcţii de verificare a fişierului pentru eventualele infecţii cu viruşi. Se poate
configura o opţiune 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 număr mare de sisteme de operare, iar opţiunea Smart Boot Manager
permite realizarea unei boot-ări de pe CD-ROM. Selecţia parametrilor pentru meniurile
grafice (rezoluţie display, mouse) se face din meniul grafic, şi permit o funcţionare
optimă în momentul boot-ării. Selecţia partiţiilor este un pic mai dificilă, pentru cei care
nu au cunoştinţe despre modul de organizare a partiţiilor pe harddisk putând apărea
probleme serioase în funcţionare (sistemul nu mai boot-ează).
Un magician pentru dvs.
Programul BootMagic realizat de către compania PowerQuest (realizatorii lui
Partition Magic) este unul din programele cele mai vechi de acest fel existente pe piaţă.
Este configurabil (atât ca partiţii care vor fi activate, setarea unor parole pentru activarea
partiţiilor, sau modificarea acestor setări) din cadrul unui program ce rulează în
Windows, dar se pot face şi din DOS. Modul de selecţie a partiţiilor de pe care se va
realiza operaţiunea de boot este foarte simplu şi intuitiv.
Managerul Linux
Cei care lucrează frecvent cu sistemele de operare Linux au făcut deja cunoştinţă
cu LILO (Linux Loader), progrămelul care vă invita să selectaţi sistemul de operare care
doriţi să fie încărcat. Făcând parte din mediul Linux (criptic încă pentru mulţi
utilizatori), LILO este oarecum greu de configurat pentru utilizatorul care nu are
cunoştinţe bune despre sistemul de operare Linux şi organizarea harddisk-ului, dar pune
la dispoziţie instrumentele necesare pentru a avea o pleiada de sisteme de operare pe
harddisk. Cea mai recentă versiune de LILO oferă posibilitatea de alegere a opţiunilor
din meniuri, care sunt, totuşi, realizate în mod text, dar cei care se pricep pot crea şi
meniuri grafice impresionante.
Aveţi mare grijă!
După cum am mai spus, aveţi mare grijă atunci când rulaţi un program de tip
boot manager, deoarece utilizarea în mod defectuos a acestora poate duce în cel mai
fericit caz la ştergerea informaţiilor din MBR, iar în cel mai rău la pierderea tuturor
datelor pe care le aveţi pe harddisk. Dacă, totuşi, operaţiunea de instalare a unui boot
manager a eşuat, iar încercarea dumneavoastră de a restaura zona MBR cu FDISK
/MBR a fost zadarnică, dar puteţi avea acces la fişierele de pe harddisk, problema se
poate rezolva uşor prin reinstalarea sistemului de operare. Baftă la lucru, atenţie la
configurare şi cât mai multe sisteme de operare funcţionale pe un singur sistem!
118
SISTEME DE OPERARE
Laborator 1
Utilizarea funcţiilor sistem DOS
1. Apeluri de funcţii sistem
Rutinele DOS sunt apelate prin întreruperi software. Întreruperea 21h (INT 21h)
este serviciul pentru apelul funcţiilor. Ea permite accesul la o mare varietate de resurse
DOS.
Pentru un apel al unei funcţii sistem DOS, se procedează astfel:
- se încarcă numărul funcţiei în registrul AH;
- se încarcă (dacă este necesar) numărul subfuncţiei î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 funcţii necesită ca parametrii şiruri de caractere ASCII (de exemplu, nume
de fişiere, căi, etc). În acest caz, şirul trebuie să aibă contorul binar 0 la sfârşit
(terminator este caracterul nul), iar ca parametru se transmite adresa şirului.
Numărul funcţiilor a crescut odată cu versiunile sistemului de operare, existând
în prezent şi funcţii cu acţiuni similare, dar cu numere diferite. În acest caz, se
recomandă utilizarea celei cu număr mai mare.
Pentru înţelegerea acestor funcţii, care în parte se acoperă, reamintim pe scurt
istoricul sistemului de operare DOS.
Dezvoltarea sistemului s-a făcut în trei paşi 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 următoare (2.x) au adus structura de fişiere asemănătoare
sistemului
UNIX, şi o tratare consecventă a erorilor, relativ la care se foloseşte
următoarea convenţie:
dacă operaţia cerută s-a executat corect, indicatorul CARRY
(CF) va fi nul;
în caz de eroare, indicatorul CARRY este poziţionat şi se
returnează în cont de eroare în registrul AX.
3. Începând cu versiunea a treia, s-au adăugat funcţii pentru lucrul cu reţele, cu
fişiere partajate, funcţii noi pentru gestionarea proceselor, precum şi o
funcţie importantă pentru tratarea erorilor (59h), care oferă informaţii exacte
119
despre originea unei (eventuale) erori la ultima funcţie apelată, precum şi
sugestii (codificate) referitor la posibilităţi de tratare a erorii.
Cea mai importantă diferenţă între funcţiile vechi şi cele noi constă în modul de
tratare al fişierelor.
În cazul funcţiilor vechi, programul trebuie să pregătească un Bloc de Control al
Fişierului (FCB-File Descriptor Block).Funcţiile noi necesită pentru tratarea fişierelor
doar adresa numelui de fişier, returnând o valoare numită indicator logic de fişier
(handle), prin care acesta va fi identificat în operaţiile de intrare/ieşire.
Utilizarea funcţiilor vechi prezintă avantaje şi dezavantaje:
o Pot fi citite direct din FCB anumite informaţii, care în cazul funcţiilor
noi pot fi preluate doar prin apeluri de funcţii (nu se cunoaşte FCB-
ul, ci numai un număr logic al fişierului ).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 spaţiul de memorie pentru FCB şi să
completeze câmpurile lui. Această muncă numai este necesară la
funcţiile noi.
Cel mai mare avantaj al noilor funcţii îl constituie posibilitatea redirectării
fişierelor standard:
o intrare standard (identificator logic 0);
o ieşire standard (identificator logic 1);
o eroare standard (identificator logic 2);
Funcţiile sistem pot fi apelate şi dintr-un limbaj de nivel înalt, al cărui module
pot fi pot fi legate cu module scrise în limbaj de asamblare. În plus, majoritatea
limbajelor de nivel înalt au prevăzute rutine de bibliotecă pentru execuţia directă al
acestor funcţii.
Observaţie:
Când DOS preia controlul după un apel de funcţie, se face un salt la o stivă
internă, salvându-se toţi registrele neutilizate pentru returnare de informaţii (cu excepţia
registrului AX). Ca urmare, stiva programului apelant trebuie să fie suficient de mare
pentru a se adapta sistemului de întreruperi (cel puţin 128 de octeţi în plus, faţă de alte
cerinţe).
Dos reţine care zone de memorie sunt alocate, scriind un bloc de control la începutul
fiecărei zone de memorie. Acesta conţine dimensiunea zonei de memorie, numele
procesului(dacă există) care o posedă şi un pointer la următoarea zonă de memorie.
Funcţia 48h - alocarea memoriei
Funcţia 49h - eliberarea memoriei alocate
Funcţia 4Ah - modificarea alocării memoriei (SET BLOCK)
Funcţia 58h - obţinerea/selectarea strategiei de alocare
Pentru anumite apeluri de funcţii, versiunile DOS mai vechi necesitau păstrarea
unui FCB (cu diferite informaţii) pentru fiecare fişier. Aceste funcţii care tratează
fişierele prin FCB-uri au fost păstrate pentru compatibilitate.
Funcţia 00h - terminarea programului
Funcţia 0fh - deschiderea unui fişier, utilizând FCB
Funcţia 10h - închiderea unui fişier, utilizând FCB
Funcţia 11h - căutarea primului fişier potrivit, utilizând FCB
Funcţia 12h - căutarea următorului fişier potrivit , utilizând FCB
Funcţia 13h - ştergerea unui fişier, utilizând FCB
Funcţia 14h - citirea secvenţială, utilizând FCB
Funcţia 15h - scrierea secvenţială, utilizând FCB
Funcţia 16h - crearea unui fişier, utilizând FCB
Funcţia 17h - redenumirea unui fişier, utilizând FCB
Funcţia 21h - citirea în acces direct, utilizând FCB
Funcţia 22h - scrierea în acces direct, utilizând FCB
Funcţia 23h - obţinerea dimensiunii unui fişier, utilizând FCB
Funcţia 24h - poziţionarea câmpului Articol în acces direct, utilizând FCB
Funcţia 26h - crearea unui PSP
126
Funcţia 27h - citirea multiplă în acces direct, utilizând FCB
Funcţia 28h - scrierea multiplă în acces direct, utilizând FCB
Noile versiuni DOS utilizează noţiunea de identificator logic, care se poate referi
la un fişier, director sau dispozitiv. Există 5 identificatoare logice standard, deschise
implicit.
Identificator Dispozitiv Observaţii
logic de fişier standard
0 Intrare Poate fi redirectat din linia de comandă.
1 Ieşire Poate fi redirectat din linia de comandă.
2 Eroare
3 Auxiliar
4 Imprimantă
Versiunea DOS 3.0 a introdus partajarea fişierelor, care permite ca mai multe
procese sa aibă acelaşi fişier. Funcţiile care traversează aceasta problema au efect doar
după execuţia comenzii DOS SHARE, care instalează partajarea fişierelor.
Funcţia 3Dh - Deschiderea unui fişier, utilizând un identificator logic
Funcţia 440hD - IOCTL: modificarea numărului de reîncercări
Funcţia 5Ch - Blocare/Deblocarea acestui fişier
Reţelele MicroSoft constau dintr-un server şi una sau mai multe staţii de lucru.
DOS păstrează o staţie care indica drivere şi dispozitive ale unei staţii de lucru care au
fost redirectate către server.
Aceste reţele sunt tratate de următoarele funcţii:
Funcţia 440Dh - IOCTL: dispozitivul logic se află la distanţă?
Funcţia 440Dh - IOCTL: identificatorul logic se află la distanţă?
Funcţia 5E00h - obţinerea numelui maşinii
Funcţia 5E02h - poziţionarea antetului imprimantei de reţea
Funcţia 5F02h - obţinerea unei intrări in lista de redirectări
Funcţia 5F03h - redirecţionarea unui dispozitiv de reţea
Funcţia 5F04h - anularea redirecţionării unui dispozitiv de reţea
Restul funcţiilor sistem tratează resurse diferite, cum ar fi drivere adrese şi ceas.
Funcţia 0Dh - resetarea discului
Funcţia 2Eh - selectarea unităţii implicite
128
Funcţia 19h - obţinerea unităţii curente implicite
Funcţia 1Ah - modificarea adresei zonei de transfer a discului (DTA)
Funcţia 1Bh - obţinerea informaţiilor FAT pentru unitatea curentă
Funcţia 1Ch - obţinerea informaţiilor FAT pentru unitatea specifica
Funcţia 25h - poziţionarea vectorului de întrerupere
Funcţia 29h - analiza unui nume de fişier
Funcţia 2Ah - obţinerea datei sistem curente
Funcţia 2Bh - poziţionarea datei sistem curente
Funcţia 2Ch - obţinerea orei sistem curente
Funcţia 2Dh - poziţionarea orei sistem curente
Funcţia 2Eh - poziţionarea /repoziţionarea indicatorului VERIFY
Funcţia 2Fh - obţinerea adresei DTA curente
Funcţia 30h - obţinerea numărului versiunii DOS
Funcţia 33h - poziţionarea/obţinerea stării pentru CTRL/C
Funcţia 35h - obţinerea vectorului de întrerupere
Funcţia 36h - obţinerea spaţiului liber pe disc
Funcţia 38h - obţinerea/poziţionarea informaţiilor dependente de tară
Funcţia 54h - verificarea stări indicatorului VERIFY
Funcţia 59h - obţinerea informaţiilor suplimentare despre o eroare
Acestea au fost păstrate pentru compatibilitate cu versiunile DOS mai vechi. Toate au
însă corespondenţe noi şi se recomandă a nu fi utilizate dacă nu este strict necesar.
129
Funcţia 01h realizează citirea unui caracter de la dispozitivul de intrare standard
(în mod normal tastatura) şi afişarea lui la dispozitivul standard de ieşire (în mod
normal ecranul). Dacă se detectează Ctrl/Break sau Ctrl/C, se generează INT 23h.
Pentru apelul funcţiei, se folosesc regiştri:
AH – încărcat cu 01h.
Funcţia returnează în registrul AL caracterul citit.
Observaţii:
1. Pentru tastele speciale (cursor, taste funcţionale F1-F12,… ) sunt necesare
două apeluri. Primul returnează 0 în AL, al doilea codul ASCII extins.
2. Pentru informaţii suplimentare, a se vedea funcţiile 06h, 07h, 08h, 0Ah, 0Ch.
130
3. afişarea caracterului ‘linie nouă’ se face în mod normal prin perechea
CR+LF (ASCII 13h urmat de ASCII 0Ah).
4. Pentru informaţii suplimentare, a se vedea funcţiile 02h, 06h.
Pentru utilizarea funcţiilor sistem în C++, cel mai adesea se foloseşte funcţia
INTDOS care se găseşte in biblioteca dos.h.
In continuare se dau exemple corespunzătoare 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(®s, ®s);
/* 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(®s, ®s);
/* Poate fi folosit echivalent: int86x
vezi exemplul pentru utilizare */
printf("\n Tasta apasata %c",char(regs.h.al));
scanf("%c");
}
134
Un exemplu de afişare a unităţii 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 conţine patru programe în care s-au folosit câte
două funcţii sistem la alegere. Funcţiile 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 funcţionează atât sub sistemul de operare
Windows cât ş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ă unităţile centrale de tip 286 şi
386 în modul real, Directory File Szstem/XMS/EMS.
Emulatorul se lansează cu ajutorul comenzii DOSBox şi se afişează fereastra
următoare.
mount C D:\laborator\dos
Dacă în directorul montat se află alte directoare, acestea vor fi văzute în unitatea
virtuală creată şi vor putea fi folosite.
Pentru a ieşi 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 operaţii în emulatorul DOS:
- cu ajutorul fişierelor loturi de comenzi se vor realiza mai multe directoare şi
se vor copia în mod selectiv fişiere în acestea;
- se vor crea fişiere loturi de comenzi la care să se poată da parametrii în linia
de comandă;
- se vor testa diferite programe DOS instalându-se în prealabil utilitarul
DOSVER.COM şi se va realiza un tabel cu aplicaţiile compatibile cu
DOSBox.
137
Sisteme de operare
Laborator 3 + 4
Lucrul sub sistemul de operare UNIX
Sistemul de fişiere al sistemului de operare UNIX (Linux) este prezentat în curs,
în paragraful 6.4, la pagina 50.
Detalii despre comenzile folosite se găsesc în manualul UNIX (Linux).
Comenzi utilizate în lucrarea de laborator (aflate în directorul /bin):
cat – concatenează fişierele şi le afişează pe ecran;
chgrp – schimbă grupul proprietar al unui fişier;
chmod – schimbă permisiunile de acces la un fişier;
chown – schimbă utilizatorul şi grupul de proprietari ai unui fişier;
cp – copiază conţinutul unui fişier în alt fişier;
dd – copiază fişiere din intrare în ieşire cu posibilitate de conversie;
ed – rulează editorul de text standard (numit ed);
ln – creează legături între fişiere;
ls – listează conţinutul unui fişier;
mkdir – creează un director;
mv – mută (redenumeşte) un fişier;
pr – afişează un fişier la terminal, pagină cu pagină;
pwd – afişează directorul curent, de lucru;
rm – şterge un fişier;
rmdir – şterge directoare.
139
Determinarea numărului de linii, cuvinte şi caractere utilizând comanda wc
Comanda wc (word count) poate fi utilizată pentru a afişa numărul de linii,
cuvinte, octeţi ai unui fişier text.
Aceasta comanda este utila atunci când se încearcă determinarea caracteristicilor
unui fişier sau când se compară două fişiere.
140
Sisteme de operare
Laborator 5
Intreţinerea sistemului de operare Windows
Sistemul de operare Windows furnizează o serie de instrumente destinate
întreţinerii cum sunt: Backup, Disk Cleanup, Disk Defragmenter, Files and Settings
Transfer Wizard, Scheduled Tasks, Security Center, System Restore etc. care se
găsesc în All Programs\Accessories\System.
De asemenea pe reţeaua Internet se găsesc o serie de programe utilitare destinate
întreţinerii sistemului.
141
ÎNTREBĂRI DE VERIFICARE
1. Alegeţi răspunsul 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 secvenţial cu administrarea automată a memoriei.
C. Un sistem de operare secvenţial cu administrarea neautomată a memoriei.
2. Alegeţi răspunsul cel mai potrivit din variantele prezentate mai jos. Încărcarea
şi lansarea în execuţie a sistemului de operare DOS presupune:
A. Existenţa sistemului de operare în memoria ROM a sistemului de calcul.
B. Existenţa pe un suport extern de memorie a programului bootstrap loader.
C. Apăsarea combinaţiei de taste Ctrl+Alt+Del.
3. Alegeţi răspunsul cel mai potrivit din variantele prezentate mai jos. Sub
sistemul de operare DOS memoria convenţională are dimensiunea de:
A. orice dimensiune.
B. 1MB.
C. 640kB.
6. Specificaţi care din noţiunile de mai jos descriu cel mai bine comenzile
sistemului de operare DOS.
A. Comenzile sistemului de operare DOS sunt în număr fix şi reprezintă limbajul de
comandă al acestuia.
B. Comenzile sistemului de operare DOS sunt similare funcţiilor sistem.
C. Comenzile sistemului de operare DOS sunt: comenzi interne şi comenzi externe.
7. Alegeţi varianta de răspuns corectă din cele prezentate mai jos. Sistemul de
operare UNIX este:
A. un sistem de operare secvenţial, multiutilizator.
B. un sistem de operare cu divizare în timp (time-sharing), secvenţial, multiutilizator.
142
C. un sistem de operare cu divizare în timp (time-sharing), multitasking,
multiutilizator.
10. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare este
corectă (ADEVĂRAT) sau incorectă (FALS). Sub sistemul de operare UNIX
fiecărui dispozitiv periferic îi este asociat un fişier special.
A. ADEVĂRAT
B. FALS
11. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare este
corectă (ADEVĂRAT) sau incorectă (FALS). Sub sistemul de operare UNIX
diferenţierea între fişierele executabile şi cele neexecutabile se face pe baza
extesiei numelui fişierului.
A. ADEVĂRAT
B. FALS
12. Alegeţi răspunsul 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 operaţia de montare a
volumului în arborele sistemului de fişiere.
14. Alegeţi răspunsul corect, în funcţie de modul în care definiţia următoare este
corectă (ADEVĂRAT) sau incorectă (FALS). Sub sistemul de operare
Windows nu este posibilă rularea programelor DOS.
A. ADEVĂRAT
B. FALS
143
15. În Windows98 numele unui fişier 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 căreia se
poate verifica dacă informaţia pe suportul extern de memorie (HDD) este
corectă:
A. ScanDisk
B. Defrag
C. Windows Update
144
BIBLIOGRAFIE
1. Păunescu Florin, Analiza şi concepţia sistemelor de operare, Editura Ştiintifică şi
Enciclopedică, Bucureşti, 1892
2. ***, Memento DOS, Editura Romanian Software Comp., Cluj-Napoca 1990
3. ***, DOS-5.0 ghid de referinţă al comenzilor, Editura ROMSOFT, Bucureşti
1992
4. ***, Sistemul de operare DOS. Ghidul programatorului, Editura Romanian
Software Comp., Cluj-Napoca 1991
5. ***, Sistemul de operare DOS. Funcţii 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. Mârşanu Radu, Sistemele de operare MS-DOS si UNIX. Utilizare WINDOWS,
LOTUS, WordPerfect, Editura Tehnică, Bucureşti, 1995
9. Pănoiu Alexandru, MS-DOS 5.0, Editura TEORA, Bucureşti, 1993
10. Popa Cornel, Oprea Eugen, Utilizarea calculatoarelor personale. Sistemul de
operare MS-DOS 5.0, Editura ECCE, Bucureşti 1992
11. Cecal Liana, Cele mai bune Tricks & Tips Windows, Editura Tehnică, Bucureşti,
1995
12. Pilat Vladimir Florin, WINDOWS 3.1., Editura TEORA, Bucureşti, 1993
13. Golcea Delia, Introducere in UNIX, Editura Memorii S.R.L. Timişoara
14. Iosif Ignat, s.a., UNIX - gestionarea fişierelor, Editura Microinformatica, Cluj,
1992
15. Pilat Florin Vladimir, Ştefanescu Irina, Sorin D., UNIX, Editura TEORA, Bucureşti,
1993
16. Oaualline Steve, Descoperiţi sistemul Linux, Editura TEORA, Bucureşti, 1998
17. Schumer Larry, Negus Chris, Utilizare UNIX, Editura TEORA, Bucureşti, 1998
18. Petzold Charles, Programare în Windows 95, Editura TEORA, Bucureşti, 1998
19. Crawford Sharon, ABC – Windows 95, Editura TEORA, Bucureşti, 1998
20. Bott Ed, Utilizare Windows 95, Editura TEORA, Bucureşti, 1998
21. Norton Peter, Ghid complet pentru Windows 95, Editura TEORA, Bucureşti,
1998
22. Levine R. John, Young Margaret, UNIX pentru Toţi, Editura TEORA, Bucureşti,
1998
23. Sharon Crawford, Heil Salking, Windows 98 – ABC, Editura TEORA, Bucureşti,
1998
145