Jak vytvořit operační systém pro počítač
Operační systémy složené ze stovek tisíc řádků kódu umožňují uživatelům komunikovat s počítačovým vybavením. Obvykle jsou napsány v programovacích jazycích C, C ++ a assembler.
Kroky
jeden. Začít s programováním učení. Znalost montáže musí být také doporučeno, aby pojetí dalších dalších programovacích jazyků nižší úrovně, například s.

2. Rozhodněte se, které zařízení chcete stáhnout operační systém. Může to být CD, DVD, paměťové zařízení Flash, pevný disk nebo jiný počítač.

3. Rozhodněte se, který chcete zobrazit svůj operační systém. Mělo by to být plná verze OS s grafickým uživatelským rozhraním (GUI) nebo, možná něco minimalistického? Musíte vědět, jakým směrem se přesunout před začátkem procesu.

4. Určete, která platforma procesoru bude váš operační systém podporovat. AI-32 a X86_64 jsou dvě nejčastější verze pro osobní počítače, takže mohou být považovány za nejlepší volbu.

Pět. Rozhodněte se, zda dáváte přednost vše, co sami od nuly, nebo tam jsou jádra, na jejichž základě byste chtěli sát systém. Linux od nuly - projekt pro ty, kteří si přeji například, vytvořte si vlastní distribuci Linuxu.

6. Vyberte, budete používat vlastní zavaděč nebo předem vytvořený jednotný systém nakladače Grand Unified Bootloader (GRUB). Vzhledem k tomu, že kódování vlastního programu stahování vyžaduje rozsáhlé znalosti v oblasti zabezpečení počítače a systému BIOS, může přesunout programovací plán aktuálního jádra.

7. Rozhodněte se o programovacím jazyce, který bude používat. Samozřejmě, že je docela možné rozvíjet OS v takovém jazyce jako Pascal nebo Basic, ale je vhodnější psát s nebo assemblerem. Assembler je naprosto nezbytný, t. Na. Některé důležité části operačního systému vyžadují znalosti tohoto konkrétního jazyka. C ++, na druhé straně obsahuje klíčová slova potřebná pro spuštění plné verzi OS.

osm. Vyberte aplikační programovací rozhraní (API). Jeden z výběru dobrých API je POSIX, protože je dobře zdokumentován. Všechny systémy Unixu mají alespoň částečnou podporu pro POSIX, takže by byla triviální připojit programy UNIX do vašeho operačního systému.

devět. Rozhodněte se s designem. Existují monolitická jádra a mikrokernel. Monolitická jádra provádějí všechny služby v jádře, zatímco mikrokernel má malé jádro v kombinaci s realizací uživatelů. Obecně platí, že monolitická jádra jsou rychlejší, ale mikrokernel má lepší izolaci a ochranu před možnými poruchami.

10. Zvažte problematiku rozvoje a práce v týmu. Budete tedy méně časem vyřešit velké problémy, které vytvoří lepší provozní systém kvality pro kratší dobu.

jedenáct. Neodstraňujte svůj pevný disk úplně. Nezapomeňte, že formátování disku nevratně vyčistit všechna data! Použijte grub nebo jiný manažer pro duplicitní stahování počítače v jiném operačním systému, dokud není verze plně připravena funkční.

12. Začněte s malým. Všimněte se především na malé věci, jako je zobrazení textu a přerušení před přepnutím na komplexní prvky, například pro správu paměti a multitasking.

13. Uložte zálohu poslední pracovní verzi. To dává jistý klid v případě, že něco jde naprosto špatného v aktuální verzi vašeho operačního systému nebo následných dodatků. V případě poruch v počítači a nemožnost stahování, jak jste si pochopili, vynikající příležitost bude přítomnost druhé kopie do práce, takže můžete eliminovat existující chyby.

čtrnáct. Otestujte svůj nový operační systém na virtuálním počítači. Místo restartování počítače Pokaždé po provedení změn nebo přenosu souborů ze zkušebního stroje do zkušebního stroje můžete použít aplikaci pro spuštění OS na virtuálním počítači, zatímco vaše aktuální operační operační systém pokračuje v práci. VM aplikace zahrnují VMware (který má také volný přístupový server), alternativní open source kód, BOCHS, Microsoft Virtual PC (není kompatibilní s Linuxem), stejně jako XVM virtualbox.

patnáct. Uvolněte verzi vydání. To umožní uživatelům sdělit o možných nedostatcích v operačním systému.

šestnáct. Operační systém musí být také pohodlný pro uživatele, takže nezapomeňte přidat užitečné funkce, které se stanou nedílnou součástí vašeho návrhu.
Tipy
- Když je vývoj dokončen, přemýšlejte, zda chcete odeslat kód ve volném přístupu nebo zavést soukromá práva k němu.
- Ujistěte se, že funkce zabezpečení provedete základní prioritou, pokud chcete, aby byl váš systém životaschopný.
- Nezačínejte vývojový projekt operačního systému s cílem trénovat programování. Pokud nevíte C, C ++, Pascal nebo jiné vhodné jazyky a vlastnosti, včetně typů ukazatele, operací s nízkými bitovými bity, přepínáním bitů, vestavěný assembler a t.D., - Takže, ještě není připraven vytvořit os.
- Procházet portály jako OSDEV a Osdever vám pomohou zlepšit svůj vlastní operační systém. Věnovat zvláštní pozornost tomu, že většina otázek Společenství OSDEV.Org preferuje vás, abyste ovlivnili obsah webu, a ne připojil se k fóru. Pokud se stále rozhodnete připojit řádky členů fóra, musí existovat určité předpoklady pro toto. Musíte důkladně vědět C nebo C ++ a jazyk X86 Sestavír. Musíte také pochopit společné a komplexní koncepty v programování, jako jsou propojené seznamy, fronty a t.D. Osdev komunita ve svých pravidlech přímo naznačuje, že nikdo nebude sestupovat nové programátory. Pokud se snažíte rozvíjet operační systém, je to bez říkat, že jste "Bůh" v oblasti programování. Musíte také číst příručku pro práci s procesorem, pokud jde o jeho architekturu vybranou Vámi, například X86 (Intel), rameno, MIPS, PPC a T.D. Takový manuál struktury procesoru lze snadno nalézt vyhledáváním v Google ("Intel manuály", "Rameno manuály" a t.D.). Nezaregistrujte se na fóru OSDEV.Org požádat zjevné otázky. Jednoduše vede k odpovědím jako "Přečtěte si příručka pro čtení f ***. Chcete-li začít, měli byste se pokusit číst Wikipedia, výhody pro různé nástroje, které budou používat.
- Zkontrolujte potenciální mrtvé tečky a další chyby. Nedostatky, zablokování a další problémy mohou ovlivnit projekt vašeho operačního systému.
- Pokud chcete způsob, jak jednodušší, odevzdejte distribuci Linuxu - například Fedora Revisor, vlastní nimble x, štěně remaster, pclinuxos mkliveCd nebo suse studio a suse kiwi. Nicméně, vytvořený OS patří do společnosti, která je první, kdo tuto službu představit (i když máte práva k jeho volné distribuci, změnu a spuštění, jak se vám líbí, pod GPL).
- Dobrým řešením bude vytvoření zcela nového oddílu pro operační systém.
Varování
- Bezchybný OS přepisování na pevném disku může poškodit. buď opatrný
- Za dva týdny nebudete dostat plně připravený systém. Začněte od staženého operačního systému a pak přejděte na zajímavější věci.
- Pokud uděláte něco rychlého, například napsat náhodné bajty v libovolných I / O portech, pak zničit váš OS a může (v teorii) vypálit vaše vybavení.
- Neočekávejte, že bude snadné vybudovat vysoce kvalitní operační systém. Existuje mnoho složitých vzájemných závislostí. Například, aby byl operační systém schopen pracovat s více procesory, musí mít správce paměti "blokování" mechanismy, aby se zabránilo zbytečným procesorům ve stejném zdroji současně. Použité "bloky" předpokládají přítomnost plánovače, aby se ujistil, že pouze jeden procesor odvolává na kritický zdroj kdykoliv a všechny ostatní jsou v pohotovostním režimu. Pracovní plánovač závisí na přítomnosti správce paměti. Toto je příklad v závislosti na propojení. Neexistuje žádný standardní způsob, jak vyřešit tyto problémy - každý tvůrce operačního systému bude docela kvalifikován, aby našel vlastní řešení.
Co potřebuješ
- Počítač
- Procesor, na kterém budete stavět
- Dostatečný RAM (RAM) pro virtuální stroj
- Hlavní operační systém (používá se k vývoji zdrojového kódu assembleru (a další.), stejně jako sestavy a balení v raných fázích práce - nakonec se vaše vlastní operační systém stane primárním)
- Editor syntaxe barevného kódu (aplikován v nepřítomnosti integrovaného vývojového prostředí)
- Kompilátor
- CD / DVD Drive