Istoriju operativnih sistema možemo posmatrati kroz istoriju računara:
- generacija: (1945-1955) – računari pravljeni od vakuumskih cevi. Računari su bili
ogromnih dimenzija i jako skupi (koristila ih je vojska), u jednom računaru je bilo čak i do
20.000 cijevi, bili su jako spori, programiralo se na mašinskom jeziku, programski jezici
(uključujući i asembler) i operativni sistemi su bili nepoznati. Ljudi koji su radili na tim
računarima radili su sve: od programiranja do održavanja računara. - generacija: (1955-1965) – računari se prave od tranzistora, postaju manji, pouzdaniji i
jeftiniji tako da su ih mogli kupovati (pored vojske) i velike korporacije, univerziteti itd.
Računari su bili odvojeni u posebnim sobama. Programeri pišu programe na papiru u
programskom jeziku FORTRAN, zatim se ti programi prenose na bušene kartice. Bušene
kartice se ostavljaju u sobi sa poslovima (input room). Sistem operator pokupi bušene kartice,
u računar ubaci kartice sa FORTRAN kompajlerom, pa bušene kartice sa programom koji
treba izvršiti. Računar odradi posao i razultat se dobija isto na bušenim karticama, koje se
prenose u prostoriju sa rezultatima (output room). Ovde se mnogo vremena troši na šetanje
između raznih prostorija sa bušenim karticama. Još uvek nema operativnog sistema.
Uvodi se sledeće poboljšanje: paketna obrada (batch system) – u sobi sa poslovima se
sakuplja jedna količina sličnih (npr. svi zahtjevaju fortran kompajler) poslova (programa), koji
se pomoću jeftinijeg računara (npr. IBM 1401) prenosi na magnetnu traku. Nakon toga se
magnetna traka prenosi u sobu sa glavnom računarom – moćniji i skuplji računar predviđen za
izvršavanje programa (npr. IBM 7094). Na glavni računar se učitava poseban program koji je
zadužen da sa trake sa poslovima redom učitava programe i izvršava ih. Taj program je
predak današ njih OS-a. Nakon izvršavanja programa, rezultat se snima na drugu magnetnu
traku. Kada su svi poslovi (programi) odrađeni, operator stavlja drugu traku sa programima, a
traku sa rezultatima prenosi do treeg računara koji je zadužen za prebacivanje rezultata sa
magnetne trake na bušene kartice – to je ponovo neki jeftiniji rač unar (npr. IBM 1401). Manji
rač unari nisu vezani za glavni rač unar, rade off-line. - Generacija : (1965-1980) – računari se prave od integrisanih kola (IC) – početkom 60-ih
većina proizvođača računara proizvodi dve vrste računara : jednu jaču verziju (kao IBM 7094)
i jednu slabiju (kao IBM 1401) – što je skup poduhvat. Novi korisnici računara žele slabije
računare koji su jeftiniji, a posle nekog vremena treba im jači model koji je u stanju da izvrši
sve stare programe, ali brže. IBM taj problem pokušava rešiti uvođenjem Systema/360. To je
serija kompatibilnih računara različitih snaga. Svaki od ovih računara je pogodan i za
naučnu i za poslovnu primenu, pa je time podjela računara na dve vrste nestala. Ovaj koncept
su preuzeli i ostali proizvođači računara. Računari iz serije System/360 su radili pod
operativnim sistemom OS/360 – koji je bio jako glomazan i prepun grešaka.
Razvija se nova disciplina : softversko inžnjerstvo.
Multiprogramiranje (multiprogramming) : kada program čeka na rezultate IO operacija,
procesor je neiskorišćen, pa se javlja gubljenje procesorskog vremena – to nije problem kod
naučno-orijentisanih programa, koji retko koriste IO operacije, ali jeste kod poslovnih
programa. Kao rešenje, javlja se multiprogramiranje: memorija se deli na particije u kojima se
učitavaju različiti programi (jobs-poslovi). Dok neki program čeka na neke IO operacije,
procesor može izvršavati drugi program. Na taj način, ako imamo dovoljan broj programa u
memoriji, procesor je u stalnoj upotrebi.
SPOOL (Simultaneous Peripheral Operation On Line) – prebacivanje sadržaja bušenih
kartica na disk (traku) pomoć u posebnog uređaja – a bez procesora. Znač i procesor izvršava
program u memoriji, a paralelno se disk puni novim poslovima (jobs, programi). Kada jedan
program završi sa radom, procesor na njegovo mesto može uč itati drugi program sa diska. Isto
se koristi i za izlazne podatke.
Podela vremena (time-sharing): kod prve generacije, imali smo jednu grupu ljudi koji su
koristili računar, programer je napisao program, ubacio u računar i dobio rezultate, nije čekao
na obradu ostalih programa (jobs). Kod paketne obrade programer donese program na
bušenim karticama, pa na rezultate ponekad čeka i nekoliko sati. Ako ima grešku u kodu,
izgubi pola dana na čekanje. Kao rješenje uvodi se time-sharing (podela vremena): svaki
korisnik ima tastaturu i monitor (terminal) koji su priključ eni na glavni računar. To je jedan
oblik multiprogramiranja. Procesorsko vreme različ itim terminalima dodeljuje OS na osnovu
dva kriterijuma:
- čekanje na IO operacije
- istek dodeljenog vremena (uvodi se pojam quantum-a – to je količina vremena nakon
čijeg isteka kontrola se predaje drugom programu; multiprogramming + quantum =
time-sharing).
MULTICS (MULTIplexed Information and Computing Service) – neuspjela ideja (MIT,Bell
Labs,General Electric) da se napravi moćan računar koji će biti u stanju da radi sa velikim
brojem terminala. Kao osnovu, uzeli su model distribucije električne energije: želim da slušam
radio, samo ga uključim na struju… Isto su hteli napraviti sa računarima: u jednom gradu
imamo moćan centralni računar, a građani imaju terminale, kojima se pristupa tom računaru –
predak računarskih mreža i Interneta.
Mini računari: prvi mini računar je DEC-ov (Digital Equipment Corporation) PDP-1, do tada
najmanji i najjeftinij računar. Koštao je $120.000
UNIX: Ken Thompson, jedan od naučnika firme Bell Labs, koji je radio na projektu
MULTICS, uzeo je jedan PDP-7 mini računar i napisao za taj računar mini verziju MULTICS-a
– od tog projekta je poslije nastao UNIX (UNI = jedan , X = CS – Computing Service).
- 4. Generacija: (1980-1990) – Personalni Računari – razvoj personalnih računara počeo je
pojavom LSI (Large Scale Integration – veliki stepen integracije) čipova. Mini računari su bili
dovoljno jeftini, da ih imaju i više departmana iste firme ili univerziteta, a personalni računari
su postali dovoljno jeftini da ih imaju i pojedinci. Primer personalnih računara: Spectrum,
Commodore, Atari. Zatim IBM PC, Apple Macintosh itd. Javljaju se prvi pravi operativni
sistemi kao što su MS-DOS, UNIX, itd.
Prave se programi za korisnike, koji nisu stručnjaci za računare, pa se razvija i korisnički
interfejs programa. Dolazi do razvoja grafič kog okruženja.
Pored klasičnih operativnih sistema javljaju se i dve nove vrste:
Mrežni OS – računari su povezani u mrežu, svaki raunar ima svoj OS koji međusobno
komuniciraju pomoću nekog protokola (operativni sistemi mogu biti različiti, potreban je
samo zajednički protokol, tj. zajednički jezik za komunikaciju). Korisnik jednog računara,
može se prijaviti na drugi, preuzeti neke fajlove itd. Korisnik zna da nije sam u mreži, svestan
je različitih računara sa kojima komunicira preko mreže. Mreže mogu biti lokalne i globalne.
Distribuirani OS – korisnici ga vide kao jedno-procesorski sistem, ali u stvari radi sa više
procesora. Imamo više računara povezanih u mrežu, ali samo jedan OS, koji upravlja svim
resursima u mreži. U pravom distribuiranom sistemu korisnik ne treba da vodi računa o tome,
gdje su njegovi fajlovi smješteni ili gdje se izvršava njegov program, to je posao OS-a.
Distribuirani OS se, dakle, ponaša kao jedinstvena cjelina. Korisnik nije svjestan toga da je u
mreži sa drugim računarima, njemu to izgleda kao da je jedan računar.