Biologie | Chimie | Didactica | Fizica | Geografie | Informatica | |
Istorie | Literatura | Matematica | Psihologie |
La primele calculatoare programarea se facea in cod masina, cu instructiuni, daca nu si date, introduse prin chei de la panoul de comanda al calculatorului. In aceste conditii utilizarea unui calculator cerea cunostinte profesionale foarte bune din partea programatorului, care avea control complet asupra calculatorului. O prima imbunatatire apare prin conectarea la calculator a unor dispozitive periferice care sa faciliteze introducerea programelor si datelor si extragerea rezultatelor. In domeniul limbajelor apare conceptul de limbaj de asamblare si care devine un prim limbaj de sistem, precum si asamblorul care constituie embrionul unui S.O.
Programe utilitare : editor de legaturi si incarcatorul de programe.
Utilizarea calculatoarelor in aceste conditii implica efectuarea unui numar mare de operatii manuale, situatie rasturnata dupa introducerea benzilor si discurilor magnetice. Dupa 1950 este perioada in care numarul de calculatoare incepe sa creasca (UNIVAC si IBM). Utilizatorii acestor sisteme isi creeaza organizatii proprii si au intalniri la care discuta in primul rand reducerea operatiilor manuale si simplificarea operatiilor de introducere/extragere. In urma acestor discutii apare la firma General Motors primul S.O. numit I.O.S. (Input Output System). Exista o portiune rezidenta in memorie care continea rutinele pentru operatiile de I/O si ele se apelau din subrutine. Se facea salt la sfarsitul fiecarui program pentru ca o rutina incarcator din I.O.S. sa incarce in memorie urmatorul program. Apoi au aparut S.O.S. - IBM 709, mai perfectionat, includea si un asamblor si apoi sistemul FMS, tot la IBM.
Aparitia acestor sisteme a fost determinata de aparitia discurilor magnetice si a benzilor magnetice in sistemele de calcul. Apar sistemele T.O.S. si D.O.S. Apare dorinta de utilizare a puterii de calcul sporite a hardware-ului. Utilizatorii nu mai aveau acces direct la calculator, ci programele lor impreuna cu datele necesare pentru executie se colectau de catre un personal specializat si ele erau insotite si de cartele de comanda, prin care se specifica serviciile dorite de la sistem. Pentru aceasta se folosea J.C.L. - Job Control Language - conventia pentru serviciile dorite de la sistem.
Pachetele de cartele formau loturi care erau lansate in executie cand atingeau o anumita dimensiune. Lucrul in loturi permite sporirea gradului de utilizare a U.C. O crestere suplimentara a gradului de utilizare a U.C., dar si a celorlalte echipamente dintr-un sistem de calcul se obtin prin introducerea multiprogramarii (prezenta simultana in memoria operativa a unui sistem de calcul a mai multor programe utilizator). Atunci cand un program solicita o operatie periferica U.C. este data unui alt program din memorie.
Fig. 1.3-
Din punctul de vedere al utilizatorului sistemele cu prelucrare in loturi produc o separare a utilizatorului de sistemul de calcul si lungesc timpul dintre predarea (introducerea) unei lucrari in sistem si obtinerea rezultatelor.
Datorita introducerii in sistemele de calcul a unor echipamente numite terminale, a fost posibila dezvoltarea unor sisteme cu divizarea timpului. Terminalul permite introducerea informatiilor in sistem (de ex. prin tastatura), precum si extragerea rezultatelor (prin mecanisme de imprimare pe hartie, echipament cu tub catodic).
Folosind acest sistem este posibil ca mai multi utilizatori sa aiba acces simultan direct la resursele calculatorului.
Fig. 1.3-
Timpul UC este acum distribuit intre terminale active in cantitati egale numite cuante. Toate programele active la un moment dat pot progresa. Ordinul de marime al unei cuante era de 100 ms. Nu toate programele active la un moment dat au loc in memoria operativa. De aceea, in astfel de sisteme se utilizeaza si un mecanism (algoritm) special pentru gestionarea memoriei numit swapping. Aceasta inseamna ca atunci cand UC este luata de la un program activ in acel moment si cedata la alt program, daca programul care primeste controlul nu este prezent in memorie, el va fi transferat in memorie in locul unui program care a pierdut dreptul de utilizare a UC. Acesta este transferat in memoria externa in starea in care e la momentul respectiv (programele isi schimba locul).
De regula insa algoritmul de swapping este combinat cu multiprogramarea rezultand o crestere a gradului de utilizare a memoriei si a UC.
Exemple :
OS/360 - sistem de operare cu multiprogramare, scris in 1965 pentru IBM 360.
CTSS - sistem de operare cu divizarea timpului (Compatible Time Sharing System) pentru IBM 7094 (generatia a II-a) scris la MIT.
TSS - Time Sharing System scris de IBM.
TSO - varianta a lui OS/360 care permite si o optiune de divizare a timpului.
MULTICS
proiect realizat la MIT
S.O. bazat pe calculatorul GE635 (General Electric)
alte concepte exploatate :
memorie virtuala segmentata
ierarhie de fisiere
redirectarea operatiilor de I/E
acces protejat la resurse
interfata extinsa cu utilizatorul
ideea de baza : puterea de calcul sa se transforme in utilitate publica
Exemple :
Atlas - 1961 - conceptul de memorie cu un singur nivel
IBM 370 :
OS/MVS - Multiple Virtual Space
OS/VM - Virtual Machine - face posibila rularea simultana a mai multor S.O.
Minicalculatoarele erau sisteme de calcul cu performante mai modeste dar cu un pret redus, acest pret largind categoria potentialilor cumparatori. Firma care a produs cele mai multe sisteme de acest fel este DEC iar calculatorul produs se numeste PDP (PDP 7, PDP 8).
Dupa 1970 apare PDP-11 care a avut o foarte mare raspandire. Asemenea calculatoare au fost construite si la noi : CORAL, Independent. Pentru PDP-11 primul S.O. oferit a fost RT11 (Real Time 11). RT11 este un sistem cu divizarea timpului. Pe modele mai perfectionate ale lui PDP-11 sau utilizat S.O. RSX-11 (avea un sistem de gestionare a fisierelor mai performant precum si un set extins de comenzi si programe utilitare).
Tot firma DEC a dezvoltat ulterior o alta familie de calculatoare VAX-11. Pentru aceste sisteme s-a folosit S.O. VMS (Virtual Memory System).
Alt S.O. dezvoltat pentru minicalculatoare este UNIX, care a fost scris de Thompson 1968-1969, de la Bell Labs (AT&T). Acest sistem a fost inspirat din sistemul de operare MULTICS. Ca si particularitati contine mecanisme pentru comunicare intre procese, sistem de fisiere ierarhic si limbaj de comanda deosebit de flexibil. Sistemul a fost rescris pentru PDP-11 de Thompson si Ritchie, pentru aceasta folosindu-se limbajul C. In acest fel UNIX a devenit primul S.O. scris in buna masura in limbaj de nivel inalt, deoarece pana atunci toate S.O. erau scrise in limbaj de asamblare. Aceasta face ca sistemul sa fie usor portabil si s-a realizat implementarea lui si pe alte tipuri de calculatoare.
Azi UNIX este disponibil pe toate tipurile de calculatoare. Pentru standardizarea sistemului exista un institut numit POSIX.
In 1971 Intel a produs primul microprocesor pe 4 biti : 4004. Pentru 8080 a fost scris S.O. CP/M (Digital Research), care era simplu, monoutilizator si avea un set redus de comenzi.
Aparitia microprocesoarelor pe 16 biti duce la aparitia calculatoarelor personale : 8086 (8088), Motorola 6800.
Pentru familia 8086 apare MS-DOS, scris de Microsoft. Acest sistem imprumuta elemente de la UNIX dar este monoutilizator si monoprocesor.
La aparitia mP 80286, IBM a introdus familia PS/2, pentru care a elaborat S.O. OS/2. Baza de aplicatii a lui OS/2 este mai redusa decat aceea pentru MS-DOS si astfel este folosit mai putin.
Microprocesoarele incepand cu 80386 sunt deja suficient de puternice pentru folosirea S.O. UNIX.
Pe langa calculatoarele personale se raspandesc statiile de lucru (workstation), care au putere de lucru mare, bazate pe procesoare RISC.
Retelele de calculatoare inseamna integrarea sistemelor de calcul cu sisteme de comunicatie. Ideea comunicatiei intre calculatoare a fost realizata pentru prima data in sistemul ARPANET, finantata de o agentie numita DARPA (Defence Advanced Research Project Agency). Fiecare dintre calculatoarele conectate avea sistemul propriu de operare, iar operatiile dintre calculatoare erau privite ca operatii periferice.
Realizarea retelelor a impus modificari in software si hardware. Odata cu raspandirea sistemelor s-a pus problema sistemelor de operare de retea. Acest deziderat s-a putut realiza atunci cand s-au raspandit calculatoarele interconectate local (LAN - Local Area Networks), astfel aparand MAN (Metropolitan Area Networks) si WAN (Wide Area Networks).
Exista si incercari de realizare a unor S.O. care trateaza toate resursele dintr-o retea ca facand parte dintr-un sistem unic, deci nu mai lasa vizibila utilizarea topologiei de retea. Acestea se numesc S.O. distribuite.
Cateva dintre tendintele actuale ar fi : dezvoltarea retelelor de calculatoare, realizarea unor sisteme cu paralelism masiv, interconectarea stransa a sute sau mii mP.
Includerea in S.O. a elementelor de gestionare pentru paralelism masiv este considerata o sarcina dificila. Va fi deasemenea dificil sa se dezvolte limbaje de programare si compilatoare pentru astfel de sisteme.
O alta tendinta este realizarea unor interfete cu utilizatorul cat mai evoluate, in special integrarea si interpretarea a cat mai multor medii de comunicare (text, grafic, voce, imagine ) adica o tendinta spre sisteme multimedia.
Deasemenea o tendinta este orientarea spre sisteme deschise, sisteme ale caror specificatii sunt facute publice si sunt standardizate. Astfel se pot realiza implementari diferite dar care sa respecte specificarile standardizate. Aceasta va permite portabilitatea aplicatiilor si chiar a S.O.
Copyright © 2024 - Toate drepturile rezervate