OS istorijat

Istoriju operativnih sistema možemo posmatrati kroz istoriju računara:

  1. 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.
  2. 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.
  3. 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.