Pozor! Jste na staveništi. Více informací zde.
logo RVP.CZ
Přihlásit se
Titulka > Modul články > gymnaziální vzdělávání > Informatika a informační a komunikační t... > Informatika a informační a komunikační t... > Digitální technologie

Zobrazit na úvodní stránce článků

Simulace principů operačního systému – SimOS (hra)

Praktický příspěvek
inspirace
Autor Marek Reimer
Spoluautor: Ing. Ivan Ryant, Oleksandra Liutová , Radek Hlaváček , Michael Očenášek

Dospívající mládež miluje počítačové hry, a to se týká i her strategických. Pokud jsou zároveň aspoň trochu akční, baví i chlapce (neměly by však být agresivní, aby neodrazovaly dívky – viz [Vágnerová, Feng, Zorrilla, Phan]). Proto je didaktická akční hra jednou z nejúčinnějších výukových metod, kterou žáci přijímají pozitivně, ba dokonce s nadšením. (Činím zde jen logický závěr, nicméně ten je jednak obecně přijímán, jednak teoreticky i výzkumně podpořen v odborné literatuře – viz [Uhlířová, Zapletal, Průcha, Pedagogický lexikon, Sochorová, Malykhina, Brdička] – snad proto, že jinak by hra ani nebyla hrou.) 

Dokument RVP G obsahuje celou řadu vhodných námětů na strategické hry. Konkrétně nás zaujalo téma „funkce operačního systému“ ze vzdělávací oblasti Informatika a informační a komunikační technologie. Rozhodli jsme se vytvořit jednoduchý simulátor operačního systému, na kterém žáci středních škol pochopí, co je to operační systém a jak v principu funguje. Aby udrželi systém co nejdéle v provozu, musí volit vhodnou strategii spouštění úloh a přidělování prostředků. Žáci také musí pohotově reagovat na různé události a situace, takže hra má i akční charakter. A to žáky baví.

Při hraní hry se žáci seznámí s těmito jevy:

  • výpočetní systém je schopen zpracovávat užitečné úlohy, úlohy využívají prostředky výpočetního systému;
  • cílem operačního systému (a také naší hry) je dosažení co největšího užitku za cenu co nejmenší spotřeby prostředků;
  • mezi prostředky patří zejména reálný čas, procesory (jádra), paměť, komunikační linky, různá periferní zařízení atd.; také to mohou být jiné úlohy (v tom případě vzniká vzájemná závislost úloh, pokračování jedné úlohy závisí na pokroku úlohy jiné);
  • prostředky jsou omezené, plánovač úloh musí s prostředky hospodařit, plánování úloh vyžaduje vhodnou strategii (NENÍ však cílem hry, aby hráč pochopil a nacvičil si různé strategie plánování, jako je např. algoritmus bankéře, hierarchizace úloh, hierarchizace prostředků apod.);
  • spuštěná úloha může neočekávaně blokovat provádění jiných úloh, příp. celý systém může uváznout;
  • násilné ukončení vhodně zvolené úlohy patří mezi úkony, jak hráč může v krajní nouzi odblokovat systém.

Hra simuluje obecné principy, které musí řešit všechny operační systémy. Hráč by tedy měl pochopit tyto obecné principy (např. že čtyřjádrový procesor zpravidla nevykoná čtyřikrát víc užitečné práce než procesor jednojádrový). Nesimulují se ani žádné konkrétní úlohy, ani žádná konkrétní konfigurace prostředků nějakého výpočetního systému, ani chování žádného konkrétního operačního systému.

Zadání

Hru jsme vytvořili jako projekt v předmětu BI-SP1 a BI-SP2 na Fakultě informačních technologií ČVUT. V zadání byly následující požadavky:

V rámci zadání byly následující požadavky:

  • simulovat:
    • procesy (úlohy)
    • prostředky (procesory, paměti, periferie, komunikační kanály)
    • události
    • fronty procesů a událostí
    • přepínání procesů
    • komunikace a synchronizace procesů
  • uživatele a jejich práva není třeba simulovat (nebo jen triviálně)
  • průběžně a přehledně zobrazovat, co se v simulátoru děje
  • úlohy, které se mají spouštět, budou předem pevně dané, jejich chování bude do jisté míry náhodné
  • prostředky OS a jejich konfigurace bude předem zadávat učitel pomocí konfiguračního souboru (.ini)
  • žák bude spouštět úlohy a násilně: ukončovat úlohy, odebírat prostředky, přidělovat prostředky, měnit priority procesů apod. (záleží na rychlosti reakce a na správnosti zásahu)
  • skóre každého hráče se zaznamená do souboru a zvláštní učitelská aplikace přehledně zobrazí skóre všech žáků
  • cílové platformy Windows, Linux
  • hra musí být jednoduchá, bez nároků na servery aj. podpůrný software, konfigurace se zadá textovým souborem

Návrh řešení

V prvotním návrhu jsme se rozhodli abstrahovat zdroje skutečného počítače jako množinu hodnot, které jdou snadno vizualizovat hráči. Paměť a její využití je rozložena na jednotky, kde v inicializačním souboru je zadán celkový počet jednotek a každá běžící aplikace zabírá určité množství těchto jednotek. Pokud úloha vyžaduje více paměti, než je dostupné, hra nedovolí úlohu spustit. Procesor je znázorněn počtem operací, které dokáže na každém jádru vykonat za sekundu. Tyto hodnoty (počet operací a počet jader) jsou opět určeny inicializačním souborem.

Ze zadání a abstrakce prostředků počítače vyplývá, že jedna úloha bude znázorňovat jeden proces, který počítač vykoná. Za tímto účelem budeme u jednotlivých úloh zaznamenávat následující parametry: identifikátor, množství paměti, které úloha potřebuje k proběhnutí, počet operací které je potřeba provést, aby úloha byla považována za splněnou a maximální počet operací za sekundu, které může být na úloze provedeno. Dále bylo potřeba znázornit důležitost jednotlivých úloh. Proto jsme zavedli parametr priorita, kde vyšší znamená důležitější úlohu. Navíc některé úlohy budou závislé na jiných, to znamená, že hráč je nebude schopen spustit, dokud nebudou úlohy, na kterých jsou závislé, dokončeny. Jednotlivé úlohy jsou hrou generovány s náhodnými parametry a případně závislostmi na již dříve vygenerovaných úlohách.

Autor díla: Marek Reimer

Obrázek: Grafické uživatelské rozhraní během hry

Při návrhu grafického rozhraní jsme se rozhodli pro vizualizaci zdrojů počítače použít sloupcové grafy, jsou totiž přehledné a snadno pochopitelné. Pro znázornění fronty úloh a seznamu spuštěných úloh jsme se rozhodli použít tabulku, kde jednotlivé řádky popisují jednotlivé úlohy. Vlastnosti úloh budou rozděleny do sloupců.

Hra samotná je provedena jako staré arkádové hry, tedy nemá konec, nedá se vyhrát. Hráč správným plněním úkolů (dokončováním úloh) získává body, neplněním úkolů (násilným ukončováním běžících úloh) body ztrácí. Úkolem hráče je tedy získat co nejvyšší skóre, které může pomoci učiteli poté ohodnotit žákův výkon odpovídající známkou.

Hru jsme prakticky vyzkoušeli na informatickém semináři s žáky gymnázia Ústavní v Praze 8. Žáci byli schopni hru spustit a hrát bez pomoci učitele, dokonce i bez čtení příručky. Kupodivu hru nezhroutili, ani neobjevili žádné chyby. Rychle pochopili, o co jde a jak simulátor funguje – didaktický test byl splněn. Žáci hodnotili hru jako dobře hratelnou. Ukázalo se, že i jednoduchá didaktická hra může mít u dospívající mládeže docela slušný úspěch a že splňuje očekávání, která jsme do ní vkládali. Proto ji nyní nabízíme k vyzkoušení veřejně, zde na portálu RVP, aby ji mohli vyzkoušet kolegové učitelé informatiky se svými žáky. Přiložený instalační baliček obsahuje instalační a uživatelskou příručku a spustitelný soubor pro Windows. Licenční podmínky jsou shodné s ostatními hrami, které byly vyvinuty na ČVUT FIT – viz zde. Prosíme, sdělte nám svoje zkušenosti s naší hrou, připomínky a náměty.

Ostatní výukové aplikace z FIT:

V případě pochybností o aktuálnosti či funkčnosti příspěvku využijte tlačítko „Napište nám“.
Napište nám