Kaip sukurti kompiuterio operacinę sistemą (su paveikslėliais)

Turinys:

Kaip sukurti kompiuterio operacinę sistemą (su paveikslėliais)
Kaip sukurti kompiuterio operacinę sistemą (su paveikslėliais)

Video: Kaip sukurti kompiuterio operacinę sistemą (su paveikslėliais)

Video: Kaip sukurti kompiuterio operacinę sistemą (su paveikslėliais)
Video: How to Downgrade from Windows 8 to Windows 7 2024, Gruodis
Anonim

Operacinė sistema leidžia vartotojui sąveikauti su kompiuterio aparatine įranga. Sistemą sudaro šimtai tūkstančių kodo eilučių. Paprastai operacinė sistema kuriama naudojant C#, C, C ++ ir surinkimo programavimo kalbas. Operacinė sistema leidžia naršyti kompiuteryje, išsaugojant ir vykdant komandas. Nemanykite, kad sukurti operacinę sistemą yra lengva. Tam reikia daug žinių.

Žingsnis

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

1 žingsnis. Pirmiausia sužinokite apie programavimą

Asamblėjos kalba yra labai svarbi; labai rekomenduojama išmokti kitą papildomą aukšto lygio kalbą, pvz., C kalbą.

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

Žingsnis 2. Nuspręskite, kokią laikmeną norite naudoti OS įkelti

Ši laikmena gali būti kompaktinių diskų įrenginys, DVD įrenginys, „flash“įrenginys, kietasis diskas, diskelis ar kitas kompiuteris.

Sukurkite kompiuterio operacinę sistemą 3 veiksmas
Sukurkite kompiuterio operacinę sistemą 3 veiksmas

3 žingsnis. Apibrėžkite pagrindinę SO idėją

Pavyzdžiui, „Windows“pagrindinė idėja yra paprasta naudoti GUI ir daug saugumo.

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

Žingsnis 4. Nustatykite, kokią procesoriaus platformą palaikys jūsų operacinė sistema

IA-32, ARM ir x86_64 yra labiausiai paplitusios asmeninių kompiuterių platformos. Taigi, visi jie yra geriausias jūsų pasirinkimas.

Sukurkite kompiuterio operacinę sistemą 5 veiksmas
Sukurkite kompiuterio operacinę sistemą 5 veiksmas

5 žingsnis. Nuspręskite, ar norite viską daryti patys, ar jau yra branduolys, kurį norite kurti

Pavyzdžiui, „Linux“nuo nulio yra projektas žmonėms, norintiems sukurti savo „Linux“distribuciją.

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

Žingsnis 6. Nuspręskite, ar naudosite savo įkrovos įkroviklį, ar iš anksto sukurtą, pvz., „Grand Unified Bootloader“(GRUB)

Norint pačiam koduoti įkrovos tvarkyklę, reikės išsamių techninės įrangos ir BIOS žinių. Dėl to šis žingsnis gali trukdyti realiam branduolio programavimo grafikui.

Sukurkite kompiuterio operacinę sistemą 7 veiksmas
Sukurkite kompiuterio operacinę sistemą 7 veiksmas

Žingsnis 7. Nuspręskite, kokią programavimo kalbą naudoti

Gerai turėti operacinę sistemą tokia kalba kaip Pascal arba BASIC, tačiau turėtumėte naudoti C arba Assembly. Surinkimas yra labai reikalingas, nes tam reikalingos kai kurios svarbios operacinės sistemos dalys. Kita vertus, C ++ kalboje yra raktinių žodžių, kuriems paleisti reikalingas visas SO.

Norėdami sudaryti operacinę sistemą iš C arba C ++ kodo, žinoma, naudosite vieną ar kitą kompiliatorių. Todėl verta perskaityti pasirinkto C/C ++ kompiliatoriaus vartotojo vadovą/vadovą/dokumentaciją, nesvarbu, ar ji įtraukta į programinę įrangą, ar prieinama platintojo svetainėje. Turite žinoti daug sudėtingų dalykų apie kompiliatorių ir, norint plėtoti C ++, turite žinoti apie kompiliatoriaus manipuliavimo schemą ir jos ABI. Tikimasi, kad suprasite įvairius vykdomuosius formatus (ELF, PE, COFF, pagrindinį dvejetainį failą ir tt) ir suprasite, kad išskirtinis „Windows“formatas PE (.exe) yra apsaugotas autorių teisių

