- Prehod iz ročnega binarnega programiranja k ustvarjanju sofisticiranih grafičnih uporabniških vmesnikov.
- Razvoj ključnih konceptov, kot so večprogramiranje, delitev časa in porazdeljeni sistemi.
- Pojav temeljnih arhitektur, kot je UNIX, in diverzifikacija v odprta okolja, kot je GNU/Linux.
Da bi razumeli, kako delujejo naprave, ki jih uporabljamo danes, se je bistveno ozreti nazaj in videti, kako se je začelo upravljanje strojne opreme. Takrat ni bilo vmesne programske opreme; programerji so ure in ure neposredno komunicirali s strojnim jezikom , premikali stikala in se borili z ničlami in enicami v dobi, ko je bilo računalništvo še v povojih.
Sčasoma je kompleksnost strojev narasla do te mere, da je njihovo ročno upravljanje postalo nemogoče. To je povzročilo potrebo po plasti za organizacijo virov, kar je vodilo do razvoja operacijskih sistemov , ki so od svojih skromnih začetkov preoblikovali odnos med ljudmi in stroji ter ga naredili veliko bolj gladkega in enostavnejšega.
Začetki in doba žrebanja
V zgodnjih štiridesetih letih prejšnjega stoletja smo se znašli v generaciji nič. Ni bilo operacijskega sistema; dostop do konzole je bil neposreden prek mikrostikal, ki so omogočala nalaganje programa v pomnilnik. Šele v petdesetih letih prejšnjega stoletja so se začeli pojavljati prvi koncepti rezidenčnega monitorja in začasnega pomnilnika , zaradi česar je bila interakcija manj rudimentarna.
Glavni cilj je bil optimizirati čas mirovanja. Prvi uradni operacijski sistem se je pojavil leta 1956 za IBM 704, njegova osnovna funkcija pa je bila zagon naslednjega programa takoj, ko se je prejšnji končal. Za pospešitev tega so bile uvedene tehnike, kot sta medpomnjenje in čakanje, ki so omogočile sočasno nalaganje in izvajanje podatkov.
Takrat je bil postopek precej dolgočasen. Programerji so kodo napisali na papir z uporabo Fortrana ali zbirnega jezika, jo prenesli na luknjane kartice in jih izročili operaterju. Operater je upravljal serije opravil, na koncu pa je programer zbral natisnjene rezultate v izhodni sobi.

Revolucija večprogramiranja in delitve časa
V šestdesetih letih prejšnjega stoletja je računalništvo s prihodom integriranih vezij naredilo velik korak naprej. Tu pa postanejo stvari zanimive s pojavom večprogramiranja . Namesto da bi en sam program zasedel procesor in ga pustil v mirovanju med čakanjem na vhodno ali izhodno operacijo, bi operacijski sistem preklopil na izvajanje druge naloge, s čimer bi izkoristil upravljanje procesov v operacijskih sistemih za optimizacijo dodeljevanja virov.
Za izboljšanje interaktivnosti je bil sprejet model za več uporabnikov z uporabo deljenja časa . Za razliko od preprostega večprogramiranja sistem tukaj po kratkem času ustavi aplikacijo, da omogoči delo drugemu uporabniku, kar omogoča več ljudem, da hkrati delajo na računalniku prek spletnih terminalov.
V tem obdobju so se pojavili tudi sistemi v realnem času, zasnovani za obdelavo zunanjih dogodkov v zelo strogih časovnih okvirih. Če se sistem ni odzval v pričakovanem časovnem okviru, je to veljalo za kritično napako, kar je ključni koncept, ki temelji na načelih elektronskih sistemov v realnem času , zlasti v sektorjih telekomunikacij in industrijskega nadzora.
Doba velikih sistemov in rojstvo UNIX-a
Med sredino šestdesetih in sedemdesetih let prejšnjega stoletja je IBM predstavil družino sistemov System/360, v kateri je zasnoval stroje splošnega namena, ki so bili pravi velikani. Ti sistemi so bili sposobni hkrati obdelovati paketno obdelavo, delitev časa in večprocesiranje, čeprav so bili izjemno dragi in zapleteni za razvoj, pogosto so presegli prvotne proračune.
V tem kontekstu so bila sedemdeseta leta prejšnjega stoletja ključna z nastankom sistema UNIX v laboratorijih Bell podjetja AT&T. UNIX je bil prelomnica, saj je bil eden prvih operacijskih sistemov, napisanih v visokonivojskem jeziku , ki je postavil temelje za skoraj vse, kar uporabljamo danes. Vzporedno z njim so se pojavili tudi drugi projekti, kot sta Multics in priljubljeni CP/M Garyja Kildalla, ki je postal standard za zgodnje mikroračunalnike.
Vzpon osebnega računalništva in grafičnih vmesnikov
S pojavom vezij za veliko integracijo (LSI) so računalniki začeli vstopati v domove. Zmogljivost ni bila več edina prioriteta, poudarek pa se je preusmeril na to, da bi bil sistem uporabniku prijazen , kar je vodilo do razvoja menijev in grafičnih uporabniških vmesnikov (GUI).
V osemdesetih letih prejšnjega stoletja je Microsoft prevladoval na sceni z MS-DOS-om, ki je prvotno nastal z nakupom sistema z imenom QDOS. Medtem je Apple leta 1984 predstavil Macintosh, ki je presenetil svet z uvedbo uporabe miške in vizualnega vmesnika , kar so takrat puristi ukazne vrstice zavrgli kot "igračo".
V tej fazi smo videli tudi druge zanimive poskuse:
- AmigaOS: Pionir na področju multimedijskih zmogljivosti leta 1985.
- OS/2: Skupni projekt med IBM-om in Microsoftom, ki ga je na koncu vodil izključno IBM.
- BeOS: Osredotočen na visoko multimedijsko zmogljivost in učinkovitost.
Sodobni sistemi: od jedra Linuxa do stabilnosti NT-a
V devetdesetih letih prejšnjega stoletja se je okolje izjemno spremenilo. Pojavil se je GNU/Linux, brezplačna različica Unixa, ki temelji na standardu POSIX. Zaradi odprtokodne narave in robustnega sistema dovoljenj je Linux postal temelj brezplačnih operacijskih sistemov za strežnike in superračunalništvo, z dobro znanimi distribucijami, kot sta Ubuntu in Debian.
Po drugi strani pa je Microsoft z operacijskim sistemom Windows NT (New Technology) naredil kakovosten preskok. Za razliko od prvih različic sistema Windows, ki so bile preproste plasti na vrhu sistema MS-DOS, je bil NT stabilen sistem z lastnim grafičnim vmesnikom , namenjen delovnim postajam in strežnikom, s čimer je postavil temelje za sodobni sistem Windows in njegove datotečne sisteme Windows.
Apple se je razvil tudi z operacijskim sistemom Mac OS X, ki je temeljil na Darwinu in jedru XNU, in integriral storitve Unixa in BSD, da bi dosegel raven stabilnosti, ki je prejšnjim različicam ni uspelo. Ta arhitektura je omogočila napredno upravljanje pomnilnika in veliko učinkovitejšo simetrično večprocesiranje.
Specializirani projekti in trenutna brezplačna programska oprema
Ekosistem še naprej raste z zelo specifičnimi projekti. Obstaja ReactOS, ki si prizadeva biti klon sistema Windows NT zaradi binarne združljivosti, in FreeDOS, ki si prizadeva biti brezplačna in združljiva alternativa staremu sistemu MS-DOS. Obstajajo tudi optimizacijski biseri, kot so lahki operacijski sistemi za oživitev starejših osebnih računalnikov, kot je SymbOS, zasnovan za zelo omejeno strojno opremo, vendar z estetiko, podobno sistemu Windows 95.
Na področju Unixa se je Solaris razvil v OpenSolaris in nato privedel do projektov, kot sta Illumos in OpenIndiana, ki ohranjajo zapuščino Sun Microsystems. Nenazadnje Haiku sledi duhu BeOS-a in se osredotoča na učinkovito osebno in multimedijsko računalništvo.
Razvoj operacijskih sistemov je bil nenehna pot proti abstrakciji, kar končnemu uporabniku omogoča, da se ne obremenjuje s fizičnimi podrobnostmi strojne opreme , temveč da komunicira z optimiziranim in varnim virtualnim strojem, ki olajša vsakodnevno opravilo.
