You are on page 1of 9

www.cz-milka.

net

Přehled pojmů
Operační systém:
Systém operační – základní program, který se spouští automaticky po zapnutí počítače, řídí činnost jeho
technických prostředků podle požadavků uživatele.
Systém operační – služby procesům – činnost systému, kterou OS vykonává pro některý z procesů. Předávání
zpráv a synchronizace procesů, vytváření virtuálních prostředků, poskytování systémových údajů. Přidělování
paměti a procesoru, vytvoření dalšího procesu, synchronizace s jinými procesy, zasílání signálů a zpráv jiným
procesům, vytváření a správa virtuálních prostředků, správa vnějších zařízení, poskytování systémových údajů.
Struktura operačního systému – hlavní částí je jádro (řídí hardware, realizuje službu systému), vnější vrstva
obsahuje interpret řídících příkazů a služební programy (utility, programy, shell).
Jádro systému = kernel – hlavní část operačního systému, které řídí hardware počítače a realizuje služby systému.
Po spuštění počítače je jádro nahráno z disku do dolní části hlavní paměti.
Vrstva operačního systému vnější – obsahuje interpret řídících příkazů (shell) a služební programy (vnější
příkazy systému).
Interpret – může být řízen interaktivními příkazy z terminálu, pro řízení může být vytvořen jazyk pro řízení úloh.
Interpret řídících příkazů – prostředník mezi uživatelem a operačním systémem, pomocí Stellu zadává uživatel
své požadavky a shell zajistí jejich předání operačnímu systému.
OS – rozdělení – podle počtu současně zpracovávaných procesů a podle interaktivnosti.
Multitasking – operační systém, ve kterém lze zpracovávat více procesů současně (paralelně).
Programy – dělení – pro manipulaci se systému souborů (ls, cp, rm, mkdir, rmdir), pro zjišťování stavu systému
(who, date), pro podporu síťové komunikace (sendmail, mail, talk, telnet, ftp).
Jádro systému – funkce – vytváří procesy a řídí jejich zpracování, umožňuje procesům spolu navzájem
komunikovat, umožňuje procesům ukládání dat do souborů, poskytuje procesům prostředky pro práci s I/O
zařízeními, udržuje některé další systémové prostředky.
Služba systému – činnost operačního systému, kterou operační systém vykonává pro některý z procesů. Když
proces žádá operační systém o službu, volá službu operačního systému. Proces musí požádat o službu systému –
OS zpracovává více procesů a je nutné, aby něco rozdělovalo omezené prostředky systému, programy, které napsali
uživatelé, mají omezené prostředky ovládání hardwaru (nemohou pracovat s vnějšími zařízeními, protože je to
obtížné realizovat +ochrana systému).
Převod zdrojového programu v jazyce C do strojového programu – zpracování procesorem (náhrada číselnými
hodnotami), překlad kompilátorem do relativních modulů, sestavení programem ld.
Uživatel – každý má v systému přiděleno jednoznačné uživatelské jméno (username), administrátor je zadává do
tabulky uživatelů, ke každému username patří uživatelské číslo (user ID, UID). Uživatel s UID 0 je superuživatel,
jeho username je root. Uživatelé jsou rozděleni do skupin, každá má své jméno a identifikační číslo (GID).
Zavaděč OS – je-li disk rozdělen do více diskových oblastí, může být každá oblast vyhrazena pro jiný OS. V první
sektoru na disku je umístěna tabulka rozdělení disku a hlavní zavaděč, který je spuštěn po zapnutí počítače. Hlavní
zavaděč přečte tabulku a zjistí, která disková oblast je nastavena jako aktivní. Poté načte první sektor, ve kterém
musí být umístěn zavaděč systému, který pak zajistí načtení a spuštění jádra OS.
Režimy OS – zastavení systému, jednouživatelský režim, víceuživatelský režim, znovuzavedení systému (restart).
OS pro všeobecné použití – poskytují funkce, které podporují bezpečnost – autentizace uživatele při připojování,
ochrana dat uživatelů, ochrana I/O zařízení, ochrana paměti přidělené procesům, podpora meziprocesorové
komunikace a synchronizace, podpora sdílení souborů a I/O zařízení, garance dostupnosti; mandatorní způsob
řízení přístupu, kontrola přístupových práv při každém přístupu, důvěryhodná cesta, ochrana při opětném
přidělování prostředků, audit.

Procesy:
Proces – operačním systémem spuštěný a zpracovávaný program.
Stavy procesů – proces během činnosti přechází z jednoho stavu do druhého, možné stavy: běžící v uživatelském
módu, běžící v módu jádra, připraven k běhu v paměti (připraven ke zpracování, zařazen do fronty scheduleru),
zablokovaný v paměti (spící, provedl slep_on, je v paměti a nebyl swapperem odložen na disk), připraven k běhu
na disku (byl swapperem odložen na disk, připraven ke zpracování, nemůže být ale schedulerem spuštěn),
zablokovaný na disku (swapper jej odložil na disk, aby uvolnil paměť), pozastaven v preempci (scheduler ho
pozastavil a spustil proces s vyšší prioritou), nový (nově vytvořený službou fork, nebyly vytvořeny všechny
systémové struktury, nemůže být spuštěn), Zambie (proces končí svou činnost, provedl algoritmus exit).
-1-
www.cz-milka.net

Přidělování procesoru – rozhoduje o něm scheduler, procesy vybírá z tabulky procesů podle priority, proces
s vyšší prioritou má při spouštění přednost. Priorita je definována: každému procesu je přiřazeno celé číslo,
procesům běžícím v uživatelském módu je přiřazeno nezáporné číslo, bude-li proces spuštěn v módu jádra, dostal
se do stavu ready to run tak, že běžel v módu jádra, provedl algoritmus slep_on(event) a pak byl rpobuzen. Proces
má tím větší prioritu, čím menší číslo n je mu přiřazeno.
Uzavírání zdrojů – pokud proces potřebuje výlučný přístup, může si prostředek uzavřít (uzamknout).
Spooling – technika tisku, tiskne se do spoolingového diskového souboru a časem je obsah souboru vytištěn na
tiskárnu.
Vzájemné vyloučení – první proces, který chce se zdrojem manipulovat, ho uzavře. Proces pak vstupuje do
kritické oblasti a ostatní procesy musí počkat, dokud proces kritickou oblast neopustí, teprve poté může do kritické
oblasti vstoupit jiný proces. Realizace vzájemného vyloučení pomocí zámku nebo semaforu.
Zámek – procesy sdílená proměnná, proces jí mohou nastavovat hodnoty, pokud nějaký proces nastaví nenulovou
hodnotu, oznamuje tím, že vstoupil do kritické oblasti.
Semafory – základní prostředky používané pro synchronizaci procesů v multitaskingových operačních systémech.
Semafor je proměnná, nabývá hodnot 0, 1,…n. Semafor je virtuální prostředek, který vytváří operační systém a
proces ho využívá pro synchronizaci činnosti. Semafory musí být implementovány operačním systémem jako
služba systému, procesy je nemohou realizovat samy, tedy bez pomoci systému a jen s využitím strojových
instrukcí.
do stavu zombie.
Uváznutí procesů – procesy jsou ve stavu uváznutí pokud každý proces čeká na událost, kterou může způsobit
pouze jiný proces.
Stárnutí – proces jsou v omezené míře stále aktivní, ale přesto se jim nepodaří postupně uzavřít všechny potřebné
zdroje a úspěšně vykonat předepsanou činnost.
Vlákna – proces, který sdílí s procesem, který jej vytvořil, určité části svého uživatelského kontextu; vytvořené
vlákno sdílí část uživatelského a systémového kontextu s procesem, který jej vytvořil (text, data, dětské procesy,
signály, semafory), nesdílí všechny části kontextu (zásobník, stav procesu, dětská vlákna aj.)
Služba systému – činnost operačního systému, kterou operační systém vykonává pro některý z procesů. Když
proces žádá operační systém o službu, volá službu operačního systému. Proces musí požádat o službu systému –
OS zpracovává více procesů a je nutné, aby něco rozdělovalo omezené prostředky systému, programy, které napsali
uživatelé, mají omezené prostředky ovládání hardwaru (nemohou pracovat s vnějšími zařízeními, protože je to
obtížné realizovat +ochrana systému).
Proces – součást – oblast paměti, která obsahuje vykonávaný program (skládá se z textu programu, dat a
zásobníku), obsah pracovních, systémových a stavových registrů procesoru a záznam, který si o procesu vede
operační systém.
Kontext procesu – skládá se z uživatelského a systémového kontextu
Kontext uživatelský – zahrnuje obsah adresového prostoru a obsah uživatelských registrů procesoru, tvoří ho
oblast paměti (text, data, zásobník procesu) a obsah pracovních a stavových registrů.
Kontext systémový – tvoří ho informace, které si operační systém vede o procesech, aby je mohl korektně řídit,
skládá se z obsahu systémových registrů, obsahu systémového zásobníku a ze záznamů, které si systém o procesu
vede v tabulce procesů a v u-oblasti.
Text procesu – tvoří ho strojové instrukce spuštěného programu.
Data – dostupnost – data jsou pro oprávněné osoby zpřístupněna v požadované formě a dostatečně rychle.
Data – důvěrnost – informace v datech obsažená je srozumitelná pouze oprávněným osobám.
Data – integrita – data mohou být vytvořena, pozměněna nebo odstraněna pouze oprávněnými osobami
Zásobník – ukládají se do něj parametry volání funkcí, návratové adresy a lokální proměnné, které nejsou statické.
Tabulka procesů – systémová tabulka, která soustřeďuje záznamy o běžících procesech – číslo procesu, popis
stavu procesu, deskriptor události, pole signálů, ukazatel na tabulku stránek procesu, ukazatel do u-oblasti na disku
aj.
Signál – prostředek, pomocí kterého lze ovlivnit další činnost procesu. Signály může poslat jádro operačního
systému nebo jiný proces pomocí služby kill. Zaslání signálu způsobí nastavení bitu, který odpovídá tomuto signálu
v tabulce procesů, a je-li proces zablokován, jeho odblokování. Ošetření signálu se provádí před jeho příchodem
pomocí služby signal.
Deskriptor – malé kladné číslo (včetně 0), které systém přiděluje proudu při otevření. Pomocí něj proces
identifikuje otevřené proudy v dalších voláních služeb systému. Deskriptory mohou označovat soubory, roury,
schránky. Deskriptory 0, 1 a 2 se označují jako standardní vstup, standardní výstup a chybový výstup. Pokud

-2-
www.cz-milka.net

program čte data z terminálu, používá deskriptor 0, pokud vypisuje výsledná data na terminál, používá deskriptor 1
a pokud vypisuje chybové hlášení, používá deskriptor 2.
Přerušení – vnitřní přerušení je generováno strojovou instrukcí při volání služby systému, může být zapříčiněno
také chybou nebo výjimečnou událostí. Přerušení může být způsobeno také kvůli některému vnějšímu zařízení.
Preempce – přerušení běhu procesu vynucené vypršením časového kvanta. Po ukončení procesu Schedule
rozhodne, který z procesů bude realizován. Pokud je spuštěn jiný proces, musí OS změnit obsah u-oblasti a pro
nový proces obnovit původní obsah registrů (= změna kontextu).
Časové kvantum – velikost intervalu, po jehož uplynutí dochází ke střídání procesů.
Časový interval základní – doba, po jejímž uplynutí se generuje žádost o přerušení.
Swapování – odkládání procesů na disk v případě, že není dostatek místa v paměti, která se tak uvolní.
Zablokování procesu – proces je zablokován tehdy, když není splněna určitá podmínka, která musí být splněna
pro úspěšné pokračování. Součástí jádra je tabulka zablokovaných procesů – pro každou událost obsahuje tabulka
seznam na ni čekajících procesů. Algoritmus sleep_on(event) – do tabulky procesů je zaznamenán zablokovaný
proces, v tabulce procesů je proces zařazen do seznamu procesů čekajících na událost. Po uskutečnění události je
nutné odblokovat proces, které na tuto událost čekají
Přidělování času procesoru – dvouúrovňové, zajišťuje ho dlouhodobý (swapper) a krátkodobý (scheduler)
plánovač. Schedule je součástí jádra OS, swapper je samostatný proces běžící v módu jádra.
Proces page_daemon – podporuje přidělování paměti procesům, realizuje pravidelné uvolňování stránek procesů.
Vytvoření procesu – proces lze vytvořit pomocí služby fork. Zavoláním služby systém vytvoří nový proces, který
je kopií původního procesu. Všechny v systému exitující procesy vznikly tímto způsobem, kromě procesu swapper,
který vytvořilo po spuštění systému jádro systému. Volající proces je proces rodič (parent) a nově vzniklý potomek
(dítě, child). Liší se jen v PID procesu (nový proces dostane jiné číslo kvůli jednoznačné identifikaci), v uživatelské
oblasti se do místa záznamu výsledku volání služby systému zapíše rodiči PID potomka a potomku 0.
Swapper – proces, který běží v módu jádra a v systému zajišťuje odkládání procesů na disk.
Skupina procesů – každý proces patří do určité skupiny procesů, která je jednoznačně identifikována svým číslem
skupiny procesů.
Řídící terminál – pokud proces otevírá terminál, jsou splněny podmínky: proces je vedoucím skupiny, proces
nemá přiřazen řídící terminál, řídící terminál nebyl přiřazen žádnému jinému procesu. Právě otevíraný terminál je
přiřazen procesu jako řídící terminál procesu, proces se stane řídícím procesem terminálu. Procesy, které nemají
přiřazen řídící terminál se nazývají démonové procesy (démoni), které většinou spouští proces init.
Proces init – spouští při svém startu celou řadu procesů a když je systém spuštěn, plní některé systémové úkoly.
U-oblast – udržuje informace o reálném a efektivním jménu uživatele a skupiny, aktuální adresář a kořenový
adresář, tabulku deskriptorů, I/O parametry, ošetření signálu, řídící terminál, výsledek a parametry volání systému.
Ukončení procesu – proces končí svou činnost voláním služby exit, OS ukončí proces a za jistí vrácení osmi
nejméně významných bitů statusu čekajícímu rodiči. Při vykonávání služby exit se provádí operace: procesům,
které patří do skupiny končícího procesu, změní číslo skupiny na 0, pokud má proces přiřazen řídící terminál, zašle
signál SIGHUP procesům, které patří do skupiny končícího procesu, změní potomkům končícího procesu PPID na
PID procesu init, uzavře soubory, uvolní paměť, zašle rodiči končícího procesu signál SIGCHLD, převede proces
Zpracování zombie – proces zombie je zpracováván svým rodičem, může to udělat tak, že zavolá službu wait.
Pokud existuje nějaký potomek zombie, vezme potomka a přičte spotřebu zdrojů potomka ke své spotřebě, vyřadí
potomka z tabulky procesů, uloží hodnotu proměnné status, uloží číslo procesu právě zpracovávaného potomka,
provede návrat z volání systému.
Záměna programu řídícího proces – služba execve, která zamění strojový kód běžícího procesu za strojový kód
programu, který je uložen v souboru na disku. Při volání služby OS zkontroluje přístupová práva, uloží hodnoty
parametrů volání a hodnoty proměnných prostředí na zásobník jádra, uvolní paměť obsazenou procesem, pro nový
proces vytvoří strukturu tabulky stránek, překopíruje hodnoty parametrů volání a proměnných prostředí na nový
zásobník procesu, z hlavičky programu vezme startovací adresu a uloží ji do čítače instrukcí.
Fork – voláním služby fork vznikne nový proces, který je kopií volajícího procesu, nový proces je řízen stejným
programem.
Řízení procesů – pomocí fork žádá proces o vytvoření nového procesu. Po zavolání služby pause se operační
systém uvede do stavu zablokování. Pomocí exit žádá proces operační systém o své ukončení. Služba watt se
používá pro synchronizaci procesu s jeho potomkem. Execve se používá pro spuštění jiného programu, operační
sytém po zavolání této služby zamění text procesu. Pomocí kill lze požádat operační systém o zaslání signálu
jinému procesu. Službou signal lze ovlivnit způsob zpracování procesu po příchodu signálu. Služba alarm zajistí,
aby operační systém zaslal procesu signál SIGALRM po uplynutí časového intervalu.

