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