Kako napraviti operacijski sustav računala: 13 koraka (sa slikama)

Sadržaj:

Kako napraviti operacijski sustav računala: 13 koraka (sa slikama)
Kako napraviti operacijski sustav računala: 13 koraka (sa slikama)

Video: Kako napraviti operacijski sustav računala: 13 koraka (sa slikama)

Video: Kako napraviti operacijski sustav računala: 13 koraka (sa slikama)
Video: Kako instalirati skype i napraviti skype profil? 2024, Travanj
Anonim

Ovaj wikiHow vas uči kako planirati i razvijati operacijski sustav ako ne znate kodirati u C ili C ++. Operacijski sustavi upravljaju računalnim hardverom i pružaju resurse potrebne za pokretanje aplikacija. Za pisanje operacijskog sustava od nule potrebno je snažno poznavanje informatike, programskog jezika poput C ili C ++, montaže i prakse upravljanja kodom.

Koraci

1. dio od 2: Učenje osnova

Napravite operacijski sustav računala Korak 1
Napravite operacijski sustav računala Korak 1

Korak 1. Uzmite neke osnovne tečajeve računalnih znanosti

Za razliku od razvoja za web, stvaranje operacijskog sustava zahtijeva dobro razumijevanje algoritama, struktura podataka, računalnog hardvera i upravljanja resursima. Ljudi dobivaju diplome iz ove oblasti, pa ne očekujte da ćete nakon čitanja mrežnog vodiča napisati cijeli operacijski sustav! Harvardov Uvod u računalne znanosti dostupan je putem EDX -a bez ikakvih troškova.

Napravite operacijski sustav računala 2. korak
Napravite operacijski sustav računala 2. korak

Korak 2. Naučite programski jezik na visokoj razini poput Pythona

Nakon što steknete temeljno temeljno razumijevanje informatike, sljedeći je korak svladavanje jezika C i/ili C ++. Poput učenja računalnih znanosti, svladavanje jezika nije izborno-nećete moći kodirati operativni sustav ako ne možete pisati solidne aplikacije.

Ako ste novi u C, pogledajte tečaj Dartmouth C programiranje: početak rada, koji je besplatan putem EDX -a. Nakon što završite taj tečaj, možete krenuti na sljedeći tečaj u nizu: C Programiranje: jezične osnove. Zatim prijeđite na sljedeće tečajeve poput modularnog programiranja i upravljanja memorijom te pokazivača i upravljanja memorijom

Napravite operacijski sustav računala Korak 4
Napravite operacijski sustav računala Korak 4

Korak 3. Naučite jezik montaže

Asemblerski jezici su jezici niske razine namijenjeni komunikaciji s različitim procesorima. Budući da je sklop različit za različite vrste procesora (npr. X86 jezik za montažu za Intel, AMD, VIA i druge procesore), morat ćete naučiti verziju za vrstu procesora za koji kodirate.

  • Ova knjiga otvorenog koda, ako se čita u cijelosti, može vam dati dovoljno čvrsto razumijevanje za izgradnju operacijskog sustava.
  • Art of Assembly Language je visoko preporučena knjiga o montaži dostupna i na mreži i izvan nje.
  • Također biste trebali dosta istražiti o tipu procesora na kojem bi trebao raditi vaš operacijski sustav. Priručnici za arhitekturu procesora lako se mogu pronaći pomoću Google pretraživanja ("Intel priručnici", "ARM priručnici" itd.).
Napravite operacijski sustav računala Korak 5
Napravite operacijski sustav računala Korak 5

Korak 4. Dovršite vodič za operacijski sustav

Vodiči za OS provest će vas kroz proces stvaranja osnovnog operacijskog sustava. Ovo vas navikava na proces i pomaže vam da shvatite postoje li neki dijelovi koji vam nedostaju. Nakon što završite jedan ili dva vodiča, bit ćete na dobrom putu da stvorite vlastiti operativni sustav.

  • Bare Bones je vodič koji vam pomaže da napišete svoju prvu jednostavnu 32-bitnu jezgru. Nakon završetka vodiča, sljedeći korak je korištenje Meaty Skeletona za strukturiranje vlastitog operacijskog sustava.
  • Linux iz Scratcha je internetska knjiga koja vas vodi kroz stvaranje vlastitog operacijskog sustava Linux.
  • Operacijski sustavi od 0 do 1 besplatna su knjiga o stvaranju različitih operativnih sustava od početka do kraja.
Napravite operacijski sustav računala Korak 3
Napravite operacijski sustav računala Korak 3

Korak 5. Odredite ciljeve svog operacijskog sustava

Što želite da vaš operacijski sustav radi? Kako bi to trebalo izgledati? Trebate li doista napisati cijeli operacijski sustav ili samo želite stvoriti određeni izgled za svoju radnu površinu? Sve su to stvari koje morate uzeti u obzir prije početka kodiranja.

  • Razmislite o razvoju s timom drugih programera. Tim programera koji radi na projektu značajno će skratiti vrijeme razvoja.
  • Dodajte svoje ciljeve projekta, planove i pitanja u svoje javno spremište kako bi vam drugi mogli pomoći.

Dio 2 od 2: Izgradnja vašeg operacijskog sustava

Zabavite se uz računalo Korak 16
Zabavite se uz računalo Korak 16

Korak 1. Odaberite razvojno okruženje

Ovo je platforma koju ćete koristiti za kodiranje svog novog operativnog sustava. To je stvar osobnih preferencija, ali većina ljudi koristi Windows ili okus UNIX -a. Ako koristite Windows, dobra je ideja instalirati UNIX okruženje poput Cygwina ili MinGW -a. Općenito ćete htjeti biti sigurni da bilo koje okruženje koje koristite uključuje sljedeće:

  • GCC (Gnu prevoditelj). Ako koristite Windows, možete ga instalirati u Cygwin ili MinGW.
  • Binutils je zbirka alata koji se koriste za manipulaciju objektnim datotekama. Opet, ako koristite Windows, možete ga instalirati u Cygwin.
  • Dobar uređivač teksta. Vim i emacs obično se koriste u UNIX okruženjima. Korisnici sustava Windows mogu koristiti Notepad ili provjeriti Notepad ++ radi nadogradnje s više kartica.
  • Perl i/ili Python. Za manipulaciju nizovima preporučuje se jedno ili oboje.
Napravite operacijski sustav računala Korak 13
Napravite operacijski sustav računala Korak 13

Korak 2. Postavite svoj sustav kontrole verzija

Pisanje operacijskog sustava znači da ćete vjerojatno stvoriti stotine (ili tisuće!) Redaka koda. Kada radite na revizijama, to može postati zbunjujuće. Neke od opcija za provjeru su CVS, Mercurial i Subversion.

Napravite operacijski sustav računala Korak 6
Napravite operacijski sustav računala Korak 6

Korak 3. Odlučite se za bootloader

Ako ne želite stvoriti vlastiti, možete upotrijebiti postojeći, poput Grand Unified Bootloader -a (GRUB). Ako se osjećate dovoljno odvažni za kodiranje pokretačkog programa, provjerite Rolling Your Own Bootloader na OSDev.org.

Napravite operacijski sustav računala Korak 9
Napravite operacijski sustav računala Korak 9

Korak 4. Odaberite dizajn jezgre

Jezgra je jezgra vašeg operacijskog sustava i pruža sučelje između korisnika i hardvera računala. Postoje monolitne jezgre i mikro jezgre. Monolitne jezgre implementiraju sve usluge u jezgri, dok mikro jezgre imaju malu jezgru u kombinaciji s korisničkim demonima koji implementiraju usluge. Općenito, monolitna jezgra su brža, ali mikro jezgre imaju bolju izolaciju grešaka i pouzdanost.

Napravite operacijski sustav računala Korak 12
Napravite operacijski sustav računala Korak 12

Korak 5. Počnite s malim

Počnite s malim stvarima poput prikaza teksta i prekida prije nego prijeđete na stvari poput upravljanja memorijom i višezadaćnosti. Također možete pokušati napraviti jednostavan 16-bitni operacijski sustav, umjesto da napravite veliki korak.

Za dva tjedna nećete imati potpuni sustav. Počnite s OS -om koji se pokreće, a zatim prijeđite na cool stvari

Napravite operacijski sustav računala Korak 14
Napravite operacijski sustav računala Korak 14

Korak 6. Testirajte svoj novi operativni sustav s virtualnim strojem

Umjesto ponovnog pokretanja računala svaki put kada napravite izmjene ili morate prenijeti datoteke s razvojnog računala na testni stroj, upotrijebite aplikaciju virtualnog stroja. VMWare je uobičajena opcija koja radi i s Windowsima i s Linuxom, pa tako i s Bochsom. Provjerite ima li zastoja i drugih grešaka te ih po potrebi popravite.

Napravite operacijski sustav računala Korak 15
Napravite operacijski sustav računala Korak 15

Korak 7. Otpustite kandidata za otpuštanje

To možete učiniti učitavanjem testiranog koda u svoje javno spremište. To će omogućiti ljudima da testiraju vaš operacijski sustav i izvještavaju o svim problemima na koje naiđu.

Zabavite se uz računalo Korak 28
Zabavite se uz računalo Korak 28

Korak 8. Povežite se s drugim programerima operacijskih sustava

Cijela zajednica programera operativnih sustava okuplja se na raznim forumima, uključujući /r /osdev na Redditu i razmjeni softverskog inženjeringa. Ako ste shvatili razvoj osnovnog operacijskog sustava, pročitajte postojeće postove da vidite kakve se stvari pojavljuju tijekom razvojnog procesa.

Video - Korištenjem ove usluge neki se podaci mogu podijeliti s YouTubeom

Savjeti

  • Svakako primijenite sigurnosne značajke kao svoj najveći prioritet ako ikada želite da vaš sustav bude održiv.
  • Nakon što se sav razvoj dovrši, odlučite želite li kôd objaviti kao open source ili vlasnički.
  • Da bi operacijski sustav mogao rukovati s više procesora, vaš Upravitelj memorije mora imati postavljene mehanizme "zaključavanja" kako bi spriječio više procesora u pristupu istom resursu u isto vrijeme. "Zaključavanja" koja se koriste za to zahtijevat će prisutnost raspoređivača kako bi se osiguralo da samo jedan procesor pristupa kritičnom resursu u bilo kojem trenutku, a svi ostali čekaju. No, raspoređivač ovisi o prisutnosti Upravitelja memorije. Ovo je slučaj slijepe ovisnosti. Ne postoji standardni način rješavanja ovakvih problema; kao programer, od vas se očekuje da budete dovoljno vješti da shvatite vlastiti način rješavanja toga.
  • Operativni sustav također može biti prilagođen korisniku. Dodajte značajke prilagođene korisniku, čineći ih sastavnim dijelom vašeg dizajna.
  • Ne pridružujte se forumima OSDev.org i početi postavljati očita pitanja. To će jednostavno rezultirati "Pročitaj priručnik" odgovori. Pokušajte pročitati Wikipediju i priručnike za razne alate koje želite koristiti.
  • Ne počinji projekt operacijskog sustava za početak učenja programiranja. Ako već ne poznajete C, C ++, Pascal ili neki drugi prikladan jezik iznutra, uključujući manipulaciju pokazivačem, bitnu manipulaciju na niskoj razini, pomak bitova, ugrađeni jezik montaže itd., Niste spremni za razvoj operacijskog sustava.
  • Ako učinite nešto loše, poput pisanja nasumičnih bajtova na slučajne I/O portove, srušit ćete svoj OS i (teoretski) možete ispržiti svoj hardver.

Preporučeni: