Sunteți pe pagina 1din 144

MINISTERUL EDUCAIEI I CERCETRII UNIVERSITATEA DIN BACU FACULTATEA DE INGINERIE

SISTEME DE OPERARE

CUPRINS
pagina 1. 1.1. 1.2. 1.3. 1.4. 2. 2.1. 2.2. 2.3. 2.4. 2.5. 3. 3.1. 3.2. 3.3. 3.4. 3.5. 3.5.1. 4. 4.1. 4.2. 4.3. 4.4. 5. 5.1. 5.2. CAPITOLUL 1 Sistemul de operare. Definiie. Caracteristici. Generaliti Caracteristicile sistemelor de operare Tipuri de sisteme de operare Obiectivele sistemelor de operare CAPITOLUL 2 Administrarea informaiei Generaliti Reprezentarea i existena obiectelor Stabilirea cii de acces Interfaa cu administrarea resurselor Structura unui proces CAPITOLUL 3 Administrarea resurselor Generaliti Resurse, cereri, alocare Administrarea resurselor de calcul Concluzii Administrarea memoriei Administrarea memoriei principale CAPITOLUL 4 Controlul paralelismului Generaliti Procese (taskuri) Interaciunea ntre procese Resurse generalizate CAPITOLUL 5 Sistemul de operare DOS Generaliti Caracteristicile microprocesoarelor Intel din familia 80x86 5 5 7 8 9 10 10 10 11 11 12 13 13 13 15 19 20 20 22 22 23 24 25 27 27 27

SISTEME DE OPERARE 5.2.1. Modurile de funcionare 5.2.2. Registrele interne 5.2.3. ntreruperile 5.3. ncrcarea i lansarea n execuie a sistemului de operare DOS 5.4. Organizarea memoriei sub sistemul de operare DOS 5.5. Configurarea sistemului (fiierul CONFIG.SYS) 5.6. Fiierul AUTOEXEC.BAT 5.7. Organizarea i specificarea fiierelor sub DOS 5.8. Comenzile sistemului de operare DOS 5.9. Funcii sistem 5.10. ntreinerea sistemului de operare DOS 6. 6.1. 6.2. 6.3. 6.4. 6.4.1. 6.4.2. 6.4.3. 6.4.4. 6.5. 6.6. 6.7. 6.8. 6.9. 6.9.1. 6.9.2. 7. 7.1. 7.2. 7.3. 7.4. 7.5. CAPITOLUL 6 Sistemul de operare UNIX Generaliti Structura general a sistemului de operare UNIX Accesul n sistem Structura fiierelor sub sistemul de operare UNIX Tipuri de fiiere Structura arborescent a sistemului de fiiere Protecia fiierelor. Drepturi de acces. Montarea volumelor n arborele sistemului de fiiere Operarea sub sistemul de operare UNIX Instalarea sistemului de operare UNIX Iniializarea sistemului de operare UNIX Sesiunea de lucru Administrarea i ntreinerea sistemului de operare UNIX Administrarea sistemului ntreinerea i securitatea sistemului CAPITOLUL 7 Sistemul de operare Windows Generaliti Utilizarea programelor DOS sub Windows 9x Arhitectura sistemului de operare Windows Descrierea suprafeei de lucru (DESKTOP) ntreinerea sistemului de operare Windows LABORATOR A. INTRODUCERE N SISTEME DE OPERARE Laborator 1 - Caracteristicile fizice i capacitatea harddiscului Laborator 2 - Partiionarea harddiscurilor Laborator 3 - Partiionarea harddiscurilor (continuare) Laborator 4 - Formatarea Laborator 5 - Instalarea sistemului de operare DOS Laborator 6 - Instalarea sistemului de operare Windows

3 27 28 31 32 34 40 40 41 42 46 47 47 48 49 50 50 51 51 53 53 55 55 56 56 56 57 58 58 59 61 62 63

64 69 75 79 83 85

SISTEME DE OPERARE ntrebri de test Laborator 7 - Instalarea sistemului de operare LINUX Laborator 8 - Managementul partiiilor Laborator 9 - Lucrul cu programul Partition Magic Laborator 10 - Crearea partiiilor sub sistemul de operare Linux Laborator 11 - Programe pentru crearea imaginii partiiilor Laborator 12 - Instalarea mai multor sisteme de operare pe acelai sistem de calcul B. SISTEME DE OPERARE Laborator 1 - Utilizarea funciilor sistem DOS Laborator 2 - Emulatorul DOS Laborator 3 + 4 - Lucrul sub sistemul de operare UNIX Laborator 5 - Intreinerea sistemului de operare Windows ntrebri de verificare BIBLIOGRAFIE

4 86 92 100 104 110 112 114

118 135 137 140 141 144

SISTEME DE OPERARE

CAPITOLUL 1
1. Sistemul de operare. Definiie. Caracteristici.
1.1. Generaliti

Sistemul de operare este componenta software cea mai important a unui calculator numeric. Din acest motiv, performanele unui sistem de calcul sunt n mod esenial influenate de performanele sistemului de operare. n prezent exist nu numr foarte mare de sisteme de operare, fiecare dintre acestea prezentnd anumite avantaje pentru diferite situaii de utilizare a unui sistem de calcul. Prezena unui sistem de operare nu este absolut necesar pentru funcionarea unui calculator. Sisteme de calcul mai simple sau mai complexe pot funciona cu programe ce au doar rol de gestionare a resurselor calculatorului, fr ca partea de interfa cu utilizatorul s fie foarte dezvoltat. n general, astfel de sisteme de calcul sunt reprezentate de calculatoare de proces de complexitate relativ redus care nu necesit intervenia operatorului dect prin comenzi simple. n acest caz, sistemul de operare este nlocuit cu un program de complexitate mai redus, numit n general program monitor. Din acest punct de vedere, calculatoarele pot fi mprite n dou mari categorii: calculatoare de uz general i calculatoare specializate. Prin calculator de uz general nelegem, n acest context, un calculator numeric ce poate acoperi o gam larg de aplicaii i la care dialogul cu operatorul uman este consistent. Calculatoarele specializate au un domeniu ngust de aplicare ele fiind destinate anumitor aplicaii bine definite, avnd o funcionare autonom i la care intervenia operatorului uman este redus sau chiar inexistent. De exemplu, partea de comand a unei imprimante este reprezentat de fapt de un misrosistem. Chiar i pentru imprimantele foarte performante, dialogul cu operatorul se rezum la apsarea ctorva butoane i aprinderea unor diode LED. Pentru creterea gradului de confort a utilizatorului, marea majoritate a imprimantelor actuale pot dialoga prin intermediul interfeei cu sistemul de calcul la care este conectat, utiliznd posibilitile sistemului de operare a acestuia n scopul afirii unor mesaje sau introducerea unor comenzi. Legtura dintre programul monitor ce se gsete n memoria microsistemului imprimantei i sistemul de operare al calculatorului la care este conectat imprimanta este asigurat de ctre programul driver. Pentru calculatoarele specializate de complexitate mare exist sisteme de operare de tip special care acoper necesitile unor astfel de sisteme de calcul. n prezent se manifest tendina de a generaliza utilizarea sistemelor de operare destinate sistemelor de calcul de uz general (n special a sistemelor de operare Windows, Windows NT i UNIX i variante ale

SISTEME DE OPERARE 6 acestora) i la sistemele de calcul specializate. Aceast tendin este justificat din cel puin dou puncte de vedere. n primul rnd, comanda sistemelor de calcul specializate devine mult mai simpl pentru o clas mult mai mare de utilizatori, trecerea de la operarea pe un calculator de uz general pe unul specializat fcndu-se fr probleme majore iar n al doilea rnd, creterea complexitii i a performanelor sistemelor de operare destinate calculatoarelor de uz general, precum i apariia n structura acestora a unor elemente specifice sistemelor de operare specializate, permite utilizarea sistemelor de operare destinate calculatoarelor de uz general i la calculatoarele specializate. n figura 1.1 este prezentat schematic structura programelor unui calculator numeric. Aplicaii Sistem de BIOS
Structura fizic a calculatorului (hardware)

Dialog cu operatorul prin intermediul unui limbaj de comand

operare utilizator
Fig. 1.1. Structura programelor unui calculator numeric

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

SISTEME DE OPERARE 7 deci interpretul cerinelor utilizatorului, exprimate ntr-un limbaj de control (sau de comand).

1.2.

Caracteristicile sistemelor de operare

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

SISTEME DE OPERARE 8 7. Transparena i vizibilitatea: exprim pe de o parte proprietatea unui sistem de a face invizibil utilizatorului ceea ce se afl sub interfaa de utilizare care i se ofer i pe de alt parte, capacitatea lui de a permite utilizatorilor si s obin anumite informaii despre modul cum el lucreaz, informaii de care n mod teoretic ei nu au nevoie pentru a beneficia de o utilizare complet, ns care ar putea s-i ajute la obinerea unei utilizri mai eficiente.

1.3.

Tipuri de sisteme de operare

Pe baza caracteristicilor sistemelor de operare enunate anterior se poate face o clasificare a acestora, clasificare recunoscut aproape unanim: o o o o sisteme secveniale; sisteme cu multiprogramare; sisteme cu prelucrare multipl; sisteme n timp real.

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

SISTEME DE OPERARE 9 n timp real dac deciziile elaborate de acesta sunt emise la momentul oportun, adic sunt aplicate procesului condus nainte ca ele s-i piard valavilitatea.

1.4.

Obiectivele sistemelor de operare

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

SISTEME DE OPERARE

10

CAPITOLUL 2 2. Administrarea informaiei


2.1. Generaliti

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

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

obiect/reper

Ri obiect

Fig. 2.1. Definirea obiectelor

Prin compunerea funciei de acces D cu una sau mai multe funcii de acces Ri, se obine calea de acces la un obiect, care permite, la un moment dat, trecerea de la identificator la obiectul propriu-zis. Memoria, ca suport al informaiei, poate fi privit la acest nivel ca un ir de amplasamente caracterizate n orice moment printr-un coninut. Un amplasament poate

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

2.3.

Stabilirea cii de acces

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

Natura obiectelor i prevederea posibilitii partajrii acestora nu determin n ntregime reprezentarea lor; trebuie inut cont i de limitarea dimensiunii suportului fizic. Memoriile sunt limitate din punctul de vedere al capacitii i prezint timpi de acces foarte variai. n plus instruciunile nu pot fi executate dect dac se afl n

SISTEME DE OPERARE 12 memoria central, ceea ce impune un grad de mobilitate a obiectelor pe suporturile fizice disponibile. Aceast interferen cu gestiunea resurselor fizice complic administrarea informaiei i pentru a separa cele dou funciuni s-a introdus noiunea de memorie fictiv, definit ca fiind o memorie principal ipotetic suficient de mare pentru a conine toate obiectele sistemului. Orice obiect al sistemului are o structur proprie, care poate fi reprezentat astfel, fr restricii de capacitate, n memoria fictiv (fig. 2.2.).

obiectele sistemului

ADMINISTRARE NUME

Memoria fictiv

ADMINISTRARE RESURSE

MEMORIA FIZIC

Fig. 2.2. Administrarea resurselor

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

2.5.

Structura unui proces

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

SISTEME DE OPERARE

13

CAPITOLUL 3
3. Administrarea resurselor
3.1. Generaliti

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

3.2.
RESURSE

Resurse, cereri, alocare

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

SISTEME DE OPERARE 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 CONSUMATOARE DE RESURSE PROCES CONTROL INTR|RI PROCES CONTROL IEIRI SUPORT PERIFERICE VIRTUALE

INTRARE

INTRARE UNIC IEIRE UNIC

IEIRE

Fig. 3.1. Utilizarea perifericelor virtuale

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

SISTEME DE OPERARE CERERI

15

Pentru a stabili strategiile de alocare ale diverselor resurse ale unui sistem de calcul trebuie identificate att originea (sursa) cererilor de alocare ct i forma sub care acestea sunt prezentate. Cererile de alocare se pot prezenta sub dou forme: implicit i explicit. De exemplu un proces care trece din starea blocat n starea ntrerupt devine n mod automat (implicit) pretendent la ocuparea unitii centrale. Cererile explicite de alocare sunt fcute n general prin instruciuni ale limbajului de comand. Totalitatea cererilor (explicite i implicite) de resurse care trebuie satisfcute la un moment dat constituie ncrcarea sistemului. ALOCARE Alocarea const n totalitatea aciunilor prin care sistemul prin alocatoarele corespunztoare, reuete s satisfac cererile de resurse. Orice cerere este prezentat n ultim instan alocatorului resurselor de tipul solicitat. Alocatorul rspunde la fiecare cerere n conformitate cu strategia de alocare stabilit, dup consultarea strii resursei dorite. Strategia adoptat pentru o clas de resurse se poate ncadra n unul din cazurile: satisfacerea oricrei noi cereri, refuzarea cererii n situaia n care resursa nu este disponibil, amnarea satisfacerii cererii cu nregistrarea ei ntr-o coad de ateptare. Satisfacerea oricrei cereri noi presupune disponibilitatea resursei n cauz i actualizarea catalogului resursei dup alocare. O cerere se soldeaz cu un refuz n cazul n care resursa nu este disponibil i nici nu s-a prevzut o coad de ateptare asociat. Solicitantul primete refuzul i acioneaz n conformitate cu o strategie proprie. Administrarea unei cozi de ateptare asociat resursei permite nregistrarea cererilor care nu pot fi satisfcute imediat i luarea lor n consideraie, n conformitate cu organizarea cozii, la apariia unui din evenimentele: modificarea strii resursei ca urmare a unei eliberri efectuate de unul din posesori, semnalizarea printr-un eveniment exterior a unei retrageri posibile, sau dispariia unei condiii de nealocare. n momentul n care condiiile de alocare sunt ndeplinite, se realizeaz alocarea propriu-zis n conformitatate cu algoritmul prevzut i se actualizeaz catalogul resursei respective.

3.3.

Administrarea resurselor de calcul

Resursele de calcul sunt constituite din unitatea central (cazul sistemelor monoprocesor) sau unitile centrale (cazul sistemelor multiprocesor). La un moment dat un singur proces poate fi n curs de execuie pe o unitate central i se spune c aceasta este alocat procesului respectiv. Dac mai multe procese solicit serviciile procesorului este necesar planificarea lor n execuie, care const n administrarea unei/unor cozi de ateptare. Punerea n practic a strategiei de alocare alese cade n sarcina alocatorului unitii centrale, care trebuie s satisfac cererile ce-i sunt prezentate. Totodat el trebuie s respecte anumite restricii cum ar fi: asigurarea terminrii execuiei oricrui proces ntr-un interval de timp finit (eventual nainte de un termen cerut de utilizator), respectarea unei prioriti prestabilite ntre procese.

SISTEME DE OPERARE 16 Principalele tipuri de strategii utilizate pentru administrarea resurselor de calcul sunt strategiile pe baz de prioritate, strategiile pe baz de termen sau combinaii ale acestora. De asemenea strategiile de alocare a unitii centrale pot fi strategii cu un pas sau strategii cu mai muli pai. Aceste tipuri de baz nu sunt utilizate n general ca atare, sistemele de operare actuale utiliznd strategii sofisticate obinute prin combinatrea acestor tipuri de baz. Strategii pe baz de prioritate Prioritatea este un numr asociat fiecrui program (proces) - indicat n mod explicit de utilizator sau evaluat de sistem pe baza unor indicaii date de utilizator (de exemplu, necesiti de resurse) i a unor informaii de control obinute prin msurtori. Planificarea lucrrilor este fcut ntr-o singur coad n care procesele sunt aezate n ordinea prioritii sau mai multe cozi, fiecare coad de ateptare avnd o anumit prioritate. n acest din urm caz lucrrile dintr-o anumit coad sunt luate n considerare numai n momentul cnd toate cozile asociate prioritilor mai mari sunt vide. Implementarea poate fi fcut cu sau fr rechiziia unitii centrale, n caz afirmativ, la introducerea unei noi lucrri se ntrerupe lucrarea n curs i se compar prioritile lor; dac prioritatea noii lucrri sosite este mai mare, unitatea central este retras celei n curs, care se ntoarce n coada de ateptare i este alocat noii lucrri. Strategii pe baz de termen Cnd terminarea execuiei unor lucrri este imperativ (conducerea n timp real a proceselor) strategia pe baz de prioritate poate fi nesatisfctoare. Pentru a imagina o strategie de planificare corespunztoare este necesar s se cunoasc durata de execuie a lucrrii n cauz, dar i informaii despre ncrcarea sistemului. Corelnd toate aceste informaii se poate asocia unei astfel de lucrri o prioritate variabil care s creasc odat cu apropierea termenului solicitat. Stategii cu un pas n acest caz, dup alocarea unitii centrale unui proces, aceasta nu mai este eliberat dect dup terminarea execuiei lucrrii. n continuare sunt prezentate principalele tipuri de strategii cu un pas. Strategia FIFO (First In First Out) n esen aceast strategie aa cum arat i numele se bazeaz pe principiul: primul venit, primul servit. Alocatorul administraz o coad de ateptare simpl; fiecare lucrare nou este introdus n irul de ateptare i i se aloc unitatea central dup ce toate predecesoarele sale, n timp, i-au terminat execuia (fig. 3.2).

intrare
n+2

n+1 n

...

alocare

UNITATE CENTRAL

ieire

Fig. 3.2. Srategia FIFO

SISTEME DE OPERARE Strategia LIFO (Last In First Out)

17

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

alocare 0 1 2 ...
n n+1

UNITATE CENTRAL

ieire

intrare n+2 Fig. 3.3. Srategia LIFO

Dac intervalele ntre sosirile noilor lucrri sunt scurte n raport cu duratele de execuie ale lucrrilor deja existente n irul de ateptare, acestea risc s atepte n mod nedefinit pn la obinerea unitii centrale. Strategia SXFS (Shortest eXecution First Service) Aceast strategie utilizeaz durata de execuie a lucrrilor i anume, i propune s acorde o prioritate mai mare lucrrilor scurte. Pentru aceasta, n coada de ateptare lucrrile sunt aranjate n ordinea cresctoare a timpilor de execuie (fig. 3.4). Aceast strategie favorizeaz lucrrile scurte n detrimentul celor lungi. Acest lucru este i mai pregnant n cazul n care ponderea lucrrilor scurte este mai mare; timpul de rspuns pentru lucrrile lungi poade deveni astfel inacceptabil de mare.
alocare
d0> d1>

... dn> dn=1

UNITATE CENTRAL

ieire

intrare d2> Fig. 3.4. Srategia SXFS

Trebuie menionat faptul c durata de execuie a unei lucrri trebuie cunoscut apriori i c sistemul trebuie s primeasc aceast informaie de la utilizator. Din acest motiv pot apare erori datorate greelilor de estimare a duratei de execuie de ctre utilizator cu consecine nedorite asupra calitii serviciilor oferite de sistem. Strategia EDFS (Earliest Deadline First Service) Aceast strategie se bazeaz pe faptul c procesul cu cel mai scurt termen final s fie primul servit (s i se aloce unitatea central). Este o strategie similar cu cea prezentat mai sus, cu diferena c, prioritatea alocat lucrrii se refer la termenul impus pentru terminarea acesteia i nu la durata lucrrii.

SISTEME DE OPERARE Strategii cu mai muli pai

18

Strategiile ntr-un singur pas pot prezenta anumite inconveniente n special n ceea ce privete durata de execuie a anumitor programe. Din acest motiv, n strategiile cu mai muli pai, un proces nu este executat integral atunci cnd i se aloc unitatea central. n aceste strategii fiecrui proces i se aloc o cuant de timp dup care procesul este reintrodus n coada de ateptare. n acest fel ntr-un anumit interval de timp (dup un numr de cuante de timp), tuturor proceselor din coada de ateptare li se va aloca unitatea central. Astfel de sisteme se numesc cu divizare n timp (time-sharing) Strategia carusel-simplu (Round robin) Aceast strategie este similar strategiei FIFO, dinpunc de vedere al administrrii cozii de ateptare, n schimb alocarea procesului este fcut numai pe durata unei anumite cuante de timp c.
retur alocare

intrare n+1 n
n+2

...

UNITATE CENTRAL

ieire

Fig. 3.5. Srategia carusel simplu

Dac procesul nu se termin n cursul alocrii curente, atunci el se rentoarce n coada de ateptare (fig. 3.5). Presupunnd c timpul real de execuie este t, atunci procesul trece prin coada de ateptare de n ori, n fiind cel mai mic numr ntreg care satisface relaia:

t nc
Se garanteaz prin aceast metod c orice lucrare este servit la captul unui interval de timp finit: momentul alocrii procesorului unui proces nu mai depinde de timpii estimai de execuie ai lucrrilor sosite nainte. Parametrul c este fixat n funcie de tipul i obiectivele sistemului de operare. Strategia-carusel multiplu Strategia carusel-multiplu este o extensie a strategiei precedente prin definirea mai multor valori pentru cuanta de timp, c1 < c2 ...... < cm. Pentru fiecare cuant ci este administrat o coad de tip FIFO, Ci (fig. 3.6). Cnd un proces devine solicitant de unitate central, este introdus n C1 iar o lucrare aparinnd cozii Ci (i >1) nu poate face obiectul unei alocri dect atunci cnd cozile Cj , 1 j < i, sunt vide. Trecerea proceselor dintr-o coad de ateptare n alta este determinat de relaia care exist ntre timpul real de execuie i valorile cuantei; dac execuia unui proces provenit din coada Ci nu se termin pe durata unei cuante ci, atunci el

SISTEME DE OPERARE 19 este introdus n coada de ateptare Ci+1 pentru orice i < m. Dac procesul provine din Cm i la expirarea cuantei cm nu s-a terminat, el revine n aceeai coad de ateptare.
retur
cm

c1

alocare

UNITATE CENTRAL

ieire

c0

intrare Fig. 3.6. Srategia carusel multiplu

3.4.

Concluzii

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

SISTEME DE OPERARE

20

3.5.

Administrarea memoriei

Administrarea memoriei sistemului de calcul se refer att la administrarea memoriei principale (memoria intern) ct i la administrarea memoriei auxiliare (memoria extern). 3.5.1. Administrarea memoriei principale Administrarea neautomat Administrarea neautomat se refer la posibilitile de administrare a memoriei principale a sistemului de calcul, fr a fi posibil utilizarea memoriei secundare (externe), n scopul execuiei programelor. Maina vid Aceast metod este cea mai simpl tehnic de gestiune a memoriei: memoria central este alocat n ntregime i n mod permanent unui singur program utilizator. Dac exist un al doilea nivel de memorie, utilizatorul trebuie s-i gestioneze singur, n mod explicit, transferurile de informaie ntre memoria principal i cea secundar. Utilizator unic i rezident Aceast metod de gestiune a memoriei i propune s rezolve problema nlnuirii automate a lucrrilor. n acest scop se introduce un program cunoscut sub numele de supervizor. Supervizorul rmne n memoria central (ncrcat ntr-o zon rezervat, numit rezident) pe parcursul execuiei tuturor programelor utilizatorilor, care au la dispoziie cea mai mare parte a memoriei principale. Sarcinile principale ale supervizorului sunt: o s asigure continuitatea ncrcrii sistemului; n momentul n care execuia programului curent este terminat, controlul este preluat de supervizor care iniiaz execuia urmtorului program, adic l ncarc n memoria central i i cedeaz controlul procesorului; o s iniializeze i s achite operaiile de intrare/ieire cerute de utilizatori; o s trateze erorile provocate de hardware i de software (de baz sau de aplicaie); o s pun la dispoziia utilizatorilor proceduri standard, utilizate n mod frecvent. Partiii fixe Memoria principal destinat utilizatorilor este decupat ntr-un anumit numr de zone de dimensiune fix (numite partiii) n care se ncarc cte un program utilizator. Utilizatorii sunt deci izolai n aceste partiii fixe, cel puin pe durata execuiei unui program. Utilizarea partiiilor fixe necesit existena unui mecanism prin care supervizorul s aloce unitatea central proceselor existente n memorie.

SISTEME DE OPERARE Partiii variabile

21

Aceast metod este o extensie a tehnicii partiiilor fixe, care permite o exploatare mai supl i mai economic a memoriei centrale. Spaiul utilizatorilor este divizat ntr-un numr arbitrar de zone de dimensiuni variabile (numite partiii variabile), corespunztoare dimensiunilor programelor ce urmeaz s se execute n aceste partiii. Supervizorul ajusteaz numrul i dimensiunile partiiilor, n funcie de ncrcarea sistemului. Pentru implementarea acestei metode trebuie s existe un mecanism hardware de protecie a partiiilor i un mecanism de relocare dinamic a programelor. Administrarea automat Administrarea automat se refer la posibilitile de administrare a memoriei principale a sistemului de calcul mpreun cu memoria secundara (extern), n scopul execuiei programelor. Aceast metod duce la creterea eficienei n exploatare a resurselor i mbuntirea timpului de rspuns a sistemului. Segmentarea i memoria virtual O memorie segmentat poate fi definit ntr-un calculator al crui mecanism de adresare este capabil s interpreteze partea de adres a unei instruciuni ca un cuplu (s, d), unde s este identificatorul (numele) unui segment, iar d este o deplasare relativ n acest segment. Memoria virtual (sau fictiv) este o memorie central ipotetic, suficient de mare pentru a conine toate segmentele procesului (sistemului). Fiecare segment are o structur proprie care este aplicat, prin funcia de gestiune a numelor, n memoria virtual (spaiul segmentelor), pe durata sa de existen. Alocatorul trebuie s realizeze proiecia spaiului segmentelor n memoria fizic, printro funcie de topografie (mapping). Problema care se pune este de a determina cum i n ce moment trebuie realizat aceast funcie. Soluia ideal este de a realiza aceast transformare n momentul execuiei procesului; orice adres virtual este tradus, prin funcia de topografie, ntr-o adres fizic, n momentul n momentul n care este utilizat pentru a avea acces la memoria central. Acest mod de traducere a adreselor autorizeaz relocarea dinamic a segmentelor. Gestiunea cu zone de dimensiune fix Metodele de gestiune aparinnd acestei familii, presupun c memoria central de capacitate M este decupat (o dat pentru totdeauna) ntr-un anumit numr de zone de dimensiune fix, numite pagini de memorie fizic. n acest context, descriptorii care definesc starea ocuprii memoriei centrale pot fi grupai ntr-o tabel de pagini. Utilizarea memoriei secundare presupune existena unui mecanism de paginaie care decupeaz spaiul virtual de adresare a unui proces n zone de dimensiune fix numite pagini virtuale. Astfel unei pagini virtuale i se poate asocia orice pagin fizic liber.

SISTEME DE OPERARE

22

CAPITOLUL 4
4. Controlul paralelismului
4.1. Generaliti

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

SISTEME DE OPERARE

23

4.2.
Clasificare

Procese (taskuri)

Din punct de vedere al periodicitii (periodicitate reprezint numrul de cuante de timp alocate procesului respectiv) de lansare din cadrul executivului procesele se mpart n: o procese cu periodicitate fix (cuanta de timp alocat procesului respectiv rmn nemodificat pe tot parcursul existenei procesului respectiv); o procese cu periodicitate automat - declarat iniial de ctre utilizator dar care poate fi modificat de ctre programul dispecer n mod automat, n momentul n care activitatea taskului depete cuanta de timp alocat; Din punct de vedere al prioritii, procesele se mpart de asemenea n: o procese cu prioritate fix; o procese cu prioritate dinamic. Strile proceselor ntr-un sistem de calcul procesele se pot gsi n una din strile urmtoare: o activ taskul respectiv deine controlul unitii centrale; o gata de execuie (n ateptare) taskul poate lua controlul procesorului de ndat ce executivul l lanseaz, n funcie de prioritatea alocat; o blocat (suspendat) taskul ateapt producerea unui eveniment sau eliberarea unei resurse. Modul de descriere a proceselor Prentru realizarea cerinelor impuse de funcionarea n paralel, taskul, pe lng seciunea de program care implementeaz funcia propriu-zis a taskului, trebuie s furnizeze anumite informaii executivului. Aceste informaii sunt exprimate prin intermediul unor descriptori. Descriptorii sunt de 2 tipuri: o descriptori statici - configurai de utilizator la nceputul aplicaiei, care exprim: prioritatea alocat procesului; adresa la care se gsete programul ce reprezint activitatea propriu-zis; indicatorul de stiv pentru stiva proprie a taskului; periodicitatea sa de lansare - din cte n cte lansri ale dispecerului i se cedeaz controlul; faptul c procesul este cu periodicitate automat sau nu; dac procesul este considerat la instalare gata de execuie sau este lansat din cadrul altui task.

SISTEME DE OPERARE 24 o descriptori dinamici - rezervai de ctre dispecer n zona RAM alocat acestuia: cuvntul stare al taskului respectiv; starea registrului taskului; adresa de retur la urmtoarea cedare a controlului de ctre dispecer; resursa pe care este blocat procesul la un moment dat.

n categoria proceselor cu periodicitate modificabil automat se includ: o procesele a cror activitate poate ocupa la un moment dat mai multe cuante de timp, dar se dorete s fie tratate "simultan" cu alte procese cu prioritate mai mic; o procesele care funcioneaz "permanent" (care nu se blocheaz pe resurse sau prin terminarea activitii). Dispecerul rezolv executarea "simultan" a n astfel de procese existente la un moment dat, acordnt fiecruia n mod ciclic procesorul pentru cte o cuant de timp din n cuante succesive. n momentul n care un astfel de proces ncepe s desfoare o activitate care nu mai ocup o cuant de timp ntreag, periodicitatea sa este n mod automat redus pn la valoarea 1, asigurnd creterea corespunztoare a vitezei de rspuns a nucleului n raport cu stimulul supravegheat. Opiunea de periodicitate automat poate preveni blocarea accidental de ctre un task care blocheaz execuia taskurilor cu prioritate inferioar.

4.3.

Interaciunea ntre procese

Problema interaciunii ntre taskuri poate fi redus la: o sincronizare - care asigur ealonarea execuiei task-urilor n timp, fie sincronizarea execuiei n funcie de: declanarea unui eveniment exterior; satisfacerea unei condiii de timp impuse; apariia unor rezultate pariale transmise ntre task-uri;

o excluderea mutual - care arbitreaz accesul simultan al mai multor taskuri la una i aceeai resurs a sistemului; o transferul de mesaje ntre taskuri; Sincronizarea Sincronizarea execuiilor proceselor poate fi realizat prin: o sincronizarea direct; o sincronizarea indirect prin evenimente; o sincronizarea indirect prin semafoare.

SISTEME DE OPERARE 25 Un semafor este definit de perechea (V(S), C(S)) unde V(S) este valoarea semaforului, iar C(S) este o coad de ateptare destinat s primeasc procesele care eueaz n ncercarea lor de a trece de acest semafor. Excluderea mutual Esena problemei excluderii mutuale const n utilizarea corect a resurselor cu un singur punct de intrare. Excluderea mutual este folosit n utilizarea resurselor critice iar la nivelul unui proces, secvena de tratare a unei resurse critice se numete seciune critic. Soluia pentru o problem de acest tip trebuie s satisfac urmtoarele condiii: o utilizarea exclusiv (la un moment dat numai un proces se poate afla n seciunea sa critic pentru aceeai resurs); o evitarea blocajului reciproc (dac mai multe procese sunt blocate n ateptarea aceleiai resurse critice i aceasta nu este ocupat, atunci unul dintre aceste procese trebuie s fie capabil s intre n seciunea sa critic la captul unui interval finit de timp); o evitarea dependenelor inutile (dac un proces este blocat n afara unei seciuni critice, acest blocaj nu trebuie s mpiedice intrarea unui alt proces n seciunea sa critic); o uniformitatea soluiei (soluia trebuie s fie identic pentru toate procesele, n sensul c nici un proces nu trebuie s joace un rol privilegiat n scopul obineriisoluiei cutate) n sensul celor prezentate mai sus, pentru utilizarea unei resurse critice se poate utiliza metoda ateptrii active care presupune introducerea unei variabile care s indice eliberarea resursei critice i posibilitatea procesului de a intra n seciunea critic. Comunicarea ntre procese Transferul de mesaje ntre taskuri se poate realiza prin dou metode: o comunicarea prin zone comune; o comunicarea prin mesaje - permite att comunicarea de informaie ct i rezolvarea problemelor de sincronizare a proceselor n coresponden.

4.4.

Resurse generalizate

Dispecerul utilizeaz pentru rezolvarea problemelor de interaciune ntre tascuri i de acces la resursele sistemului de calcul mecanisme de tipul semafoarelor, a cutiilor potale i a bufferelor de transfer. Acestea sunt descrise cu ajutorul un tip unic de resurs generalizat, caracterizat prin intermediul a dou elemente care constituie descriptorul static la deschiderea resursei: o capacitatea n mesaje a bufferului; o lungimea n octei a unui mesaj.

SISTEME DE OPERARE Semafoare

26

Semafoarele sunt n mod tipic utilizate pentru sincronizarea taskurilor cu diferite evenimente, cu momente de timp i pentru arbitrarea accesului mai multor taskuri la o resurs comun a sistemului. Semafor poate fi definit n termenii elementelor resursei generalizate prezentate mai sus ca o resurs generalizat cu capacitatea bufferului egal cu zero. Cutii potale Cutia potal se obine prin deschiderea unei resurse generalizate cu capacitatea bufferului diferit de zero i lungimea mesajelor egal cu zero. Acest tip de rezerv servete ca nregistrator de evenimente identice, aciunea taskului ce produce evenimente fiind de a incrementa indicele de umplere a resursei, iar taskul ce consum evenimentele de a decrementa acest indice. Buffere de transfer Bufferul de transfer reprezint o resurs generalizat cu capacitate n masaje i lungimea mesajelor nenule. Operaile posibile asupra unui buffer de transfer: o o o o depunere mesaj (cu test sau blocare); preluare mesaj (cu test sau blocare); tergere buffer; test indice de umplere a bufferului.

SISTEME DE OPERARE

27

CAPITOLUL 5
5. Sistemul de operare DOS
5.1. Generaliti

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

5.2. 80x86

Caracteristicile microprocesoarelor Intel din familia

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

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

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

Registrele microprocesorului pot fi grupate din punct de vedere al rolului pe care l au n execuia instruciunilor: grupul registrelor generale AX, BX, CX, DX (registre de 16 bii); grupul registrelor indicatoare de adres (pointer): SP, BP (registre de 16 bii); grupul registrelor index: SI, DI (registre de 16 bii); grupul registrelor de segment CS, DS, ES, SS (registre de 16 bii), la microprocesoarele ncepnd cu 80386 mai departe, aprnd dou registre suplimentare FS i GS; registrul adresei instruciunii curente: IP (registru de 16 bii) iar la microprocesoarele ncepnd cu 80386 mai departe, registrul este notat cu EIP i are 32 de bii.

SISTEME DE OPERARE 29 Registrele generale (AX, BX, CX, DX) sunt utilizate n instruciunile aritmetice i logice. Majoritatea instruciunilor aritmetice utilizeaz n acelai mod toate registrele. Exist ns instruciuni aritmetice pentru care anumite registre au semnificaii speciale. Astfel, registrul AX constituie registrul implicit pentru anumite instruciuni i este denumit de obicei registru acumulator, registrul BX este utilizabil ca registru de baz n instruciunile care folosesc adresarea indexat, CX este utilizat de obicei drept contor n instruciunile repetitive iar registrul DX este utilizat n operaiile de nmulire i mprire sau poate s conin adresa unui port pentru instruciunile de intrare/ieire. Toate cele 4 registre generale pot s fie utilizate i ca perechi de registre de 8 bii. n tabelul de mai jos sunt specificate registrele de 16 bii i notaiile corespunztoare utilizrii perechilor de registre de 8 bii.
Registrul pe 16 bii AX BX CX DX Registrul pe 8 bii superior AH BH CH DH Registrul pe 8 bii inferior AL BL CL DL

ncepnd cu microprocesorul 80386, cele patru registre de uz general sunt pe 32 de bii, fiind notate cu EAX, EBX, ECX, EDX. Registrul AX corespunde prii inferioare (celor mai puin semnificativi 16 bii) a registrului EAX, BX corespunde prii inferioare (celor mai puin semnificativi 16 bii) a registrului EBX, i aa mai departe. Registrele indicatoare de adres (SP, BP) sunt registre care conin adrese relative n segmentul de stiv curent. Pentru microprocesoarele pe 32 de bii (ncepnd cu 80386) registrele sunt notate ESP i EBP, regitrii mai sus menionai corespunznd celor mai puin semnificativi 16 bii. Registrul (E)SP are semnificaia de adres curent a vrfului stivei. De obicei registrul (E)BP este utilizat pentru a permite accesul la informaia coninut n stiv fr a o extrage din stiv. Registrul (E)BP poate fi utilizat i pentru adresarea altor segmente. De asemenea registrele (E)SP i (E)BP pot s fie utilizate n anumite instruciuni aritmetice i logice ca registre de 16 bii. Registrele index (SI, DI) sunt utilizate n general pentru adresarea indexat, coninnd adrese relative n segmentul de date curent. Segmentul implicit utilizat n adresare poate s fie modificat prin utilizarea n instruciuni a unor prefixe speciale. Similar, la microprocesoarele aprute ncepnd cu 80386 se folosesc registre index pe 32 de bii notate ESI i EDI. Registrele index sunt utilizate ca registre index implicite n instruciunile de transfer sau prelucrare pe iruri de octei. n acest caz registrul (E)SI conine adresa relativ curent a irului surs n cadrul segmentului de date curent, iar (E)DI conine adresa relativ curent a irului destinaie n cadrul segmentului de date suplimentar (extra segment). i registrele index sunt utilizabile n instruciunile aritmetice i logice ca registre de 16 bii. Registrele de segment (CS, DS, ES, SS) conin adresa segmentului de program (CS), adresa segmentului de date curent (DS), adresa segmentului de date suplimentar (ES) i adresa segmentului de stiv (SS). Instruciunea care urmeaz s se execute se gsete n segmentul a crui adres este dat de CS, la adresa relativ n segment coninut de registrul (E)IP. Coninutul registrului DS definete segmentul de date curent. Toate referirile la datele din memorie cu excepia celor care utilizeaz registrele BP, SP sau registrul DI n

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

5.2.3.

SISTEME DE OPERARE ntreruperile

31

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

SISTEME DE OPERARE
LSB Segment INT0 MSB Segment INT0 LSB Offset INT0 MSB Offset INT0 . . . LSB Segment INT0 MSB Segment INT0 LSB Offset INT0 MSB Offset 003FFC 003FFDh 003FFEh 003FFFh 00000h 00001h 00002h 00003h Adrese fizice Fig. 5.1. Tabela vectorilor de ntrerupere la microprocesoarele 80x86

32

Figura 5.1. Tabela de ntreruperi

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

5.3. DOS

ncrcarea i lansarea n execuie a sistemului de operare

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

SISTEME DE OPERARE 33 ncarc fiierul DOS.COM la adresa cea mai mic posibil; construiete tablelel interne ale sistemului; iniializeaz driverele sistemului; verific existena fiierului de configurare CONFIG.SYS pe discul sistem. Dac exist, sistemul va fi reconfigurat conform coninutului acestui fiier; ncarc interpretorul de comenzi COMMAND.COM.

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

5.4.

Organizarea memoriei sub sistemul de operare DOS

Pe motive de compatibilitate cu versiunile mai vechi ale sistemului de operare DOS i datorit modului de funcionare a microprocesorului 80x86 (vezi paragraful 5.2.1.), sub sistemul de operare DOS memoria intern accesibil utilizatorului este organizat ntr-un mod specific, n funcie de dimensiunea acesteia, astfel: 1. memoria cuprins intre 0KB i 640kB se numete memorie convenional (sau memorie de baz) i ea este utilizat de programe; 2. memoria cuprins ntre 640kB i 1MB se numete memorie superioar fiind organizat pe blocuri de memorie (blocurile n memoria superioar se numesc UMB Upper Memory Block); 3. memoria peste 1MB se numete memoria extins (Extended Memory) (simbolizat XMS); 4. primii 64kB de memorie extins formeaz zona memoriei nalte (High Memory) (simbolizat HMA); 5. memoria expandat (Expanded Memory) este utilizat prin intermediul memoriei superioare, printr-o zon de 64kB numit fereastr sau cadru de pagin. n mod normal, programele rulate sub DOS vd doar memoria de baz i nu pot fi rulate dect aici ceea ce nseamn c dimensiunea maxim a unui program rulat sub sistemul de operare DOS poate fi de cel mult 640kB. Pentru accesarea celorlalte zone de memorie (dac acestea exist) sunt necesare programe speciale de gestiune a memoriei (drivere) care se ncarc n memorie o dat cu ncrcarea sistemului de operare. n figura 5.2 este perzentat modul de organizare al memoriei sub sistemul de operare DOS.

SISTEME DE OPERARE

34

Memorie extins 1MB Zona de memorie nalt Fereastr 640kB Memorie disponibil pentru programe Fiiere de configurare Cod BIOS Date sistem Memorie superioar Memorie expandat Memorie convenional

0kB

Fig. 5.2. Organizarea memoriei sub sistemul de operare DOS

Drivere utilizate pentru gestionarea memoriei (n fiierul de configurare CONFIG.SYS): HIDOS.SYS permite utilizarea memoriei nalte la microprocesoarele 286 EMM386.SYS simuleaz memoria expandat folosind memoria extins i ofer urmtoarele faciliti: umplerea blocurilor UMB cu memorie expandat; accesul la memoria extins; simularea mamoriei expandate cu memoria extins; deplasarea nucleului DOS n memoria nalt sau superioar. HIMEM.SYS este folosit pentru gestionarea memoriei extinse i permite ncrcarea programelor n memoria nalt (respect standardul XMS).

5.5.

Configurarea sistemului (fiierul CONFIG.SYS)

La fiecare lansare a sistemului de operare DOS, acesta caut n directorul rdcin de pe unitatea de unde a fost ncrcat, un fiier special de configurare, numit CONFIG.SYS. Dac acest fiier este gsit, atunci este citit i comenzile lui sunt interpretate. n caz contrar, sistemul este configurat cu valorile implicite ale comenzilor de configurare. Fiierul CONFIG.SYS este un fiier text i el poate fi creat i modificat de ctre utilizator. Principalele directive de configurare sunt: BREAK, BUFFERS, COUNTRY, DEVICE, DEVICEHIGH, DOS, DRIVPARM, FCBS, FILES, INSTALL, LASTDRIVE, REM, SHELL, STACKS, SWITCHES.

SISTEME DE OPERARE 35 Dac se modific sau se adaug comenzi n fiierul de configurare, acestea devin efective la urmtoarea lansare a sistemului de operare. Convenii i notaii: cuvintele indicate cu majuscule trebuie introduse exact aa cum sunt indicate. Aceste cuvinte sunt cuvintele cheie. Ele pot fi introduse cu orice combinaie de litere mari i mici. Sistemul de operare DOS convertete automat cuvintele cheie la litere mari; irurile de caractere din cadrul comenzilor cu litere mici trebuie nlocuite de utilizator cu iruri particulare (de exemplu nume_fiier este nlocuit cu numele efectiv al fiierului); irurile de caractere nchise ntre paranteze ptrate, [ i ], sunt opionale. Dac se dorete introducerea informaiei opionale, nu trebuie introduse parantezele ptrate ci numai informaia din interiorul parantezelor; irurile separate prin bar vertical (|) se exclud reciproc, ceea ce nseamn c se poate introduce numai unul din irurile specificate; un ir de puncte (...) indic repetarea unui ir de cte ori se dorete; semnele de punctuaie (cu excepia parantezelor ptrate i a barei verticale) cum ar fi virgula, semnul egal, semnul de ntrebare, dou puncte, slash-ul etc. trebuie incluse n linia de comand acolo unde sunt indicate.

Comanda BREAK Caracterul Ctrl/C (Ctrl/Break) permite ntreruperea unui program n execuie. n mod normal, sistemul de operare verific introducerea acestui caracter numai n timpul operaiilor de intrare/ieire cu echipamentul standard. Prin comanda BREAK se poate fora verificarea introducerii caracterului CTRL/C la fiecare apel de funcie sistem. Formatul general al comenzii este: BREAK=ON | OFF Valoarea implicit pentru aceast comand este BREAK=OFF. Opiunea OFF determin sistemul de operare s verifice introducerea caracterului Ctrl/C numai n timpul operaiilor de intrare/ieire cu echipamentul standard. Opiunea ON determin verificarea introducerii caracterului Ctrl/C la apelul fiecrei funcii sistem. Aceasta permite ntreruperea i a unui program care nu execut nici una din operaiile cu echipamentele standard de intrare/ieire. Comanda BUFFERS Formatul general al comenzii este: BUFFERS=xx unde:

SISTEME DE OPERARE 36 xx este un numr ntre 1 i 99 care reprezint numrul zonelor tampon de disc pe care le aloc sistemul la lansare. Comanda COUNTRY Comanda COUNTRY permite utilizarea conveniilor internaionale pentru timp, dat, moned i conversie ntre litere mari i mici (implicit SUA). De asemenea, este identificat totodat setul de caractere (specific unei ri) care va fi utilizat. Formatul general al comenzii este: COUNTRY=xxx[,[yyy][,d:]nume_fiier]] unde: xxx yyy nume_fiier - reprezint codul rii; - reprezint pagina de cod pentru ar - reprezint un fiier care contine informatii specifice rii. Dac acesta nu este specificat, este utilizat fiierul COUNTRY.SYS.

Comanda DEVICE Formatul general al comenzii este: DEVICE=[d:][cale]nume_fiier[.ext] Aceast comand permite specificarea unui nume de fiier care conine un driver de intrare/ieire. n timpul ncrcrii, sistemul de operare ncarc fiierul n memorie, ca o extensie a sa i d controlul acestui driver. Driverele standard ncrcate de DOS sunt cele pentru ecranul consolei, claviatur, imprimant i disc. Nu trebuie specificat nici o comand DEVICE pentru ca sistemul s ncarce aceste drivere. Comanda DEVICEHIGH Comanda DEVICEHIGH este similar comenzii DEVICE cu deosebirea c, ncrcarea driverului se face n zona de memoria nalt. Acest lucru are avantajul c permite eliberarea poriunii corespunztoare din memoria convenional care ar fi fost ocupat de driver, ceea ce duce la creterea dimensiunii de memorie din aceast zon ce va putea fi utilizat de programele de aplicaie. Comanda DOS Comanda DOS permite ncrcarea unei poriuni din sistemul de operare care n mod normal este rezident n memoria convenional, n memoria nalt. Acest lucru duce la eliberarea memoriei convenionale care va putea fi utilizat de ctre aplicaii. Sintaxa comenzii este:

SISTEME DE OPERARE DOS=HIGH|LOW[,UMB|,NOUMB] Comanda DRIVPARM

37

Comanda DRIVPARM permite definirea parametrilor pentru dispozitive bloc, nlocuind dispozitivele originale DOS. Formatul general al comenzii este: DRIVPARM /d:nr [/c][/f:factor][/h:cap][/n][/s:sector][/t:pista] unde: /d:nr - specific numrul de unitate fizic (0-255). Prima unitate de disc flexibil este 0 (cea care este referit cu litera A), a doua unitate este 1 (referit cu litera B), prima unitate de harddisc este 128 (referit cu C), a doua este 129 i aa mai departe; /t:pista - specific numrul de piste pe o fa (1-999). Valoarea implicit este de 80 de piste pe o fa; /s:sector - specific numrul de sectoare pe pist (1-99). Valoarea implicit este de 9 sectoare pe pist. /h:cap - specific numrul de capete de citire/scriere ale unitii (1-99). Valoarea implicit este 2; /c -este utilizabil numai pentru uniti de disc flexibil care suport detecia schimbrii dischetei (change line); /n - specific dac echipamentul fizic este de tip amovibil; /f:factor - specific tipul unitii. Comanda FCBS Comanda FCBS permite specificarea numrului de blocuri de control al fiierelor (FCB) care pot fi deschise simultan de DOS. Dac nu este ncrcat suportul pentru partajarea fiierelor, comanda FCBS nu are nici un efect (numrul fiierelor deschise simultan este limitat de dimensiunea memoriei disponibile). Formatul general al comenzii este: FCBS=m,n Parametrul m specific numrul total de fiiere care pot fi deschise simultan (valori posibile:1..255, valoare implicit: 4) iar parametrul n specific numrul de fiiere deschise simultan care nu pot fi nchise automat de DOS dac un program ncearc s deschid simultan mai mult de m fiiere (valoare implicit zero). Comanda FILES Comanda FILES permite deschiderea mai multor fiiere de ctre o aplicaie fr utilizarea blocului de control al fiierului (FCB). Aceast comand nu afecteaz comanda FCBS.

SISTEME DE OPERARE Formatul general al comenzii este: FILES=xx

38

Valoarea maxim pentru xx este 255, iar valoarea minim este 8 (valoare implicit). Comanda INSTALL Permite ncrcarea programelor rezidente n memorie la lansarea sistemului de operare. Acest lucru permite extinderea facilitilor oferite de sistemul de operare DOS. Programele rmn n memoria convenional att timp ct aceasta este alimentat. Formatul comenzii este: INSTALL=[d:][cale]nume_fisier[parametri] Comanda LASTDRIVE Formatul general al comenzii este: LASTDRIVE=liter Litera specificat (de la A la Z) corespunde ultimei litere valide de unitate acceptat de DOS. Implicit ultima liter este E. Valoarea cea mai mic acceptat n comanda LASTDRIVE corespunde numrului de uniti instalate n sistem. n caz contrar comanda este ignorat. Comanda REM Comanda REM permite introducerea unor comentarii n fiierul CONFIG.SYS. Liniile care ncep cu comanda REM sunt ignorate de sistemul de operare. Formatul general al comenzii este: REM comentariu Comanda SHELL Formatul general al comenzii este: SHELL=[d:][cale]nume_fiier[.ext][param1][param2] Aceast comad permite s se specifice numele i locaia interpretorului de comenzi de nivelul cel mai nalt, pe care sistemul de operare l plaseaz la ncrcare n locul lui COMMAND.COM.

SISTEME DE OPERARE Comanda STACKS Comanda STACKS permite mrirea dimensiunii implicite a stivei. Formatul general al comenzii este: STACKS=n,s

39

Parametrul n reprezint numrul de zone de stiv (domeniul: 8 ... 64). Parametrul s este dimensiunea n octei a fiecrei zone (domeniul: 32 ... 512). Comanda SWITCHES Comanda SWITCHES permite stabilirea unor opiuni speciale pentru DOS. Formatul general al comenzii este: SWITCHES= /F /K /N /W /F duce la anularea celor dou secunde ct timp este afi;at mesajul: Starting MS-DOS; /K impune ca tastaturile extinse s fie privite ca tastaturi convenionale; /N - mpiedic utilizarea tastelor F5 sau F8 pentru ignorarea fiierelor CONFIG.SYS sau AUTOEXEC.BAT. /W indic faptul c fiierul WINA20.386 a fost mutat din directorul rdcin (utilizat la versiunea Windows 3.0). Informaii suplimentare asupra modului de utilizare a comenzilor utilizate n fiierul CONFIG.SYS se pot obine cu ajutorul comenzii HELP. n figura 5.3 este prezentat ecranul afiat la introducerea comenzii HELP. n continuare se prezint un exemplu de coninut al unui fiier CONFIG.SYS pentru un sistem de calcul pe care este instalat i sistemul de operare Windows 9x: Files=50 DEVICE=C:\WINDOWS\HIMEM.SYS DEVICE=C:\WINDOWS\EMM386.EXE NOEMS DOS=UMB DEVICE=C:\WINDOWS\setver.exe DOS=HIGH REM *** LION_XI200_AI SERIES ADDED LINES *** DEVICEHIGH /L:1,22912 =C:\LION\LION200A.SYS /D:LION001 /M:S /P:1F0S /I:14 /V REM *** LION_XI200_AI SERIES ADDED LINES *** ( 02-Oct-98 ) DEVICE=C:\DOS\INTERLNK.EXE /COM:2 /DRIVES:2 /NOPRINTER /V /AUTO device=C:\WINDOWS\COMMAND\display.sys con=(ega,,1) Country=040,852,C:\WINDOWS\COMMAND\country.sys

SISTEME DE OPERARE

40

Fig. 5.3. Meniul HELP

5.6.

Fiierul AUTOEXEC.BAT

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

5.7.

Organizarea i specificarea fiierelor sub DOS

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

SISTEME DE OPERARE 41 Zona care ocup cel mai mult spaiu este zona fiierelor, care conine fiiere grupate n directoare. De menionat c, n cazul unui disc sistem, primele dou fiiere din aceast zon sunt fiierele sistem. Numele unui fiier este alctuit din dou pri: numele propriu-zis care poate s aib maxim 8 caractere i extensia care poate s aib maxim 3 caractere, cale dou pri fiind separate de caracterul punct (forma generica este xxxxxxxx.yyy, unde x este numele iar y extensia). Fiierelor se pot asocia urmtoarele atribute: Read-only, Hidden, Archive, System. Primul director, creat automat pe disc de ctre sistemul de operare, se numete director rdcin i are numele \. Toate directoarele (cu excepia directorului rdcin) sunt de fapt fiiere de tip special. Fiecare director are un nume i poate fi nregistrat n alt director. Dac directorul X este nregistrat n directorul Y, atunci se spune c X este subdirector al directorului Y. Cerinele fa de numele directoarelor sunt aceleai ca i fa de numele fiierelor. De obicei, numele directorului se indic fr extensie. Conform acestei organizri, structura ierarhic a fiierelor i directoarelor din sistemul de operare DOS este sub Fig. 5.4. Structura form arborescent (figura 5.4). arborescent a directoarelor Atunci cnd este apelat un fiier, de regul trebuie indicat toat calea de cutare a acestuia, ncepnd din directorul rdcin. Un exemplu de apelare a unui program ar putea fi: C:\DOS\help.exe Fiiere speciale Sistemul de operare asociaz resurselor fiiere speciale: AUX identic cu COM1 (primul port pentru comunicaii seriale); CLOCK$ - ceasul de timp real; COM1 primul port serial; COM2 al doilea port serial; CON consola sistem (tastatura + ecranul); LPT1 primul port paralel; LPT2 al doilea port paralel; NUL dispozitiv nul (n acest fiier se poate scrie orice iar ceea ce se scrie se ignor). Citirea din acest fiier d eroare de sfrit de fiier. PRN identic cu LPT1

5.8.

Comenzile sistemului de operare DOS

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

SISTEME DE OPERARE 42 memorate pe disc, care pentru a fi executate trebuie mai nti ncrcate n memorie. Acest mod de mprire a comenzilor permite extinderea nelimitat a posibilitilor sistemului de operare prin comenzi externe. Comenzile pot fi simple sau compuse (separate prin bara vertical | ). Rezultatele comenzii precedente devin date de intrare pentru comanda urmtoare. O comand poate avea o serie de parametri sau opiuni (specificai cu semnul / n faa opiunii). De exemplu, pentru a obine explicaii sumare cu privire la comanda dir, se va scrie: DIR /? Caractere utilizate n comenzi (indirectare): < fiier comanda preia datele de intrare din fiier n loc s le citeasca de la tastatur; > fiier rezultatele comenzii sunt depuse n fiier n loc s fie afiate pe ecran; >> fiier rezultatele comenzii sunt adugate la fiier; cmd1 | cmd2 rezultatele cmd1 sunt folosite de cmd2.

5.9.

Funcii sistem

Funciile sistem reprezint rutinele utilizate de DOS pentru tratarea operaiilor i resurselor sistemului. Aceste funcii sistem pot fi apelate de orice program de aplicaie, uurnd munca de programare. Rutinele DOS sunt apelate prin ntreruperi software. ntreruperea 21h (INT 21h) este serviciul pentru apelul funciilor. Pentru un apel al unei funcii sistem DOS, se procedeaz astfel: se ncarc numrul funciei n registrul AH; se ncarc (dac este necesar) numrul subfunciei n registrul AL; se ncarc (dac este necesar) celelalte date n regitrii specificai; se genereaz INT 21h Funciile DOS pe categorii. 1. Intrri/ieiri pentru dispozitive caracter standard 1.1. Citirea cu ecou de la tastatur 1.2. Afiarea unui caracter 1.3. Intrarea auxiliar 1.4. Ieirea auxiliar 1.5. Tiprirea unui caracter 1.6. Intrare/ieire direct fr ecou la consol 1.7. Intrarea direct fr ecou de la consol 1.8. Citirea fr ecou de la tastatur 1.9. Afiarea unui ir 1.10. Intrarea prin zona tampon de la tastatur 1.11. Verificarea strii intrrii 1.12. tergerea zonei tampon de intrare i citirea de la tastatur

SISTEME DE OPERARE 2. Gestiunea memoriei 2.1. Alocarea memoriei 2.2. Eliberarea memoriei alocate 2.3. Modificarea alocrii memoriei 2.4. Obinerea/Selectarea strategiei de alocare 3. Gestiunea proceselor 3.1. Pstrarea procesului 3.2. ncrcarea i/sau execuia unui program (EXEC) 3.3. Terminarea procesului (EXIT) 3.4. Obinerea codului de retur al procesului fiu (Wait) 3.5. Obinerea adresei PSP-ului 4. Tratarea fiierelor prin identificatoare logice 4.1. Crearea unui fiier 4.2. Deschiderea unui fiier, utiliznd identificatorul logic 4.3. nchiderea unui fiier, utiliznd identificatorul logic 4.4. Citirea dintr-un fiier sau de la un dispozitiv, utiliznd identificatorul logic 4.5. Scrierea ntr-un fiier sau de la un dispozitiv, utiliznd identificatorul logic 4.6. Poziionarea pointerului de scriere/citire 4.7. Duplicarea identificatorului logic al unui fiier 4.8. Redirectarea unui identificator logic 4.9. Crearea unui fiier temporar unic 4.10. Crearea unui fiier nou 5. Partajarea fiierelor 5.1. Deschiderea unui fiier, utiliznd identificatorul logic 5.2. IOCTL: Modificarea numrului de rencrcri 5.3. Blocarea/deblocarea accesului la un fiier 6. Tratarea directoarelor 6.1. Crearea unui nou director 6.2. tergerea unui director 6.3. Schimbarea directorului 6.4. tergerea unui fiier 6.5. Obinerea/poziionarea atributelor fiierului 6.6. Obinerea directorului curent 6.7. Gsirea primului fiier potrivit 6.8. Gsirea urmtorului fiier potrivit 6.9. Schimbarea intrrii n director 6.10. Obinerea/poziionarea datei i orei unui fiier 7. Gestiunea dispozitivelor 7.1. Obinerea informaiilor despre dispozitiv 7.2. Poziionarea informaiilor despre dispozitiv 7.3. Citirea de la un dispozitiv caracter

43

SISTEME DE OPERARE 7.4. Scrierea la un dispozitiv caracter 7.5. Citirea de la un dispozitiv bloc 7.6. Scrierea la un dispozitiv bloc 7.7. Obinerea strii intrrii 7.8. Obinerea strii ieirii 8. Reele Microsoft 9. Operaii sistem generale Exemple de utilizare a funciilor sistem n PASCAL Program care afieaz versiunea DOS instalat n sistemul de calcul Se folosete funcia sistem 30h. Valorile returnate sunt urmtoarele: n registrul AL numrul versiunii de baz; n registrul AH numrul versiunii secundare. Programul: program versiune; uses DOS; var registre:registers; begin registre.ah:=$30; MsDos(registre); {echivalent: Intr($21, registre)} with registre do writeln(Versiune MsDOS,al:1,.ah:2); end. Programul citete un caracter de la tastatura (cu ecou) Se folosete funcia sistem 01h. Valoarea returnat este urmtoarea: n registrul AL caracterul citit. Programul: program caracter; uses DOS; var registre:registers; begin registre.ah:=1; MsDos(registre);

44

SISTEME DE OPERARE {echivalent: Intr($21, registre)} with registre do writeln(S-a apasat tasta:,char(al)); end. Obinerea unitii curente implicite Se folosete funcia sistem 19h. Valoarea returnat este urmtoarea: n registrul AL numrul unitii curente. Programul: program unitate_curenta; uses dos; var registre:registers; begin registre.ah:=$19; msdos(registre); with registre do writeln('unitatea curenta:',al); readln end. Obinerea datei sistem curente Se folosete funcia sistem 2Ah. Valoarea returnat este urmtoarea: n registrul AL ziua din sptmn (0=duminic, ..., 6=smbt); n registrul CX anul curent (1980-2098); n registrul DH luna curent (1-12); n registrul DL ziua curent (1-13). Programul:

45

program data_curenta; uses dos; const luni:array1..12 of string=('Ianuarie','Februarie','Martie','Aprilie','Mai','Iunie','Iulie','August','Septembrie',' Octombrie','Noiembrie','Decembrie'); var reg:registers; begin; reg.ah:=$2A; msdos(reg); case reg.al of 0:write('Duminica '); 1:write('Luni '); 2:write('Marti '); 3:write('Miercuri ');

SISTEME DE OPERARE 4:write('Joi '); 5:write('Vineri '); 6:write('Sambata '); end; write(reg.dl,' ',lunireg.dh,' ',reg.cx); readln; end.

46

5.10.

ntreinerea sistemului de operare DOS

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

SISTEME DE OPERARE

47

CAPITOLUL 6 6.
6.1.

Sistemul de operare UNIX


Generaliti

Sistemul de operare UNIX este un sistem de operare cu multiprogramare cu sisteme sofisticate de alocare a resurselor i gestiune automat a memoriei. n acest sens se poate spune c UNIX este un sistem de operare de tip time-sharing, multitasking i multiutilizator. Sistemele de operare cu divizare n timp (time-sharing) aloc proceselor gata de execuie, prin strategia de alocare a resurselor de calcul, succesiv, cte o cuant de timp, pn la execuia complet. Sistemele multitasking sunt sistemele care pot executa mai multe programe simultan, avnd implementat o anumit strategie de alocare a resurselor. Sistemele multiutilizator sunt sistemele ce permit lucrul mai multor operatori simultan avnd implementate mecanisme de protecie i de partajare a accesului la resursele sistemului. O alt caracteristic a sistemului de operare UNIX este faptul c promoveaz modularitate permind extinderea simpl a funciilor sistemului de operare ceea ce duce la creterea continu a performanelor acestuia. De asemenea, pentru operaiile de intrare/ieire sunt utilizate aa-numitele intrri/ieiri generalizate prin asocierea a cte unui fiier de tip special fiecrei intrri/ieiri. n scopul realizrii mediului multitasking exist un sistem de gestiune a proceselor reentrante i asincrone multiple, care se pot sincroniza prin intermediul unui sistem de ntreruperi logice. Gestiunea memoriei se face printr-un mecanism ce permite schimbul de pagini ntre memoria RAM i cea extins, gestionndu-se spaiul afectat execuiei proceselor i controlndu-se timpul de acces la procesele n ateptare. Pentru interaciunea cu utilizatorul, sistemul de operare UNIX dispune de o interfa simpl i interactiv prin intermediul componentei SHELL, care nu este integrat n nucleul sistemului de operare (KERNEL). Componenta SHELL reprezint mecanismul prin care sistemul de operare realizeaz interfaa ntre utilizator i sistemul de calcul. Aceast component reprezint un interpretor de comenzi care citete liniile introduse de ctre utilizator i determin execuie comenzilor solicitate. Printre cele mai populare componente SHELL, se poate meniona Bourne SHELL (sh), Berkeley C SHELL (csh) i Korn SHELL (ksh). Aceste SHELL-uri sunt orientate pe text. Pentru faciliti grafice printre cele mai cunoscute

SISTEME DE OPERARE 48 programe SHELL sunt: Graphic Interface a firmei Macintosh sau Presentation Manager al lui IBM. Exist ns i un numr de interfee grafice pentru UNIX: sistemul X/Window de la MIT folosit i de firma SCO n produsul ei OPEN DESKTOP. OpenLook al firmelor AT&T i SUN i, n sfrit, produsul DECwindows al firmei DEC. Prin scrierea sistemului de operare n limbajul C, s-a obinut o portabilitate att a sistemului UNIX propriu-zis, ct i a programelor de aplicaie dezvoltate sub acest sistem, realizndu-se astfel i dezideratele de sistem deschis. Prin portabilitate se nelege proprietatea unui program de a putea fi executat pe sisteme de calcul cu structuri fizice (n special uniti centrale) diferite. Multe sisteme de calcul cu sisteme de operare UNIX creaz posibilitatea ca utilizatorii si s poat rula i aplicaii MS-DOS, n paralel cu aplicaiile de baz rulate sub UNIX. Spre deosebire de sistemul de operare DOS care este utilizat exclusiv pe calculatoarele de tip PC, sistemul de operare UNIX este utilizat pe toate tipurile de calculatoare, ncepnd de la calculatoare de tip PC pn la supercalculatoare. n esen, orice sistem de operare UNIX conine un nucleu, una sau mai multe componente SHELL i un sistem bogat de fiiere.

6.2.

Structura general a sistemului de operare UNIX

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

Fig. 6.1. Interaciunea UNIX cu structura fizic

Structura de programe a sistemului de operare UNIX este alctuit din trei componente majore (fig. 6.2): nucleu (Kernel); sistemul de fiiere (SF) ce cuprinde programe utilitare, aplicative i programe de gestiune I/E; SHELL.

Relaiile ntre cele trei module principale ale sistemului se realizeaz prin: apeluri sistem; utilitare;

SISTEME DE OPERARE 49 proceduri standard folosite de limbajul C; programe de gestiune a intrrilor/ieirilor, furnizate odat cu sistemul i diferite de la un sistem de calcul la altul.

SHELL

Utilizator

Nucleu Kernel Programe aplicative Programe utilitare Programe de gestiune I/E de

Dispozitive periferice

Fig. 6.2. Componentele software ale sistemului de operare UNIX

Interfeele oferite utilizatorului de ctre sistem sunt organizate pe trei niveluri: nivel exterior nucleului (prin utilitare); nivel intermediar oferit de funciile din biblioteca standard C; nivel sczut oferit de funciile sistem.

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

Sistemul

6.3.

Accesul n sistem

Spre deosebire de sistemele de operare DOS i Windows, sub sistemul de operare UNIX, mai muli utilizatori pot folosi calculatorul n acelai timp, executnd independent diferite aplicaii. n primul rnd pentru a avea acces la un sistem UNIX, utilizatorul trebuie s primeasc un cont. Din punct de vedere al utilizatorului contul

fiiere

SISTEME DE OPERARE 50 este reprezentat de un nume i o parol. Din punct de vedere al administraiei, un cont nseamn evidena utilizrii resurselor la care utilizatorul are drept de acces. Utilizatorii unui sistem de operare UNIX se mpart n dou mari categorii: superutilizatorul - administratorul de sistem (superuser) i utilizatorii obinuii (users). Superutilizatorul sau administratorul de sistem (superuser) are drepturi de acces nelimitate n sistem i are ca sarcin principal administrarea i ntreinerea sistemului de operare. Numele superutilizatorului va fi ntotdeauna root. Utilizatorii obinuii (user) au drepturi de acces limitate n sistem, drepturile de acces putnd fi extinse sau ridicate de ctre administratorul de sistem. Utilizatorii obinuii pot forma grupuri de utilizatori crora administratorul de sistem (superutilizatorul) le poate acorda drepturi comune sau individuale. 6.4. Structura fiierelor sub sistemul de operare UNIX

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

n concepia UNIX, un fiier este un ir de caractere terminat printr-o marc de sfrit de fiier, considerndu-se uneori c un fiier este constituit dintr-un set de linii, fiecare linie terminndu-se cu un caracter de linie nou, care este generat de la tastatur atunci cnd se tasteaz ENTER. Fiecrui utilizator i se atribuie un director care conine fiierele acestuia, numele de fiiere avnd pn la 14 caractere, cu excepia blancului. Sistemul UNIX face deosebirea ntre caractere mari i mici. Este permis utilizarea punctului (.) n cadrul numelui fiierelor, aprnd astfel posibilitatea diferenierii ntre mai multe fiiere nrudite. Sistemul de operare UNIX System V recunoate patru tipuri de fiiere: fiiere obinuite, speciale, director (catalog) i FIFO. Fiiere obinuite Un fiier obinuit este privit de ctre sistemul de operare ca un ir de octei, fr o organizare logic special. Un astfel de fiier poate conine informaii precum: informaie binar (pentru un fiier n format executabil); linii de text, separate de caracterul NewLine (cod ASCII 10H).

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

SISTEME DE OPERARE 51 O particularitate care difereniez sistemul UNIX de alte sisteme de operare este asocierea dispozitivelor periferice cu fiiere speciale. Fiierele speciale sunt citite/scrise, din punct de vedere al utilizatorului, exact ca i cele obinuite, rezultatul unei astfel de operaii fiind activarea driver-ului dispozitivului asociat. Un program de aplicaie poate, deci, utiliza aceeai sintax pentru a accesa un fiier obinuit sau unul special. Unui dispozitiv periferic i este asociat cel puin un fiier special, care va conine ntotdeauna informaii despre programul de comand al acestui periferic (driver-ul su). posibilitatea de a trata perifericele ca fiiere speciale asigur urmtoarele avantaje: simplitate i elegan prin utilizarea unor comenzi similare pentru fiiere i dispozitive periferice; fiierele speciale beneficiaz de mecanismul de protecie al fiierelor. Fiiere director Fiierele director reprezint o modalitate de a structura logic sistemul de fiiere. Informaia din directori este organizat ca o tabel care conine cte o intrare pentru fiecare fiier din acel director. O astfel de intrare memoreaz identificatorul intern (inumber) i numele fiierului. Fiecare utilizator dispune de un director propriu n care i poate crea propriile fiiere i care se numete home directory. Fiierul director poate conine orice tip de fiiere. El nu poate fi citit sau scris n mod direc, ci doar prin intermediul anumitor programe (ls, mv, rm, ln etc). Fiiere de tip FIFO Fiierele de tip FIFO sunt fiiere speciale utilizate pentru realizarea comunicaiei ntre procese prin mecanismul de conduct (pipe). 6.4.2. Structura arborescent a sistemului de fiiere

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

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

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

root (/)

tmp usr

spool

Drepturile de acces pot fi vizualizate cu comanda ls, cu opiunile: l (forma lung); a (toate intrrile); t (sorteaz dup tipul ultimei modificri); r (ordine invers).

n urma comenzii pe ecran este afiat un text de forma: drwxrwxr-x 6 John staff 678 Feb 20 12:23

drwxrwxr-x drwxrwxr-x -rwxr-x--drw----------

9 1 2 1

Mary Nick Ioan Fred

SISTEME DE OPERARE staff 512 Ian 15 10:04 staff 139 Mar 11 15:20 carte system 3445 Feb 13 11:10 program staff 567 Feb 19 17:30 program1

53

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

Pentru persoanele ale cror drepturi de acces se stabilesc pot fi folosite caracterele u (utilizator), g (grup), o (alii) sau a (toi). Pentru drepturile care se modific elementele se dau sub forma unui grup de dou caractere. Primul caracter este + (pentru acordarea dreptului) sau (pentru retragerea dreptului) urmat de unul din caracterele r, w sau x (al doilea caracter) care se refer la dreptul de acces n discuie. 6.4.4. Montarea volumelor n arborele sistemului de fiiere

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

6.5.

Operarea sub sistemul de operare UNIX

Aa cum s-a artat, sistemul de operare UNIX admite dou categorii de utilizatori: superutilizatorul (sau administratorul de sistem) i utilizatorii obinuii. Pentru distingerea acestor dou categorii de utilizatori prompterul afiat de sistemul de

SISTEME DE OPERARE 54 operare este diferit, n mod implicit fiind afiat caracterul # pentru superutilizator i caracterul $ pentru utilizatorul obinuit. Directorul utilizatorului se numete home directory i el devine automat directorul curent la nceperea sesiunii de lucru. Pentru operare, o parte din parametrii mediului de lucru sunt definii prin variabilele interpretorului de comenzi (variabile shell). Definirea unei variabile shell se face n felul urmtor: variabil=valoare Referirea la o variabil shell se face cu ajutorul numelui acesteia prefixat de semnul $. De exemplu, - atribuirea valorii: pozit=/usr/dan - utilizarea variabilei: cd $pozit ceea ce va avea ca efect schimbarea directorului curent n /usr/dan. Variabilele shell sunt de dou tipuri: a) variabile modificate dinamic de ctre interpretor: $# = numrul de parametrii ai unei proceduri shell; $? = codul de revenire al ultimei comenzi executate; $$ = identificatorul de proces asociat SHELL-ului; $! = identificatorul ultimului proces lansat n background; $- = Opiunile cu care a fost lansat SHELL-ul; $n = parametrii trimii procedurilor SHELL pe linia de comand (n=1 ...9) b) variabile atribuite la intrarea n sesiune: $HOME $PATH $PS1 $PS2 $LOGNAME $MAIL $SHELL $TERM = home directory; = lista cilor de cutare; = promterul asociat interpretorului (implicit $); = prompterul asociat continurii liniei de comand (implicit >); = numele de conectare al utilizatorului; = numele directorului unde este plasat pota electronic; = numele programului shell folosit de editorul de texte vi i alte comenzi; = informaii despre tipul terminalului ecran.

Pentru afisarea tuturor variabilelor shell se foloseste comanda set. De asemenea aceast comand poate fi folosit pentru vizualizarea i modificarea fiecrei variabile shell n parte. Pentru operare UNIX prezint manualul complet al tuturor comenzilor. Pentru a obine explicaii despre utilizarea unei anumite comenzi se scrie: man nume_comand obinndu-se pe ecran explicaii complete despre aceast comand.

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

6.6.

Instalarea sistemului de operare UNIX

Instalarea sistemului de operare UNIX se realizeaz printr-un program special afectat acestui scop, specific fiecrei versiuni UNIX. Indiferent ns de versiune, acest program efectueaz: partiionarea i formatarea hard discurilor; crearea structurii arborescente standard; copierea fiierelor sistem i ale utilizatorilor; nchiderea sesiunii de instalare i informarea utilizatorului despre posibilitatea iniializrii sistemului.

Dup instalarea sistemului, administratorul de sistem va crea cte o intrare n sistem pentru fiecare utilizator care va presupune: crearea de directoare proprii home directories; crearea parolelor i a drepturilor de acces; asocierea unor identificatori pentru grup i pentru utilizatori.

6.7.

Iniializarea sistemului de operare UNIX

Procesul de iniializare a sistemului comport urmtoarele etape: execuia procedurilor de testare i iniializare hardware: memorie, tastatur, uniti de disc etc., proceduri ce se gsesc n memoria ROM; ncrcarea n memoria RAM a ncrctorului aflat n blocul de boot al sistemului de fiiere; ncrctorul va transfera n memoria RAM nucleul sistemului de operare UNIX aflat n fiierul UNIX din root.

Nucleul o dat ncrcat, va declana execuia urmtoarelor activiti: iniializarea structurilor de date proprii: imaginea superblocului i a listei de inod-uri n memorie; lista bufferelor de disc libere; bufferele pentru cozile de caractere; altele. montarea sistemului de fiiere root n /; construirea procesului 0 ca imagine a unui proces incomplet, datorit zonei de date incomplete (numai zona utilizat de nucleu); construirea procesului 1 init prin execuia unui fork intern (n mod Kernel), care:

SISTEME DE OPERARE 56 iniializeaz structurile de date; mrete zona de memorie alocat pentru text; transfer codul apelului directivei exec din spaiul de adres al nucleului n memoria RAM, devenind astfel primul proces complet din sistem; trecerea procesului 1 n mod utilizator i ncrcarea sa pentru execuie, ceea ce va implica: citirea fiierului /etc/inittab pentru stabilirea proceselor ce se vor crea; lansarea unui proces /etc/gtty pentru fiecare linie de comunicaie activ; scanarea fiierului /etc/rc; lansarea n execuie a proceselor ce se execut n background pe ntreaga durat de funcionare a sistemului.

6.8.

Sesiunea de lucru

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

6.9.
6.9.1.

Administrarea i ntreinerea sistemului de operare UNIX


Administrarea sistemului

Funcie de diversele versiuni ale sistemului de operare UNIX, pentru administrarea acestuia este pus la dispoziie o interfa sub form de menu orientat pe task-uri, ale crei principale funcii constau n: opiuni pentru toate operaiile posibile; verificarea erorilor pe parcurs; informarea utilizatorului cu privire la modul de terminare a fiecrui task lansat n execuie.

Administrarea sistemului poate fi realizat i prin intermediul unor comenzi ce se afl n cile: /bin, /usr/bin i /etc setate ntr-o variabil PATH pentru a fi disponibile; exemplu: comanda cron ce permite executarea unor lucrri ca: stabilirea unor proceduri de backup la anumite momente de timp; evidenierea activitii sistemului la anumite ore, zile sptmni sau luni.

Exist o serie de activiti administrative ce trebuie avute n vedere odat cu instalarea sistemului (proceduri de setup iniializare):

SISTEME DE OPERARE 6.9.2. stabilirea consolei; instalarea sistemului de operare; instalarea pachetelor de aplicaii; definirea i identificarea utilizatorilor ce se pot conecta la sistem; configurarea terminalelor, imprimantelor. ntreinerea i securitatea sistemului

57

ntreinerea sistemului dup instalare i iniializarea acestuia vizeaz urmtoarele activiti: comunicarea cu utilizatorii; verificarea periodic a sistemului care necesit verificarea: numelui sistemului; strii curente; utilizatorii; plcile hardware; montarea sistemului de fiiere; gradul de ocupare a discurilor.

Asigurarea securitii se realizeaz prin: schimbarea periodic a parolelor; verificarea i limitarea fiierelor ce dau unui utilizator drepturi de acces la fiierele altui utilizator sau grup; detectarea eventualelor ncercri ilegale de conectare la sistem.

SISTEME DE OPERARE

58

CAPITOLUL 7
7. Sistemul de operare Windows
7.1. Generaliti

Sistemul de operare Windows a aprut mai nti ca un program utilitar sub DOS, oferind o interfa grafic prietenoas pentru utilizatori, avnd ca principal scop accesul la operarea pe calculator a utilizatorilor obinuii, cu cunotine minime de operare. De asemenea, interfaa grafic Windows extinde posibilitile de utilizare a calculatorului personal exploatnd modul de funcionare virtual al microprocesorului INTEL 80x86 (vezi paragraful 5.2). Mai trziu, datorit succesului deosebit de care s-a bucurat aceast interfa grafic, firma productoare, Microsoft, a creat sistemul de operare Windows. Acest sistem de operare este un sistem de operare cu multiprogramare fiind prevzut cu mecanisme de alocare a resurselor i gestiune automat a memoriei. n acest sens se poate spune c Windows este un sistem de operare de tip time-sharing, multitasking. Principalele caracteristici ale sistemului de operare Windows 9x sunt: o ofer posibilitatea efecturii activitii de multiprogramare (multitasking); o ofer faciliti pentru conectarea n reele de calculatoare; o dispune de o interfa grafic prietenoas care ofer utilizatorilor posibiliti multiple pentru operaii de creare, mutare, copiere, redenumire, tergere si vizualizare a fiierelor i directoarelor; o are componente multimedia performante; o permite administrarea configuraiei sistemului de calcul prin intermediul unui registru special. Acest registru are n componenta o serie de parametri care pot fi poziionai pe anumite valori, permind o cretere a performanelor n utilizarea sistemului de calcul; o permite conectarea la distan i executarea de apeluri diverse realiznd astfel procesul de prelucrare distribuit a datelor; o dispune de faciliti deosebite pentru editarea i tiprirea textelor i graficelor; o ofera compatibilitate cu aplicaiile executate sub DOS, precum i a celor executate sub versiunile anterioare WIN 3.1 sau WIN 3.11; o dispune de un sistem HELP modernizat, oferind utilizatorului posibilitatea cutrii dup index si dup anumite chei precizate de utilizator;

SISTEME DE OPERARE 59 o are n componen un sistem de fiiere, care accept lungimi ale numelui fiierului de la 1 la 255 de caractere. Opiunile afiate n cadrul diverselor meniuri se activeaz fie cu mouse-ul prin executarea unor simpe apsri asupra tastelor acestuia, in funcie de contextul respectiv ie prin intermediul tastaturii. Orice obiect reprezentat pe suprafaa de lucru este sub controlul sistemului de operare, care dispune de un meniu de context prin intermediul cruia se precizeaz principalele operaii ce se poat executa aceasta cu obiectul respectiv.

7.2.

Utilizarea programelor DOS sub Windows 9x

Deschiderea unei sesiuni DOS pe un calculator pe care este instalat sistemul de operare Windows poate fi realizat n 3 moduri: 1. la pornirea calculatorului, n momentul n care se lanseaz ncrcarea sistemului de operare, prin apsarea tastei F8 sau CTRL, fapt ce determin apariia unui meniu din care se pot selecta opiunile: a. Command prompt only cnd este lansat o sesiune DOS cu ncrcarea driverelor n memorie; b. Safe mode command prompt only cnd este lansat o sesiune DOS fr ncrcarea driverelor n memorie; c. Previous version of MS-DOS cnd este lansat sesiunea DOS cu sistemul de operare avut nainte de instalarea sistemului de operare Windows. La instalarea sistemului de operare Windows, acesta nlocuiete versiunea DOS a sistemului dumneavoastr cu una mai nou, compatibil cu sistemul Windows instalat. La punctele a. i b. sistemul de operare DOS este cel corespunztor sistemului de operare Windows. Aceast metod permite deschiderea unei singure sesiuni DOS, calculatorul lucrnd practic sub sistemul de operare DOS iar lansarea sistemului de operare Windows nu poate fi fcut dect dac se iniializeaz calculatorul prin apsarea butonului RESET i se rencarc sistemul de operare. 2. Prin deschiderea unei sesiuni DOS dup ce sistemul de operare Windows a fost ncrcat. Aceast opiune permite lucrul ntr-un mediu multitasking, existnd posibilitatea deschiderii mai multor sesiuni DOS simultan. Din cauz c n acest mod se lucreaz de fapt sub sistemul de operare Windows, comutarea ntre aplicaii se poate face cu combinaia de taste ALT+TAB sau din bara de meniu (cnd ferestrele aplicaiilor sunt n starea intermediar - comutarea ntre fereastra complet deschis i cea intermediar se face la aplicaiile DOS cu combinaia de taste ALT+ENTER). Este bine ca o sesiune DOS deschis sub sistemul de operare Windows s fie nchis prin scrierea comenzii EXIT la promptul DOS, n caz contrar existnd posibilitatea pierderii datelor. Din acest motiv, secvena de lucru corect este urmtoarea: se nchide programul rulat n sesiunea DOS, se scrie comanda EXIT la promptul DOS, dup care dac fereastra nu se nchide automat, poate fi nchis din colul din dreapta al ferestrei.

SISTEME DE OPERARE

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 afisat se selecteaz: Restart in MS-DOS mode. Rentoarcerea n sistemul de operare Windows se face cu comanda EXIT la promptul DOS. Viteza de execuie a unei aplicaii DOS depinde de modul n care este ea lansat. Astfel, dac aplicaia este lansat n execuie pe o main care ruleaz sistemul de operare DOS, atunci microprocesorul va lucra n modul real i aplicaia va fi executat cu viteza cea mai mare (aceast afirmaie fiind valabil i pentru punctele 1 i 3 prezentate la deschiderea unei sesiuni DOS de pe un calculator pe care a fost instalat sistemul de operare Windows). Dac aplicaia este lansat de sub sistemul de operare Windows (punctul 2 prezentat la deschiderea unei sesiuni DOS de pe un calculator pe care a fost instalat sistemul de operare Windows), atunci microprocesorul va lucra n modul protejat pentru aplicaia respectiv, iar aplicaia va fi rulat cu att mai lent cu ct de numrul

Fig. 7.1. Stabilirea proprietilor aplicaiilor DOS

aplicaiilor rulate simultan este mai mare i cu ct cuanta de timp alocat de ctre microprocesor aplicaiei respective este mai mic. Pentru execuia unei aplicaii DOS sub sistemul de operare Windows, sunt posibile anumite setri care s permit execuia optim a aplicaiei. Aceste setri sunt memorate n fiiere cu extensia .PIF. Fiierele .PIF (Program Information File) sunt fiiere de informaii ale programului care controleaz modul n care sistemul Windows va executa o aplicaie DOS (non Windows) i care sunt salvate n directorul aplicaiei DOS sau n directorul Windows. Aceste fiiere sunt de tip special i ele pot fi editate cu ajutorul opiunii Properties din meniul ce este afiat dac se Fig. 7.2. Opiunile posibile pentru o apas butonul din dreapta a mouse-ului aplicaie DOS deasupra pictogramei ce desemneaz programul DOS (fig. 7.1.). Un fiier .PIF conine informaii precum utilizarea memoriei, opiuni de multitasking, modurile video, prelucrrile foreground i background, execuia n mod

SISTEME DE OPERARE 61 ecran sau ntr-o fereastr etc. Prezentm n continuare utilizarea opiunii Properties pentru un program DOS. La alegerea opiunii Properties pe ecran apare un meniu cu urmtoarele opiuni: General, Program, Font, Memory, Screen i Misc aa cum este prezentat n figura 7.2. Opiunea General se refer la informaii generale cu privire la program. Aici se poate stabili atributul (atributele) programului prin bifarea csuelor active (Read-only, Hidden sau Archive). Opiunea Program se refer la date ce privesc programul: pictograma i numele programului, linia de comand cu parametri, variabile de mediu etc., directorul de lucru, fiierul de comenzi (.BAT) ce se execut la lansarea programului, combinaia de taste pentru lansarea programului (shortcut), fereastra n care va lucra programul i modul de nchidere a acesteia la terminarea programului DOS. Tot aici sunt dou butoane: Advanced... i Change Icon... care permit utilizarea fiierelor CONFIG.SYS i AUTOEXEC.BAT ce se gsesc n directorul rdcin a discului sistem sau definirea propriilor fiiere pentru aplicaia respectiv i, respectiv, schimbarea pictogramei programului. Celelalte obiuni permit: Font alegerea tipului de caractere care se vor utiliza n sesiunea DOS, Memory stabilirea cantitii de memorie RAM alocat aplicaiei DOS (n general fiind recomandat pstrarea opiunilor implicite), Screen care se refer la modul de afiare pe ecran i Misc ce conine diferite opiuni la care n general sunt preferate cele implicite.

7.3.

Arhitectura sistemului de operare Windows

Sistemul de operare Windows 9x conine un ansamblu de elemente, fiecare realiznd o anumit funcie pentru utilizatori i pentru programele de aplicaii componente sau executate sub contextul acestui sistem. Principalele componente ale sistemului de operare Windows sunt: nucleul sistemului de operare compus dintr-un interpretor de comenzi, care are rolul de a interpreta comenzile utilizatorului n vederea realizrii dialogului cu calculatorul; programele sistemului de baz: permit efectuarea serviciilor specifice unui sistem de operare i au n componena lor urmatoarele elemente: subsistemul de administrare a fisierelor, care are rolul de interfa ntre toate echipamentele calculatorului, pentru a asigura procesul de creare, actualizare si consultare a fiierelor; subsistemul de programe pentru reea, care are rolul de a efectua conectrile, deconectrile si gestionarea calculatoarelor conectate ntr-o reea de calculatoare; programe speciale pentru efectuarea serviciilor sistemului de operare: programe necesare instalrii echipamentelor si componentelor soft n regim PLUG&PLAY, programe speciale pentru administrarea memoriei interne; sisteme de programe pentru administrarea mainii virtuale: programe pentru administrarea memoriei virtuale, programe pentru programarea executrii

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

7.4.

Descrierea suprafeei de lucru (DESKTOP)

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

- depozitarea fiierelor i dosarelor care se terg

- calculatoarele conectate n reea

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

meniu START; lista TASK-urilor; zona SETTING.

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

SISTEME DE OPERARE

63

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

7.5.

ntreinerea sistemului de operare Windows

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

SISTEME DE OPERARE

64

LABORATOR
INTRODUCERE N SISTEME DE OPERARE Laborator 1 Caracteristicile fizice i capacitatea harddiscului
ntr-un sistem de calcul, ncrcarea sistemului de operare n memoria intern se face cu ajutorul programului ncrctor (Bootstrap Loader), de pe un suport extern de memorie. Suportul de memorie extern poate fi : o o o o o o discul flexibil (discheta) din de n ce mai rar folosit ; discul dur (harddiscul sau discul Winchester) ; discul optic (CD Compact Discul) ; discul video (DVD) ; memoria flash ; etc.

Discul dur sau harddiscul rmne n continuare unul din principalele suporturi externe de memorie de pe care se ncarc n mod obinuit sistemul de operare. Datorit acestui fapt, n stadiul actual, exist o strns legtur ntre sistemul de operare i harddisc. Pentru un astfel de dispozitiv destinat stocrii informaiei una dintre caracteristicile principale este cantitatea de informaie ce poate fi stocat pe harddisc sau capacitatea acestuia. Pentru cantitatea de informaie elementar posibil a fi stocat pe harddisc se folosete din motive tehnologice i istorice octetul (byte). Un octet este cantitatea de informaie ce poate fi reprezentat cu ajutorul a opt cifre binare (opt bii). Deci, avem o prim relaie pentru cantitatea de informaie stocat : 1 octet (byte) = 8 bii (bits) Este evident faptul c aceast cantitate de informaie este mult prea mic pentru cantitile imense de informaie vehiculate astzi de sistemele de calcul. Din acest motiv se folosesc multiplii acesteia : 210 octeti = 1024 octeti = 1 kilo octet = 1ko 210 ko = 1024 ko = 1 mega octet = 1Mo

SISTEME DE OPERARE 2 Mo = 1024 Mo = 1 giga octet = 1Go 210 Go = 1024 Go = 1 tera octet = 1To
10

65

Rezult c: 1To = 210 x 210 x 210 x 210 octeti = 240 octeti = 1 099 511 627 776 octei ceea ce reprezint o valoare ce nu poate fi comparat dect cu valorile numerice folosite n astronomie. Informaia este stocat pe harddisc pe principii magnetice, un strat magneti aflat pe unul sau mai multe discuri fiind magnetizat cu ajutorul mai multor capete de scriere/citire. Pentru ca informaia s poat fi gestionat i regsit pe aceste suprafee magnetice, exist un anumit mod de organizare a informaiei pe harddisk, mod de organizare extins i la celelalte suporturi externe de stocare a informaiei din motive de compatibilitate. Figura 1. Structura unei unitii hard disc Structura fizic a harddiscului este prezentat n figura 1. n acest exemplu structura este alctuit din dou discuri dure i de patru capete de citire/scriere aezate de o parte i de alta a discului. Cele patru capete se mic simultan deplasate de un bra de pozitionare. Discurile dure se rotesc cu o anumit vitez (de exemplu Figura 2. Organizarea informaiei pe disc 7200 rot/min) iar capetele citesc, pentru o anumit poziie, o suprafa circular. Organizarea informaiei conform acestui principiu este artat n figura 2. Fiecare pist (zon circular) este mprit, la rndul ei, n mod convenional n mai multe pri numite sectoare. Sectoarele au dimensiune fix (de obicei 512 octei). Pistele i sectoarele unui disc sunt numerotate n aa fel nct informaia stocat n acestea s fie uor regsit. Indiferent de cantitatea de informaie pe care dorim s-o memorm, aceasta trebuie s ocupe un numr ntreg de sectoare deoarece sectorul este considerat ca unitate de memorie pentru suportul extern. De exemplu un fiier pe disc va putea ocupa sectoarele 28, 29 i 35 iar alt fiier sectoarele 88, 89 i 73. Pentru ca informaia s poat fi localizat uor, sectoarele i pistele vor avea la inceput un antet n care sunt nscrise anumite informaii cum ar fi: numrul pistei, numrul sectorului,

SISTEME DE OPERARE 66 cantitatea de informaie stocat, codul de eroare etc. Aceste marcaje sunt scrise la formatarea suportului extern de memorie (formatare fizic). Aa cum s-a vzut, la un harddisc exist mai multe capete de citire/scriere, fiecare dintre acestea citind la un moment dat o pist de pe o fa a unui disc. Totalitatea pistelor citite la un moment dat formeaz un cilindru. Rezult c numrul total al pistelor de pe o fa a discului este egal nu numrul total al cilindrilor unui harddisc. Aceste informaii: numrul capetelor, numrul cilindrilor, numrul sectoarelor de pe o pist formeaz caracteristicile fizice ale unui harddisc (dimensiunea unui sector se consider implicit 512 octei). Din acest motiv pentru astfel de dispozitive externe de memorie se folosete noiunea de adresare CHS (Cylinder/Head/Sector addressing), deoarece atunci cnd sunt cunoscute aceste valori se cunoate exact poziia informaiei, sau geometrie CHS deoarece aceste informaii se refer la o anumit structur fizic. Cunoaterea geometriei CHS permite calcularea cantitii tonale de informaie ce poate fi stocat pe suportul extern de memorie: capacitate total = numr capete x numr cilindrii x numr sectoare pe pist x capacitate sector (512) <octei> (1)

Harddiscurile moderne sunt dispozitive extrem de complexe, care, din motive de simplitate sunt asociate cu dispozitive de tip CHS similare cu cele descrise aici. Interfeele (controlerele de harddisc) EIDE (Enhanced IDE IDE Intelligent Drive Electronics sau Integrated Drive Electronics) sau ATA (Advanced Technology Attachment) realizeaz translatri interne ale informaiei n aa fel stocarea intern, complex, a sectoarelor s poat fi privit n exterior sub forma simplificat a unei configuraii de tip CHS. Datorit caracterului universal al translatrilor interne, harddiscurile moderne pot fi configurate folosind orice combinaie pentru numrul total de cilindrii, capete i sectoare, ns valoarea capacitii totale calculat cu aceste valori nu trebuie s depeasc valoarea capacitii totale a dispozitivului extern de memorie. Dup stabilirea unei configuraii CHS aceasta trebuie folosit ori de cte ori este folosit harddiscul, orice modificare a acestor valori putnd duce la imposibilitatea recuperrii informaiei de pe harddisc. n funcie de tipul programului BIOS (Basic Input Output Sistem) valoarea capacitii maxime a unui harddisc ce se poate monta ntr-un sistem este limitat la diferite valori (pentru detalii se va studia bibliografia referitoare la arhitectura calculatoarelor). n aceast lucrare de laborator se vor studia valorile furnizate pentru geometria CHS de ctre programul BIOS i de ctre programul PartIn (Partition Information) al firmei PowerQuest. ATENIE! n meniul SETUP nu se vor face nici un fel de modificari! Modificrile pot produce nefuncionarea calculatorului. 1. Pentru determinarea geometriei CHS cu ajutorul componentei BIOS se va intra n meniul SETUP al acesteia astfel: a. se porneste calculatorul (sau se repornete selectnd comenzile: START Turn off computer Restart) i se apas tasta Delete sau se execut

SISTEME DE OPERARE 67 comanda indicat pe ecranul calculatorului, pentru a intra n meniul SETUP al programului BIOS; b. atunci cnd apare meniul SETUP se selecteaz opiunea Standard CMOS Features; c. se selecteaz o unitate harddisk i se apas ENTER; d. n fereastra aprut se citesc caracteristicile fizice ale unei uniti de disc; de exemplu: Capacity (capacitatea): 163 GB Cylinder (numrul de cylindrii): 65535 Head (capete): 16 Sector (numarul de sectoare pe pista): 255 Calculnd capacitatea maxima a discului cu relaia (1), obinem: capacitatea maxim = 127,5 GB Valorile citite i calculul efectuat se vor scrie ntr-un tabel de forma tabelului 1, n coloana BIOS. TABELUL 1 Parametrul Capacity Cylinder Head Sector Capacitate calculat (relaia 1)

BIOS

PartIn

2. Pentru determinarea CHS cu ajutorul programului PartIn se deschide acest program care afieaz fereastra din figura 3. Conform informaiilor afiate n aceast fereastr, valoarea calculat cu ajutorul relaiei (1) a capacitii totale a discului este: capacitatea maxim = 152,67 GB Valorile citite i cele calculate se trec n tabelul 1 n coloana PartIn. Aa cum se observ, exist diferene ntre capacitatea raportat de programul BIOS i cea raportat de programul PartIn. De asemenea exist diferene ntre capacitatea calculat i cea raportat. Capacitatea raportat de programul BIOS se refer la formatul fizic al harddiscului iar valorile CHS sunt cele stabilite de acest program pentru formatul fizic. Valoarea capacitii calculate trebuie s fie, aa cum s-a artat, mai mic dect capacitatea fizic (127,5 GB < 163 GB). Capacitatea raportat de programul PartIn se refer la capacitatea logic (obinut n urma formatrii logice). i aceast valoare trebuie s fie mai mic dect capacitatea fizic (152,66 GB < 163 GB). Valoarea calculat trebuie s fie n acest caz aceeai (156 327,8 MB = 152,66 GB). Important este configuraia CHS raportat de programul BIOS. Aceast configuraie trebuie pstrat (nscris n programul BIOS), dac unitatea de harddisc este mutat pe un alt sistem de calcul, pentru a putea citi n continuare informaiile de pe

SISTEME DE OPERARE 68 harddisk. De regul programul BIOS recunoate singur combinaia CHS datorit universalitii schemei de transformare.

Informaiile discului 1

Figura 3. Fereastra principal a programului PartIn.

Referatele de laborator vor conine valorile determinate experimental i cele calculate, trecute n tbelul 1. De asemenea referatele vor conine un scurt material (de o pagin) cu privire la stadiul actual al harddiscurilor existente pe pia (producatori, capaciti maxime etc.).

SISTEME DE OPERARE Introducere n sisteme de operare

69

Laborator 2 Partiionarea harddiscurilor


Prin operaia de partiionare nelegem fragmentarea logic a unui harddisc fizic n mai multe discuri logice. Cu alte cuvinte, un disc fizic, de o anumit dimensiune, poate fi privit de sistemul de operare ca fiind format din mai multe discuri independente, fiecare dintre acestea avnd asociat o liter. Cum pentru harddiscuri prima liter rezervat pentru identificare este litera C (literele A i B sunt rezervate pentru unitile de disc flexibil), partitiile vor primi n ordine, identificatorii: D, E, , Z. n utilizare, unui disc fizic i se poate asocia un singur disc logic, situaie n care discul fizic este identic cu discul logic, sau mai multe discuri logice a caror capacitate poate fi cel mult egal cu capacitatea discului fizic. Operaiile efectuate la instalarea unui sistem de operare sunt: partiionarea suportului extern de memorie, formatarea logic (formatarea de nivel nalt) a partiiilor, pentru un anumit sistem de fiiere corespunztor sistemului de operare instalat i instalarea propriu-zis a sistemului de operare.. Uneori, nainte de operaia de partiionare, poate fi necesar formatarea fizic (de nivel sczut) a suportului extern de memorie. Aceast formatare este fcut de regul n fabric dar, uneori, de exemplu n situaia apariiei unor virui informatici, formatarea fizic trebuie refcut. NOT: evitai pe ct posibil formatarea fizic a harddiscurilor deoarece pot aprea probleme n funcionarea harddiscului. Partiiile unui harddisk pot fi: partiii primare sau partiii extinse. Partiiile extinse se compun, la rndul lor din partiii logice. Un sistem de operare nu poate fi instalat dect pe o partiie primar. Partiia de pe care se ncarc sistemul de operare la un moment dat este partiia activ. Datorit faptului c la un moment dat n sistemul de calcul nu se poate ncrca dect un sistem de operare, o singur partiie va putea fi activ n sistem, Pentru ncrcarea sistemului de operare, n pista zero a harddiscului, se va afla sectorul de boot (MBR Master Boot Record), care permite lansarea n execuie a programului de ncrcare a sistemului de operare (Bootstrap Loader). Acest program, n cazul n care n sistemul de calcul sunt instalate mai multe sisteme de operare, va afia un meniu din care utilizatorul s-i aleag sistemul de operare pe care dorete s-l ncarce n sitemul de calcul. Programul Bootstrap Loader face activ partiia primar pa care se afl sistemul de operare dorit i trece la ncrcarea acestuia n memoria principal (memoria RAM) a sistemului de calcul. Programul de instalare a sistemului de operare conine i aplicaia pentru crearea sectorului de boot i instalarea programului Bootstrap Loader. Exist i aplicaii independente (cum este spre exemplu programul PartitionMagic) cu ajutorul crora se pot creea sectoare de boot i instala programe Bootstrap Loader prevzute cu meniu ce permite incrcarea unui sistem de operare din mai multe instalate n calculator.

SISTEME DE OPERARE Structura general a unui harddisc este prezentat n figura 1.

70

PARTIIE PRIMAR C:

PARTIIE PRIMAR D:

PARTIIE LOGIC E:

PARTIIE LOGIC F:

PARTIIE LOGIC G:

PARTIIE EXTINS HARDDISC (UNITATE FIZIC) Figura 1. Structura general a unui harddisc.

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

PARTIIE PRIMAR C:

PARTIIE PRIMAR (partiie ascuns)

PARTIIE LOGIC D:

PARTIIE LOGIC E:

PARTIIE LOGIC F:

PARTIIE EXTINS

HARDDISC (UNITATE FIZIC) Figura 2. Structura general a unui harddisc n cazul instalrii sistomului de operare DOS sau Windows 9x.

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

SISTEME DE OPERARE

71

NOT: partiionarea poate fi i nedistructiv aa cum este spre exemplu n cazul utilizarii programului PartitionMagic. n orice caz citii cu atenie documentaia programului utilizat. Pentru lansarea simulatorului programului FDISK.EXE se lanseaz n execuia aplicaia Simulator FDISK.exe. Pe ecranul calculatorului este afiat fereastra prezentat n figura 3.

Figura 3. Fereastra de nceput a programului Simulator FDISK

Figura 4. Meniul principal al programului FDISK.EXE

Se apas butonul Pornire iar la fereastra urmtoare se rspunde YES sau NO la ntmplare deoarece informaiile legate de formatul FAT16 sau FAT32 vor fi prezentate mai trziu. Dac s-a apsat butonul YES atunci la fereastra urmtoare se rspunde iari

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

Figura 5. Afiarea informaiilor legate de partiionarea harddiscului

Figura 6. Structura partiiei extinse.

Conform informaiilor afiate, harddiscul conine o partiie primar (C:) i una extins. Pentru a vedea componena partiiei extinse se apas butonul YES. Este afiat fereastra din figura 6.

SISTEME DE OPERARE 73 Partiia extins conine trei partiii logice (D: E: i F:) structura harddiscului fiind cea din figura 7.

PARTIIE PRIMAR C:

PARTIIE LOGIC D:

PARTIIE LOGIC E:

PARTI IE LOGIC F:

PARTIIE EXTINS HARDDISC (UNITATE FIZIC)

Figura 7. Structura harddiscului din programul Simulator FDISK.

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

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

Din aceast fereastr ne rentoarcem n meniul principal prin apsarea butonului Meniu principal (ESC) i de aici prsim programul prin apsarea butonului ESCAPE.

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

Figura 9. Fereastra cu codul activitii de laborator.

Referatele de laborator vor conine: lista opiunilor din meniul principal al programului FDISK.EXE cu o scurt descriere a acestora, o prezentare succint (de maximum o pagin) a unor programe de partiionare a harddiscurilor, folosite n prezent i codul rezultat la ncheierea activitii de tergere a harddiscului.

SISTEME DE OPERARE Introducere n sisteme de operare

75

Laborator 3 Partiionarea harddiscurilor (continuare)


Pentru instalarea unui sistem de operare pe un suport extern de memorie, acesta trebuie pregtit n prealabil in aa fel nct la pornirea calculatorului sistemul de operare s fie git i ncrcat n memoria RAM. n cazul harddiscurilor pregtirea acestora const n operaiile de: partiionare, formatare logic i compierea fiierelor sistemului de operare. La pornirea unui calculator pe care este instalat un sistem de operare, ncrcarea acestuia n memoria RAM a sistemului de calcul se numete proces de boot. Procesul de boot va fi descris pe scurt n continuare. Procesul de boot Dupa terminarea POST-ului (Power-On Self Test - aciune determinat n general, de programul BIOS, la pornirea calculatorului), funcia BIOS de incrcare a sistemului de operare (ntreruperea INT 19) intr n aciune. Aceast funcie are rolul de a ncrca primul sector de pe harddisc, adic MBR (Master Boot Record) n memorie la adresa 0000:7c00, dup care va rula codul de la locaia respectiv. Micul program din MBR va ncerca s gseasc partiia bootabil (activ) din tabela de partiii iar n cazul n care o gsete, va ncrca n memorie sectorul de boot din partiia activ (figura 1).

Tabela de partiii

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

MBR ( Master Boot Record) Master Boot Record este primul sector aflat pe harddisc, acest sector fiind creat la partiionare de programul FDISK, sector ce contine 512 Bytes. Sectorul este mprit n: o Programul de boot (Master Boot Code) 446 bytes. o Tabela de partiii (Master Partition Table) 64 bytes (16 x 4). o Semnatura (Boot Signature) - 2 bytes.

SISTEME DE OPERARE

76

Tabela de partiii

Figura 2. Structura MBR

1) Programul de boot Este un mic program ce ncepe de la offset-ul 000h ocupnd 446 de octei. Rolul acestui program este de a afla care este partiia activ. n cazul n care o gsete, execut codul din sectorul de boot din partiia activ. 2) Tabela de partiii Acest tabel conine intrrile pentru partiiile primare, dintre care numai una poate fi activa la un moment dat, i partiia extins. Aceast tabel de partiii ncepe de la offset-ul 0x01BE ocupnd 64 de octei ca mrime, coninnd 4 partiii primare sau 3 primare i una extins, fiecare dintre ele ocupnd 16 octei (bytes). Cea extins la rndul ei poate fi mprit n mai multe partiii logice. 3) Semnatura Ultimii 2 octei sunt ocupai de o sum de control care are rolul de a verifica dac a fost definit o tabel de partiii sau dac exista erori n tabela de partiii, semnatura avnd ntotdeauna valoarea AA55 n hexazecimal. Boot Managerul este programul ce ruleaz cnd este pornit un calculator. El este responsabil de ncrcarea i transferarea controlului sistemului de operare sau mai bine zis kernelui, kernelul iniializnd restul sistemului de operare. El este instalat n MBR i poate ocupa cel mult 446 de octei. NOTA: Trebuie precizat faptul c informaiile prezentate n aceste referate de laborator sunt valabile pentru sisteme de calcul de tip IBM PC sau compatibile cu acestea.

SISTEME DE OPERARE 4) Sectorul de boot

77

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

Figura 3. Coninutul BPB.

Partiionarea harddiscului n urma partiionrii harddiscului cu ajutorul programului FDISK.EXE sau a altui program de partiionare se obin mai multe discuri logice simbolizate cu ajutorul literelor de la C la Z i sectorul MBR ce conine tabela de partiii. Pentru partiionarea unui harddisk vom folosi programul Simulator FDISK parcurgnd urmtoarele etape: 2. se alege sistemul de fiiere FAT 32; 3. se alege opiunea large pentru partiiile NTFS; 4. se terge complet harddiscul conform procedeului descris n lucrarea de laborator 2; 5. se alege opiunea 1 i din aceasta se alege Create Primary DOS Partition; 6. apoi se alege opiunea Create Extended DOS Partition;

SISTEME DE OPERARE 78 7. n sfrit se creaz partiiile logice n partiia extins; 8. se creaza partiia activ cu opiunea 2; 9. se vizualizeaz corectitudinea rezultatului cu opiunea 4 din meniul principal; 10. se prsete programul notnd codul afiat. Atunci cnd se realizeaz partiionarea unui harddisk, fiecare partiie are o anumit dimensiune, msurat n megaoctei (MegaBytes - MB), dimensiune solicitat de ctre programul FDISK.EXE. Suma total a dimensiunilor partiiilor nu poate depi capacitatea harddiscului. Referatele de laborator vor conine: tabelul afiat de programul PartitionInfo pentru BPB a discului logic C: partitionarea unui harddisc de 64 GB, folosind tot spaiul disponibil, astfel: o partiie primar i dou partiii logice. n referat se vor trece: dimensiunea propus pentru fiecare partiie creat (n MB) avnd n vedere c pentru sistemul de operare instalat sunt necesari 700MB; codul furnizat la sfrit de programul Simulator FDISK; un referat de maximum o pagin cu programele Boot Manager mai des utilizate.

SISTEME DE OPERARE Introducere n sisteme de operare

79

Laborator 4 Formatarea
Dup partiionarea cu programul FDISK.EXE calculatorul trebuie repornit (bootat) pentru ca tabela partiiilor s fie scris n sectorul de boot. Urmeaz acum instalarea sistemului de fiiere n partiiile create iar apoi instalarea sistemului de operare. Instalarea sistemului de fiiere se face cu ajutorul operaiei de formatare logic. Formatarea logic (sau pe scurt formatarea) este operaia care se realizeaz n mod frecvent asupra suporturilor externe de memorie, in scopul marcrii acestora cu informaiile necesare sistemului de operare, pentru gestionarea informaiei stocate pe suportul de memorie respectiv. Pentru nceput, trebuie reinut n legtur cu operaia de formatare, dou aspecte: formatarea este o operaie distructiv, n sensul c n urma operaiei de formatare se pierde informaia de pe suportul formatat; fiecare sistem de operare are propriul sistem de fiiere (format) i deci formatarea va fi specific sistemului de operare pe care dorim s-l instalm.

Principalele tipuri de formate logice (sisteme de fiiere) Sistemul de fiiere reprezint o metod de organizare i stocare a fiierelor i a datelor coninute de acestea, pe un harddisc, metod ce s-a extins i la celelalte suporturi externe destinate stocrii informaiei i la reelele de calculatoare. Sistemul de fiiere FAT (File Allocation Table) Cel mai cunoscut (i folosit) sistem de fiiere este sistemul FAT creat de ctre firma Microsoft pentru sistemele de operare DOS i Windows. Sistemul de fiiere FAT este relativ simplu, fiind suportat de ctre toate sistemele de operare existente astzi i care sunt destinate calculatoarelor personale. Datorit acestui lucru formatul FAT este preferat la formatarea dischetelor sau a cardurilor de memorie extern i la formatarea harddiscurilor pe care se instaleaz mai multe sisteme de operare. Principalul inconvenient al acestui sistem de fiiere este reprezentat de faptul c tergerea i scrierea repetat a fiierelor pe suportul extern de memorie duce la fragmentarea informaiei i n conseciin la scderea vitezei de lucru a sistemului de calcul. Pentru remedierea acestei situaii se folosesc de obicei aplicaii pentru defragmentarea (rearanjarea informaiei) suportului extern de memorie. Durata mare necesar acestor aplicaii pentru rezolvarea problemei le face de cele mai multe ori s fie ocolite de utilizatori. Exist mai multe versiuni de sisteme de fiiere FAT, cele mai folosite fiind versiunile FAT16 i FAT 32.

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

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

Identificator (MBR) Dimensiune adres cluster Dimensiunea maxim a 2GB fiierului

SISTEME DE OPERARE 1 2 3 Numrul maxim de fiiere 65 517 268 435 437 Dimensiunea maxim a 4GB 8TB partiiei Sistemul de fiiere NTFS

81

Sistemul de fiiere NTFS (New Technology File System) reprezint sistemul de fiiere standard pentru Windows NT i descendenii acestui sistem de operare: Windows 2000, Windows XP, Windows Server 2003 i Windows Vista. Sistemul de fiiere NTFS are numeroase mbuntiri fa de sistemul de fiiere FAT cum ar fi: structuri avansate de date, creterea fiabilitii i a disponibilitii datelor i a spaiului utilizat, creterea securitii datelor etc. Datorit mecanismelor utilizate dimensiunea partiiilor este practic nelimitat. Sistemul de fiiere NTFS cunoate de asemenea mai multe variante, unele din acestea fiind compatibile cu sistemul de operare UNIX i LINUX. Exist numeroase aplicaii care permit formatarea suporturilor externe de memorie n diferite sisteme de fiiere i conversia acestor sisteme de fiiere. De asemenea anumite sisteme de operare cum sunt Windows XP, Linux etc sunt compatibile cu mai multe astfel de sisteme de fiiere. Aplicaia Disk Defragmenter Aplicaia Disk Defragmenter permite rearanjarea informaiei pe harddisc n scopul creterii vitezei de execuie a aplicaiilor. Acest aplicaie este instalat odat cu sistemul de operare. Avnd n vedere faptul c att sistemul de fiiere FAT ct i sistemul de fiiere NTFS folosesc clustere pentru memorarea informaiei, defragmentarea este necesar pentru ambele tipuri de sisteme de fiiere. Deschiderea aplicaiei sub sistemul de operare Windows se face acionnd opiunea start din bara principal de unelte dup care se selecteaz All Programs i de aici directorul Accessories. Din acesta se selecteaz directorul System Tools i din acesta se lanseaz programul Disk Defragmenter.

Aplicaia Disk Defragmenter.

SISTEME DE OPERARE 82 Se selecteaz una din partiiile afiate i se apas butonul Analyze. La sfritul analizei se poate afia raportul acesteia.

Exemplu de raport afiat de programul Disk Defragmenter.

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

SISTEME DE OPERARE Introducere n sisteme de operare

83

Laborator 5 Instalarea sistemului de operare DOS


Sistemul de operare DOS este un sistem de operare simplu i instalarea acestuia nu ridic probleme deosebite. Avnd n vedere dimensiunile reduse ale sistemului de operare acesta poate fi instalat pe un disc flexibil sau pe un suport de memorie de dimensiuni mici ceea ce uneori reprezint un avantaj important. Pentru nceput se va realiza o dischet MS-DOS de sub sistemul de operare Windows. Pentru acesata se deschide My Computer se d clic dreapta pe 3.5 Floppy (A:) i din meniul contextual aprut se selecteaz Format. Din fereastra aprut se bifeaz csua Create an MS-DOS startup disk. n felul acesta este realizat o dischet sistem la care este creat sectorul de boot i s-au copiat fiierele sistem: IO.SYS, MSDOS.SYS, COMMAND.COM i o serie de fiiere utile pentru configurare. Aceste fiiere se vor elimina, nefiind necesare n aceast lucrare de laborator, i se vor aduga pe dischet, fiierele: QBASIC.EXE, QBASIC.HLP, QBASIC.INI, EDIT.COM, EDIT.HLP, HELP.COM, HELP.HLP, SETVER.EXE, FORMAT.EXE i SYS.COM. Cu ajutorul editorului EDIT se vor crea pe dischet cele dou fiiere de configurare ale sistemului de operare: autoexec.bat i config.sys cu urmtorul coninut: <AUTOEXEC.BAT> @ECHO OFF PROMPT $P$G <CONFIG.SYS> FILES=30 STACKS=0,0 BUFFERS=20 DEVICE=A:\SETVER.EXE Lansarea editorului se face cu comanda EDIT urmat, eventual, de numele fiierului de editat. Comenzile n interiorul editorului se dau cu tasta ALT inut apsat i se apas i tasta literei cu care ncepe cuvntul din meniul principal. Pentru ca aceste configurri s aib efect se repornete calculatorul prin apsarea combinaiei de taste CTRL+ALT+DEL (RESET la cald) sau butonul RESET de pe panoul frontal al calculatorului. Dup repornirea calculatorului se apas tasta DEL pentru a intra n meniul SETUP al

SISTEME DE OPERARE 84 programului BIOS. De aici se selecteaz dispozitivul de pe care se buteaz ca fiind unitatea de disc flexibil. Dupa care se salveaz aceste opiuni i se repornete calculatorul. Dup ce sistemul de operare DOS s-a rencrcat, se trece la testarea programului FDISC. Cu ajutorul acestui program se vizualizeaz pertiiile existente i se trec n referatele de laborator informaiile afiate. Se poate trece acum la instalarea sistemului de operare DOS pe harddisc. Pentru aceasta hardiscul trebuie partiionat i formatat i pe acesta s existe o partiie primar FAT 16 (DOS) activ. n mod normal, instalarea sistemului de operare se face cu ajutorul unui kit de instalare care realizeaz toate operaiile necesare. Pentru instalarea cu ajutorul kitului de instalare, se introduce prima dischet n unitate i se lanseaz programul SETUP.EXE. Restul operaiilor sunt facute n mod automat. Instalarea se poate face i fr kitul de instalare n modul descris n continuare. Dup formatarea partiiei DOS active, se transfer sistemul de operare de pe dischet pe aceast partiie cu ajutorul comenzii: A:\SYS A: C:. Pe harddisc trebuie s apar fiierele sistem ale sistemului de operare DOS. Dpa aceasta, se creaz pe discul C: directorul DOS n care se vor pune fiierele sistemului de operare pentru comenzile externe (aceste fiiere vor fi copiate de pe dischetele puse la dispoziie) i fiierul TEMP n care se vor pune fiierele temporare. Se creaz fiierele CONFIG.SYS i AUTOEXEC.BAT n modul artat, cu urmtorul coninut: <AUTOEXEC.BAT> <CONFIG.SYS> @echo off DEVICE=C:\DOS\HIMEM.SYS SET PATH=C:\DOS;C:\TEMP DOS=HIGH,UMB SET TEMP=C:\TEMP DEVICE=C:\DOS\EMM386.EXE LH C:\MOUSE\MOUSE.EXE NOEMS DOSKEY FILES=30 CLS STACKS=0,0 BUFFERS=20 DEVICEHIGH=C:\DOS\ANSI.SYS aceste fiiere trebuie s se gseasc n directorul rdcin al discului C:. NOT: fiierele specificate n directorul DOS trebuie s se gseasc n acest director nainte de repornirea sistemului. Referatele de laborator vor conine: descrierea aciunilor desfurate pe parcursul laboratorului, explicarea necesitii acestora i explicarea comenzilor coninute de fiierele CONFIG.SYS i AUTOEXEC.BAT

SISTEME DE OPERARE Introducere n sisteme de operare

85

Laborator 6 Instalarea sistemului de operare Windows


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

SISTEME DE OPERARE

86

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

SISTEME DE OPERARE 87 unitate central poate fi instalat un sistem de operare cu prelucrare multipl. A. ADEVRAT B. FALS 9. Alegei varianta corect din cele prezentate mai jos. Durata existen a unui obiect reprezint: A. Durata ct obiectul este pstrat n memorie. B. Durata de execuie a obiectului. C. Durata de timp n care obiectul este accesibil. 10. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Sistemul de operare folosete o reprezentare extern i una intern pentru obiectele prelucrate. A. ADEVRAT B. FALS 11. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Calea de acces la un obiect ce reprezint o informaie poate fi constituit prin substituie sau prin nlnuire. A. ADEVRAT B. FALS 12. Alegeti varianta corect din cele prezentate mai jos pentru definirea memoriei fictive. A. Memoria fictiv reprezint memoria extern a sistemului de calcul utilizat ca memorie intern. B. Memoria fictiv reprezint o memorie principal ipotetic suficient de mare pentru a conine toate obiectele sistemului. C. Memoria fictiv este caracteristic sistemelor de operare cu administrare automat a memoriei. 13. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Administrarea resurselor unui sistem de calcul se realizeaz n principal prin intermediul programelor de aplicaii. A. ADEVRAT B. FALS 14. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Pentru a crete eficiena sistemului de calcul, administrarea accesului la periferice prin intermediul sistemului de operare se face cu ajutorul perifericelor fictive. A. ADEVRAT B. FALS 15. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Componentele sistemului de operare prin care se materializeaz funcia de administrare a resurselor de calcul se numesc alocatoare. A. ADEVRAT B. FALS

SISTEME DE OPERARE 88 16. Alegei varianta corect din cele prezentate mai jos. Resursele reale ale sistemului de calcul sunt reprezentate de: A. componente de program (software); B. componente constructive (hardware); C. att componentele software ct i cele hardware. 17. Alegeti varianta corect din cele prezentate mai jos pentru resursele cu acces multiplu. A. Resursele cu acces multiplu sunt resurse care permit utilizarea lor simultan de ctre mai multe procese. B. Resursele cu acces multiplu sunt resursele la care accesul utilizatorilor este serializat. C. Resursele cu acces multiplu sunt resursele care pot fi conectate simultan la mai multe sisteme de calcul. 18. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Unitatea central este o resurs cu acces multiplu. A. ADEVRAT B. FALS 19. Alegeti 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. Alegeti varianta corect din cele prezentate mai jos. ncrcarea sistemului reprezint: A. Totalitatea programelor ncrcate n memoria sistemului. B. Numrul utilizatorilor simultani pe un sistem de calcul. C. Totalitatea cererilor (explicite i implicite) de resurse care trebuie satisfcute la un moment dat. 21. Alegeti varianta corect din cele prezentate mai jos. Alocarea unei resurse reprezint: A. Totalitatea aciunilor prin care sistemul de operare reuete s satisfac cererile de resurse. B. Numrul resurselor virtuale create la un moment dat pentru o resurs fizic. C. Modul n care unitatea central comand perifericele ntr-un sistem de calcul. 22. Alegeti varianta corect din cele prezentate mai jos. A. Administrarea resurselor de calcul se face pe baza numrului de resurse virtuale. B. Administrarea resurselor de calcul se face cu ajutorul strategiilor pe baz de prioritate i a strategiilor pe baz de termen. C. Administrarea resurselor de calcul se face cu ajutorul strategiilor pe baz de prioritate i a strategiilor pe baz de program. 23. Alegeti varianta corect din cele prezentate mai jos referitor la strategiile pe baz de prioritate. A. Unitii centrale i se asociaz o serie de prioriti n aa fel nct s poat ordona procesele din coada de ateptare. B. Planificarea lucrrilor se face n funcie de termenul n care ele sunt prezentate sistemului de calcul.

SISTEME DE OPERARE 89 C. Planificarea lucrrilor se face n funcie de prioritatea asociat acestora, procesele fiind aezate n una sau mai multe cozi de ateptare. 24. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Strategia FIFO (First In First Out) este o strategie n mai muli pai. A. ADEVRAT B. FALS 25. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Strategia LIFO (Last In First Out) este o strategie cu un pas. A. ADEVRAT B. FALS 26. Alegei varianta corect din cele prezentate mai jos, referitor la strategiile pe baz de termen. A. Strategie de planificare care presupune cunoaterea duratei de execuiei a proceselor i ncrcarea sistemului. B. Strategie n care se impune un anumit termen pentru prezentarea lucrrii n scopul lansrii n execuie. C. Strategie n care perifericele au un anumit termen de utilizare. 27. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Strategia SXFS (Shortest eXecution First Service) este o strategie care favorizeaz lucrrile lungi n detrimentul celor scurte. A. ADEVRAT B. FALS 28. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Strategia EDFS (Earliest Deadline First Service) este o strategie cu un pas. A. ADEVRAT B. FALS 29. Alegei varianta cea mai potrivit, din cele prezentate mai jos, referitor la strategia carusel-simplu. A. Este o strategie cu un pas similar strategiei FIFO (First In First Out). B. Este o strategie cu cozi multiple, fiecare coad de ateptare avnd asociat o anumit prioritate. C. Este o strategie cu mai muli pai similar strategiei FIFO (First In First Out). 30. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Strategia caruselmultiplu este o strategie cu un singur pas. A. ADEVRAT B. FALS 31. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Administrarea memoriei se refer numai la administrarea memoriei interne (memoria principal). A. ADEVRAT B. FALS

SISTEME DE OPERARE 90 32. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Maina vid este o metod automat de gestionare a memoriei principale. A. ADEVRAT B. FALS 33. Alegei varianta corect din cele prezentate mai jos referitor la partiiile fixe ale memoriei. A. Metod de gestiune a memoriei care permite rularea programelor de dimensiuni orict de mari. B. Este o metod de gestionare automat a memoriei care presupune segmentarea acesteia n segmente de dimensiuni fixe. C. Metod de gestionare a memoriei care permite nlnuirea automat a lucrrilor prin intermediul programului supervizor. 34. Alegei varianta corect din cele prezentate mai jos referitor la administrarea automat a memoriei. A. Administrarea automat a memoriei duce la creterea eficienei n exploatare a resurselor i la mbuntirea timpului de rspuns a sistemului. B. Administrarea automat a memoriei presupune utilizarea segmentrii, a memoriei virtuale i a partiiilor fixe. C. Administrarea automat a memoriei exclude posibilitatea utilizrii memoriei secundare (externe) n scopul execuiei programelor. 35. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Unitatea central este o resurs banalizat. A. ADEVRAT B. FALS 36. Alegei varianta corect din cele prezentate mai jos. O resurs virtual este reprezentat de: A. O resurs ce nu exist n sistemul de calcul. B. O resurs existent ce este multiplicat dup necesiti. C. O resurs inaccesibil. 37. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). O baz de date reprezint o resurs cu acces multiplu. A. ADEVRAT B. FALS 38. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Periodicitatea unui proces (task) poate fi fix sau dinamic. A. ADEVRAT B. FALS 39. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Un proces (task) este n starea gata de execuie n momentul n care deine controlul unitii centrale. A. ADEVRAT B. FALS

A. B.

A. B.

A. B.

A. B.

A. B.

A. B.

SISTEME DE OPERARE 91 40. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Un proces (task) este n starea blocat n momentul n care poate lua controlul procesorului de ndat ce executivul l lanseaz n execuie. ADEVRAT FALS 41. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Prioritatea unui proces (task) poate fi fix sau dinamic. ADEVRAT FALS 42. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Un proces (task) poate fi descris cu ajutorul descriptorilor care sunt de dou feluri: statici i implicii. ADEVRAT FALS 43. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Periodicitatea unui proces (task) este stabilit la nceput i ea nu mai poate fi modificat pe parcursul execuiei. ADEVRAT FALS 44. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Prioritatea unui proces (task) este stabilit la nceput i ea nu mai poate fi modificat pe parcursul execuiei. ADEVRAT FALS 45. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Bufferul de transfer reprezint o resurs virtual. ADEVRAT FALS

SISTEME DE OPERARE Introducere n sisteme de operare

92

Laborator 7 Instalarea sistemului de operare LINUX


Pregtirea pentru instalare Instalarea unei distribuii Linux se poate face n mod normal prin pornirea sistemului de pe primul disc CD. n cazul n care programul de instalare nu pornete automat, trebuie mai nti creat o disket de boot. De asemenea, aceast disket poate fi necesar atunci cnd nu se dorete utilizarea metodei obinuite de instalare de pe CD. Dac sistemul are deja instalat un sistem MS-DOS/Windows, instalarea poate fi pornit i direct de pe CD-ROM, fr a mai fi necesar i disketa de boot. Pe un calculator pot coexista fr probleme mai multe sisteme de operare, evident dac spaiul pe disc permite acest lucru. Astfel, poate rula sistemul deja instalat (cum ar fi cele din seria Windows) i Linux. Sistemul Linux are nevoie de cel puin dou partiii separate pentru a putea funciona. Dac pe disc exist deja Windows, este necesar redimensionarea partiiilor existente pentru a putea crea partiiile necesare Linux-ului. Pentru a redimensiona partiiile existente pe disc, poate fi folosit utilitarul FIPS (inclus de obicei tot pe primul disc al distribuiei) sau Partition Magic (program comercial). Pentru a folosi FIPS, trebuie mai nti defragmentat discul cu ajutorul comenzii MS-DOS DEFRAG, iar apoi redimensionate partiiile. Dup activarea acestora, calculatorul va trebui repornit. Crearea disketei de boot Pentru a crea disketa de boot din cadrul MS-DOS/Windows, se va folosi utilitarul RAWRITE (inclus i el n general pe primul disc), printr-o comand de genul RAWRITE BOOT.IMG. Pentru crearea disketei de boot din cadrul unui sistem compatibil UNIX (e.g. un alt calculator cu Linux), se lanseaz un set de comenzi de genul (presupunnd c dispozitivul asociat unitii CD-ROM este /dev/cdrom, iar cel asociat unitii floppy este /dev/fd0, i c directorul /mnt/cdrom exist): # mount /dev/cdrom /mnt/cdrom # dd if=/mnt/cdrom/images/boot.img_of=/dev/fd0 # umount /dev/cdrom Distribuiile Linux ofer mai multe surse de unde fiierele coninnd pachetele de programe vor fi preluate. Astfel, sunt posibile urmtoarele metode: instalare de pe CD-ROM (cea mai uzual), harddisk (n acest caz, coninutul discurilor de instalare trebuie copiat n prealabil pe o partiie Linux sau Windows existent), NFS (instalarea se efectueaz de pe un alt calculator aflat n reea, care export coninutul distribuiei prin sistemul NFS), FTP (dac instalarea se efectueaz de pe un server FTP, de obicei atunci cnd se dispune de o conexiune Internet rapid), HTTP (similar cu FTP, dar fiind vorba despre un server HTTP). Menionm c pentru metodele de instalare prin reea poate fi necesar o a doua disket, coninnd drivere pentru diferite plci de reea (imaginea acesteia se gsete de asemenea pe primul disc).

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

SISTEME DE OPERARE 94 grafic uor de utilizat. Dac nu se dorete pornirea mediului grafic (de exemplu, dac placa video are performane slabe), se tasteaz comanda: boot: text pentru a porni programul de instalare n mod text. 1. Selectarea limbii Se selecteaz limba ce va fi utilizat att n timpul instalrii, ct i implicit dup instalare. Selecia fcut aici va influena i fusul orar. Sunt disponibile o multitudine de limbi, dintre care i limba romn. 2. Configurarea tastaturii Se selecteaz modelul tastaturii (Generic, 101 taste, Microsoft Natural Keyboard etc.) i schema acesteia (German, U.S. English etc.). 3. Configurarea mouse-ului Se selecteaz tipul mouse-ului (Generic, Mouse Systems, Wheel Mouse etc.), portul la care este conectat acesta (serial, PS/2 etc.) i, n cazul n care mouse-ul are dou butoane, dac se dorete emularea de trei butoane prin apsarea celor dou. 4. Opiunile de instalare Se stabilete dac se efectueaz o instalare complet sau un upgrade (instalarea unei versiuni mai noi a distribuiei). n cazul instalrii complete, se stabilete tipul instalrii: Personal Desktop, Workstation, Server sau Custom. Acest tip determin pachetele care vor fi propuse pentru instalare. Personal Desktop (statie de lucru) Acest tip de instalare este ideal pentru utilizatorii noi de Linux. Se folosete atunci cnd sistemul se afl acas sau la serviciu, sau pentru calculatoare portabile. Include programe de tip office (redactare de texte, calcul tabelar etc.), programe pentru acces la Internet (navigare, citirea corespondenei etc.), programe multimedia s.a.m.d. Necesit minim 1,5 GB spaiu disponibil pe hard-disk. Workstation Este asemntoare cu Personal Desktop, incluznd n plus instrumente pentru dezvoltarea de programe i administrare de sistem. Server Acest tip de instalare cuprinde programe care ofer servicii Internet (Web, FTP, pot electronic etc.), precum i alte servicii de reea (NFS, Samba etc.). Necesit minim 1 GB spaiu disponibil. Custom (personalizat) Instalarea de tip Custom este potrivit utilizatorilor obinuii cu sistemul Linux i ofer cea mai mare flexibilitate posibil. Necesit minim 350 MB spaiu disponibil pentru o instalare minimal i circa 3,5 GB dac sunt selectate toate pachetele. 5. Partiionarea discului Exist trei opiuni de partiionare: o partiionare automat: programul de instalare va genera automat partiiile n funcie de tipul de instalare ales. Partiiile rezultate pot fi modificate apoi n funcie de necesiti;

SISTEME DE OPERARE 95 o partiionare manual cu ajutorul programului Disk Druid, dotat cu o interfa grafic simpl dar puternic, uor de folosit; o partiionare manual cu ajutorul programului clasic fdisk (disponibil numai n cazul instalrilor n mod text), care are o interfa tip linie de comand, n mod text.

Figura 1: Crearea partiiilor cu ajutorul programului Disk Druid

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

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

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

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

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

Figura 2: Selectarea pachetelor pentru instalare

14. Selectarea grupurilor de pachete Pot fi selectate grupurile de pachete (aplicaii) care se doresc a fi instalate. Dac se dorete i selectarea individual a pachetelor din cadrul grupurilor, trebuie selectata optiunea Customize software packages to be installed. n orice moment poate fi verificat dimensiunea instalrii (Figura 2).

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

SISTEME DE OPERARE Introducere n sisteme de operare

100

Laborator 8 Managementul partiiilor


n activitatea de ntreinere i depanare a unui sistem de operare, apare adesea necesitatea modificrii dimensiunii i a tipului partiiilor existente pe harddisc. n aceast lucrare de laborator se vor studia cteva din programele destinate modificrii partiiilor. Programul AcronisDisk Director Suite 10 ofera protectie si o reorganizare a datelor pentru cresterea performantelor. Programul este alcatuit dintr-o suita completa de utilitare pentru managementul hard disk-ului ce combina un numar de programe anterioare sub marca Acronis, structurate acum, intr-o singura solutie, oferind suport pentru aproape toate tipurile de partitii, FAT16, FAT32, NTFS, Linux Ext2, Ext3, ReiserFS, si Linux SWAP. Utilitare incluse in program: o Acronis Partition Expert ( redimensionare, mutare, copierea partitiilor fara pierderi de date). o Acronis OS Selector ( instalarea si utilizarea mai multor sisteme de operare pe un singur calculator). o Acronis Recovery Expert ( recuperarea partitiilor pierdute sau sterse accidental). o Acronis Disk Editor ( editarea hexazecimala si restaurarea secventelor de boot).

SISTEME DE OPERARE Functii disponibile in Acronis Disk Director Suite 10

101

o Split partitions ( impartirea unei partitii in doua partitii egale sau inegale, fara a pierde date) o Boot from CD/DVD ( bootare sistemelor de operare de pe CD-uri sau DVDuri) o Merge partitions (imbinarea a doua partitii intr-una singura, nemodificand datele, chiar daca acestea sunt diferite) o Explore partitions ( explorarea continutului unei partitii inainte de executarea unei operatiuni) o Boot from an additional hard disk drive( flexibilitatea bootarii de pe hard disk-uri aditionale) o Automatic operating system detection ( detectarea sistemelor de operare sterse accidental) o Modify, copy, move partitions ( modificarea, copierea si mutarea partitiilor deja existente) o Install multiple operating sistems on one PC( posibilitatea de instalare a mai multor sisteme de operare pe acelasi calculator) o Recover lost or deleted partitions ( recuperarea partitiilor pierdute sau sterse) o Edit a hard disk drive (editarea hard disk-urilor). Cerinte de sistem pentru Acronis Disk Director Suite 10: o o o o Procesor 150MHz sau mai mare Memorie 32MB sau mai amre Periferice: CD-ROM, CD-RW, DVD-ROM, floppy disk Sisteme de operare: Microsoft Windows Professional Edition/XP/2000/NT/Me/98

x64

SISTEME DE OPERARE

102

Tehnologii oferite: o Crearea si stergerea partitiilor de orice tip o Formatarea partitiilor o Optimizarea automata a spatiului de pe hard disk o Conversia partitiilor FAT16 <=> FAT32, Linux Ext2 <=> Ext3 fara pierderi de date o Schimbarea marimii clusterelor automat sau manual o Navigarea prin informatiile detaliate ale hard disk-urilor sau fisierelor de sistem o Ascunderea sau vizualizarea tuturor partitiilor o Vizualizarea operatiilor 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 Protectia sistemelor de operare multi-boot cu parola o Clonarea sistemelor de operare prin back-up o Protectie antivirus la bootare. Programul GDISK este un utilitar DOS inclus n pachetul Norton Ghost 2001. El este unul din cele mai bune instrumente de partiionare, nlocuind cu succes FDISKul pus la dispoziie de ctre sistemul de operare Windows. Prin intermediul sau pot fi create, terse sau modificate mrimile unei game variate de partiii, de la FAT, FAT32, NTFS pana la Ext2. i pentru GDISK gama de opiuni i switch-uri n linia de comand este mare, lucru care contribuie la obinerea unui control crescut al operaiei de partiionare. Daca nu avei acces la un program specializat, Windows XP permite managementul partiiilor la un nivel mai simplu (creare, tergere, schimbare liter) din Control Panel -> Administrative Tools -> Computer Management, selectnd apoi Storage -> Disk Management.

Managementul partiiilor din Windows XP

SISTEME DE OPERARE Cu click-dreapta pe una din partiii avem acces la urmtoarele opiuni: o Create partition o Change drive letter and paths o Format o Delete partition Fiecare optiune are un wizard pentru a facilita aciunile respective.

103

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

SISTEME DE OPERARE Introducere n sisteme de operare

104

Laborator 9 Lucrul cu programul Partition Magic


Partiionarea harddiscului prezint mai multe avantaje: o o mai buna organizare a informaiilor pe hardurile foarte mari (putei s avei o partitie pentru programe, una pentru jocuri etc.); o posibilitatea de a separa informaiile mai importante pe unele partiii care s poat fi defragmentate periodic; o pstrarea informaiilor n cazul n care este necesar reinstalarea sistemului de operare; o separarea unor partiii cu un grad mare de fragmentare a fiierelor (unde sunt puse fiierele descrcate de pe net); o crearea unor partiii pentru fiierele temporare (de exemplu, pentru fisierul SWAP folosit de Windows). Cel mai important aspect este ca impartirea hardului sa fie bine gandita. Altfel apare riscul de a avea prea mult spatiu liber pe unele partitii si mult prea putin pe altele. Nu exista o formula exacta pentru aceasta. In cazul partitiilor pentru fisiere temporare pot exista niste recomandari, dar cam atat. De exemplu, in cazul fisierului SWAP (prin care Windows suplimenteaza memoria RAM tinand pe hard intr-un fisier tot ce preconizeaza ca are nevoie in acel moment) se poate impune o limita la de 3 ori memoria RAM a sistemului. Un program de partitionare este PartitionMagic 8.0. Primul pas ce trebuie facut inainte de partitionare este instalarea programului de partitionare. Al doilea pas este sa fie facuta o defragmentare a tuturor partitiilor ce urmeaza a fi implicate in proces. Prin defragmentare sunt grupate datele si este evitata pierderea lor in timpul operatiunii. Elementele principale ale ecranului initial sunt: o zonele de toolbar si Partition Operations (care dau acces la aceleasi functii ) o zona Pick a Task (de unde poate fi lansat un wizard pentru fiecare operatiune) o zona Disk Map (partea grafica din dreapta) o zona Operations Pending (unde sunt puse toate operatiunile care urmeaza a fi executate - operatiunile nu sunt puse in aplicare decat in momentul in care este apasat butonul Apply) Ultimele trei butoane de pe toolbar: o anuleaza ultima operatiune facuta o anuleaza toate operatiunile facute o valideaza toate operatiunile facute si le lanseaza in executie Pentru executarea operatiunilor PartitionMagic se da un restart al PC-ului si efectueaza toti pasii necesari.

SISTEME DE OPERARE

105

Ecranul iniial al programului Partition Magic

Crearea unei noi partitii A. Se d click mai intai zona de hard nealocata (care apare in grafic marcata cu gri inchis) si pe urma dai click pe Create partition (de pe toolbar sau din Partition operations). Va apare o fereastra in care poti specifica: o tipul partitiei (Primary - este partitia principala pe care este instalat sistemul de operare si de pe care poate boota calculatorul; Extended - grupeaza restul spatiului liber in afara de partitia principala; Logical marcheaza partitiile din partea Extended si nu poate fi create pana nu a fost creata cea Extended) o litera ce urmeaza a fi atribuita noii partitii o modul de alocare (NTFS este modul de alocare pentru Windows NT, 2000, XP, 2003 si Vista) o eticheta partitiei (este utila numai pentru utilizator) o pozitia partitiei (daca se fie creata pornind de la inceputul sau de la sfarsitul zonei nealocate) o dimensiunea noii partitii (implicit este dimensiunea maxima nealocata poate fi definita si ca procent din spatiul nealocat) B. Se d click direct pe Create a new partition din Pick a Task. Va apare un wizard care sa te ajute la creare noii partitii (fiecare punct reprezinta un ecran): 1. o descriere a ceea ce face wizardul; 2. pozitia partitiei (recomandabil este sa fie la sfarsit);

