VYSOKÁ ŠKOLA POLYTECHNICKÁ JIHLAVA Katedra elektrotechniky a informatiky Obor Aplikovaná informatika
Animace vybraných kapitol předmětu Operační systémy bakalářská práce
Autor: Michal Píbil Vedoucí práce: PaedDr. František Smrčka, Ph.D.
Jihlava 2014
Anotace Cílem této bakalářské práce je vytvořit animace dílčích kapitol operačního systému. Celý program je dělaný v programu Adobe Flash CS5 proffessional. Program bude využíván jako pomůcka k výuce operačních systémů. Jde o vizuální stručné přiblížení, jak asi daný proces v operačním systému funguje. Uživatel, který program spustí, v prvním kroku dojde k menu, kde si může vybrat z nabídky jednotlivých procesů. Po vybrání procesu, může kdykoliv animaci pozastavit, zastavit a pustit znovu od začátku, nebo se vrátit zpět do hlavního menu.
Klíčová slova Flash, Animace, ActionScript, Operační systém, Proces
Abstract The aim of this bachelor thesis is to create animations of partial chapters of operation systém. The whole application is programmed in Adobe Flash CS5 Proffessinal. The programme will be used as a study aid for operating systems function. It should visually give you brief idea of how given process in the operation systém works. User that starts the program firstly encounters a table of options where be can choose a particular proces. After selecting a process he can pause, stop or restart the animation anytime or get back to the main menu.
Keywords Flash, Animation, ActionScript, Operation System, Process
Prohlašuji, že předložená bakalářská práce je původní a zpracoval/a jsem ji samostatně. Prohlašuji, že citace použitých pramenů je úplná, že jsem v práci neporušil/a autorská práva (ve smyslu zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů, v platném znění, dále též „AZ“). Souhlasím s umístěním bakalářské práce v knihovně VŠPJ a s jejím užitím k výuce nebo k vlastní vnitřní potřebě VŠPJ. Byl/a jsem seznámen s tím, že na mou bakalářskou práci se plně vztahuje AZ, zejména § 60 (školní dílo). Beru na vědomí, že VŠPJ má právo na uzavření licenční smlouvy o užití mé bakalářské práce a prohlašuji, že s o u h l a s í m s případným užitím mé bakalářské práce (prodej, zapůjčení apod.). Jsem si vědom/a toho, že užít své bakalářské práce či poskytnout licenci k jejímu využití mohu jen se souhlasem VŠPJ, která má právo ode mne požadovat přiměřený příspěvek na úhradu nákladů, vynaložených vysokou školou na vytvoření díla (až do jejich skutečné výše), z výdělku dosaženého v souvislosti s užitím díla či poskytnutí licence. V Jihlavě dne
............................................... Podpis
Poděkování Na tomto místě bych rád poděkoval svému vedoucímu práce PaedDr. Františku Smrčkovi, Ph.D. za poskytnutí tématu a možnost vytvářet ho pod jeho vedením a za jeho trpělivost.
Obsah 1
Úvod.......................................................................................................................... 8
2
Adobe Flash CS5 Professional ................................................................................. 9
3
2.1
Vymezená plocha ............................................................................................... 9
2.2
Panel knihovna ................................................................................................. 10
2.3
Časová osa ........................................................................................................ 10
2.4
Panel nástrojů ................................................................................................... 11
2.5
Náhled a publikování animace (filmu) ............................................................. 12
Teorie jednotlivých procesů v operačním systému................................................. 14 3.1
Semafor – vzájemné vyloučení ........................................................................ 14
3.1.1 Kritická sekce............................................................................................... 14 3.1.2 Vzájemné vyloučení..................................................................................... 14 3.2
Producent konzument pomocí semaforu .......................................................... 14
3.3
Ukládání souborů fat ........................................................................................ 14
3.4
Fragmentace vnější........................................................................................... 15
3.5
Defragmentace ................................................................................................. 15
3.6
Fragmentace vnitřní ......................................................................................... 16
3.7
NTFS snížená fragmentace .............................................................................. 16
3.8
Stránkování paměti na žádost........................................................................... 16
3.8.1 Funkce modulu............................................................................................. 16 3.9
Souborový systém EXT2 ................................................................................. 18
3.9.1 Obsah skupiny bloků: .................................................................................. 18 3.9.2 Inode ............................................................................................................ 18 3.9.3 Inode adresářového souboru ........................................................................ 18 3.10 Přepnutí kontextu procesu ................................................................................ 19 3.11 Zavedení operační systému MS Windows do PC ............................................ 20 3.12 Zavedení GRUB ............................................................................................... 21 3.13 Přiřazení procesoru podle priority .................................................................... 22 4
Praktická část programu.......................................................................................... 24 4.1
Hlavní nabídka ................................................................................................. 24
4.1.1 Tvorba tlačítek ............................................................................................. 24 4.1.2 Načítání externího obsahu ActionScript 3.0 ................................................ 25 4.1.3 Fullscreen zobrazení .................................................................................... 26 4.1.4 Vytvoření masky .......................................................................................... 27 4.2
Semafory – vzájemné vyloučení ...................................................................... 28
4.2.1 Pohyb objektů po vymezené ploše ............................................................... 28
4.3
Semafory – producent konzument ................................................................... 29
4.3.1 Společná knihovna ....................................................................................... 30 4.4
Ukládání souborů FAT ..................................................................................... 31
4.4.1 Popisek klíčového snímku ........................................................................... 31 4.5
Fragmentace vnější........................................................................................... 32
4.6
Defragmentace ................................................................................................. 33
4.7
Fragmentace vnitřní ......................................................................................... 34
4.8
NTFS snížená fragmentace .............................................................................. 35
4.9
Stránkování paměti na žádost........................................................................... 35
4.9.1 Kreslení ........................................................................................................ 36 4.10 Souborový systém EXT2 ................................................................................. 38 4.11 Přidělení procesoru – přepnutí kontextu .......................................................... 38 4.12 Zavádění operačního systému MS ................................................................... 39 4.13 Přidělení procesoru – různé priority ................................................................. 40 4.14 Přidělování procesoru podle priority ................................................................ 41 4.15 O Programu ...................................................................................................... 42 5
Závěr ....................................................................................................................... 43 5.1
Hlavní cíle ........................................................................................................ 43
5.2
Problémy a jejich řešení ................................................................................... 43
5.3
Rozšíření práce ................................................................................................. 43
6
Seznam použité literatury ....................................................................................... 45
7
Seznam obrázků ...................................................................................................... 46
8
Seznam použitých zkratek ...................................................................................... 47
9
Obsah CD ................................................................................................................ 48
1 Úvod Téma bakalářské práce, jsem si vybral během 5. semestru mého studia na Vysoké škole polytechnické v Jihlavě. Během výuky Operačních systémů nám pan PaedDr. Smrčka, Ph.D. navrhnul téma bakalářské práce. Jednalo se o vytvoření animace vybraných kapitol operačního systému, tato práce by poté měla sloužit jako výuková pomůcka, které přiblíží danou problematiku studentům. Téma mě okamžitě zaujalo, i když jsem měl trošku obavy, protože s tvorbou interaktivních animací jsem neměl vůbec žádnou zkušenost. Rozhodl jsem se použít program Adobe Flash CS5, protože mi svým vývojovým prostředím byl nejblíže a patří mezi nejznámější ve své třídě. I když z posledních novinek vím, že flash je na ústupu a pomalu je nahrazován HTML5 zůstal jsem u něj. Při konzultaci s panem PaedDr. Smrčkou, Ph.D. jsme konzultovali představu, jak by vše mohlo vypadat a přesně jsme si stanovili vybraná témata z výuky operačních systémů. Výstupem práce je program, který při spuštění zobrazí hlavní Menu, kde si uživatel může vybrat z nabídky jednotlivých procesů. Po výběru jednoho z nich se spustí animace, kterou můžeme kdykoliv pozastavit, nebo pustit znovu. Samozřejmostí je také návrat do hlavního menu a zobrazení „fullscreen“. V úvodu bych chtěl popsat vývojové prostředí Adobe Flash CS5, jak se pracuje s časovou osou a s panelem nástrojů. Ve druhé části popisuji jednotlivé procesy, které jsme vybrali pro vytvoření animace. Jedná se o teoretickou část, kde je písemně popsáno, jak daný proces funguje. Třetí část zachycuje praktickou část tvorby jednotlivých animací.
8
2 Adobe Flash CS5 Professional Tento program jsem si vybral, protože nabízí komplexní autorizační prostředí pro tvorbu
počítačových
animací
a interaktivních
webových
stránek.
Flash
je technologie používaná pro tvorbu chytlavých aplikací za přispění videosekvencí, zvuku grafiky nebo animacemi. Můžeme tvořit přímo ve flashi nebo můžeme rozpracované projekty importovat z jiných aplikací od společnosti ADOBE. Přímo v programu můžeme navrhnout jednoduché animace. Adobe Flash Professional je jen jeden produkt balíku CS5. Nabízí také aplikace Flash Catalyst a Flash Builder. Flash Catalyst je designový nástroj pro rychlou tvorbu rozhraní a interaktivního obsahu a to bez nutnosti psaní zdrojového kódu. Flash Builder je prostředí vhodnější spíše pro vývojáře umožnuje psát zdrojový kód a je určený pro vývoj interaktivního obsahu. Všechny tři tyto nástroje nakonec vygenerují stejný produkt flashový obsah (soubor SWF). Soubor SWF lze spustit v přehrávači Flash player ve svém prohlížeči, v AIR (Adobe Integrated Runtime) prostředí přímo z plochy mimo svůj prohlížeč nebo v mobilním telefonu.
2.1 Vymezená plocha
Obrázek 1: Vymezená plocha
V horní části pracovní plochy programu Adobe Flash Professional se nachází nabídky a široký výběr nástrojů a panelů pro editaci a přidávání prvků do filmu. Všechny 9
objekty pro animaci si můžeme vytvořit přímo v programu, nebo je můžeme importovat z jiné aplikace Adobe. Aplikace Flash obsahuje několik přednastavených rozložení panelů, uživatel si může vybrat podle toho, která mu více vyhovuje a to vše v nabídce Window -> Workspace a vyberte z rozevírací nabídky. Vymezená plocha v programu je místem, kde se přehrává animace obsahující text, obrázky a video, které se objeví na obrazovce. Přesouvání objektů na plochu a ven z plochy je přesouváte dovnitř a ven zorného pole diváka. Na ploše můžeme využívat pravítka, mřížky, zarovnání a dalších nástrojů. Vlastnosti vymezené plochy můžeme měnit a to v inspektoru Vlastnosti (Properties Inspector) ten se nachází na pravé straně svisle od vymezené plochy. Najdeme zde aktuální rozměry vymezené plochy, které můžeme upravit (Edit) a barvu pozadí (Background color). Vlastnosti můžeme měnit kdykoliv v průběhu tvorby.
2.2 Panel knihovna K panelu Knihovna se dostaneme za pomoci záložky hned vedle záložky vlastnosti (properties) v Inspektoru vlastnosti. Knihovna slouží pro uložení a uspořádání položek vytvořených v programu Flash a také souborů importovaných z jiných aplikací včetně bitmapové grafiky, zvukových souborů nebo videoklipů potřebných pro tvorbu animací. Každý vytvořený objekt nebo importovaný se okamžitě automaticky uloží do knihovny a jsou okamžitě připravené k použití v animaci. Stačí jen přetáhnout objekt z panelu knihovna na vymezenou plochu.
2.3 Časová osa
Obrázek 2: časová osa
10
Časová osa je umístěná pod vymezenou plochou stejně jako u filmových editorů se čas měří ve snímcích. Při přehrávání filmu se se přehrávací (červená) čára přesouvá přes jednotlivé snímky na časové ose. Časová osa obsahuje různé vrstvy, každá vrstva obsahuje objekt, můžeme si to představit jako několik filmových pásů naskládaných na sobě. Každá vrstva se postupně zobrazuje na vymezené ploše, můžeme každou z nich upravovat, aniž by to mělo vliv na vrstvy jiné. Objekt umístěný jako poslední ve vrstvách je na vymezené ploše úplně vespod. Vrstvy lze skrývat, zamykat, zobrazovat a odemykat. Nový dokument Flash obsahuje jenom jednu vrstvu, ale lze jich přidávat kolik chceme (viz. Obr).
Obrázek 3: Vložení nové vrstvy
2.4 Panel nástrojů (Úzký dlouhý panel na pravém okraji pracovní plochy) obsahuje nástroje pro výběr, kreslení, psaní, malování, úpravy a navigaci a volby nástroje. Pomocí tohoto panelu budeme během práce přepínat mezi nástrojem pro výběr, nástrojem pro text a nástrojem pro kreslení. Při zvolení nástroje zkontrolujte oblast voleb ve spodní části panelu, kde se nachází více možností a další nastavení pro danou činnost. Podrobný přehled Panel obsahuje nástroje pro výběr, kreslení, malování a navigaci. Oblast voleb na panelu nástrojů umožnuje daný nástroj modifikovat. Rozbalené nabídky (viz obrazek_nastroje) na pravé straně ukazují skryté nástroje pro tvorbu. Černé čtverečky v těchto nabídkách označují nástroj, který je zobrazen aktuálně jako výchozí. Velká a malá písmenka v závorkách představují klávesové zkratky pro výběr.
11
Obrázek 4: Panel nástrojů
2.5 Náhled a publikování animace (filmu) Při práci na projektu můžeme kdykoliv během práce prohlížet průběžnou podobu animace, pro ujištění zda práce směřuje ke správnému výsledku. Pokud si chceme animaci (film) prohlédnout stačí vybrat příkaz Control (ovládání) -> Test Movie
12
(testování filmu) -> In flash Professional (v aplikaci Flash Professional). Ale postačí také zmáčknout klávesovou zkratku Ctrl+Enter. Jakmile jsme připraveni sdílet animaci s ostatními uživateli, můžeme jej z programu publikovat. U většiny projektů dojde k vytvoření dvou souborů HTM a SWF. SWF představuje naši výslednou animaci a soubor HTML říká prohlížeč, jak tento soubor SWF zobrazit. Oba tyto soubory pak umístíme na svůj webový server do stejné složky. Vždy je animaci vhodné napřed otestovat před nahráním na server, abychom si byli jisti plnou funkčností.
Obrázek 5: Logo Adobe
13
3 Teorie jednotlivých procesů v operačním systému 3.1 Semafor – vzájemné vyloučení Je synchronizační primitivum obsahující celočíselný čítač, který funguje jako počítadlo volných prostředků. Obsahuje operace „up“ a „down“. Operace „down“ snižuje hodnotu čítače o jedničku a v případě, že je čítač nulový (nedostává žádné prostředky), se proces zablokuje a přidává se do fronty, kde čekají další procesy na daný semafor. Další oprece „up“ kontroluje frontu a pokud je neprázdná vybere proces, který čeká ve frontě a odblokuje jej (pokračuje za svou operací „down“) pokud je fronta prázdná navýší se hodnota čítače o jedničku.
3.1.1 Kritická sekce Úsek programu, kde se nachází sdílené prostředky pro procesy (sdílené soubory, sdílená pamět,…).
3.1.2 Vzájemné vyloučení Prostředek může v jednom okamžiku používat jenom jeden proces (jinak dojde k chybě).
3.2 Producent konzument pomocí semaforu Problém producenta a konzumenta jde řešit pomocí dvou semaforů. Semafor S1 bude čítat počet plných položek a semafor S2 počet prázdných položek. S1 má na počátku hodnotu null. Semafor S2 obsahuje počet položek ve vyrovnávací paměti. Semafory slouží pro synchronizaci a zabraňují tomu, aby konzument četl z prázdné vyrovnávací paměti a producent zapisoval do plné vyrovnávací paměti.
3.3 Ukládání souborů fat Fat zkratka anglického názvu File Allocation Table (Tabulka alokace souborů). Obsahující informace o obsazenosti bloků (clusterů) jednotlivými soubory. Soubor se rozdělí podle velikosti bloků na části a poté se uloží do volných bloků na disk.
14
Boot záznam obsahuje informace o formátu (velikost clusteru, velikost a počet FAT). Kořenový adresář obsahuje seznam souborů a podadresářů
jméno,
velikost, datum a čas vytvoření,
atributy (skrytý, systémový),
počáteční cluster souboru.
Obrázek 6: Struktura FAT
3.4 Fragmentace vnější Vnější fragmentace vzniká tehdy, je-li jeden soubor rozdělen na více částí a rozmístěn na různých místech pevného disku, které na sebe nijak nenavazují. Tím se zpomaluje proces čtení a zápisu dat na pevný disk.
3.5 Defragmentace Nástroj pro odstranění vnější fragmentace. Roztroušené kousky (fragmenty) uspořádá tak, aby obsah jednotlivých souborů byl co nejvíce pohromadě. (uložen v po sobě jdoucích blocích) Tímto se urychlí proces čtení a zápisu na pevný disk. K tomuto účelu se používají speciální nástroje, které jsou buď součástí operačního systému (Windows aplikace „Defragmentace disku“) nebo se jedná o aplikace, které se do operačního systému doinstalují dodatečně. 15
3.6 Fragmentace vnitřní Vzniká tehdy, zůstanou-li nevyužity větší části alokačních bloků (clusterů).
Má-li soubor velikost např. 1kB a velikost clusteru je stanovena na 4kB, zabere soubor na pevném disku 4kB a zbylé 3kB zůstanou nevyužity;
Souborový systém vyhradí při ukládání souboru na pevný disk prostor rovnající se celočíselnému násobku velikosti clusteru. Poslední sektor v clusteru bývá z pravidla z větší části nevyužit.
3.7 NTFS snížená fragmentace Souborový systém NTFS se snaží minimalizovat fragmentaci, že přesouvá obsahy sekcí s cílem vytvořit (jeden) velký úsek volné paměti. Při ukládání vyhledává volné souvislé bloky, aby mohl uložit soubor souvisle za sebou.
3.8 Stránkování paměti na žádost Stránkování je řešeno pomocí virtuální paměti, celá úloha se neumístí do operační paměti. Poté součet všech adresových prostor může překročit kapacitu paměti. V paměti pouze prováděná část úlohy. Problém nastává, pokud se program odkazuje na právě nezavedenou část úlohy. Je nutné zavést strategii rozhodování, co má být v paměti zavedeno. Tabulka stránek se rozšíří o stavový bit, který určuje, zda je stránka zavedena v paměti nebo ne. Není-li místo pro další stránku musí se nějaká odstranit (do záložní paměti). Ovšem může se stát, že tato stránka je hned vzápětí požadována.
3.8.1 Funkce modulu
Sledování stavu paměti – tabulky stránek (každá úloha), bloků (jedna v systému), tabulka souborů (pro každý adresový prostor úlohy) v záložní paměti;
Rozhodování o přidělení paměti;
Přidělení paměti; 16
Uvolnění paměti.
Výhody
Odstranění fragmentace;
Není omezení fyzickým rozsahem paměti;
Efektivnost;
Multiprograming.
Nevýhody
Náklady;
Vnitřní fragmentace;
Řešení zahlcení systému.
Obrázek 7: Stránkování na žádost
17
3.9 Souborový systém EXT2
Data jsou uložena ve stejně dlouhých blocích;
Inode základní prvek – ext2 identifikuje soubory podle čísla inode, nikoli podle jména;
Bloky jsou dále rozděleny na skupiny bloků;
Adresáře jsou u ext2 vnímány jako zvláštní soubory, které vytváří a ukládají přístupové cesty k souborům.
3.9.1 Obsah skupiny bloků:
Superblok: obsahuje například počet volných bloků, velikost bloků, počet bloků ve skupině, číslo inode a další;
Deskriptor skupiny bloků: popisuje skupinu bloků například počet volných bloků, inodů ve skupině, čísla bloků, ve kterých jsou uloženy bitmapy, tabulky inodů atd;
Bitmapa bloků;
Bitmapa inodů;
Tabulka inodů;
Datové bloky.
3.9.2 Inode Obsahuje Metadata, neboli informace popisující soubory nebo adresáře a ukazatel na bloky s daty.
Mód – typ souboru a přístupová data;
Vlastník – uživatelský a skupinový identifikátor vlastníka souboru;
Velikost;
Časové značky;
Datové bloky – obsahují ukazatele na datové bloky.
3.9.3 Inode adresářového souboru Odkazuje se na jednotlivé inode souborů a datové bloky adresáře, které obsahují položky adresáře. 18
Hledání souboru začíná hned prvním Inode, který obsahuje informace o kořenovém adresáři.
Obrázek 8: Schéma ext2
3.10 Přepnutí kontextu procesu Máme dané dva procesy A, B a přechod mezi procesy zahrnuje tzv. přepnutí kontextu
Přepnutí od jednoho procesu k druhému lze provést výhradně pomocí nějakého přerušení. Pro přechod A->B nejprve OS uloží stav původně běžícího procesu A;
Provede se potřebná akce v jádru OS;
Nastaví se stav nově běžícího procesu B.
Přepnutí kontextu představuje režijní ztrátu neboli zátěž. Během přepínání kontextu totiž systém nedělá nic efektivního. Časově nejnáročnější je správa paměti dotčených procesů. Doba přepnutí záleží na hardwarové podpoře procesoru. Minimální hardwarová podpora při přerušení
Uchování čítače instrukcí;
Naplnění čítače instrukcí hodnotou z vektoru přerušení.
19
Lepší podpora
Ukládání a obnova více registrů procesoru jedinou instrukcí.
Obrázek 9: Uložení kontextu
3.11 Zavedení operační systému MS Windows do PC Vše začíná u BIOSU, který vyhledá a přečte konfigurační informace uložené v CMOS (malá oblast paměti, která je napájena z malé baterky umístěné na základové desce). Nejdůležitější informací v CMOS je pořadí zařízení, která boudou zkoušena pro zavedení operačního systému (FDD,CD-ROM,HDD apod.). Pokud je prvním bootovatelným zařízením pevný disk, začne BIOS zkoušet, jestli úplně první sektor na tomto disku je Master Boot Rekord (MBR). Je to úplně první sektor na disku a zabírá 512 bytů. Pokud je nalezen tento sektor bude nahrán do paměti na adresu 0000:7C00 a otestuje se kontrolní hodnota, která by správně měla obsahovat 55AAh v posledních dvou bytech. MBR je rozdělena na dvě části. Partition tabulku, která popisuje rozvržení celého pevného disku a Partition loader, který potřebujeme pro pokračování celého
20
bootovacího procesu. Pokud je tedy MBR správně zaveden předává BIOS řízení Partition loaderu, který zaujímá většinu z 512 bytů MBR. Partition loader zjistí v partition tabulce, zda je oddíl označen jako aktivní a poté prohlédne první sektor v této oblasti, zda obsahuje Boot Record. Boot Record je také 512 bytů dlouhý a obsahuje tabulku, která popisuje daný oddíl (počet bytů na sektor, počet sektorů na cluster, apd.). Aktivní Boot rekord je zkontrolován a přichází vyhledání sektoru, ve kterém se nachází první ze souborů operačního systému.
Obrázek 10: Master Boot Record
3.12 Zavedení GRUB GRUB je zavaděč – zaváděcí balíček projektu GNU. Umožnuje uživateli mít několik různých operačních systémů na jednom počítači a mít možnost si vybrat operační systém při startu počítače.
Obrázek 11: GRUB
Zavaděč se aktivuje ihned po ukončení testu BIOSu a jeho úkolem je nakopírovat jádro Linuxu
do paměti
a předat
mu
řízení
počítače.
GRUB
je v současné
době
nejrozšířenějším linuxovým zavaděčem a kromě Linuxu zvládá spustit i jiné operační systémy.
21
GRUB můžeme rozdělit do dvou fází. První fáze se skládá z 512 bytů a jejím úkolem je načíst druhou etapu zavaděče. Následuje druhá fáze, kdy je vložen. Tato fáze obsahuje hlavní část zavaděče. Když je systém spuštěn, GRUB načte soubor s nabídkou s platnými cestami a datovými údaji jádra. Skutečná konfigurace GRUBU je založena na čtyřech souborech. /boot/grub/menu.lst Tento soubor obsahuje všechny údaje o diskových oddílech a operačních systémech, které lze zavést pomocí GRUB. /boot/grub/device.map Tento soubor překládá názvy zařízení z GRUB a BIOS do jména linuxových zařízení. /etc/grub.conf Soubor obsahuje příkazy, parametry a možnosti shell potřeby GRUB pro správnou instalaci zavaděče. /etc/sysconfig/bootloader Obsahuje možnosti konfigurace (např. parametry jádra), které budou přidány ve výchozím nastavení do konfiguračního souboru zavaděče.
3.13 Přiřazení procesoru podle priority Modul přidělování procesoru sleduje a eviduje stavu všech úloh v systému, které uchovává ve frontě. Poté rozhoduje, který proces a na jak dlouho dostane přidělený procesor. Plánování podle priority zohledňuje různou prioritu úloh. Úlohy s větší prioritou přichází na řadu dříve, nebo je jim přiřazen procesor na delší časový úsek. Problémy plánování podle priority:
Neomezené zablokování (indefinite blocking); o U procesů s velmi nízkou prioritou hrozí riziko, že by mohli na přidělení procesoru čekat až nekonečně dlouho; 22
o V silně zatíženém systému může vlivem soustavného toku procesů s vysokou prioritou zabránit procesům s nízkou prioritou jakkoliv se dostat k procesoru;
Umoření (starvation) procesu.
Řešení problému neomezeného zablokování procesu je aging. Technika, která zvyšuje prioritu procesoru, který je v systému dlouhou dobu. Například je-li priorita definována v intervalu 0 – 127, je možné inkrementovat hodnotu priority procesu o 1 každých 15 minut.
Obrázek 12: Tabulka procesů podle priority
23
4 Praktická část programu 4.1 Hlavní nabídka Dlouhou dobu jsem nevěděl jak udělat hlavní menu aplikace. Nakonec jsem zvolil to nejjednodušší, co mohlo být. Na hlavní plochu jsem přidal celkově 13 tlačítek. Ve dvanácti případech se jedná o procese a v jednom případě jde o doplňující tlačítko zobrazující informace o programu. Rozdělil jsem tlačítka do tří sloupců, dva sloupce po pěti tlačítkách a jeden sloupec po třech. Nad tlačítka jsem vložil nadpis, do levého rohu logo Vysoké školy polytechnické v Jihlavě a v pravém rohu se nachází tlačítko pro přechod do režimu zobrazení „fullscreen“.
Obrázek 13: Ukázka hlavního menu
4.1.1 Tvorba tlačítek Všechny tlačítka jsem umístil do jedné vrstvy. Každé tlačítko má své vlastnosti, jak reaguje na pohyb kurzoru myši. Nahoru, Přes, Dolů a Zásah ke každému tlačítku můžeme přidat i jednotlivé vrstvy. V mém případě jde o vrstvy text, pozadí a sound. Ke každému tlačítku jsem přidal zvukovou stopu a efekt, pokud se kurzor myši nachází nad tlačítkem, nebo pokud je tlačítko stlačeno. Každému vytvořenému tlačítku je nutnost přidat název instance, a vůbec každému objektu pokud s ním chceme pracovat pomocí jazyka ActionScript. Každý kód jazyka ActionScript přidáváme do jedné vrstvy s názvem např. akce.
24
4.1.2 Načítání externího obsahu ActionScript 3.0 U stránky menu jsem řešil, jak načíst po stisknutí tlačítka externí soubory SWF do svého hlavního filmu Flash. Načítání externího obsahu udržuje celkový projekt v samostatných modulech a zabraňuje tomu, aby se příliš nafoukl a obtížně se stahoval. Takový projekt se i snadněji upravuje, protože místo toho, abychom upravovali jeden velký soubor, můžeme upravovat jen jeho části. Pro načítání externích souborů používáme dva objekty ActionScriptu, první z nich je Loader a druhý nese název URLRequest. var myLoader:Loader = new Loader (); btn_ukol1.addEventListener(MouseEvent.CLICK, page1content); function page1content(myevent:MouseEvent):void { gotoAndStop(21); var myURL:URLRequest = new URLRequest("semafor_vylouc.swf"); myLoader.load(myURL); addChild(myLoader); } Na druhém řádku vytváříme posluchače, který detekuje klepnutí myši na objekt v našem případě tlačítko s názvem btn_ukol11. V reakci na tuto událost se spustí funkce page1content. Tato funkce nejprve vytvoří objekt typu URLRequest se jménem souboru, který se má načíst. Tento objekt poté načte do objektu typu Loader a ten nakonec přidá do vymezené plochy, kde se zobrazí. Další problém co jsem musel řešit, jak daný objekt uvolnit zpátky a vrátit se zpět do hlavního menu. Nejjednodušší způsob jak odstranit objekt typu Loader z vymezené plochy, takže divák ho již nadále neuvidí, použitím příkazu removeChild(), přičemž objekt, který chceme smazat je uveden za příkazem mezi závorkami.
25
btn_zpet.addEventListener(MouseEvent.CLICK, unloadcontent); function unloadcontent(myevent:MouseEvent):void { removeChild(myLoader); gotoAndPlay(1); } Tento kód přidá posluchače události k objektu typu Loader s názvem myLoader. Po klepnutí na něj se provede funkce s názvem unloadcontent. Účel této funkce je jednoduchý, odstranit objekt z vymezené plochy.
4.1.3 Fullscreen zobrazení U hlavního menu v pravém horním rohu, jsem přidal tlačítko, které po stisknutí převede animaci do módu zobrazení „fullscreen“. Vybral jsem tlačítko ze společné knihovny, kde jsou v nabídce už přednastavená tlačítka. Ve vrstvě akce jsem přidal kód jazyka actionscript 3.0. Při změně velikosti části obrazovky přehrávač Flash Player automaticky upraví obsah vymezené plochy. Vlastnost scaleMode třídy Stage určuje, jak se bude obsah vymezené plochy upravovat. Tato vlastnost může nabývat čtyř různých hodnot, které jsou definovány jako konstanty ve třídě flash.display.StageScaleMode.
StageScale.EXACT.FIT: Přizpůsobí obsah vymezené plochy tak, aby vyplnil nové rozměry vymezené plochy, bez ohledu na původní obsah a poměr stran. Způsobuje roztažení obsahu vymezené plochy svislým nebo vodorovným směrem;
StageScale.SHOW_ALL: Přizpůsobuje obsah vymezené plochy tak, aby nedošlo ke změně poměru stran. Zobrazí všechen obsah na vymezené ploše, ale může obsahovat okraje typu „letterbox“;
StageScale.NO_BORDER: Tento způsob roztáhne obsah vymezené plochy tak, aby nedošlo ke změně poměru stran, ale zajistí plné využití zobrazované oblasti, takže může u něj dojít k oříznutí obsahu;
StageScale.NO_SCALE: Měřítko SWF souboru nebude nijak přizpůsobeno. Ovšem pokud je nový rozměr menší než normální dojde k oříznutí. Jeli větší, 26
dojde k přidání prázdného místa. U tohoto režimu lze pomocí vlastností stageWidth a stageHeight třídy Stage určit skutečné rozměry vymezené plochy se změnou velikostí v obrazových bodech. U své práce jsem použil mód stage.scaleMode = StageScaleMode.SHOW_ALL, jak můžeme vidět v níže uvedeném kódu. function setFullScreen():void { if (stage.displayState== "normal") { stage.displayState="fullScreen"; stage.scaleMode = StageScaleMode.SHOW_ALL; } else { stage.displayState="normal"; } } btn_fullscreen.addEventListener(MouseEvent.CLICK, goFull); function goFull(event:MouseEvent):void { setFullScreen(); } V první části kódu se rozhoduje, jestli je zobrazení v normální velikosti, potom přejde do režimu zobrazení „fullscreen“, nebo naopak. Druhá část kódu představuje funkci, která reaguje na stisk tlačítka a spouští funkci na změnu režimu zobrazení.
4.1.4 Vytvoření masky Na tlačítka a vrchní nadpis jsem použil masku. Maskování je způsob, jak selektivně skrývat a zobrazovat obsah určité vrstvy. Pomocí masky můžeme určovat, co bude divák vidět. V aplikaci Flash se maska umístí do jedné vrstvy a obsah, který má být maskován je umístěn ve vrstvě pod ní. Na vrchní část jsem použil obdélníkovou masku, která je ze začátku malá a postupně se zvětšuje, až pokryje logo i s nadpisem. Zvlášť na tlačítka jsem použil masku kruhovou, která se zvětšuje od středu, až zakryje celou vymezenou plochu.
27
4.2 Semafory – vzájemné vyloučení U tohoto procesu jsem si nebyl jistý, jak přesně to vytvořit, aby to vizuálně vypadalo, alespoň trošku srozumitelně. Rozhodl jsem se použít objekt auta a semaforu, jako hlavní části animace. Auta přijíždějící k semaforu, kde čekají na zelenou barvu na semaforu, jako znázornění fronty procesů, čekající na zpracování. Nad semaforem je zobrazeno počítadlo, které je dekrementováno průjezdem auta. Při hodnotě 0 se nastaví na semaforu červená. U semaforu se tvoří již zmiňovaná fronta. Při výjezdu auta z oblasti za semaforem se počítadlo naopak inkrementuje a nastaví na semaforu zelenou.
Obrázek 14: Ukázka vzájemné vyloučení
4.2.1 Pohyb objektů po vymezené ploše Pro pohyb objektů po vymezené ploše jsem použil akci doplnění pohybu. Existují dva druhy Doplnění pohybu a Klasické doplnění pohybu. Je to animace, kterou vytvoříme zadáním dvou hodnot u vlastnosti objektu v různých snímcích. Aplikace Flash Pro vypočítá hodnoty této vlastnosti mezi těmito dvěma snímky. Označení doplnění (tween) vzniklo ze slova „mezi (in between)“. Například na snímku 10 umístíme symbol do horního levého rohu a na snímku 20 daný objekt přesuneme na vymezené ploše do pravého spodního rohu. Aplikace Flash Pro dopočítá pozici objektu na snímcích mezi 10 a 20 snímkem, a v každém snímku mezi nimi posune objekt o 1/10 vzdálenosti mezi těmito dvěma body.
28
4.2.1.1 Rozdíly mezi doplněním pohybu a klasickým doplněním
Klasické doplnění používá klíčové snímky, jedná se o snímky, ve kterých se objeví nová instance objektu namísto u doplnění pohybu, může být přiřazena pouze jedna instance objektu a místo klíčových snímků používají klíčové snímky vlastnosti;
Doplnění pohybu se v celém rozmezí skládá jen z jednoho cílového objektu, kdežto u klasického doplnění může obsahovat mezi dvěma klíčovými snímky různé instance stejných nebo různých objektů;
Rozsahy doplnění pohybu se chovají jako jeden objekt, lze měnit jejich velikost a můžeme je roztáhnout. U klasického doplnění můžeme každý snímek upravovat individuálně;
U klasického doplnění můžeme k animaci použít přechod mezi dvěma barevnými efekty například alfa průhlednost a barva. U doplnění pohybu můžeme použít pouze jeden barevný efekt na jedno doplnění;
V jedné stejné vrstvě se může nacházet více než jedno klasické doplnění nebo doplnění pohybu, ale nemohou se v jedné vrstvě nacházet oba dva typy doplnění.
4.3 Semafory – producent konzument Pro z animování tohoto procesu jsem použil stejný nástroj, jako u předešlého úkolu. Použil jsem tentokrát dva semafory s počítadlem. K prvnímu semaforu, který má nastavený čítač na hodnotu S1 = 0, každé auto projíždějící přes první semafor inkrementuje jeho čítač. Toto znázorňuje plnění vyrovnávací paměti (buffer). Pokud se hodnoto čítače prvního semaforu, dostane na hodnotu S = 3 semafor nastaví červenou barvu a před semaforem se tvoří fronta procesů. Tato situace znázorňuje plnou vyrovnávací paměť. Druhý semafor odebírá z vyrovnávací paměti procesy, které pouští do kritické sekce po jednom pomocí druhého semaforu, který má čítač s hodnotou S2 = 0 a pokud je ve vyrovnávací paměti alespoň jeden proces tak se nastaví na S = 1 a můžeme číst z vyrovnávací paměti. Semafor S2 zabraňuje tomu, aby se četlo z prázdné vyrovnávací paměti. Pohyby objektů jsem opět řešil pomocí Klasického doplnění pohybu. V jednotlivých vrstvách jsem pohyboval jednotlivými auty. 29
K ovládání navigačních tlačítek jsem opět použil jazyk ActionScript 3.0, který je umístěn ve své vlastní vrstvě a hned v prvním snímku.
Obrázek 15: Ukázka ActionScript editor
4.3.1 Společná knihovna Jako ovládací tlačítka jsem použil přednastavené tlačítka, která jsou k dispozici připravené pro okamžité použití ve společné knihovně, kde jsou přednastavené zvuky, třídy a tlačítka.
Obrázek 16: Společná knihovna
30
4.4 Ukládání souborů FAT Jako příklad pro animaci ukládání souboru v systémovém systému souboru jsem vybral soubor semestralka.doc. Po začátku se zobrazí soubor, který po stlačení tlačítka zápis, rozdělí soubor na čtyři části a animačně je zobrazeno, jak se ukládají postupně na pevný disk do jednotlivých clusterů. Po zápisu souboru na pevný disk, přichází na řadu nabídka, kde si můžeme vybrat z nabídky tří možností struktura, FAT a boot záznam. Nabídka struktura nám zobrazí, jak je uspořádaná struktura souborového systému FAT. Další nabídka FAT ukazuje, v kterých clusterech jsou uložené jednotlivé části souboru semestralka.doc počínaje číslem počátečního clusteru. Poslední z nabídky je možnost zobrazit boot záznam, kde se nachází informace o pevném disku.
Obrázek 17: Ukázka FAT
4.4.1 Popisek klíčového snímku Pro přesun mezi jednotlivými úseky filmu jsem využil toho, že můžeme ke každému klíčovému snímku filmu přidat jeho popisek pro případ, že budeme chtít skákat mezi jednotlivými úseky filmu tam i zpět. Je to vhodné především pro lepší orientaci v projektu.
31
Obrázek 18: Ukázka popisku klíčového snímku
V kódu, kterým ovládáme tlačítka, potom nezadáváme číslo klíčového snímku, na který chceme skočit, ale zadáme jenom popisek. btn_struktura.addEventListener(MouseEvent.CLICK, actionStruktura); function actionStruktura(event:MouseEvent):void { gotoAndPlay("struktura"); // odkázaní na konkrétní klíčový snímek } btn_fat.addEventListener(MouseEvent.CLICK, actionFat); function actionFat(event:MouseEvent):void { gotoAndPlay("tab_fat"); } btn_boot.addEventListener(MouseEvent.CLICK, actionboot); function actionboot(event:MouseEvent):void { gotoAndPlay("tab_boot"); }
4.5 Fragmentace vnější Začátkem animace jsem zvolil, že se zobrazí tabulka se třemi soubory, které jsou uložené na disku. V dalším kroku se zobrazí tabulka FAT, kde se postupně zobrazují jednotlivé clustery, kde jsou uložené části souborů. Zpočátku jsou uložené hned po sobě
32
jdoucích clusterech. Další krok popisuje smazání jednoho z uložených souborů, vymazání clusterů příslušného souboru. Zápisem nového souboru se začnou části souboru ukládat na místo právě smazaného souboru, ale nový soubor je větší velikosti, takže ostatní části se začnou ukládat na jiné místo pevného disku a tak je popsán vznik vnější fragmentace.
Obrázek 19: Ukázka kapitoly Fragmentace
4.6 Defragmentace Po stisknutí tlačítka Defragmentace se spustí proces, který přeskupí jednotlivé clustery tak, aby byli uložené v po sobě jdoucích clusterech. Stlačením tlačítka Defragmentace jsem rozdělil tabulku FAT na tři části. Vrchní část končící posledním z clusterů, ve kterém je uložena poslední část z po sobě jdoucích částech uloženého souboru Test_4.doc. Prostřední část se posune směrem dolů, aby třetí část, která obsahuje části souboru Test_4.doc, které se přesouvají, aby byli uložené hned po sobě a tím se odstranila vnější fragmentace.
33
Obrázek 20: Ukázka řešení defragmentace
4.7 Fragmentace vnitřní Pro názorný příklad vnitřní fragmentace jsem použil hned na úvod obrázek z vlastností jednoho obrázku, který jsem použil ve své bakalářské práci. Na něm je znázorněno, co přesně znamená vnitřní fragmentace. Porovnáním dvou údajů, skutečná velikost a místo, které skutečně zabírá na disku. A hned vidíme, že oba dva údaje se liší. V druhém kroku přijíždí na scénu tabulka dvou souborů, kde je jméno souboru a jeho velikost. Následně je zobrazena jejich alokační tabulka, která graficky znázorňuje, velikost pevně přiděleného místa pro soubor a skutečnou velikost souboru. Tímto vzniká nevyužité místo na disku a tzv. vnitřní fragmentace.
Obrázek 21: Ukázka vnitřní fragmentace
34
4.8 NTFS snížená fragmentace Snížená fragmentace u NTFS, při ukládání hledá na disku souvislé volné místo na disku. V animaci jsem použil jako příklad ukládaného souboru soubor.txt tento soubor je rozdělen na čtyři části, a ty se ukládají na disk. Soubor znázorněn v animaci se pohybuje nad pevným diskem a hledá volné čtyři po sobě jdoucí paměťové bloky na pevném disku, aby mohl daný soubor uložit souvisle za sebou. Cestou mine dva volné bloky paměti, aby bylo vidět, že hledá vyloženě souvisle volné bloky na ukládaný soubor na disk.
Obrázek 22: NTFS snížená fragmentace
4.9 Stránkování paměti na žádost Stránkování na žádost, využívá virtuální paměti, která tvoří část paměti na pevném disku v počítači. V mé animaci jsem znázornil virtuální paměti, jako válec, do kterého se vkládají stránky nezavedené stránky právě probíhajícího procesu a dochází k přesunu stránek mezi virtuální a fyzickou pamětí. V úvodu animace přichází na řadu tabulky Proces_1 a Proces_2 tyto tabulky obsahují sloupec s číslem stránky a s číslem rámce, kde je ve fyzické paměti stránka uložena. V dalším kroku dochází k požadavku na stránku od prvního procesu, která je uložena ve fyzické paměti. Vše je v animaci znázorněno blikající šipkou u příslušného řádku tabulky Proces_1 který obsahuje číslo požadované stránky. V tomto případě se stránka nachází ve fyzické paměti RAM. Následující snímky ukazují, co se stane, když přijde požadavek na stránku, která není zavedena ve fyzické paměti. Dochází k prohození stránek mezi fyzickou pamětí a pamětí virtuální, která je na pevném disku počítače.
35
Obrázek 23: Ukázka stránkování na žádost
4.9.1 Kreslení 4.9.1.1 Základní objekty Základní objekty, jsou tvary, které umožnují nastavovat jejich charakteristiku přímo v inspektoru vlastností. Umožnují například nastavit zaoblení rohů a další vlastnosti, které můžeme nastavovat kdykoliv po vytvoření objektu bez nutnosti vytvořit nový objekt. V Adobe Flash máme základní tvary dva, obdélník a elipsu. Stačí vybrat v panelu nástrojů nástroj základní obdélník, nebo základní elipsa. Poté stačí, už jen myší táhnou po vymezené ploše a nastavit tvar dle naší potřeby.
36
Obrázek 24: Základní tvary kreslení
4.9.1.2 Objekt válec K vytvoření válce, jako virtuální paměti jsem použil nástroje kreslení. Nejdříve jsem použil nástroj obdélník a poté jsem na vrchní část použil nástroj elipsa. To samé jsem aplikoval i na spodní část obdélníku. U vrchní elipsy jsem změnil odstín výplně, jako vnitřek válce. V dalším kroku stačilo odstranit vrchní hranu spodní elipsy.
Obrázek 25: Objekt válec
37
Po vymazání vrchní části spodní elipsy nám zbyde hotový objekt válce, který jsem k dané úloze potřeboval.
4.10 Souborový systém EXT2 Animace po startu zobrazí opět pomocný soubor TEXT.TXT, který se bude ukládat. Soubor je rozdělený na čtyři části. Souborový systém obsahuje informace o názvu souboru a čísla i-nodu, který nese přesné informace o souboru. V dalším kroku přichází na scénu už konkrétní i-node, kde je znázorněno, co všechno obsahuje daný i-node. Nejdříve jsou zobrazena všechna METADATA (práva, velikost, časové značky, skupina a vlastník). Poté přichází na řadu jednotlivé části souboru, které jsou v i-node představeny jako přímé adresy na datové bloky. I-node také obsahuje nepřímé adresy, dvojité nepřímé adresy a trojité nepřímé adresy.
Obrázek 26Ukázka z EXT2
4.11 Přidělení procesoru – přepnutí kontextu Na začátku animace je zobrazena fronta procesů, ze kterých procesor vybírá. CPU přepíná kontext mezi dvěma procesy.
38
Nejdříve pracuje Proces P1 do té doby, než si operační systém vyžádá přerušení, nebo volání služby OS. Dochází k uložení kontextu Procesu P1 na zásobník, nebo připravené oblasti dat v adresním prostoru procesu. Do té doby nečinný Proces P2 načítá kontext a přechází do pracujícího stavu, do té doby než dojde k dalšímu přerušení a přepnutí kontextu. V tomto případě by došlo k obnovení kontextu procesu P1. K názornému zobrazení, jak tento proces probíhá, jsem použil diagram, kde máme tři sloupce Proces P1, OS a Proces P2. Diagram, kde směřují od sloupců Proces P1 a Proces P2 šipky směrem dolů. Přerušovaná čára značí, že je proces přerušen a je nečinný a naopak čára plná značí aktivní proces. Mezi těmito stavy dochází k přerušení a uložení kontextu, nebo naopak k obnově kontextu, toto je značené šipkami směrem do středu diagramu pod sloupec OS.
Obrázek 27: Přepnutí kontextu
Celý diagram se posouvá a podle času mění směrem dolů za pomocí použití maskování jednotlivých časových vrstev.
4.12 Zavádění operačního systému MS Další animace se zabývá zavedením operačního systému MS. Na začátku je znázorněn BIOS, který vybírá, ze kterého zařízení se bude bootovat.
39
Obrázek 28: BIOS
Zařízení, ze kterého bude bootovat, vybere možnost CD. Následně se odkáže na tabulku MBR (master boot record), který je jako úplně první sektor na disku. V dalších krocích se zobrazují jednotlivé části tabulky MBR, Bootloader, Partition table a Magic number, jejich velikosti a také stručný popisek. V dalším kroku je zobrazen detail Partition table, která znázorňuje rozdělení pevného disku na jednotlivé partition, kde jsou dále v detailu ukázané, co obsahují za položky.
Obrázek 29: MBR
4.13 Přidělení procesoru – různé priority Stejně jako u předešlé úlohy začíná animace u BIOSU, který vybírá ze zařízení, ze kterých bude bootovat. Po vybrání CD, jako bootovacího media se dostaneme do MBR, kde je nainstalovaný zavaděč GRUB. V první fázi GRUB namontuje potřebné souborové systémy a ve druhé fázi dochází k načtení konfiguračních souborů, které se v animaci postupně zobrazují a jsou 40
zobrazené také popisky k jednotlivým konfiguračním souborům. Popisky se mění na časové ose pomocí maskování.
Obrázek 30: GRUB
4.14 Přidělování procesoru podle priority Animace začíná zobrazením tabulky, kterou tvoří sloupce název procesu, délka CPU cyklu, priorita procesu, doba čekání a doba provedení. Do tabulky se postupně vloží procesy P1 až P4 s různými prioritami a dalšími vlastnostmi. V dalším kroku jsou procesy dány procesy do řady a nad každým procesem je uvedena jeho priorita. Procesy jsou následně obsluhovány procesorem od nejvyšší priority po tu nejnižší. Při přesouvání procesoru k jednotlivým procesům se vedle nich zobrazuje délka zpracování.
Obrázek 31: Přiřazování podle priorit
41
Po zpracování všech procesů z tabulky se může dopočítat celková doba provedení, kterou dostaneme sečtením hodnoty ze sloupce Doba čekání s hodnotou ve sloupci Doba provedení.
4.15 O Programu Poslední na řadu přichází doplňková stránka, která obsahuje informace o programu. Název práce a jaký byl cíl práce. V počátku se zobrazí logo školy s názvem stránky a postupně se potom zobrazují jednotlivé texty. Texty jsou zobrazovány postupně opět pomocí maskování. Na spodní stranu stránky jsem vložil logo Adobe flash platformy. Jedná se už jen o doplňkovou stránku ve své bakalářské práci.
42
5 Závěr 5.1 Hlavní cíle Hlavním cílem mé bakalářské práce bylo vytvořit v programu Adobe Flash CS5 proffesional program, který dokáže přiblížit problematiku vybraných procesů v operačním systému. Tento úkol nakonec s menšími obtížemi byl v rámci možností dokončen. Vytvořil jsem animace pro procesy užití semaforu ve vzájemném vyloučení, producent konzument řešený pomocí semaforu, systém souborů FAT, vnější fragmentace, defragmentace, fragmentace vnitřní, NTFS snížená fragmentace, stránkování paměti na žádost, EXT2, přidělení procesoru - přepínání kontextu, zavedení operačního systému, start GRUB a přidělování procesoru podle priority.
5.2 Problémy a jejich řešení Největším problémem v mé práci, bylo představit si v hlavě daný proces a přenést ho vizuálně do počítače. Snažil jsem se udělat každý proces co nejsrozumitelněji, aby nebyl moc složitý. V mnoha ohledech mě limitovala malá znalost vývoje Flash aplikací. Vše jsem se učil postupně s tvorbou práce.
5.3 Rozšíření práce Animace jednotlivých procesů jsou dělány stručně, určitě by se dalo jít v každém z nich více do hloubky. Stálo by zato do tvorby více zapojit jazyk ActionScript, který nabízí spoustu možností jak udělat animace atraktivnější a interaktivnější, například vzhled hlavního menu aplikace. Dále by se dalo zapracovat na celkovém vzhledu celé aplikace zapojit do práce i další programy z řady Adobe, jako je například Adobe illustrator, pro tvorbu vlastní vektorové grafiky. Předpokladem bylo, že by se daná aplikace dala použít při výuce Operačních systému, ale nejsem si jistý, jestli by na to stačil rozsah, jakým jsou jednotlivé animace dělány. 43
Ale určitě je schopna přiblížit procesy divákům, kteří nemají žádné nebo malé poznatky o daném tématu. Jako pokračování, by se dala animačně zpracovat další témata, nebo pokračovat v práci a zpracovat jednotlivé procesy více do hloubky, aby se dala použít při výuce.
44
6 Seznam použité literatury [1.] Adobe Flash CS5 Professional: oficiální výukový kurz. Vyd. 1. Brno: Computer Press, 2010, 392 s. ISBN 978-80-251-3224-1. [2.] CREATIVE COMMONS. Adobe Flash Platform: Nastavení vlastností plochy [online].
[cit.
2014-08-10].
Dostupné
z:
http://help.adobe.com/cs_CZ/
as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7e31.html [3.] Zavádění operačního systému Windows XP do PC: SOOM.cz. [online]. [cit. 201408-10].
Dostupné
z:
http://www.soom.cz/clanky/275--Zavadeni-operacniho-
systemu-Windows-XP-do-PC-1 [4.] GRUB (proces zavedení systému): DCEwiki. [online]. [cit. 2014-08-10]. Dostupné z:
https://support.dce.felk.cvut.cz/mediawiki/index.php/GRUB_(proces_
zaveden%C3%AD_syst%C3%A9mu) [5.] Chapter 10.: The Boot Loader GRUB. [online]. [cit. 2014-08-10]. Dostupné z: http://doc.opensuse.org/products/draft/SLES/SLES-admin_sd_draft/cha.grub.html [6.] HORÁLEK, Josef. Horalek.org: Operační systémy [online]. 2011 [cit. 2014-0810]. Dostupné z: http://www.horalek.org/os/index.html#materialy1 [7.] DIGITAL MEDIA S.R.O. Flash.cz [online]. 2005, 2014 [cit. 2014-08-10]. Dostupné z: http://flash.cz/portal/ [8.] SMRČKA, František. VŠP JIHLAVA. Operační systémy. Jihlava, 2007. [9.] DUMEK, Vladimír. VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ. Pomocný studijní text pro předmět vyučovaný ve čtvrtém ročníku magisterského studia. Brno, 2003. Dostupné z: http://drogo.fme.vutbr.cz/opory/pdf/uai/operacni_systemy/OS03.pdf [10.] VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ. Systémy souborů. Dostupné z: http://www.fd.cvut.cz/personal/xfabera/OS1/cviceni5/OS1_cv5.pdf
45
7 Seznam obrázků Obrázek 1: Vymezená plocha ........................................................................................... 9 Obrázek 2: časová osa..................................................................................................... 10 Obrázek 3: Vložení nové vrstvy ..................................................................................... 11 Obrázek 4: Panel nástrojů ............................................................................................... 12 Obrázek 5: Logo Adobe .................................................................................................. 13 Obrázek 6: Struktura FAT .............................................................................................. 15 Obrázek 7: Stránkování na žádost .................................................................................. 17 Obrázek 8: Schéma ext2 ................................................................................................. 19 Obrázek 9: Uložení kontextu .......................................................................................... 20 Obrázek 10: Master Boot Record ................................................................................... 21 Obrázek 11: GRUB ......................................................................................................... 21 Obrázek 12: Tabulka procesů podle priority .................................................................. 23 Obrázek 13: Ukázka hlavního menu ............................................................................... 24 Obrázek 14: Ukázka vzájemné vyloučení ...................................................................... 28 Obrázek 15: Ukázka ActionScript editor ........................................................................ 30 Obrázek 16: Společná knihovna ..................................................................................... 30 Obrázek 17: Ukázka FAT ............................................................................................... 31 Obrázek 18: Ukázka popisku klíčového snímku ............................................................ 32 Obrázek 19: Ukázka kapitoly Fragmentace .................................................................... 33 Obrázek 20: Ukázka řešení defragmentace .................................................................... 34 Obrázek 21: Ukázka vnitřní fragmentace ....................................................................... 34 Obrázek 22: NTFS snížená fragmentace ........................................................................ 35 Obrázek 23: Ukázka stránkování na žádost .................................................................... 36 Obrázek 24: Základní tvary kreslení ............................................................................... 37 Obrázek 25: Objekt válec ............................................................................................... 37 Obrázek 26Ukázka z EXT2 ............................................................................................ 38 Obrázek 27: Přepnutí kontextu ....................................................................................... 39 Obrázek 28: BIOS ........................................................................................................... 40 Obrázek 29: MBR ........................................................................................................... 40 Obrázek 30: GRUB ......................................................................................................... 41 Obrázek 31: Přiřazování podle priorit ............................................................................ 41
46
8 Seznam použitých zkratek CMOS
Complementary Metal–Oxide–Semiconductor
MBR
Master Boot Record
FAT
File Allocation Table
NTFS
New Technology File System
ext2
second extended filesystem
RAM
random-access memory
47
9 Obsah CD Na přiloženém CD se v kořenovém adresáři nachází tyto složky
SWF (obsahuje spustitelné soubory s příponou SWF)
Zdroj (obsahuje zdrojové soubory pro Adobe Flash)
48