Sukurkite kompiuterio operacinę sistemą 8 veiksmas
Sukurkite kompiuterio operacinę sistemą 8 veiksmas

Žingsnis 8. Apibrėžkite savo programų programavimo sąsają (API)

Viena iš tinkamų API yra POSIX, nes ji yra gerai dokumentuota. Visos „Unix“sistemos turi bent dalinį „POSIX“palaikymą. Taigi „Unix“programų prijungimas prie OS turėtų būti lengvas.

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

Žingsnis 9. Nuspręskite dėl savo dizaino

Yra toks dalykas kaip monolitinis branduolys ir mikro branduolys. Monolitiniai branduoliai įgyvendina visas branduolio paslaugas, o mikro branduoliai turi mažus branduolius, sujungtus su vartotojo demonų diegimo paslaugomis. Apskritai, monolitiniai branduoliai yra greitesni, tačiau mikro branduoliai turi geresnę gedimų izoliaciją ir patikimumą.

Sukurkite kompiuterio operacinę sistemą 10 veiksmas
Sukurkite kompiuterio operacinę sistemą 10 veiksmas

Žingsnis 10. Apsvarstykite galimybę tobulėti ir dirbti komandoje

Tokiu būdu reikia mažiau laiko išspręsti daugiau problemų, o tai greičiausiai paspartins geresnės OS kūrimą.

Sukurkite kompiuterio operacinę sistemą 11 veiksmas
Sukurkite kompiuterio operacinę sistemą 11 veiksmas

11. Nevalykite kietojo disko iki galo

Atminkite, kad ištrynus diską bus negrįžtamai ištrinti visi jame esantys duomenys! Naudokite GRUB arba kitą įkrovos tvarkyklę, kad du kartus paleistumėte sistemą naudodami kitą OS, kol OS visiškai funkcionuos.

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

Žingsnis 12. Pradėkite nuo mažo

Pradėkite nuo mažų dalykų, tokių kaip teksto rodymas, ir pristabdykite, prieš pereidami prie tokių dalykų kaip atminties valdymas ir sudėtingas darbas. Taip pat įsitikinkite, kad sukūrėte 32 bitų ir 64 bitų versijas.

Sukurkite kompiuterio operacinę sistemą 13 veiksmas
Sukurkite kompiuterio operacinę sistemą 13 veiksmas

Žingsnis 13. Išsaugokite paskutinio veikiančio šaltinio kodo atsarginę kopiją

Šis žingsnis yra naudingas kaip apsauga, jei kas nors negerai su dabartine SO versija ar kūrimu. Jei kompiuteris sugenda ir neįsijungia, patartina turėti antrą egzempliorių, kad galėtumėte išspręsti problemą.

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

Žingsnis 14. Apsvarstykite galimybę išbandyti naują operacinę sistemą naudodami virtualią mašiną

Vietoj to, kad iš naujo paleistumėte kompiuterį kiekvieną kartą atlikdami pakeitimus arba išsiuntę failus iš savo kūrimo kompiuterio į bandomąją mašiną, galite naudoti virtualios mašinos programą, kad paleistumėte savo OS, kol veikia dabartinė OS. Dabartinės VM programos yra: „VMWare“(kuri taip pat turi nemokamą serverio produktą), atvirojo kodo alternatyvos, „Boch“, „Microsoft Virtual PC“(nesuderinama su „Linux“) ir „Oracle VirtualBox“.

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

Žingsnis 15. Paleiskite „kandidatą į leidimą“arba beta versiją

Šis veiksmas leis vartotojui pranešti apie galimas jūsų operacinės sistemos problemas.

Sukurkite kompiuterio operacinę sistemą 16 veiksmas
Sukurkite kompiuterio operacinę sistemą 16 veiksmas

Žingsnis 16. Operacinė sistema taip pat turėtų būti patogi vartotojui

Įsitikinkite, kad pridėjote patogias funkcijas, kad jos taptų neatskiriama jūsų dizaino dalimi.

Patarimai

  • Patikrinkite galimas aklavietes ir kitas klaidas. Klaidos, aklavietės ir kitos problemos paveiks jūsų operacinės sistemos kūrimo projektą.
  • Jei norite, kad sistema veiktų tinkamai, būtinai įgyvendinkite saugos funkcijas.
  • Norėdami sukurti savo operacinę sistemą, naudokite tokias svetaines kaip OSDev ir OSDever. Prašome atkreipti dėmesį, kad daugeliu tikslų OSDev.org bendruomenė bus labai laiminga, jei naudosite jų wiki, o ne prisijungsite prie forumo. Jei nuspręsite prisijungti prie forumo, yra išankstinė sąlyga: turite tikrai žinoti apie C arba C ++ ir x86 surinkimo kalbą. Taip pat turėtumėte suprasti bendras ir sudėtingas programavimo sąvokas, tokias kaip susieti sąrašai, eilės ir kt. OSDev bendruomenė savo nuostatuose aiškiai nurodo, kad jos bendruomenė nėra sukurta tam, kad ugdytų naujus programuotojus.
  • Neprisijunk su OSDev.org forumu ir tada užduoti akivaizdų klausimą. Jūsų bus paprašyta perskaityti tik vadovą. Perskaitykite Vikipediją ir bet kokios įrangos, kurią norite naudoti, instrukcijas.
  • Jei bandote sukurti operacinę sistemą, tikrai esate laikomas programavimo „dievu“.
  • Taip pat turėtumėte perskaityti jūsų pasirinktos procesoriaus architektūros procesoriaus vadovą; ar x86 („Intel“), ARM, MIPS, PPC ir kt. Procesorių architektūros vadovus lengva rasti naudojant „Google“paiešką („Intel“vadovas, „ARM vadovas“ir kt.).
  • Kai visi kūrimo darbai bus baigti, nuspręskite, ar norite išleisti kodą kaip atvirą kodą, ar autorių teises.
  • Nepradėkite operacinės sistemos projektas, skirtas pradėti mokytis programavimo. Jei iš vidaus ir išorės nežinote apie C, C ++, Pascal ar kitą tinkamą kalbą, įskaitant manipuliavimą rodyklėmis, žemo lygio bitų manipuliavimą, bitų perkėlimą, įterptąsias surinkimo kalbas ir kt., Nesate pasiruošę operacinei sistemai plėtrai.
  • Sukurti visiškai naują skaidinį „išplėsti“SO gali būti geras pasirinkimas.
  • Jei norite lengvo būdo, apsvarstykite „Linux“distribucijas, tokias kaip „Fedora Revisor“, „Custom Nimble X“, „Puppy Remaster“, „PCLinuxOS Mk LiveCD“arba „SUSE Studio“ir „SUSE KIWI“. Tačiau jūsų sukurta operacinė sistema priklauso įmonei, kuri pirmą kartą pradėjo paslaugą (nors jūs turite teisę laisvai ją platinti, keisti ir paleisti pagal GPL).

Įspėjimas

  • Per dvi savaites negausite visos operacinės sistemos. Pradėkite nuo įkrovos SO, tada pereikite prie vėsesnių dalykų.
  • Atsargiai įrašę operacinę sistemą į kietąjį diską galite ją visiškai sugadinti. Būk atsargus.
  • Jei darote tai, kas nerekomenduojama, pvz., Rašote atsitiktinius baitus į atsitiktinius įvesties/išvesties prievadus, sužlugdysite savo OS ir (teoriškai) galite sudeginti aparatūrą.
  • Nesitikėkite, kad operacinę sistemą lengva sukurti. Yra daug sudėtingų tarpusavio priklausomybių. Pavyzdžiui, norėdami sukurti operacinę sistemą, galinčią valdyti kelis procesorius, jūsų atminties tvarkyklė turi turėti „užrakinimo“mechanizmą, kuris neleistų keliems procesoriams vienu metu pasiekti to paties ištekliaus. Tam naudojamas „užraktas“reikalautų, kad planuotojas užtikrintų, jog tik vienas procesorius bet kuriuo metu pasiektų svarbiausius išteklius, o visi kiti turėtų palaukti. Tiesą sakant, planuotojas priklauso nuo atminties tvarkyklės buvimo. Tai yra aklavietės priklausomybės pavyzdys. Nėra standartinio šios problemos sprendimo būdo; Tikimasi, kad kiekvienas operacinės sistemos programuotojas bus pakankamai kvalifikuotas, kad žinotų savo būdą, kaip su juo elgtis.

Papildomi resursai

  • Gairės: „Linux From Scratch“
  • Bootloader: GRUB
  • Virtualios mašinos programos: „Bochs“, „VM Ware“, „XM Virtual Box“.
  • Procesoriaus vadovas: „Intel“vadovas
  • SO kūrimo svetainės: OSDev, OSDever

Rekomenduojamas: