Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


SISTEME DE OPERARE - NOTIUNI GENERALE DESPRE SISTEMELE DE OPERARE

hardware



+ Font mai mare | - Font mai mic



SISTEME DE OPERARE

NOTIUNI GENERALE DESPRE SISTEMELE DE OPERARE

Scop :- prezentarea notiunilor de baza despre sistemele de operare: definire, structura, functiuni.



prezentarea sistemului UNIX .

Aplicatii - operarea si utilizarea in sistemele de operare de tip UNIX ( operarea pe sistemul LINUX - versiune de UNIX pentru PC) .

Sisteme de calcul.

Structura sistemelor de calcul

Sistemele de operare sunt colectii de programe existente pe sistemele de calcul . Prin urmare, inainte de a prezenta primele lucruri generale despre sistemele de operare, vom trece in revista cateva concepte fundamentale ale sistemelor de calcul care faciliteaza prezentarea structurii sistemelor de operare si a functiilor acestora.

Pentru inceput, sa vedem care sunt elementele de baza ale unui sistem de calcul.

Un sistem de calcul (calculatorul) este o structura destinata prelucrarii informatiei. El este alcatuit din resurse fizice (procesoare, memorie centrala, dispozitive de intarre/iesire etc.), resurse logice (sistem de operare, programe utilitare, aplicatii etc.) si resurse informationale (date organizate eficient si stocate pe diverse suporturi de memorie secundara etc.) care coopereaza pentru satisfacerea cerintelor utilizatorilor privind introducerea, memorarea (stocarea), prelucrarea, transmisia (spre un alt sistem de calcul), precum si regasirea informatiilor.

Resursele fizice constituie partea de echipament a sistemului de calcul numita si hardware, iar totalitatea resurselor logice se numeste software.

Componentele functionale enumerate mai sus, structurate pe nivele care interactioneaza prin interfete bine definite (figura 1.1.1).


Fig.1.1.1 Componentele functionale ale sistemului de calcul

Sistemul hardware constituie nivelul inferior al sistemului de calcul, construit pe baza unor componente electronice, magnetice, optice, mecanice etc., a caror complexitate depinde de tehnologia de fabricatie.

Al doilea nivel este o extensie a nivelului hardware, dar si un subnivel al sistemului software. Acest nivel este numit firmware si cuprinde fie microprogramele, in cazul sistemelor de calcul ce pot sa simuleze alte sisteme de calcul, fie programele de control pentru diferite componente ale sistemului de calcul. Prin microprogramare se pot proiecta sisteme de calcul programabile direct in limbaje de nivel inalt.

Nivelul urmator este reprezentat de sistemul de operare si alte instrumente pentru utilizarea functiilor oferite de straturile anterioare elaborate conform unor cerinte, criterii si obiective stabilite la proiectarea sistemului de calcul.

Procesorul (este inclus aici si microprocesorul) efectueaza prelucrarea care are loc in sistemul de calcul prin executarea unui program si dirijeaza activitatea celorlaltor echipamente. Unitatea centrala de prelucrare (procesorul) este alcatuita din una sau mai multe unitati aritmetico-logice, un set de registre (memorie rapida) ce pastreaza temporar datele precum si o unitate de comanda.

Unitatea aritmetico-logica (UAL) prelucreaza datele executand operatii aritmetice si logice (adunare, scadere, SI, SAU, SAU EXCLUSIV, complementare, incrementare, decrementare, deplasare dreapta, deplasare stanga). Cele mai importante registre ale unui procesor sunt: registrul acumulator, registrul numarator de adrese al programului, registrul indicator de conditii, registrul de instructiuni, registrul de adresare a memoriei si registrul de intrare/iesire.

Unitatea de comanda furnizeaza semnalele de control care activeaza componentele procesorului asigurand citirea, interpretarea si executarea instructiunilor. Acesta contine circuite pentru generarea semnalelor de control, registrul si decodificatorul de instructiuni si sistemul de intreruperi.

Performantele procesorului pot fi exprimate prin: durata ciclului masinii, lungimea cuvantului, repertoriul de instructiuni, numarul adreselor dintr-o instructiune, durata executarii instructiunilor, caracteristicile sistemului de intreruperi etc.

Durata ciclului masinii reprezinta intervalul de timp in care se efectueaza un transfer intre doua registre ale unitatii centrale de prelucrare. Lungimea cuvantului poate fi de 8 biti, 16 biti, 32 biti sau 64 biti in functie de tipul procesorului. Durata executarii instructiunilor reprezinta timpul necesar desfasurarii fazei de citire-interpretare si a fazei de executie pentru o instructiune.

Stocarea informatiilor in sistemul de calcul se realizeaza prin intermediul memoriei. In functie de locul ocupat, distingem memoria centrala (numita si memoria principala sau interna) si memoria secundara (numita si auxiliara sau externa). In memoria centrala sunt pastrate programele si datele utilizate de acestea in timpul executiei lor de catre procesor. Memoria secundara pastreaza cantitati mari de date si programe folosite frecvent si reincarcabile rapid in memoria centrala.

Memoria unui sistem de calcul este caracterizata prin atribute precum: capacitate, timp de acces, cost, mod de accesare a informatiei stocate etc.

Capacitatea memoriei este definita prin numarul de informatie disponibile pentru stocarea informatiei. In general, capacitatea memoriei se exprima in KB, MB sau GB (1 GB = 1024 MB, 1 MB = 1024 KB, 1KB = 1024 octeti).

Zonele de memorie (interna sau externa) pot fi localizate prin intermediul adresei. Prima locatie a memoriei centrale are adresa 0 (zero). Daca unitatea de informatie este octetul, atunci adresa 10(scrisa zecimal) reprezinta locatia unsprezecea.

Timpul de acces exprima durata intervalului in care poate fi obtinuta informatia stocata in memorie.

In functie de natura accesului la informatia ce o inmagazineaza, memoria centrala a unui calculator poate fi cu acces numai in citire si respectiv, cu acces in scriere si citire. Memoria de tip "citeste numai" (ROM) se mai numeste si memorie permanenta, deoarece programele inscrise in ea sunt fixate odata pentru totdeauna. In general in aceasta memorie este depozitat firmware-ul. Memoria ce permite acces de tip "citire-scriere" se mai numeste memorie cu acces aleator (RAM).

Memoria centrala poate fi impartita in mai multe categorii, in functie de posibilitatea de utilizare sau destinatie acesteia. De exemplu, memoria RAM a unui calculator personal compatibil IBM, prezentata in figura 1.1.2, este impartita in:

zona de memorie cu adrese de la zero la 640 KB, recunoscuta in mod curent de sistemul de operare MS-DOS si denumita memorie conventionala;

zona de memorie cu adrese de la 640 KB la 1 MB, numita si memorie superioara;

zona ce corespunde cu spatiul adresabil peste 1 MB, numita si memorie extinsa;

memorie expandata sau memorie paginata, ce difera de tipurile anterioare, dar acopera partial sau total memoria extinsa disponibila. Pentru adresare se utilizeaza tehnica paginarii.


Totalitatea echipamentelor unui sistem de calcul diferite de unitatea centrala si memoria interna formeaza multimea echipamentelor periferice. Din aceasta categorie fac parte unitatile de memorie externa, echipamentele de intrare, echipamentele de iesire si echipamentele de intrare/iesire.

Una din cele mai importante unitati de memorare externa este unitatea de disc. Memorarea informatiei pe disc urmeaza acelasi principiu fizic cu cel utilizat in inregistrarea casetelor si benzilor audio-video. Deosebirea principala intre cele doua sisteme de memorare este datorata naturii semnalului de inregistrare folosit: analogic, in cazul audio-video si numeric, in cazul discurilor sistemelor de calcul.

Din punct de vedere fizic, o unitate de disc are compunere unul sau mai multe planate (sau discuri), fie platan cu una doua suprafete de inregistrare, atatea capete de citire/scriere cate suprafete de inregistrare exista, un brat ce permite accesul de la exterior spre centrul platanului al capetelor de citire/scriere, motoare pentru rotirea platanelor si deplasarea bratului, precum si un set de circuite specializate (numit cuptor sau adaptor) pentru comanda intregului mecanism.

Discurile care contin un singur platan se numesc discuri floppy, iar platanul propriu-zis se numeste discheta sau disc flexibil. Discurile continand mai multe platane se numesc discuri rigide. Atat pentru dischete, cat si pentru discul rigid, intreaga colectie de date formeaza asa-numitul volum. Suprafetele de inregistrare ale unui disc sunt impartite intr-un numar fix de cercuri concentrice, fiecare cerc numindu-se pista. Adresa unei piste este definita de o pereche de numere intregi reprezentand numarul curent al suprafetei de inregistrare, respectiv numarul curent al pistei. Suprafetele de inregistrare se memoreaza incepand de la zero, de sus in jos. Pistele se numeroteaza crescator de la pista de raza maxima (indice 0) spre pista de raza minima. Aceasta numerotare se reia pentru fiecare suprafata de inregistrare.

Multimea pistelor de pe toate suprafetele de inregistrare identificate prin acelasi numar se numeste cilindru. Cilindrii se numeroteaza de la zero, crescator, incepand de la cel cu diametrul maxim spre cel cu diametrul minim.

Fiecare pista este impartita in sectoare, de lungime fixa, de regula 512 octeti. Fiecare sector este adresat fizic de un triplet de numere intregi reprezentand numarul cilindrului, numarul suprafetei si numarul sectorului. Pe fiecare cilindru, numarul de sectoare este acelasi.

Din punct de vedere logic, pistele sunt numerotate incepand de la zero pe suprafata de inregistrare zero si continuand crescator pana la epuizarea suprafetelor si pistelor. De asemenea, sectoarele sunt numerotate incepand de la zero (cilindru zero, suprafata zero), crescator pana la epuizarea sectoarelor suprafetelor cilindrilor.

Adresa fiecarui sector este inscrisa la inceputul acestuia intr-un antet care contine si o secventa de octeti de sincronizare utilizati de cuplor pentru identificarea unei adrese disc. Operatia de scriere a adresei si a celorlaltor elemente ale antetului sectoarelor se numeste formatare fizica a discului. In cazul sistemului de operare MS-DOS, formatarea fizica a dischetelor este realizata folosind comanda FORMAT. Pentru discul rigid, formatarea fizica este realizata, in majoritatea cazurilor, de catre fabricantul acestuia. Alte aspecte privind formatarea discurilor vor fi prezentate in capitolele urmatoare.

Un dispozitiv periferic special este terminalul. Prin intermediul acestuia se asigura comunicatia intre utilizator si calculator. Un sistem de calcul poate avea unul sau mai multe terminale. Din punct de vedere al sistemului de operare exista doua tipuri de terminale:

terminalul "RS-232", cuplat la calculator prin intermediul interfetei de comutatie standard RS-232 si

terminalul "memorie".

Terminalul "RS-232" este un dispozitiv compus din tastatura si un display (monitor) care comunica prin intermediul interfetei seriale, bit cu bit. Pentru a transmite un caracter la un astfel de terminal, calculatorul transmite un bit de start, bitii ce compun caracterul si unl sau doi biti de stop.

Deoarece terminalele si calculatorul, lucreaza intern cu caractere, conversia caracter-sir de biti si invers este realizata hardware folosind circuite specializate. De exemplu, terminalele VDT, Tektronix etc. sunt terminale "RS-232".

Terminalul "memorie" nu comunica cu calculatorul folosind o linie seriala ci este o parte a calculatorului. Interfata cu calculatorul este asigurata prin intermediul unei memorii speciale numite memorie video, care este adresata de catre procesor ca si memorie centrala. Controlul memoriei video si generarea semnalului video pentru display sunt realizate de un set de circuite numit adaptorul video. La aceste terminale, tastatura este separata de ecran. Ea este cuplata printr-o interfata paralela (mai multi biti in acelasi timp), dar exista si tastaturi cuplate serial prin interfata RD-232. Calculatorul personal IBM PC are in componenta sa un terminal "memorie".

Modulele software pentru tratarea cererilor de intrare/iesire din partea sistemului de operare sau a unui program utilizator se numesc driver-e. Fiecare dispozitiv de intrare/iesire are asociat un driver. In general, orice driver mentine o coada a cererilor de intrare/iesire lansate de unul sau mai multe programe, cereri pe care le prelucreaza intr-o anumita ordine (de exemplu, conform unei liste de prioritate). Driver-ele efectueaza functiile fizice solicitate in cererile de transfer asupra dispozitivelor de intrare/iesire si tratarea erorilor. Un program utilizator poate efectua operatii de intrare/iesire direct la nivelul driver-elor. Totusi, in acest mod, programul nu va mai fi independent de dispozitivul de intrare/iesire.

Componentele efective ale sistemului de calcul si ale sistemului de operare se mai numesc si resurse reale, spre a le deosebi de resursele virtuale, care se refera la acele resurse pe care sistemul de oeprare le pune la dispozitia utilizatorilor ca si cum acestea le-ar fi alocat in exclusivitate. Exemple de resurse virtuale: memoria virtuala si perifericul virtual.

Prin virtualizarea memoriei se creaza iluzia unei memorii foarte largi ca dimensiune (desi memoria reala este mult mai mica).

In cazul dispozitivelor de intrare-iesire, perifericul virtual este reprezentat printr-o zona de memorie secundara de informatii intre un program in executie si un periferic real. Programul "consumator de resurse" lucreaza cu perifericul virtual, iar transferul intre perifericele virtuale si cele reale este realizat de o componenta a sistemului de operare.

Unele resurse sunt cu acces unic, in sensul ca ele pot fi folosite de un singur "program" la un moment dat. O resursa cu acces unic, solicitata simultan de mai multi clienti, se numeste resursa critica. Pentru accesarea resurselor critice se utilizeaza fire de asteptare (cozi). Din aceasta categorie de resurse fac parte: unitatea centrala, zonele de memorie ale sistemului de operare, imprimanta, fisierele protejate etc.

Alte resurse permit accesul multiplu, adica pot fi utilizate simultan de mai multi clienti. Discurile magnetice si fisierele cu acces numai in citire sunt resurse cu acces multiplu.

Exista, de asemenea resurse care pot fi retrase unui client si alocate altui client "cu prioritate" mai mare. Resursele supuse alocarii/integrarii periodice se numesc resurse partajabile. O astfel de resursa este procesorul.

12. Sisteme de operare

Un sistem de operare este o colectie organizata de programe de control si serviciu stocate permanent intr-o memorie principala sau auxiliara, specifice tipurilor de echipamente din componenta sistemului, avand ca sarcina optimizarea utilizarii resurselor, minimizarea efortului uman de programare si automatizarea operatiilor manuale in cat mai mare masura, in toate fazele de pregatire si exploatare a componentelor sistemului de calcul.

Sistemul de operare ofera si o interfata intre programator si sistemul de calcul, concretizata intr-un interpretor al comenzilor utilizatorului exprimate cu ajutorul unui limbaj de comanda.

Un sistem de operare este format dintr-o colectie integrata de programe de sistem, ce ofera utilizatorului posibilitatea folosirii eficiente a sistemului de calcul, concurand la dezvoltarea programelor de aplicatie.

Se poate aprecia ca un sistem de operare actioneaza ca o interfata intre componenta hardware a unui sistem de calcul si utilizator, reprezentat prin programele sale de aplicatie (fig .de mai jos).

 

SISTEM DE OPERARE

NIVEL NIVEL

FIZIC LOGIC

 


Comenzi Utilizatori

Limbaje

De prog.

mesaje


Unul dintre conceptele cheie ale oricarui sistem de operare este procesul. Un proces este de fapt un program in executie. El creaza unul sau mai multe subprocese, poate comunica cu alte procese etc.

Sistemele de calcul din prima generatie erau de dimeniuni mari, comandate, de la consola, de catre programator sau operator. Programatorul utiliza sistemul de calcul pentru executia programului sau, introdus de pe banda perforata, cartele sau direct de la panoul electronic. El era ajutat de programe scurte prezentate in format binar (siruri de simboluri 0 si 1), embrioane ale viitoarelor componente ale sistemelor de operare. Aceste programe erau incarcate in memorie (de pe banda perforata) ori de cate ori era nevoie.

Primele sisteme de operare realizau prelucrarea pe loturi de programe. Utilizatorul nu mai comunica direct cu sistemul de calcul, acesta functionand sub controlul unui operator specializat. Operatorul trebuia sa asigure resursele externe necesare unei lucrari (montarea benzilor, pornirea si oprirea diverselor echipamente periferice) si introducerea lucrarilor in sistem. Comunicarea operatiilor de executat era realizata prin intermediul unui limbaj de comanda ce permitea interpretarea ordinelor adresate sistemului, precum si tratarea situatiilor de eroare conform unor optiuni specificate de utilizator. Primele sisteme de acest tip functionau in regim de monoprogramare, un singur program fiind prezentat in memorie, la un moment dat.

Caracteristica de baza a acestui mod de prelucrare o reprezinta imposibilitatea interventiei utilizatorului pentru a interactiona cu programul sau.

Dintre conceptele implementate pentru cresterea performantelor si marimea eficientei utilizarii resurselor sistemelor de calcul, un rol important l-a avut multiprogramarea. In sistemele cu multiprograme, la un moment dat, in memorie se afla incarcate pentru executie mai multe procese care concureaza, pe baza unei scheme de prioritati, pentru accesul la anumite resurse ale sistemului. Cand o resursa este retrasa unui proces (la incheierea acestuia sau la aparitia unuia cu prioritate mai mare), ea poate fi imediat alocata altui proces care o solicita.

Sistemele cu multiprogramare sunt de diferite grade de complexitate. Ele au de rezolvat probleme dificile privind alocarea optima a resurselor, evitarea interblocarilor, protectia utilizatorilor (intre ei) si protectia sistemului (in raport cu utilizatorii).

In sistemele cu un singur procesor, executia mai multor programe in regim de multiprogramare pare simultana din punct de vedere al utilizatorului, dar la un moment dat, exista doar un singur proces activ in sistem. In sistemele multiprocesor sau multicalculator, doua sau mai multe procese pot fi activate simultan, ele fiind prelucrate de procesoare diferite.

Un alt mecanism important este multitasking-ul. Acesta consta in multiprogramarea a doua sau mai multe procese (numai task-uri in unele sisteme de operare) avand un obiectiv comun. Aceste procese pot comunica intre ele si isi pot sincroniza activitatile.

Interfata dintre sistemul de operare si programele utilizatorului (numite si lucrari) este asigurata de o colectie de "instructiuni extinse" ale sistemului de operare numite apeluri sistem. Folosind apelurile sistem, un program utilizator poate crea, utiliza si sterge diverse obiective gestionate de sistemul de operare. Unele dintre cele mai importante obiecte gestionate de un sistem de operare sunt procesele si fisierele.

Un fisier este un sir de caractere terminat printr-o marca de sfarsit de fisier.De fapt un fisier este o colectie de date stocate in memoria externa. Fisierul poate fi stocat pe disc, in memorie etc. Una din functiile importante ale unui sistem de operare este aceea de a ascunde dificultatea lucrului cu echipamentele periferice. Astfel, sistemul de operare ofera apeluri sistem pentru lucrul cu fisiere: crearea, stergerea, citirea, scriere etc. Fisierele pot fi grupate intr-un catalog si pot fi caracterizate de anumite atribute (proprietar, dimensiunea, data ultimului acces in scriere, coduri de protectie) .

Pentru a indeplini rolul de interfata intre hardware si utilizatori, un sistem de operare trebuie sa fie capabil sa indeplineasca urmatoarele functii :

a.      posibilitatea de pregatire si lansare in executie a programelor de aplicatie. Pentru aceasta orice sistem de operare dispune de editoare de texte peentru introducerea si modificarea programelor sursa., de translatoare care sa traduca programele din sursa in forma recunoscuta de sistemul de calcul.

b.      Alocarea resurselor de calcul necesare executiei programelor . Acest lucru consta in identificarea programelor ce se executa si a necesarului de resurse, alocarea memoriei interne si a dispozitivelor periferice, identificarea si protectia datelor.

c.      Acordarea unor facilitati prin utilitare de interes general. Este vorba de utilitare de gestiune cataloage ( directoare , subdirectoare) si fisiere, copierea fisierelor , stergerea fisierelor si directoarelor, recuperarea datelor, etc.

d.      Planificarea executiei mai multor programe (multiprogramare) dupa anumite criterii , in vederea utilizarii eficiente a unititii centrale de prelucrare.

e.      Coordonarea executiei mai multor programe ce se executa simultan, prin urmarirea modului de executie a instructiunilor programelor, depistarea si tratarea erorilor, lansarea in executie a operatiilor de intrare /ietire si depistarea eventualelor erori .

f.       Asistarea executiei programelor de catre utilizator prin comunicatia sistem de calcul - utilizator, atat la nivel hardware, cat si la nivel software.

g.      Posibilitatea configurarii sistemului dupa dorinta utilizatorului.

Conform cu aceste functii avem mai multe tipuri de sisteme de operare .

Dupa modul de introducere a lucrarilor (programelor) in sistem, se disting sisteme de operare seriale ce accepta introducerea lucrarilor de la un singur dispozitiv de intrare, sisteme de operare paralele ce admit introducerea lucrarilor de la mai multe dispozitive de intrare precum si sisteme de operare cu introducerea lucrarilor de la distanta.

Dupa modul de planificare a lucrarilor pentru executie, exista sisteme de operare orientate pe lucrari ce admit ca unitate de planificare lucrarea, alcatuita din unul sau mai multe programe succesive ale aceluiasi utilizator precum si sisteme de operare orientate pe proces care admit ca unitate de planificare procesul.

Dupa numarul de programe prezentate simultan in memoria principala se evidentiaza sisteme cu monoprograme si sisteme cu multiprogramare.

Dupa numarul de utilizatori acceptati simultan de sistemul de operare, exista sisteme monutilizator (calculatoare personale, statii de lucru, etc.) si sisteme multiutilizator.

Dupa modul de utilizare a resurselor se disting:

sisteme de operare cu resurse alocate, in care resursele necesare lucrarilor sunt afectate acestora pe toata durata executiei;

sisteme de operare in timp real care permit controlul executarii lucrarilor in interiorul unui interval de timp specificat;

sisteme cu resurse partajate (divizate), in care resursele necsare lucrarilor sunt afectate acestora periodic unor cuante de timp.

Cand resursa partajata este timpul unitatii centrale, sistemul de operare devine cu timp partajat. In general, sistemele de operare din aceasta clasa asigura utilizarea eficienta a resurselor sistemelor de calcul conventionale in care accesul la resursele sistemului poate fi:

- direct - pentru asigurarea unui control direct si permanent asupra unui set de terminale pe baza unui program utilizator. Un caz particular al acestor sisteme il prezinta sistemele interactive in timp real, in cadrul acestor sisteme il reprezinta sistemele interactive in timp real, in cadrul carora se cere o valoare maxima prestabilita a timpului de raspuns;

- multiplu - pentru accesul simultan, al unui numar mare de utilizatori, la resursele hardware si software ale sistemului. Acest tip de acces apare cand sunt cel putin doua terminale in sistem, iar fiecare utilizator lucreaza cu programul sau intr-o regiune de memorie (partitie) diferita de regiunile celorlalti utilizatori, protejata printr-un mecanism software sau hardware;

- in timp partajat (time-sharing) - in care alocarea timpului de acces se realizeaza pe baza unor cuante de timp fixe sau variabile, de ordinul milisecundelor, utilizatorii avand impresia ca lucreaza simultan cu sistemul;

- la distanta - in care prelucrarea se produce de catre mai multe calculatoare asupra datelor care sunt distribuite in mai multe colectii (baze) de date dispersate geografic.

In ce priveste computerele personale profesionale ( adica PC -urile ) cele mai cunoscute sisteme de operare sunt :

MS-DOS (Microsoft Disk Operanting System) - aparut in 1981. S-a folosit foarte mult pana prin 1995. Era un sistem monotasking si monoutilizator.

Windows 3.1., 3.11, 95, 98 - sisteme de operare multitasking pentru computerele utilizatorilor obisnuiti.

Windows NT - sistem de operare pentru retele , cu variantele Windows NT Server si Workstation.

Windows 2000 - continuarea Windows-ului NT, varianta modernizata de Windows pentru retele de calculatoare ( cu variantele Windows 2000 Profesional pentru statii si Windows 2000 Server pentru serverele retelelor de calculatoare ).

OS/2 - lansat de IBM in 19888

UNIX - sistem de operare puternic, universal, portabil pe toate tipurile de sisteme de calcul (supercalculatoare, mainframe-uri, calculatoare personale). Sistem de operare multitasking si multiuser foarte stabil , folosit in domeniile pretentioase, in Internet. Are mai multe versiuni :

AIX - proiectata de IBM pentru mainframer-urile IBM

SCO Unix

HP -UX al firmei Hewlwtt Packard.

Linux - versiune de UNIX pentru PC

APPLE DOS , MACINTOSH DOS, MAC OS8, Rapsody - versiuni de sisteme de operare pentru calculatoare MACINTOSH .

1.3 Structura sistemelor de operare

Un sistem de operare in forma cea mai simpla apare ca o colectie de proceduri cu functii precise si cu o interfata bine precizata intre acestea.

Serviciile (apelurile sistem) furnizate de sistemul de operare, sunt solicitate prin incarcarea anumitor registre cu informatia necesara sau depunerea acestei informatii in stiva si apoi provocarea unei intreruperi cunoscuta sub numele de apel supervizor sau apel nucleu. Acest apel determina trecerea sistemului de calcul din modul utilizator in modul nucleu (supervizor) si transfera controlul sistemului de operare. Sistemul de operare analizeaza parametrii apelului pentru a-l identifica, iar apoi apeleaza procedura de servicu necesara. Aceasta descriere sugereaza scheletul unui sistem de operare:

un program ce invoca o procedura de serviciu;

o biblioteca de proceduri de serviciu ce corespund apelurilor sistem;

o biblioteca de proceduri utilitare pentru procedurile de serviciu.

O alta posibilitate este de a privi sistemul de operare structurat pe nivelele, un nivel peste alt nivel. De exemplu, un sistem de operare cu 6 nivele poate cuprinde (din interior spre exterior): alocarea procesorului si multiprogramarea, gestiunea memoriei, comunicatia operator-sistem, gestiunea echipamentelor de intrare/iesire, programele utilizator si operatorul.

Pentru a-si indeplini functiile, majoritatea sistemelor de operare sunt structurate pe doua straturi: stratul logic si stratul fizic.

Stratul logic asigura interfata dintre utilizator si sistem (prin comenzi, instructiuni extinse si mesaje). Stratul fizic este reprezentat de rutinele de tratare a intreruperilor software. El este apropiat de hardware si, in general, este transparent pentru utilizator.

Tendinta in realizarea sistemelor de operare moderne este de a implementa cea mai mare parte a functiilor sistemului de operare sub forma de procese utilizator. Pentru a solicita un serviciu, un proces utilizator (numit si proces client) emite o cerere unui proces de serviciu, care rezolva solicitarea si transmiterea clientului raspunsului. Aceasta comunicatie intre clienti si procesele de serviciu este asigurata de nucleul sistemului de operare.

1.4. Incarcarea sistemelor de operare

La pornirea calculatorului, are loc initializarea sistemului de calcul printr-un proces ce cuprinde mai multe etape. In general, prima etapa consta in executia rutinelor de testare si initializare hardware (teste de memorie, tastatura, unitati de disc etc.), aflate in memoria ROM a calculatorului. In ultima parte a acestei faze se incarca in memorie RAM un incarcator, aflat pe suportul extern (discheta, disc rigid, caseta magnetica, banda magnetica etc.). Aceasta va incarca nucleul sistemului de operare aflat pe acelasi suport.

Exemple:

1. Incarcarea sistemului de operare MS-DOS

Dupa pornirea calculatorului personal, in mod normal, sunt parcurse urmatoarele etape:

se executa programul de autotestare;

se face o initializare a sistemului si

incarcatorul ROM-BIOS incearca sa citeasca primul sector al discului sistem (initial cautat pe unitatea A:).

Programul incarcator din ROM-BIOS este acelasi, indiferent de tipul sistemului de operare (MS-DOS, Lynux, etc.) si asigura primul nivel de incarcare. La acest nivel se disting doua moduri de incarcare, incarcarea "la rece" ca mai sus si incarcarea "la cald" prin utilizarea secventei CTRL+ALT+DEL, pentru lansarea directa a incarcatorului ROM-BIOS, fara autotestarea sistemului de calcul.

Al doilea nivel de incarcare a sistemului este asigurat de incarcator MS-DOS situat in primul sector al discului sistem. Acest program este incarcat de ROM-BIOS in memorie si dupa intrare in executie, citeste fisierul IO.SYS si completeaza tabela de intreruperi (situata la baza memoriei RAM) pentru noile dirver-e definite prin IO.SYS.

Urmeaza al treilea nivel de incarcare prin care nucleu sistem de operare este incarcat de programul SYSINIT (situat in fisierul IO.SYS). Nucleu MS-DOS este situat in fisierul MSDOS.SYS. Dupa actualizarea tabeli de intreruperi, initializarea driver-elor instabile si actualizarea numarului zonelor tampon, programul SYSINIT incearca citirea fisierului de configurare CONFIG.SYS. Daca acest fisier exista, comenzile continute se executa si se vor instala driver-ele solcitate. MS-DOS suporta doua tipuri de driver-e: rezistente si nerezistente (instalabile). Driver-ele rezidente sunt situate in fisierul IO.SYS si, in general, nu pot fi modificate de utilizator. Driver-ele instabile sunt, de obicei, definite ca fisiere cu extensia SYS: ANSI.SYS, DISPLAY.SYS, HIMEM.SYS etc.

In final SYSINIT inchide toate fisierele cu exceptia celor standard: intrarea standard (CON, identificator logic 0), iesirea standard (PRN, identificator logic 1) si dispozitivul standard pentru afisarea erorilor (AUX, identificator logic 2). Apoi, controlul este preluat de interfata COMMAND.COM ce executa comenzile din fisierul AUTOEXEC.BAT (daca exista) si prelucreaza cererile utilizatorului (comenzi MS-DOS sau programe aplicative).

2. Incarcarea sistemului de operare UNIX

Dupa efectuarea testarii si initializarii componentelor hardware ale sistemului de calcul, in memoria RAM se va incarca un program scurt, aflat in blocul de incarcare (boot) al sistemului de fisiere root al sistemului UNIX. Acesta va incarca nucleul sistemului de operare, aflat in fisierul unix din catalogul radacina.

Datorita complexitatii sistemului de operare UNIX, inainte de a permite deschiderea sesiunilor de lucru (de la terminalele din configuratie), nucleul UNIX va efectua mai multe operatii.

Prima actiune a nucleului consta in initializarea unor structuri de date proprii montate sistemului de fisiere root in catalogul radacina/, iar apoi construirea procesului 0 (scheduler pentru sistemele cu paginare, swapper pentru sistemele de evacuare). Procesul 0 este o imagine incompleta de proces, deoarece el contine numai o zona de date utilizata de nucleu.

Dupa crearea procesului 0, nucleul procesului 1, numit init. Acesta va fi parintele oricarui proces aparut ulterior in sistem.

Procesul init se executa la inceput, in mod nucleu. El initializeaza structurile de date proprii si copiaza din spatiul de adresa al nucleului un cod care contine apelul directivei exec (pentru executia programelor) cu parametrul/etc/init. Apoi procesul 1 trece in mod utilizator si este programat de catre planificator, devenind primul proces complet din sistem. Procesul init citeste fisierul/etc/inittab pentru a decide asupra proceselor ce vor fi create si fisierul/etc/rc pentru a lansa in executie procesele sistem care ruleaza in memorie pe durata intregii functionari, numite procese background (sau demoni).

1.5. Concluzii

Un sistem de operare are rolul de a gestiona resursele sistemului de calcul. In functie de tipul, generatia sistemului de calcul, au fost propuse diverse tipuri de sisteme de operare. Prelucrarea pe loturi (batch) reprezinta o prima incercare de gestiune a resurselor unui sistem de calcul. Acest mod de prelucrare conduce la o utilizare ineficienta a memoriei, un singur program fiind prezent in memorie la un moment dat. Aparitia conceptului de multiprogramare a condus la cresterea randamentului sistemului de calcul prin:

existenta mai multor programe in memoria principala;

existenta unui mecanism de trecere de la un program la altul;

existenta unui mecanism de protectie intre programe si

existenta unui mecanism pentru gestiunea resurselor fizice, logice si informationale solicitate de programele in executie.

Pentru ca programele sa poata comunica intre ele si mai multi utilizatori sa utilizeze sistemul de calcul, in speranta acoperii complete a procesorului, au fost introduse conceptele de multitasking si time-sharing. Pentru luarea in considerare a aspectelor dinamice din sistemul de calcul, a fost introdus conceptul de proces (program in executie) care pe toata durata sa de viata, se poate afla in diverse stari.

Sistemul de operare UNIX este un sistem multiutilizator, multitasking si time-sharing care permite atat utilizarea la maxim a procesorului cat si o multitudine de servicii pentru utilizatori. Unul din conceptele fundamentale ale sistemului UNIX este procesul. Un proces poate crea procese fiu asupra carora poate interveni in timpul executiei. Tratarea proceselor este secventiala. Este considerat cel mai puternic si cel mai stabil sistem de operare existent .

Sistemele de calcul multiprocesor si multicalculator utilizeaza sisteme de operare mult mai complexe. In acest caz procesele sunt executate in paralel. Sistemul de operare trebuie sa aloce resursele astfel incat sa fie evitata blocarea definitiva a proceselor.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 3126
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved