Presentation is loading. Please wait.

Presentation is loading. Please wait.

Operačné systémy Čo robí operačný systém ?

Similar presentations


Presentation on theme: "Operačné systémy Čo robí operačný systém ?"— Presentation transcript:

1 Operačné systémy Čo robí operačný systém ?
Organizácia počítačového systému Architektúra počítačového systému Činnosti operačného systému Všeobecné funkcie prerušení Spracovanie prerušenia Štruktúra úložiska Pamäťová hierarchia Hardvérová ochrana Štruktúra operačného systému

2 Ciele Poskytnúť prehľad komponentov operačných systémov
Poskytnúť pokrytie organizácie základných počítačových systémov

3 Čo je operačný systém? Program, ktorý pôsobí ako sprostredkovateľ medzi používateľom počítača a hardvérom počítača. Ciele operačného systému: Vykonávať používateľské programy a uľahčovať riešenie používateľských problémov. Robiť počítačový systém vhodným na používanie. Používať hardvér počítača účinným spôsobom.

4 Štruktúra počítačového systému.
Počítačový systém je možné rozdeliť na 4 súčasti. Hardvér – poskytuje základné výpočtové zdroje: CPU, pamäť, V/V zariadenia Operačný systém Riadi a koordinuje použitie hardvéru medzi rôznymi aplikáciami a používateľmi Aplikačné programy – definujú spôsoby , ktorými sú systémové zdroje používané na riešenie výpočtových problémov používateľov Textové procesory, kompilátory, prehliadače webových stránok, databázové systémy, videohry Používatelia Ľudia, stroje, iné počítače

5 Štyri súčasti počítačového systému
Používateľ 1 Používateľ 2 Používateľ 3 Používateľ 1 kompilátor asembler textový editor databázový systém Systémové a aplikačné programy Operačný systém Hardvér počítača

6 Definícia operačného systému
OS je prideľovač zdrojov Spravuje všetky zdroje Rozhoduje medzi požiadavkami, ktoré vyvolávajú konflikt pre účinné a regulárne použitie zdroja OS je riadiaci program Riadi vykonávanie programov kvôli predchádzaniu chybám a nesprávnemu použitiu počítača

7 Definícia operačného systému (pokračovanie)
Neexistuje univerzálne prijateľná definícia „Všetko, čo predajca dodá, keď si objednáte operačný systém“ je dobrá aproximácia definície Ale dosť široko sa rôzni „Jadro (kernel)“ je jediný program, ktorý je vykonávaný v každom čase v počítači. Všetky ostatné programy patria buď medzi systémové programy (dodávané s operačným systémom) alebo medzi aplikačné programy.

8 Naštartovanie počítača
Program na zavedenie operačného systému (bootstrap program) je zavedený buď zapnutím počítača (t.j.pripojením k elektrickej sieti) alebo znovuzavedením Zvyčajne je uchovávaný v ROM alebo EPROM, všeobecne známy ako firmware Inicializuje všetky súčasti systému Zavádza jadro operačného systému a štartuje vykonávanie

9 Organizácia počítačového systému
Činnosť počítačového systému Jeden alebo viac procesorov, riadiace jednotky zariadenia prepojené prostredníctvom spoločnej zbernice poskytujúcej prístup k zdieľanej pamäti (shared memory) Súbežná činnosť CPU a V/V zariadení myš klávesnica tlačiareň disky RJ diskov grafický adaptér pamäť

10 Činnosť počítačového systému
V/V zariadenia a CPU môžu byť v činnosti súbežne(súčasne). Každá riadiaca jednotka zariadenia zodpovedá za činnosť zariadenia určitého typu. Každá riadiaca jednotka zariadenia má lokálnu vyrovnávaciu pamäť. CPU prenáša dáta z/do hlavnej pamäte do/z lokálnych vyrovnávacích pamätí. V/V prebieha zo zariadenia do lokálnej vyrovnávacej pamäte riadiacej jednotky zariadenia. Riadiaca jednotka zariadenia informuje CPU, že ukončila operáciu tým, že vyvolá (spôsobí) prerušenie.

11 Všeobecné funkcie prerušení
Prerušenie odovzdá/prenesie riadenie všeobecne procedúre na obsluhu prerušenia, prostredníctvom vektora prerušenia, ktorý obsahuje adresy všetkých obslužných procedúr (routines). Architektúra prerušenia (prerušovacieho systému) musí uchovať adresu prerušenej inštrukcie. Prichádzajúce prerušenia sú zakázané zatiaľ kým iné prerušenie je spracovávané, aby sa zabránilo strate prerušenia. Trap - je softvérom generované prerušenie zapríčinené buď chybou alebo požiadavkou používateľa. Operačný systém je riadený prerušeniami.

12 Štruktúra vstupu a výstupu
Synchrónna metóda: Po štarte V/V sa riadenie vráti používateľskému programu až po dokončení V/V operácie. Inštrukcia „Wait“ uvedie CPU do nečinnosti až do príchodu nasledujúceho prerušenia (programová) čakacia slučka (súperenie o prístup do pamäti). Nanajvýš jedna požiadavka na V/V je nevybavená v danom čase. Nejestvuje súčasné spracovávanie V/V. Asynchrónna metóda: Po štarte V/V operácie sa riadenie vráti používateľskému programu bez toho, aby sa čakalo na dokončenie V/V operácie. Systémové volanie - System call – požiadavka na operačný systém, aby dovolil používateľovi čakať na dokončenie V/V Tabuľka stavu zariadenia obsahuje položku pre každé V/V zariadenie, ktorá označuje jeho typ, adresu a stav

13 Dve metódy V/V Synchrónna metóda Asynchrónna metóda Synchronous
používateľ používateľ Synchrónna metóda Asynchrónna metóda Synchronous Asynchronous pužteľ pužteľ použteľ použteľ čas čas jadro jadro

14 Tabuľka stavu zariadenia

15 Priamy prístup do pamäti
Používaný pre vysokorýchlostné V/V zariadenia schopné prenášať informáciu rýchlosťami blízkymi rýchlosti hlavnej pamäti. Riadiaca jednotka zariadenia prenáša bloky dát z vyrovnávacej pamäti (buffer) priamo do hlavnej pamäti bez zásahu CPU. Len jedno prerušenie je generované na blok namiesto jedného prerušenia na 1 bajt.

16 Štruktúra pamäti Hlavná pamäť – je jediné veľké pamäťové médium, ku ktorému môže CPU pristupovať priamo. Sekundárna pamäť – je rozšírenie hlavnej pamäti. Poskytuje veľkú energeticky nezávislú pamäťovú kapacitu. Magnetické disky – pevné kovové alebo sklenené platne pokryté magnetickým záznamovým materiálom Povrch disku je logicky rozdelený na stopy, ktoré sú ďalej rozdelené na sektory. Riadiaca jednotka disku určuje logické spolupôsobenie medzi zariadením a počítačom.

17 Hierarchia pamäti Pamäťové systémy sú organizované hierarchicky podľa:
Rýchlosti Ceny Nestálosti (Energetickej závislosti) Caching – kopírovanie informácií do rýchlejšieho pamäťového systému; hlavná pamäť môže byť považovaná za poslednú pamäť typu cache pre sekundárnu pamäť.

18 Hierarchia pamäťových zariadení

19 Používanie rýchlej vyrovnávacej pamäti typu cache
Dôležitý princíp, vykonávaný na mnohých úrovniach v počítači (hardvérovej, softvérovej, v operačnom systéme) Používaná informácia je dočasne skopírovaná z pomalšej pamäti do rýchlejšej pamäti Rýchlejšia pamäť (tzv. cache) najprv preveruje, či sa informácia v nej nachádza Ak sa nachádza, tak sa informácia použije priamo z pamäti cache Ak sa nenachádza, dáta sa najprv skopírujú do pamäti cache a potom sa použijú Ak je pamäť typu cache menšia než pamäť, z ktorej sa do nej kopíruje Správa pamäti cache predstavuje dôležitý problém pri návrhu Veľkosť pamäti typu cache a politika kopírovania

20 Výkon rôznych úrovní pamäti
Pohyb medzi úrovňami hierarchie pamätí môže byť explicitný alebo implicitný

21 Presun celého čísla A z disku do registra
Viacúlohové prostredia musia byť opatrné pri použití najčerstvejšej hodnoty bez ohľadu na to, kde je uložená v hierarchii pamätí. Multiprocesorové prostredie musí poskytnúť logickú súvislosť v hardvéri takú, že všetky CPU majú najčerstvejšiu hodnotu vo svojej pamäti typu cache Situácia v distribuovanom prostredí je dokonca ešte zložitejšia Môže existovať niekoľko kópií jedného údaja Rôzne riešenia tohto problému sú uvedené v samostatnej kapitole magnetický disk hlavná pamäť hardvérový register

22 Štruktúra operačného systému
Multiprogramovanie potrebné pre účinnosť/hospodárnosť Jediný používateľ nevie udržať CPU a V/V zariadenia zamestnané po celý čas Multiprogramovanie organizuje úlohy (úloha=job=kód a dáta) tak, že CPU má vždy jednu na vykonanie Podmnožina všetkých úloh (jobs) v systéme je udržiavaná v pamäti Jedna úloha je vybratá a spustená prostredníctvom plánovača úloh Keď táto úloha má čakať (napríklad na V/V), operačný systém prepne na vykonávanie inej úlohy Timesharing (multitasking) je logické rozšírenie, pri ktorom CPU prepína úlohy tak často, že požívateľ môže vzájomne pôsobiť na každú úlohu, pokiaľ sa vykonáva, vytvárajúc tak interaktívnu prácu na počítači Čas odozvy by mal byť < 1 sekunda Každý používateľ má aspoň jeden vykonávaný program v pamäti proces Ak je niekoľko úloh pripravených na vykonávanie v tom istom čase  plánovanie procesov Ak sa procesy nezmestia do pamäti, odkladanie (swapping) ich presúva do a z pamäti, aby sa vykonávali Virtuálna pamäť dovoľuje vykonávanie procesov, ktoré nie sú celé umiestnené v pamäti

23 Usporiadanie pamäte pre multiprogramové systémy
Operačný systém Úloha (job) 1 Úloha (job) 2 Úloha (job) 3 Úloha (job) 4

24 Činnosti operačného systému
Riadený prerušeniami od hardvéru Softvérová chyba vytvára softvérové prerušenie tzv. trap Delenie nulou, požiadavka na službu operačného systému Ďalšie problémy procesov zahŕňajú nekonečnú (programovú) slučku, navzájom sa modifikujúce procesy, procesy modifikujúce operačný systém Činnosť operačného systému v duálnom móde dovoľuje operačnému systému, aby chránil seba a iné súčasti systému Používateľský mód a mód jadra Bit módu poskytovaný prostredníctvom hardvéru Poskytuje schopnosť odlíšiť kedy systém vykonáva používateľský kód a kedy kód jadra OS Inštrukcie označené ako privilegované sú vykonateľné len v móde jadra Systémové volanie mení mód na mód jadra, návrat zo systémového volania mód znovu nastaví na používateľský mód

25 Prechod z používateľského módu do módu jadra
Časovač, aby sa predišlo nekonečnej slučke: Nastaví prerušenie po špecifickom časovom úseku Operačný systém dekrementuje počítadlo Keď počítadlo dosiahne nulu, vyvolá prerušenie Set up before scheduling process to regain control or terminate program that exceeds allotted time

26 Ochrana Ochrana – akýkoľvek mechanizmus pre riadenie prístupu procesov alebo užívateľov k zdrojom definovaný OS-om Hardvérová ochrana - hardvér treba chrániť aj pred poruchovými programami Veľa programových chýb detekuje hardvér. Tieto chyby sú spravidla ošetrované operačným systémom. V multiprogramovom systéme sa môže stať chyba – jeden chybný program môže modifikovať program alebo dáta iného programu alebo dokonca samotného rezidentného monitora (OS). MS-DOS a Macintosh OS umožňujú tento druh chýb.

27 Hardvérová ochrana Ak užívateľský program zlyhá – ilegálna inštrukcia alebo snaha pristúpiť k pamäti, ktorá nie je v užívateľskom adresovom priestore – trap Odlúčenie (trap) prenesie riadenie cez vektor prerušení na OS, rovnako ako prerušenie. Kedykoľvek sa vyskytne programová chyba, operačný systém musí abnormálne ukončiť program. Príslušné chybové hlásenie je vydané a pamäť programu môže byť vypísaná. Výpis z pamäte je zvyčajne zapísaný do súboru, a tak programátor môže vyšetriť situáciu, opraviť a reštartovať program.

28 Ochrana V/V zariadení Užívateľský program môže rozvrátiť normálnu činnosť systému vydaním nelegálnej I/O inštrukcie, pristupovaním do pamäťových miest vo vnútri samotného OS, alebo odmietnutím zriecť sa procesora. Riešenie – všetky V/V inštrukcie sú definované ako privilegované. Užívateľský program nikdy nemôže získať riadenie počítača v monitorovom móde (v móde OS).

29 Pamäťová ochrana Zabezpečenie správnej činnosti – chrániť vektor prerušení od modifikácie užívateľským programom + chrániť obslužné programy prerušení v OS od modifikácie Všeobecne, chceme chrániť OS od prístupu z užívateľských programov a tiež chrániť užívateľské programy navzájom. Táto ochrana musí byť poskytnutá hardvérom. Môže byť implementovaná viacerými spôsobmi. Aby sme oddelili pamäťový priestor pre každý program, potrebujeme mať schopnosť vymedziť rozsah legálnych adries, ktoré program môže sprístupňovať, a chrániť pamäť mimo tohto priestoru – napr.použitím bázového a limitného registra. Bázový register drží najmenšiu legálnu fyzickú pamäťovú adresu Limitný register obsahuje veľkosť rozsahu Napr. BR: , LR: – program môže legálne pristupovať ku všetkým adresám od do vrátane.

30 Ochrana procesora K chráneniu V/V a pamäte je potrebné navyše zabezpečiť, že OS si bude udržiavať riadenie. Je potrebné zabrániť užívateľskému programu uviaznuť v nekonečnom cykle, zabrániť nevráteniu riadenia operačnému systému, zabrániť nevolaniu systémových služieb. Časovač (timer) môže byť nastavený na prerušenie práce počítača po špecifikovanej perióde. Perióda môže byť pevná (napr. 1/60 sekundy), alebo premenlivá (napr. od 1 milisekundy po 1 sekundu) Variabilný časovač je implementovaný ako hodiny s pevnou sadzbou a počítadlom. Predtým ako sa vráti riadenie užívateľovi, OS zabezpečí, že časovač sa nastaví na prerušenie. Časovač môže zabrániť, aby užívateľský program bežal príliš dlho.

31 Návrh a implementácia operačného systému
Návrh a implementácia OS je „neriešiteľný” problém, avšak niektoré prístupy dokázali byť úspešné Vnútorná štruktúra rozličných operačných systémov sa môže široko meniť Štartuje sa definovaním cieľov a špecifikácií Ovplyvnená výberom hardvéru, typom systému Užívateľské ciele a Systémové ciele Užívateľské ciele – operačný systém má byť vhodný pre použitie, ľahký na naučenie, spoľahlivý, bezpečný, a rýchly Systémové ciele – operačný systém má byť ľahko použiteľný pre návrh, implementáciu, a údržbu, rovnako flexibilý, spoľahlivý, bez chýb, a účinný 33

32 Návrh a implementácia operačného systému
Dôležité princípy: Politika: Čo bude (u)robené? Mechanizmy: Ako to urobiť? Mechanizmy určujú ako čo urobiť, politiky rozhodujú čo bude robené Oddelenie politiky od mechanizmu je veľmi dôležitý princíp, to dovoľuje maximálnu flexibilitu ak rozhodnutia politiky majú byť zmenené neskôr 34

33 Jednoduchá štruktúra MS-DOS – napísaný tak, aby poskytoval čo najväčšiu funkčnosť na čo najmenšom priestore Nebol rozdelený na jednotlivé moduly (komponenty) Hoci MS-DOS má určitú štruktúru, jeho interfejs a úrovne funkčnosti nie sú dobre separované 35

34 Štruktúra vrstiev MS-DOS
36

35 Vrstvová štruktúra Operačný systém je rozdelený na niekoľko vrstiev (úrovní), každá vrstva je vybudovaná nad nižšou vrstvou. Najnižšia vrstva (vrstva 0), je hardvér; najvyššia vrstva (vrstva N) je užívateľské rozhranie. Hlavnou výhodou vrstvového prístupu je modularita, vrstvy sú selektované takým spôsobom, že každá používa iba funkcie (operácie) a služby vrstiev ktoré sú pod ňou. 37

36 Systémová štruktúra klasického UNIX
38

37 UNIX UNIX – je príkladom operačného systému, ktorý bol pôvodne tiež ohraničený funkčnosťou hardvéru. The UNIX OS pozostáva z dvoch separovaných častí: Systemové programy Jadro Pozostáva zo všetkého čo je pod rozhraniami systémových volaní a nad fyzickým hardvérom Poskytuje súborový systém, plánovanie CPU, správu pamäte, a iné funkcie operačného systému cez systémové volania; Jedná sa o veľké množstvo funkčnosti skombinovanej na jednej úrovni. Systémové volania definujú API UNIX, čo je množina systémových programov, ktorá je bežne prístupná a definuje užívateľské rozhranie. Programátorské a užívateľské rozhranie definuje obsah, ktorý musí jadro podporovať. 39

38 Vrstvový Operačný Systém
40

39 Mikrojadrová štruktúra systému
Hlavnou funkciou mikrojadra (mikrokernel) je zabezpečovať komunikáciu medzi klientským programom a rôznymi službami, ktoré tiež bežia v užívateľskom priestore. Komunikácia je poskytovaná posielaním správ. Klientský program a služba nikdy nekomunikujú priamo. Spravidla komunikujú nepriamo prostredníctvom vymieňania správ s mikrojadrom. Výhody: Jednoduchšie rozširovanie operačného systému (mikrokernelu) Výsledný operačný systém je ľahšie prenositeľný z jedného typu hardvéru na iný. Väčšia spoľahlivosť (nakoľko väčšina služieb beží ako užívateľské a nie ako kernelové procesy) Väčšia bezpečnosť Tru64 UNIX poskytuje UNIX užívateľské rozhranie, ale je implementovaný s jadrom operačného systému Mach. Operačný systém Apple Mac OS X Server je tiež založený na Mach kerneli. 41

40 Mac OS X Štruktúra 42

41 Moduly Väčšina moderných operačných systémov používa mikrokernelový prístup. Používa objektovo-orientovaný prístup Každý jadrový komponent je oddelený Každý hovorí s každým prostredníctvom známych interfejsov Každý je zavediteľný podľa potreby v rámci jadra Všeobecne, podobné vrstvám ale viac flexibilné 43

42 Modulárny prístup v Solarise
44

43 Virtuálne stroje Virtualny stroj má vrstvový prístup. Pokladá jadro operačného systému a hardvér, ako keby ony boli celý hardvér. Virtualny stroj poskytuje interfejs identický k základnému hardveru Hostiteľ operačného systému vytvára ilúziu pre užívateľský proces, akoby tento proces mal pre seba vlastný procesor a virtuálnu pamäť Každý hosť je vybavený (virtualnou) kópiou základného počítača 45

44 Virtuálne stroje (a) nevirtuálny stroj (b) virtuálny stroj
Non-virtual Machine Virtual Machine 46

45 Java Virtuálny stroj 47


Download ppt "Operačné systémy Čo robí operačný systém ?"

Similar presentations


Ads by Google