Jak vytvořit počítačový operační systém (s obrázky)

Obsah:

Jak vytvořit počítačový operační systém (s obrázky)
Jak vytvořit počítačový operační systém (s obrázky)

Video: Jak vytvořit počítačový operační systém (s obrázky)

Video: Jak vytvořit počítačový operační systém (s obrázky)
Video: Automatic1111 Stable Diffusion DreamBooth Guide: Optimal Classification Images Count Comparison Test 2024, Smět
Anonim

Operační systém umožňuje uživateli interakci s hardwarem počítače. Systém se skládá ze stovek tisíc řádků kódu. Operační systém je obvykle vytvořen pomocí C#, C, C ++ a programovacích jazyků sestavení. Operační systém vám umožňuje procházet počítač při ukládání a provádění příkazů. Nemyslete si, že vytvoření operačního systému je snadné. K jeho výrobě je zapotřebí mnoho znalostí.

Krok

Vytvořte operační systém počítače Krok 1
Vytvořte operační systém počítače Krok 1

Krok 1. Nejprve se seznamte s programováním

Jazyk montáže je velmi důležitý; Důrazně doporučujeme, abyste se naučili další doplňkový jazyk na vysoké úrovni, například jazyk C.

Vytvořte operační systém počítače Krok 2
Vytvořte operační systém počítače Krok 2

Krok 2. Rozhodněte se, jaká média chcete použít k načtení OS

Tímto médiem může být jednotka CD, DVD, flash, pevný disk, disketa nebo jiný počítač.

Vytvořte operační systém počítače Krok 3
Vytvořte operační systém počítače Krok 3

Krok 3. Definujte základní myšlenku SO

Například v systému Windows je základní myšlenkou snadno použitelné grafické uživatelské rozhraní a spousta zabezpečení.

Vytvořte operační systém počítače Krok 4
Vytvořte operační systém počítače Krok 4

Krok 4. Určete, jakou procesorovou platformu bude váš operační systém podporovat

IA-32, ARM a x86_64 jsou nejběžnější platformy pro osobní počítače. Takže všechny jsou vaše nejlepší volba.

Vytvořte operační systém počítače Krok 5
Vytvořte operační systém počítače Krok 5

Krok 5. Rozhodněte se, zda si přejete dělat vše sami od nuly, nebo je již k dispozici jádro, na kterém byste chtěli stavět

Například Linux od nuly je projekt pro lidi, kteří si chtějí vytvořit vlastní distribuci Linuxu.

Vytvořte operační systém počítače Krok 6
Vytvořte operační systém počítače Krok 6

Krok 6. Rozhodněte se, zda použijete svůj vlastní zavaděč nebo přednastavený, jako je Grand Unified Bootloader (GRUB)

Vlastní kódování zavaděče bude vyžadovat rozsáhlé znalosti hardwaru a systému BIOS. V důsledku toho může tento krok bránit skutečnému plánu programování jádra.

Vytvořte operační systém počítače Krok 7
Vytvořte operační systém počítače Krok 7

Krok 7. Rozhodněte se, jaký programovací jazyk použít

Je v pořádku mít operační systém v jazyce jako Pascal nebo BASIC, ale měli byste použít C nebo Assembly. Sestavení je velmi nutné, protože to vyžadují některé důležité části operačního systému. Na druhou stranu jazyk C ++ obsahuje klíčová slova, která ke spuštění vyžadují další úplné SO.

Ke kompilaci operačního systému z kódu C nebo C ++ samozřejmě použijete jeden nebo druhý překladač. Proto je dobré prostudovat uživatelskou příručku/manuál/dokumentaci kompilátoru C/C ++ podle vašeho výběru, ať už je součástí softwaru nebo je k dispozici na webových stránkách distributora. O kompilátoru potřebujete vědět spoustu komplikovaných věcí a pro vývoj v jazyce C ++ potřebujete vědět o schématu kompilátoru kompilátoru a jeho ABI. Očekává se, že porozumíte různým spustitelným formátům (ELF, PE, COFF, základní binární atd.) A porozumíte tomu, že exkluzivní formát Windows, PE (.exe), je chráněn autorskými právy

Vytvořte operační systém počítače Krok 8
Vytvořte operační systém počítače Krok 8

Krok 8. Definujte rozhraní pro programování aplikací (API)

Jedním dobrým API na výběr je POSIX, protože je dobře zdokumentovaný. Všechny systémy Unix mají alespoň částečnou podporu pro POSIX. Připojení unixových programů k vašemu operačnímu systému by tedy mělo být snadné.

Vytvořte operační systém počítače Krok 9
Vytvořte operační systém počítače Krok 9

Krok 9. Rozhodněte o svém návrhu

Existuje něco jako monolitické jádro a mikro jádro. Monolitická jádra implementují všechny služby v jádře, zatímco mikro jádra mají malá jádra spojená se službami nasazení démona uživatelů. Monolitická jádra jsou obecně rychlejší, ale mikrojádra mají lepší izolaci chyb a spolehlivost.

Vytvořte operační systém počítače Krok 10
Vytvořte operační systém počítače Krok 10

Krok 10. Zvažte vývoj a práci v týmu

Vyřešení více problémů tak zabere méně času, což pravděpodobně urychlí budování lepšího operačního systému.

Vytvořte operační systém počítače Krok 11
Vytvořte operační systém počítače Krok 11

Krok 11. Pevný disk nevymažte úplně

Pamatujte, že smazáním disku nenávratně vymažete všechna data na něm! Pomocí GRUBu nebo jiného správce spouštění dvakrát spusťte systém z jiného operačního systému, dokud nebude váš operační systém plně funkční.

Vytvořte operační systém počítače Krok 12
Vytvořte operační systém počítače Krok 12

Krok 12. Začněte v malém

Začněte drobnostmi, jako je zobrazování textu a pauza, než přejdete k věcem, jako je správa paměti a složená práce. Ujistěte se také, že používáte 32bitovou a 64bitovou verzi.

Vytvořte operační systém počítače Krok 13
Vytvořte operační systém počítače Krok 13

Krok 13. Uchovejte si zálohu posledního funkčního zdrojového kódu

Tento krok je užitečný jako pojistka pro případ, že by se s aktuální verzí SO nebo vývojem něco pokazilo. Pokud počítač havaruje a nespustí se, je vhodné mít k dispozici druhou kopii, abyste mohli problém vyřešit.

Vytvořte operační systém počítače Krok 14
Vytvořte operační systém počítače Krok 14

Krok 14. Zvažte testování nového operačního systému pomocí virtuálního počítače

Namísto restartování počítače pokaždé, když provedete změny, nebo po odeslání souborů z vývojového počítače na testovací počítač, můžete ke spuštění operačního systému použít aktuální virtuální operační systém. Mezi současné aplikace VM patří: VMWare (který má také serverový produkt dostupný zdarma), alternativy open source, Bochs, Microsoft Virtual PC (není kompatibilní s Linuxem) a Oracle VirtualBox.

Vytvořte operační systém počítače Krok 15
Vytvořte operační systém počítače Krok 15

Krok 15. Spusťte „release candidate“nebo beta verzi

Tento krok umožní uživateli upozornit vás na potenciální problémy s vaším operačním systémem.

Vytvořte operační systém počítače Krok 16
Vytvořte operační systém počítače Krok 16

Krok 16. Operační systém by měl být také uživatelsky přívětivý

Ujistěte se, že přidáváte uživatelsky přívětivé funkce, aby byly nedílnou součástí vašeho designu.

Tipy

  • Zkontrolujte potenciální zablokování a další chyby. Chyby, zablokování a další problémy ovlivní váš projekt sestavení operačního systému.
  • Pokud chcete, aby systém fungoval správně, nezapomeňte implementovat funkce zabezpečení jako nejvyšší prioritu.
  • K vývoji vlastního operačního systému použijte webové stránky jako OSDev a OSDever. Vezměte prosím na vědomí, že pro většinu účelů bude komunita OSDev.org více než šťastná, pokud použijete jejich wiki a nepřipojíte se k fóru. Pokud se rozhodnete připojit se k fóru, je tu předpoklad: musíte opravdu vědět o C nebo C ++ a jazyce sestavení x86. Měli byste také porozumět obecným a složitým konceptům programování, jako jsou propojené seznamy, fronty atd. Komunita OSDev ve svých předpisech výslovně uvádí, že její komunita není vytvořena pro výchovu nových programátorů.
  • Nepřipojujte se pomocí fóra OSDev.org a poté položte zřejmou otázku. Budete požádáni pouze o přečtení průvodce. Přečtěte si Wikipedii a pokyny pro jakékoli zařízení, které chcete použít.
  • Pokud se pokoušíte vyvinout operační systém, jste rozhodně považováni za „boha“programování.
  • Měli byste si také přečíst příručku procesoru pro architekturu procesoru, kterou jste vybrali; ať už x86 (Intel), ARM, MIPS, PPC atd. Manuály pro architektury procesorů lze snadno vyhledat pomocí vyhledávání Google („manuál Intel“, „manuál ARM“atd.).
  • Po dokončení všech vývojových prací se rozhodněte, zda chcete kód uvolnit jako otevřený kód nebo podle autorských práv.
  • Nezačínej projekt operačního systému pro zahájení učení programování. Pokud nevíte dovnitř a ven o C, C ++, Pascal nebo jiném vhodném jazyce, včetně manipulace s ukazatelem, manipulace s bitem na nízké úrovni, řazení bitů, vložené jazyky sestavení atd., Nejste na operační systém připraveni rozvoj.
  • Dobrou volbou může být vytvoření zcela nového oddílu pro „rozšíření“SO.
  • Pokud chcete snadný způsob, zvažte distribuce Linuxu jako Fedora Revisor, Custom Nimble X, Puppy Remaster, PCLinuxOS Mk LiveCD nebo SUSE Studio a SUSE KIWI. Operační systém, který vytvoříte, však patří společnosti, která službu spustila jako první (ačkoli máte právo ji podle GPL libovolně distribuovat, upravovat a provozovat, jak chcete).

Varování

  • Do dvou týdnů nezískáte plný operační systém. Začněte zaváděcím SO a poté přejděte k chladnějším věcem.
  • Neopatrné psaní operačního systému na pevný disk jej může zcela poškodit. Buď opatrný.
  • Pokud uděláte něco, co se nedoporučuje, například zapisujete náhodné bajty na náhodné I/O porty, zhroutí se váš operační systém a (teoreticky) může dojít k popálení vašeho hardwaru.
  • Nečekejte, že se operační systém vytvoří snadno. Existuje spousta komplikovaných vzájemných závislostí. Například pro vytvoření operačního systému schopného pracovat s více procesory musí mít váš správce paměti mechanismus „zamykání“, který zabrání více procesorům v přístupu ke stejnému prostředku současně. K tomu použitý „zámek“by vyžadoval plánovač, který by zajistil, že pouze jeden procesor přistupuje v daném okamžiku ke kritickým zdrojům a všichni ostatní musí čekat. Plánovač ve skutečnosti závisí na přítomnosti Správce paměti. Toto je příklad slepé uličky. Neexistuje žádný standardní způsob, jak tento druh problému vyřešit; Od každého programátora operačního systému se očekává, že bude dostatečně zkušený, aby znal svůj vlastní způsob, jak se s tím vypořádat.

Dodatečné zdroje

  • Pokyny: Linux od nuly
  • Zavaděč: GRUB
  • Aplikace virtuálních strojů: Bochs, VM Ware, XM Virtual Box.
  • Manuál procesoru: manuál Intel
  • Stránky pro vývoj SO: OSDev, OSDever

Doporučuje: