MenuetOS

Malý výkonný OS pro x86 s funkčním GUI, prací v síti a aplikacemi. Kompletně napsaný v Assembleru, to je MenuetOS verze 0.75 beta.

Obsah

Úvod

Menuet (popisována je verze 0.75 beta) je grafický operační systém napsaný v 32 bitovém x86 assembleru. Je rychlý, stabilní a bezpečný. Jeho hlavní funkčnost spočívá na malém jádře, jeho jednoduché konstrukci a snadném programování GUI (Grafického Uživatelského Rozhraní). Operační systém včetně přiložených programů je distribuován pod GNU GPL (Všeobecnou Veřejnou Licencí) která vznikla díky projektu GNU. Podporuje myš na ps2 nebo com1 (protokol microsoft nebo logitech), pracuje s disketovou mechaniku 3,5“ 1,44MB, grafiku v 16,7 milionech barev do rozlišení 1280x1024. Stereo Zvuk v kvalitě 44.1 kHz. Pre-emptive multitasking, multithreading, ipc. Ethernet: udp/icmp/ip. Hard real-time data fetch. Free-form, skinovatelná okna aplikací. Obsahuje ochranu paměti a kódu. Všechen kód je napsán v 32bitovém assembleru. Zabírá jedinou disketu. Jednoduché a rychlé použití, programování aplikací pro GUI. Obsahuje překladač 32 bitového assembleru a jednoduchý textový editor pro tvorbu aplikací a jádra a řadu dalších programů.

Instalace

Než začnete, musím vás upozornit, že licence neposkytuje žádnou záruku ohledně funkčnosti, kompatibility, a neručí za poškozená data, hardware ani případné jiné ztráty způsobené systémem. Pod stejnou licencí je vydáván kupř. OS Linux, systém GNU, FreeDOS a další.

Vytvořte kompletní zálohu Vašich dat nebo odpojte pevný disk od vašeho počítače. Menuet nepotřebuje pevné disky ani pro bootování ani pro běh. Přesto Menuet může k pevným diskům přistupovat (není to přednastaveno) a může je vážně poškodit. Menuet může být na pevný disk i nainstalován.

DOSlikeOS: Stáhněte si program MSETUP.EXE a spusťte ho (pod systémem Windoze nemusí fungovat, neboť tento někdy nedovolí zápis do boot sektoru na disketě). Program zkopíruje Menuet na prázdnou disketu 1,44MB v jednotce A:

UNIXlikeOS: Obraz diskety je uložen v souboru MSETUP.EXE od bytu 20*1024+1. Uživatelé ho mohou získat pomocí dd. Příkazy:

dd if=MSETUP.EXE of=mfloppy.img bs=1024 skip=20
dd if=mfloppy.img of=/dev/fd0

Nastavte BIOS tak, aby bootoval nejprve z diskety. Vsuňte disketu do mechaniky odkud je nastaveno bootování a spusťte počítač. Máte-li bootovacího managera, zadejte pouze nabootování z diskety (floppy).

Po naběhnutí modré startovací obrazovky se vám u horního okraje zobrazí verze Vašeho zobrazovacího biosu. Zadejte požadovaný způsob zobrazování. Máte-li starý systém můžete vyzkoušet EGA nebo VGA. Jinak použijete pravděpodobně SVGA (=Vesa 1.2) nebo XGA (=Vesa 2.0). (VESA = Video Electronics Standards Association).

Zadejte zda chcete použít MTRR, jsou to paměťové funkce, které má téměř každý systém od Pentia PRO.

Budete dotázáni na způsob připojení vaší myši. Máte-li PS/2 případně USB nebo touchpad, zadejte PS/2. Jinak zadejte sériový port podle jeho čísla.

Vyberte z nabídky pěti možností velikosti vaší operační paměti. Maximum je volba 5, tj. 256MB.

Nastavte odkud chcete bootovat, většinou je to z diskety.

Nyní Menuet nastartuje načítáním obrazu diskety. Proces postupuje po 5%. Po načtení celého obrazu z diskety uvidíte výpis končící žádostí o stisk Esc. Poté Menuet přepne do grafického módu.

Práce se systémem

Práce v systému je intuitivní a není třeba ji zvlášť popisovat. Nastavení se provádí aplikací system setup NEPOUŽÍVEJTE APLIKACI NASTAVENÍ SYSTÉMU, pokud si nejste absolutně jisti tím co děláte!

Ukončení systému

K ukončení stačí vybrat z hlavní nabídky Quit a stisknout OK. Budete dotázáni jakou akci chcete provést, většinou je to volba 3, tj. restartovat počítač. Teoreticky by stačilo i stisknout pouze resetovací tlačítko, při práci s pevným diskem je to však VYLOUČENO!

Fonty

Menuet používá font definovaný v souboru CHAR.MT. Velikost fontu je 5*7 pixelů. Příklad písmene A. Řádky jsou zakončeny CR LF.

65   I
 ooo I
o   oI
o   oI
oooooI
o   oI
o   oI
o   oI

Pro kódování češtiny doporučuji ISO-8859-2, neboť jde o standard, který je široce podporován (včetně MIME). Font pro MenuetOS pod licencí GNU GPL můžete nalézt v patchi, který jsem vytvořil (viz. download). Pokud máte opravdu vážný důvod proč použít vymírající CP852, pak je v patchi i font CP852. Ale vřele doporučuji použít spíše standardní ISO!

Mash

MenuetOS disponuje textovou konzolou s interpretem příkazů, který se nazývá Mash. Následující odstavec bude popisovat příkazy tohoto interpretu. Upozorňuji, že MASH je case-sensitive, to znamená, že rozlišuje velikost písmen. Příkazy CLS, cls, Cls tedy nejsou totožné!

cls       - vymaže obrazovku
exit      - ukončí Mash
quit      - uzavře Mash
shutdown  - ukončí Menuet
LS [-l|-s]- vypíše obsah adresáře [-s krátký výpis (výchozí), -l dlouhý výpis]
PS        - výpis procesů
KILL pid  - ukončí proces specifikovaný pidem
VER       - vypíše verzi Mashe

FAQ

Systémové požadavky?
Zobrazení Vesa 2.0+ LFB 1 MB, CPU 80386+, paměť 32MB+.

Proč ne C?
Pokud hledáte operační systém naprogramovaný v C, můžete se připojit k Linuxu. Operační systémy byly napsány v C již dříve několikrát.

Proč Assembler?
Není rychlejšího jazyka než Assembler, je to pravá řeč vašeho PC.

Proč GPL?
Na Zemi je mnoho programátorů, kteří umí programovat v assembleru a mohou pomoci při vývoji. Na příklad, GUI může být mnohem snáze optimalizováno a může být dokonce rychlejší.

Kde najdu zdrojové kódy jádra?
Všechny zdrojové texty jsou na nainstalované disketě. Stačí se podívat do hlavního adresáře na /kernel.asm.

Jak mohu přispět?
Jednoduchou úpravou kódu a jejím zasláním některému z autorů. Prosíme používejte originální překladač upraveného kódu. Pokud děláte nějaké větší změny prosíme, prodiskutujte to nejprve s autorem, aby nebyla dělána zbytečná práce.

Rozsáhlé zdrojové texty v Assembleru?
Existuje přesvědčení, že rozsáhlé projekty nemohou být naprogramovány v assembleru. Tisíce řádek Menuetu dokazuje, že toto přesvědčení je chybné.

Jaký druh jádra má Menuet?
Projekt používá pre-emptivní, real-timové jádro, které je víceméně monolitické.

Budoucí kompatibilita aplikací?
Od verze 0.38, jsou aplikace kompatibilní s budoucími vydáními Menuetu. Takže nebudete muset přepisovat aplikace pro každé nové vydání operačního systému.

Toto speciální zařízení nefunguje!?
Pro myš jsou zde kombinace kláves alt + šipky + mezerník. Máme pouze tento jeden počítač na kterém vše funguje. Můžete napsat váš vlastní ovladač/patch a/nebo poslat info.

Co naprogramovat příště?
Hledáme lepší podporu pro různá zálohovací zařízení, jako jsou disketová mechanika a pevný disk. Také bychom rádi optimalizovali GUI (Grafické Uživatelské Rozhraní).

Umím/neumím assembler a chci pomoci.
Jsme rádi, že chcete. Projekt Menuet je stále malý projekt v porovnání s GNU, Linuxem, Free/Net/Open BSD, apod. Pokud chcete pomoci, pravděpodobně jste také "cvok", takže vítejte v Menuet blázinci. Buďte si vědomi, že jakmile jednou vstoupíte, nikdy neodejdete. Pohltíme Vás. Pokud jste programátor v assembleru, ať už profesionál či amatér (to je opravdu jedno), tak si po nainstalování dle možností stáhněte zdrojové texty a patche. Zašlete patch původnímu programátorovi patche/aplikace a Váš kód bude pravděpodobně zařazen do vývojového stromu. Projděte si To-do list pokud chcete programovat, můžete tam najít inspiraci a zabránit opětovnému psaní kódu, nebo se můžete připojit k ostatním lidem a spojit síly. Navštivte stranu programování pro detailní informace jak programovat Menuet. I když nejste programátor v assembleru, můžete stále pomoci a to hodně. Žádáni jsou lidé (beta testeři) ochotní testovat Menuet a posílat zprávy o funkčnosti systému na jejich počítačích. Stejně jako lidé ochotní překládat webové stránky Menuetu včetně dokumentace a dalších textů do jazyků, do kterých ještě nebyly přeloženy. Také sháníme lidi, kteří by dodali hardware, starý nebo nový, abychom mohli rozšířit podporu na další zařízení a psát další části kódu. Pokud chcete přispět penězi velmi to oceníme. Dále budeme vděčni lidem chtějícím mirrorovat stránky Menuetu. Můžeme Vám také doporučit naučit se ve volném čase assembler, takže nám budete moci pomoci ještě více. Nebo nám prostě napište jaké rozšíření či další funkce by se Vám líbily.

Za jakých podmínek mohu získat MenuetOS?
Nezaplatíte ani korunu. Ano, dokonce ani haléř. Menuet je distribuován zdarma! Největší výhodou Menuetu však je fakt, že jde o svobodný software vydávaný pod licencí GPL, GNU Všeobecnou Veřejnou Licencí. GNU je úsilím FSF, Nadace pro Svobodný Software, vybudovat plně funkční operační systém Unixového typu. To že je Menuet svobodný (free) software znamená, že jeho zdrojové kódy jsou dostupné spolu se systémem, všichni mají právo Menuet spustit za jakýmkoliv účelem, studovat jak pracuje a přizpůsobit ho svým potřebám, distribuovat jeho kopie či vylepšené kopie a mají přístup k jeho kompletním zdrojovým kódům (jedinou podmínkou šíření je dodržet licenční podmínky).

Závěr

Zdrojem mi byly mj. původní www stránky projektu MenuetOS, které jsem překládal do češtiny. Aktuální verzi tohoto dokumentu můžete nalézt na: http://home.tiscali.cz/merinskym/ Tento dokument můžete šířit pod licencemi GPL nebo FDL (no invariant, no front or back cover texts). Martin Měřinský 28.08.2003