Kuidas teha arvuti operatsioonisüsteemi (piltidega)

Sisukord:

Kuidas teha arvuti operatsioonisüsteemi (piltidega)
Kuidas teha arvuti operatsioonisüsteemi (piltidega)

Video: Kuidas teha arvuti operatsioonisüsteemi (piltidega)

Video: Kuidas teha arvuti operatsioonisüsteemi (piltidega)
Video: Kuidas teha varukoopiaid? 2024, Mai
Anonim

Operatsioonisüsteem võimaldab kasutajal suhelda arvuti riistvaraga. Süsteem koosneb sadadest tuhandetest koodiridadest. Tavaliselt tehakse operatsioonisüsteem C#, C, C ++ ja koost programmeerimiskeeli kasutades. Operatsioonisüsteem võimaldab käskude salvestamise ja täitmise ajal oma arvutit sirvida. Ärge arvake, et operatsioonisüsteemi loomine on lihtne. Selle valmistamiseks on vaja palju teadmisi.

Samm

Tehke arvuti operatsioonisüsteem 1. samm
Tehke arvuti operatsioonisüsteem 1. samm

Samm 1. Kõigepealt õppige programmeerimist tundma

Assamblee keel on väga oluline; on väga soovitatav õppida teine kõrgetasemeline keel, näiteks C keel.

Tehke arvuti operatsioonisüsteem 2. samm
Tehke arvuti operatsioonisüsteem 2. samm

Samm 2. Otsustage, millist meediumit soovite OS -i laadimiseks kasutada

See meedia võib olla CD -draiv, DVD -draiv, mälupulk, kõvaketas, disketi või muu arvuti.

Tehke arvuti operatsioonisüsteem 3. samm
Tehke arvuti operatsioonisüsteem 3. samm

Samm 3. Määratlege vastuväite põhiidee

Näiteks Windowsi põhiidee on hõlpsasti kasutatav GUI ja palju turvalisust.

Tehke arvuti operatsioonisüsteem 4. samm
Tehke arvuti operatsioonisüsteem 4. samm

Samm 4. Tehke kindlaks, millist protsessoriplatvormi teie opsüsteem toetab

IA-32, ARM ja x86_64 on personaalarvutite jaoks kõige levinumad platvormid. Niisiis, kõik need on teie parim valik.

Tehke arvuti operatsioonisüsteem 5. samm
Tehke arvuti operatsioonisüsteem 5. samm

Samm 5. Otsustage, kas eelistate teha kõike ise nullist või on juba saadaval kernel, millele soovite tugineda

Näiteks Linux nullist on projekt inimestele, kes soovivad luua oma Linuxi distributsiooni.

Tehke arvuti operatsioonisüsteem 6. samm
Tehke arvuti operatsioonisüsteem 6. samm

Samm 6. Otsustage, kas kasutate oma alglaadurit või eelnevalt ehitatud laadijat, näiteks Grand Unified Bootloader (GRUB)

Alglaaduri enda kodeerimine nõuab põhjalikke teadmisi riistvara ja BIOS -i kohta. Selle tulemusena võib see samm takistada kerneli tegelikku ajakava.

Tehke arvuti operatsioonisüsteem 7. samm
Tehke arvuti operatsioonisüsteem 7. samm

Samm 7. Otsustage, millist programmeerimiskeelt kasutada

Hea, kui teil on opsüsteem keeles, nagu Pascal või BASIC, kuid peaksite kasutama C või Assembly. Kokkupanek on väga vajalik, sest mõned olulised operatsioonisüsteemi osad nõuavad seda. Teisest küljest sisaldab C ++ keel märksõnu, mille käitamiseks on vaja muud täielikku SO -d.

Operatsioonisüsteemi kompileerimiseks C- või C ++ -koodist kasutate muidugi üht või teist kompilaatorit. Seetõttu on hea mõte tutvuda teie valitud C/C ++ kompilaatori kasutusjuhendiga/juhendiga/dokumentatsiooniga, olenemata sellest, kas see sisaldub tarkvaras või on saadaval turustaja veebisaidil. Peate teadma kompilaatori kohta palju keerulisi asju ja C ++ arendamiseks peate teadma kompilaatori manipuleerimisskeemi ja selle ABI -d. Peate mõistma erinevaid käivitatavaid vorminguid (ELF, PE, COFF, põhiline binaar jne) ja mõistma, et eksklusiivne Windowsi vorming PE (.exe) on autoriõigusega kaitstud

