Kaip sukurti kompiuterio operacinę sistemą: 13 žingsnių (su paveikslėliais)

Turinys:

Kaip sukurti kompiuterio operacinę sistemą: 13 žingsnių (su paveikslėliais)
Kaip sukurti kompiuterio operacinę sistemą: 13 žingsnių (su paveikslėliais)

Video: Kaip sukurti kompiuterio operacinę sistemą: 13 žingsnių (su paveikslėliais)

Video: Kaip sukurti kompiuterio operacinę sistemą: 13 žingsnių (su paveikslėliais)
Video: Kaip sukurti BOOT USB Win/Linux sistemai? // How to make BOOT USB for Win/Linux? 2024, Balandis
Anonim

Šis „wikiHow“moko jus planuoti ir kurti operacinę sistemą, jei nežinote, kaip koduoti C arba C ++. Operacinės sistemos tvarko kompiuterio aparatūrą ir suteikia išteklius, kurių reikia programoms paleisti. Norint parašyti operacinę sistemą nuo nulio, reikia gerai išmanyti informatiką, programavimo kalbą, tokią kaip C arba C ++, surinkimo ir kodo valdymo praktiką.

Žingsniai

1 dalis iš 2: Pagrindų mokymasis

Sukurkite kompiuterio operacinę sistemą 1 veiksmas
Sukurkite kompiuterio operacinę sistemą 1 veiksmas

Žingsnis 1. Išbandykite keletą pagrindinių informatikos kursų

Priešingai nei kuriant žiniatinkliui, kuriant operacinę sistemą reikia gerai išmanyti algoritmus, duomenų struktūras, kompiuterinę techniką ir išteklių valdymą. Žmonės įgyja žinių apie tai, todėl nesitikėkite, kad perskaitę internetinę mokymo programą parašysite visą operacinę sistemą! Harvardo įvadas į kompiuterių mokslus yra nemokamas, prieinamas internetu per EDX.

Sukurkite kompiuterio operacinę sistemą 2 veiksmas
Sukurkite kompiuterio operacinę sistemą 2 veiksmas

2 žingsnis. Išmokite aukšto lygio programavimo kalbos, pvz., „Python“

Kai turėsite tvirtą pagrindą informatikos srityje, kitas žingsnis yra įsisavinti C ir (arba) C ++. Kaip ir mokytis apie informatiką, kalbos mokėjimas nėra neprivalomas-negalėsite koduoti operacinės sistemos, jei negalėsite rašyti tvirtų programų.

Jei esate visiškai naujas „C“, peržiūrėkite „Dartmouth C“programavimo: darbo pradžios kursą, kuris yra nemokamas naudojant EDX. Baigę šį kursą, galite pereiti į kitą kursą: C programavimas: kalbos pagrindai. Tada pereikite prie tolesnių kursų, tokių kaip modulinis programavimas ir atminties valdymas bei rodyklės ir atminties valdymas

Sukurkite kompiuterio operacinę sistemą 4 veiksmas
Sukurkite kompiuterio operacinę sistemą 4 veiksmas

Žingsnis 3. Išmokite surinkimo kalbą

Surinkimo kalbos yra žemo lygio kalbos, skirtos bendrauti su skirtingais procesoriais. Kadangi skirtingų tipų procesorių surinkimas yra skirtingas (pvz., „Intel“, AMD, VIA ir kitų procesorių x86 surinkimo kalba), turėsite sužinoti koduojamo procesoriaus tipo versiją.

  • Ši atviro kodo knyga, jei ji perskaityta visa, gali suteikti pakankamai tvirto supratimo, kaip sukurti operacinę sistemą.
  • Asamblėjos kalbos menas yra labai rekomenduojama knyga apie surinkimą, prieinamą tiek internete, tiek neprisijungus.
  • Taip pat turėtumėte daug ištirti, kokio tipo procesorius (-iai) turėtų veikti jūsų operacinėje sistemoje. Procesoriaus architektūros vadovus galima lengvai rasti naudojant „Google“paiešką („Intel“vadovai, „ARM vadovai“ir kt.).
Sukurkite kompiuterio operacinę sistemą 5 veiksmas
Sukurkite kompiuterio operacinę sistemą 5 veiksmas

Žingsnis 4. Užbaikite operacinės sistemos vadovėlį

OS vadovėliai padės jums sukurti pagrindinę operacinę sistemą. Tai pripranta prie proceso ir padeda išsiaiškinti, ar trūksta dalių. Baigę vieną ar dvi pamokas, galėsite pradėti kurti savo operacinę sistemą.

  • „Bare Bones“yra pamoka, padedanti parašyti pirmąjį paprastą 32 bitų branduolį. Baigę pamoką, kitas žingsnis yra naudoti „Meaty Skeleton“, kad sukurtumėte savo operacinę sistemą.
  • „Linux from Scratch“yra internetinė knyga, kurioje aprašoma, kaip sukurti savo „Linux“operacinę sistemą.
  • Operacinės sistemos nuo 0 iki 1 yra nemokama knyga apie įvairių operacinių sistemų kūrimą nuo pradžios iki pabaigos.
Sukurkite kompiuterio operacinę sistemą 3 veiksmas
Sukurkite kompiuterio operacinę sistemą 3 veiksmas

Žingsnis 5. Išsiaiškinkite savo operacinės sistemos tikslus

Ką norite, kad veiktų jūsų operacinė sistema? Kaip tai turėtų atrodyti? Ar jums tikrai reikia parašyti visą operacinę sistemą, ar tiesiog norite sukurti tam tikrą darbalaukio išvaizdą? Visa tai reikia apsvarstyti prieš pradedant koduoti.

  • Apsvarstykite galimybę kurti kartu su kitų programuotojų komanda. Kūrėjų komanda, dirbanti prie projekto, žymiai sutrumpins kūrimo laiką.
  • Pridėkite savo projekto tikslus, planus ir klausimus prie viešos saugyklos, kad kiti galėtų jums padėti.

2 dalis iš 2: Operacinės sistemos kūrimas

Pasimėgaukite kompiuteriu 16 žingsnis
Pasimėgaukite kompiuteriu 16 žingsnis

Žingsnis 1. Pasirinkite kūrimo aplinką

Tai platforma, kurią naudosite koduodami naują operacinę sistemą. Tai yra asmeninių pageidavimų klausimas, tačiau dauguma žmonių naudoja „Windows“arba „UNIX“skonį. Jei naudojate „Windows“, patartina įdiegti tokią UNIX aplinką kaip „Cygwin“ar „MinGW“. Paprastai norėsite įsitikinti, kad bet kurioje jūsų naudojamoje aplinkoje yra šie dalykai:

  • GCC (Gnu kompiliatorius). Jei naudojate „Windows“, galite ją įdiegti „Cygwin“arba „MinGW“.
  • „Binutils“yra įrankių rinkinys, naudojamas manipuliuoti objektų failais. Vėlgi, jei naudojate „Windows“, galite ją įdiegti „Cygwin“.
  • Geras teksto redaktorius. „Vim“ir „emacs“dažniausiai naudojami UNIX aplinkoje. „Windows“vartotojai gali naudoti „Notepad“arba patikrinti „Notepad ++“, kad atnaujintų kelis skirtukus.
  • „Perl“ir (arba) „Python“. Manipuliacijai eilutėmis rekomenduojama viena arba abi.
Sukurkite kompiuterio operacinę sistemą 13 veiksmas
Sukurkite kompiuterio operacinę sistemą 13 veiksmas

Žingsnis 2. Nustatykite versijos valdymo sistemą

Jei rašysite operacinę sistemą, greičiausiai sukursite šimtus (ar tūkstančius!) Kodo eilučių. Kai dirbate su taisymais, tai gali būti painu. Kai kurios patikros galimybės yra CVS, „Mercurial“ir „Subversion“.

Sukurkite kompiuterio operacinę sistemą 6 veiksmas
Sukurkite kompiuterio operacinę sistemą 6 veiksmas

Žingsnis 3. Nuspręskite įkrovos tvarkyklę

Jei nenorite sukurti savo, galite naudoti esamą, pvz., „Grand Unified Bootloader“(GRUB). Jei jaučiatės pakankamai drąsus koduoti įkrovos tvarkyklę, peržiūrėkite OSDev.org svetainę „Rolling Your Own Bootloader“.

Sukurkite kompiuterio operacinę sistemą 9 veiksmas
Sukurkite kompiuterio operacinę sistemą 9 veiksmas

Žingsnis 4. Pasirinkite branduolio dizainą

Branduolys yra jūsų operacinės sistemos pagrindas, užtikrinantis sąsają tarp vartotojo ir kompiuterio aparatūros. Yra monolitiniai branduoliai ir mikro branduoliai. Monolitiniai branduoliai įgyvendina visas branduolio paslaugas, o mikro branduoliai turi nedidelį branduolį kartu su vartotojų demonų diegimo paslaugomis. Apskritai, monolitiniai branduoliai yra greitesni, tačiau mikro branduoliai turi geresnę gedimų izoliaciją ir patikimumą.

Sukurkite kompiuterio operacinę sistemą 12 veiksmas
Sukurkite kompiuterio operacinę sistemą 12 veiksmas

Žingsnis 5. Pradėkite nuo mažų

Pradėkite nuo mažų dalykų, tokių kaip teksto rodymas ir pertraukos, prieš pereidami prie tokių dalykų kaip atminties valdymas ir daugiafunkcinis darbas. Taip pat galite pabandyti sukurti paprastą 16 bitų operacinę sistemą, o ne padaryti didelį šuolį.

Per dvi savaites neturėsite visos sistemos. Pradėkite nuo OS, kuri paleidžiama, tada pereikite prie įdomių dalykų

Sukurkite kompiuterio operacinę sistemą 14 veiksmas
Sukurkite kompiuterio operacinę sistemą 14 veiksmas

Žingsnis 6. Išbandykite naują operacinę sistemą naudodami virtualią mašiną

Užuot perkrovę kompiuterį kiekvieną kartą, kai atliekate pakeitimus arba turite perkelti failus iš kūrimo kompiuterio į bandomąją mašiną, naudokite virtualios mašinos programą. „VMWare“yra įprasta parinktis, kuri veikia tiek su „Windows“, tiek su „Linux“, taip pat su „Bochs“. Patikrinkite galimas aklavietes ir kitas klaidas ir, jei reikia, jas pataisykite.

Sukurkite kompiuterio operacinę sistemą 15 veiksmas
Sukurkite kompiuterio operacinę sistemą 15 veiksmas

Žingsnis 7. Išleiskite kandidatą į leidimą

Tai galite padaryti įkėlę išbandytą kodą į viešąją saugyklą. Tai leis žmonėms išbandyti jūsų operacinę sistemą ir pranešti apie bet kokias problemas, su kuriomis jie susiduria.

Pasimėgaukite kompiuteriu 28 žingsnis
Pasimėgaukite kompiuteriu 28 žingsnis

Žingsnis 8. Tinklas su kitais operacinių sistemų kūrėjais

Visa operacinių sistemų kūrėjų bendruomenė susirenka įvairiuose forumuose, įskaitant /r /osdev „Reddit“ir „Software Engineering Stack Exchange“. Kai supratote, kaip sukurti pagrindinę operacinę sistemą, perskaitykite esamus įrašus, kad pamatytumėte, kokie dalykai atsiranda kūrimo proceso metu.

Vaizdo įrašas - naudojant šią paslaugą kai kuri informacija gali būti bendrinama su „YouTube“

Patarimai

  • Jei kada nors norite, kad jūsų sistema būtų gyvybinga, būtinai įgyvendinkite saugos funkcijas.
  • Baigę kurti, nuspręskite, ar norite išleisti kodą kaip atvirojo kodo, ar patentuotą.
  • Kad operacinė sistema galėtų valdyti kelis procesorius, jūsų atminties tvarkyklė turi turėti „užrakinimo“mechanizmus, kad keli procesoriai negalėtų vienu metu pasiekti to paties šaltinio. Tam naudojamos „spynos“turės turėti planuotoją, kuris užtikrintų, kad tik vienas procesorius bet kuriuo metu pasiektų svarbius išteklius, o visi kiti būtų priversti laukti. Tačiau planuotojas priklauso nuo atminties tvarkyklės buvimo. Tai yra aklavietės priklausomybės atvejis. Nėra standartinio tokio problemų sprendimo būdo; kaip programuotojas, tikimasi, kad būsite pakankamai įgudęs, kad suprastumėte savo būdą, kaip su juo susidoroti.
  • Operacinė sistema taip pat gali būti patogi vartotojui. Įsitikinkite, kad pridėjote patogias funkcijas, todėl tai yra neatskiriama jūsų dizaino dalis.
  • Neprisijunk OSDev.org forumus ir pradėkite užduoti akivaizdžius klausimus. Tai tiesiog duos rezultatų "Skaitykite vadovą" atsakymus. Turėtumėte pabandyti perskaityti „Wikipedia“ir įvairių norimų naudoti įrankių vadovus.
  • Nepradėk operacinės sistemos projektą, skirtą pradėti mokytis programavimo. Jei dar nemokate C, C ++, Pascal ar kitos tinkamos kalbos, įskaitant manipuliavimą rodyklėmis, žemo lygio bitų manipuliavimą, bitų perkėlimą, įterptąją surinkimo kalbą ir kt., Nesate pasirengę kurti operacinės sistemos.
  • Jei padarysite ką nors neapgalvoto, pvz., Įrašysite atsitiktinius baitus į atsitiktinius įvesties/išvesties prievadus, sužlugs jūsų OS ir (teoriškai) galėsite kepti aparatinę įrangą.

Rekomenduojamas: