Kā izveidot datora operētājsistēmu: 13 soļi (ar attēliem)

Satura rādītājs:

Kā izveidot datora operētājsistēmu: 13 soļi (ar attēliem)
Kā izveidot datora operētājsistēmu: 13 soļi (ar attēliem)

Video: Kā izveidot datora operētājsistēmu: 13 soļi (ar attēliem)

Video: Kā izveidot datora operētājsistēmu: 13 soļi (ar attēliem)
Video: How to Install Ubuntu - Step by Step Tutorial 2024, Aprīlis
Anonim

Šajā vietnē wikiHow tiek mācīts, kā plānot un izstrādāt operētājsistēmu, ja nezināt, kā kodēt C vai C ++. Operētājsistēmas pārvalda datoru aparatūru un nodrošina resursus, kas nepieciešami lietojumprogrammām. Lai rakstītu operētājsistēmu no nulles, ir nepieciešama spēcīga datorzinātņu pārzināšana, programmēšanas valoda, piemēram, C vai C ++, montāža un koda pārvaldības prakse.

Soļi

1. daļa no 2: Pamatu apguve

Izveidojiet datora operētājsistēmu 1. darbība
Izveidojiet datora operētājsistēmu 1. darbība

1. solis. Apmeklējiet dažus datorzinātņu pamatkursus

Atšķirībā no izstrādes tīmeklim, operētājsistēmas izveidei ir nepieciešama laba algoritmu, datu struktūru, datoru aparatūras un resursu pārvaldības izpratne. Cilvēki iegūst grādu šajā lietā, tāpēc negaidiet, ka pēc tiešsaistes apmācības izlasīšanas uzrakstīsit visu operētājsistēmu! Hārvardas datorzinātņu ievadkurss ir pieejams tiešsaistē, izmantojot EDX bez maksas.

Izveidojiet datora operētājsistēmu 2. darbība
Izveidojiet datora operētājsistēmu 2. darbība

2. solis. Apgūstiet augsta līmeņa programmēšanas valodu, piemēram, Python

Kad esat ieguvis pamatīgu izpratni par datorzinātnēm, nākamais solis ir apgūt C un/vai C ++. Tāpat kā datorzinātņu apgūšana, valodas apguve nav obligāta-jūs nevarēsit kodēt operētājsistēmu, ja nevarat rakstīt stabilas lietojumprogrammas.

Ja esat jauns C lietotājs, iepazīstieties ar Dartmutas kursu C programmēšana: darba sākšana, kas ir bezmaksas, izmantojot EDX. Kad esat pabeidzis šo kursu, varat apgūt nākamo sērijas kursu: C Programming: Language Foundations. Pēc tam pārejiet pie nākamajiem kursiem, piemēram, moduļu programmēšana un atmiņas pārvaldība un norādes un atmiņas pārvaldība

Izveidojiet datora operētājsistēmu 4. darbība
Izveidojiet datora operētājsistēmu 4. darbība

Solis 3. Uzziniet montāžas valodu

Montāžas valodas ir zema līmeņa valodas, kas paredzētas saziņai ar dažādiem procesoriem. Tā kā montāža dažādiem procesoru tipiem ir atšķirīga (piemēram, x86 montāžas valoda Intel, AMD, VIA un citiem procesoriem), jums jāapgūst kodējamā procesora tipa versija.

  • Šī atvērtā pirmkoda grāmata, ja tā tiek izlasīta pilnībā, var sniegt jums pietiekami skaidru izpratni par operētājsistēmas izveidi.
  • Asamblejas valodas māksla ir ļoti ieteicama grāmata par montāžu, kas pieejama gan tiešsaistē, gan bezsaistē.
  • Jums vajadzētu arī daudz izpētīt procesora tipu, ar kuru jūsu operētājsistēmai vajadzētu darboties. Procesora arhitektūras rokasgrāmatas var viegli atrast, izmantojot Google meklēšanu ("Intel rokasgrāmatas", "ARM rokasgrāmatas" utt.).
Izveidojiet datora operētājsistēmu 5. darbība
Izveidojiet datora operētājsistēmu 5. darbība

4. solis. Pabeigt operētājsistēmas apmācību

OS pamācības palīdzēs jums izveidot pamata operētājsistēmu. Tas pieradina jūs pie procesa un palīdz saprast, vai trūkst kādu gabalu. Kad esat pabeidzis apmācību vai divas, jūs varēsit izveidot savu operētājsistēmu.

  • Bare Bones ir apmācība, kas palīdz uzrakstīt pirmo vienkāršo 32 bitu kodolu. Pēc apmācības pabeigšanas nākamais solis ir izmantot Meaty Skeleton, lai strukturētu savu operētājsistēmu.
  • Linux no Scratch ir tiešsaistes grāmata, kas palīdz jums izveidot savu Linux operētājsistēmu.
  • Operētājsistēmas no 0 līdz 1 ir bezmaksas grāmata par dažādu operētājsistēmu izveidi no sākuma līdz beigām.
Izveidojiet datora operētājsistēmu 3. darbība
Izveidojiet datora operētājsistēmu 3. darbība

5. solis. Noskaidrojiet savus operētājsistēmas mērķus

Ko jūs vēlaties, lai jūsu operētājsistēma darītu? Kā tam vajadzētu izskatīties? Vai jums tiešām ir jāraksta visa operētājsistēma, vai arī jūs vienkārši vēlaties izveidot noteiktu izskatu darbvirsmai? Šīs ir visas lietas, kas jāņem vērā, pirms sākat kodēt.

  • Apsveriet iespēju attīstīties kopā ar citu programmētāju komandu. Izstrādātāju komanda, kas strādā pie projekta, ievērojami samazinās izstrādes laiku.
  • Pievienojiet savus projekta mērķus, plānus un jautājumus savai publiskajai krātuvei, lai citi varētu jums viegli palīdzēt.

2. daļa no 2: Operētājsistēmas izveide

Izklaidējieties ar datoru 16. solis
Izklaidējieties ar datoru 16. solis

Solis 1. Izvēlieties attīstības vidi

Šī ir platforma, kuru izmantosit jaunās operētājsistēmas kodēšanai. Tas ir personisko vēlmju jautājums, taču lielākā daļa cilvēku izmanto Windows vai UNIX. Ja izmantojat Windows, ieteicams instalēt UNIX vidi, piemēram, Cygwin vai MinGW. Parasti vēlaties pārliecināties, vai jebkurā jūsu izmantotajā vidē ir iekļauts:

  • GCC (Gnu kompilators). Ja izmantojat Windows, varat to instalēt Cygwin vai MinGW.
  • Binutils ir rīku kolekcija, ko izmanto, lai manipulētu ar objektu failiem. Atkal, ja izmantojat Windows, varat to instalēt vietnē Cygwin.
  • Labs teksta redaktors. VIM un emacs parasti tiek izmantoti UNIX vidēs. Windows lietotāji var izmantot Notepad vai apskatīt Notepad ++, lai jauninātu vairākas cilnes.
  • Perl un/vai Python. Stīgu manipulācijām ieteicams izmantot vienu vai abus.
Izveidojiet datora operētājsistēmu 13. darbība
Izveidojiet datora operētājsistēmu 13. darbība

2. darbība. Iestatiet versiju kontroles sistēmu

Operētājsistēmas rakstīšana nozīmē, ka jūs, visticamāk, izveidosit simtiem (vai tūkstošiem!) Koda rindu. Strādājot pie pārskatīšanas, tas var kļūt mulsinoši. Dažas pārbaudāmās iespējas ir CVS, Mercurial un Subversion.

Izveidojiet datora operētājsistēmu 6. darbība
Izveidojiet datora operētājsistēmu 6. darbība

3. solis. Izlemiet par sāknēšanas programmu

Ja nevēlaties izveidot savu, varat izmantot esošu, piemēram, Grand Unified Bootloader (GRUB). Ja jūtaties pietiekami drosmīgs, lai kodētu sāknēšanas ielādētāju, skatiet vietni OSDev.org vietnē Rolling Your Own Bootloader.

Izveidojiet datora operētājsistēmu 9. darbība
Izveidojiet datora operētājsistēmu 9. darbība

4. solis. Izvēlieties kodola dizainu

Kodols ir jūsu operētājsistēmas kodols, nodrošinot saskarni starp lietotāju un datora aparatūru. Ir monolīti kodoli un mikro kodoli. Monolītie kodoli realizē visus kodola pakalpojumus, savukārt mikrokodoliem ir mazs kodols apvienojumā ar lietotāju dēmonu ieviešanas pakalpojumiem. Kopumā monolītie kodoli ir ātrāki, bet mikrokodoliem ir labāka kļūdu izolācija un uzticamība.

Izveidojiet datora operētājsistēmu 12. darbība
Izveidojiet datora operētājsistēmu 12. darbība

Solis 5. Sāciet ar mazu

Sāciet ar mazām lietām, piemēram, teksta parādīšanu un pārtraukumiem, pirms pārejat pie tādām lietām kā atmiņas pārvaldība un daudzuzdevumu veikšana. Varat arī mēģināt izveidot vienkāršu 16 bitu operētājsistēmu, nevis veikt lielu lēcienu.

Pēc divām nedēļām jums nebūs pilnas sistēmas. Sāciet ar operētājsistēmu, kas sāk darboties, un pēc tam pārejiet pie interesantajām lietām

Izveidojiet datora operētājsistēmu 14. darbība
Izveidojiet datora operētājsistēmu 14. darbība

6. darbība. Pārbaudiet savu jauno operētājsistēmu ar virtuālo mašīnu

Tā vietā, lai restartētu datoru katru reizi, kad veicat izmaiņas vai vēlaties pārsūtīt failus no izstrādes datora uz testa mašīnu, izmantojiet virtuālās mašīnas lietojumprogrammu. VMWare ir izplatīta opcija, kas darbojas gan ar Windows, gan Linux, tāpat kā Bochs. Pārbaudiet, vai nav strupceļu un citas kļūdas, un pēc vajadzības labojiet tās.

Izveidojiet datora operētājsistēmu 15. darbība
Izveidojiet datora operētājsistēmu 15. darbība

7. solis. Atlaidiet atbrīvošanas kandidātu

To var izdarīt, augšupielādējot pārbaudīto kodu savā publiskajā krātuvē. Tas ļaus cilvēkiem pārbaudīt jūsu operētājsistēmu un ziņot par visām problēmām, ar kurām viņi saskārušies.

Izklaidējieties ar datoru 28. solis
Izklaidējieties ar datoru 28. solis

8. solis. Tīkls ar citiem operētājsistēmas izstrādātājiem

Ir visa operētājsistēmu izstrādātāju kopiena, kas pulcējas dažādos forumos, tostarp /r /osdev vietnē Reddit un Software Engineering Stack Exchange. Ja esat sapratis pamata operētājsistēmas izstrādi, izlasiet esošās ziņas, lai redzētu, kādas lietas rodas izstrādes procesā.

Video - izmantojot šo pakalpojumu, daļa informācijas var tikt kopīgota ar pakalpojumu YouTube

Padomi

  • Noteikti ieviešiet drošības līdzekļus kā savu galveno prioritāti, ja kādreiz vēlaties, lai jūsu sistēma būtu dzīvotspējīga.
  • Kad visa izstrāde ir pabeigta, izlemiet, vai vēlaties atbrīvot kodu kā atvērtā koda vai patentētu.
  • Lai operētājsistēma varētu apstrādāt vairākus procesorus, jūsu atmiņas pārvaldniekā ir jābūt "bloķēšanas" mehānismiem, kas neļauj vairākiem procesoriem vienlaikus piekļūt vienam un tam pašam resursam. Šim nolūkam izmantotajām "slēdzenēm" būs nepieciešama plānotāja klātbūtne, lai pārliecinātos, ka tikai viens procesors jebkurā laikā piekļūst kritiskajam resursam un visi pārējie tiek gaidīti. Tomēr plānotājs ir atkarīgs no atmiņas pārvaldnieka klātbūtnes. Šis ir strupceļā esošas atkarības gadījums. Nav standarta veidu, kā atrisināt šādas problēmas; no programmētāja tiek gaidīts, ka esat pietiekami prasmīgs, lai izdomātu savu veidu, kā ar to tikt galā.
  • Arī operētājsistēma var būt lietotājam draudzīga. Noteikti pievienojiet lietotājam draudzīgas funkcijas, padarot tās par neatņemamu jūsu dizaina sastāvdaļu.
  • Nepievienoties OSDev.org forumos un sāciet uzdot acīmredzamus jautājumus. Tā rezultātā vienkārši "Izlasiet rokasgrāmatu" atbildes. Jums vajadzētu mēģināt izlasīt Wikipedia un dažādu rīku rokasgrāmatas, kuras vēlaties izmantot.
  • Nesāciet operētājsistēmas projekts, lai sāktu apgūt programmēšanu. Ja jūs vēl nezināt C, C ++, Pascal vai kādu citu piemērotu valodu, ieskaitot manipulācijas ar rādītājiem, zema līmeņa bitu manipulācijas, bitu nobīdi, iekļauto montāžas valodu utt., Jūs neesat gatavs operētājsistēmas izstrādei.
  • Ja jūs darāt kaut ko nepārdomātu, piemēram, rakstāt nejaušus baitus uz nejaušiem I/O portiem, jūs avarēsit operētājsistēmu un (teorētiski) varēsiet apcept jūsu aparatūru.

Ieteicams: