Download
opera n syst my n.
Skip this Video
Loading SlideShow in 5 Seconds..
Opera č n é syst é my PowerPoint Presentation
Download Presentation
Opera č n é syst é my

Opera č n é syst é my

98 Views Download Presentation
Download Presentation

Opera č n é syst é my

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Operačné systémy

  2. História OS

  3. Čo je OS • Operačný systém (OS) je program fungujúci ako prostredník medzi používateľmi a hardvérom (technickým vybavením) počítačového systému. Vytvára prostredie pre spúšťanie programov používateľov. Hlavným cieľom je zabezpečenie pohodlného prístupu používateľov k programom a efektívne využívanie hardvéru. Podľa širšej definície je operačný systém všetko, čo dostanete v krabici s OS – kompilátory, editory, GUI nadstavby... Podľa odbornej definície je OS iba program, ktorý neustále beží na počítači – tzv. výkonné jadro (kernel) operačného systému. • Počítačový systém sa dá rozdeliť na štyri časti: • hardvér: CPU, pamäť (primárna a sekundárna) a V/V (vstupno-výstupné) zariadenia systému; • operačný systém: koordinuje celý počítačový systém, prideľuje zdroje, kontroluje ich použitie; • aplikačné programy: prekladače, databázy, hry (špeciálne sú tzv. nástroje na správu systému – programy na kontrolu disku, formátovanie diskiet, zavádzanie používateľov apod.); • používatelia. (Je trochu nesympatické považovať používateľov systému za jeho súčasť).

  4. Privilégia – úrovne prístupu • Mikroprocesory Intel 386+ a Pentium+ majú možnosť pracovať v štyroch úrovniach oprávnenia. (Úroveň 0 je úrovňou s najvyššími právami.) Ich využitie je odporúčané takto: • Privilege Level 0 jadro operačného systému (riadenie mikroprocesora, V/V operácií,...), • Privilege Level 1 služby poskytované operačným systémom (organizácia V/V, ...), • Privilege Level 2 systémové programy a podprogramy knižníc, • Privilege Level 3 používateľské aplikácie.

  5. Architektúra OS • Veľký a zložitý systém, akým je OS, sa dá vytvoriť a spravovať, ak pozostáva z menších častí s dobre definovaným rozhraním a chovaním. Rozdelenie komponent je vo všeobecnosti takéto: • Správa procesov • Operačný systém by mal umožniť • vytváranie a ukončovanie procesov, • pozastavenie a reaktiváciu procesov, • synchronizáciu procesov a • komunikáciu medzi procesmi (aj po sieti). • Správa (primárnej) pamäte • odkladanie stránok (odkladanie nepotrebných stránok na disk a ich spätné nahrávanie do pamäte), • simulovaná vyrovnávacia pamäť disku, • prehľad o obsadenosti úsekov pamäte, • prideľovanie pamäte novým procesom a • prideľovanie pamäte procesom žiadajúcim o ďalšiu pamäť (a jej navracanie). • Správa sekundárnej pamäte • Správa periférnych zariadení • Správa súborov • Používateľské rozhranie • Textové používateľské rozhranie používa pre vstup údajov klávesnicu a pre výstup monitor terminálu. • Grafické používateľské rozhrania (GUI – Graphical User Interface) používajú pre vstup myš a klávesnicu.

  6. Správa súborov • Súbory a adresáre sú organizované hierarchicky (Existuje hlavný adresár ( nazýva sa root), ktorý je vždy ľahko detekovateľný operačným systémom. Rootovský adresár ukazuje na ďalšie adresáre/súbory. Jeho (pod)adresáre ukazujú na ďalšie adresáre atď. Vzniká tak tzv. stromová štruktúra adresárov. • Atribúty sú vlastnosti súboru či adresára. Bývajú uložené mimo tela (obsahu) súboru, napríklad v adresári (u MS-DOSu a Windows 95/98/ME) či v hlavičke súboru Okrem iného sem patria typ súboru, jeho umiestnenie, veľkosť, prístupové práva, časové údaje a údaje o vlastníkovi. Názov súboru býva uložený v adresári. • Operácie so súbormi zabezpečované operačným systémom sú vytvorenie/zrušenie/skrátenie súboru, zápis do súboru, čítanie dát zo súboru, presun virtuálneho ukazovateľa pre čítanie resp. zápis na určitú pozíciu v súbore. Súbor, s ktorým sa pracuje, označujeme ako otvorený, po skončení práce sa súbor uzavrie. • Hlavné metódy prístupu k súborom sú (z pohľadu programátora) sekvenčný prístup (akoby bol súbor na páske) a priamy prístup (umožňuje čítať a zapisovať na rôznych pozíciách súboru). Detaily implementácie pritom vykrýva operačný systém. • Prístupové práva: Práva sa týkajú čítania (read) súboru, zápisu (write) do súboru a vykonávania (execute) súboru (ak je povolené vykonávanie, očakáva sa, že súbor je programom alebo skriptom). Označujeme ich skratkami: r, w, x

  7. Správa procesov • Proces je úloha (program) zavedená do pamäte na vykonanie. Ak desať používateľov používa napríklad textový editor vi, spustili jediný program (v pamäti sa nachádza iba raz), ale ide o desať samostatných procesov. • Proces pozostáva z kódu programu (v našom príklade jediný v pamäti) a dát procesu (globálne dáta, zásobníky zodpovedajúce postupnosti volaní podprogramov a hromada, ktorá slúži na prideľovanie ďalšej pamäte). Toto spolu s hodnotami registrov počítača charakterizuje proces v operačnom systéme na danom počítači. • Stav procesu vyjadruje vzťah OS a procesu. Proces môže byť novovytvorený (new), bežiaci (running, práve je vykonávaný pomocou CPU), pripravený (ready, čaká na pridelenie CPU), čakajúci (waiting, nevykonáva sa, pretože čaká na dokončenie I/O požiadavky, na komunikáciu s iným procesom, na uplynutie zadaného časového úseku alebo na ukončenie činnosti svojho potomka) a ukončený (terminated, skončil prácu alebo bol násilne ukončený a systém ho z pamäte odstráni).

  8. Správa primárnej pamäti • Dynamické zavedenie (dynamic loading) programov. Procedúra sa nenačíta z disku do pamäte, kým nie je po prvýkrát volaná z programu. Je to výhodné pri málo využívaných funkciách programu. Nevýhodou je časové zdržanie na prvé volanie každej procedúry. • Dynamické zostavovanie (dynamic linking). Tu sa niektoré procedúry nepíšu, ale už ich niekto umiestnil v knižniciach a tie sa k programu pridávajú až počas jeho behu (a prvého zavolania funkcie z knižnice). Ide o dynamické knižnice Unixu či „dll“ súbory Windows. Výhodou je menšia spotreba miesta na disku, keďže napríklad vstupno-výstupné procedúry nemusí obsahovať každý program, stačí odkaz na ne do knižnice. Nevýhodou je, že ak chceme zmeniť knižnice, nastáva problém kompatibility. • Prekrývanie (overlay). Často sa určité časti programov využívajú len v určitom čase (napríklad pri štartovaní programu), potom môžu byť prepísané zvyšnou časťou programu. Je to skôr vecou prekladača než OS, pri programovaní pre MS-DOS to podporuje napríklad Borland Pascal i Borland C/C++. • Odkladanie stránok na disk (paging). To sme si už spomínali, má ho každý moderný operačný systém a umožňuje využívať viac pamäte, než sa fyzicky nachádza v počítači. Staršie operačné systémy odkladali na pevný disk celé procesy (swapovali), dnes sa odkladajú len časti procesov – najmenej používané stránky (stránkovanie). Medzi používateľmi a tvorcami počítačov a operačných systémov sa však zaužíval určitý žargón, v ktorom sa procesu stránkovania nešťastne hovorí svapovanie či odkladanie na disk. V lepšom prípade sa hovorí o odkladaní stránok do súboru resp. na samostatnú partíciu (partícia je logický disk vytvorený na fyzickom disku, diskový zväzok).

  9. Prideľovanie primárnej pamäte Existujú tri metódy alokácie primárnej (operačnej) pamäte. • Súvislá alokácia • Pri súvislej alokácii pamäte je LAP procesu uložený v súvislej oblasti FAP. Jedna oblasť FAP (typicky oblasť nižších adries obsahujúca aj vektory prerušení) je vyhradená pre jadro operačného systému. Zvyšok pamäte je vyhradený procesom. Rozoznávame • Stránkovanie • Stránkovanie rieši problémy fragmentácie. Program už nezaberá jednoliaty celok v pamäti ale je rozdelený na malé stránky (o veľkosti niekoľko KB). Tabuľka stránok procesu potom určuje pridelenie (mapovanie) stránok. Logická adresa (napríklad premennej) je určená číslom stránky (v tabuľke stránok procesu) a ofsetom na danej stránke. • Segmentácia • Segmentácia je voči procesom menej násilná než stránkovanie. Segmenty môžu mať rôzne veľkosti, a teda pre programátora prijateľnejšie uchovávajú navzájom súvisiace bloky programu a dát. • Segmentované stránkovanie • Segmentované stránkovanie kombinuje výhody segmentácie i stránkovania. Prvotná fáza prevodu logickej adresy procesu na fyzickú adresu je segmentácia, kedy dostaneme lineárnu adresu. Až priestor lineárnych adries je rozdelený na stránky, ktorým sú pridelené rámce. • Virtuálna pamäť – odkladanie stránok na disk • Najpoužívanejšou metódou rozšírenia operačnej pamäte na zdanlivo (resp. virtuálne) väčšiu je stránkovanie na žiadosť, celým názvom operačným systémom spravované odkladanie stránok procesov v prípade ich výpadku, t.j. iného umiestnenia, než vo fyzických čipoch primárnej (operačnej) pamäte.

  10. Ochrana a zabezpečenie • Ochrana • Ochrana musí procesu dovoliť prístup iba k zdrojom, ku ktorým má povolenie (právo) pristupovať. Abstraktne hovoríme o doméne ochrany – množine zdrojov (CPU, pamäť, súbory, I/O) a množine povolených operácií so zdrojmi. Patrí sem napríklad implementácia súborovej ochrany (Windows NT, Unix, Novell NetWare), pričom platí, že čím väčšia možnosť napadnutia, tým prepracovanejšia musí byť ochrana. • Zabezpečenie • Kým ochrana je vnútorný mechanizmus operačného systému, zabezpečenie je ochranou na vyššej úrovni (proti neoprávnenému čítaniu (krádeži) dát, neoprávnenému vymazaniu ale aj modifikácii údajov) – môže ísť o obranu proti zlomyseľným prístupom, chybným programom a chybujúcim používateľom. • Zabezpečenie zahŕňa vytvorenie fyzickej bariéry pre prístup ku konzole. Autentifikácia prebieha rôznymi spôsobmi • fyzickým kontaktom (odtlačok prstu, hlasová identifikácia, snímkovanie sietnice (očného pozadia), overenie podpisu, kontrola DNA), • predmetom (kľúč, identifikačná karta, dotykové čipy), • heslom. • Alebo (samozrejme) kombináciou použitých metód.

  11. Narušenie bezpečnosti • Narušeniu zabezpečenosti sa dá len ťažko (z dlhodobého hľadiska) vyhnúť. K prezradeniu údajov napríklad môže dôjsť po ukradnutí pevného disku. (Tu je riešením kódovanie citlivých údajov na disku. Krádežou síce o dáta prídeme, nedôjde však k ich prezradeniu. • Rozoznávame niekoľko druhov programov slúžiacich na narušenie bezpečnosti: • Trójske kone sú programy sľubujúce urobiť niečo, ale robia niečo iné. Zadné dvierka. Má ich takmer každý systém (vojenské i bankové) nevyvíjaný tímom spolupracovníkov z rôznych firiem, ktorí si programy navzájom kontrolujú. Ako zadné dvierka je označované tajné naprogramovanie postupu umožňujúceho nedovolené pripojenie sa autora programu do systému, na ktorom nemá konto. Zadné dvierka si v prvých rokoch ponechali napríklad vývojári Unixu...  • Červ (worm). Červ je samostatný program, ktorý sa intenzívne množí až zahltí sieť. Často ide o nevydarený vírus. • Antivírus je program, ktorý sa chová presne ako vírus, avšak neničí všetky programy, len odstraňuje jeden konkrétny vírus z napadnutých programov (ak ho nájde). • Softvérová bomba je program, ktorý prenikne do operačného systému a po určitom čase (časovaná bomba) prejaví svoju deštrukčnú činnosť.. • Špión je autonómny softvérový mobilný agent. Je to program podobný vírusu. Dostane sa (aj relatívne komplikovanými bariérami) do systému, aby odtiaľ získal nejaké informácie. • Trpaslík je „neškodný“ vírus, ktorý naopak môže používateľovi dokonca pomáhať. Existuje trpaslík zhusťujúci dáta ukladané na disk, takže sa ich tam vojde omnoho viac... • Škriatok je menej príjemný než trpaslík. Používateľa obťažuje napríklad vypisovaním „Prosím stlačte Enter” (a na stlačenie klávesu naozaj čaká) alebo je to mucha lezúca po obrazovke alebo ide o autíčko čas od času s hrmotom prefrčiace po obrazovke počítača...