-3-
www.cz-milka.net

Procesor – musí pracovat minimálně ve dvou režimech (superuživatelský a uživatelský), musí mít instrukci pro
generování vnitřního přerušení (pomocí ní procesy žádají o službu systému), musí umožnit realizaci
víceúrovňového systému přerušení a musí mít adresovou jednotku, která podporuje stránkování paměti.

Paměť:
Přidělování paměti – na začátku hlavní paměti je umístěna rezidentní část jádra OS, zbývající část je přidělována
zpracovaným procesům. Je možné přidělovat statické souvislé úseky (paměť po celou dobu běhu rozdělena na
souvislé úseky, jejich umístnění se nemění, proces se uloží do nejmenšího volného úseku, do kterého ho lze uložit),
dynamické souvislé úseky (operační systém vybere souvislou volnou část paměti, která je dostatečně velká na to,
aby se do ní mohl celý proces umístit a poté ho tam umístí) a virtuální adresový prostor. Nevýhodou prvních dvou
je, že paměť celou dobu obsahuje malé, neobsazené části, ale jejich celková velikost může být značná – dochází
k fragmentaci paměti; proces není chráněn před ostatními procesy a kterýkoli proces může přepsat oblast, která
byla vyhrazena jinému procesu. Virtuální paměť – procesor může pracovat v celém logickém prostoru jako kdyby
byla rozšířena fyzická paměť na velikost logické (pojmy – tabulka stránek, výpadek stránky, stránkování na
žádost).
Prostor adresový lineární – jednodimensionální, tvoří ho souvislá posloupnost adres.
Prostor adresový segmentovaný – tvoří ho posloupnost segmentů, každý segment poskytuje lineární posloupnost
adres. Segmenty se definují zapsáním bázové adresy segmentu do segmentového registru, segmenty jsou stejně
velké, mohou se navzájem překrývat, jednotlivé části programu mohou být rozloženy do různých segmentů.
Segmentovaný adresový prostor dovoluje strukturovat program a data do segmentů, usnadňuje sdílení dat mezi
programy, poskytuje způsob volání služeb systému (služby možno realizovat také pomocí instrukce skoku do
podprogramu), umožňuje, aby části programu byly nezávisle kompilovány a sestavovány.
Prostor logický segmentovaný – skládá se ze segmentů různé délky, které se mohou v paměti překrývat. Velikost
segmentů, adresa jejich báze a způsob ochrany je zaznamená v deskriptoru segmentů.
Tabulka stránek – organizována podle čísel stránek, každé stránce odpovídá jeden řádek, v řádku je uvedeno číslo
rámu, který operační systém stránce přidělil.
Výpadek stránky – událost, ke které dojde, pokud proces použije virtuální adresu, která je mimo mapovaný
prostor.
Stránkování na žádost – operační systém mapuje procesu stránku až když dojde k výpadku stránky.
Tabulka stránek inverzní – organizována podle čísel rámů, těch je méně než čísel stránek, protože pokrývají
fyzický prostor. OS hledá k číslu stránek číslo rámu a musí mít přímý přístup do tabulky podle hodnoty klíče. Více
stránek může být mapováno do stejného místa hash tabulky, musí tabulka obsahovat rozšiřující část pro rehashing.
V tabulce OS najde pro každé číslo stránky ukazatel na řádku invertované tabulky stránek, která stránce odpovídá.

Soubory:
Soubor – posloupnost bytů dané délky. Soubory jsou organizovány do systémů souborů, který je před zahájením
práce nutno otevřít (open). Systémů souborů na disku může být i několik, každý ale musí být na jiném fyzickém
disku. Soubory jsou jména souborů, ve kterých jsou uložena vstupní data programu nebo do kterých bude
přesměrován výstup z programu. Soubory jsou organizovány do adresářů. Při práci se soubory je nutné soubor
nejdříve otevřít, ke každému souboru přiřadit ukazovátko, jehož hodnota definuje aktuální pozici v souboru, ze
souboru lze přečít od polohy ukazovátka stanovený počet bytů pomocí služby read a do souboru lze zapsat pomocí
služby write. Hodnota ukazovátka se vždy po přečtení nebo zápisu 1 bytu automaticky zvýší o 1, po otevření
souboru je hodnota ukazovátka nastavena na 0, hodnotu však lze nastavit pomocí služby lseek.
Správce souborů – data a programy jsou organizovány v systémech souborů na discích, při práci s nimi je nutné
nejdříve najít i-uzel souboru, získat informaci o souboru uloženou v i-uzlu a provést požadovanou operaci. Pro
rychlejší práci se vytváří vyrovnávací paměť. Komunikace s ostatními I/O zařízeními se děje prostřednictvím
řídících souborů – každý obsahuje dvě čísla: jedno identifikuje ovladač zařízení, druhé je identifikačním číslem
zařízení, kterého se komunikace týká. Řídící soubory jsou znakové a blokové.
Systém souborů – větší celek, ve kterém jsou organizovány soubory, může jich být jeden nebo více, jeden systém
souborů však nemůže existovat na více discích. Každý soubor nebo podadresář má přidělenu položku pevné délky,
ve které je uložen název a číslo i-uzlu.
Soubor – velikost – maximální velikost je omezena, například velikost bloku je 512B a čísla bloků jsou
zaznamenána ve 4 bytech, je maximální velikost 1GB. K menším souborům je rychlejší přístup než k velkým.
Roura – paměť, kterou operační systém realizuje v systému souborů, je charakterizována dvojicí deskriptorů
(vstup a výstup). Vytváří se voláním služby pipe (nepojmenovaná roura) nebo mknod či open (pojmenovaná roura).

-4-
www.cz-milka.net

