Ako si vyrobiť počítačový operačný systém

Autor: Ellen Moore
Dátum Stvorenia: 14 Január 2021
Dátum Aktualizácie: 18 Smieť 2024
Anonim
Ako si vyrobiť počítačový operačný systém - Encyklopédie
Ako si vyrobiť počítačový operačný systém - Encyklopédie

Obsah

Operačné systémy umožňujú interakciu medzi ľuďmi a počítačovým hardvérom a sú tvorené tisíckami a tisíckami riadkov kódu. Spravidla sa vytvárajú v nasledujúcich programovacích jazykoch: C, C ++ a assembler.

Kroky

  1. Naučte sa programovať skôr, ako začnete. Montážny jazyk je nevyhnutný, zatiaľ čo sa dôrazne odporúča ďalší doplnkový jazyk nízkej úrovne s veľkým významom, ako napríklad C.

  2. Rozhodnite sa, na ktoré médiá chcete načítať operačný systém. Môže to byť disketa, CD, DVD, USB kľúč, pevný disk alebo dokonca iný počítač.
  3. Rozhodnite sa, čo má váš operačný systém (operačný systém) robiť. Či už je to kompletný operačný systém s grafickým užívateľským rozhraním (GUI) alebo niečo trochu minimalistickejšie, skôr ako začnete, musíte vedieť, akým smerom sa uberáte.

  4. Rozhodnite sa, ktorú platformu procesora bude váš operačný systém podporovať. Ak si nie ste istí, je lepšie zamerať sa na platformu procesorov X86 (32 bitov), ​​pretože väčšina počítačov používa procesory na platforme X86.
  5. Rozhodnite sa, či ho chcete vyvinúť úplne sami, alebo či je k dispozícii jadro, z ktorého chcete vyvinúť svoj operačný systém. Linux From Scratch je projekt pre tých, ktorí si chcú napríklad vytvoriť vlastnú distribúciu Linuxu. Prečítajte si tipy na prístup k externému odkazu.

  6. Rozhodnite sa, či budete používať svojho vlastného správcu zavádzania alebo existujúceho, napríklad GRUB (Grand Unified Bootloader). Pretože programovanie vášho vlastného bootloaderu vám poskytne veľa poznatkov o hardvéri a BIOSe, môže to viesť k myšlienke programovania samotného jadra. Pozrite sa na tipy.
  7. Rozhodnite sa, ktorý programovací jazyk použijete. Aj keď je možné vytvoriť operačný systém s jazykmi ako Pascal alebo Basic, bude lepšie použiť jazyk ako C alebo Assembly. Zhromaždenie je nevyhnutne potrebné, pretože niektoré dôležité súčasti operačného systému to budú potrebovať. C ++ na druhej strane obsahuje niektoré kľúčové slová, ktoré na spustenie vyžadujú plne vyvinutý operačný systém.
    • Na zostavenie operačného systému z kódu C alebo C ++ budete zjavne používať jeden alebo druhý kompilátor. Mali by ste si prečítať používateľskú príručku / príručky / dokumentáciu k vybranému kompilátoru C / C ++, či už je pribalený k softvéru alebo je k dispozícii na webových stránkach distribútora. Budete potrebovať veľa zložitých informácií o vašom kompilátore a pri vývoji jazyka C ++ by ste mali vedieť o schéme skresľovania údajov kompilátora a jeho ABI. Očakáva sa, že pochopíte rôzne spustiteľné formáty (ELF, PE, COFF, binárne súbory atď.) A pochopíte, že patentovaný formát Windows (PE .exe) je chránený autorskými právami.
  8. Rozhodnite sa, aké bude vaše aplikačné programové rozhranie (API). Dobrým API na výber je POSIX, ktorý je dobre zdokumentovaný. Všetky systémy UNIX majú aspoň čiastočnú podporu POSIX, takže by bolo triviálne prenášať aplikácie UNIX do vášho OS.
  9. Rozhodnite sa, ako bude vyzerať váš návrh. Existujú monolitické jadrá a mikro jadrá. Monolitické jadrá implementujú všetky služby v jadre, zatiaľ čo mikro jadrá majú malé jadro kombinované s implementačnými službami démonov používateľov. Všeobecne sú monolitické jadrá rýchlejšie, ale mikročasti majú lepšiu izoláciu porúch a vyššiu spoľahlivosť.
  10. Zvážte, či by ste mohli na vývoji spolupracovať s tímom. Týmto spôsobom sa pri riešení väčšieho počtu problémov strávi menej času a výsledkom bude lepší OS.
  11. Pevný disk nečistite úplne. Pamätajte, že keď disk úplne odstránite, odstránite všetky svoje údaje, čo je nevratné! Použite Grub alebo iného manažéra zavádzania na použitie dvojitého zavedenia, ktoré vám umožní zaviesť systém rovnako ako z iného systému, kým nebude váš úplne kompletný a funkčný.
  12. Začnite od spodnej časti. Začnite s maličkosťami, ako je prezentácia textu a prerušenia, skôr ako prejdete k zložitejším aspektom, ako je správa pamäte a multitasking.
  13. Uchovajte si zálohu najnovšieho funkčného zdrojového kódu. V prípade, že sa s aktuálnou verziou niečo strašne pokazí, alebo ak má váš vývojový počítač problémy a už sa nedá nabootovať alebo spustiť, bude skvelý nápad mať druhú kópiu, aby ste mohli pokračovať v práci alebo odstraňovať problémy.
  14. Zvážte otestovanie svojho nového OS na virtuálnom stroji. Namiesto toho, aby ste počítač reštartovali zakaždým, keď urobíte zmeny alebo budete musieť preniesť súbory z vývojového stroja do testovacieho stroja, môžete pomocou virtualizačného softvéru nainštalovať operačný systém na virtuálny stroj a spustiť ho, kým bude bežať súčasný operačný systém. Medzi virtualizačné aplikácie patria VMWare (ktorý má tiež bezplatnú verziu pre servery), alternatívny open source Bochs, Microsoft Virtual PC (nie je kompatibilný s Linuxom) a xVM VirtualBox. Ďalšie informácie nájdete v tipoch.
  15. Vydajte „kandidátsku verziu“ (tiež známu ako kandidát na vydanie alebo jednoducho RC). To umožní používateľom upozorniť vás na možné problémy s operačným systémom.
  16. Operačný systém môže byť tiež užívateľsky prívetivý.

Tipy

  • Nezačínajte vývojový projekt operačného systému súčasne s tým, ako sa začnete učiť z hľadiska programovania. Nie, fakt nie. Ak ešte neovládate úplne C, C ++, Pascal alebo iný vhodný jazyk, vrátane manipulácie s ukazovateľmi, nízkoúrovňovej bitovej manipulácie, čistenia bitov, podrobností o jazyku zhromaždenia atď., Nebudete pripravení na vývoj operačného systému.
  • Ak chcete jednoduchý spôsob, zvážte distribúcie Linuxu, ako sú Fedora Revisor, Custom Nimble X, Puppy Remaster, PCLinuxOS mklivecd alebo SUSE Studio a SUSE KIWI. Operačný systém, ktorý vytvoríte, však patrí spoločnosti, ktorá spustila počiatočnú službu (aj keď máte právo ju voľne distribuovať, upravovať a prevádzkovať podľa želania podľa licencie GPL).
  • Po dokončení celého vývoja sa rozhodnite, či chcete vydať zdrojový kód ako aplikáciu s otvoreným zdrojovým kódom alebo ho vytvoriť ako patentovaný.
  • Používajte stránky ako OSDev a OSDever ako spôsob, ako pomôcť pri vývoji vlastného operačného systému. Pochopte však, že komunita OSDev.org by radšej uprednostnila, keď použijete wiki projektu, a nie sa pripojíte k fóru. Ak sa chcete zapojiť do fóra, musíte splniť určité predpoklady. Musíte dôkladne rozumieť programovacím jazykom C alebo C ++ a x86 Assembly. Musíte tiež pochopiť všeobecné a zložité koncepcie programovania, ako sú prepojené zoznamy, fronty atď. Komunita OSDev vo svojich pravidlách výslovne uvádza, že komunita nie je na to, aby tu bola opatrovateľka alebo tútor pre začínajúcich programátorov. Ak sa snažíte vyvinúť operačný systém, je samozrejmé, že sa od vás očakáva, že budete akýmsi programovacím „bohom“. Je tiež potrebné, aby ste si prečítali príručky k procesorom, aby ste pochopili architektúru procesora, ktorú ste si vybrali; či už x86 (Intel), ARM, MIPS, PPC atď. Príručky pre danú architektúru procesora nájdete ľahko pomocou vyhľadávacieho nástroja Google („Intel Manuals“, „ARM Manuals“ atď.). Nezapojujte sa do komunitných fór OSDev.org a začnite klásť zjavné otázky. Výsledkom budú iba odpovede typu „Prečítajte si liek z príručky“. Mali by ste sa pokúsiť prečítať si Wikipédiu a príručky k rôznym nástrojom, ktoré chcete používať.
  • Môže byť dobrou voľbou vytvoriť úplne nový oddiel pre vývoj operačného systému.
  • Skontrolujte potenciálne zablokovania a ďalšie chyby alebo chyby. Chyby, zablokovania a ďalšie problémy ovplyvnia váš projekt operačného systému.
  • Ďalšie informácie nájdete v týchto zdrojoch:
    • Príručka: Linux od nuly
    • Správca zavádzania: GRUB
    • Virtualizačné aplikácie: Bochs, VM Ware, XM Virtual Box.
    • Príručky k procesoru: Príručky Intel
    • Stránky pre vývoj OS: OSDev, OSDever

Varovania

  • Za dva týždne nebudete mať kompletný systém. Začnite operačným systémom, ktorý sa dá zaviesť, a potom pokračujte k super veciam.
  • Ak urobíte niečo skutočne hlúpe, ako napríklad zápis náhodných bajtov na náhodné I / O porty, „havarujete“ váš OS a mohol by (teoreticky) poškodiť váš hardvér. Na ukážku spustite program „cat / dev / port“ v systéme Linux ako používateľ root. Váš počítač „spadne“.
  • Nezabudnite implementovať bezpečnostné funkcie ako svoju najvyššiu prioritu, ak chcete operačný systém kedykoľvek použiť.
  • Neopatrné napísanie operačného systému na pevný disk ho môže úplne poškodiť. Buď opatrný.
  • Nečakajte, že vývoj vhodného operačného systému bude ľahká úloha. Často existujú zložité vzájomné závislosti. Napríklad, aby bol operačný systém schopný pracovať s viacerými procesormi, vaša správa pamäte bude musieť mať mechanizmy „uzamknutia“, 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 alebo organizátora, ktorý zabezpečí, aby ku kritickému prostriedku v danom okamihu pristupoval iba jeden procesor a aby boli všetky ostatné pozastavené. Tento plánovač závisí od prítomnosti programu Memory Manager. Toto je prípad zablokovania alebo závislosti na zablokovaní. Neexistuje štandardný spôsob riešenia problémov, ako je tento, každý programátor operačného systému musí mať potrebné zručnosti, aby si mohol vytvoriť svoj vlastný spôsob riešenia.

Potrebné materiály

  • Dobrý počítač
  • Procesor architektúry, pre ktorý chcete vyvinúť
  • Dostatok pamäte RAM pre virtuálny stroj
  • „Hostiteľský“ operačný systém (používaný na vývoj zdrojového kódu Assemblera (a ďalších), ako aj na jeho kompiláciu a zabalenie v počiatočných fázach; nakoniec môže byť vaším vlastným hostiteľom váš vlastný operačný systém)
  • Editor kódov so syntaxou farieb (použite, ak nemáte IDE)
  • Kompilátor
  • Disketová jednotka (nie je nutná)

Ako nakŕmiť šteniatka

Charles Brown

Smieť 2024

Prinieť domov šteňa môže byť veľa zábavy, ale aj veľa práce. Je dôležité poznať právne množtvo jedla, ktoré a muí podať, aby zotal šťatný a zdravý. Št...

Tento článok vá naučí, ako zitiť, kedy a váš priateľ napoledy prihláil na Facebook. Ak a odhláil z četu, nemuí byť možné tieto informácie overiť. Otvorte a...

Nedávne Články