Anglická verze
logolink

< Zpět na seznam lekcí

Operační systémy I

ostatni-sinObsah lekce:

  • Definice
  • Funkce operačního systému
  • Dělení operačních systémů podle
  • Typy operačních systémů
  • Důležité pojmy (bootování, multitasking, jádro, proces, vlákna, ...)
  • Druhy OS (MS-DOS, Win, Linux, Unix, OS/2, Mac OS, Novell)

Definice

Jedná se o základní softwarové vybavení počítače. Je to v podstatě program, který nám umožňuje počítač ovládat. Tvoří rozhraní mezi aplikačními (uživatelskými) programy a hardwarem - organizace přístupu k datům, spouštění aplikací, řídí jejich průběh, přiděluje jim hardwarové prostředky (čas a místo v paměti a na procesoru, přístup k periferním zařízením, přístup k datovým souborům, atd.), poskytování služeb aplikačním programům. Zavádí se do operační paměti hned po zapnutí počítače ze zvláštní oblasti pevného disku, Boot Sector-u, kde jsou fyzicky uloženy jeho soubory - Do Boot Sector-u se OS uloží jenom při instalaci. Když se OS zkopíruje z jiného PC klasickým způsobem, počítač ho nenajde a nenačte do paměti, a nebude tedy s ním možno pracovat. Je to soubor programů, které řídí činnost technického vybavení počítače a umožňují a usnadňují činnost aplikací. Hlavním úkolem OS je zprostředkovat vazbu mezi technickým vybavením počítače a aplikacemi. OS poskytuje aplikacím služby a aplikace voláním těchto služeb ovládají technické vybavení počítače. Aplikace by neměly mít přímý přístup k technickému vybavení počítače.

Funkce operačního systému

  • Řídí a spravuje přístup ke zdrojům výpočetního systému - rozdělování času procesoru, přidělování operační paměti, přístup k vnějším pamětem (disk, CD ROM, DVD), správa komunikace s periferiemi (klávesnice, myši, tiskárny, scannery atd.).
  • Organizuje přístup k datům - zamezení neoprávněného přístupu.
  • Řídí zpracování úloh – jejich přípravu, plánování a průběh tak, aby byla zajištěna maximální efektivita jejich zpracování.
  • Podporuje komunikaci s uživatelem - provádění uživatelem zadaných příkazů a spouštění aplikací, informuje uživatele o vzniklých problémech či chybách.
  • Způsob, jakým uživatel dává pokyny pro OS a v jaké formě dostává zprávy o výsledku provedené operace, je označován jako uživatelské rozhraní (User Interface).
  • Existují v podstatě dvě formy uživatelského rozhraní - textové uživatelské rozhraní, např. MS-DOS, uživatel zadává pokyny prostřednictvím tzv. příkazového řádku, grafické uživatelské rozhraní (Graphical User Interface, GUI) – převážná většina současných operačních systémů, obvykle též možnost zapisovat příkazy v příkazovém řádku.

tlačítko
Textové uživatelské rozhraní.

tlačítko
Grafické uživatelské rozhraní.

  • Podporuje bezpečnost a spolehlivost výpočetního systému – formou různých úrovní přístupových práv apod.

Dělení operačních systémů podle

  • jednouživatelské/víceuživatelské
  • jednoúlohové/víceúlohové
  • nesíťové/síťové
  • úrovně sdílení CPU
  • velikosti HW
  • počtu procesorů
  • míry distribuovanosti
  • funkcí

Typy operačních systémů

  • Jednouživatelské jednoúlohové (single-user single-task) - žádné prostředky ochrany souborů a disků, neumožňuje běh více procesů (programů) najednou, například: MS-DOS
  • Jednouživatelské víceúlohové (single-user multi-task), multitasking, možnost paralelního (současného) běhu několika procesů, kooperativní multitasking, preemptivní multitasking, například: Windows 9x, Me, Windows XP
  • Víceuživatelské víceúlohové (multi-user multi-task) možnost zpracovávat požadavky více uživatelů přihlášených do systému, například: Windows NT, Windows 2000, Unix, Linux, Windows XP
  • Systémy s reálným časem (real-time) – zejména pro řízení technologických procesů

Důležité pojmy (bootování, multitasking, jádro, proces, vlákna, ...)

Multitasking

  • je funkce umožňující souběžné zpracování více úloh v jednom okamžiku, tzn. že běží několik procesů současně. Např. budu si prohlížet internetové stránky a pustím si k tomu hudbu. Běh takto dvou spuštěných aplikací je však pouze zdánlivý. Ve skutečnosti procesor běžící procesy rychle střídá a uživateli vzikne dojem, že běží současně. Přepínání mezi procesy se nazývá změna kontextu.
  • kooperativní multitasking - Řízení si navzájem předávají jednotlivé procesy, je velmi zranitelný. V tomto případě záleží na každé úloze, jak často svým systémovým voláním umožní předat řízení zpět operačnímu systému, aby mohlo dojít ke spuštění jiné úlohy. Velkou nevýhodou je ovšem, když úloha z důvodu chyby nepředá řízení nazpět. Tím je zastaveno provádění dalších úloh.
  • preemtivní multitasking - Zdroje přiděluje operační systém, havárie jednoho procesu neznamená ukončení práce celého systému. Funguje to tak, že v pravidelných intervalech, které nastanou 100 až 1000 krát do sekundy, dojde k přerušení právě běžící úlohy, aby systém zjistil, jaké další úlohy žádají o přístup na procesor a s jakou prioritou. Podle toho buď dostane přednost úloha jiná nebo se dále pokračuje v úloze právě prováděné.

Driver (ovladač, ovladač zařízení)

  • Jedná se o software, pomocí kterého dokáže operační systém zacházet s daným hardwarem - komunikovat s ním, obsluhovat ho. Spousta ovladačů je obsažena přímo v operačním systému, případně s aktualizacemi systému dochází k jejich doplňování. Proto často při zapojení např. tiskárny nepotřebujeme ovladače, které jsou se zařízením dodávané na CD nebo DVD. V takovém případě se může stát, že po připojení tiskárny pomocí USB dojde okamžitě k nalezení daného hardware a vyhledání příslušného ovladače. Pokud systém ovladač nenajde, nabízí se možnost aktualizovat systém nebo použít ovladač dodávaný s tiskárnou. Pokud použijeme přiložené CD nebo DVD, máme také možnost doinstalovat do počítače software, který nám rozšíří možnosti používání takovéto tiskárny.

Bootování

  • Zavádění operačního systému do operační paměti RAM po zapnutí počítače. Jde o sekvenci úkonů, které se provedou, aby došlo ke správnému spuštění počítač. Mezi ně patří také kontrola funkčnosti součástek počítače, aktivace připojených zařízení a poté dochází k nahrávání části operačního systému do paměti RAM. Pak se kontrola nad počítačem předá tomuto spuštěnému operačnímu systému.

Proces

  • spuštěný a zpracovávaný počítačový program
  • je umístěn v operační paměti počítače v podobě strojových instrukcí, které vykonává procesor v určitém sledu
  • obsahuje nejen kód vykonávaného programu, ale i dynamicky měnící se data, které se zpracovávají
  • jeden program může v počítači běžet jako více procesů s různými daty (např. vícekrát spuštěný webový prohlížeč zobrazující různé stránky)
  • správu procesů vykonává operační systém, který zajišťuje jejich oddělený běh, přiděluje jim systémové prostředky počítače a umožňuje uživateli procesy spravovat (spouštět, ukončovat atp.).

Vlákno (vlákno řízení, thread)

  • Vláknem se označuje odlehčený proces, který snižuje režie operačního systému při střídání procesů na procesoru. Proces se tedy může dělit na vlákna, která pak pomocí sdílené paměti usnadňují komunikaci - vlákno vlastní paměť nemá, sdílí ji společně s ostatními vlákny běžícími ve stejném procesu. Vlákna tak mohou přistupovat ke stejným datům současně. To ovšem může přinést riziko tzv. souběhu (race condition). Zaleží také na tom, jestli operační systém vlákna podporuje nebo ne. Pokud nepodporuje, každý proces má pouze jedno vlákno.
  • Výhody: program, kde se počítá určitý výpočet a přitom se výsledek zobrazuje v podobě grafu. Výpočet je však náročný a trvá systému několik vteřin, než jej vypočte. Pokud by byla aplikace pouze jednoprocesová a tento proces měl jen jedno vlákno, ve kterém by se vše vykonávalo popořádku (posloupnost instrukcí), pak by se program na několik vteřin "seknul" a až po dokončení výpočtu by se zase dostalo na vykreslení. Přitom vlákno nemusí ani odchytávat stisknuté klávesy a kliknutí myší. Pokud jedno vlákno bude počítat výsledek a druhé bude jenom vykreslovat graf, pak se může graf vykreslovat třeba pomalu (vlákna se střídají, takže se chvíli počítá a chvíli vykresluje), ale program stále poběží viditelně i pro uživatele (i v prvním případě běžel, ale nic viditelného se s ním nedělo).
  • Z hlediska spravování vláken OS můžeme vlákna rozdělit na: - vlákna na uživatelské úrovni (ULT) - správu vláken provádí tzv. vláknová knihovna na úrovni aplikačního procesu, jádro operačního systému o jejich existenci neví, - vlákna na úrovni jádra (KLT) - správa vláken je řízena OS

Druhy OS (MS-DOS, Win, Linux, Unix, OS/2, Mac OS, Novell)

MS-DOS

  • 1981 – firma Microsoft vytvořila první OS pro PC (pro firmu IBM)
  • DOS (diskový operační systém)
  • textový operační systém (příkazy se zadávaly slovy)
  • mohl běžet pouze jeden program - každý program měl jiné ovládání, pro práci se soubory různé nadstavby (Norton Commander, M602), vznikly první grafické nadstavby – Windows
  • napomohl obecnému rozšíření osobních počítačů IBM, pro které byl určen

Windows

Operační systémy od společnosti Microsoft, které jsou na osobních počítačích nejrozšířenější. Jeho označení plyne především ze způsobu práce s ním, kdy obsluha spočívá v práci s okny. Po DOSu nabídl Windows možnost pracovat na počítači s několika programy současně, tzn. podporoval multitasking. Postupně se přidávají další vylepšení, např. swapování (rozšíření operační paměti pomocí pevného disku). Nejdříve Windows běžel jako nástavba DOSu, jako poslední takto fungoval Windows Me (dá se říct, že tento systém byl takovým vylepšením Windows 98), pak už fungoval jako samostatný operační systém.

  • 1985 – Windows 1.0
  • 1987 – Windows 2.0
  • 1990 – Windows 3.0
  • 1992 – Windows 3.1
  • 1992 – Windows 3.1 for Workgroups - podpora sítě peer-to-peer
  • 1993 – Windows 3.11 for Workgroups, sdílení zdrojů, MS Mail
  • 1993 – Windows NT 3.1, verze pro pracovní statice (Workstation) a servery (Server)
  • 1993 – Windows NT 3.5 (vzápětí 3.51) - dlouhá jména souborů
  • 1995 – Windows 95 - výrazná změna v grafickém rozhraní, podpora plug-and-play
  • 1996 – Windows NT 4.0 - řada pro firemní počítače
  • 1998 – Windows 98 - řada pro domácí počítače, podpora USB, DVD přímo v OS
  • 1999 – Windows 98 SE - drobná vylepšení, spolehlivost
  • 2000 – Windows ME - poslední z řady 95 – 98 – ME, nespolehlivé
  • 2000 – Windows 2000 (NT 5.0) - sjednocení „firemní“ a „domácí“ řady
  • 2001 – Windows XP - bezpečnější, vylepšení multimediální stránky, odstranění chyb
  • 2003 – Windows Server 2003
  • 2007 – Windows Vista - výrazné změna grafického prostředí, nové pojetí bezpečnosti
  • 2009 – Windows 7

Linux

  • Přesněji GNU/Linux je operační systém složený z jádra (autor Linus Torvalds) a základních knihoven a nástrojů, které pocházejí převážně z projektu GNU (založil Richard Stallman). Tento operační systém je určený pro nejrůznější druhy počítačů. Jeho hlavní výsadou je, že je zdarma. Navíc jsou každému k dispozici i zdrojové kódy (Open Source). Každý jej tak může libovolně upravovat a dále distribuovat. Musí ovšem opět přiložit zdrojové kódy.
  • Existuje několik druhů Linuxových operačních systémů, říká se jim distribuce. Ty lze volně stáhnout a nainstalovat do počítače nebo je možné si je nejdříve vyzkoušet nabootováním z CD, tzv. Live CD.
  • Jedná se o operační systém vycházející z Unixu, přesto však s ním nemá ani jeden řádek společného zdrojového kódu.
  • Podporuje paralelní multitasking a je víceuživatelský.

Mac OS (Macintosh Operating System)

  • Jedná se o operační systém určený pro počítače Apple Macintosh. Zajímavostí je, že tento operační systém si nemůžeme pořídit na běžné PC, je určen výhradně pro hardware od společnosti Apple. Na některý PC ovšem lze Mac OS rozběhnout, ovšem pouze nelegálně, a to úpravou zdrojového kódu.
  • Aktuální operační systém nese označení Mac OS X. Jedná se o náhradu Mac OS, kombinace několika různých technologií. Grafické uživatelské rozhraní, které systém využívá, se jmenuje Aqua. Upravenou verzi Mac OS X s názvem iPhone OS využívá mobilní telefon Apple iPhone a multimediální kapesní přehrávač iPod touch.

macos

Environmentální okénko

Konec environmentálního okénka.

OS/2

  • operační systém vyvíjený firmou IBM
  • ve své době průkopnický, nikdy se však příliš neujal
  • zajímavostí je, že na vývoji OS/2 se zpočátku podílel i Microsoft, MS dal ale přednost Windows 3.0 a spolupráce s IBM tak skončila.

Novell NetWare

  • řada síťových operačních systémů

Otázky

  1. Co je operační systém a k čemu slouží?
  2. Vysvětelte pojem bootování.
  3. Jaký je rozdíl mezi programem a procesem?
  4. Jaké druhy operačních systémů znáte?
webdesign, xhtml, css, php - Mgr. Michal Mikláš