Pojmenovaná roura má jméno a existuje v systému souborů jako soubor. Po uzavření je roura ze systému vyjmuta.
Roura slouží k předávání dat mezi procesy.
Soubor linkový – soubor pro vytváření synonymů souborů formou soft linků.
Soubor řídící – soubor pro ovládání I/O zařízení s přenosem dat po blocích nebo po znacích.
Cesta – úplná (začíná hlavním adresářem), neúplná (prvním znakem cesty není /, nezačíná hlavním adresářem)
I-uzel – obsahuje informace o typu souboru, přístupových právech, individuálním a skupinovém vlastníku, času
posledního zápisu, použití, modifikace, velikosti souboru aj.
Hard link – adresářová položka mezi jménem souboru a i-uzlem. Každý souboru má v oblasti i-uzlů přiřazen jeden
i-uzel, který udržuje informace o souboru. V adresářové položce souboru je jen jméno a odkaz na i-uzel. Hard linky
vytváří synonyma souborů. Vytvořit lze pomocí služby link nebo příkazem ln, odstranit unlink nebo rm.
Soft link – symbolický link či odkaz, je implementován jako soubor obsahující cestu. Lze ho vytvořit příkazem ln.
Soft link je samostatný soubor a má svůj i-uzel. Výhoda – mohou odkazovat i na soubory a adresáře v jiných
systémech souborů. Nevýhoda – zrušíme-li soubor, na který soft link odkazuje, systém to nezjistí a v sytému může
být řada soft linků, které na nic neodkazují.
Superblok – obsahuje důležité informace o systému souborů jako celku.
Oblast i-uzlů – každý i-uzel zde má vyhrazenu položku pevné dálky.
Oblast dat – obsahuje v programu definovaná data.
Systém quota – dovoluje v tabulce quotas definovat pro každého uživatele omezení počtu přidělených i-uzlů a
bloků, tabulka musí být uložena v hlavním adresáři toho systému souborů, kterého se týká.
Vytvoření a připojení systému souborů – systém souborů se vytváří na discích, na jednom fyzickém disku může
být jeden nebo více systémů souborů, každý systém souborů však musí mít v adresáři svůj řídící soubor, řídící
soubory se vytváří programem mknod. Připojení systému souborů se provádí pomocí příkazu mount (systém
souborů je připojen do přístupné adresářové struktury v místě v příkazu uvedeného adresáře připojení, často je
vytvořen prázdný adresář, jinak se obsah adresáře stane nepřístupným a zpřístupní se až po odpojení), odpojení
pomocí umount.
Číslo hlavní – je definováno pro každý ovladač v konfiguračním souboru, je shodné u všech zařízení, které jsou
ovládána stejným ovladačem.
Číslo vedlejší – musí být u řídících souborů se stejným hlavním číslem různá.
Vyrovnávací paměť – skládá se z určitého počtu bufferů a je společná pro všechny logické svazky.
Rozhraní R12 – rozhraní mezi ovladačem disku a správcem souborů. Na systémy souborů se pohlíží jako na
logické svazky, které jsou identifikované logickým číslem svazku. Na každém logickém svazku existuje určitý
počet alokačních bloků = jeden nebo více sektorů na disku. Ovladač disku zajišťuje přečtení alokačního bloku
daného logického svazku do vyrovnávací paměti a zápis v paměti uloženého alokačního bloku zpět na disk.
Buffer – vyrovnávací paměť skládající se z hlavičky a datové části. Datovou část tvoří ta část bufferu, do níž se
načítá obsah diskového bloku.
Rozhraní R23 – rozhraní mezi procesy a správcem souborů. Základním pojmem je soubor.
Ukazovátko – při práci se soubory je nutné soubor nejdříve otevřít, ke každému souboru přiřadit ukazovátko, jehož
hodnota definuje aktuální pozici v souboru, ze souboru lze přečít od polohy ukazovátka stanovený počet bytů
pomocí služby read a do souboru lze zapsat pomocí služby write. Hodnota ukazovátka se vždy po přečtení nebo
zápisu 1 bytu automaticky zvýší o 1, po otevření souboru je hodnota ukazovátka nastavena na 0, hodnotu však lze
nastavit pomocí služby lseek.
Soubor – uzavření a zrušení – uzavření se provádí pomocí služby close, přičemž se uvolní řádky v tabulce
deskriptorů a v tabulce otevřených souborů a sníží se počet odkazů v bufferu i-uzlu ve vyrovnávací paměti i-uzlů.
Jsou-li otevřeny nějaké soubory, OS je automaticky uzavře. Zrušení souboru spočívá ve zrušení adresářové položky
a ve snížení počtu hard linků na soubor o 1.
Soubor – čtení a zápis – čtení se provádí pomocí služby read a zápis službou write. Čtení nebo zápis se provádí od
aktuální pozice ukazovátka, jehož hodnota po otevření je 0.
Soubor – uzamykání – procesy musí mít možnost získat výlučný přístup k soboru, tedy jej uzamknout.
Uzamykání je doporučené a mandatorní. Při doporučeném musí procesy, které chtějí se souborem pracovat,
navzájem spolupracovat, při sanatorním však OS nepovolí procesům přístup k souboru, který si uzamknul jiný
proces. Uzamykání (doporučené) lze zrealizovat tak, že dojde k uzamčení pomocí uzamykacího souboru nebo
pomocí semaforu nebo pomocí systémové služby lock nebo fcntl.
Adresář – obsah – skládá se ze záznamů, každý záznam se týká jednoho souboru a skládá se pouze ze dvou
položek – názvu souboru a celého čísla. Celé číslo je ukazatelem na informační položku (i-uzel).

Příkazy:
-5-
www.cz-milka.net

Interpret řídících příkazů – prostředník mezi uživatelem a operačním systémem, pomocí Stellu zadává uživatel
své požadavky a shell zajistí jejich předání operačnímu systému.
Shell – slouží pro zadávání požadavků uživatele do systému, vyzve k zadání požadavku výzvou (promptem),
uživatel zadá příkaz a shell ho sám provede (vnitřní příkaz systému) nebo se pokusí vyhledat soubor (nutné
oprávnění ke spuštění).
Zadání požadavku – shell vyzve uživatele k zadání požadavku promptem, uživatel zadá požadavek formou
příkazu. Shell zadaný příkaz sám provede (vnitřní příkaz) nebo první část příkazu považuje za název souboru a
snaží se ho vyhledat.
Znak expansní – umožňují vytvářet skupiny jmen souborů na základě jejich podobnosti.
Proměnné prostředí (předdefinované) – jsou přístupné všem procesům, které shell spustí.
Proměnné lokální – nepřenáší se do podřízeného Stellu ani nejsou přístupné procesům, které byly shellem
spuštěny.
Proměnné rezervované – patří mezi lokální proměnné a jejich hodnoty může nastavovat pouze shell.
Znak výluky – ruší speciální význam určité podskupiny speciálních znaků.
Přezdívka (alias) – příkaz i s parametry spuštění, shell udržuje tabulky přezdívek, po spuštění příkazu jí nejdříve
prohlédne. Pokud zjistí, že příkaz je přezdívka, nahradí jej příkazem z tabulky přezdívek.
Programy systémové – dodávány s operačním systémem, slouží k manipulaci se systémem (grep, fork, awk, sed).
Filtry – programy, které čtou vstupní data ze standardního vstupu a výsledky posílají na standardní výstup.
Výraz regulární – obsahuje běžné znaky a znaky se speciálním významem (metaznaky).
Program grep – pro vyhledávání řádků které obsahují nebo neobsahují řetězec, který splňuje zadaný regulární
výraz.
Program fgrep – rychlejší verze programu grep, tvar přípustných regulárních výrazů je omezen, nesmí obsahovat
metaznak.
Program egrep – rozšířená verze programu grep, povoluje obecnější formu regulárních výrazů, výrazy lze do sebe
vnořovat.
Program sed – proudový editor, čte vstupní data ze souborů uvedených v příkazové řádce nebo ze standardního
vstupu
Program awk – řádkově orientovaný textový procesor,.
Podmínka – tvoří se z termínů pomocí relačních operátorů a logických operátorů.
Instance regulárního výrazu – řetězec, který splňuje regulární výraz.

Síťová komunikace:
Protokol TCP/IP – skupina přenosových protokolů, nejdůležitější je TCP a IP. TCP poskytuje procesům aplikační
vrstvy službu zvanou proud (stream), IP definuje formát datagramu a způsob jeho prenosu.
Model OSI – model pro popis komunikačních protokolů, má 7 vrstev – fyzickou, linkovou, síťovou, transportní,
relační, prezentační a aplikační.
Adresa IP – 32 bitová adresa, je jedinečná, zapisuje se čtveřicí decimálních čísel oddělených tečkami. Typy adres:
A – první bit 0, první byte max. 127, první byte je adresa sítě, tři další adresa počítače. B – první dva bity 1 0, první
byte 128 – 191, první dva byty jsou adresa sítě, zbylé dva adresa počítače. C – první tři bity 1 1 0, první byte 192 –
223, první tři byty jsou adresa sítě, zbylý byte adresa počítače. D – první tři bity jsou 1 1 1, první byte větší než
223, adresa rezervovaná pro speciální účely.
Směrování – provádí ho síťová vrstva podle směrovcí tabulky. Směrování statické a dynamické. Statické –
administrátor nastaví směrovací tabulku, která se již nemění, provádí se příkazem route. Dynamické – spuštěn
démon routek nebo gated, který pak provádí nastavení a aktualizaci.
Podsítě – rozdělení sítě s určitou IP adresou na dílčí části, není nutné žádat o další IP, pouze rozdělit stávající síť,
všechny podsítě musí používat stejnou masku, která se zapisuje v tečkové notaci jako IP adresa.
Doménový jmenný systém (DNS) – mechanismus, který umožňuje používat symbolická jména místo IP adres.
Informační sytém (NIS) – umožňuje skupině počítačů patřících do jedné NIS sdílet některé důležité systémové
soubory.
Síťový souborový systém (NFS) – umožňuje přístup k souborům na vzdálených hostitelích stejným způsobem,
jako se přistupuje k místním souborům.

Bezpečnost:
Uživatel – každý má v systému přiděleno jednoznačné uživatelské jméno (username), administrátor je zadává do
tabulky uživatelů, ke každému username patří uživatelské číslo (user ID, UID). Uživatel s UID 0 je superuživatel,
jeho username je root. Uživatelé jsou rozděleni do skupin, každá má své jméno a identifikační číslo (GID).
-6-
www.cz-milka.net

