Rozdělení operačních systémů
OS1 Přednáška číslo 2
Podle počtu ovládaných procesorů ● ●
Jednoprocesorové (monoprocesorové) Víceprocesorové (multiprocesorové) –
–
Asymetrický processing (ASMP) – na jednom procesoru běží procesy systému, na dalších uživatelské procesy Symetrický multiprocessing (SMP) – kterýkoliv proces může běžet na kterémkoliv procesoru
Podle správy uživatelů ● ●
Jednouživatelské (monouser) Víceuživatelské (multiuser) – –
Více uživatelů pracuje současně v reálném čase Musí zajistit rozdělení a oddělení prostředků (paměti) mezi uživatele
Podle počtu spuštěných programů ● ●
Jednoprogramové (monotasking) Víceprogramové (multitasking) – více úloh je spuštěno současně –
–
–
Preemptivní multitasking – pravidelné střídání úloh (Mac OS X, UNIX, Windows NT, Windows95) Nepreemptivní multitasking – lze spustit více úloh, ale úloha opustí procesor pouze při ukončení anebo čekání na v/v operaci Kooperativní – jako preemptivní, ale o předání procesoru se starají samotné úlohy (Windows 3.X, Mac OS před X)
Podle schopnosti práce v síti ●
●
Lokální – nedokáží pracovat v síti bez přídavných modulů Síťové – mají klientskou i serverovou verzi
Podle míry specializace ● ●
Speciální – pro jeden typ úloh Univerzální – různé typy úloh
Realtimové operační systémy ●
Musí být schopny práce v reálném čase –
●
●
●
Řízení letadla, jaderné elektrárny, …
Musí reagovat okamžitě – horní časová hranice Většinou mají malé jádro (mikrojádro), které ovládá jen základní funkce a na vše další se volají moduly Příklady: – – –
QNX RTLinux RTX – RealTime eXtension – nadstavba pro Windows
Základní typy struktur OS ●
●
Monolitická struktura – jádro a rozhraní - MS DOS, zařízení (tiskárny) Vrstvená struktura – části systémů uspořádány do vrstev – každá vrstva využívá služeb nižších vrstev. Systém je budován od vnitřních vrstev k vnějším. Vnitřní vrstvy jsou proto nejdůležitější z hlediska bezpečnosti. V současnosti nejčastější struktura
Základní typy struktur OS ●
●
Virtuální počítače – systém je rozdělen do samostatných modulů. Každý z nich vybaven prostředky. Obvykle se vzájemně neovlivňují. Abstraktní počítače – jako virtuální počítače. Každý modul má svou pevnou specifickou funkci. Ovladače zařízení.
Základní typy struktur OS ●
Model klient – server – systém má mikrojádro, které obsahuje jen základní funkce, ostatní funkce systému provádějí speciální systémové procesy – servery. Procesy, které spouští uživatel se nazývají klienti a využívají služeb serveru. Typicky realtimové OS
Základní typy struktur OS ●
Stavebnicová struktura – co nejmenší jádro. Zbytek je přilinkován pouze tehy, vyžaduje-li ho některý z klientů. Opět typicky realtimové OS
Základy OS Unix 2. přednáška – pokračování
Vznik UNIXu ● ● ●
● ● ●
2 polovina šedesátých let Vyvinut ze systému Multics Původně vyvinut jako systém pro zpracování textů Autoři Ken Thompson a Denis Ritchie Název vymyslel Brian Kernighan Původně napsán v jazyce B, z kterého byl vyvinut v r. 1971 jazyk C
Ken Thompson (vlevo) Dennis Ritchie (vpravo)
Ken Thompson (vpravo)
Dennis Ritchie Dennis MacAlistair Ritchie (narozen 9. 9. 1941)
Brian Kernighan Brian Wilson Kernighan (narozen 1942 v Torontu v Kanadě)
Pravidla vývoje UNIXu ●
●
●
●
Psát programy, které budou dělat právě jednu věc, a tu budou dělat dobře. Psát programy tak, aby mohly navzájem spolupracovat. Psát programy tak, aby povely přijímaly hromadně ze vstupu v textové podobě. Psát programy tak, aby výstupy produkovaly v textové podobě a mohly být použity jako vstupy do programů dalších.
Vlastnosti OS UNIX multiprogramový ● multiuživatelský ● víceprocesorový ● s terminálovým přístupem Operační systém UNIX musí uživateli u terminálu vytvořit pocit, že počítač schovaný za terminálem je "pouze" jeho. ●
Vlastnosti OS UNIX ● ●
●
Jádro běží v privilegovaném režimu Obvykle je tvořeno jedním souborem – monolitický systém (v Linuxu /boot/vmlinuz) Vše ostatní běží v uživatelském režimu
Jádro systému ●
2 vrstvy –
–
HAL (Hardware Abstraction Layer) – část jádra závislá na hardware, především ovladače zařízení Kernel – část nezávislá na HW. Běží zde démoni – systémové procesy, které běží na pozadí bez ohledu na uživatele
Struktura OS UNIX Programy
Shell, vestavěné programy
Knihovny Jádro (privilegovaný režim)
Kernel HAL
Démoni
Skripty shellu
Struktura OS UNIX ●
●
●
Knihovny – obsahují objekty a různé rutiny (jako DLL ve Windows). Shell – rozhraní pro komunikaci s uživatelem. Současné UNIXy mají i grafické rozhraní, které jej nahrazuje a běžný uživatel s shellem nemusí přijít do styku. Skripty – posloupnosti příkazů shellu zapsané do souboru.
Struktura jádra UNIXu Rozhraní systémových volání VFS
Správce procesů
Správce paměti
Souborové systémy
Síťové služby Ovladač TCP/IP
Ovladač prvního HD
Ovladač druhého HD
Ovladač DVD Ovladač síťové karty
První pevný disk
Druhý pevný disk
DVD
Síťová karta
Struktura UNIXového jádra ●
●
Souborový systém – rozhraní mezi ovladačem paměťového média a vyššími vrstvami jádra. V UNIXu platí, že „vše je soubor“. VFS (Virtual File systém) – rozhraní pro podobný přístup k různým souborovým systémům. Uživatel se nemusí starat o fyzické umístění konkrétního souboru
Struktura UNIXového jádra ●
Rozhraní systémových rozhraní – rozhraní mezi jádrem a uživatelem (programy) –
– – –
S touto vrstvou se komunikuje pomocí knihoven obsahujících definice API funkcí (Application Programming Interface) zajištění bezpečnosti znemožnění zásahu uživatele do jádra zjednodušení práce programátorů
Prvky ochrany uživatelů v OS UNIX ●
Uživatel má účet, který obsahuje následující informace: – – – – – –
Jméno účtu a heslo Skupina a číslo uživatele Identifikace uživatele (jméno, příjmení…) Domácí adresář (/home/jmeno) Interpret příkazů shel (bash) Další informace (datum a místo posledního přihlášení)
Prvky ochrany uživatelů v OS UNIX ●
Prvky se určují zvlášť pro: – – – –
●
majitele souboru (u - user) skupinu uživatelů (g - group) ostatní, svět (o - other) všechny (a - all)
Práva na: – čtení/zápis/provedení (soubor) (r,w,x) – výpis/modifikace/vstup (adresář) (r,w,x)
●
Superuživatel (root) – právo na cokoliv
Systém souborů a adresářový strom ●
●
●
Systém souborů ext2fs , ext3fs, ReiserFS, XFS (Linux), efs (IRIX), ufs (Solaris) UNIX (Linux) má jednotnou strukturu adresářů – měla by být jednotná na všech systémech Norma POSIX a POSIX-2
Typický strom adresářů UNIXu ● ● ●
● ● ●
●
/unix, /bsd, /boot – Jádro OS /bin – Základní systémové programy a příkazy /dev – Adresář speciálních souborů pro obsluhu periferií /etc – Adresář konfiguračních souborů systému /lib – Adresář knihoven /mnt – Pomocný adresář pro připojování dočasných systémů souborů /tmp – Veřejný adresář pro pomocné a dočasné soubory (temp)
Typický strom adresářů UNIXu ● ●
● ● ●
/home – Adresář s domovskými adresáři uživatelů /usr/bin, etc, lib, tmp – Adresáře se soubory, které typicky z kapacitních důvodů nejsou v kořenovém adresáři. /usr/include – soubory pro překladač jazyka C /usr/man – Manuálové stránky /usr/local/bin, man, etc, lib, ... – Programy lokálně instalované
Typický strom adresářů UNIXu ●
●
●
●
usr/sbin, /sbin – Systémové programy určené zpravidla superuživateli /var – Adresář pracovních a administrativních souborů systému /opt – adresář s dalšími programy (pouze Linux) /srv – kořenový adresář WWW, FTP … (pouze některé distribuce Linuxu)
Příkazy UNIXu ●
●
man – nápověda spouštění: man příkaz (např. man man) cd – změna adresáře (change directory) cd adresář cd .. – skok do nadadresáře samotné cd – skok do domácího adresáře uživatele
Příkazy UNIXu ●
●
ls – výpis souborů a adresářů ls –l dlouhý výpis ls –a včetně skrytých souborů (začínají tečkou) ls –la obojí cp – kopírování souborů cp odkud kam
Příkazy UNIXu ●
●
mv – přesun souborů mv odkud kam rm – smazání souborů rm soubor rm –i soubor – s dotazem rm –i *
Příkazy UNIXu ●
●
●
rmdir – smazání adresáře rmdir jmeno mkdir – vytvoření adresáře mkdir jmeno chmod – nastavení práv souborů a adresářů chmod abc soubor a,b,c čísla 0-7, (součet čísel: 4 – čtení, 2 - zápis, 1 – spouštění) např. 5 – čtení a spouštění. Anebo pomocí symbolů r,w,x a u,g,o,a (viz cvičení)
Příkazy UNIXu ●
●
● ●
ps – výpis běžících procesů ps –axu – všechny procesy všech uživatelů kill – stopnutí procesu kill –9 id – natvrdo stopnut proces id clear – smazání obrazovky pwd – cesta do aktuálního adresáře
Příkazy UNIXu ● ● ●
chown – změna majitele souboru cat – prohlížení textového souboru more, less – prohlížení textového souboru se stránkováním
Příkazy UNIXu ● ● ● ●
●
df – výpis připojených disků a místa na nich free – výpis stavu paměti du – výpis velikosti podadresářů quota - prostor přidělený uživateli a jeho zaplnění which – kde je umístěn program which bash – kde je umístěn program bash
Současné UNIXy ●
Linux – www.linux.cz – www.linux.org
Současné UNIXy ●
BSD – Berkeley Software Distributions – www.freebsd.cz
Současné UNIXy ● ●
Darwin a MacOS X pro PPC (Apple) – –
www.gnu-darwin.org www.apple.com/macosx
Současné UNIXy ●
Solaris –
wwws.sun.com/software/solaris
Současné UNIXy ●
Tru Unix –
h30097.www3.hp.com/index.html
Současné UNIXy ●
IRIX® –
www.sgi.com/developers/technology/irix/
Současné UNIXy ●
AIX –
www-1.ibm.com/servers/aix
Konec
Děkuji za pozornost