SISTEME DE OPERARE 106 3. ofera posibilitatea de a lua din spatiul liber disponibil pe alte partitii pentru noua partitie (ia numai de pe cele bifate - implicit sunt bifate toate); 4. stabilesti dimensiunea (implicit este trecuta valoarea spatiului nealocat, iar valoarea maxima tine cont si de spatiul liber pe celelalte partitii selectate la pasul anterior), eticheta, tipul, modul de alocare si litera ce urmeaza a fi atribuite noii partitii; 5. arata cum va fi alocarea spatiului pe hard dupa efectuarea operatiunii si cere confirmarea. Dupa ce se d OK (sau Finish in a doua varianta), operatiunea de creare va aparea in lista de operatii. Operatiunea in sine nu va avea loc decat dupa ce se d si Apply. Stergerea unei partitii Stergerea este ca in orice alta aplicatie partea cea mai simpla: o se selecteaz partitia pe care vrem sa o stergem (ori de pe reprezentarea grafica, ori din lista); o se d click pe Delete partition (sau se apas Del de pe tastatura); o se selecteaz tipul de stergere (normala sau de siguranta - cea de siguranta dureaza mai mult, dar va sterge datele in asa fel incat sa nu poate fi recuperate); o se confirm operatiunea. Din nou, stergerea nu este executata pana nu se d Apply. Recuperarea unei partitii Daca ai sters din greseala o partitie (stergere obisnuita - in cazul stergerii de siguranta partitia nu mai poate fi recuperata) si nu ai facut intre timp alte modificari asupra alocarii spatiului pe hard, poti incerca sa recuperezi datele selectand zona nealocata unde era partitia si dand Undelete Partition. Este posibil ca datele sa mai poata fi recuperate. In cazul in care au fost sterse mai multe partitii, este recomandabil sa fie recuperate una cate una, in ordinea importantei lor. Redimensionarea unei partitii Poti redimensiona partitia principala (C-ul), dar nu este recomandabil sa lasi spatiu liber la inceputul ei. A. Mai intai selectezi partitia pe care vrei sa o redimensionez, iar pe urma dai click pe Resize/Move Partition. In fereastra care apare, ai 3 rubrici: o spatiul liber inainte partitiei o dimensiunea partititei o spatiul liber dupa partitiei Este importanta pozitionarea spatiului liber deoarece nu poti include intr-o partitie decat spatiul liber adiacent. Deci, daca vrei sa eliberezi spatiu pentru a mari partitia din stanga celei pe care o redimensionezi, va trebui sa lasi spatiu liber inainte partitiei. Redimensionarea poti sa o faci fie tastand noua valoarea intr-una din cele 3 rubrici, fie tragand de capetele partitiei (cum ai redimensiona o fereastra in Windows).

SISTEME DE OPERARE 107 Mutare este tot pe acelasi principiu ca si mutarea unei ferestre: deplasezi cursorul deasurpa partitiei, dai click stang (si tii apasat), dupa care poti muta stangadreapta partitia (valorile din rubricile legate de spatiul liber se vor modifica automat). B. Dai click direct pe Resize a Partition si va apare un wizard care sa te ajute in redimensionarea unei partitii (fiecare punct reprezinta un ecran): 1. o descriere a ceea ce face wizardul 2. selectezi partitia pe care vrei sa o redimensionezi 3. specifici noua dimensiune (minim - volumul datelor de pe partitie, maxim tot spatiul liber de pe hard, incluzand si celelalte partitii) 4. selectezi de la ce partitii sa ia spatiul liber (daca maresti partitia) sau caror partitii sa repartizeze spatiul eliberat (daca micsorezi partitia) 5. arata cum va fi alocarea spatiului pe hard dupa efectuarea operatiunii si cere confirmarea Dupa ce dai OK (sau Finish in a doua varianta), operatiunea de creare va aparea in lista de operatii. Operatiunea in sine nu va avea loc decat dupa ce dai si Apply. Unirea a doua partitii Pentru a uni doua partitii dai click pe Merge partitions si apare un wizard (fiecare punct reprezinta un ecran): 1. o descriere a ceea ce face wizardul 2. selectezi prima partitie din cele doua (trebuie sa fie langa urmatoarea altfel nu se poate face unirea) 3. selectezi a doua partitie 4. specifici numele directorului in care vor fi puse pe noua partitie toate datele de pe a doua partitie selectata 5. avertisment legat de schimbarea literelor folosite pentru identificarea partitiilor (explicatii se gasesc in sectiunea de mai jos dedicata schimbarii literei unei partitii) 6. arata cum va fi alocarea spatiului pe hard dupa efectuarea operatiunii si cere confirmarea Dupa ce dai Finish operatiunea de creare va aparea in lista de operatii. Operatiunea in sine nu va avea loc decat dupa ce dai si Apply. Schimbarea literei unei partitii (DriveMapper) Pentru a schimba litera prin care este identificata o partitie: o click dreapta pe respectiva partitie o din meniul aparut Advanced -> Change Drive Letter o stabilesti noua litera si dai OK Operatiunea in sine nu va avea loc decat dupa ce dai si Apply. Un program utilitar al PartitionMagic este DriveMapper (in meniul creat la instalare apare in Tools). Acesta permite modificarea in sistem a referintelor existente catre o partitie. De exemplu, daca ai modificat partitia F in partitia G, trebuie sa modifici si toate referintele catre partitia F sa poata gasi acum datele pe G. DriveMapper este de fapt un wizard (fiecare punct de mai jos, reprezinta un ecran): 1. o descriere a ceea ce face DriveMapper

SISTEME DE OPERARE 108 2. pentru a adauga sau sterge o operatiune de modificarea a referintelor folosesti butoanele Add si Delete, iar in cazul in care dai Add specifici tipul de operatiuni o operatiune tipica - daca ai creat o noua partitie sau daca ai schimbat litera aferenta unei partitii (selectezi litera care trebuie cautata si cea noua care o va inlocui) o operatiune de unire - daca ai unit doua partitii si toate datele de pe una din vechile partitii sunt acum intr-un director pe cea noua (electezi litera care trebuie cautata si directorul unde au fost mutate datele de pe respectiva partitie) 3. poti bifa daca sa fi intrebat pentru validare la fiecare modificare 4. dupa ce apesi Finish, programul va incepe modificarea referintelor. Crearea meniului de boot Programul BootMagic pentru crearea unui meniu de boot, realizat de catre compania PowerQuest (realizatorii lui Partition Magic), este unul din programele cele mai vechi de acest fel existente pe piata. Este configurabil (atat ca partitii care vor fi activate, setarea unor parole pentru activarea partitiilor, sau modificarea acestor setari) din cadrul unui program ce ruleaza in Windows, dar se pot face si din DOS. Modul de selectie a partitiilor de pe care se va realiza operatiunea de boot este foarte simplu si intuitiv. NOT: aveti mare grija atunci cand rulati un program de tip boot manager, deoarece utilizarea in mod defectuos a acestuia poate duce in cel mai fericit caz la stergerea informatiilor din MBR, iar in cel mai rau la pierderea tuturor datelor pe care le aveti pe harddisk. Daca totusi, operatiunea de instalare a unui boot manager a esuat, iar incercarea dumneavoastra de a restaura zona MBR cu FDISK /MBR a fost zadarnica, dar puteti avea acces la fisierele de pe harddisk, problema se poate rezolva usor prin reinstalarea sistemului de operare. Mutarea fisierului SWAP din Windows O idee utila ar fi si mutarea fisierului SWAP din Windows pe o partitie special facuta pentru el sau macar pe o partitie care sufera putine modificari (pe care nu prea scrii sau stergi). Fisierul SWAP este fisierul prin care Windows suplimenteaza (cand are nevoie) memoria RAM. Problema cu acest fisier este ca el apare ca imposibil de mutat la defragmentare si poate incurca, din acest motiv, procesul. Mutarea este destul de simplu de facut: 1. click dreapta pe My Computer -> Properties 2. Advanced -> Settings (de la Performance) -> Advanced

SISTEME DE OPERARE 109 3. click pe butonul Change In fereastra curenta poti stabili pe ce partitii sa fie fisierul SWAP si ce dimensiuni sa aiba. Cel mai bine este sa fie un singur fisier SWAP pe o singura partitie. Pentru a anula fisierul SWAP de pe o partitie trebuie sa selectezi partitia din lista, sa bifezi No paging file si sa apesi butonul Set. Pentru a crea un nou fisier SWAP pe alta partitie trebuie sa selectezi partitia din lista, sa bifezi Custom size sau System Managed si sa apesi butonul Set. Diferenta intre Custom size si System Managed este ca la prima fisierul are dimensiunile (minima si maxim) stabilite de utilizator, iar la a doua Windows creste/scade dimensiunea fisierului in functie de necesitati. Este de preferat sa fie stabilita o dimensiune constanta (punand la dimensiunile minim si maxim aceeasi valoare) pentru a evita fragmentarea partitiei. O valoare care ar trebui sa acopere necesitatile unui sistem obisnuit ar fi de 1,5 GB (1536 MB). Pentru ca noile setari sa aibe efect este necesar un restart (vei fi intrebat in mod automat dupa ce dai OK in cele 3 ferestre deschise). Programul BootMagic pentru crearea unui meniu de boot, realizat de catre compania PowerQuest (realizatorii lui Partition Magic), este unul din programele cele mai vechi de acest fel existente pe piata. Este configurabil (atat ca partitii care vor fi activate, setarea unor parole pentru activarea partitiilor, sau modificarea acestor setari) din cadrul unui program ce ruleaza in Windows, dar se pot face si din DOS. Modul de selectie a partitiilor de pe care se va realiza operatiunea de boot este foarte simplu si intuitiv. Referatele de laborator vor conine: descrierea modului de lucru cu programul Partition Magic, modul de realizare a unei partiii de 512Mb pe care se va instala sistemul de operare DOS i crearea unui meniu de boot pentru pornirea calculatorului fie sub sistemul de operare Windows, fie sub sistemul de operare DOS.

SISTEME DE OPERARE Introducere n sisteme de operare

110

Laborator 10 Crearea partiiilor sub sistemul de operare Linux


Crearea partiiilor sub sistemul de operare Linux poate fi realizat cu utilitarul fdisk (care este diferit de cel de sub sistemul de operare DOS). Linux permite 4 partiii primare i un numr mai mare de partiii logice obinute prin subdivizarea unei partiii primare. O singur partiie primar poate fi subdivizat. Utilizarea programului fdisk Programul fdisk se lanseaz n excuie de ctre administratorul sistemului, cu comanda: fdisk device, unde device este dispozitivul de partiionat, ca de exemplu: /dev/had sau /dev/sda. Comenzile utilizate sunt : P afieaz tabela de partiii; n creaz o partiie nou ; d terge o partiie ; q prsirea programului fr salvarea schimbrilor ; w scrie noua tabel de partiii i prsete programul. Schimbrile efectuate cu programul fdisk vor avea efect dup ce se d comanda w. Prezentm mai jos un exemplu de tabel de partiii.
Disk /dev/hdb: 64 heads, 63 sectors, 621 cylinders Units = cylinders of 4032 * 512 bytes Device Boot /dev/hdb1 * /dev/hdb2 /dev/hdb3 /dev/hdb4 Start 1 185 369 553 End Blocks 184 370912+ 368 370944 552 370944 621 139104 Id 83 83 83 82 System Linux Linux Linux Linux swap

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

SISTEME DE OPERARE Partition /dev/hda7 /dev/hda8 /dev/hda9 Mount point / /usr /home Size (150 megs) (1.5 gigs) (rest of drive)

111

n lucrarea de laborator se va realiza, sub sistemul de operare Linux, vizualizarea i modificarea partiiilor cu ajutorul programului fdisk. Referatele de laborator vor conine un tabel cu partiiile iniiale existente n sistem i un tabel cu partiiile rezultate. De asemenea se va ntocmi un referat de cel mult o pagin n care se vor prezenta aprecieri asupra partiiilor sistemului de operare Linux.

SISTEME DE OPERARE Introducere n sisteme de operare

112

Laborator 11 Programe pentru crearea imaginii partiiilor


Extinderea numarului de sisteme de operare cu care utilizatorii lucreaza in mod obisnuit a fost luata in considerare de catre Symantec, aceasta firma facnd posibila, prin intermediul lui Norton Ghost 2001, realizarea de imagini ale unor partitii sau discuri pe care este instalat si Windows 2000 sau Me. Una din noutatile cele mai importante ale acestei noi versiuni se refera la suportul pentru partitii de tip Ext2 (Linux), care acum pot fi clonate la fel de usor ca si partitiile native Windows, singurul impediment fiind acela ca pentru a putea fi realizata o clonare a unei partitii Ext2, este necesara fie existenta unei partitii DOS, pe care sa fie instalat programul Norton Ghost 2001, fie crearea unei dischete de boot pe care sa fie incluse intrumentele necesare. In functie de necesitati, se pot realiza imagini ale unui intreg harddisk, sau numai a unei anumite partitii de pe acest harddisk. In oricare dintre aceste situatii, utilitarul Ghost Explorer va permite introducerea sau extragerea anumitor fisiere din cadrul arhivei imagine. Acest lucru, combinat cu posibilitatea de arhivare a imaginii printr-un algoritm performant de compresie si protejarea prin parola a imaginii, ofera alaturi de o flexibilitate crescuta si un grad ridicat de protectie a datelor. Numarul ridicat de optiuni care pot fi incluse in linia de comanda a utilitarului cu care se realizeaza imaginea permit automatizarea si controlul amanuntit al procesului de backup, lucru foarte util pentru administratorii de sistem ce trebuie sa deserveasca un numar mare de statii de lucru. Manualul care vine odata cu pachetul software prezinta detaliat aceste optiuni si ofera cateva sfaturi pentru cazurile cele mai des intalnite. In conformitate cu tendinta de globalizare a comunicarii, si de dezvoltare a retelelor de calculatoare, majoritatea companiilor au un sistem propriu de organizare a datelor in cadrul unei retele interne. Munca de intretinere a unei astfel de retele este destul de anevoioasa, mai ales atunci cand nu exista posibilitatea monitorizarii constante a modului de functionare, sau cand exista foarte multe statii de lucru. Instalarea si configurarea unui sistem de operare este o operatiune ce consuma destul de mult timp si necesita o atentie deosebita din partea celui ce o realizeaza. In acest context, piata software a inceput sa ofere programe de asistenta si de realizare automata a unor astfel de operatiuni. Cum era de asteptat, compania Symantec a realizat o versiune a pachetului de programe utilitare Norton Ghost dedicata lucrului in retea. Versiunea Enterprise a Norton Ghost vine in intampinarea cerintelor administratorilor de retea si ofera o modalitate rapida de clonare a statiilor de lucru aflate intr-o retea. Norton Ghost face inutila utilizarea unor programe de partitionare manuala a harddisk-ului, daca exista deja o imagine a unui sistem cu care sa se poata lucra. Pentru extinderea facilitatilor oferite de Norton Ghost, se pot folosi aplicatiile Ghost Multicast Server ce va asigura transmiterea simultana a unor fisiere ce contin imagini ale unor sisteme, spre o aplicatie Norton Ghost ce ruleaza pe mai multe statii prin intermediul unei singure adrese IP. Ghost Walker identifica si asociaza un cod unic SID, pentru statiile de lucru Windows NT ce sunt clonate. Aplicatia Ghost Explorer permite modificarea fisierului imagine, pentru stergerea sau adaugarea anumitor directoare. Comenzile de formatare a

SISTEME DE OPERARE 113 harddiskului FDISK si FORMAT sunt inlocuite cu GDISK, comanda ce permite o mai buna utilizare a spatiului de lucru, obtinerea unor informatii detaliate despre partitiile aflate pe un harddisk si ascunderea anumitor partitii. Pachetul Norton Ghost este format retea. Norton Ghost face inutila utilizarea unor programe de partitionare manuala a harddisk-ului, daca exista deja o imagine a unui sistem cu care sa se poata lucra. Pentru extinderea facilitatilor oferite de Norton Ghost, se pot folosi aplicatiile Ghost Multicast Server ce va asigura transmiterea simultana a unor fisiere ce contin imagini ale unor sisteme, spre o aplicatie Norton Ghost ce ruleaza pe mai multe statii prin intermediul unei singure adrese IP. Ghost Walker identifica si asociaza un cod unic SID, pentru statiile de lucru Windows NT ce sunt clonate. Aplicatia Ghost Explorer permite modificarea fisierului imagine, pentru stergerea sau adaugarea anumitor directoare. Comenzile de formatare a harddiskului FDISK si FORMAT sunt inlocuite cu GDISK, comanda ce permite o mai buna utilizare a spatiului de lucru, obtinerea unor informatii detaliate despre partitiile aflate pe un harddisk si ascunderea anumitor partitii. Pachetul Norton Ghost este format din doua module, Norton Ghost Console - un server ce are drept functie principala managementul operatiunilor de clonare, si de realizare a unor operatii post clonare pe statiile de lucru client, in acest fel fiind eliminata nevoia de realizare a unor discuri boot-abile pentru realizarea clonarii. Pe fiecare statie de lucru este necesara instalarea Norton Ghost Console Client, pentru realizarea operatiunilor de remote control, pe aceste statii putand rula Windows 9x, NT sau 2000. Informatiile despre fiecare statie de lucru sunt stocate intr-o baza de date, aplicatia server fiind capabila sa identifice numele fiecarei masini, grupul de lucru din care aceasta face parte, domeniul de lucru, descrierea masinii respective precum si setarile TCP/IP. Operatiunea de clonare se poate face fie prin intermediul unei retele 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, si va realiza o copie a sistemului in cel mai scurt timp posibil. Norton Ghost Enterprise Edition se remarca in primul rand prin usurinta in folosire, pentru aceasta nefiind necesare cunostinte foarte avansate, si in al doilea rand prin faptul ca usureaza extrem de mult munca unui administrator de retea. Programul Partition Image este un utilitar Linux/UNIX care poate salva partiiile de diferite formate ntr-un fiier imagine. Fiierul imagine poate fi comprimat n format GZIP/BZIP2 i divizat n mai multe fiiere. Partiiile pot fi salvate i prin reea. Programul Partition Image copiaz doar informaia din poriunile folosite ale partiiei pentru creterea vitezei i eficienei programului. Dac se d comanda dd atunci vor fi copiate n imagine i blocurile goale ale partiiei. n lucrarea de laborator se vor realiza i restaura imagini ale partiiilor att sub sistemul de operare Windows ct i Linux. Referatele de laborator vor conine descrierea modului n care s-a realizat salvarea i restaurarea partiiilor. De asemenea se va ntocmi un referat de cel mult o pagin, despre modalitile de salvare i protecie a datelor de pe un sistem de calcul. Se va arta care este utilitatea salvrii imaginilor partiiilor.

SISTEME DE OPERARE Introducere n sisteme de operare

114

Laborator 12 Instalarea mai multor sisteme de operare pe acelai sistem de calcul


Utilizatorii de calculatoare care si-au inceput odiseea in lumea sistemelor de operare cu ani buni in urma nu prea aveau posibilitatea de a folosi pe acelasi calculator mai multe sisteme de operare (lipsa spatiului pe harddisk era elementul principal, dar si putinele alternative in ceea ce priveste sistemele de operare) si de aceea utilizarea exclusiva a unuia sau a altuia elimina de obicei posibilitatea de imbinare a acestora. La momentul actual, piata sistemelor de operare este foarte vasta, de la multe variante de SO-uri bazate pe UNIX, si pana la cele oferite de catre Microsoft (Windows 9x/Me/NT/2000/XP), iar tentatia de a le incerca pe toate si de a le face sa coexiste pe acelasi sistem este foarte mare. Daca majoritatea sistemelor vin cu propriile managere de boot (LILO pentru sistemele Linux, NTLoader pentru Windows NT/2000), totusi acestea sunt destul de limitate de obicei si nu va ofera chiar tot ce v-ati dori, ca sa nu mai vorbim de facilitatea in configurare. In aceste conditii, utilizatorii de calculatoare sau vazut nevoiti sa caute noi modalitati de a accesa diversele SO-uri instalate pe harddisk-urile din sistem si inevitabil au aparut programe dedicate care usureaza semnificativ aceasta munca. Organizare interna Harddisk-ul este locul in care sunt depozitate toate datele necesare functionarii unui sistem de operare. Locurile fixe in care sunt stocate informatiile sunt denumite blocuri, acestea fiind cea mai mica unitate de adresare fixa de pe harddisk. Modul in care calculatorul comunica cu harddisk-ul se bazeaza pe furnizarea unei astfel de adrese controlerului care face legatura fizica intre harddisk si memoria RAM. Daca modul de organizare a datelor de pe harddisk s-a modificat in timp datorita cresterii capacitatii de stocare a acestor suporturi, precum si de limitarile de adresare pe care le-au impus sistemele de operare mai vechi si BIOS-ul, singura zona care a ramas practic neschimbata a fost zona denumita MBR (Master Boot Record). Aceasta se gaseste in primul sector de pe harddisk si contine informatii despre toate partitiile existente pe harddisk-ul respectiv. Informatiile sunt grupate in trei categorii si anume, codul de initializare (Initial loader code), un program care este pornit de catre BIOS imediat dupa incarcarea cu succes in memorie a datelor din MBR. Are o dimensiune mai mica de 512 bytes (zona adresabila a unui bloc de pe harddisk) si contine numai informatiile de initializare pentru sistemul de operare existent. Cea de-a doua informatie este tabela de partitii (se afla la offset-ul 0x1BE in MBR) si contine informatii despre partitiile de pe disk. Numai una dintre acestea poate fi marcata ca fiind bootabila (sau activa). In ultima portiune (ultimii 2 bytes) se afla o suma de control prin care se verifica daca MBR-ul a fost incarcat corect si nu exista erori de alocare a partitiilor care ar putea duce la deteriorarea datelor de pe harddisk. Mai este o problema care trebuie lamurita, si anume file system boot sector care nu trebuie confundat cu MBR. File system boot

SISTEME DE OPERARE 115 sector este primul sector fizic de pe un volum logic. La randul sau, un volum logic poate fi reprezentat de catre o partitie primara sau o partitie logica din una extinsa. Pentru dischete, sectorul de boot este primul sector de pe disc. In cazul harddisk-urilor, primul sector este Master Boot Record sau MBR, si nu reprezinta acelasi lucru ca si file system boot sector, continand elementele prezentate anterior. File system boot sector poate fi primul sector de pe una din aceste partitii. Managerul de boot Pentru a putea ocoli aceste limitari datorate arhitecturii harddisk-ului din punct de vedere logic, au fost create programele denumite Boot Manager, care se ocupa cu alocarea eficienta a partitiilor si schimbarea in timpul rularii (acolo unde este nevoie) a partitiilor active, precum si a zonelor de alocare a datelor. Majoritatea programelor noi din aceasta categorie permit rularea fara dureri de cap a mai multor sisteme de operare instalate pe acelasi harddisk, si ajuta utilizatorul sa aiba un numar mare de alegeri in ceea ce priveste sistemele de operare utilizate. Multe dintre ele vin si cu un instrument propriu de partitionare care ajuta la organizarea fiecarei partitii in parte si la setarea atributelor necesare in vederea utilizarii. In momentul actual, numarul aplicatiilor boot manager este ridicat, unele dintre acestea oferind chiar interfete grafice pentru configurare si alegere a sistemului de operare dorit, alegerea uneia sau a alteia dintre aceste aplicatii fiind destul de dificila, deoarece fiecare are plusurile ei ca si minusuri. Pentru a va ghida in acest proces am ales sa va prezint succint cele mai utilizate dintre aceste programe, dumnevoastra urmand sa decideti daca ele va sunt de folos si care este cel mai potrivit. La treaba Inainte de a va apuca sa utilizati un astfel de program, este bine sa va faceti mai intai o lista cu sistemele de operare pe care doriti sa le instalati, precum si cu cerintele minime de spatiu liber pe harddisk pe care le au acestea, precum si un backup al documentelor importante pe care le detineti pe harddisk-ul pe care doriti sa instalati mai multe sisteme de operare. Al doilea pas la fel de important este realizarea unei dischete de boot cu ajutorul optiunii din Control Panel- Add/Remove Programs - Startup Disk. Mai trebuie sa dezactivati din BIOS optiunea de Virus Warning, si sa fiti atenti sa dezactivati programul antivirus care este in memorie atunci cand rulati o aplicatie de tip boot manager, deoarece acesta poate interpreta operatiunea de scriere a sectorului de boot ca fiind una realizata de catre un posibil virus si sa incerce blocarea ei. Daca dintr-un motiv sau altul, operatiunea de instalare a unui nou boot manager nu a reusit, si sistemul dumneavoastra nu mai boot-eaza, intrati cu o discheta de sistem si dati urmatoarea comanda: FDISK /MBR, care are ca efect rescrierea portiunii MBR. In cazul in care nu au fost sterse fizic partitiile, ar trebui sa aveti din nou un sistem functionabil. Steaua... calauzitoare BootStar ofera posibilitatea de alegere a pana la 15 partitii primare de pe care sa poata fi incarcate diferite sisteme de operare. Tipul de partitie specific fiecarui sistem de operare in parte poate fi selectat direct din programul propriu de partitionare, fapt ce usureaza semnificativ procesul de alocare si organizare a spatiului disponibil. Programul beneficiaza de posibilitatea de instalare pe orice platforma Windows, precum si de functii de securitate pentru protejarea prin parola a accesului la anumite partitii, dar si de ascundere a acestora. Instalarea si dezinstalarea sa se face fara prea mare greutate, iar selectia partitiilor pe care se face boot-area se face dintr-un meniu grafic. Pentru

SISTEME DE OPERARE 116 situatiile in care din diferite motive MBR a fost deteriorat si nu se mai poate face o incarcare corecta, puteti crea o discheta de salvare pe care sa fie stocate datele necesare pentru restaurarea acestuia. Vrajitorul pentru boot Avand o utilizare foarte larga, BootWizard Pro poate manipula un numar 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 realizeaza fara probleme. Configurarea elementelor de boot este posibila prin intermediul unui meniu grafic direct din managerul de boot. Pentru o versatilitate crescuta, BootWizard a fost conceput sa poata fi instalat pe partitii de tip FAT16 sau FAT32, si are incluse module care verifica compatibilitatea intre fisierele sistemelor de operare instalate, precum si verificarea de virusi a executabilului de incarcare. Poate rula si de pe dischete de sistem, fara a afecta modul de alocare a partitiilor. Modificarea partitiilor (FAT16 si FAT32) existente se poate face on-thefly, fara pierderea datelor. Trecutul devine legenda In comparatie cu celelalte programe prezentate pana acum, LegendOS BM poate parea mai greoi. Chiar daca face parte din categoria aplicatiilor freeware, LegendOS BM nu este totusi o aplicatie care sa poata fi folosita de orice utilizator, necesitand ceva mai multe cunostinte despre calculatoare si modul de functionare a acestora. Instalarea sa se face usor, direct din fisierul de start (ruleaza numai pe sisteme DOS, sau Windows 9x!), dar pentru dezinstalare este necesara o discheta de boot si comanda FDISK /MBR. Suporta majoritatea sistemelor de operare, totusi, configurarea acestora este un pic mai dificil de realizat. Daca nu sunteti familiarizati cu parametrii de functionare ai harddiskului, va sfatuiesc sa ocoliti acest program. Directorul de partitii Lista de functii si operatiuni pe care le poate realiza programul MasterBooter este foarte mare. Sistemele de operare care sunt sustinute includ pe langa cele standard (Microsoft, Linux) si unele mai putin utilizate precum SCO OpenServer, OS/2 (Warp, Merlin), Solaris, Oberon, Theos, BeOS. Partitiile de tipul FAT/NTFS/HPFS pot fi protejate prin parola, precum si activate sau ascunse in timpul procesului de boot. Are inclus si un manager propriu de partitii care permite realizarea unor operatiuni pentru modificarea parametrilor functionali ale acestora. Configurarea profilelor de boot-are este facila, facandu-se direct din meniul de instalare. Biblioteca pentru SO-uri Utilitarul MSTBOOT permite utilizarea a pana la 12 sisteme de operare pe acelasi calculator. Instalarea sa presupune realizarea unei dischete de boot, care apoi permite configurarea optiunilor, si atunci cand este nevoie dezinstalarea aplicatiei. Toate functiile pot fi accesate dintr-un meniu grafic, dar si prin intermediul unor parametri linie comanda. Carausul Unul din cele mai bune programe pentru managementul boot-arii este OSL2000 (Operating System Loader 2000). Numarul de sisteme de operare care pot fi utilizate pe acelasi harddisk cu ajutorul acestui utilitar este foarte mare (100), ceea ce ii ofera o flexibilitate mare de lucru. Programul poate lucra si cu MBR-urile altor harddisk-uri decat cel care este selectat ca fiind harddisk-ul boot-abil. Meniul de selectie a partitiilor

SISTEME DE OPERARE 117 de boot este unul grafic, iar modalitatea de prezentare a acestora este una bine realizata. Instalarea programului se face numai din mod DOS, dezinstalarea lui fiind usoara. Ordine si curatenie Managerul de boot si utilitarul de partitionare Ranish Partition Manager va ofera cateva modalitati usoare de configurare a partitiilor de lucru. Pot fi mentinute patru partitii active la nivelul unui singur harddisk. Modulul de boot management are incluse in el functii de verificare a fisierului pentru eventualele infectii cu virusi. Se poate configura o optiune implicita care sa fie citita la fiecare pornire. Extinderea meniurilor de boot Unul din putinele programe care ofera o modalitate de instalare si configurare in cadrul unor meniuri grafice este Extended Operating System Loader, pe scurt XOL. Suporta un numar mare de sisteme de operare, iar optiunea Smart Boot Manager permite realizarea unei boot-ari de pe CD-ROM. Selectia parametrilor pentru meniurile grafice (rezolutie display, mouse) se face din meniul grafic, si permit o functionare optima in momenul boot-arii. Selectia partitiilor este un pic mai dificila, pentru cei care nu au cunostinte despre modul de organizare a partitiilor pe harddisk putand aparea probleme serioase in functionare (sistemul nu mai boot-eaza). Un magician pentru dvs. Programul BootMagic realizat de catre compania PowerQuest (realizatorii lui Partition Magic) este unul din programele cele mai vechi de acest fel existente pe piata. Este configurabil (atat ca partitii care vor fi activate, setarea unor parole pentru activarea partitiilor, sau modificarea acestor setari) din cadrul unui program ce ruleaza in Windows, dar se pot face si din DOS. Modul de selectie a partitiilor de pe care se va realiza operatiunea de boot este foarte simplu si intuitiv. Managerul Linux Cei care lucreaza frecvent cu sistemele de operare Linux au facut deja constinta cu LILO (Linux Loader), programelul care va invita sa selectati sistemul de operare care doriti sa fie incarcat. Facand parte din mediul Linux (criptic inca pentru multi utilizatori), LILO este oarecum greu de configurat pentru utilizatorul care nu are cunostinte bune despre sistemul de operare Linux si organizarea harddisk-ului, dar pune la dispozitie instrumentele necesare pentru a avea o pleiada de sisteme de operare pe harddisk. Cea mai recenta versiune de LILO ofera posibilitatea de alegere a optiunilor din meniuri, care sunt, totusi, realizate in mod text, dar cei care se pricep pot crea si meniuri grafice impresionante. Aveti mare grija! Dupa cum am mai spus, aveti mare grija atunci cand rulati un program de tip boot manager, deoarece utilizarea in mod defectuos a acestora poate duce in cel mai fericit caz la stergerea informatiilor din MBR, iar in cel mai rau la pierderea tuturor datelor pe care le aveti pe harddisk. Daca ,totusi, ope-ratiunea de instalare a unui boot manager a esuat, iar incercarea dumneavoastra de a restaura zona MBR cu FDISK /MBR a fost zadarnica., dar puteti avea acces la fisierele de pe harddisk, problema se poate rezolva usor prin reinstalarea sistemului de operare. Bafta la lucru, atentie la configurare si cat mai multe sisteme de operare functionale pe un singur sistem! Referatele de laborator vor conine descrierea programelor utilizate n lucrarea de laborator i descrierea operaiilor efectuate pentru instalarea sistemelor de operare.

SISTEME DE OPERARE

118

SISTEME DE OPERARE Laborator 1 Utilizarea funciilor sistem DOS


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

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

Funcia 0Ch Funcia 0Dh Funcia 0Eh Funcia 0Fh Funcia 10h Funcia 11h Funcia 12h Funcia 13h Funcia 14h Funcia 15h Funcia 16h Funcia 17h Funcia 18h Funcia 19h Funcia 1Ah Funcia 1Bh Funcia 1Ch Funcia 1Dh Funcia 1Eh Funcia 1Fh Funcia 20h Funcia 21h Funcia 22h Funcia 23h Funcia 24h Funcia 25h Funcia 26h Funcia 27h Funcia 28h Funcia 29h Funcia 2Ah Funcia 2Bh Funcia 2Ch Funcia 2Dh Funcia 2Eh Funcia 2Fh Funcia 30h Funcia 31h Funcia 32h Funcia 33h Funcia 34h Funcia 35h Funcia 36h Funcia 37h Funcia 38h Funcia 39h Funcia 3Ah

SISTEME DE OPERARE tergerea zonei tampon de intrare i citirea de la tastatur resetarea discului selectarea unitii implicite deschiderea unui fiier, utiliznd FCB nchiderea unui fiier, utiliznd FCB cutarea primului fiier potrivit, utiliznd FCB cutarea urmtorului fiier potrivit, utiliznd FCB tergerea unui fiier, utiliznd FCB citirea secvenial, utiliznd FCB scrierea secvenial, utiliznd FCB crearea unui fiier, utiliznd FCB redenumirea unui fiier, utiliznd FCB rezervat obinerea unitii curente implicite modificarea adresei zonei de transfer a discului (DTA) obinerea informaiilor FAT pentru unitatea curent obinerea informaiilor FAT pentru unitatea specificat rezervat rezervat rezervat rezervat citirea n acces direct, utiliznd FCB scrierea n acces direct, utiliznd FCB obinerea dimensiunii unui fiier, utiliznd FCB poziionarea cmpului Articol n acces direct, utiliznd FCB poziionarea vectorului de ntrerupere soft crearea unui PSP citirea multipl n acces direct, utiliznd FCB scrierea multipl n acces direct, utiliznd FCB analiza unui nume de fiier obinerea datei sistem curente poziionarea datei sistem curente obinerea orei sistem curente poziionarea orei sistem curente poziionarea / repoziionarea indicatorului VERIFY obinerea adresei DTA curente obinerea numrului versiunii DOS pstrarea procesului rezervat poziionarea / obinerea strii pentru Ctrl/C rezervat obinerea vectorului de ntrerupere soft obinerea spaiului liber pe disc rezervat obinerea / poziionarea informaiilor dependente de ar crearea unui nou director (MKDIR) tergerea unui director (RMDIR)

120

Funcia 3Bh Funcia 3Ch Funcia 3Dh Funcia 3Eh Funcia 3Fh logic Funcia 40h - scrierea ntr-un fiier sau la un dispozitiv, utiliznd identificator logic Funcia 41h - tergerea unui fiier (UNLINK) Funcia 42h - poziionarea pointerului de scriere / citire (LSEEK) Funcia 43h - obinerea / poziionarea atributelor fiierului (CHMOD) Funcia 44h - control intrare/ ieire pentru dispozitive (IOCTL) Funcia 4400h - IOCTL: obinerea informaiilor despre dispozitiv Funcia 4401h - IOCTL: poziionarea informaiilor despre dispozitiv Funcia 4402h - IOCTL: citirea de la un dispozitiv caracter Funcia 4403h - IOCTL: scrierea la un dispozitiv caracter Funcia 4404h - IOCTL: citirea de la un dispozitiv bloc Funcia 4405h - IOCTL: scrierea la un dispozitiv bloc Funcia 4406h - IOCTL: obinerea strii intrrii Funcia 4407h - IOCTL: obinerea strii ieirii Funcia 4408h - IOCTL: dispozitivul se poate nlocui? Funcia 4409h - IOCTL: dispozitivul logic se afl la distan? Funcia 440Ah - IOCTL: identificatorul logic se afl la distan? Funcia 440Bh - IOCTL: modificarea numrului de rencercri Funcia 440Ch - IOCTL: cerere generic IOCTL pentru identificatorul logic Funcia 440Dh - IOCTL: cerere generic IOCTL pentru dispozitive bloc Funcia 440Dh - poziionare parametrilor dispozitivului (cod 40h) Funcia 440Dh - returnarea parametrilor dispozitivului (cod 60h) Funcia 440Eh - IOCTL: obinerea dispozitivului logic Funcia 440Fh - IOCTL: selectarea dispozitivului logic Funcia 45h - duplicarea identificatorului logic al unui fiier (DUP) Funcia 46h - redirectarea unui identificator logic (FORCDUP) Funcia 47h - obinerea directorului curent Funcia 48h - alocarea memoriei Funcia 49h - eliberarea memoriei alocate Funcia 4Ah - modificarea alocrii memoriei (SET BLOCK) Funcia 4Bh - ncrcarea i/sau execuia unui program (EXEC) Funcia 4Ch - terminarea procesului (EXIT) Funcia 4Dh - obinerea codului de retur al procesului fiu (WAIT) Funcia 4Eh - gsirea primului fiier potrivit (FIND FIRST) Funcia 4Fh - gsirea urmtorului fiier potrivit (FIND NEXT) Funcia 50h - rezervat Funcia 51h - rezervat Funcia 52h - rezervat Funcia 53h - rezervat Funcia 54h - verificarea strii indicatorului VERIFY Funcia 55h - rezervat

SISTEME DE OPERARE 121 schimbarea directorului (CHDIR) crearea unui fiier (CREAT) deschiderea unui fiier, utiliznd identificator logic nchiderea unui fiier, utiliznd identificator logic citirea dintr-un fiier sau de la un dispozitiv, utiliznd identificator

Func ia 440Dh - formatarea / verificarea unei piste (cod 42h/62h) pe dispozitivul logic

SISTEME DE OPERARE Funcia 56h - schimbarea intrrii n director Funcia 57h - obinerea/poziionarea datei i orei unui fiier Funcia 58h - obinerea/selectarea strategiei de alocare Funcia 59h - obinerea informaiilor suplimentare despre o eroare Funcia 5Ah - crearea unui fiier temporar unic Funcia 5Bh - crearea unui fiier nou Funcia 5Ch - blocare/deblocarea accesului la un fiier Funcia 5Dh - rezervat Funcia 5Eh - servicii de reea Funcia 5E00h - obinerea numelui mainii Funcia 5E02h - poziionarea antetului imprimantei de reea Funcia 5E03h - obinerea antetului imprimantei de reea Funcia 5Fh - redirectarea dispozitivelor de reea Funcia 5F02h - obinerea unei intrri n lista de redirectri Funcia 5F03h - redirectarea unui dispozitiv de reea Funcia 5F04h - anularea redirectrii unui dispozitiv de reea Funcia 60h - rezervat Funcia 61h - rezervat Funcia 62h - obinerea adresei PSP-ului 1.2.Apelurile de funcii DOS, n ordine alfabetic

122

Funcia 02h - afiarea unui caracter Funcia 09h - afiarea unui ir Funcia 48h - alocarea memoriei Funcia 29h - analiza unui nume de fiier Funcia 5Ch - blocare / deblocarea accesului la un fiier Funcia 11h - cutarea primului fiier potrivit, utiliznd FCB Funcia 12h - cutarea urmtorului fiier potrivit, utiliznd FCB Funcia 21h - citirea n acces direct, utiliznd FCB Funcia 01h - citirea cu ecou de la tastatur Funcia 3Fh - citirea dintr-un fiier sau de la un dispozitiv, utiliznd identificatorul logic Funcia 08h - citirea fr ecou de la tastatur Funcia 27h - citirea multipl n acces direct, utiliznd FCB Funcia 14h - citirea secvenial, utiliznd FCB Funcia 44h - control intrare/ieire pentru dispozitive (IOCTL) Funcia 4400h - IOCTL: obinerea informaiilor despre dispozitiv Funcia 4401h - IOCTL: poziionarea informaiilor despre dispozitiv Funcia 4402h - IOCTL: citirea de la un dispozitiv caracter Funcia 4403h - IOCTL: scrierea la un dispozitiv caracter Funcia 4404h - IOCTL: citirea de la un dispozitiv bloc Funcia 4405h - IOCTL: scrierea la un dispozitiv bloc Funcia 4406h - IOCTL: obinerea strii intrrii Funcia 4407h - IOCTL: obinerea strii ieirii Funcia 4408h - IOCTL: dispozitivul se poate nlocui? Funcia 4409h - IOCTL: dispozitivul logic se afl la distan?

SISTEME DE OPERARE 123 Funcia 440Ah - IOCTL: identificatorul logic se afl la distan? Funcia 440Bh - IOCTL: modificarea numrului de rencercri Funcia 440Ch - IOCTL: cerere generic IOCTL pentru identificator logic Funcia 440Dh - IOCTL: cerere generic IOCTL pentru dispozitive bloc Funcia 440Dh - poziionarea parametrilor dispozitivului (cod 40h) Funcia 440Dh - returnarea parametrilor dispozitivului (cod 60h) Funcia 440Dh - formatarea /verificarea unei piste (cod 42h/62h) pe dispozitivul logic Funcia 440Eh - IOCTL: obinerea dispozitivului logic Funcia 440Fh - IOCTL: selectarea dispozitivului logic Funcia 3Ch - crearea unui fiier (CREAT) Funcia 5Bh - crearea unui fiier nou Funcia 5Ah - crearea unui fiier temporar unic Funcia 16h - crearea unui fiier, utiliznd FCB Funcia 39h - crearea unui nou director (MCDIR) Funcia 26h - crearea unui PSP Funcia 0Fh - deschiderea unui fiier, utiliznd FCB Funcia 3Dh - deschiderea unui fiier, utiliznd identificator logic Funcia 45h - duplicarea identificatorului logic al unui fiier (DUP) Funcia 49h - eliberarea memoriei alocate Funcia 4Eh - gsirea primului fiier potrivit (FIND FIRST) Funcia 4Fh - gsirea urmtorului fiier potrivit (FIND NEXT ) Funcia 04h - ieirea auxiliar Funcia 4Bh - ncrcarea i/sau execuia unui program (EXEC) Funcia 10h - nchiderea unui fiier, utiliznd FCB Funcia 3Eh - nchiderea unui fiier, utiliznd identificator logic Funcia 03h - intrarea auxiliar Funcia 07h - intrarea direct fr ecou de la consol Funcia 0Ah - intrarea prin zon tampon de la tastatur Funcia 06h - intrare/ieire fr ecou de la consol Funcia 1Ah - modificarea adresei zonei de transfer a discului (DTA) Funcia 4Ah - modificarea alocrii memoriei (SET BLOCK) Funcia 2Fh - obinerea adresei DTA curente Funcia 62h - obinerea adresei PSP-ului Funcia 4Dh - obinerea codului de retur al procesului fiu (WAIT) Funcia 2Ah - obinerea datei sistem curente Funcia 23h - obinerea dimensiunii unui fiier, utiliznd FCB Funcia 47h - obinerea directorului curent Funcia 1Bh - obinerea informaiilor FAT pentru unitatea curent Funcia 1Ch - obinerea informaiilor FAT pentru unitatea specificat Funcia 59h - obinerea informaiilor suplimentare despre o eroare Funcia 30h - obinerea numrului versiunii DOS Funcia 2Ch - obinerea spaiului liber pe disc Funcia 36h - obinerea/poziionarea datei i orei unui fiier Funcia 43h - obinerea/poziionarea atributelor fiierului (CHMOD) Funcia 57h - obinerea/poziionarea datei i orei unui fiier Funcia 38h - obinerea/poziionarea informaiilor dependente de ar

SISTEME DE OPERARE 124 Funcia 58h - obinerea/selectarea strategiei de alocare Funcia 19h - obinerea unitii curente implicite Funcia 35h - obinerea vectorului de ntrerupere Funcia 31h - pstrarea procesului Funcia 24h - poziionarea cmpului Articol n acces direct, utiliznd FCB Funcia 2Bh - poziionarea datei sistem curente Funcia 2Dh - poziionarea ore sistem curente Funcia 33h - poziionarea/obinerea strii pentru Ctrl/C Funcia 42h - poziionarea pointerului de scriere/citire (LSEEK) Funcia 2Eh - poziionarea/ repoziionarea indicatorului VERIFY Funcia 25h - poziionarea vectorului de ntrerupere Funcia 5Fh - redirectarea dispozitivelor de reea Funcia 5F02h - obinerea unei intrri n lista de redirectri Funcia 5F03h - redirectarea unui dispozitiv de reea Funcia 5F04h - anularea redirectrii unui dispozitiv de reea Funcia 17h - redenumirea unui fiier, utiliznd FCB Funcia 46h - redirectarea unui identificator logic (FORCDUP) Funcia 0Dh - resetarea discului Funcia 3Bh - schimbarea directorului (CHDIR) Funcia 56h - schimbarea intrrii n director Funcia 22h - scrierea n acces direct, utiliznd FCB Funcia 28h - scrierea multipl n acces direct, utiliznd FCB Funcia 40h - scrierea ntr-un fiier sau la un dispozitiv, utiliznd identificator logic Funcia 15h - scrierea secvenial, utiliznd FCB Funcia 0Eh - selectarea unitii implicite Funcia 5Eh - servicii de reea Funcia 5E00h - obinerea numelui mainii Funcia 5E02h - poziionarea antetului imprimantei de reea Funcia 5E03h - obinerea antetului imprimantei de reea Funcia 0Ch - tergerea zonei tampon de intrare i citire de la tastatur Funcia 3Ah - tergerea unui director (RMDIR) Funcia 41h - tergerea unui fiier (UNLINK) Funcia 13h - tergerea unui fiier, utiliznd FCB Funcia 4Ch - terminarea procesului(EXIT) Funcia 00h - terminarea programului Funcia 05h - tiprirea unui caracter Funcia 54h - verificarea strii indicatorului VERIFY Funcia 0Bh - verificarea strii intrrii 1.3.Apeluri de funcii DOS, pe categorii 1.3.1.intrri/ieiri pentru dispozitive caracter standard Acestea trateaz toate cererile de intrare/ieire, de la i la orice dispozitiv standard (consol, imprimant, porturi seriale).Dac un program utilizeaz aceste funcii, intrrile i ieirile sale pot fi redirectate. Funcia 01h - citirea cu ecou de la tastatur

Funcia 02h Funcia 03h Funcia 04h Funcia 05h Funcia 06h Funcia 07h Funcia 08h Funcia 09h Funcia 0Ch Funcia 0Bh Funcia 0Ch

SISTEME DE OPERARE afiarea unui caracter intrarea auxiliar ieirea auxiliar tiprirea unui caracter intrare/ieire direct fr ecou de la tastatur intrarea direct fr ecou de la consol citirea fr ecou de la tastatur afiarea unui ir intrarea prin zona tampon de la tastatur verificarea strii iniiale tergerea zonei tampon de intrare i citirea de la tastatur

125

1.3.2. Gestiunea memoriei Dos reine care zone de memorie sunt alocate, scriind un bloc de control la nceputul fiecrei zone de memorie. Acesta conine dimensiunea zonei de memorie, numele procesului(dac exist) care o posed i un pointer la urmtoarea zon de memorie. Funcia 48h - alocarea memoriei Funcia 49h - eliberarea memoriei alocate Funcia 4Ah - modificarea alocrii memoriei (SET BLOCK) Funcia 58h - obinerea/selectarea strategiei de alocare 1.3.3.Gestiunea proceselor DOS utilizeaz mai multe funcii pentru a ncrca, executa i termina programele. Aplicaiile care utilizeaz aceste funcii pot gestiona alte programe. Funcia 08h - pstrarea procesului Funcia 08h - ncrcarea i/sau execuia unui program (EXEC) Funcia 08h - terminarea procesului (EXIT) Funcia 08h - obinerea codului de retur al procesului fiu (WAIT) Funcia 08h - obinerea adresei PSP-ului 1.3.4.Gestiunea fiierelor i directoarelor 1.3.4.1.Tratarea fiierelor prin FCB-uri Pentru anumite apeluri de funcii, versiunile DOS mai vechi necesitau pstrarea unui FCB (cu diferite informaii) pentru fiecare fiier. Aceste funcii care trateaz fiierele prin FCB-uri au fost pstrate pentru compatibilitate. Funcia 00h - terminarea programului Funcia 0fh - deschiderea unui fiier, utiliznd FCB Funcia 10h - nchiderea unui fiier, utiliznd FCB Funcia 11h - cutarea primului fiier potrivit, utiliznd FCB Funcia 12h - cutarea urmtorului fiier potrivit , utiliznd FCB Funcia 13h - tergerea unui fiier, utiliznd FCB Funcia 14h - citirea secvenial, utiliznd FCB Funcia 15h - scrierea secvenial, utiliznd FCB Funcia 16h - crearea unui fiier, utiliznd FCB

Funcia 17h Funcia 21h Funcia 22h Funcia 23h Funcia 24h Funcia 26h Funcia 27h Funcia 28h

SISTEME DE OPERARE redenumirea unui fiier, utiliznd FCB citirea n acces direct, utiliznd FCB scrierea n acces direct, utiliznd FCB obinerea dimensiunii unui fiier, utiliznd FCB poziionarea cmpului Articol n acces direct, utiliznd FCB crearea unui PSP citirea multipl n acces direct, utiliznd FCB scrierea multipl n acces direct, utiliznd FCB

126

1.3.4.2.Tratarea fiierelor prin identificatoare logice Noile versiuni DOS utilizeaz noiunea de identificator logic, care se poate referi la un fiier, director sau dispozitiv. Exist 5 identificatoare logice standard, deschise implicit. Identificator Dispozitiv Observaii logic de fiier standard 0 Intrare Poate fi redirectat din linia de comand. 1 Ieire Poate fi redirectat din linia de comand. 2 Eroare 3 Auxiliar 4 Imprimant DOS trateaz un fiier ca un ir de octei, a crui structur este stabilit de aplicaie. Citirea i scrierea necesit doar un pointer la o zon de date i un specificator pentru numrul de octei de scris sau citit. Urmtoarele funcii trateaz fiiere utiliznd identificatoare logice: Funcia 28h - crearea unui fiier (CREAT) Funcia 28h - deschiderea unui fiier, utiliznd identificator logic Funcia 28h - nchiderea unui fiier, utiliznd identificator logic Funcia 28h - citirea dintr-un fiier sau de la un dispozitiv, utiliznd identificator logic Funcia 28h - scrierea ntr-un fiier sau la un dispozitiv, utiliznd identificator logic Funcia 28h - poziionarea pointerului de scriere/citire (LSEEK) Funcia 28h - duplicarea identificatorului logic al unui fiier (DUP) Funcia 28h - redirectarea unui identificator logic (FORCDUP) Funcia 28h - crearea unui fiier temporar unic Funcia 28h - crearea unui fiier nou 1.3.4.3. Partajarea fiierelor Versiunea DOS 3.0 a introdus partajarea fiierelor, care permite ca mai multe procese sa aib acelai fiier. Funciile care traverseaz aceasta problema au efect doar dupa execuia comenzii DOS SHARE, care instaleaz partajarea fiierelor. Funcia 3Dh - Deschiderea unui fiier, utiliznd un identificator logic Funcia 440hD - IOCTL: modificarea numrului de rencercri Funcia 5Ch - Blocare/Deblocarea acestui fiier

SISTEME DE OPERARE 1.3.4.4. Tratarea directoarelor

127

Versiunea DOS 2.0 a introdus directorul arborescent, cu adncimea limitat doar de spaiul de stocare. Tratarea directoarelor se face prin urmatoarele funcii : Funcia 39h - crearea unui nou director (MKDIR) Funcia 3Ah - tergerea unui director (RMDIR) Funcia 3Bh - schimbarea diredtorului (CHDIR) Funcia 41h - tergerea unui fiier (UNLINK) Funcia 43h - obinerea/ Poziionarea atributelor fiierului (CHMOD) Funcia 47h - obinerea directorului curent Funcia 3Eh - gsirea primului fiier potrivit (FIND FIRST) Funcia 3Fh - gsirea urmatorului fiier potrivit (FIND NEXT) Funcia 56h - schimbarea intrrii n director Funcia 57h - obinerea/ poziionarea datei i ore unui fiier 1.3.5. Gestiunea dispozitivelor Funcia 44h conine mai multe subfuncii pentru operaiile cu dispozitive: Funcia 4400h - IOCTL: obinerea informaiilor despre dispozitiv Funcia 4401h - IOCTL: poziionarea informaiilor despre dispozitiv Funcia 4402h - IOCTL: citirea de la un dispozitiv caracter Funcia 4403h - IOCTL: scrierea de la un dispozitiv caracter Funcia 4404h - IOCTL: citirea de la un dispozitiv bloc Funcia 4405h - IOCTL: scrierea de la un dispozitiv bloc Funcia 4406h - IOCTL: obinerea strii intrrii Funcia 4407h - IOCTL: obinerea stri ieiri Funcia 4408h - IOCTL: dispozitivul se poate nlocui? Funcia 440Ch - IOCTL: cerere generic IOCTL pentru identificator logic Funcia 440Dh - IOCTL: cerere generic IOCTL pentru dispozitive bloc Funcia 440Dh - poziionarea parametrilor dispozitivului (cod 40h) Funcia 440Dh - returnarea parametrilor dispozitivului (cod 60h) Funcia 440Dh - formatarea /verificarea unei piste pe (cod 42h/62h) dispozitivul logic Funcia 440Eh - IOCTL: obinerea dispozitivului logic Funcia 440Fh - IOCTL: selectarea dispozitivului logic 1.3.6. Reele MicroSoft Reelele MicroSoft constau dintr-un server i una sau mai multe staii de lucru. DOS pstreaz o staie care indica drivere i dispozitive ale unei staii de lucru care au fost redirectate ctre server. Aceste reele sunt tratate de urmtoarele funcii: Funcia 440Dh - IOCTL: dispozitivul logic se afl la distan? Funcia 440Dh - IOCTL: identificatorul logic se afl la distan? Funcia 5E00h - obinerea numelui mainii Funcia 5E02h - poziionarea antetului imprimantei de reea Funcia 5F02h - obinerea unei intrri in lista de redirectri

SISTEME DE OPERARE Funcia 5F03h - redirecionarea unui dispozitiv de reea Funcia 5F04h - anularea redirecionrii unui dispozitiv de reea 1.3.7. Diferite operaii sistem

128

Restul funciilor sistem trateaz resurse diferite, cum ar fi drivere adrese i ceas. Funcia 0Dh - resetarea discului Funcia 2Eh - selectarea unitii implicite Funcia 19h - obinerea unitii curente implicite Funcia 1Ah - modificarea adresei zonei de transfer a discului (DTA) Funcia 1Bh - obinerea informaiilor FAT pentru unitatea curent Funcia 1Ch - obinerea informaiilor FAT pentru unitatea specifica Funcia 25h - poziionarea vectorului de ntrerupere Funcia 29h - analiza unui nume de fiier Funcia 2Ah - obinerea datei sistem curente Funcia 2Bh - poziionarea datei sistem curente Funcia 2Ch - obinerea orei sistem curente Funcia 2Dh - poziionarea orei sistem curente Funcia 2Eh - poziionarea /repoziionarea indicatorului VERIFY Funcia 2Fh - obinerea adresei DTA curente Funcia 30h - obinerea numrului versiunii DOS Funcia 33h - poziionarea/obinerea strii pentru CTRL/C Funcia 35h - obinerea vectorului de ntrerupere Funcia 36h - obinerea spaiului liber pe disc Funcia 38h - obinerea/poziionarea informaiilor dependente de tar Funcia 54h - verificarea stri indicatorului VERIFY Funcia 59h - obinerea informaiilor suplimentare despre o eroare 1.4.Apeluri sistem vechi Acestea au fost pstrate pentru compatibilitate cu versiunile DOS mai vechi. Toate au ns corespondene noi i se recomanda a nu fi utilizate daca nu este strict necesar. 2. Descrierea detaliat a funciilor sistem. 2.1. Funcia 00h Terminarea programului. Funcia 00h realizeaz terminarea unui program i revenirea n DOS. Control este trecut vectorului terminator din PSP (se iese in procesul printe). Vectorii de ntrerupere DOS 22h-24h (Terminarea programului Ctrl/Break, Eroare critic) sunt repoziionai la valorile salvate din PSP-ul procesului printe. Sunt golite toate zonele tampon de fiiere. Pentru apelul funciei, se folosesc regitri: AH ncrcat cu 00h; CS ncrcat cu adresa de segment a PSP-ului programului terminat. Funcia nu returneaz nimic. Observaii: 1. Funcia este echivalent cu INT 20h.

SISTEME DE OPERARE 129 2. n noile versiunii DOS, este de preferat utilizarea funciei 4Ch. 3. Pentru informaii suplimentare, a se vedea funciile 4Ch, 31h i INT 20h, INT 27h. Atenie: nainte de apel, toate fiierele trebuie s fie nchise, altfel lungimea celor modificate nu va fi nregistrat corect n director. 2.2. Funcia 01h Citirea cu ecou de la tastatur. Funcia 01h realizeaz citirea unui caracter de la dispozitivul de intrare standard (n mod normal tastatura) i afiarea lui la dispozitivul standard de ieire (n mod normal ecranul). Dac se detecteaz Ctrl/Break sau Ctrl/C, se genereaz INT 23h. Pentru apelul funciei, se folosesc regitri: AH ncrcat cu 01h. Funcia returneaz n registrul AL caracterul citit. Observaii: 1. Pentru tastele speciale (cursor, taste funcionale F1-F12, ) sunt necesare dou apeluri. Primul returneaz 0 n AL, al doilea codul ASCII extins. 2. Pentru informaii suplimentare, a se vedea funciile 06h, 07h, 08h, 0Ah, 0Ch. 2.3. Funcia 02h Afiarea unui caracter Funcia 02h trimite la dispozitivul de ieire standard caracterul a crui cod ASCII se afl n registrul DL. Caracterul backspace (ASCII 8) este tratat prin prin deplasarea cursorului cu o poziie la stnga. Dac se detecteaz Ctrl/Break sau Ctrl/C, se genereaz INT 23h, dup afiarea caracterului. Pentru apelul funciei, se folosesc regitrii: AH ncrcat cu 02h; DL ncrcat cu codul caracterului. Funcia nu returneaz nimic. Pentru informaii suplimentare, a se vedea funciile 06h, 09h. 2.4. Funcia 08h - Citirea fr ecou de la tastatur Funcia 08h citete(ateapt) un caracter de la dispozitivul de intrare standard i l returneaz n registrul AL. Nu se face ecou. Dac se detecteaz Ctrl/Break sau Ctrl/C, se genereaz INT 23h. Pentru apelul funciei, se folosete registrul: AH ncrcat cu 08h. Funcia returneaz n AL caracterul citit. Observaii: 1. Valoarea 0 returnat n registrul AL la citire indic prezena unui caracter special la intrare (cursor, cheie funcional, etc). Un al doilea apel va returna codul extins. 2. Pentru informaii suplimentare, a se vedea funciile 01h, 06h, 07h, 0Ah, 0Bh, 0Ch. 2.5. Funcia 09h Afiarea unui ir Funcia 09h trimite la dispozitivul de ieire satndard un ir de caractere terminat prin $ (caracterul $ nu este tiprit ), al crui deplasament fa de adresa segmenrt di

SISTEME DE OPERARE 130 registrul DS se afl n registrul DX. Caracterul backspace este tratat ca la funcia 02h. Dac se detecteaz Ctrl/Break sau Ctrl/C, se genereaz INT 23h. Pentru apelul funciei, se folosesc regitrii: AH ncrcat cu 09h. DS:DX ncrcat cu pointer la ir. Funcia nu returneaz nimic. Observaii: 1. Sunt tiprite toate caracterele n afar de $ i de caracterele speciale. 2. Caracterul $ se poate tiprii cu funcia 40h. 3. afiarea caracterului linie nou se face n mod normal prin perechea CR+LF (ASCII 13h urmat de ASCII 0Ah). 4. Pentru informaii suplimebtare, a se vedea funciile 02h, 06h. 2.6. Funcia 0Bh Verificarea strii intrrii Funcia 0Bh verific dac exist sau nu un caracter pregtit la dispozitivul de intrare standard. Dac se detecteaz Ctrl/Break sau Ctrl/C, se genereaz INT 23h. Pentru apelul funciei, se folosete registrul: AH ncrcat cu 0Bh. Funcia returneaz n registrul AL valoarea FFh dac exist uncaracter pregtit la dispozitivul de intrare standard, respectiv 0 n caz contrar. Observaii: 1. Este o metod simpl de averifica apriia unui Ctrl/Break n timpul unor prelucrri de durat mare. 2. Se recomand utilizarea acestei funcii naintea apelului funciilor 01H, 07h i 08h. 3. Pentru informaii suplimentare, a se vedea INT 16h i funciile 01h, 06h, 07h i 08h. 2.7. Funcia 0Dh Resetarea discului Funcia 0Dh golete toate zonele tampon de fiiere, fr a nchide fiierele. Toate zonele tampon modificate sunrt scris, i toate zonele tampon ale memoriei cacheinterne sunt marcate ca fiind libere. Funcia poate fi folosit pentru tratarea lui Ctrl/Break. Pentru apelul funciei, se folosesc regitrii: AH ncrcat cu 0Dh. Funcia nu returneaz nimic. Observaii: Pentru a avea certitudinea c n director este nregistrat lungimea corect afiierelor modificate , se recomand nchiderea lor folosind una din funciile 10h sau 3Eh. 2.8. Funcia 0Fh Deschiderea unui fiier utiliznd FCB Funcia 0Fh deschide n mod acces compatibilitatea unui fiier existent, utiliznd unbloc de control al fiierului (FCB), cu deplasamentul fa de adresa segment din DS specificat n registrul DX. Pentru apelul funciei, se folosesc regitrii: AH ncrcat cu 0Fh.

SISTEME DE OPERARE 131 DS:DX ncrcat cu un pointer la un FCB nedeschis. Funcia returneaz n registrul AL valoarea 0 dac s-a gsit o intrare n director pentru fiierul specificat, respectiv FFh n caz contrar. 2.9. Funcia 10h nchiderea unui fiier, utiliznd FCB Funcia 10h nchide un fiier, utiliznd un bloc de control al fiierului, cu deplasamentul fa de adresa segment din DS specificat n registrul DX. Pentru apelul funciei, se folosesc regitrii: AH ncrcat cu 10h. DS:DX ncrcat cu un pointer la un FCB deschis. Funcia returneaz n registrul AL valoarea 0 dac s-a gsit o intrare n director pentru fiierul specificat, respectiv FFh n caz contrar. Observaii: 1. Orice fiier chiar nemodificat, se recomand a fi nchis, dac nu mai este accesat. 2. n noile versiuni, este de preferat utilizarea funciei 3Eh. 3. Pentru informaii suplimentare, a se vedea funciile 0Fh, 3Eh i FCB. Atenie! ncercarea de a nchide un fiier inexistent poate avea defecte nedorite. 2.10. Funcia 13h tergerea unui fiier, utiliznd FCB Funcia 13h terge un fiier, utiliznd un bloc de control cu deplasamentul fa de adresa segment din DS specificat n registrul DX. Numele de fiier poate conine caracterul ? , toate fiierele cu nume potrivit fiind terse. Pentru apelul funciei, se folosesc regitrii: AH ncrcat cu 13h. DS:DX ncrcat cu un pointer la un FCB nedeschis. Funcia returneaz n registrul AL valoarea 0 dac s-a gsit o intrare n director pentru fiierul specificat, respectiv FFh n caz contrar. Observaii: 1. Fiierele read-only nu vor fi terse. 2. n noile versiuni nchise, nainte de a fi terse. 2.11. Funcia 16h Crearea unui fiier, utiliznd FCB Funcia 16h creaz un fiier, utiliznd un FCb a crui deplasament fa de adresa de segment din registrul DS se afl n registrul DX. FCB-ul este completat la fel ca la funcia 0Fh. Pentru apelul funciei, se folosesc regitrii: AH ncrcat cu 16h. DS:DX ncrcat cu un pointer la un FCB nedeschis. Funcia returneaz n registrul AL valoarea 00h dac fiierul a fost creat, respectiv FFh n caz contrar (nu exist intrare vid n director). Observaii: 1. Fiierul este creat dac s-a gsit o intrare n director potrivit cu numele de fiier specificat, sau dac s-a gsit o intrare vid n director. n ambele cazuri, lungimea fiierului este poziionat la 0 (dac fiierul exist, el va fi ters).

SISTEME DE OPERARE 132 2. Fiierului i se poate asigna un atribut, utiliznd un FCB extins. 3. n noile versiuni, este de preferat utilizarea uneia din funciile 3Ch, 5Ah sau 5Bh. 4. Pentru informaii suplimentare, a se vedea funciile 0Fh, 3Ch, 5Bh i FCB. 2.12. Funcia 39h - Crearea unui nou director (MKDIR) Funcia 39h creaz un nou subdirector, utiliznd ca i nume de cale un ir ASCIIZ (maxim 64 caractere) cu deplasamentul fa de adresa registru din DS aflat n DX. Pentru apelul funciei, se folosesc regitrii: AH ncrcat cu 39h; DS:DX ncrcat cu un pointer la numele noului director (d:\nume_cale\nume_director). Dac dup retur indicatorul CF este poziionat, directorul nu a fost creat i funcia returneaz n AX un cod de eroare: 3 nu s-a gsit calea specificat; 5 acces interzis (nu exist spaiu, exist deja un director cu acelai nume sau sa specificat un nume de unitate). Obsevaii: 1. Dac se omite numele dispozitivului i/sau al cii, se vor considera cele implicite. 2. Pentru informaii suplimentare, a se vedea funciile 3Ah, 3Bh, 47h, 59h. 2.13. Funcia 3Ah tergerea unui director (RMDIR) Funcia 3Ah terge un subdirector, utiliznd ca i nume de cale un ir ASCIIZ (maxim 64 caractere) cu deplasamentul fa de adresa registru din DS aflat n DX. Pentru apelul funciei, se folosesc regitrii: AH ncrcat cu 3Ah; DS:DX ncrcat cu un pointer la numele directorului (d:\nume_cale\nume_director). Dac dup retur indicatorul CF este poziionat, directorul nu a fost ters i funcia returneaz n AX un cod de eroare: 3 nu s-a gsit calea specificat; 5 acces interzis (directorul nu este gol, calea nu specific un director valid sau specific directorul rdcin); 6 calea specific directorul curent. Observaii: 1. Dac se omite numele dispozitivului i/sau al cii, se vor considera cele implicite. 2. Directorul trebuie s fie gol (s nu conin fiiere sau alte subdirectoare). 3. Directorul rdcin i cel curent nu pot fi terse. 4. Pentru informaii suplimentare, a se vedea funciile 39h, 3Bh, 47h, 59h. 2.14. Funcia 3Ch Crearea unui fiier (CREAT) Funcia 3Ch creaz un fiier cu numele dat de irul ASCIIZ (d:\nume_cale\specif_fiier) avnd deplasamentul fa de adresa segment din DS n DX, deschizndu-l n mod scriere/citire.

SISTEME DE OPERARE 133 Pentru apelul funciei, se folosesc regitrii: AH ncrcat cu 3Ch; DS:DX ncrcat cu un pointer la numele fiierului (ir ASCIIZ); CX ncrcat cu atributui fiierului; 00h normal; 01h read-only 02h ascuns; 04h sistem. Dac dup retur nu este poziionat indicatorul CF, funcia returneaz n AX indicatorul logic al fiierului, respectiv un cod de eroare n caz contrar: 3 nu s-a gsit calea; 4 prea multe fiiere deschise; 5 acces interzis (director plin sau exist un fiier cu acelai nume, dar cu atribute mai restrictive). Observaii: 1. Dac fiierul specificat nu exist, el vafi creat i i se va asigura primul identificator logic liber. Dac exist, el este trunchiat la lungime 0 (ters). 2. ncercarea de a deschideun fiier read-only va genera o eroare. Totui, se pot scrie informaii ntr-un fiier creat n mod read-only. 3. Dac nu se specific unitatea i/sau calea, se vor lua cele implicite. 4. Pentru informaii suplimentare, a se vedea funciile 16h, 43h, 5Ah, 5Bh, 59h. 3. Functii sistem in C++ Pentru utilizarea funciilor sistem n C++, cel mai adesea se foloseste functia INTDOS care se gaseste in biblioteca dos.h. In continuare se dau exemple corespunzatoare celor din limbajul de programare PASCAL existente n curs. Primul exemplu: /*Program demonstrativ pentru apelarea functiilor DOS in CPP*/ /*Determinarea versiunii DOS -> functia 30 hexa */ #include <stdio.h> #include <dos.h> void main(void) { union REGS regs; regs.h.ah = 0x30; intdos(&regs, &regs); /* Poate fi folosit echivalent: int86x vezi exemplul pentru utilizare */ printf("\n Versiune MsDOS %d.%d",regs.h.ah,regs.h.al); scanf("%c"); } Al doilea exemplu: /*Program demonstrativ pentru apelarea functiilor DOS in CPP*/ /*Citirea unei taste -> functia 1 hexa */

SISTEME DE OPERARE #include <stdio.h> #include <dos.h> void main(void) { union REGS regs; regs.h.ah = 0x01; intdos(&regs, &regs); /* Poate fi folosit echivalent: int86x vezi exemplul pentru utilizare */ printf("\n Tasta apasata %c",char(regs.h.al)); scanf("%c"); } Un exemplu de afisare a unitatii 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; }

134

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

SISTEME DE OPERARE Sisteme de operare

135

Laborator 2 Emulatorul DOS


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

n fereastra afiat se specific principalele comenzi necesare informrii asupra emulatorului: HELP i INTRO. Se vor da aceste comenzi i se vor nota n referatele de laborator informaiile primite. Dup pornire, emulatorul se gsete pe discul virtual z care este de fapt directorul din care s-a lansat programul. Pentru a folosi un alt director, de exemplu directorul dos care se afl pe discul D:, acesta se va monta ca o unitate de disc separat. S spunem ca aceast unitate va fi unitatea C. Comanda necesar este: mount C D:\laborator\dos Dac n directorul montat se afl alte directoare, acestea vor fi vzute n unitatea virtual creat i vor putea fi folosite. Pentru a iei din emulator, ne ntoarcem pe unitatea Z: dup care se scrie exit. n continuare se prezint tastele care permit diferite comenzi asupra emulatorului: ALT-ENTER Go full screen and back; CTRL-F5 Save a screenshot; CTRL-F6 Start/Stop recording sound output to a wave file; CTRL-F7 Decrease

SISTEME DE OPERARE 136 frameskip; CTRL-F8 Increase frameskip; CTRL-F9 Kill dosbox; CTRL-F10 Capture/Release the mouse; CTRL-F11 Slowdown emulation. CTRL-F12 Speedup emulation. n lucrarea de laborator se vor realiza mai multe operaii n emulatorul DOS: - cu ajutorul fiierelor loturi de comenzi se vor realiza mai multe directoare i se vor copia n mod selectiv fiiere n acestea; - se vor crea fiiere loturi de comenzi la care s se poat da parametrii n linia de comand; - se vor testa diferite programe DOS instalindu-se in prealabil utilitarul DOSVER.COM i se va realiza un tabel cu aplicaiile compatibile cu DOSBox. Referatele de laborator vor conine descrierea aplicaiei DOSBox, comenzile permise de aceasta i modul de utilizare. De asemenea n referatele de laborator se vor pune explicaii ale experimentelor efectuate i listingul programelor folosite.

SISTEME DE OPERARE Sisteme de operare

137

Laborator 3 + 4 Lucrul sub sistemul de operare UNIX


Sistemul de fiiere al sistemului de operare UNIX (Linux) este prezentat n curs, n paragraful 6.4, la pagina 50. Detalii despre comenzile folosite se gsesc n manualul UNIX (Linux). Comenzi utilizate n lucrarea de laborator (aflate n directorul /bin): cat concateneaz fiierele i le afieaz pe ecran; chgrp schimb grupul proprietar al unui fiier; chmod schimb permisiunile de acces la un fiier; chown schimb utilizatorul i grupul de proprietari ai unui fiier; cp copiaz coninutul unui fiier n alt fiier; dd copiaz fiiere din intrare n ieire cu posibilitate de conversie; ed ruleaz editorul de text standard (numit ed); ln creaz legturi ntre fiiere; ls listeaz coninutul unui fiier; mkdir creaz un director; mv mut (redenumete) un fiier; pr afieaz un fiier la terminal, pagin cu pagin; pwd afieaz directorul curent, de lucru; rm terge un fiier; rmdir terge directoare. Comenzile care urmeaza sunt importante deoarece ele ajuta la descoperirea informatiilor despre fisiere. Aceste comenzi pot fi folosite pentru a determina tipul fisierelor si care aplicatie le-a creat. De asemenea, sunt o serie de comenzi care permit vizualizarea s/sau modificarea continutului fisierelor text sau compararea acestora. Combinatiile cu tasta CTRL a. Control-c Intrerupe activitatea curenta; este folosita in mod curent pentru a intrerupe sau pentru a termina un un proces sau un output pe ecran prea lung (rezultat de exemplu in urma utilizarii comenziilor man, cat sau ls). Control-c este util si pentru a recupera promptul atunci cand a fost introdusa o linie de comanda nerecunoscuta de sistem (de ex. $ls " ) si s-a returnat al doilea prompt. b. Control-d Indica sfarsitul fisierului sau iesire (exit). Secventa Control-d este utilizata pentru a iesi din anumite programe, dintr-o fereastra terminal. Ca regula generala, cand va impotmoliti si nu functioneaza Control-c, incercati Control-d. c. Control-u Sterge intreaga linie de comanda. Utilizari frecvente ale combinatiei Control-u: 1. O modalitate rapida de a sterge o linie de comanda atunci cand v-ati decis sa nu o executati.

SISTEME DE OPERARE 138 2. Daca sunteti logati intr-un sistem la distanta iar tasta backspace nu functioneaza. 3. Deoarece nu vedeti parola atunci cand o scrieti, puteti folosi Control-u pentru a o sterge si pentru a o scrie din nou de la inceput daca nu sunteti siguri ca ati scris-o corect. Determinarea tipului fisierului cu comanda file Intr-un sistem Linux se intalnesc mai multe tipuri de fisiere. Tipul acestora poate fi determinat utilizand comanda file command. Acest tip de informatie poate fi important atunci cand un utilizator incearca sa deschida sau sa citeasca un fisier. Determinarea tipului fisierului poate fi de ajutor si pentru a determina programul sau comanda de utilizat pentru a deschide un fisier. Rezultatul obtinut de pe urma unei astfel de comenzi este de cele mai multe ori unul dintre urmatoarele: Text, Executable sau Data. a. Fisiere Text Exemplele includ text ASCII sau text in englezea, comenzi text, si scripturi shell executabile. Acest tip de fisier poate fi citit utilizand cmenzile cat sau more si poate fi editat utilizand un editor de text (precum vi sau pico). b. Fisiere executabile sau Binare Exemplele includfisiere ELF sau alte executabile legate dinamic. Acest tip indica faptul ca fisierul este un program sau o comada. c. Fisere de date Aceste fisiere sunt create de aplicatii care ruleaza pe sistem. In unele cazuri se indica tipul fisierului; de exemplu, document FrameMaker. Vizualizarea continutului unui fisier cu comanda cat Comanda cat (prescurtarea pentru concatenate) afiseaza pe ecran continutul unui fisier text. Este utilizat adesea pentru fisiere text scurte precum fisierele scripturi (similare cu fisierele batch). Daca fisierul ocupa mai mult de un ecran este de preferat sa se recurga la comanda Vizualizarea continutului unui fisier cu comanda more Comanda more este metoda preferata de afisare a fisierelor text deoarece continutul apare pe pe rand pe cate un ecran. Daca informatia din fisier nu incape pe un singur ecran, apare in partea de jos a ecranului urmatorul mesaj (unde n reprezinta procentul din continutul fisierului deja afisat): --More--(n%). Apasand tasta Enter se continua afisarea linie cu linie. Dac se apasa Space atunci se va umple urmatorul ecran. Vizualizarea portiunilor de fisier cu comanda head Comanda head este utilizata pentru a afisa primele n linii dintr-unul sau mai multe fisiere text. Primele 10 linii sunt afisate automat daca se omite optiunea -n. Comanda head este utila atunci cand doriti doar sa verificati primele cateva linii dintr-un fisier indiferent de cat de lung este acesta.

SISTEME DE OPERARE 139 Vizualizarea portiunilor unui fisier cu comanda tail Comanda tail se foloseste pentru a afisa ultimele n linii ale unui fisier. Ultimele 10 linii sunt afisate atunci cand se omite optiunea -n. Comanda tail este utila pentru verificarea celor mai recente intrari in fisierele log foarte lungi. Optiunea -n afiseaza ultimele n linii ale fisierului. Determinarea numarului de linii, cuvinte si caractere utilizand comanda wc Comanda wc (word count) poate fi utilizata pentru a afisa numarul de linii, cuvinte, octeti ai unui fisier text. Aceasta comanda este utila atunci cand se incearca determinarea caracteristicilor unui fisier sau cand se compara doua fisiere. Determinarea diferentelor dintre fisiere cu comanda diff Comanda diff (difference) este utilizata pentru a compara doua fisiere text si pentru a determina diferentele dintre ele. Comanda wc poate fi utilizata pentru a compara fisiere tata timp cat ea numara linii,cuvinte si caractere. Este posibil ca doua fisiere sa aiba acelasi numar de linii, cuvinte si caractere insa sa aiba cuvinte si caractere diferite. Comanda diff poate sa descopere aceste diferente intre fisiere: rezultatul acestei comenzi va afisa diferentele dntra doua fisiere text linie cu linie. Exista doua optiuni pentru comanda diff : -i si -c. Optiunea -i ignora tipul literelor (mari sau mici); de exemplu A este tot una cu a. Optiunea -c realizeaza o comparatie detaliata si afiseaza o lista a diferentelor cu trei linii de context. Cu aceasta optiune, afisarea incepe cu identificarea fisierelor implicate in comparatie si data la care au fost acestea create. n lucrarea de laborator se va studia structura de directoare a sistemului de operare i coninutul acestora. Se va crea un director utilizator i se vor experimenta comenzile. Se vor crea fiiere loturi de comenzi (scripturi) i se vor manevra fiiere ntre directoare. Referatele de laborator vor conine descrierea activitilor efectuate, listarea comenzilor date i rezultatele obinute. De asemenea se va realiza o analiz de maximum o pagin ntre modul de lucru cu fiierele n sistemul de operare DOS i modul de lucru cu fiierele n sistemul de operare UNIX (Linux).

SISTEME DE OPERARE Sisteme de operare

140

Laborator 5 Intreinerea sistemului de operare Windows


Sistemul de operare Windows furnizeaz o serie de instrumente destinate ntreinerii cum sunt: Backup, Disk Cleanup, Disk Defragmenter, Files and Settings Transfer Wizard, Scheduled Tasks, Security Center, System Restore etc. care se gsesc n All Programs\Accessories\System. De asemenea pe reeaua Internet se gsesc o serie de programe utilitare destinate ntreinerii sistemului. n lucrarea de laborator se va realiza o schem (un scenariu) de ntreinere a sistemului. Se vor utiliza unelte furnizate de sistemul de operare Windows i unelte luate din reeaua internet. Se va folosi meniul HELP pentru utilizarea acestor programe. Referatele de laborator vor conine descrierea funcionrii programelor utilitare destinate ntreinerii sistemului att pentru cele furnizate de sistemul de operare Windows ct i pentru cele preluate de pe reeaua Internet. Se va descrie schema de ntreinere elaborat la laborator. Referatele de laborator vor conine un studiu comparativ, de maximum o pagina, a diferitelor unelete destinate intreinerii sistemelor de operare.

SISTEME DE OPERARE

141

NTREBRI DE VERIFICARE
1. Alegei rspunsul cel mai potrivit din variantele prezentate mai jos. Sistemul de operare DOS este: A. Un sistem de operare cu multiprogramare cu administrarea neautomat a memoriei. B. Un sistem de operare secvenial cu administrarea automat a memoriei. C. Un sistem de operare secvenial cu administrarea neautomat a memoriei. 2. Alegei rspunsul cel mai potrivit din variantele prezentate mai jos. ncrcarea i lansarea n execuie a sistemului de operare DOS presupune: A. Existena sistemului de operare n memoria ROM a sistemului de calcul. B. Existena pe un suport extern de memorie a programului bootstrap loader. C. Apsarea combinaiei de taste Ctrl+Alt+Del. 3. Alegei rspunsul cel mai potrivit din variantele prezentate mai jos. Sub sistemul de operare DOS memoria convenional are dimensiunea de: A. orice dimensiune. B. 1MB. C. 640kB. 4. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Utilizarea memoriei expandate sub sistemul de operare DOS nu este posibil dect prin intermediul memoriei superioare. A. ADEVRAT B. FALS 5. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Funciile sistem ale unui sistem de operare sunt aplicaii create de utilizator pentru extinderea posibilitilor sistemului de operare. A. ADEVRAT B. FALS 6. Specificai care din noiunile de mai jos descriu cel mai bine comenzile sistemului de operare DOS. A. Comenzile sistemului de operare DOS sunt n numr fix i reprezint limbajul de comand al acestuia. B. Comenzile sistemului de operare DOS sunt similare funciilor sistem. C. Comenzile sistemului de operare DOS sunt: comenzi interne i comenzi externe. 7. Alegei varianta de rspuns corect din cele prezentate mai jos. Sistemul de operare UNIX este: A. un sistem de operare secvenial, multiutilizator.

SISTEME DE OPERARE 142 B. un sistem de operare cu divizare n timp (time-sharing), secvenial, multiutilizator. C. un sistem de operare cu divizare n timp (time-sharing), multitasking, multiutilizator. 8. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Sistemul de operare UNIX nu poate avea dect un singur interpretor de comenzi (SHELL). A. ADEVRAT B. FALS 9. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Sistemul de operare UNIX permite accesul mai multor administratori de sistem (superuser) simultan. A. ADEVRAT B. FALS 10. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Sub sistemul de operare UNIX fiecrui dispozitiv periferic i este asociat un fiier special. A. ADEVRAT B. FALS 11. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Sub sistemul de operare UNIX diferenierea ntre fiierele executabile i cele neexecutabile se face pe baza extesiei numelui fiierului. A. ADEVRAT B. FALS 12. Alegei rspunsul cel mai potrivit din variantele prezentate mai jos, cu privire la accesul la o unitate extern de memorie sub sistemul de operare UNIX. A. Accesul la o unitate de memorie extern se face prin intermediul descriptorului logic asociat acesteia. B. Accesul la o unitate de memorie extern se face prin intermediul literei asociate acesteia. C. Accesul la o unitate de memorie extern se face prin operaia de montare a volumului n arborele sistemului de fiiere. 13. Alegei varianta de rspuns care nu se refer la sistemul de operare Windows. A. Sistemul de operare Windows este un sistem grafic. B. Sistemul de operare Windows este un sistem multiproces. C. Sistemul de operare Windows este un sistem monoproces. 14. Alegei rspunsul corect, n funcie de modul n care definiia urmtoare este corect (ADEVRAT) sau incorect (FALS). Sub sistemul de operare Windows nu este posibil rularea programelor DOS. A. ADEVRAT

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

143

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

SISTEME DE OPERARE

144

BIBLIOGRAFIE
1. Punescu Florin, Analiza i concep]ia sistemelor de operare, Editura tiintific i Enciclopedic, Bucureti, 1892 2. ***, Memento DOS, Editura Romanian Software Comp., Cluj-napoca 1990 3. ***, DOS-5.0 ghid de referin] al comenzilor, Editura ROMSOFT, Bucureti 1992 4. ***, Sistemul de operare DOS. Ghidul prgramatorului, 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. Mranu Radu, Sistemele de operare MS-DOS si UNIX. Utilizare WINDOWS, LOTUS, WordPerfect, Editura Tehnic, Bucureti, 1995 9. Pnoiu Alexandru, MS-DOS 5.0, Editura TEORA, Bucureti, 1993 10. Popa Cornel, Oprea Eugen, Utilizarea calculatoarelor personale. Sistemul de operare MS-DOS 5.0, Editura ECCE, Bucureti 1992 11. Cecal Liana, Cele mai bune Tricks & Tips Windows, Editura Tehnic, Bucureti, 1995 12. Pilat vladimir Florin, WINDOWS 3.1., Editura TEORA, Bucureti, 1993 13. Golcea Delia, Introducere in UNIX, Editura Memorii S.R.L. Timioara 14. Iosif Ignat, s.a., UNIX - gestionarea fisierelor, Editura Microinformatica, Cluj, 1992 15. Pilat Florin Vladimir, tefanescu Irina, Sorin D., UNIX, Editura TEORA, Bucureti, 1993 16. Oaualline Steve, Descoperi]i sistemul Linux, Editura TEORA, Bucureti, 1998 17. Schumer Larry, Negus Chris, Utilizare UNIX, Editura TEORA, Bucureti, 1998 18. Petzold Charles, Programare n Windows 95, Editura TEORA, Bucureti, 1998 19. Crawford Sharon, ABC Windows 95, Editura TEORA, Bucureti, 1998 20. Bott Ed, Utilizare Windows 95, Editura TEORA, Bucureti, 1998 21. Norton Peter, Ghid complet pentru Windows 95, Editura TEORA, Bucureti, 1998 22. Levine R. John, Young Margaret, UNIX pentru To]i, Editura TEORA, Bucureti, 1998 23. Sharon Crawford, Heil Salking, Windows 98 ABC, Editura TEORA, Bucureti, 1998