Istoria sistemelor de operare

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Istoria sistemelor de operare descrie evoluția de-a lungul perioadei de dezvoltare a computerelor electronice , dezvoltându-se în paralel cu istoria computerului și, mai general, istoria calculelor .

Clasificare

Istoria sistemelor de operare poate fi împărțită în diverse generații, fiecare dintre acestea fiind alcătuită din specimene din ce în ce mai avansate, fiabile și mai rapide decât cele din generația anterioară. Generațiile pot fi rezumate după cum urmează:

  • prima generație - supape și pini, fără sistem de operare;
  • a doua generație - tranzistoare și sisteme discontinue ;
  • a treia generație - circuite integrate și multiprogramare;
  • a patra generație - dezvoltarea rețelelor și apariția computerului personal .

A doua perioadă postbelică

Pictogramă lupă mgx2.svg Același subiect în detaliu: Supapa termionică .

Într-o perioadă definibilă între 1945 și 1955 , computerele electronice erau grupuri de tuburi termionice , ocupau încăperi întregi, erau foarte lente și atât de scumpe încât numai marile centre de calcul sau universități sau suverani deosebit de bogați își puteau permite. Mai mult, aceste computere nu erau foarte fiabile, deoarece supapele care le făceau se rupeau adesea. În această perioadă, conceptul de sistem de operare nu exista încă; de fapt programul de executat a fost inserat la fiecare execuție în cod binar prin intermediul cititoarelor primitive de cărți perforate și după câteva ore rezultatul a fost trimis la o imprimantă. Programul trebuia să conțină toate instrucțiunile necesare, inclusiv, de exemplu, operațiunile individuale de intrare / ieșire pe dispozitive fizice: aceste proceduri de nivel scăzut trebuiau raportate identice în toate programele, spre deosebire de sistemele actuale, unde sistemul de operare este cel care implementează, iar în programe este necesar doar să le apelați.

Anii 1950 și 1960

Pictogramă lupă mgx2.svg Același subiect în detaliu: tranzistoare , acces direct la memorie și spool .

Între 1955 și 1965 , grație invenției revoluționare a tranzistorului, procesoarele (numite mainframe ) au devenit suficient de fiabile pentru a fi construite și vândute în serie, chiar dacă erau încă mașini mari și foarte scumpe, atât de mult încât singurii cumpărători posibili au fost încă o dată centrele de calcul, universitățile și băncile.

Pentru a executa programe (sau așa cum se numeau acestea, joburi ), un programator trebuia să-și scrie programul pe hârtie, să-l transfere pe carduri, să îl încarce în computer, să aștepte finalizarea execuției și să fie imprimat rezultatul. Această operație a fost foarte costisitoare din punct de vedere al timpului și nu a permis exploatarea procesorului mașinii în timpul fazelor lungi de încărcare a datelor și programelor: de fapt, tehnologia accesului direct la memorie ( DMA ) nu a fost încă introdusă în timpul intrării faze. / ieșire procesorul a fost utilizat în totalitate pentru controlul acestor operațiuni. Acesta este motivul pentru care am adoptat lotul de soluții de sistem (Batch): ideea de bază a fost împărțirea celor trei mașini separate pe operațiunile de încărcare a datelor, calculul real și imprimarea. Calculul a fost încredințat unui computer central scump, cum ar fi IBM 7094, în timp ce computerele prin satelit utilizate pentru celelalte două operațiuni erau mașini mai ieftine, cum ar fi IBM 1401 .

Sistemul de operare al acestor mainfram-uri a trebuit să ofere câteva servicii simple: gestionarea intrărilor / ieșirilor, interpretarea comenzilor conținute în cardurile de control și pilotarea execuției programelor, atât cele lansate de utilizator, cât și utilitățile sistemului. Sistemele de operare tipice pentru aceste computere, majoritatea programate în Fortran și Assembly au fost Fortran Monitor System (FMS) și IBSYS .

Anii 60 și 70

De la începutul anilor 1960, conceptul de dispozitiv virtual și abstractizare a început să apară. Înainte de aceasta, un programator care dorea să controleze o imprimantă, de exemplu, trebuia să cunoască, în cele mai mici detalii, funcționarea la nivel scăzut a perifericului, începând de la introducerea conceptului de periferic virtual, sistemul de operare ar fi acționat ca intermediar între utilizator și periferic. În același timp, sistemele de operare au început să accepte DMA și Spool .

DMA ( Direct Memory Access ) este sistemul care vă permite să transferați blocuri întregi de date din memoria secundară în memoria principală într-un mod complet independent de procesor, care poate, între timp, să efectueze alte operații. Spool ( Operațiuni periferice simultane on-line ) este un sistem care vă permite să gestionați în mod eficient cozile de lucrări de imprimare.

Multiprogramare

Pictogramă lupă mgx2.svg Același subiect în detaliu: Multitasking .

În această perioadă, au fost introduse și „politici de comandare a locurilor de muncă ”. Au fost încărcate și executate secvențial, dar ordinea de execuție a programului a fost gestionată prin politici adecvate implementate în sistemul de operare. Suntem încă departe de ceea ce va fi schimbul de timp susținut de toate sistemele de operare moderne, cu toate acestea, germenul va lăsa loc implementării multiprogramării în următorii ani.

Sistemul IBM / 360

În aprilie 1964, IBM a introdus o familie de computere numită IBM System / 360 , prima realizare a unei distincții clare între arhitectura hardware și implementare . Toate computerele din suită, de la mașini mici la mainframe-uri mari, foloseau variante ale aceluiași sistem de operare , OS / 360 , care susținea atât calculul științific, cât și cel comercial. Cu toate acestea, această diversificare excesivă între diferite computere a făcut dificilă scrierea unui cod eficient care să îndeplinească toate cerințele conflictuale. Rezultatul a fost un sistem de operare imens și foarte complex, scris de mii de programatori. OS / 360 conținea sute de erori care necesitau mai multe revizuiri. Fiecare versiune nouă a corectat unele probleme, dar a introdus altele.

Un raport cuprinzător despre experiența cu OS / 360 este descris de Fred Brooks în eseul său despre ingineria software intitulat „ The Mythical Man-Month: Essays on Software Engineering ”. În acest și multe alte sisteme de operare ale vremii, multiprogramarea a fost implementată, ceea ce a făcut posibilă mai multe programe în memorie în același timp. Acest lucru a necesitat prezența unui hardware specializat pentru a proteja programele de interferențele reciproce. Atunci când un job în curs de desfășurare trebuia să efectueze o operație de I / O , sistemul de operare l-a suspendat și a executat un alt job în locul său. Când operațiunea I / O s-a încheiat, primul job a revenit gata de execuție și și-a așteptat rândul în așteptarea suspendării unuia dintre celelalte. Aceste sisteme au optimizat utilizarea resurselor disponibile, dar nu și dezvoltarea programelor, de fapt timpul dintre încărcarea programelor și disponibilitatea rezultatelor a fost adesea de câteva ore, astfel încât cea mai mică greșeală ar putea face ca programatorul să piardă mult timp.

Nașterea lui Unix

Pictogramă lupă mgx2.svg Același subiect în detaliu: Partajarea timpului .
Evoluția Unix .

Conceptul de partajare a timpului a existat încă din anii 1960 : fiecare utilizator are un dispozitiv de intrare (tastatura) și un dispozitiv de ieșire (un monitor sau un teletipator ) și are capacitatea de a trimite comenzi către sistemul de operare, obținând un răspuns imediat .. De fapt, în aceste sisteme cu partajare de timp, un program rămâne în funcțiune până când necesită o operație I / O sau ocupă CPU mai mult de un anumit interval de timp predeterminat (numit timp cuantic ).

În 1962 , primul sistem de partajare a timpului a fost creat la MIT pe un IBM 7094 : CTSS . În realitate, Multics a fost adevărata revoluție. A fost dezvoltat în comun de MIT , General Electric și Bell Laboratories și a fost capabil să susțină sute de utilizatori de timp . Realizarea, însă, a fost mult mai complexă decât se aștepta, atât de mult încât Laboratoarele Bell au abandonat proiectul. Cu toate acestea, Multics a introdus multe idei noi care au influențat foarte mult sistemele de operare ulterioare. În timp ce aceste supercomputere existau pe de o parte, pe de altă parte în aceiași ani a existat dezvoltarea mini-computerelor, dintre care un exponent important a fost PDP-1 din 1961, care a costat „doar” 120.000 USD (adică 5% din prețul unui IBM 7094) și care a avut un mare succes. Pentru aceste sisteme au fost proiectate sisteme de operare speciale, dintre care cel mai faimos a fost, fără îndoială, Unix .

Unix a fost proiectat începând cu 1969 de un grup de cercetători AT&T de la Bell Laboratories , inclusiv Ken Thompson (care a lucrat și la proiectul Multics), Dennis Ritchie și Douglas McIlroy . S-a inspirat considerabil de la tatăl Multics și, datorită muncii excelente a acestor oameni, a devenit un sistem foarte interactiv, fiabil și bogat în caracteristici, atât de mult încât, în variantele și evoluțiile sale, domină încă piața stațiilor de lucru . Din aceasta au fost făcute variante precum Berkeley Software Distribution (BSD) și sisteme de tip Unix, cum ar fi MINIX (utilizate în predare) și ulterior celebrul Linux dezvoltat de studentul finlandez Linus Torvalds . În prezent, sistemele de operare "* NIX" sunt conforme cu standardul POSIX (care standardizează interpretul de comandă și programul API), oferind o compatibilitate reciprocă de bază necesară pentru a nu întrerupe dezvoltarea lor.

Anii 80 și computerele personale

Pictogramă lupă mgx2.svg Același subiect în detaliu: computer personal .

Spre anii optzeci , datorită tehnologiei LSI ( integrare pe scară largă ), construcția cipurilor integrate a devenit masivă și a dus la reducerea prețurilor hardware , dând naștere erei computerului personal sau a computerului personal . Aceste mașini erau mici, ieftine și aveau performanțe similare cu cele ale computerelor mijlocii-mari de 10-20 de ani mai devreme. Primele modele au fost echipate cu sisteme de operare pentru un singur utilizator cu acces interactiv și suport pentru partajarea timpului . Cele mai importante dintre sistemele de operare pentru computere personale timpurii a fost de Cercetare Digital CP / M-80 pentru 8080 , 8085, și Z-80 de procesoare . S-a bazat pe sistemele de operare ale Digital Equipment Corporation, în special pe cele pentru arhitectura PDP-1. MS-DOS (sau PC DOS atunci când este furnizat de IBM ) se baza inițial pe CP / M-80 în sine.

Concurență între Microsoft și Apple

Steve Jobs se număra printre cei care credeau în ideea computerului personal . La acea vreme, era greu de imaginat ce putea face o persoană cu un computer acasă. În schimb, el și-a continuat drumul prin fondarea Apple Computer Inc. la 1 aprilie 1976 împreună cu Steve Wozniak și Ronald Wayne .

Jobs, după ce a văzut cu ușurință interfața de fereastră dezvoltată de Xerox Corporation cu câțiva ani mai devreme, a fost convins că viitorul computerului personal va fi legat de interfața grafică , astfel Apple a lansat în 1984 Mac OS primul sistem de operare pentru computerele personale. cu interfață grafică. Aceasta a fost o adevărată revoluție, atât de mult încât, în același an, s-ar naște X Window System în mediul Unix și pe 20 noiembrie 1985 Microsoft va comercializa Windows .

La început Windows nu era definibil ca sistem de operare: era mai degrabă o extensie a MS-DOS. Odată cu lansarea Windows 3.0 în 1990, Microsoft a intrat pe piață. Pe lângă performanțele mai mari pe care le-a garantat aplicațiilor în comparație cu versiunile anterioare, Windows 3.0 a oferit un mediu multitasking îmbunătățit în comparație cu versiunile anterioare ale MS-DOS, datorită introducerii suportului pentru memorie virtuală , devenind astfel un rival demn pentru Macintosh (care rulează Mac OS) de la Apple. Începând cu Windows 3.1 , a fost introdus suportul multimedia (îmbunătățit treptat în versiunile ulterioare), în timp ce odată cu introducerea Windows 95 , calculul a fost definitiv trecut de la calculul de 16 biți la 32 de biți .

Anii 90, apariția internetului și nașterea Linux

Pictogramă lupă mgx2.svg Același subiect în detaliu: Internet și Linux .

Alături de Microsoft și Apple, piața stațiilor de lucru și a computerelor mari era încă dominată de UNIX. Un fenomen interesant care a început să ia amploare la mijlocul anilor 1980 a fost dezvoltarea rețelelor de calculatoare , ceea ce a dus la creșterea incredibilă a internetului . Astfel s-au născut „sisteme de operare în rețea” și „sisteme de operare distribuite”.

Primele nu sunt altceva decât sisteme de operare normale la care se adaugă software pentru conectarea la mașini la distanță și, prin urmare, la resursele lor partajate, cum ar fi fișiere și imprimante. Acestea din urmă sunt sisteme de operare care rulează pe sisteme multiprocesor sau care trimit procese pentru a fi procesate către alte computere din rețea. Acestea sunt echipate cu politici speciale de planificare care permit alocarea eficientă a proceselor între procesoarele disponibile. În plus, sistemul de stocare (sistemul de fișiere ) este, de asemenea, unic, chiar dacă este distribuit de fapt între diferite noduri din rețea.

Exemple de prima clasă de sisteme de rețea sunt toate versiunile de Windows de la „ Windows for Workgroups 3.1 ” și „ NT ” în continuare, în timp ce UNIX și derivatele aparțin ambelor categorii, deoarece acceptă ambele tehnologii.

În 1991 Linus Torvalds a dezvoltat un kernel de tip Unix , capabil să ruleze pe platforma x86 . Astfel s-a născut Linux . Atunci când a fost combinat cu proiectul GNU al lui Richard Stallman , purtător de cuvânt al filozofiei software-ului liber , norocul GNU / Linux a început întrucât combinația a fost și este încă un sistem de operare eficient și fiabil.

Anii 2000

Din 2000, o mare varietate de sisteme de procesare de dimensiuni și performanțe cât mai disparate au fost introduse pe piață la costuri reduse; acest lucru permite o difuzie omniprezentă a computerelor electronice în cele mai diverse activități umane. În plus, interconectările dintre diferitele dispozitive atât în ​​moduri cu fir, cât și fără fir sunt din ce în ce mai răspândite. Toate aceste inovații au condus la dezvoltarea de sisteme de operare pentru cele mai variate arhitecturi, în special pentru dispozitive portabile , cum ar fi smartphone -uri și tablete PC ( Symbian OS , Android , iOS , Windows Phone etc.).

Pentru orice arhitectură este dezvoltat un sistem de operare modern, acesta trebuie să ofere suport, pe lângă ceea ce s-a văzut până acum, la mai multe nevoi precum:

  • streaming audio / video (transmisie și prelucrare continuă a datelor multimedia);
  • suport pentru cele mai diverse tehnologii de interconectare (de exemplu Ethernet , Bluetooth și LAN fără fir );
  • integrarea tehnologiilor pentru utilizarea conținutului pe internet ;
  • managementul eficient al energiei.

Linia de dezvoltare a sistemelor de operare moderne pentru piața de consum se concentrează în principal pe multimedia, conectivitate și economisire de energie.

Filmografie

Bibliografie

  • Giorgio Clemente, Federico Filira; Michele Moro, Sisteme de operare - Arhitectură și programare simultană , ediția a II-a, Padova, Libreria Progetto Editions, 2006, ISBN 88-87331-57-X .
  • Neal Stephenson , La început ... a fost Linia de comandă , Harper Perennial, 1999.
  • Frederick P. Brooks , The Mythical Man-Month: Essays on Software Engineering , Addison-Wesley Professional, 1975, ISBN 0-201-83595-9 .

Elemente conexe