Práva přístupová – zajišťují ochranu souborů, právo r (číst), w (psát), x (spustit). Práva se specifikují pro
individuálního vlastníka, skupinového vlastníka a ostatní uživatele. Práva se nastavují voláním systému chmod.
Bity – s-bit uživatele, s-bit skupiny, t-bit. T-bit má význam jen pro spustitelné soubory, je-li t-bit nastaven, systém
si o souboru uchová informace a to umožní jeho rychlejší následné spuštění.
S-bit – slouží pro omezení předávání přístupových práv k souborům.
T-bit – je-li nastaven u spustitelných souborů, systém si uchová některé systémové datové struktury nutné pro
spuštění a následné spuštění je pak rychlejší.
Maska – parametru, který má implicitní nastavení stejné pro všechny procesy a definované při konfiguraci
operačního systému.
OS pro všeobecné použití – poskytují funkce, které podporují bezpečnost – autentizace uživatele při připojování,
ochrana dat uživatelů, ochrana I/O zařízení, ochrana paměti přidělené procesům, podpora meziprocesorové
komunikace a synchronizace, podpora sdílení souborů a I/O zařízení, garance dostupnosti; mandatorní způsob
řízení přístupu, kontrola přístupových práv při každém přístupu, důvěryhodná cesta, ochrana při opětném
přidělování prostředků, audit.
Bezpečnost souborů a I/O zařízení – soubory a adresáře jsou chráněny přístupovými právy, I/O zařízení jsou
reprezentována řídícími soubory a proto jsou chráněna stejným mechanismem. Přístupová práva pro
individuálního, skupinového vlastníka, ostatní. Práva r, w, x. S-bit uživatele a skupiny.
Bezpečnost procesů – procesy mezi sebou musí definovaným a kontrolovaným způsobem komunikovat. Proces se
skládá z textu, dat a zásobníku. Text tvoří strojové instrukce, které řídí činnost procesoru, data jsou oblast paměti
obsahující informace definované v programu nebo oblast s uloženými mezivýsledky a zásobník je oblast paměti,
kam proces ukládá hodnoty dočasných proměnných, návratové adresy a parametry volání funkcí. Všechny tři tvoří
uživatelský kontext procesu. OS o nich udržuje řadu informací – systémový kontext procesů. Žádný jiný proces
nesmí mít možnost přepsat data a zásobník jiného procesu – stránkování na žádost. Pro bezpečnost se využívá také
zasílání signálů, pojmenované a nepojmenované roury a prostředky IPC (semafory, zasílání zpráv, sdílená paměť).

-7-
www.cz-milka.net

Přehled příkazů
cat zobrazení obsahu souboru
cd / návrat zpět do rootu
cp kopírování souborů
date zobrazí systémový čas
ln vytvoření hard linku na soubor
ls výpis obsahu adresářů
man … manuál příkazu
mkdir vytváření adresářů
mkfs vytvoření systému souborů
mknod vytvoření řídícího souboru
mount připojení systému souborů
mv přesunutí
nestrp žádost o změnu skupiny
pipe vytvoření nepojmenované roury
rm mazání souborů
rm dir rušení adresářů
umount odpojení systému souborů
who zjištění počtu uživatelů připojených k systému
!n n-tý příkaz historie
!string poslední příkaz, jehož název začíná řetězcem string
!! poslední příkaz
!^ první parametr posledního příkazu
!$ poslední parametr posledního příkazu
!* všechny parametry posledního příkazu

Proměnné
Předdefinované – proměnné prostředí:
HOME obsahuje úplnou cestu k domácímu adresáři
LOGNAME obsahuje jméno uživatele
TERM obsahuje typ terminálu
PATH obsahuje seznam adresářů, ve kterých se hledají příkazy
PROMPT obsahuje řetězec výzvy systému
PS1 obsahuje řetězec promptu
PS2 obsahuje řetězec promptu pro pokračování řádku
Rezervované – proměnné lokální:
$* všechny parametry příkazového řádku, se kterými byl spuštěn script, který je shellem zpracováván
$# počet parametrů příkazového řádku, se kterými byl spuštěn script, který je shellem zpracováván
$? návratový bod posledního spuštěného příkazu
$$ PID shellu

Výrazy regulární
. označuje jeden libovolný znak
\ znak výluky, ruší speciální význam bezprostředně následujícího znaku
[] slouží pro zadání skupiny alternativních znaků
^ v [] negace
^ mimo [] začátek řádku
$ konec řádku
* vztahuje se k bezprostředně předcházejícímu znaku a znamená libovolný počet opakování tohoto
znaku (i nulový)
ab* řetězce a, ab, abb, abbé atd.
-8-
www.cz-milka.net

.* libovolný, i prázdný, řetězec


..* libovolný neprázdný řetězec
\..* libovolný řetězec začínající na .
^$ prázdný retězec
Znaky expansní
* zastupuje libovolný řetězec, který nezačíná znakem ., pokud výraz začíná *, nesplňují ho řetězce,
které začínají ..
? zastupuje libovolný znak, pokud výraz začíná ?, nesplňují jej řetězce, které začínají ..
[] slouží pro zadání skupiny alternativních znaků
^ negace
??? soubory s tříznakovým názvem
[abc] jeden ze znaků a, b nebo c
[0-9] jeden ze znaků mezi 0 a 9
[^xy] jeden znak, který je jiný než x nebo y
[.y] znak . nebo y
x*[0-9] soubory, jejichž název začíná na x a končí číslicí
[^abc]? soubory s dvouzankovým názvem, které začínají jiným znakem než a, b nebo c
rm * zrušení všech souborů v aktuálním adresáři, kromě těch, které začínají tečkou

Znaky výluky
\ vztahuje se pouze na bezprostředně následující znak, v c shell + bourne shell ruší interpretaci všech
speciálních znaků
´´ vztahují se na všechny znaky, které jsou uzavřeny do jednoduchých uvozovek
““ vztahují se na všechny znaky, které jsou do nich uzavřeny

-9-

You might also like