Operační systémy
Historie OS obecně
Historie OS Windows a Unix
Operační systém je prostředník mezi hardwarem (technickým vybavením počítače) a konkretním programem, který uživatel používá.
Co vše provádí operační systém
- Organizuje přístup a využívání zdrojů počítače (čas procesoru, přístup k datům na discích, přístup do paměti).
- Fyzicky zajišťuje vstup a výstup dat podle požadavků ostatních programů.
- Komunikuje s uživatelem a na základě jeho pokynů vykonává požadované akce.
- Reaguje na chybové stavy programů a mylné požadavky uživatelů tak, aby tyto chyby nezpůsobily zásadní destrukci systému nebo poškození dat.
- Spravuje komunikaci s periferiemi. Definuje nastavení klávesnice, citlivost myši a dalších zařízení.
- Eviduje využívání systémových zdrojů apod.
Proč studovat operační systémy?
- Výběr operačního systému a stanovení jeho možnosti je u výpočetního systému při daném technickém vybavení nejdůležitějším rozhodnutím.
- Každý uživatel se setkává s operačním systémem při zadávání úloh, neboť operační systém poskytuje uživateli "základní spojení spočítačem".
- Mnohé pojmy a techniky uplatněné v operačních systémech mají obecnější použití i v některých jiných aplikacích.
- Možnost vytvořit pro speciální účely vlastní operační systém nebo stávající systém modifikovat. Operační systém jsou ty programové moduly ve výpočetním systému, jež ovládají řízení prostředků, jimiž je tento výpočetní systém vybaven, jako jsou procesory, operační paměť, vnější paměť, I/O zařízení a soubory dat. Tyto moduly "rozhodují spory" (např. o užití téhož prostředku více úlohami), snaží se optimalizovat výkon a zjednodušují efektivní využívání výpočetního systému.
Struktura OS
Operační systém je zpravidla tvořen tzv.
jádrem
(kernel),
ovladači V/V zařízení
(driver),
příkazovým procesorem
(shell) a
podpůrnými systémovými programy.
- Jádro
- po zavedení do paměti řídí činnost počítače, poskytuje procesům služby a řeší správu prostředků a správu procesů.
- Ovladač
- zvláštní (pod)program pro ovládání konkrétního zařízení standardním způsobem. Použití strategie s ovladači umožňuje snadnou konfigurovatelnost technického vybavení.
- Příkazový procesor
- program, který umožňuje uživatelům zadávat příkazy ve speciálním, obvykle jednoduchém jazyce.
-
Podpůrné programy
- do této kategorie jsou mnohdy zahrnovány i překladače (jazyk C v OS UNIX) a sestavující programy. Stojí na stejném místě jako aplikační programy.
Jádro OS
Jádro se zpravidla dělí na dvě podstatné části:
-
Správa procesů
- správa procesů (prakticky není u jednoduchých OS) řeší problematiku aktivování a deaktivování procesů podle jejich priority resp. požadavků na prostředky.
-
Správa prostředků
- zajišťuje činnost V/V zařízení, přiděluje paměť, případně procesory. Velmi důležitou částí správy prostředků je: správa souborů - způsob ukládání souborů a přístupu k nim. Moderní OS zajišťují jednotný pohled na soubory a zařízení. Zařízení jsou považovány za soubory se speciálním jménem.
Činnost běžného OS - spuštění
Po zapnutí nebo resetu počítače je jednoduchým programem zaváděn, obvykle z disku, operační systém. Po zavedení jádra a ovladačů a jejich inicializaci, je spuštěn příkazový procesor, který může před ohlášením uživateli ještě provést předem specifikované akce. Příkazový procesor se na obrazovce ohlásí tzv. vyzývacím znakem(prompt).
Činnost běžného OS - běh
Rozsah činností operačního systému za chodu počítače je u různých OS výrazně rozdílný - od jednoduchých služeb typu přečti znak k lávesnice po sdílení prostředků různými současně běžícími procesy.
Činnost běžného OS - ukončení
Před vypnutím počítače vyžaduje většina velkých OS provedení ukončovacích akcí např. korektní uzavření systémových souborů. Pokud běh těchto systémů není korektně ukončen (např. výpadek napájení, chyba obsluhy), je tento stav při následujícím zavádění indikován a obvykle se automaticky provedou akce vedoucí k záchraně alespoň systémových dat.
Základní pojmy teorie operačních systémů
Holý počítač
- počítač pouze s nejzákladnějším softwarovým vybavením; pro běžného uživatele zcela neovladatelný.
Operační systém
- ovládá základní technické prostředky počítače a vytváří vhodnější podmínky pro jejich využívání v uživatelských programech. Funkce operačního systému tvoří podstatnou složku činnosti počítače.
Úloha (Job)
- souhrn činností potřebných k provedení zakázky; může být rozdělena na kroky.
Kroky úlohy
- jednotky činnosti, které musí být provedeny postupně v určitém pořadí (např. překlad programu, zavedení programu, spuštění programu apod.)
Proces
- instance úlohy, kterou vytvaří procesor a která může být prováděna paralelně s jinými výpočty.
Adresový prostor
- souhrn programu a dat v procesu.
Multitasking
funkce umožňující souběžné zpracování více úloh v teoreticky jednom okamžiku
-
kooperativní multitasking - přiděluje prováděným procesům procesor na takovou dobu, na jakou ji procesor potřebuje
- preemptivní multitasking - na rozdíl od kooperativního vysoce výkonný. OS rozhoduje, komu přidělí jakou dobu procesor. Toto nastavení lze měnit prioritami.
Přerušení
je proces, během kterého je procesor nucen zaznamenat nějakou událost. Stejně tak existují prostředky k
maskovaní přerušeni
(tj. potlačení).
Prostředky přerušení (interrupt hardware)
-dovolují OS koordinovat paralelně probíhající operace - tím je umožněn paralelní běh uživatelských programů.
Operační systém z hlediska procesu
Životní cyklus procesu v OS se skládá z přechodumezi třemi hlavními stavy procesu:
-
Stav probíhající (running)
- procesuje přidělen procesor a je vykonáván.
-
Stav čekající (waiting)
- proces čekána učcitou událost, např. dokončení I/O operace.
-
Stav pripraven (ready)
- proces je pripraven k vykonania ceka pouze na prideleni procesoru.
Tyto 3 hlavní procesy nestačí proúplný popis pohybu úlohy v OS. Pro úplnostuveďme min. ještě další 3:
-
Stav předána (submit)
- uživatel předal svou úlohu systému a ten na ni musí reagovat. Stav mírně archaický, spočívající např.ve vložení sady děrných štítků do čtečky.
-
Stav přijata (hold)
- úloha je na diskupočítače ve vnitřní reprezentaci. Očekává přidělení prostředků.
-
Stav ukončená (complete)
- výpočet úlohy skončil a všechny přidělené prostředky jsou uvolněny k dalšímu použití.
Model stavu procesu je na obr
Přechody mezi stavy procesu zajišťují moduly OS,které musí jako sprava prostředku počítače:
- Mít přehled o jednotlivých prostředcích.
- Realizovat pravidla, která určují komu bude prostředek přidělen, kdy a v jakém rozsahu.
- Prostředky přidělovat a vyžadovat jejich navrácení.
Operační systém z hlediska správy paměti
- přidělování paměti jednotlivým procesům
- udržování informací o paměti, která je volná a která je obsazená
- řazení paměti uvolněné do volné části (bloky – fragmentace,virtualizace, segmentace)
- odebrání paměti skončenému programu
ochrana paměti.
Operační systém z hlediska správy periferií
Počítač komunikuje s okolím pomocí periferií – zařízení (devices).
Procesy komunikují se zařízeními pomocí ovladačů (drivers).
Hlavním úkolem ovladače je přidělovat zařízení jednotlivým procesům.
Některé ovladače jsou pevnou součástí OS (nativní podpora). Jiné jenutno doinstalovat (ovladače třetí strany).
Co se děje pozapnutí počítače
Od okamžiku zapnutí počítače dodoby startu operačního systému uběhne určitý čas,ve kterém počítač stihne provést řadu důležitých kroků. Jejich posloupnost je zhrubanásledující:
-
Nejdřívese aktivuje BIOS (Basic Input Output System). Na obrazovku sevypíše typ Biosu, typ videokarty a řadadalších informací.
- Poté začne testování počítače. BIOS kontroluje základní hardwarové komponenty a zpravidla počítá paměť RAM. Dále informuje oklávese, kterou se dostanete do konfigurace BIOSU (zpravidlaDEL).
- Následně začíná kontrola a výpis informací oprocesoru, disku, diskových mechanikách, verzi BIOSU,velikosti základníh pamětí, portů a případně nalezených zařízení Plug and Play.
- Teprve nyní startuje OS.
Přehled operačních systémů podle výrobců
Microsoft
- MS-DOS
- Win 3.X 16bit
- Windows 95 16+32 bit
- Windows 98 16+32 bit
- Windows Me 16+32bit
- Windows NT 3.X 32bit, NTFS
- Windows NT 4 Workstation, Advanced server, Terminal server edition
- Windows 2000 Professional, Server
- Windows XP (Home, Professional)
- Windows 2003 Server
- Windows CE, Windows Mobile
- Windows Vista (zatím jen betaverze)
U OS Windows se ještě uvádí verze servisního balíčku (service pack)
Novel:
Apple:
- MacOS 9.0 (PPC)
- MacOS X (PPC)
SUN:
BSD (Berkley Software Design)
- FreeBSD 6.0 (PC, Alpha, Sparc)
Hewlet Packard:
- HP-UX11ib2 64bit (PA-RISC)
Digital (Compaq):
- OpenVMS 8.2-1 64bit (Alpha)
- Tru64 UNIX® V5.1B-3 64bit (Alpha)
SGI:
Linux:
(i386, m68000, PPC, MIPS, Sun Sparc, DEC Alpha/AXP)
Rozlišujeme různé distribuce – sestavení např.:
- Debian
- Slackware
- Mandrake
- RedHat např. RedHat Enterprise Linux, Fedora
- SuSE (Novel) např. Suse Linux 9.3 Professional
Tento OS je distribuován pod licencí GNU GPL (GNU General Public License,nadace Free Software Foundation) jako tzv. OpenSource (otevřený zdrojový kód)
OS pro Palmtopy a Handheldy (PDA):
- PalmOS 2.0.5
- Symbian (mobilní telefony)
- Windows Mobile