OPERAČNÍ SYSTÉMY Definice OS Operační systém je základní programové vybavení počítače, nezbytné pro jeho provoz. Každý počítač má alespoň jeden procesor, paměť, I/O zařízení. Všechny tyto součásti můžeme považovat za prostředky, které programy používají ke své práci. Při běhu jednoho programu nedochází ke konfliktům – program může používat tyto prostředky bez omezení. Při běhu více programů se musí programy o prostředky dohodnout. Některé prostředky může v jednom okamžiku používat pouze jeden program (mikroprocesor, tiskárna), jiné mohou sloužit více programům, ale musí být mezi ně rozděleny (RAM, obrazovka, HD), výjimečně mohou programy některé prostředky používat bez omezení (systémové hodiny). Z výše uvedeného vyplývá nutnost nějakého programu stojícího nad všemi ostatními programy a přidělujícího jim prostředky, tj. operačního systému. Můžeme tedy OS chápat především jako správce prostředků.
Tvorba OS dříve assembler dnes jazyk C (Bell Laboratories) Jazyk C byl rozšířen později normou ANSI o řadu bezpečnostních prvků (tzv. ANSI C) dále o práci s objekty např. C++ nebo C#. Výhodou jazyka OS naprogramovaného v jazyku C je především dobrá přenositelnost na jiné platformy (viz např. OS linux).
Úkoly OS Správa 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.
Správa procesů a procesoru
Tento úkol je v různých systémech různě náročný (MS-DOS x Windows NT) Multitasking = současný běh více programů. Multitaskový OS to umožňuje.
Výhody multitaskového OS:
• možnost okamžitého přechodu k jinému programu bez nutnosti ukončení předchozího, • usnadnění funkce ovladačů, • usnadnění kooperace mezi programy (např. kopírování přes schránku ve Windows), • lepší využití kapacity systému (počítače), • jediná možnost u víceuživatelských systémů.
Nevýhody multitaskového OS • • • •
Současný běh více programů jednotlivé programy zpomaluje, narůstá režie OS, která může vést až k zahlcení systému, složitost – vyšší požadavky na HW, zvýšení rizika ztráty dat.
Druhy multitaskového OS
• Systém s přepínáním programů (task switching), • kooperativní multitasking (procesy na popředí, na pozadí, úlohy musí předávat v pravidelných intervalech řízení OS), • preemptivní multitasking (OS v pravidelných intervalech přerušuje jednotlivé úlohy a vyhodnocuje jejich požadavky).
Současný běh více programů na jednom procesoru umožňuje sdílení času – time slicing. Některé OS umožňují správu procesů na vyšší úrovni, tzv. správu úloh (dávek) – Multithreading. Multiprocessing – OS podporuje víceprocesorové konfigurace.
Správa periferií Počítač komunikuje s okolím pomocí periferií – zařízení (devices). Procesy komunikují se zařízeními pomocí ovladačů (drivers). Zařízení rozdělujeme na: vyhrazená (možnost virtualizace), sdílená (jdou rozdělit na části), společná. 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é je nutno doinstalovat (ovladače třetí strany).
Systém souborů (file system)
Tj. správa adresářů a souborů. Projevuje se tendence posilování logické struktury systému souborů na úkor vazeb na fyzickou strukturu disku – virtualizace HD. U některých OS je systém souborů tak flexibilní, že zahrnuje i všechna zařízení v podobě souborů (Unix v adresáři /dev). Dnešní moderní systémy souborů jsou velmi komplikované a zahrnují v sobě i systém vlastnických práv viz. NT, Unix). Prvky systému souborů: • soubory, • adresáře (soubor obsahující namísto dat seznam souborů v něm umístěných), • sdílení souborů, • bezpečnost. Implementace pomocí:
• alokačních jednotek, • řetězení, • indexů.
Příklady systémů souborů Fat 16 (DOS, Win95 sr1), Fat 32 (Win 95 sr2, Win 98, Win Me), NTFS 4, 5 (NT, Win2000, XP) umožňuje realizaci vlastnických práv k souborům a adresářům, kvót, transakční přístup, HPFS (OS/2), Extension3 filesystem – e3fs (linux), ISO 9660 (CD), NFS Network file systém, Ufs, Coherent, Xiafs a mnoho dalších proprietárních systémů souborů.
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, Media Center) Windows 2003 Server Windows CE, Windows Mobile Windows Vista (Business, Enterprise, Premium, Home Basic, Ultimate)
U OS Windows se ještě uvádí verze servisního balíčku (service pack)
Novel: NetWare 6.5 (PC) SUSE Linux 10.1
Apple:
MacOS X Tiger 10.4 (PPC) MacOS X Leopard (PPC)
SUN:
Solaris 10.0 (Sparc, PC)
BSD (Berkley Software Design) OpenBSD 4.0 (PC, Alpha, Sparc)
Hewlet Packard:
HP-UX11i v2 64bit (PA-RISC) Tru64 UNIX® V5.1B-3 64bit (Alpha) OpenVMS 8.3-1 64bit (Alpha)
SGI: Irix 6.5.29 (MIPS)
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 Core Mandriva Knoppix 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