Tehke arvuti operatsioonisüsteem 8. samm
Tehke arvuti operatsioonisüsteem 8. samm

Samm 8. Määratlege oma rakenduste programmeerimisliides (API)

Üks hea API, millest valida, on POSIX, kuna see on hästi dokumenteeritud. Kõik Unixi süsteemid toetavad POSIX -i vähemalt osaliselt. Seega peaks Unixi programmide ühendamine oma operatsioonisüsteemiga olema lihtne.

Tehke arvuti operatsioonisüsteem 9. samm
Tehke arvuti operatsioonisüsteem 9. samm

Samm 9. Otsustage oma disaini üle

On olemas selline asi nagu monoliitne kernel ja mikro tuum. Monoliitsed tuumad rakendavad kernelis kõiki teenuseid, mikrotuumadel aga väikesed tuumad, mis on komplekteeritud kasutaja deemonite juurutamisteenustega. Üldiselt on monoliitsed tuumad kiiremad, kuid mikrotuumadel on parem vigade eraldamine ja töökindlus.

Tehke arvuti operatsioonisüsteem 10. samm
Tehke arvuti operatsioonisüsteem 10. samm

Samm 10. Kaaluge meeskonnas arendamist ja töötamist

Nii kulub vähem aega rohkemate probleemide lahendamiseks, mis tõenäoliselt kiirendab parema operatsioonisüsteemi loomist.

Arvuti operatsioonisüsteemi loomine 11. samm
Arvuti operatsioonisüsteemi loomine 11. samm

Samm 11. Ärge pühkige kõvaketast täielikult

Pidage meeles, et draivi kustutamine kustutab kõik sellel olevad andmed pöördumatult! Kasutage GRUB -i või mõnda muud alglaadimishaldurit, et süsteem teise OS -iga topeltkäivitada, kuni teie operatsioonisüsteem on täielikult töökorras.

Tehke arvuti operatsioonisüsteem 12. samm
Tehke arvuti operatsioonisüsteem 12. samm

Samm 12. Alustage väikesest

Alustage väikeste asjadega, nagu teksti kuvamine, ja tehke paus, enne kui jätkate selliste asjadega nagu mäluhaldus ja kombineeritud töö. Samuti veenduge, et teete 32- ja 64 -bitised versioonid.

Tehke arvuti operatsioonisüsteem 13. samm
Tehke arvuti operatsioonisüsteem 13. samm

Samm 13. Hoidke viimase töötava lähtekoodi varukoopia

See samm on kasulik kaitseks juhuks, kui SO või arenduse praeguse versiooniga läheb midagi valesti. Kui teie arvuti jookseb kokku ja ei käivitu, on hea mõte hankida teine koopia, millega saaksite probleemi lahendada.

Tehke arvuti operatsioonisüsteem 14. samm
Tehke arvuti operatsioonisüsteem 14. samm

Samm 14. Kaaluge oma uue operatsioonisüsteemi testimist virtuaalse masinaga

Selle asemel, et arvuti iga kord muudatuste tegemisel või pärast arendusarvutist testmasinasse failide saatmist taaskäivitada, saate oma praeguse operatsioonisüsteemi töötamise ajal oma OS -i käivitamiseks kasutada virtuaalse masina rakendust. Praeguste VM -i rakenduste hulka kuuluvad: VMWare (millel on ka tasuta saadaval serveritoode), avatud lähtekoodiga alternatiivid, Bochs, Microsoft Virtual PC (ei ühildu Linuxiga) ja Oracle VirtualBox.

Tehke arvuti operatsioonisüsteem 15. samm
Tehke arvuti operatsioonisüsteem 15. samm

Samm 15. Käivitage "väljalaskekandidaat" või beetaversioon

See samm võimaldab kasutajal teavitada teid teie opsüsteemi võimalikest probleemidest.

Tehke arvuti operatsioonisüsteem 16. samm
Tehke arvuti operatsioonisüsteem 16. samm

Samm 16. Samuti peaks opsüsteem olema kasutajasõbralik

Lisage kindlasti kasutajasõbralikke funktsioone, muutke need oma disaini lahutamatuks osaks.

Näpunäiteid

  • Kontrollige võimalikke ummikseise ja muid vigu. Vead, ummikseisud ja muud probleemid mõjutavad teie operatsioonisüsteemi loomise projekti.
  • Veenduge, et rakendate turvaelementide esmatähtsaks prioriteediks, kui soovite, et süsteem töötaks korralikult.
  • Kasutage oma operatsioonisüsteemi arendamiseks selliseid veebisaite nagu OSDev ja OSDever. Palun pange tähele, et enamikul eesmärkidel on OSDev.org kogukond rohkem kui õnnelik, kui kasutate nende wiki ja ei liitu foorumiga. Kui otsustate foorumiga liituda, on eeltingimus: peate tõesti teadma C või C ++ ja x86 koostamiskeelt. Samuti peaksite mõistma üldisi ja keerukaid programmeerimiskontseptsioone, nagu lingitud loendid, järjekorrad jne. OSDev kogukond ütleb oma määrustes selgesõnaliselt, et selle kogukond ei ole loodud uute programmeerijate kasvatamiseks.
  • Ära liitu foorumiga OSDev.org ja esitage siis ilmne küsimus. Teil palutakse ainult juhendit lugeda. Lugege Vikipeediat ja juhiseid mis tahes seadme kohta, mida soovite kasutada.
  • Kui proovite arendada operatsioonisüsteemi, peetakse teid kindlasti programmeerimise "jumalaks".
  • Samuti oleksite pidanud lugema teie valitud protsessori arhitektuuri protsessori käsiraamatut; kas x86 (Intel), ARM, MIPS, PPC jne Protsessori arhitektuuride käsiraamatud on Google'i otsingu abil hõlpsasti leitavad ("Inteli käsiraamat", "ARM -i käsiraamat" jne).
  • Kui kõik arendustööd on lõpule jõudnud, otsustage, kas soovite koodi vabastada avatud koodina või autoriõiguse alusel.
  • Ärge alustage operatsioonisüsteemi projekt programmeerimise õppimise alustamiseks. Kui te ei tea seest ja väljast C, C ++, Pascali või mõnda muud sobivat keelt, sealhulgas kursori manipuleerimist, madala taseme bittide manipuleerimist, bittide nihutamist, sisestuskeeli jne, pole te operatsioonisüsteemiks valmis arengut.
  • Täiesti uue sektsiooni loomine SO laiendamiseks võib olla hea valik.
  • Kui soovite lihtsat viisi, kaaluge Linuxi distributsioone, nagu Fedora Revisor, Custom Nimble X, Puppy Remaster, PCLinuxOS Mk LiveCD või SUSE Studio ja SUSE KIWI. Teie loodud operatsioonisüsteem kuulub aga ettevõttele, kes teenuse esimesena alustas (kuigi teil on GPL -i alusel õigus seda vabalt levitada, muuta ja käitada).

Hoiatus

  • Te ei saa täielikku operatsioonisüsteemi kahe nädala jooksul. Alustage käivitatava SO -ga, seejärel liikuge jahedamate asjade juurde.
  • Kui kirjutate oma operatsioonisüsteemi hooletult kõvakettale, võite selle täielikult kahjustada. Ole ettevaatlik.
  • Kui teete midagi, mida ei soovitata, näiteks kirjutate juhuslikke baite juhuslikele I/O -portidele, kukute oma OS -i kokku ja (teoreetiliselt) võite riistvara kõrvetada.
  • Ärge oodake, et operatsioonisüsteemi on lihtne üles ehitada. On palju keerulisi vastastikuseid sõltuvusi. Näiteks mitme protsessori haldamiseks võimelise operatsioonisüsteemi loomiseks peab teie mäluhalduril olema lukustusmehhanism, mis takistab mitme protsessori juurdepääsu samale ressursile korraga. Selleks kasutatav "lukk" nõuaks ajakava, et tagada, et ainult üks protsessor pääseks igal ajal kriitilistele ressurssidele juurde ja kõik teised peavad ootama. Tegelikult sõltub ajakava mäluhalduri olemasolust. See on näide ummikseisust. Sellise probleemi lahendamiseks pole standardset viisi; eeldatakse, et iga operatsioonisüsteemi programmeerija on piisavalt osav, et ta teaks, kuidas sellega toime tulla.

Lisaressursid

  • Juhised: Linux alates nullist
  • Bootloader: GRUB
  • Virtuaalmasinate rakendused: Bochs, VM Ware, XM Virtual Box.
  • Protsessori käsiraamat: Inteli käsiraamat
  • SO arendusaidid: OSDev, OSDever

Soovitan: