Vývoj operačných systémov
Operačný systém je program, ktorý koná ako prostredník medzi užívateľom počítača a
počítačovým hardvérom. Cieľom operačného systému je poskytovať prostredie, v ktorom užívateľ
môže vykonávať programy pohodlným a výkonným spôsobom. Niektoré operačné systémy sú
navrhnuté, aby boli pohodlné, iné aby boli výkonné a ostatné sú nejakou kombináciou týchto dvoch.
1 Čo je operačný systém?
Počítačový systém môže byť rozdelený zhruba na štyri komponenty: hardvér, operačný systém,
aplikačné programy a užívatelia (Obrázok 1).
Užívateľ
1
Užívateľ
3
Užívateľ
2
Užívateľ
n
...
prekladač
assembler
editor
databáza
systémové a aplikačné programy
operačný
systém
počítačový
hardvér
Obrázok 1 Komponenty počítačového systému.
Hardvér — procesor (CPU), pamäť a vstupno/výstupné zariadenia (I/O zariadenia) —
poskytujú základné výpočtové zdroje.
Aplikačné programy — ako textové procesory, tabuľkové kalkulátory, prekladače a webové
prehliadače — definujú spôsoby, v ktorých tieto zdroje sa používajú k riešeniu výpočtových
problémov užívateľov.
Operačný systém riadi a koordinuje používanie hardvéru medzi rôznymi aplikačnými
programami pre rôznych užívateľov.
Operačný systém je podobný vláde. Podobne ako vláda, on vykonáva žiadnu užitočnú funkciu pre
seba. Jednoducho poskytuje prostredie, vnútri ktorého iné programy môžu robiť užitočnú prácu.
Operačné systémy môžu byť skúmané z dvoch hľadísk: užívateľa a systému.
1.1 Užívateľský pohľad
Užívateľský pohľad rôznych variácií počítačov je podľa používaného rozhrania. Väčšina užívateľov
počítača sedí pred PC. Taký systém je navrhnutý pre jedného užívateľa k monopolizácií jeho
zdrojov, maximalizácii práce (alebo hrania), ktorú užívateľ vykonáva. V tomto
Studenovský: Operačné systémy 1 Vývoj 1
prípade, operačný systém je navrhnutý predovšetkým pre ľahké používanie, s nejakou pozornosťou
na výkon a žiadnou pozornosťou na využitie zdrojov. Výkon je dôležitý pre užívateľa, ale nezáleží na
tom, ak väčšina systému je nečinná, čakajúca na pomalú I/O rýchlosť užívateľa. Nejakí užívatelia
sedia za terminálom (klávesnica + monitor) pripojenom k centrálnemu počítaču. Títo užívatelia
zdieľajú zdroje a môžu si vymieňať informácie. Operačný systém je navrhnutý k maximalizácii
využitia zdrojov — zabezpečiť, že všetok dostupný čas CPU, pamäť a I/O sa používajú efektívne a
že žiadny individuálny užívateľ, nerobí nič iné, len férovo zdieľa zdroje. Iní užívatelia sedia pri
pracovných staniciach, pripojených k sieťam pozostávajúcich z iných pracovných staníc a
serverov. Títo užívatelia majú vlastné zdroje na disponovanie, ale oni tiež zdieľajú zdroje ako sieť a
servre — súborové, výpočtové a tlačové servre. Preto ich operačný systém je navrhnutý ako
kompromis medzi individuálnym používaním a využitím zdrojov. Nedávno, veľa druhov počítačov
do ruky prišli do módy. Tieto zariadenia sú väčšinou nezávislé, používané jednotlivo individuálnymi
užívateľmi. Operačné systémy sú navrhnuté pre používanie jednotlivcom, ale výkon, vzhľadom na
množstvo života batérie, je tiež dôležitý. Niektoré počítače majú malý alebo žiadny užívateľský
pohľad. Napríklad, vložené počítače v domácich zariadeniach a automobiloch môžu mať numerickú
klávesnicu a môžu zapnúť alebo vypnúť indikačné svetlá, aby ukázali stav zapnuté alebo vypnuté, ale
väčšinou oni a ich operačné systémy sú navrhnuté na bežanie bez užívateľského zásahu.
1.2 Systémový pohľad
Z počítačového hľadiska, operačný systém je program, ktorý je najviac intímny k hardvéru. Operačný
systém môžeme chápať ako alokátor zdrojov. Počítačový systém má veľa zdrojov — hardvér a
softvér — ktoré môžu byť požadované na riešenie problému. Operačný systém koná ako správca
zdrojov. Pre možné konflikty žiadostí na zdroje, operačný systém musí rozhodovať, ako alokovať
(prideľovať) zdroje k špecifickým programom a užívateľom tak, aby mohol počítačový systém
operovať výkonne a korektne. Operačný systém je riadiaci program, ktorý ovláda vykonanie
užívateľských programov, aby zabránil chybám a nesprávnemu použitiu počítača. Špeciálne sa
zaoberá riadením I/O zariadení. Základný cieľ počítačových systémov je vykonávať užívateľské
programy a robiť riešenia užívateľských problémov ľahšími. K tomuto cieľu je skonštruovaný
počítačový hardvér. Pretože holý hardvér sám o sebe nie je jednoduchý na používanie, boli vyvinuté
aplikačné programy. Aplikačné programy požadujú určité spoločné operácie také, ako riadenie I/O
zariadení. Spoločné funkcie riadenia a prideľovania zdrojov boli prenesené spolu do jedného kúska
softvéru: do operačného systému. Jednoduché stanovisko je, že operačný systém zahrňuje všetko,
čo predajca pošle na CD, keď si objednáte „operačný systém“.
Ďalšia definícia je, že operačný systém je jeden program bežiaci celý čas na počítači (nazývaný
kernel – jadro), všetko ostatné sú aplikačné programy. Táto posledná definícia je tá, ktorou sa
budeme riadiť.
1.3 Systémové ciele
Je ľahšie definovať operačný systém ako čo on robí, než ako čo on je. Primárny cieľ nejakého
operačného systému je pohodlie užívateľa (napríklad PC). Primárny cieľ iných operačných systémov
je výkonná činnosť počítačového systému. To je prípad pre veľké, zdieľané, viac užívateľské
systémy. Tieto systémy sú drahé, tak je žiaduce vyrábať ich tak výkonné, ako sa len dá. Tieto dva
ciele — pohodlie a výkon — sú niekedy protichodné. V minulosti, bol výkon často dôležitejší ako
pohodlie Takže veľa teórií operačného systému sa sústreďuje na optimálne využitie výpočtových
zdrojov. Operačné systémy sa tiež časom vyvíjali. Napríklad, UNIX začal s klávesnicou a tlačiarňou
ako svojim rozhraním, ohraničujúc pohodlie pre užívateľa. Po čase bol hardvér zmenený a UNIX bol
umiestnený na nový, výkonnejší hardvér. Veľa grafických užívateľských rozhraní (Graphic User
Studenovský: Operačné systémy 1 Vývoj 2
Interface – GUI) bolo pridaných, umožňujúc byť pohodlnejší pre užívateľov, zároveň ešte stále
koncentrovaný na efektívnosť. Aby sme pochopili, čo operačné systémy sú a ako pracujú, uvážme,
ako sa vyvíjali za posledných 60 rokov. Sledovaním tejto evolúcie môžeme identifikovať spoločné
prvky operačných systémov a vidieť, ako a prečo sa tieto systémy vyvinuli do svojej podoby.
2 Sálové systémy
Sálové počítačové systémy (Mainframe) boli prvé počítače, ktoré sa začali používať v komerčných a
vedeckých aplikáciách. V tejto sekcii budeme sledovať vývoj sálových systémov od jednoduchých
dávkových systémov, kde na počítači bežala jedna a len jedna aplikácia, k systémom so zdieľaním
času, ktoré umožňujú užívateľovi interakciu s počítačom.
2.1 Dávkové systémy
Prvé počítače boli fyzicky obrovské stroje, ktoré sa riadili z konzoly (podobala sa písaciemu stroju).
Vstupnými zariadeniami boli čítačky diernych štítkov a magnetopáskové jednotky. Výstupnými
zariadeniami boli riadkové tlačiarne, magnetopáskové jednotky a dierovače štítkov. Užívateľ
nepracoval interaktívne priamo s počítačom. Užívateľ pripravil job (prácu), ktorý pozostával z
programu, dát a určitých riadiacich informácií o druhu jobu (riadiace štítky) a odovzdal ho
operátorovi počítača. Job bol väčšinou vo forme diernych štítkov alebo diernej pásky. Neskôr (po
minútach, hodinách alebo dňoch) sa objavil výstup. Výstup obsahoval výsledok programu, ako aj
výpis finálnej pamäte (dump) a obsahu registrov pre ladenie (debugging) . Operačný systém v týchto
prvých počítačoch bol značne jednoduchý. Jeho hlavnou úlohou bolo odovzdať riadenie automaticky
z jedného jobu na nasledujúci job — radenie prác (job sequencing). Operačný systém bol vždy
rezidentný (sídliaci) v pamäti (Obrázok 2).
Operačný systém
Užívateľská
oblasť programu
Obrázok 2 Pamäťová schéma pre jednoduchý dávkový systém.
Aby sa urýchlilo spracovanie, operátor zoskupil úlohy s podobnými potrebami a spustil ich cez
počítač ako skupinu, čiže dávku (batch). Takto programátori nechali svoje programy u operátora.
Operátor ich zatriedil do dávok s podobnými požiadavkami a keď sa počítač uvoľnil, mohol každú
dávku spustiť. Výstup z každého jobu sa poslal späť príslušnému programátorovi. Pri tomto modeli
spracovania je procesor často nečinný, pretože rýchlosť mechanických I/O zariadení je malá. Rozdiel
v rýchlosti procesora a I/O zariadení je tri rády alebo aj viac.
2.2 Systémy multiprogramovania
Zavedenie technológie diskov umožnilo operačnému systému udržiavať všetky joby na disku radšej,
ako v sériovej čítačke štítkov. Operačný systém mohol vykonávať rozvrhovanie jobov (job
scheduling), aby využíval zdroje a vykonával úlohy efektívne. Najdôležitejší aspekt rozvrhovania
jobov je schopnosť multiprogramovania. Jeden užívateľ nemôže nepretržite využívať aj procesor aj
I/O zariadenia, ako to bolo v dávkových systémoch.
Multiprogramovanie zvyšuje využitie procesora organizovaním jobov tak, aby procesor mohol
vždy jeden job vykonávať. Myšlienka je nasledovná: operačný systém drží niekoľko jobov v
pamäti súčasne (Obrázok 3). Táto množina jobov je podmnožinou jobov držaných v súbore
jobov na disku. Operačný systém vyberie a začne vykonávať jeden z jobov v pamäti. Eventuálne,
job musí
čakať na ukončenie nejakej činnosti, napríklad I/O operácie. V systéme bez multiprogramovania
by procesor nečinne čakal. V multiprogramovom systéme operačný systém jednoducho prepne a
vykonáva iný job. Ak tento job potrebuje čakať, procesor prepne
Studenovský: Operačné systémy 1 Vývoj 3
na iný job atď. Eventuálne prvý job skončí čakanie a dostane procesor späť. Kým existuje
aspoň jeden job, ktorý sa potrebuje vykonávať, procesor nestojí. Táto myšlienka je bežná v
rôznych životných situáciách. Právnik napríklad nepracuje len pre jedného klienta. Kým jeden
prípad čaká na proces alebo na spisy, právnik môže pracovať na inom prípade. Ak má dosť
klientov, nikdy nebude zaháľať (právnici, ktorí nemali dosť klientov, sa stali politikmi).
operačný systém
job 1
job 3
job 2
job 4
Obrázok 3 Pamäťová schéma pre multiprogramový systém.
Multiprogramovanie je prvý prípad, keď operačný systém musí robiť rozhodnutia za užívateľa.
Všetky joby, ktoré vstupujú do systému sa udržiavajú na disku v súbore jobov. Tento súbor
pozostáva zo všetkých jobov uložených na disku a čakajúcich na pridelenie hlavnej pamäti. Ak
niekoľko jobov je pripravených na zavedenie do pamäte a ak v pamäti nie je pre všetky miesto,
systém musí vybrať medzi nimi. Toto rozhodnutie sa nazýva
rozvrhovanie jobov (job scheduling). Keď operačný systém vyberie job zo súboru jobov,
zavedie ho do pamäti, aby ho vykonával. Súčasné udržiavanie niekoľkých programov v pamäti
si vyžaduje správu pamäte. Naviac, ak v rovnakom čase je pripravených na bežanie niekoľko
jobov, systém musí medzi nimi vybrať. Vykonanie tohto rozhodnutia je rozvrhovanie procesora
(CPU scheduling). Nakoniec, ak súbežne beží niekoľko jobov, musí byť možnosť ich
vzájomného ovplyvňovania obmedzená.
2.3 Systémy zdieľania času
Multiprogramové systémy poskytovali prostredie, kde rôzne systémové zdroje boli využívané
efektívne, ale neumožňovali užívateľovi interakciu s počítačovým systémom. Systém Tíme–
sharing (systém zdieľania času) alebo niekedy nazývaný aj multitasking (viac–úlohový) je
logickým rozšírením multiprogramovania. CPU vykonáva viaceré joby prepínaním medzi nimi, ale
prepínania nastávajú tak často, že užívatelia môžu interakovať s každým svojim programom, ktorý
je bežiaci.
Interaktívny počítačový systém poskytuje priamu komunikáciu medzi užívateľom a systémom.
Užívateľ dáva inštrukcie operačnému systému alebo programu priamo pomocou klávesnice alebo
myši a čaká na okamžité výsledky. Preto čas odozvy by mal byť krátky, typicky do jednej sekundy.
Time–sharing operačný systém umožňuje mnohým užívateľom zdieľať počítač súčasne. Pretože
každý príkaz v time–sharing systéme má tendenciu byť krátky, iba malý čas CPU je potrebný pre
každého užívateľa. Ako systém prepína rýchlo od jedného užívateľa k ďalšiemu, každý užívateľ má
dojem, že celý počítačový systém je vyhradený iba pre jeho použitie aj napriek tomu, že ho zdieľa
veľa užívateľov. Time–sharing operačný systém používa multiprogramovanie a CPU rozvrhovanie,
aby poskytol každému užívateľovi malú porciu časovo–zdieľaného počítača. Každý užívateľ má v
pamäti aspoň jeden samostatný program. Program, zavedený v pamäti a vykonávaný, sa bežne
nazýva proces. Keď sa proces vykonáva, typicky sa vykonáva iba krátky čas, kým buď skončí alebo
potrebuje vykonať I/O. I/O môže byť interaktívne; t.j. výstup je na obrazovku užívateľa a vstup je z
užívateľovej klávesnice alebo myši. Pretože interaktívne I/O typicky beží pri „ľudských
rýchlostiach“, môže trvať dlhý čas, kým skončí. Ako by mal nechať CPU nečinným, kým sa
vykonáva tento interaktívny vstup, operačný systém rýchlo prepne CPU na program niektorého iného
užívateľa.
Studenovský: Operačné systémy 1 Vývoj 4
Time–sharing operačné systémy sú dokonca komplexnejšie ako multiprogramové operačné systémy.
Pri obidvoch typoch, niekoľko jobov sa musí udržovať súčasne v pamäti, takže systém musí mať
správu a ochranu pamäte. Na získanie rozumného času odozvy, joby môžu byť prenesené
(swapping) do a von z hlavnej pamäte na disk. Bežný spôsob je virtuálna pamäť, ktorá je
technikou, ktorá umožňuje vykonávanie jobu, ktorý nemusí byť celý v pamäti. Hlavná výhoda
virtuálnej pamäte je, že programy môžu byť väčšie ako fyzická pamäť. Time–sharing systémy
musia poskytovať súborový systém, ktorý sídli na kolekcii diskov, takže musí byť poskytovaný
diskový manažment. Time–sharing systémy poskytujú mechanizmus pre konkurenčné vykonávanie.
Systém musí poskytovať mechanizmy na synchronizáciu a komunikáciu jobov a on môže zabezpečiť,
aby joby neuviazli na mŕtvom bode, navždy čakajúce jeden na druhého. Myšlienka time–sharing
bola predvedená už v roku 1960, ale pretože time–sharing systémy sú náročné a drahé na vytvorenie,
stali sa bežnými až na začiatku sedemdesiatych rokov. Aj keď sa ešte niekde používa dávkové
spracovanie, väčšina dnešných systémov sú time–sharing systémy. Preto multiprogramovanie a
time–sharing sú hlavné témy moderných operačných systémov.
3 Stolné systémy
Osobné počítače (Personal Computer —PC) sa objavili v sedemdesiatych rokoch. Počas ich prvej
dekády, CPU osobných počítačov nemali funkcie potrebné pre ochranu operačného systému proti
užívateľským programom. Operačné systémy pre PC preto neboli ani viac–užívateľské ani viac–
úlohové. Avšak ciele týchto operačných systémov sa postupom času zmenili; namiesto
maximalizovania využitia CPU a periférnych zariadení, sa tieto systémy snažia maximalizovať
pohodlie užívateľa. Medzi tieto systémy patria Microsoft Windows a Apple Macintosh. Operačný
systém MS–DOS od firmy Microsoft bol nahradený Microsoft Windows a IBM upgradovali
MS–DOS na multitaskingový systém OS/2. Linux, operačný systém podobný UNIX, sa tiež stal
obľúbeným. Mikropočítače boli hneď schopné osvojiť si niektoré technológie, ktoré boli vyvinuté pre
sálové operačné systémy. Mikropočítač používa v jednom okamihu iba jeden užívateľ a tak využitie
CPU už nie je hlavný problém. Takže niektoré návrhy pre operačné systémy sálových počítačov
nemusia byť vhodné pre menšie systémy. Iné návrhy stále ešte platia. Napríklad, ochrana súborov
nebola na začiatku potrebná na osobných počítačoch. Avšak tieto počítače sú teraz často prepojené s
inými počítačmi cez lokálne siete. Keď iné počítače a iní užívatelia majú prístup k súborom na PC,
ochrana súborov sa znova stáva potrebnou vlastnosťou operačného systému.
4 Multiprocesorové systémy
Multiprocesorové systémy (tiež známe ako paralelné systémy alebo pevne spojené systémy)
narastajú na dôležitosti. Takéto systémy majú viac procesorov, ktoré medzi sebou komunikujú,
zdieľajú systémovú zbernicu, časovač a niekedy pamäť a periférne zariadenia. Ich výhody sú:
Zvýšená priepustnosť. Zvýšením počtu procesorov sa snažíme o vykonanie viac práce za
menší čas.
Úspory z masovej činnosti. Multiprocesorové systémy môžu ušetriť viac peňazí, ako viacero
jednoprocesorových systémov.
Zvýšená spoľahlivosť. Zlyhanie jedného procesora nezastaví celý systém, iba ho spomalí.
Ak máme desať procesorov a jeden zlyhá, potom každý zo zostávajúcich deviatich procesorov
musí prevziať istý podiel práce procesora, ktorý zlyhal. Táto schopnosť, pokračovať v poskytovaní
služby proporcionálne k úrovni funkčného hardvéru, sa nazýva vhodne uskutočnená degradácia
(Graceful Degradation). Systémy navrhnuté pre vhodné uskutočnenú degradáciu sa tiež nazývajú
tolerantné voči poruchám (Fault Tolerant). Najbežnejšie multiprocesorové systémy teraz
používajú symetrický multiprocesing (SMP), pri ktorom na každom procesore beží identická kópia
operačného systému a tieto kópie medzi sebou komunikujú, ak je to potrebné.
Studenovský: Operačné systémy 1 Vývoj 5
Niektoré systémy používajú asymetrický multiprocesing, pri ktorom má každý procesor pridelenú
špecifickú úlohu. Majster procesor riadi celý systém; ostatné procesory si buď pýtajú inštrukcie od
majster procesora alebo majú preddefinované úlohy. Táto schéma definuje vzťah
majster–podriadený (Master–Slave). Majster procesor plánuje a prideľuje prácu podriadeným
procesorom. SMP znamená, že všetky procesory sú seberovné: neexistuje vzťah majster–podriadený
medzi procesormi. Na Obrázku 4 je typická architektúra SMP. Pretože CPU sú oddelené, jedno
CPU môže byť nečinné, zatiaľ čo druhé je preťažené, čo má za následok neefektívnosť. Tejto
neefektívnosti sa dá zabrániť, ak procesory zdieľajú určité dátové štruktúry. Prakticky všetky
moderné operačné systémy — Windows NT, Solaris, Digital UNIX, OS/2 a Linux poskytujú
podporu pre SMP.
CPU CPU
CPU
pamäť
Obrázok 4 Symetrická multiprocesorová architektúra.
Ako sa mikroprocesory stávajú lacnejšími a výkonnejšími, prídavné funkcie operačného systému sa
presúvajú do koncových procesorov (Back–End). Napríklad, je celkom ľahké pridať mikroprocesor
s vlastnou pamäťou na správu diskov. Toto usporiadanie odbremeňuje CPU od réžie na plánovanie
diskov. PC obsahujú mikroprocesor v klávesnici, ktorý prevádza stlačenia klávesov na kódy, ktoré sa
posielajú do CPU. V skutočnosti toto použitie mikroprocesorov sa stalo takým bežným, že sa už
nepovažuje za multiprocesing.
5 Distribuované systémy
Sieť, zjednodušene, je komunikačná cesta medzi dvoma alebo viacerými systémami. Funkčnosť
distribuovaných systémov je závislá na sieti. Tým, že distribuované systémy sú schopné
komunikovať, oni sú schopné zdieľať výpočtové úlohy. Siete sa líšia protokolmi, vzdialenosťami
medzi uzlami a prenosovými médiami. TCP/IP je najbežnejší sieťový protokol, aj keď iné
protokoly sa tiež používajú. Siete sa rozdeľujú podľa vzdialenosti medzi uzlami.
Lokálna sieť (Local Area Network — LAN) existuje v rámci poschodia alebo budovy.
Metropolitná sieť (Metropolitan Area Network — MAN) spája budovy v rámci mesta.
Rozsiahla sieť (Wide Area Network — WAN) existuje medzi mestami alebo krajinami.
Malá sieť (Small Area Network — SAN). Zariadenia Blue Tooth alebo WiFi komunikujú na
krátku vzdialenosť niekoľkých metrov a takto v podstate vytvárajú malú domácu sieť.
Média na prenos v sieti sú rozmanité. Zahŕňajú medené drôty, optické vlákna a bezdrôtový prenos
medzi satelitmi, mikrovlnými zariadeniami a rádiami. Keď sa výpočtové zariadenia pripoja na
mobilné telefóny, tak tiež vytvárajú sieť.
5.1 Systémy klient –
server
Ako
sa PC stali rýchlejšími, výkonnejšími a lacnejšími, návrhári sa odklonili od centralizovanej
architektúry systémov, v ktorej veľa terminálov je pripojených na centrálny (sálový) počítač. PC
dnes nahradzujú terminály pripojené k centralizovaným systémom. Funkcia užívateľského rozhrania,
ktorá bola spracovaná priamo centrálnymi počítačmi, je teraz spracovaná na PC. Ako výsledok,
centralizované systémy dnes fungujú ako serverové systémy na uspokojenie požiadaviek
generovaných klientskými systémami.
Výpočtové serverové systémy poskytujú rozhranie, na ktoré môžu klienti zasielať požiadavky na
vykonanie nejakej činnosti a server po jej vykonaní pošle ako odpoveď klientovi výsledok.
Studenovský: Operačné systémy 1 Vývoj 6
Súborové serverové systémy poskytujú rozhranie pre prácu so súbormi, pomocou ktorého klienti
môžu vytvárať, aktualizovať, čítať a mazať súbory na serveri.
Tlačové serverové systémy poskytujú rozhranie pre tlačové služby na vzdialených tlačiarňach.
…
sieť
klient klient klient
klient
server
Obrázok 5 Všeobecná štruktúra systému klient–server.
5.2 Rovnocenné
systémy
Nárast počítačových sietí — najmä Internetu a Celosvetovej siete (World Wide Web) — malo veľký
vplyv na súčasný vývoj operačných systémov. Keď boli PC zavedené v sedemdesiatych rokoch, boli
navrhnuté na „osobné“ použitie a boli považované za nezávislé počítače. So začiatkom verejného
používania Internetu v osemdesiatych rokoch mnoho PC bolo pripojených na počítačové siete. S
príchodom Webu v polovici deväťdesiatych rokoch, pripojenie na sieť sa stalo dôležitou súčasťou
počítačového systému. V podstate všetky moderné PC a pracovné stanice obsahujú internetový
prehliadač pre prístup k hypertextovým dokumentom na Webe. Operačné systémy teraz obsahujú aj
systémový softvér (ako je TCP/IP a PPP), ktorý umožňuje počítaču pristupovať na Internet cez
lokálnu sieť alebo telefónne spojenie. Niektoré obsahujú aj samotný internetový prehliadač, ako aj
elektronickú poštu,
vzdialený prístup (Remote Login) a prenos súborov (File Transfer Protocol – FTP). V porovnaní
s multiprocesorovými systémami (pevne spojené systémy), počítačové siete pozostávajú z kolekcie
procesorov, ktoré nezdieľajú pamäť ani časovač. Namiesto toho, každý procesor má svoju vlastnú
lokálnu pamäť. Procesory medzi sebou komunikujú pomocou rôznych komunikačných liniek, ako sú
vysoko rýchlostné zbernice alebo telefónne linky. Tieto systémy sa zvyčajne nazývajú voľne
spojené systémy (alebo distribuované systémy). Niektoré operačné systémy posunuli koncept
sieťových a distribuovaných systémov ďalej, ako len na poskytovanie sieťového pripojenia.
Sieťový operačný systém poskytuje funkcie: zdieľanie súborov cez sieť, vzdialený prístup a
obsahuje komunikačnú schému, ktorá umožňuje rôznym procesom na rôznych počítačoch vymieňať
si správy.
Distribuovaný operačný systém je menej autonómne prostredie. Odlišné operačné systémy
poskytujú klam, že len jeden jednoduchý operačný systém riadi celú sieť.
6 Skupinové systémy
Skupinové (Cluster) systémy sú zložené z dvoch alebo viacerých individuálnych systémov
spojených dokopy. Definícia termínu „skupinový“ nie je konkrétna; mnoho komerčných produktov
zápasí s tým, čo je skupinový systém a prečo jedna forma je lepšia ako druhá. Všeobecne prijatá
definícia je, že skupinové počítače zdieľajú úložisko dát a sú blízko, prepojené pomocou lokálnej
siete. Skupinové systémy sa zvyčajne používajú na dosiahnutie vysokej dostupnosti. Vrstva
skupinového softvéru beží na uzloch skupiny. Každý uzol monitoruje jeden alebo viac ostatných
uzlov (cez lokálnu sieť). Ak monitorovaný počítač zlyhá, monitorovací počítač preberie vlastníctvo
jeho úložiska a znovu spustí aplikácie, ktoré boli spustené na počítači, ktorý zlyhal. Počítač, ktorý
zlyhal môže zostať vypnutý, ale užívatelia a klienti aplikácie si všimnú iba krátke prerušenie služby.
Pri asymetrických skupinových systémoch sa nachádza jeden počítač v pohotovostnom režime,
zatiaľ čo na iných bežia aplikácie. Počítač, ktorý je v pohotovostnom režime nerobí nič iné,
Studenovský: Operačné systémy 1 Vývoj 7
len monitoruje aktívny server. Ak tento server zlyhá, počítač v pohotovostnom režime sa stane
aktívnym serverom. Pri symetrických skupinových systémoch aplikácie bežia na dvoch alebo
viacerých počítačoch a tieto počítače sa monitorujú navzájom.
Paralelné skupinové systémy umožňujú viacerým počítačom pristupovať k rovnakým dátam na
zdieľanom úložisku. Pretože väčšina operačných systémov nemá podporu pre takýto simultánny
prístup k dátam, paralelné skupinové systémy sa zvyčajne dosahujú špeciálnymi verziami softvéru a
aplikácií. Napríklad Oracle Parallel Server je verzia databázy Oracle, ktorá bola navrhnutá tak,
aby bežala na paralelných skupinových systémoch. Na každom počítači beží Oracle a vrstva
softvéru zaznamenáva prístup na zdieľaný disk. Každý počítač má plný prístup k všetkým dátam v
databáze.
Globálne skupinové systémy, obsahujú počítače hocikde na svete, kde dosiahne sieť WAN. Takéto
projekty sú však ešte stále subjektom výskumu a vývoja. Použitie skupinových systémov by sa
malo rozšíriť značne ako úložné siete (Storage Area Networks — SAN). Siete SAN umožňujú
jednoduché pripojenie viacerých počítačov k viacerým úložiskám.
7 Systémy reálneho času
Inou formou operačného systému na špeciálne účely je systém reálneho času (Real–Time System).
Systém reálneho času sa používa, ak sa vyžadujú prísne časové požiadavky na činnosť procesora
alebo tok údajov; takže sa často používa ako riadiace zariadenie vo vyhradenej aplikácii. Senzory
prinášajú dáta do počítača. Počítač musí tieto dáta analyzovať a možno aj upraviť riadenie, aby sa
upravili vstupy na senzoroch. Systémy, ktoré riadia vedecké experimenty, lekárske zobrazovacie
systémy, priemyselné riadiace systémy a niektoré zobrazovacie systémy sú systémy reálneho času.
Niektoré systémy na riadenie vstrekovania pre automobilové motory, radiče domácich spotrebičov a
zbraňové systémy sú tiež systémy reálneho času. Systém reálneho času má presne definované,
pevné časové obmedzenia. Spracovanie musí byť vykonané v rámci definovaných obmedzení, inak
systém zlyhá. Napríklad, nesmie sa stať, aby rameno robota sa zastavilo až potom, keď narazí do
auta, na ktorom pracuje. Systém reálneho času funguje správne iba vtedy, ak vracia správne výsledky
v rámci svojich časových obmedzení. Systémy reálneho času sa delia na dva druhy: tvrdé (Hard) a
mäkké (Soft).
Tvrdý systém reálneho času zaručuje, že kritické úlohy sú ukončené včas. Tvrdé systémy reálneho
času sú v konflikte s operáciami systémov zdieľania času a preto tieto dva systémy sa nemôžu
miešať. Žiaden z existujúcich univerzálnych operačných systémov nepodporuje funkčnosť tvrdého
systému reálneho času. Menej obmedzujúcim typom systému reálneho času je mäkký systém
reálneho času, kde kritická úloha dostane vyššiu prioritu, ako ostatné úlohy. Mäkký systém reálneho
času je dosiahnuteľný cieľ, ktorý sa môže miešať s inými typmi systémov. Pretože nemajú podporu
pre
hraničný termín (deadline), sú riskantné pre použitie v priemyselnom riadení a robotike. Sú však
užitočné v niekoľkých oblastiach, vrátane multimédií, virtuálnej reality a pokročilých vedeckých
projektoch — ako je podmorský výskum a planetárne vozidlá. Pretože oblasť použitia vlastností
mäkkých systémov reálneho času sa rozširuje, nachádzajú si cestu do súčasných operačných
systémov.
8
Systémy do ruky
Systémy do ruky (Handheld) zahŕňajú osobných digitálnych asistentov (Personal Digital
Assistant — PDA) a mobilné telefóny s pripojením na sieť. Vývojári systémov do ruky a ich
aplikácií čelia mnohým výzvam, z ktorých väčšina vyplýva z obmedzených rozmerov týchto
zariadení. Napríklad, PDA má typicky výšku 12 cm, šírku 7 cm a váži menej ako 200 g. Kvôli
tomuto obmedzenému rozmeru má väčšina zariadení do ruky malé množstvo pamäte, obsahujú
pomalé procesory a majú malé obrazovky. Mnoho zariadení do ruky má pamäť medzi 1 MB až 8
MB. Výsledkom toho operačný systém a aplikácie musia efektívne spravovať pamäť. V súčasnosti
mnoho zariadení do ruky nepoužíva techniku virtuálnej pamäte, čím núti programátorov pracovať s
obmedzenou fyzickou pamäťou.
Studenovský: Operačné systémy 1 Vývoj 8
Druhým obmedzením pre programátorov zariadení do ruky je rýchlosť procesora použitého v
zariadení. Procesory pre väčšinu zariadení do ruky majú často len zlomok rýchlosti procesora v PC.
Rýchlejšie procesory vyžadujú viac energie a teda väčšiu batériu. Preto operačný systém a aplikácie
musia byť navrhnuté tak, aby nezaťažovali procesor. Posledné obmedzenie pre programátorov
zariadení do ruky sú malé obrazovky, často nie väčšie ako 4 palce. Bežné úlohy, ako je čítanie
e–mailov alebo prezeranie webových stránok, musia byť zhustené na menšie obrazovky. Jedným
prístupom je webové orezávanie, keď na obrazovke sa zobrazuje iba malá časť webovej stránky.
Niektoré zariadenia do ruky môžu používať bezdrôtové technológie, ako je Blue Tooth a takto
umožniť vzdialený prístup k webu. Avšak, mnohé PDA neobsahujú bezdrôtové spojenie. Na uloženie
dát do týchto zariadení, typicky sa dáta najprv uložia do PC a potom cez kábel sa uložia do PDA.
Niektoré PDA dovoľujú priame kopírovanie dát z jedného zariadenia na druhé použitím
infračerveného spojenia. Všeobecne, obmedzenia vo funkčnosti PDA sú balansované ich
jednoduchosťou a prenosnosťou. Ich používanie sa rozširuje, ako sa sieťové zapojenia stávajú viac
dostupnými a aj z iných dôvodov, ako zabudované fotoaparáty a MP3 prehrávače.
9 Presun funkcií
Výskum operačných systémov pre sálové počítače a mikropočítače ukazuje, že funkcie prístupné iba
pre sálové počítače boli adoptované aj mikropočítačmi. Rovnaké koncepty sú vhodné pre triedy
počítačov: sálové počítače (maxipočítače), minipočítače, mikropočítače a počítače do ruky. Veľa
konceptov zobrazených na Obrázku 6 budeme postupne preberať. Dobrý príklad takéhoto presunu
funkcií sa vyskytol pri operačnom systéme MULTICS, ktorý bol vyvinutý okolo roku 1965. Mnoho
myšlienok, ktoré boli vyvinuté pre MULTICS bolo použitých pri vytváraní UNIX. Operačný systém
UNIX bol vyvinutý okolo roku 1970 pre minipočítače PDP-11. Okolo roku 1980 sa funkcie UNIX
stali základom pre operačné systémy pre mikropočítače a stali sa tiež súčasťou dnešných operačných
systémov, ako sú Microsoft Windows, IBM OS/2 a Macintosh. Tak sa postupom času funkcie
vyvinuté pre sálové systémy presunuli do mikropočítačov.
Obrázok 6 Migrácia konceptov a funkcií operačných systémov
Studenovský: Operačné systémy 1 Vývoj 9
10 Výpočtové prostredia
Teraz, keď sme prebrali vývoj operačných systémov, od prvých ručných systémov cez
multiprogramové a time–shared systémy k PC a počítačom do ruky, môžeme sa zaoberať prehľadom
toho, ako sú tieto systémy používané v rozličných nastaveniach výpočtových prostredí.
10.1 Tradičné výpočty
Ako sa výpočtová technika rozvíja, miznú deliace čiary medzi mnohými tradičnými prostrediami.
Porovnajme „typické kancelárske prostredie“. Ešte pred pár rokmi toto prostredie pozostávalo z PC
spojenými do siete so servermi, zabezpečujúcimi súborové a tlačové služby. Diaľkový prístup bol
nemotorný a prenositeľnosť bola dosiahnutá laptopmi. Terminály pripojené na sálové počítače boli
bežné v mnohých firmách. Súčasný trend vedie smerom viac sprístupňovať tieto prostredia.
Webové technológie rozširujú hranice tradičných výpočtov. Firmy implementujú portály, ktoré
zabezpečujú webovú prístupnosť k ich interným serverom. Sieťové počítače sú v podstate
terminály, ktoré rozumejú webovo založeným výpočtom. Počítače do ruky sa dajú synchronizovať s
PC a tak dovoľujú prenosné používanie firemných informácií. Zároveň sa dokážu bezdrôtovo
pripojiť do siete k použitiu firemných web portálov. Mnoho užívateľov má doma jednoduché
počítače s pripojením do kancelárie a internetu. Rýchlosť sieťového pripojenia, kedysi
dosiahnuteľná iba pri veľkých nákladoch, je dnes veľmi lacná a tak umožňuje prístup k oveľa
väčšiemu množstvu dát vo firmách alebo z webu. Tieto rýchle dátové pripojenia umožňujú
domácim počítačom využívať služby webových stránok a vytvárať vlastné siete s tlačiarňami,
klientmi PC a servermi. Niektoré domáce počítače dokonca majú
bezpečnostnú stenu (Firewall) na ochranu ich domáceho prostredia od bezpečnostných narušení.
10.2 Webové výpočty
Web sa stáva všadeprítomným, vedúc k väčším prístupom pomocou zariadení, o ktorých sa pred
pár rokmi iba snívalo. PC sú stále najviac prevažujúce prístupové zariadenia, hoci pracovné stanice
(graficky špecializované PC), PDA a dokonca mobilné telefóny už tiež ponúkajú možnosť prístupu.
Webové výpočty zvýšili dôraz na sieťovaní. Zariadenia, ktoré neboli predtým pripojené, teraz majú
drôtový alebo bezdrôtový prístup. Zariadenia, ktoré boli pripojené v poslednej dobe, majú vyššiu
rýchlosť pripojenia. Implementácia na webe založených výpočtov dáva vzniknúť novým kategóriám
zariadení, ako sú opakovače, ktoré distribuujú sieťové pripojenia medzi niekoľkými rôznymi
servermi. Operačné systémy ako Windows 95, ktoré sa správali ako weboví klienti, sa vyvinuli do
Windows 2000 a Windows XP, ktoré sa správajú ako webové servre takisto aj ako klienti.
10.3 Vložené výpočty
Vložené (Embedded) počítače sú prevažujúcou formou existencie výpočtovej techniky. Bežia pod
vloženými, v reálnom čase bežiacimi operačnými systémami. Tieto zariadenia sa dajú nájsť všade od
áut cez továrenských robotov až po mikrovlne rúry. Sú určené na veľmi špecifické úlohy. Ich
systémy sú bežne primitívne, nevyžadujú ďalšie funkcie, ako je napríklad virtuálna pamäť alebo
dokonca disky. Takéto operačné systémy ponúkajú ohraničené funkcie. Obyčajne majú malé alebo
žiadne užívateľské rozhranie; preferujú trávenie času na monitorovanie a ovládanie hardvérových
zariadení napríklad, ako sú automobilové systémy a robotické ruky. Ako príklad porovnajme
predtým spomenuté firewally a opakovače. Niektoré sú všeobecne účelové počítače, bežiace pod
štandardným operačným systémom, so špecificky účelovými aplikáciami na implementovanie ich
funkčnosti. Iné sú hardvérové zariadenia so špecifickým operačným systémom, zabezpečujúcim
práve požadovanú funkčnosť. Použitie vložených systémov expanduje. Sila týchto zariadení, aj ako
samostatné jednotky, aj ako členovia sietí a Webu, bude sa určite zväčšovať. Celé domy budú
komputerizované, doma bude centrálny, všeobecne účelový počítač alebo vložené systémy riadiace
kúrenie a osvetlenie, alarm, alebo aj varič kávy. Webový prístup umožní domácemu povedať domu,
aby zakúril predtým, ako príde domov. Jedného dňa chladnička zavolá do potravín, keď zistí, že
dochádza mlieko.
Studenovský: Operačné systémy 1 Vývoj 10
11 Zhrnutie
Operačné systémy sa rozvíjali za posledných 60 rokov pre dva hlavné dôvody. Za prvé, operačný
systém sa pokúša rozvrhnúť výpočtové aktivity na dosiahnutie dobrého výkonu celého výpočtového
systému. Za druhé, poskytuje pohodlné prostredie na vývoj a vykonanie programov. Spočiatku boli
výpočtové systémy používané z hlavnej konzoly. Softvér, ako assembler, loader, linkovač a
kompilátor zvýšili pohodlie programovania, ale tiež potrebovali podstatný spúšťací čas. Na redukciu
spúšťacieho času si firmy najali operátorov a dávkovali podobné úlohy. Dávkové systémy
umožňujú automatické radenie jobov pomocou rezidentného operačného systému a výdatne zlepšili
celkové využitie počítača. Počítač už nepotrebuje čakať na ľudský zásah. Využitie CPU bolo stále
malé, kvôli pomalej rýchlosti I/O zariadení relatívne k CPU. Ofline operácie pomalých zariadení
poskytujú prostriedky na použitie viacerých čítač–páska a páska– tlačiareň systémov pre jedno
CPU. Na zlepšenie celkového výkonu výpočtového systému, vývojári zaviedli koncept
multiprogramovania, takže niekoľko jobov môže byť držaných v pamäti v jednom momente. CPU sa
medzi nimi prepína na zvýšenie výkonu a zníženie celkového času potrebného na vykonanie jobov.
Multiprogramovanie tiež umožňuje zdieľanie času. Time–shared operačné systémy umožňujú
viacerým užívateľom (od jedného po stovky) využívať výpočtový systém interaktívne v rovnakom
čase. PC sú mikropočítače; sú porovnateľne menšie a lacnejšie ako sálové systémy. Operačné
systémy pre tieto počítače ťažili z vývoja operačných systémov pre sálové počítače niekoľkými
spôsobmi. Hoci, odkedy jednotlivec má možnosť používať počítač, využitie CPU už nie je primárna
úloha. Preto niektoré rozhodnutia dizajnu urobené pre operačné systémy sálových počítačov nie sú
vhodné pre tieto menšie systémy. Iné rozhodnutia dizajnu sú zhodné pre obe, ako napríklad tie
ohľadom bezpečnosti, keďže teraz PC môže byť spojené s inými užívateľmi cez sieť alebo Web.
Paralelné systémy majú viac ako jedno CPU v uzavretej komunikácii; procesory zdieľajú výpočtovú
zbernicu a niekedy aj pamäť a vonkajšie zariadenia. Takéto systémy majú zvýšenú priepustnosť a
zosilnenú spoľahlivosť. Distribuované systémy dovoľujú zdieľanie zdrojov na geograficky
vzdialených hostiteľoch. Skupinové systémy dovoľujú viacnásobným počítačom vykonávať výpočty
na dátach obsiahnutých na zdieľanom úložisku a necháva výpočty pokračovať v prípade chyby
nejakej podmnožiny členov skupiny. Tvrdý v reálnom čase bežiaci systém sa často používa ako
riadiace zariadenie v priradených aplikáciách. Tento systém má dobre definované pevné časové
obmedzenia. Vykonávanie musí byť vykonávané v súlade s danými časovými obmedzeniami,
pretože ináč systém zlyhá. Mäkké v reálnom čase bežiace systémy majú menej prísne časové
obmedzenia a nepodporujú deadline rozvrhovanie. V poslednej dobe vplyv Internetu a WWW
podporil vývoj moderných operačných systémov, ktoré obsahujú webové prehliadače, sieťový a
komunikačný softvér ako integrovanú súčasť. Ukázali sme logické napredovanie vývoja operačných
systémov. Tento trend môže byť viditeľný dnes vo vývoji PC s finančne nenáročným a postupne
zlepšujúcim sa hardvérom zabezpečujúc tak dostatočné zlepšenie charakteristík.
Studenovský: Operačné systémy 1 Vývoj 11
Download

1 Vyvoj.pdf