Ako vytvoriť operačný systém počítača: 13 krokov (s obrázkami)

Obsah:

Ako vytvoriť operačný systém počítača: 13 krokov (s obrázkami)
Ako vytvoriť operačný systém počítača: 13 krokov (s obrázkami)

Video: Ako vytvoriť operačný systém počítača: 13 krokov (s obrázkami)

Video: Ako vytvoriť operačný systém počítača: 13 krokov (s obrázkami)
Video: Lazarus IDE Обзор преимуществ / Особенности / Установка, Удаление / FpcUpDeluxe / 2022 / Free Pascal 2024, Apríl
Anonim

Tento wikiHow vás naučí plánovať a vyvíjať operačný systém, ak neviete kódovať v jazyku C alebo C ++. Operačné systémy spravujú počítačový hardvér a poskytujú zdroje, ktoré aplikácie potrebujú na spustenie. Písanie operačného systému od nuly vyžaduje silné znalosti informatiky, programovacieho jazyka ako C alebo C ++, montáže a postupov správy kódu.

Kroky

Časť 1 z 2: Naučenie sa základov

Vytvorte operačný systém počítača Krok 1
Vytvorte operačný systém počítača Krok 1

Krok 1. Absolvujte niekoľko základných kurzov informatiky

Na rozdiel od vývoja pre web, vytvorenie operačného systému vyžaduje silné porozumenie algoritmov, dátových štruktúr, počítačového hardvéru a správy zdrojov. Ľudia v tejto oblasti získavajú vzdelanie, takže nečakajte, že po prečítaní online tutoriálu napíšete celý operačný systém! Harvardský úvod do počítačovej vedy je k dispozícii online prostredníctvom EDX bezplatne.

Vytvorte operačný systém počítača Krok 2
Vytvorte operačný systém počítača Krok 2

Krok 2. Naučte sa programovací jazyk na vysokej úrovni, ako je Python

Keď už máte základy počítačovej vedy, ďalším krokom je zvládnutie jazyka C a/alebo C ++. Rovnako ako učenie o informatike, zvládnutie jazyka nie je voliteľné-ak nemôžete písať spoľahlivé aplikácie, nebudete môcť kódovať operačný systém.

Ak ste v jazyku C úplní nováčikovia, navštívte kurz Dartmouth's C Programming: Getting Started, ktorý je zadarmo prostredníctvom EDX. Po absolvovaní tohto kurzu sa môžete zúčastniť ďalšieho kurzu v sérii: C Programovanie: Jazykové základy. Potom prejdite na ďalšie kurzy, ako je Modulové programovanie a správa pamäte a Ukazovatele a správa pamäte

Vytvorte operačný systém počítača Krok 4
Vytvorte operačný systém počítača Krok 4

Krok 3. Naučte sa jazyk montáže

Montážne jazyky sú jazyky nízkej úrovne navrhnuté na komunikáciu s rôznymi procesormi. Pretože sa zostava líši pre rôzne typy procesorov (napr. Montážny jazyk x86 pre procesory Intel, AMD, VIA a ďalšie), budete sa musieť naučiť verziu pre typ procesora, pre ktorý kódujete.

  • Táto kniha s otvoreným zdrojovým kódom, ak je čítaná celá, vám môže poskytnúť dostatočné porozumenie pre stavbu operačného systému.
  • The Art of Assembly Language je veľmi odporúčaná kniha o montáži, ktorá je k dispozícii online aj offline.
  • Mali by ste tiež vykonať veľký prieskum typu procesorov, na ktorých by mal váš operačný systém bežať. Návody na architektúru procesorov je možné ľahko nájsť pomocou vyhľadávania Google („Príručky Intel“, „Manuály ARM“atď.).
Vytvorte operačný systém počítača Krok 5
Vytvorte operačný systém počítača Krok 5

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

Tutoriály pre operačný systém OS vás prevedú procesom vytvorenia základného operačného systému. To vás zvykne na tento proces a pomôže vám zistiť, či vám chýbajú nejaké kúsky. Po dokončení jedného alebo dvoch tutoriálov budete na dobrej ceste k vytvoreniu vlastného operačného systému.

  • Bare Bones je návod, ktorý vám pomôže napísať prvé jednoduché 32-bitové jadro. Po dokončení tutoriálu je ďalším krokom použitie Meaty Skeleton na štruktúrovanie vášho vlastného operačného systému.
  • Linux from Scratch je online kniha, ktorá vás prevedie vytvorením vlastného operačného systému Linux.
  • Operačné systémy od 0 do 1 je bezplatná kniha o vytváraní rôznych operačných systémov od začiatku do konca.
Vytvorte operačný systém počítača Krok 3
Vytvorte operačný systém počítača Krok 3

Krok 5. Zistite ciele operačného systému

Čo chcete, aby váš operačný systém robil? Ako by to malo vyzerať Naozaj potrebujete napísať celý operačný systém alebo sa len snažíte vytvoriť určitý vzhľad pre svoju pracovnú plochu? To sú všetky veci, ktoré je potrebné zvážiť pred začatím kódovania.

  • Zvážte vývoj s tímom ďalších programátorov. Tým, že na projekte pracuje tím vývojárov, výrazne skráti čas vývoja.
  • Pridajte ciele, plány a otázky svojho projektu do verejného úložiska, aby vám ostatní mohli ľahko pomôcť.

Časť 2 z 2: Budovanie vášho operačného systému

Bavte sa s počítačom, krok 16
Bavte sa s počítačom, krok 16

Krok 1. Vyberte si vývojové prostredie

Toto je platforma, ktorú budete používať na kódovanie vášho nového operačného systému. Je to vec osobných preferencií, ale väčšina ľudí používa Windows alebo UNIX. Ak používate systém Windows, je vhodné nainštalovať prostredie UNIX, ako je Cygwin alebo MinGW. Spravidla sa budete chcieť uistiť, že akékoľvek prostredie, ktoré používate, obsahuje nasledujúce položky:

  • GCC (kompilátor GNU). Ak používate Windows, môžete si ho nainštalovať v programe Cygwin alebo MinGW.
  • Binutils je zbierka nástrojov používaných na manipuláciu so súbormi objektov. Opäť platí, že ak používate systém Windows, môžete si ho nainštalovať do programu Cygwin.
  • Dobrý textový editor. Vim a emacs sa bežne používajú v prostrediach UNIX. Používatelia systému Windows môžu použiť program Poznámkový blok alebo si v programe Poznámkový blok ++ vyhľadať inováciu na viacerých kartách.
  • Perl a/alebo Python. Na manipuláciu so strunami sa odporúča jeden alebo oba.
Vytvorte operačný systém počítača Krok 13
Vytvorte operačný systém počítača Krok 13

Krok 2. Nastavte svoj systém správy verzií

Napísanie operačného systému znamená, že pravdepodobne vytvoríte stovky (alebo tisíce!) Riadkov kódu. Keď pracujete na revíziách, môže to byť mätúce. Niektoré možnosti platby sú CVS, Mercurial a Subversion.

Vytvorte operačný systém počítača Krok 6
Vytvorte operačný systém počítača Krok 6

Krok 3. Rozhodnite sa pre bootloader

Ak si nechcete vytvárať vlastné, môžete použiť už existujúci, napríklad Grand Unified Bootloader (GRUB). Ak sa cítite dosť odvážni na kódovanie bootloadera, pozrite sa na Rolling Your Own Bootloader na OSDev.org.

Vytvorte operačný systém počítača Krok 9
Vytvorte operačný systém počítača Krok 9

Krok 4. Vyberte návrh jadra

Jadro je jadrom vášho operačného systému a poskytuje rozhranie medzi používateľom a počítačovým hardvérom. Existujú monolitické jadrá a mikro jadrá. Monolitické jadrá implementujú všetky služby v jadre, zatiaľ čo mikrojadrá majú malé jadro kombinované s používateľskými démonmi implementujúcimi služby. Monolitické jadrá sú vo všeobecnosti rýchlejšie, ale mikrojadrá majú lepšiu izoláciu a spoľahlivosť chýb.

Vytvorte operačný systém počítača Krok 12
Vytvorte operačný systém počítača Krok 12

Krok 5. Začnite v malom

Začnite s drobnosťami, ako je zobrazovanie textu a prerušenia, a potom sa pustite do vecí, ako je správa pamäte a viacúlohové spracovanie. Namiesto veľkého skoku môžete tiež skúsiť vytvoriť jednoduchý 16-bitový operačný systém.

O dva týždne nebudete mať plný systém. Začnite s operačným systémom, ktorý sa spustí, a potom prejdite na skvelé veci

Vytvorte operačný systém počítača Krok 14
Vytvorte operačný systém počítača Krok 14

Krok 6. Otestujte svoj nový operačný systém pomocou virtuálneho počítača

Namiesto reštartovania počítača zakaždým, keď vykonáte zmeny alebo budete musieť prenášať súbory z vývojového počítača do testovacieho počítača, použite aplikáciu virtuálneho počítača. VMWare je bežnou možnosťou, ktorá funguje s operačným systémom Windows aj Linux, rovnako ako Bochs. Skontrolujte potenciálne zablokovanie a ďalšie chyby a podľa potreby ich opravte.

Vytvorte operačný systém počítača Krok 15
Vytvorte operačný systém počítača Krok 15

Krok 7. Uvoľnite „uchádzača o vydanie

„Môžete to urobiť tak, že odošlete testovaný kód do verejného úložiska. To umožní ľuďom otestovať váš operačný systém a podať správu o všetkých problémoch, s ktorými sa stretnú.

Bavte sa s počítačom, krok 28
Bavte sa s počítačom, krok 28

Krok 8. Spojte sa s inými vývojármi operačných systémov

Existuje celá komunita vývojárov operačných systémov, ktorí sa stretávajú na rôznych fórach, vrátane /r /osdev na Reddit a Software Engineering Stack Exchange. Pochopili ste vývoj základného operačného systému. Prečítajte si existujúce príspevky a zistite, aké veci sa počas vývojového procesu objavia.

Video - Používaním tejto služby môžu byť niektoré informácie zdieľané so službou YouTube

Tipy

  • Ak chcete, aby bol váš systém životaschopný, implementujte funkcie zabezpečenia ako svoju najvyššiu prioritu.
  • Po dokončení celého vývoja sa rozhodnite, či chcete kód uvoľniť ako open source alebo proprietárny.
  • Aby operačný systém zvládol viac procesorov, váš správca pamäte musí mať zavedené „uzamykacie“mechanizmy, ktoré zabránia viacerým procesorom v prístupe k rovnakému prostriedku súčasne. „Zámky“použité na tento účel budú vyžadovať prítomnosť plánovača, ktorý zaistí, že iba jeden procesor pristupuje v akomkoľvek danom čase k kritickému zdroju a všetky ostatné budú čakať. Plánovač však závisí od prítomnosti správcu pamäte. Toto je prípad zablokovania závislosti. Neexistuje žiadny štandardný spôsob riešenia takýchto problémov; Od vás ako programátora sa očakáva, že budete dostatočne kvalifikovaní na to, aby ste zistili, ako s tým zaobchádza.
  • Operačný systém môže byť tiež užívateľsky prívetivý. Nezabudnite pridať užívateľsky prívetivé funkcie, ktoré z nich urobia neoddeliteľnú súčasť vášho návrhu.
  • Nepridávať sa fóra OSDev.org a začnite si klásť zrejmé otázky. Výsledkom bude jednoducho "Prečítajte si manuál" odpovede. Skúste si prečítať Wikipédiu a príručky k rôznym nástrojom, ktoré chcete používať.
  • Nezačínaj projekt operačného systému na začatie učenia sa programovania. Ak ešte neviete C, C ++, Pascal alebo iný vhodný jazyk naruby, vrátane manipulácie s ukazovateľom, manipulácie s bitmi na nízkej úrovni, radenia bitov, vloženého montážneho jazyka atď., Nie ste pripravení na vývoj operačného systému.
  • Ak robíte niečo nerozumné, napríklad zapisujete náhodné bajty na náhodné vstupno-výstupné porty, zrútite svoj operačný systém a môžete (teoreticky) vyprážať váš hardvér.

Odporúča: