09.09.2014 Views

Rozdělení operačních systémů - eAMOS

Rozdělení operačních systémů - eAMOS

Rozdělení operačních systémů - eAMOS

SHOW MORE
SHOW LESS

Transform your PDFs into Flipbooks and boost your revenue!

Leverage SEO-optimized Flipbooks, powerful backlinks, and multimedia content to professionally showcase your products and significantly increase your reach.

<strong>Rozdělení</strong> <strong>operačních</strong> <strong>systémů</strong><br />

OS1<br />

Přednáška číslo 2


Podle počtu ovládaných procesorů<br />

●<br />

●<br />

Jednoprocesorové (monoprocesorové)<br />

Víceprocesorové (multiprocesorové)<br />

– Asymetrický processing (ASMP) – na jednom<br />

procesoru běží procesy systému, na dalších<br />

uživatelské procesy<br />

– Symetrický multiprocessing (SMP) – kterýkoliv<br />

proces může běžet na kterémkoliv procesoru


Podle správy uživatelů<br />

●<br />

●<br />

Jednouživatelské (monouser)<br />

Víceuživatelské (multiuser)<br />

– Více uživatelů pracuje současně v reálném čase<br />

– Musí zajistit rozdělení a oddělení prostředků<br />

(paměti) mezi uživatele


Podle počtu spuštěných<br />

programů<br />

●<br />

●<br />

Jednoprogramové (monotasking)<br />

Víceprogramové (multitasking) – více úloh je<br />

spuštěno současně<br />

– Preemptivní multitasking – pravidelné střídání<br />

úloh (Mac OS X, UNIX, Windows NT,<br />

Windows95)<br />

– Nepreemptivní multitasking – lze spustit více<br />

úloh, ale úloha opustí procesor pouze při<br />

ukončení anebo čekání na v/v operaci<br />

– Kooperativní – jako preemptivní, ale o předání<br />

procesoru se starají samotné úlohy (Windows<br />

3.X, Mac OS před X)


Podle schopnosti práce v síti<br />

●<br />

●<br />

Lokální – nedokáží pracovat v síti bez<br />

přídavných modulů<br />

Síťové – mají klientskou i serverovou verzi


Podle míry specializace<br />

●<br />

●<br />

Speciální – pro jeden typ úloh<br />

Univerzální – různé typy úloh


Realtimové operační systémy<br />

●<br />

●<br />

●<br />

●<br />

Musí být schopny práce v reálném čase<br />

– Řízení letadla, jaderné elektrárny, …<br />

Musí reagovat okamžitě – horní časová<br />

hranice<br />

Většinou mají malé jádro (mikrojádro), které<br />

ovládá jen základní funkce a na vše další se<br />

volají moduly<br />

Příklady:<br />

– QNX<br />

– RTLinux<br />

– RTX – RealTime eXtension – nadstavba pro<br />

Windows


Základní typy struktur OS<br />

●<br />

●<br />

Monolitická struktura – jádro a rozhraní - MS<br />

DOS, zařízení (tiskárny)<br />

Vrstvená struktura – části <strong>systémů</strong><br />

uspořádány do vrstev – každá vrstva využívá<br />

služeb nižších vrstev. Systém je budován od<br />

vnitřních vrstev k vnějším. Vnitřní vrstvy jsou<br />

proto nejdůležitější z hlediska bezpečnosti. V<br />

současnosti nejčastější struktura


Základní typy struktur OS<br />

●<br />

●<br />

Virtuální počítače – systém je rozdělen do<br />

samostatných modulů. Každý z nich vybaven<br />

prostředky. Obvykle se vzájemně neovlivňují.<br />

Abstraktní počítače – jako virtuální počítače.<br />

Každý modul má svou pevnou specifickou<br />

funkci. Ovladače zařízení.


Základní typy struktur OS<br />

●<br />

Model klient – server – systém má<br />

mikrojádro, které obsahuje jen základní<br />

funkce, ostatní funkce systému provádějí<br />

speciální systémové procesy – servery.<br />

Procesy, které spouští uživatel se nazývají<br />

klienti a využívají služeb serveru. Typicky<br />

realtimové OS


Základní typy struktur OS<br />

●<br />

Stavebnicová struktura – co nejmenší jádro.<br />

Zbytek je přilinkován pouze tehy, vyžaduje-li<br />

ho některý z klientů. Opět typicky realtimové<br />

OS


Základy OS Unix<br />

2. přednáška – pokračování


Vznik UNIXu<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

2 polovina šedesátých let<br />

Vyvinut ze systému Multics<br />

Původně vyvinut jako systém pro<br />

zpracování textů<br />

Autoři Ken Thompson a Denis Ritchie<br />

Název vymyslel Brian Kernighan<br />

Původně napsán v jazyce B, z kterého byl<br />

vyvinut v r. 1971 jazyk C


Ken Thompson (vlevo)<br />

Dennis Ritchie (vpravo)


Ken Thompson (vpravo)


Dennis Ritchie<br />

Dennis MacAlistair Ritchie<br />

(narozen 9. 9. 1941)


Brian Kernighan<br />

Brian Wilson Kernighan<br />

(narozen 1942<br />

v Torontu v Kanadě)


Pravidla vývoje UNIXu<br />

●<br />

●<br />

●<br />

●<br />

Psát programy, které budou dělat právě jednu<br />

věc, a tu budou dělat dobře.<br />

Psát programy tak, aby mohly navzájem<br />

spolupracovat.<br />

Psát programy tak, aby povely přijímaly hromadně<br />

ze vstupu v textové podobě.<br />

Psát programy tak, aby výstupy produkovaly<br />

v textové podobě a mohly být použity jako vstupy<br />

do programů dalších.


Vlastnosti OS UNIX<br />

● multiprogramový<br />

● multiuživatelský<br />

● víceprocesorový<br />

● s terminálovým přístupem<br />

Operační systém UNIX musí uživateli u<br />

terminálu vytvořit pocit, že počítač schovaný<br />

za terminálem je "pouze" jeho.


Vlastnosti OS UNIX<br />

● Jádro běží v privilegovaném režimu<br />

● Obvykle je tvořeno jedním souborem –<br />

monolitický systém (v Linuxu /boot/vmlinuz)<br />

● Vše ostatní běží v uživatelském režimu


Jádro systému<br />

●<br />

2 vrstvy<br />

– HAL (Hardware Abstraction Layer) – část jádra<br />

závislá na hardware, především ovladače<br />

zařízení<br />

– Kernel – část nezávislá na HW. Běží zde démoni<br />

– systémové procesy, které běží na pozadí bez<br />

ohledu na uživatele


Struktura OS UNIX<br />

Programy<br />

Shell, vestavěné<br />

programy<br />

Skripty shellu<br />

Knihovny<br />

Jádro (privilegovaný režim)<br />

Kernel<br />

HAL<br />

Démoni


Struktura OS UNIX<br />

●<br />

●<br />

●<br />

Knihovny – obsahují objekty a různé rutiny<br />

(jako DLL ve Windows).<br />

Shell – rozhraní pro komunikaci s<br />

uživatelem. Současné UNIXy mají i grafické<br />

rozhraní, které jej nahrazuje a běžný uživatel<br />

s shellem nemusí přijít do styku.<br />

Skripty – posloupnosti příkazů shellu<br />

zapsané do souboru.


Struktura jádra UNIXu<br />

Rozhraní systémových volání<br />

VFS<br />

Správce<br />

procesů<br />

Souborové systémy<br />

Správce<br />

paměti<br />

Síťové služby<br />

Ovladač<br />

TCP/IP<br />

Ovladač<br />

prvního HD<br />

Ovladač<br />

druhého HD<br />

Ovladač DVD<br />

Ovladač<br />

síťové karty<br />

První pevný<br />

disk<br />

Druhý pevný<br />

disk<br />

DVD<br />

Síťová karta


Struktura UNIXového jádra<br />

●<br />

●<br />

Souborový systém – rozhraní mezi<br />

ovladačem paměťového média a vyššími<br />

vrstvami jádra. V UNIXu platí, že „vše je<br />

soubor“.<br />

VFS (Virtual File systém) – rozhraní pro<br />

podobný přístup k různým souborovým<br />

<strong>systémů</strong>m. Uživatel se nemusí starat o<br />

fyzické umístění konkrétního souboru


Struktura UNIXového jádra<br />

●<br />

Rozhraní systémových rozhraní – rozhraní<br />

mezi jádrem a uživatelem (programy)<br />

– S touto vrstvou se komunikuje pomocí knihoven<br />

obsahujících definice API funkcí (Application<br />

Programming Interface)<br />

– zajištění bezpečnosti<br />

– znemožnění zásahu uživatele do jádra<br />

– zjednodušení práce programátorů


Prvky ochrany uživatelů v OS<br />

UNIX<br />

●<br />

Uživatel má účet, který obsahuje následující<br />

informace:<br />

– Jméno účtu a heslo<br />

– Skupina a číslo uživatele<br />

– Identifikace uživatele (jméno, příjmení…)<br />

– Domácí adresář (/home/jmeno)<br />

– Interpret příkazů shel (bash)<br />

– Další informace (datum a místo posledního přihlášení)


Prvky ochrany uživatelů v OS<br />

UNIX<br />

●<br />

●<br />

●<br />

Prvky se určují zvlášť pro:<br />

– majitele souboru (u - user)<br />

– skupinu uživatelů (g - group)<br />

– ostatní, svět (o - other)<br />

– všechny (a - all)<br />

Práva na:<br />

– čtení/zápis/provedení (soubor) (r,w,x)<br />

– výpis/modifikace/vstup (adresář) (r,w,x)<br />

Superuživatel (root) – právo na cokoliv


Systém souborů a adresářový<br />

strom<br />

●<br />

●<br />

●<br />

Systém souborů ext2fs , ext3fs, ReiserFS,<br />

XFS (Linux), efs (IRIX), ufs (Solaris)<br />

UNIX (Linux) má jednotnou strukturu<br />

adresářů – měla by být jednotná na všech<br />

systémech<br />

Norma POSIX a POSIX-2


Typický strom adresářů UNIXu<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

/unix, /bsd, /boot – Jádro OS<br />

/bin – Základní systémové programy a příkazy<br />

/dev – Adresář speciálních souborů pro obsluhu<br />

periferií<br />

/etc – Adresář konfiguračních souborů systému<br />

/lib – Adresář knihoven<br />

/mnt – Pomocný adresář pro připojování<br />

dočasných <strong>systémů</strong> souborů<br />

/tmp – Veřejný adresář pro pomocné a dočasné<br />

soubory (temp)


Typický strom adresářů UNIXu<br />

●<br />

●<br />

●<br />

●<br />

●<br />

/home – Adresář s domovskými adresáři uživatelů<br />

/usr/bin, etc, lib, tmp – Adresáře se soubory,<br />

které typicky z kapacitních důvodů nejsou<br />

v kořenovém adresáři.<br />

/usr/include – soubory pro překladač jazyka C<br />

/usr/man – Manuálové stránky<br />

/usr/local/bin, man, etc, lib, ... – Programy<br />

lokálně instalované


Typický strom adresářů UNIXu<br />

●<br />

●<br />

●<br />

●<br />

usr/sbin, /sbin – Systémové programy<br />

určené zpravidla superuživateli<br />

/var – Adresář pracovních a<br />

administrativních souborů systému<br />

/opt – adresář s dalšími programy (pouze<br />

Linux)<br />

/srv – kořenový adresář WWW, FTP …<br />

(pouze některé distribuce Linuxu)


Příkazy UNIXu<br />

●<br />

●<br />

man – nápověda<br />

spouštění: man příkaz (např. man man)<br />

cd – změna adresáře (change directory)<br />

cd adresář<br />

cd .. – skok do nadadresáře<br />

samotné cd – skok do domácího adresáře<br />

uživatele


Příkazy UNIXu<br />

●<br />

●<br />

ls – výpis souborů a adresářů<br />

ls –l dlouhý výpis<br />

ls –a včetně skrytých souborů (začínají<br />

tečkou)<br />

ls –la obojí<br />

cp – kopírování souborů<br />

cp odkud kam


Příkazy UNIXu<br />

●<br />

●<br />

mv – přesun souborů<br />

mv odkud kam<br />

rm – smazání souborů<br />

rm soubor<br />

rm –i soubor – s dotazem<br />

rm –i *


Příkazy UNIXu<br />

●<br />

●<br />

●<br />

rmdir – smazání adresáře<br />

rmdir jmeno<br />

mkdir – vytvoření adresáře<br />

mkdir jmeno<br />

chmod – nastavení práv souborů a adresářů<br />

chmod abc soubor<br />

a,b,c čísla 0-7, (součet čísel: 4 – čtení, 2 - zápis,<br />

1 – spouštění) např. 5 – čtení a spouštění. Anebo<br />

pomocí symbolů r,w,x a u,g,o,a (viz cvičení)


Příkazy UNIXu<br />

●<br />

●<br />

●<br />

●<br />

ps – výpis běžících procesů<br />

ps –axu – všechny procesy všech uživatelů<br />

kill – stopnutí procesu<br />

kill –9 id – natvrdo stopnut proces id<br />

clear – smazání obrazovky<br />

pwd – cesta do aktuálního adresáře


Příkazy UNIXu<br />

●<br />

●<br />

●<br />

chown – změna majitele souboru<br />

cat – prohlížení textového souboru<br />

more, less – prohlížení textového souboru<br />

se stránkováním


Příkazy UNIXu<br />

●<br />

●<br />

●<br />

●<br />

●<br />

df – výpis připojených disků a místa na nich<br />

free – výpis stavu paměti<br />

du – výpis velikosti podadresářů<br />

quota - prostor přidělený uživateli a jeho<br />

zaplnění<br />

which – kde je umístěn program<br />

which bash – kde je umístěn program bash


Současné UNIXy<br />

●<br />

Linux<br />

– www.linux.cz<br />

– www.linux.org


Současné UNIXy<br />

●<br />

BSD – Berkeley Software Distributions<br />

– www.freebsd.cz


Současné UNIXy<br />

●<br />

●<br />

Darwin a MacOS X<br />

pro PPC (Apple)<br />

– www.gnu-darwin.org<br />

– www.apple.com/macosx


Současné UNIXy<br />

●<br />

Solaris<br />

– wwws.sun.com/software/solaris


Současné UNIXy<br />

●<br />

Tru Unix<br />

– h30097.www3.hp.com/index.html


Současné UNIXy<br />

●<br />

IRIX®<br />

– www.sgi.com/developers/technology/irix/


Současné UNIXy<br />

●<br />

AIX<br />

– www-1.ibm.com/servers/aix


Konec<br />

Děkuji za pozornost

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!