Sunteți pe pagina 1din 7

Sisteme de operare

Curs 1

Curs 1. Definiie. Scurt istoric


Logic 1: 10 studenti au rspuns la 5 ntrebri cu rspuns multiplu (A, B, C, D sau E) i la 5 ntrebri logice (cu rspuns T sau F). Nu sunt doi studeni care au rspuns corect la acelai numr de ntrebri. Care student a raspuns corect la toate ntrebrile ? Chestionarul de rspunsuri este urmtorul: Student P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 a CCBDDTFFFF b ACDEAFTFFF c ABECBTFTTT d CDAEBTFFFF e CCEDAFTFFF f CEACEFFTTT g ABACETFFTT h BBDCATFFFF i EECCBTTTTT j ABCCDFFFTT Bibliografie curs (principalele titluri): 1. Andrew S. Tanenbaum Modern Operating Systems, Prentice Hall, 2001 2. William Stallings Operating Systems. Internals and Design Principles, Prentice hall 2005; 3. Abraham Silberschatz, Peter Galvin, Greg Gagne Operating System Concepts, John Wiley & Sons, 2005; 4. Daniel Bovet, M. Cesati Understanding the Linux Kernel, OReilly, 2003 1.1 Definiii Exist mai multe posibiliti pentru definirea unui sistem de operare. Tanenbaum propune definirea sistemelor de operare din dou puncte de vedere: cel al sistemului de operare ca administrator de resurse respectiv cel de extensie funcional a calculatorului. Silberschatz propune o definire a sistemelor de operare din punct de vedere al utilizatorului respectiv al calculatorului. Astfel, din punctul de vedere al utilizatorului, un sistem de operare constituie o unealt ct mai simplu de utilizat pornind de la nite performane minimale n cazul calculatoarelor personale n timp ce n cazul staiilor de tip mainframe, accesate de mai muli utilizatori la un moment dat, un sistem de operare este vzut n principal ca un maximizator i gestionar al utilizrii resurselor. Din punct de vedere al Pagina 1

Sisteme de operare

Curs 1

calculatorului, dac putem privi lucrurile i din aceast perspectiv, un sistem de operare este vzut ca un gestionar de resurse. Burgess definete un sistem de operare ca fiind un nivel al software-ului care trateaz aspectele tehnice n timpul unei operri a unui calculator. Sistemul de operare funcioneaz n acest caz ca o protecie a utilizatorului vizavi de operaiunile calculatorului de pe nivelul de jos. Stallings definete sistemul de operare ca fiind o aplicaie care controleaz execuia celorlalte programe i acioneaz ca o interfa ntre utilizator i resursele hardware ale calculatorului. Tot el definete i obiectivele unui sistem de operare ca fiind: - uurin n utilizare sau convenabilitatea- se refer la faptul c faciliteaz o utilizare mai uoar a calculatorului; - eficien permite o utilizare mai eficient a resurselor calculatorului; - abilitate de a evolua un sistem de operare trebuie s fie astfel construit nct s permit o dezvoltare, testare i introducere de noi funcii sistem; In figura 1.1. am reprezentat structura ierarhizat a unui sistem de calcul:

Figura 1.1. Structura ierarhizat a unui sistem de calcul Practic, utilizatorul nu are legtura cu arhitectura calculatorului dect prin intermediul anumitor straturi. De fapt vedem calculatorul prin intermediul unei aplicaii. Aplicaia este dezvoltat de un programator ntr-un anumit limbaj de programare. Pentru dezvoltarea acestor programe trebuie s avem la dispoziie un set de utilitare: compilatoare, editoare de text, interpretoare. Ultimele 2 nivele constituie de fapt nivelul hardware, urmtoarele 2 l constituie nivelul sistemului de operare. Acesta include i un set de utilitare. Pe lng acestea pot fi instalate i alte utilitare pe sistem. Sistemul de operare acioneaz ca un mediator ntre programator respectiv aplicaie i resursele sistemului. Pagina 2

Sisteme de operare

Curs 1

Sistemele de operare asigur urmtoarele servicii: - dezvoltarea programelor: sunt oferite o varietate de faciliti legate de editoare sau depanatoare de programe pentru asistarea programatorului n munca sa. In mod normal acestea apar ca programe utilitare, deci nu fac parte din sistemul de operare dar sunt accesibile prin intermediul acestuia; - execuia programelor: pentru execuia programelor trebuie s fie realizate o serie de taskuri: datele i instruciunile trebuie ncrcate n memorie, dispozitivele de I/O trebuie iniializate, trebuie pregtite o serie de resurse. Sistemul de operare le ndeplinete pe toate acestea; - asigur access la dispozitivele de I/O: sistemele de operare fac astfel ca programatorul s poat lucra direct cu dispozitivele de I/O, prin intermediul funciilor de read sau write, fr a fi nevoit s le programeze n detaliu; - acces controlat la fiiere: n cazul mai multor utilizatori poate asigura un acces separat n funcie de drepturile pe care le au asupra fiierelor; pe lng faptul c reprezint dispozitive de I/O trebuie avut n vedere i formatul acestora; - accesul la sistem: n cazul unui sistem partajat, sistemul de operare trebuie s asigure accesul difereniat la resurse, protejarea acestora de un acces neautorizat; O mulime de erori pot aparea n timpul rulrii unui program pe un calculator. Acestea includ erorile de hardware cum ar fi cea de memorie sau de cdere a unui dispozitiv sau cele de software i aici putem face referire la eroarea de overflow sau la imposibilitatea sistemului de operare de a satisface o cerere a unei aplicaii. Rspunsul sistemului poate varia de la a nchide programul care produce eroarea la o simpl notificare a acesteia. Un calculator reprezint un set de resurse pentru manevrarea, depozitarea i procesarea datelor precum i pentru controlul acestor funcii. Sistemul de operare este responsabil pentru managementul resurselor. Sistemul de operare se ocup i de controlul acestor operaii cu 2 observaii: funcioneaz ca i un software obinuit, un program executat de procesor; de multe ori pierde controlul i depinde de procesor pentru a-l reprimi. Ca i alte programe de calculator i sistemul de operare furnizeaz instruciuni pentru procesor cu deosebirea c direcioneaz procesorul pentru utilizarea altor resurse i executarea altor programe. In figura 1.2 sunt reprezentate principalele resurse conduse de ctre un sistem de operare. Astfel, o parte a sistemului de operare se afl n memoria principal. Aceasta include kernelul sau nucleul care conine funciile cele mai utilizate. Restul memoriei principale conine date i programe. Aceasta este controlat de ctre sistemul de operare i hardware-ul aferent managementului memoriei (paginare, segmentare etc). Procesorul n sine este o resurs i sistemul de operare decide ct din timpul acestuia i este alocat unui anume program. In cazul sistemelor multiprocesor decizia trebuie luat cu privire la toate procesoarele. Nu n ultimul rnd, sistemul de operare decide cnd un program aflat n execuie poate avea control asupra unui dispozitiv de I/O.

Pagina

Sisteme de operare

Curs 1

Figura 1.2. Principalele resurse conduse de catre un sistem de operare Unul dintre dispozitivele de I/O este hard discul. In acest caz putem avea o partiionare a acestuia ca i n cazul memoriei principale: sistemul de operare deine o partiie mai mic iar aplicaiile i datele pot acoperi restul mediului de stocare. Un sistem de operare este necesar s evolueze in timp din urmtoarele motive: noi tipuri de hardware sau upgrade la cele existente: n cazul UNIX sau OS/2 nu era folosit mecanismul paginrii deoarece harware-ul nu avea nevoie de acest lucru. Un alt exemplu este cel dat de ctre folosirea mai multor ferestre de lucru (n sisteme gen Windows), lucru care a dus la un suport mai sofisticat pe partea de sistem de operare; noi servicii care trebuie asigurate: datorit cererii formulate de ctre utilizatori sau de ctre administratorii de sistem, sistemul de operare va trebui s ofere tot timpul servicii noi; variante mbuntite funcional: de-a lungul timpului apar o serie de probleme n funcionare, probleme care nu au fost eliminate la testarea unui nou sistem (sau a unei variante mbuntite a acestuia). Evident c acestea vor fi eliminate pe msur ce apar. 1.2 Istoric Pentru a nelege mai bine cum funcioneaz sistemele de operare este util o prezentare a evoluiei acestora n timp. Momentul 0 poate fi numit motorul analitic construit de Charles Babbage n sec. XIX. Avnd n vedere c era o construcie pur mecanic, nu avea cum s funcioneze. Pn la mijlocul secolului XX nu mai putem consemna alte ncercri n ceea ce privete construirea unui sistem de calcul. In perioada celui de al doilea rzboi mondial, diverse colective de cercettori din Germania dar mai ales din USA au construit maini de calcul pornind de la releee mecanice nlocuite apoi de tuburi cu vid, odat cu apariia acestora. Persoanele care se ocupau de aceste maini de calcul fceau toate joburile: designer de sistem, programator, Pagina 4

Sisteme de operare

Curs 1

service. Programarea consta n realizarea unei plci de conexiuni. Apariia cartelelor perforate dup anii 50 a schimbat doar modul de programare, acestea nlocuind plcile de conexiune. Primele sisteme de operare au avut o procesare serial. Programatorul interaciona direct cu hardware-ul neexistnd practic un sistem de operare. Aceste calculatoare funcionau prin intermediul unei console, informaia era introdus cu ajutorul unui dispozitiv (de genul celor pentru cartele de ex.) i era afiat la o imprimant. Problemele care apreau era cele legate de mprirea timpului de acces deoarece un utilizator avea la dispoziie o anumit durat pentru rezolvarea unei probleme, dac o rezolva mai repede se pierdea restul de timp iar dac depea timpul alocat era forat s se opreasc nainte de a rezolva problema, i respectiv de timpul irosit cu pregtirea rulrii, timp dat de ncrcarea programului surs, a compilatorului, compilarea acestuia i salvarea n memorie a programului compilat,rencrcarea acestuia, dup care era executat. Toate aceste operaiuni nsemnau montarea sau demontarea unor dispozitive iar dac aprea o eroare totul era reluat de la capt. Introducerea tranzistorului n anii 55 a contribuit la dezvoltarea sistemelor de calcul. Apar i specializrile n ceea ce privete personalul care se ocupa de calculatoare. Apar i primele limbaje de programare cum ar fi cel de asamblare sau Fortran. Pentru a fi evitai timpii de ateptare foarte mari datorai lucrului cu dispozitivele periferice, perioade n care procesoarele nu aveau de lucru, au fost introduse sistemele cu prelucrare n loturi. Un sistem cu prelucrare in loturi pornea de la existena n spatele su a unui program de tip monitor. Prin utilizarea acestuia, utilizatorul nu mai intra n contact direct cu sistemul. Utilizatorii introduceau joburile prin carduri sau band iar acestea erau puse mpreun la dispozitivul de intrare al monitorului. Fiecare program reda controlul monitorului la terminarea sa astfel ca monitorul s poat procesa un nou job. Pentru a vedea mai bine cum funciona totul ne putem inchipui 2 puncte de vedere: cel al monitorului si cel al procesorului. O parte a monitorului trebuia s se afle n memoria principal, gata de execuie. Aveam astfel un program de tip monitor rezident n memoria sistemului. Restul de utilitare i alte funcii erau incarcate n memoria principala odat cu programele. Monitorul citea una cte una joburile de la cititorul de cartele sau de band. Pe msur ce un job era accesat de ctre programul monitor, acesta trecea la realizarea lui dup care se pregatea pentru preluarea jobului urmator. Rezultatele erau afiate pentru informarea utilizatorului. Din punct de vedere al procesorului, la un anumit moment de timp, acesta executa instruciuni din zona de memorie corespunztoare programului monitor. Acestea cauzeaza citirea unui nou job n alt poriune din memoria principal. O dat ce a fost citit noul job, procesorul va intlni n monitor o instructiune care i spune s proceseze acest nou job. Procesorul va executa instruciunile din programul utilizator pn la terminarea acestuia sau pn la ntlnirea unei erori. Limbajul de control al joburilor era utilizat pentru furnizarea de instruciuni pentru programul monitor. Era vorba de exemplu despre ce compilator trebuie utilizat respectiv despre ce tip de date va fi manipulat. Practic am observat c monitorul este un simplu program de calculator. Este abilitatea procesorului de a aduce instruciuni din diferite zone ale memoriei. Sunt dezirabile alte caracteristici hardware cum ar fi:

Pagina

Sisteme de operare

Curs 1

protejarea memoriei: in timpul executiei programului monitor trebuie evitata alterarea locaiilor de memorie care conin programul monitor; n caz contrar, hardware-ul trebuie s detecteze acest lucru i s transfere controlul programului monitor; timer: un timer este folosit pentru a evita monopolizarea procesorului de ctre un singur job; instruciuni privilegiate: cteva instruciuni sunt considerate privilegiate i trebuie luate n considerare doar de ctre monitor. Dac procesorul ntlnete astfel de instruciuni la executarea unui program utilizator trebuie s-i ntrerup execuia i s genereze o ntrerupere. In cazul n care un program utilizator vrea s execute o operaie de citire sau scriere la un dispozitiv de I/O trebuie s se adreseze procesorului; ntreruperi: modelele mai vechi nu aveau prevzute ntreruperi dar duc la creterea flexibilitii monitorului. Urmtorul pas n evoluia calculatoarelor i implicit al sistemelor de operare l-a constituit apariia circuitelor integrate. Odat cu evoluia sistemelor de operare au aprut conceptele de multiprogramare sau multitasking. Primul sistem de operare care a ncercat s trateze problemele at n cazul sistemelor mari de calcul ct i a calculatoarelor mai puin performante a fost 360/OS. Cu toate ca multiprogramarea este eficient, este nevoie de obinerea unui mod de lucru pentru o interaciune mai bun a utilizatorului cu calculatorul. Din acest motiv a fost necesar apariia sistemelor cu time-sharing (timp distribuit). In aceste cazuri timpul procesorului este distribuit ntre mai muli utilizatori. In astfel de sisteme mai muli utilizatori acceseaz sistemul prin intermediul mai multor terminale. Diferenele ntre cele 2 sisteme prezentate constau n faptul c obiectivul principal l const maximizarea timpului de utilizare al procesorului pentru sistemele de multiprogramare n loturi i minimizarea timpului de rspuns pentru cele cu time-sharing. In ceea ce privete modul de obinere al instruciunilor de ctre sistemul de operare, n primul caz apare limbajul de control al joburilor iar n cel de al doilea sunt introduse comenzi de la terminal. n partea a doua a anilor 80 microcalculatoarele cunosc o dezvoltare extraordinar. Se disting 2 evoluii principale n ceea ce privete sistemele de operare. Pornind de la sistemul de operare DOS, pe care l achiziioneaz de la firma care l-a dezvoltat, Bill Gates dezvolt MSDOS, sistem de operare distribuit mpreun cu calculatoarele IBM. Inspirndu-se probabil din interfaa Apple Macintosh, Microsoft scoate o interfat Windows 3.1 pentru sistemul de operare DOS iar apoi Windows 95 care vroia s fie un sistem de operare chiar dac pornea din MS-DOS. Modificri uoare au condus la Windows 98. Un sistem de operare care lucra pe 32 de bii a fost Windows NT, cu versiunea ulterioar denumit comercial Windows 2000. Evoluiile ulterioare au nsemnat Windows XP respectiv recent, Vista. Cealalt abordare are ca punct de pornire sistemul de operare Multics i are ca rezultat UNIX. Datorit faputlui c era disponibil codul acestuia, unele companii i-au dezvoltat propriile versiuni fiind necesar astfel apariia unui standard, i anume POSIX. Linus Torvalds va porni de la o variant redus de UNIX i va scrie ceea ce va deveni Linux. Diferite

Pagina

Sisteme de operare

Curs 1

distribuii de Linux au evoluat i sunt prezente pe pia ca o alternativ la produsele oferite de Microsoft.

Pagina

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