Jak vytvořit operační systém počítače: 13 kroků (s obrázky)

Obsah:

Jak vytvořit operační systém počítače: 13 kroků (s obrázky)
Jak vytvořit operační systém počítače: 13 kroků (s obrázky)

Video: Jak vytvořit operační systém počítače: 13 kroků (s obrázky)

Video: Jak vytvořit operační systém počítače: 13 kroků (s obrázky)
Video: Super levné PC a instalace systému Linux Ubuntu - kompletní průvodce 2024, Duben
Anonim

Tento wikiHow vás naučí plánovat a vyvíjet operační systém, pokud nevíte, jak kódovat v C nebo C ++. Operační systémy spravují počítačový hardware a poskytují prostředky, které aplikace potřebují ke spuštění. Psaní operačního systému od nuly vyžaduje silnou znalost počítačové vědy, programovacího jazyka jako C nebo C ++, sestavení a postupů správy kódu.

Kroky

Část 1 ze 2: Naučte se základy

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

Krok 1. Absolvujte několik základních kurzů informatiky

Na rozdíl od vývoje pro web vyžaduje vytvoření operačního systému silnou znalost algoritmů, datových struktur, počítačového hardwaru a správy zdrojů. Lidé v této oblasti získávají vzdělání, takže nečekejte, že po přečtení online tutoriálu napíšete celý operační systém! Kurz Harvard's Intro to Computer Science je k dispozici online prostřednictvím EDX zdarma.

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

Krok 2. Naučte se programovací jazyk na vysoké úrovni, jako je Python

Jakmile máte solidní základy počítačové vědy, dalším krokem je zvládnutí C a/nebo C ++. Stejně jako učení o počítačové vědě není zvládnutí jazyka volitelné-nebudete moci kódovat operační systém, pokud nemůžete psát solidní aplikace.

Pokud jste v C úplně nový, podívejte se na kurz Dartmouth's C Programming: Getting Started, který je zdarma prostřednictvím EDX. Jakmile tento kurz dokončíte, můžete absolvovat další kurz v řadě: C Programování: Jazykové základy. Poté přejděte k dalším kurzům, jako je modulární programování a správa paměti a ukazatele a správa paměti

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

Krok 3. Naučte se jazyk sestavení

Jazyky sestavení jsou jazyky nízké úrovně určené ke komunikaci s různými procesory. Protože se montáž liší pro různé typy procesorů (např. X86 Assembly Language pro procesory Intel, AMD, VIA a další), budete se muset naučit verzi pro typ procesoru, pro který kódujete.

  • Tato kniha s otevřeným zdrojovým kódem, je-li přečtena v plném rozsahu, vám může poskytnout dostatečně solidní znalosti pro budování operačního systému.
  • The Art of Assembly Language je velmi doporučovaná kniha o montáži, která je k dispozici jak offline, tak offline.
  • Měli byste také provést velký průzkum typu procesorů, na kterých by měl váš operační systém běžet. Manuály k architektuře procesorů lze snadno najít pomocí vyhledávání Google („Intel Manuals“, „ARM manuals“atd.).
Vytvořte operační systém počítače Krok 5
Vytvořte operační systém počítače Krok 5

Krok 4. Dokončete návod k operačnímu systému

Návody k OS vás provedou procesem vytvoření základního operačního systému. To vás zvykne na proces a pomůže vám zjistit, zda vám chybí nějaké kousky. Jakmile dokončíte jeden nebo dva tutoriály, budete na dobré cestě k vytvoření vlastního operačního systému.

  • Bare Bones je tutoriál, který vám pomůže napsat první jednoduché 32bitové jádro. Po dokončení tutoriálu je dalším krokem použití Meaty Skeleton ke strukturování vlastního operačního systému.
  • Linux from Scratch je online kniha, která vás provede vytvořením vlastního operačního systému Linux.
  • Operační systémy od 0 do 1 je bezplatná kniha o vytváření různých operačních systémů od začátku do konce.
Vytvořte operační systém počítače Krok 3
Vytvořte operační systém počítače Krok 3

Krok 5. Zjistěte cíle svého operačního systému

Co chcete, aby váš operační systém dělal? Jak by to mělo vypadat? Opravdu potřebujete napsat celý operační systém, nebo jen chcete vytvořit určitý vzhled pro svou plochu? To jsou všechny věci, které je třeba zvážit, než začnete kódovat.

  • Zvažte vývoj s týmem dalších programátorů. Tým vývojářů pracujících na projektu výrazně zkrátí dobu vývoje.
  • Přidejte své cíle, plány a otázky do veřejného úložiště, aby vám ostatní mohli snadno pomoci.

Část 2 ze 2: Budování operačního systému

Bavte se s počítačem, krok 16
Bavte se s počítačem, krok 16

Krok 1. Vyberte vývojové prostředí

Toto je platforma, kterou budete používat ke kódování nového operačního systému. Je to věc osobních preferencí, ale většina lidí buď používá Windows nebo verzi UNIXu. Pokud používáte Windows, je vhodné nainstalovat prostředí UNIX, jako je Cygwin nebo MinGW. Obecně budete chtít zajistit, aby jakékoli prostředí, které používáte, obsahovalo následující:

  • GCC (kompilátor GNU). Pokud používáte Windows, můžete si jej nainstalovat do Cygwin nebo MinGW.
  • Binutils je kolekce nástrojů používaných pro manipulaci se soubory objektů. Opět platí, že pokud používáte Windows, můžete jej nainstalovat do Cygwin.
  • Dobrý textový editor. Vim a emacs se běžně používají v prostředích UNIX. Uživatelé Windows mohou použít Poznámkový blok nebo se podívat na Poznámkový blok ++ pro upgrade na více kartách.
  • Perl a/nebo Python. Pro manipulaci s řetězci se doporučuje jeden nebo oba.
Vytvořte operační systém počítače Krok 13
Vytvořte operační systém počítače Krok 13

Krok 2. Nastavte svůj systém pro správu verzí

Psaní operačního systému znamená, že pravděpodobně vytvoříte stovky (nebo tisíce!) Řádků kódu. Když pracujete na revizích, může to být matoucí. Některé možnosti, které je třeba vyzkoušet, jsou CVS, Mercurial a Subversion.

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

Krok 3. Rozhodněte se pro bootloader

Pokud si nechcete vytvářet vlastní, můžete použít existující, jako je Grand Unified Bootloader (GRUB). Pokud se cítíte dostatečně odvážní na kódování bootloaderu, podívejte se na Rolling Your Own Bootloader na OSDev.org.

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

Krok 4. Vyberte návrh jádra

Jádro je jádrem vašeho operačního systému a poskytuje rozhraní mezi uživatelem a počítačovým hardwarem. Existují monolitická jádra a mikro jádra. Monolitická jádra implementují všechny služby v jádře, zatímco mikrojádra mají malé jádro kombinované s implementací služeb démony 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 12
Vytvořte operační systém počítače Krok 12

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

Začněte malými věcmi, jako je zobrazování textu a přerušení, než přejdete k věcem, jako je správa paměti a multitasking. Místo velkého skoku můžete také zkusit vytvořit jednoduchý 16bitový operační systém.

Za dva týdny nebudete mít plný systém. Začněte s operačním systémem, který se spustí, a poté přejděte na skvělé věci

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

Krok 6. Otestujte svůj nový operační systém na virtuálním počítači

Spíše než restartovat počítač pokaždé, když provedete změny nebo budete muset přenášet soubory z vývojového počítače do testovacího počítače, použijte aplikaci pro virtuální počítač. VMWare je běžná možnost, která funguje s Windows i Linuxem, stejně jako Bochs. Zkontrolujte potenciální zablokování a další chyby a podle potřeby je opravte.

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

Krok 7. Uvolněte „kandidáta na vydání

"Můžete to udělat tak, že nahrajete svůj testovaný kód do veřejného úložiště. To lidem umožní otestovat váš operační systém a podat zprávu o všech problémech, se kterými se setkají."

Užijte si počítač, krok 28
Užijte si počítač, krok 28

Krok 8. Síť s dalšími vývojáři operačních systémů

Na různých fórech se shromažďuje celá komunita vývojářů operačních systémů, včetně /r /osdev na Redditu a Software Engineering Stack Exchange. Ten, který jste pochopili při vývoji základního operačního systému, si přečtěte stávající příspěvky a zjistěte, jaké věci se během vývojového procesu objeví.

Video - Používáním této služby mohou být některé informace sdíleny s YouTube

Tipy

  • Pokud chcete, aby byl váš systém životaschopný, implementujte funkce zabezpečení jako svoji nejvyšší prioritu.
  • Po dokončení veškerého vývoje se rozhodněte, zda chcete kód uvolnit jako open source nebo proprietární.
  • Aby mohl operační systém zvládnout více procesorů, musí mít váš správce paměti k dispozici „zamykací“mechanismy, které zabrání více procesorům v přístupu ke stejnému prostředku současně. K tomu použité „zámky“budou vyžadovat přítomnost plánovače, který zajistí, že pouze jeden procesor přistupuje v daném okamžiku ke kritickému zdroji a všechny ostatní budou muset počkat. Přesto je plánovač závislý na přítomnosti správce paměti. Toto je případ zablokované závislosti. Neexistuje žádný standardní způsob řešení takových problémů; Očekává se, že jako programátor budete dostatečně zruční, abyste zjistili, jak se s tím vypořádat.
  • Operační systém může být také uživatelsky přívětivý. Nezapomeňte přidat uživatelsky přívětivé funkce, které se stanou nedílnou součástí vašeho návrhu.
  • Nepřipojujte se fóra OSDev.org a začněte klást zřejmé otázky. Jednoduše to bude mít za následek „Přečtěte si manuál“ odpovědi. Měli byste si přečíst Wikipedii a manuály k různým nástrojům, které chcete použít.
  • Nestartuj projekt operačního systému pro zahájení učení programování. Pokud ještě neznáte C, C ++, Pascal nebo jiný vhodný jazyk naruby, včetně manipulace s ukazatelem, manipulace s bitem na nízké úrovni, řazení bitů, vloženého jazyka sestavení atd., Nejste připraveni na vývoj operačního systému.
  • Pokud uděláte něco neuváženého, například zapisujete náhodné bajty na náhodné I/O porty, zhroutí se váš operační systém a můžete (teoreticky) smažit váš hardware.

Doporučuje: