Kako narediti računalniški operacijski sistem (s slikami)

Kazalo:

Kako narediti računalniški operacijski sistem (s slikami)
Kako narediti računalniški operacijski sistem (s slikami)

Video: Kako narediti računalniški operacijski sistem (s slikami)

Video: Kako narediti računalniški operacijski sistem (s slikami)
Video: Сброс забытого пароля Windows (NT, 2000, XP, Vista, 7, 8, 8.1, 10 и Server) 2024, Maj
Anonim

Operacijski sistem uporabniku omogoča interakcijo s strojno opremo računalnika. Sistem je sestavljen iz več sto tisoč vrstic kode. Običajno je operacijski sistem izdelan s programskimi jeziki C#, C, C ++ in montažo. Operacijski sistem vam omogoča brskanje po računalniku, medtem ko shranjujete in izvajate ukaze. Ne mislite, da je ustvarjanje operacijskega sistema enostavno. Za njegovo izdelavo je potrebno veliko znanja.

Korak

Naredite računalniški operacijski sistem 1. korak
Naredite računalniški operacijski sistem 1. korak

Korak 1. Najprej se naučite programiranja

Sestavni jezik je zelo pomemben; zelo priporočljivo je, da se naučite drugega komplementarnega jezika na visoki ravni, kot je jezik C.

Naredite računalniški operacijski sistem 2. korak
Naredite računalniški operacijski sistem 2. korak

Korak 2. Odločite se, kateri medij želite uporabiti za nalaganje operacijskega sistema

Ta medij je lahko pogon CD, DVD pogon, bliskovni pogon, trdi disk, disketa ali drug računalnik.

Naredite računalniški operacijski sistem 3. korak
Naredite računalniški operacijski sistem 3. korak

Korak 3. Opredelite osrednjo idejo SO

Na primer, v sistemu Windows je glavna ideja enostaven za uporabo grafični vmesnik in veliko varnosti.

Ustvarite računalniški operacijski sistem 4. korak
Ustvarite računalniški operacijski sistem 4. korak

Korak 4. Določite, katero procesorsko platformo podpira vaš operacijski sistem

IA-32, ARM in x86_64 so najpogostejše platforme za osebne računalnike. Torej, vsi so vaša najboljša izbira.

Naredite računalniški operacijski sistem 5. korak
Naredite računalniški operacijski sistem 5. korak

Korak 5. Odločite se, ali raje vse naredite sami iz nič, ali je že na voljo jedro, na katerem bi želeli graditi

Linux je na primer projekt za ljudi, ki želijo zgraditi lastno distribucijo Linuxa.

Ustvarite računalniški operacijski sistem 6. korak
Ustvarite računalniški operacijski sistem 6. korak

Korak 6. Odločite se, ali boste uporabili lasten zagonski nalagalnik ali vnaprej pripravljen, na primer Grand Unified Bootloader (GRUB)

Če želite sami kodirati zagonski nalagalnik, boste potrebovali obsežno znanje o strojni opremi in BIOS -u. Posledično lahko ta korak ovira dejanski urnik programiranja jedra.

Ustvarite računalniški operacijski sistem 7. korak
Ustvarite računalniški operacijski sistem 7. korak

Korak 7. Odločite se, kateri programski jezik boste uporabili

Operacijski sistem v jeziku, kot sta Pascal ali BASIC, je v redu, vendar morate uporabiti C ali Assembly. Sestavljanje je zelo potrebno, saj to zahtevajo nekateri pomembni deli operacijskega sistema. Po drugi strani jezik C ++ vsebuje ključne besede, ki za izvajanje potrebujejo druge polne SO.

Za sestavljanje operacijskega sistema iz kode C ali C ++ boste seveda uporabili enega ali drugega prevajalnika. Zato je dobro, da si ogledate uporabniški priročnik/priročnik/dokumentacijo za prevajalnik C/C ++ po vaši izbiri, ne glede na to, ali je vključen v programsko opremo ali je na voljo na spletnem mestu distributerja. O prevajalniku morate vedeti veliko zapletenih stvari, za razvoj C ++ pa morate vedeti o shemi krmiljenja prevajalnika in njegovem ABI. Pričakuje se, da boste razumeli različne izvedljive formate (ELF, PE, COFF, osnovne binarne datoteke itd.) In razumeli, da je ekskluzivni format Windows, PE (.exe) zaščiten z avtorskimi pravicami

Ustvarite računalniški operacijski sistem 8. korak
Ustvarite računalniški operacijski sistem 8. korak

Korak 8. Določite svoj vmesnik za programiranje aplikacij (API)

Eden izmed dobrih API -jev za izbiro je POSIX, saj je dobro dokumentiran. Vsi sistemi Unix imajo vsaj delno podporo za POSIX. Zato bi morala biti povezava programov Unix z vašim operacijskim sistemom enostavna.

Ustvarite računalniški operacijski sistem 9. korak
Ustvarite računalniški operacijski sistem 9. korak

Korak 9. Odločite se za svojo zasnovo

Obstajata tako monolitno jedro kot mikro jedro. Monolitna jedra izvajajo vse storitve v jedru, medtem ko imajo mikro jedra majhna jedra, povezana s storitvami uvajanja uporabniškega demona. Na splošno so monolitna jedra hitrejša, vendar imajo mikrojedra boljšo izolacijo napak in zanesljivost.

Ustvarite računalniški operacijski sistem 10. korak
Ustvarite računalniški operacijski sistem 10. korak

Korak 10. Razmislite o razvoju in delu v skupini

Tako traja manj časa za reševanje več težav, kar bo verjetno pospešilo izgradnjo boljšega OS.

Ustvarite računalniški operacijski sistem 11. korak
Ustvarite računalniški operacijski sistem 11. korak

Korak 11. Ne obrišite trdega diska v celoti

Ne pozabite, da bo izbris pogona nepovratno izbrisal vse podatke na njem! Uporabite GRUB ali drug zagonski upravitelj, da dvakrat zaženete sistem z drugim operacijskim sistemom, dokler vaš operacijski sistem popolnoma ne deluje.

Ustvarite računalniški operacijski sistem 12. korak
Ustvarite računalniški operacijski sistem 12. korak

Korak 12. Začnite z majhnim

Začnite z majhnimi stvarmi, kot je prikaz besedila, in se ustavite, preden se lotite stvari, kot so upravljanje pomnilnika in sestavljeno delo. Poskrbite tudi za 32 -bitno in 64 -bitno različico.

Ustvarite računalniški operacijski sistem 13. korak
Ustvarite računalniški operacijski sistem 13. korak

Korak 13. Ohranite varnostno kopijo zadnje delujoče izvorne kode

Ta korak je uporaben kot zaščita v primeru, da bi šlo kaj narobe s trenutno različico SO ali razvojem. Če se računalnik zruši in se ne zažene, je dobro, da imate drugo kopijo za delo, da odpravite težavo.

Ustvarite računalniški operacijski sistem 14. korak
Ustvarite računalniški operacijski sistem 14. korak

Korak 14. Razmislite o preizkusu novega operacijskega sistema z navideznim strojem

Namesto da znova zaženete računalnik vsakič, ko naredite spremembe ali po pošiljanju datotek iz razvojnega računalnika na preskusno napravo, lahko uporabite aplikacijo navideznega stroja za zagon operacijskega sistema, medtem ko je trenutni operacijski sistem v teku. Trenutne aplikacije VM vključujejo: VMWare (ki ima tudi brezplačno na voljo strežniški izdelek), odprtokodne alternative, Bochs, Microsoft Virtual PC (ni združljiv z Linuxom) in Oracle VirtualBox.

Ustvarite računalniški operacijski sistem 15. korak
Ustvarite računalniški operacijski sistem 15. korak

Korak 15. Zaženite različico »kandidata za izdajo« ali različico beta

Ta korak vam bo omogočil, da vas uporabnik obvesti o morebitnih težavah z operacijskim sistemom.

Ustvarite računalniški operacijski sistem 16. korak
Ustvarite računalniški operacijski sistem 16. korak

Korak 16. Operacijski sistem mora biti tudi uporabniku prijazen

Dodajte uporabniku prijazne funkcije, naj bodo te sestavni del vašega oblikovanja.

Nasveti

  • Preverite morebitne zastoje in druge napake. Napake, zastoji in druga vprašanja bodo vplivala na vaš projekt izdelave operacijskega sistema.
  • Če želite, da se sistem pravilno izvaja, uporabite varnostne funkcije kot glavno prednostno nalogo.
  • S pomočjo spletnih mest, kot sta OSDev in OSDever, boste lažje razvili svoj operacijski sistem. Prosimo, upoštevajte, da bo za večino namenov skupnost OSDev.org več kot vesela, če uporabite njihov wiki in se ne pridružite forumu. Če se odločite, da se pridružite forumu, obstaja predpogoj: resnično morate poznati C ali C ++ in montažni jezik x86. Prav tako morate razumeti splošne in zapletene programske koncepte, kot so povezani seznami, čakalne vrste itd. Skupnost OSDev v svojih predpisih izrecno navaja, da njena skupnost ni ustvarjena za nego novih programerjev.
  • Ne pridružujte se s forumom OSDev.org in nato postavite očitno vprašanje. Navodilo boste prebrali le. Preberite Wikipedijo in navodila za opremo, ki jo želite uporabljati.
  • Če poskušate razviti operacijski sistem, zagotovo veljate za "boga" programiranja.
  • Prav tako bi morali prebrati priročnik za procesor za izbrano arhitekturo procesorja; ali x86 (Intel), ARM, MIPS, PPC itd. Priročnike za procesorske arhitekture je enostavno najti z Googlovim iskanjem ("Intel priročnik", "ARM priročnik" itd.).
  • Ko so vsa razvojna dela končana, se odločite, ali želite kodo izdati kot odprto kodo ali z avtorskimi pravicami.
  • Ne začni projekt operacijskega sistema za začetek učenja programiranja. Če ne veste znotraj in zunaj o C, C ++, Pascal ali kakšnem drugem ustreznem jeziku, vključno z manipulacijo kazalca, nizko-nizko manipulacijo, premikom bitov, vgrajenimi jeziki montaže itd., Niste pripravljeni na operacijski sistem razvoj.
  • Ustvarjanje popolnoma nove particije za "razširitev" SO je lahko dobra možnost.
  • Če želite enostaven način, razmislite o distribucijah Linux, kot so Fedora Revisor, Custom Nimble X, Puppy Remaster, PCLinuxOS Mk LiveCD ali SUSE Studio in SUSE KIWI. Vendar pa operacijski sistem, ki ga ustvarite, pripada podjetju, ki je prvo začelo storitev (čeprav imate pravico, da ga prosto distribuirate, spremenite in zaženete, kot želite pod GPL).

Opozorilo

  • V dveh tednih ne boste dobili celotnega operacijskega sistema. Začnite z zagonskim SO, nato pojdite na hladnejše stvari.
  • Nepazljiv zapis operacijskega sistema na trdi disk ga lahko popolnoma poškoduje. Bodi previden.
  • Če naredite nekaj, kar ni priporočljivo, na primer napišete naključne bajte na naključna V/I vrata, boste zrušili operacijski sistem in (v teoriji) bi lahko opekli vašo strojno opremo.
  • Ne pričakujte, da bo operacijski sistem enostavno sestaviti. Obstaja veliko zapletenih soodvisnosti. Če želite na primer ustvariti operacijski sistem, ki lahko upravlja več procesorjev, mora imeti vaš upravitelj pomnilnika mehanizem "zaklepanje", ki preprečuje, da bi več procesorjev hkrati dostopalo do istega vira. "Zaklepanje", uporabljeno za to, bi zahtevalo od načrtovalca, da zagotovi, da samo en procesor v vsakem trenutku dostopa do kritičnih virov, vsi drugi pa morajo počakati. Dejansko je razporejevalnik odvisen od prisotnosti upravitelja pomnilnika. To je primer odvisnosti od slepe ulice. Ni standardnega načina za reševanje tovrstnih težav; od vsakega programerja operacijskega sistema se pričakuje, da bo dovolj vešč, kako se z njim spoprijeti.

Dodatni viri

  • Smernice: Linux iz nič
  • Nalagalnik: GRUB
  • Aplikacije za virtualne stroje: Bochs, VM Ware, XM Virtual Box.
  • Priročnik za procesor: Intel priročnik
  • SO razvojna mesta: OSDev, OSDever

Priporočena: