Document, comentariu, eseu, bacalaureat, liceu si facultate
Top documenteAdmitereTesteUtileContact
      
    


 


Ultimele referate adaugate

Adauga referat - poti sa ne ajuti cu un referat?

Politica de confidentialitate



Ultimele referate descarcare de pe site
  CREDITUL IPOTECAR PENTRU INVESTITII IMOBILIARE (economie)
  Comertul cu amanuntul (economie)
  IDENTIFICAREA CRIMINALISTICA (drept)
  Mecanismul motor, Biela, organe mobile proiect (diverse)
  O scrisoare pierduta (romana)
  O scrisoare pierduta (romana)
  Ion DRUTA (romana)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  Starea civila (geografie)
 

Ultimele referate cautate in site
   domnisoara hus
   legume
    istoria unui galban
   metanol
   recapitulare
   profitul
   caract
   comentariu liric
   radiolocatia
   praslea cel voinic si merele da aur
 
despre:
 
SISTEMUL DE OPERARE
Colt dreapta
Vizite: ? Nota: ? Ce reprezinta? Intrebari si raspunsuri
 
z7k9kl

I Introducere
1. Ce este un sistem de operare?
------------------------------- Definitie generala: un SO este un program (sau un pachet de programe) care, impreuna, actioneaza ca o interfata intre hardware si aplicatii.
Scopul sistemului de operare este:
- a oferi utilizatorilor posibilitatea de a executa programe
- a transforma un calculator, care are o structura complexa si extrem de dificil de inteles, intr-un mediu simplu de folosit si eficient.
Un sistem de calcul este, in linii mari, impartit in:
- Hardware
- Sistemul de operare
- Aplicatii
- Utilizatori
Schema nr. 1 (aSili pag. 4)
Tipuri de resurse hardware:
- CPU
- Memorie
- Dispozitive de intrare-iesire (I/O devices)
Resursele hardware, indispensabile unui sistem de calcul, sunt totusi lipsite de valoare in conditiile in care nu pot fi folosite in mod eficient. Din acest motiv, inca de la inceputurile dezvoltarii informaticii, s-a pus un accent deosebit pe conceperea de sisteme de operare mai eficiente si mai usor de folosit, care sa permita, in continuare, rularea de aplicatii din cele mai diverse.
Se observa deci ca un sistem de operare nu este un scop in sine, el doar faciliteaza executia altor componente. Din acest punct de vedere, un SO poate fi comparat cu activitatea unui guvern; desi un guvern nu produce, in sine, un rezultat palpabil, fara el alte activitati ar fi imposibil sa se desfasoare in bune conditii. De asemenea, in mare masura performantele unui sistem de calcul sunt direct determinate de eficienta si stabilitatea SO utilizat.
Exista cel putin doua perspective din care un SO poate fi abordat:
1. Ca si entitate de gestiune a resurselor. Din acest punct de vedere, SO va aloca resursele fiecarui program care le solicita.
2. Ca si entitate de control al executiei celorlalte programe (Ministerul de
Interne). In aceasta ipostaza, se incearca "disciplinarea" programelor care incearca sa acceseze dispozitivele de intrare-iesire.



In general, este dificil sa se ofere o definitie cuprinzatoare si lipsita de echivoc a unui sistem de operare. In general, literatura de specialitate are opinii diverse, de multe ori contradictorii asupra apartenentei unui program la sistemul de operare sau catalogarea lui ca aplicatie.
In anumite situatii se considera ca facand parte din sistemul de operare toate componentele care sunt instalate in mod uzual pe un sistem, la livrarea acestuia. Trebuie sa tinem cont, totusi, ca in astfel de situatii exista multe programe care nu au legatura directa cu sistemul de operare ca simpla interfata: editoare de texte, utilitare de manipulare a fisierelor (arhivare, recuperare a datelor de pe disc etc).
Sistemul de operare poate fi definit si ca acel program care este tot timpul incarcat in memoria calcualtorului si ruleaza non-stop. Un astfel de program este in mod uzual denumit nucleu (kernel). O astfel de definitie este totusi restrictiva; in anumite SO exista componente care pot fi incarcate in kernel in mod dinamic; exista si programe care nu sunt incarcate tot timpul in memorie, si care indeplinesc anumite functii ale sistemului de operare (ca si interfata intre aplicatii si hardware).
Din acest motiv, vom pune accentul mai mult pe rolul unui SO si a functiilor indeplinite de acesta.
Cele doua cerinte adresate unui SO sunt:
- Simplitate in utilizare din punctul de vedere al utilizatorului obisnuit
- Eficienta in executia programelor
Aceste doua directii sunt, in general, imposibil de atins in acelasi timp. Din acest motiv, istoria calculatoarelor este bogata in exemple de conflicte intre diferite sisteme de operare, cu trasaturi predominante intr-una din clasele descrise mai sus.
O modalitate simpla de a observa care sunt functiile pe care un SO trebuie sa le indeplineasca este aceea a analizarii evolutiei istorice a sistemelor de calcul.
2. Scurta istorie a sistemelor de operare
-----------------------------------------
Initial, calculatoarele au fost construite din circuite fizice de dimensiuni mari (de exemplu intrerupatoare care stabileau continutul unei locatii de memorie). Ca urmare, un astfel de sistem era, fizic, foarte mare; costurile de producere erau extrem de mari, ca si specializarea necesara pentru a putea opera pe un astfel de computer. Programele erau introduse in computer folosind fie intrerupatoare, fie cartele sau benzi de hartie perforate, direct in formatul masina (ca instructiune). Datele se incarcau identic. Rularea unui program trebuia monitorizata pe seturi de becuri aflate in partea frontala a masinii. In final, datele de iesire se perforau din nou pe cartele, sau se trimiteau la o imprimanta.
Fiecare programator pe o astfel de masina trebuia sa invete sa o opereze, si sa rezerve un interval de timp, intr-un interval orar. Din aceste motive, alocarea timpului era extrem de dezavantajoasa: anumiti programatori puteau sa foloseasca doar 50% din timp computerul (in restul timpului acesta fiind nefolosit, deoarece un alt programator nu era disponibil). Alti programatori puteau sa nu isi termine jobul in intervalul pe care il rezervasera.
Cu timpul, odata cu dezvoltarea in paralel a HW si SW, a inceput sa fie evident ca multe din functiile gata facute trebuiau refolosite, pentru a se scadea timpul de lucru. In acest sens, au inceput sa se foloseasca bibliotecile de programe.
Controlul operatiilor de intrare/iesire a inceput sa fie facut de functii specializate, iar programatorii erau scutiti de a invata caracteristicile fiecarui dispozitiv. Au aparut astfel primele abstractizari ale dispozitivelor de intrare/iesire, care usurau accesul la resurse.
Au aparut, de asemenea, limbajele de programare, care au marit in mod semnificativ eficienta scrierii de programe. Dar pentru a putea folosi limbajele de programare, au aparut si compilatoarele si asambloarelor; folosirea unor astfel de programe a insemnat si o crestere a complexitatii unui sistem de calcul. Programele se incarcau, din nou, de pe cartele, dar compilatoarele si linkerele puteau fi incarcate de pe banda.
Timpul necesar pregatirii pentru lansare era mult prea mare, iar gradul de utilizare extrem de redus. S-a incercat rezolvarea acestei probleme angajand operatori care sa poata face operatiile de salvare/incarcare pe/de pe banda mai rapide. Pe de alta parte, un operator prezent tot timpul langa calculator putea reduce timpii de nefolosire; in cazul terminarii unui job, el putea salva rezultatele (pe banda sau cartele) si apoi sa incarce un nou job, lasat intr-o coada.
Aceasta metoda a crescut in oarecare masura eficienta, dar a si generat probleme. In primul rand, operatorul trebuia sa salveze eventualele erori, pentru a le putea trimite programatorului. In al doilea rand, timpul de cand un programator isi aseza programul in coada si pana la aflarea rezultatelor (turnaround time) era insuportabil de mare.
Ca urmare, s-a incercat minimizarea timpului de pregatire a unui job. In acest sens, in cazul in care se executau mai multe operatii de compilare, operatorul putea sa faca intii toate compilarile si apoi sa continue activitatea cu alte operatii. Astfel, disparea timpul necesar incarcarii compilatorului in memorie.
Era, totusi, posibil ca operatorul sa nu observe ca un anumit job s-a incheiat. Din acest motiv, s-a incercat eliminarea factorului uman, prin introducerea unui manager de joburi automat. Pentru aceasta, s-a creat un program rezident de monitorizare, care se incarca la initializarea sistemului, si care trebuia sa asigure buna executie a joburilor. Acesta este un exemplu de sistem de operare rudimentar.
Totusi, nici aceasta solutie nu era lipsita de mari neajunsuri. Viteza dispozitivelor de intrare/iesire era de citeva ordine de marime mai mica decat cea a unitatii centrale; ca urmare, CPU nu era folosit decat in masuta extrem de mica. Trecerea anilor a adus o accelerare a dispozitivelor de I/O, dar in masura mai mare cresterea vitezei procesoarelor. Ca urmare, s-au cautat solutii pentru cresterea utilizarii CPU.
O prima solutie abordata a fost introducerea in paralel a datelor pe alte sisteme. In acest scop se foloseau sisteme ieftine, cu un sistem de operare simplist, care sa poata transfera de pe cartelele perforate pe unitatile de banda. Pe masura ce unitatile de banda se umpleau, erau trimise spre prelucrare calculatorului, care le procesa, scria rezultatele pe alta banda, iar aceasta din urma era apoi tiparita pe un alt sistem.
Prelucrarea off-line permite multiplexarea activitatii dispozitivelor de I/O si a CPU. Dezavantajul major al acestei metode este "turnaround time"-ul (timpul de la inceperea pina la terminarea executiei procesului). Deoarece este nevoie ca dispozitivul intermediar (in cazul nostru banda) sa astepte umplerea, dupa care procesarea trebuie facuta pentru o intreaga banda, un programator trebuia sa astepte mult timp pina la executia jobului sau.
Din acest motiv, s-a cautat o alta varianta pentru multiplexarea activitatilor in sistem.
Buffering
-------- In general, statistica este de mare folos in abordarea unor sisteme deterministe, cum sunt calculatoarele (reamintim ca arhitecturile von Neumann sunt deterministe). Constatarea facuta pe aceste baze a aratat doua fenomene:
- Daca este nevoie de o anumita resursa la un moment dat, este probabil ca un momentele urmatoare sa fie nevoie de resursa din imediata vecinatate (principiul localitatii spatiale)
- Daca este nevoie de o anumita resursa la un moment dat, este probabil ca, peste putin timp, sa fie nevoie de aceeasi resursa (principiul localitatii temporale)
Aceste observatii, relativ banale si inutile in era pre-informatica, au adus schimbari importante in gindire.
Pentru a mentine incarcate, in acelasi timp, si procesorul, si disp. I/O, s-a constat
Spooling
------- Simultaneous Peripheral Operation On-Line Multiprogramming
--------------- Time-sharing
------------

Colt dreapta
Creeaza cont
Comentarii:

Nu ai gasit ce cautai? Crezi ca ceva ne lipseste? Lasa-ti comentariul si incercam sa te ajutam.
Esti satisfacut de calitarea acestui document, eseu, cometariu? Apreciem aprecierile voastre.

Nume (obligatoriu):

Email (obligatoriu, nu va fi publicat):

Site URL (optional):


Comentariile tale: (NO HTML)


Noteaza documentul:
In prezent fisierul este notat cu: ? (media unui numar de ? de note primite).

2345678910

 
Copyright© 2005 - 2024 | Trimite document | Harta site | Adauga in favorite
Colt dreapta