Kako napraviti operacijski sustav računala (sa slikama)

Sadržaj:

Kako napraviti operacijski sustav računala (sa slikama)
Kako napraviti operacijski sustav računala (sa slikama)

Video: Kako napraviti operacijski sustav računala (sa slikama)

Video: Kako napraviti operacijski sustav računala (sa slikama)
Video: феникс ос установка с флешки, андроид на пк 2024, Svibanj
Anonim

Operacijski sustav omogućuje korisniku interakciju s hardverom računala. Sustav se sastoji od stotina tisuća redaka koda. Obično se operacijski sustav izrađuje pomoću programskih jezika C#, C, C ++ i montaže. Operacijski sustav omogućuje vam pregledavanje računala dok spremate i izvršavate naredbe. Nemojte misliti da je stvaranje operacijskog sustava jednostavno. Za izradu je potrebno mnogo znanja.

Korak

Napravite operacijski sustav računala Korak 1
Napravite operacijski sustav računala Korak 1

Korak 1. Prije svega, naučite o programiranju

Asemblerski jezik je vrlo važan; toplo se preporučuje da naučite neki drugi komplementarni jezik na visokoj razini, poput jezika C.

Napravite operacijski sustav računala 2. korak
Napravite operacijski sustav računala 2. korak

Korak 2. Odlučite koji medij želite koristiti za učitavanje OS -a

Ovaj medij može biti CD pogon, DVD pogon, flash pogon, tvrdi disk, disketa ili drugo računalo.

Napravite operacijski sustav računala Korak 3
Napravite operacijski sustav računala Korak 3

Korak 3. Definirajte srž ideje SO

Na primjer, u sustavu Windows osnovna ideja je GUI jednostavan za korištenje i puno sigurnosti.

Napravite operacijski sustav računala Korak 4
Napravite operacijski sustav računala Korak 4

Korak 4. Odredite koju procesorsku platformu vaš operacijski sustav podržava

IA-32, ARM i x86_64 najčešće su platforme za osobna računala. Dakle, svi su oni vaš najbolji izbor.

Napravite operacijski sustav računala Korak 5
Napravite operacijski sustav računala Korak 5

Korak 5. Odlučite želite li sve raditi sami od nule ili postoji već dostupno jezgro na kojem biste željeli graditi

Na primjer, Linux od nule projekt je za ljude koji žele izgraditi vlastiti Linux distro.

Napravite operacijski sustav računala Korak 6
Napravite operacijski sustav računala Korak 6

Korak 6. Odlučite hoćete li koristiti vlastiti boot-loader ili unaprijed izgrađen, poput Grand Unified Bootloader-a (GRUB)

Samo kodiranje pokretačkog programa zahtijevat će veliko znanje o hardveru i BIOS -u. Kao rezultat toga, ovaj korak može ometati stvarni raspored programiranja jezgre.

Napravite operacijski sustav računala Korak 7
Napravite operacijski sustav računala Korak 7

Korak 7. Odlučite koji ćete programski jezik koristiti

U redu je imati operativni sustav na jeziku poput Pascala ili BASIC -a, ali trebate koristiti C ili Assembly. Sklapanje je vrlo potrebno jer to zahtijevaju neki važni dijelovi operacijskog sustava. S druge strane, jezik C ++ sadrži ključne riječi za čije je izvođenje potreban drugi potpuni SO.

Za sastavljanje operacijskog sustava iz C ili C ++ koda, naravno da ćete koristiti jedan ili drugi prevoditelj. Stoga je dobra ideja konzultirati korisnički priručnik/priručnik/dokumentaciju za C/C ++ prevoditelj po vašem izboru, bilo da je uključen u softver ili dostupan na web stranici distributera. Morate znati mnogo kompliciranih stvari o prevoditelju, a za razvoj C ++ morate znati o shemi upravljanja kompajlerom i njegovom ABI -ju. Od vas se očekuje da razumijete različite izvršne formate (ELF, PE, COFF, osnovni binarni itd.) I shvatite da je ekskluzivni Windows format, PE (.exe) zaštićen autorskim pravima

Napravite operacijski sustav računala Korak 8
Napravite operacijski sustav računala Korak 8

Korak 8. Definirajte svoje aplikacijsko sučelje za programiranje (API)

Jedan dobar API za odabir je POSIX jer je dobro dokumentiran. Svi Unix sustavi imaju barem djelomičnu podršku za POSIX. Stoga bi povezivanje Unix programa s vašim OS -om trebalo biti jednostavno.

Napravite operacijski sustav računala Korak 9
Napravite operacijski sustav računala Korak 9

Korak 9. Odlučite se o svom dizajnu

Postoji nešto poput monolitne jezgre i mikro jezgre. Monolitne jezgre implementiraju sve usluge u jezgri, dok mikro jezgre imaju male jezgre u paketu sa uslugama implementacije demona korisnika. Općenito, monolitna jezgra su brža, ali mikro jezgre imaju bolju izolaciju grešaka i pouzdanost.

Napravite operacijski sustav računala Korak 10
Napravite operacijski sustav računala Korak 10

Korak 10. Razmislite o razvoju i radu u timu

Na taj način potrebno je manje vremena za rješavanje više problema, što će vjerojatno ubrzati izgradnju boljeg OS -a.

Napravite operacijski sustav računala Korak 11
Napravite operacijski sustav računala Korak 11

Korak 11. Nemojte potpuno izbrisati tvrdi disk

Zapamtite, brisanjem pogona nepovratno će se izbrisati svi podaci na njemu! Upotrijebite GRUB ili neki drugi upravitelj pokretanja za dvostruko podizanje sustava s drugim OS -om sve dok vaš OS ne bude potpuno funkcionalan.

Napravite operacijski sustav računala Korak 12
Napravite operacijski sustav računala Korak 12

Korak 12. Počnite s malim

Počnite s malim stvarima poput prikaza teksta i zastanite prije nego prijeđete na stvari poput upravljanja memorijom i složenog rada. Također napravite 32 -bitnu i 64 -bitnu verziju.

Napravite operacijski sustav računala Korak 13
Napravite operacijski sustav računala Korak 13

Korak 13. Čuvajte sigurnosnu kopiju posljednjeg radnog izvornog koda

Ovaj je korak koristan kao zaštita u slučaju da nešto pođe po zlu s trenutnom verzijom SO -a ili razvojem. Ako se vaše računalo ruši i ne pokreće se, dobro je imati drugu kopiju za rad kako biste riješili problem.

Napravite operacijski sustav računala Korak 14
Napravite operacijski sustav računala Korak 14

Korak 14. Razmislite o testiranju vašeg novog operacijskog sustava s virtualnim strojem

Umjesto ponovnog pokretanja računala svaki put kada unesete promjene ili nakon slanja datoteka s razvojnog računala na testni stroj, možete koristiti aplikaciju virtualnog stroja za pokretanje vašeg OS -a dok je vaš trenutni OS pokrenut. Trenutne aplikacije za VM uključuju: VMWare (koji također ima besplatan poslužiteljski proizvod), alternative otvorenog koda, Bochs, Microsoft Virtual PC (nije kompatibilan s Linuxom) i Oracle VirtualBox.

Napravite operacijski sustav računala Korak 15
Napravite operacijski sustav računala Korak 15

Korak 15. Pokrenite "kandidaturu za izdanje" ili beta verziju

Ovaj korak će omogućiti korisniku da vas obavijesti o potencijalnim problemima s vašim operativnim sustavom.

Napravite operacijski sustav računala Korak 16
Napravite operacijski sustav računala Korak 16

Korak 16. Operacijski sustav također bi trebao biti prilagođen korisniku

Dodajte značajke prilagođene korisniku, neka budu sastavni dio vašeg dizajna.

Savjeti

  • Provjerite ima li zastoja i drugih grešaka. Greške, zastoji i druga pitanja utjecati će na vaš projekt izgradnje operacijskog sustava.
  • Provedite sigurnosne značajke kao najveći prioritet ako želite da sustav radi ispravno.
  • Koristite web stranice poput OSDev i OSDever kako biste lakše razvili vlastiti operativni sustav. Molimo imajte na umu da će u većini svrha zajednica OSDev.org biti više nego sretna ako koristite njihovu wiki, a ne pridružite se forumu. Ako se odlučite pridružiti forumu, postoji preduvjet: morate stvarno znati o C ili C ++ i asemblerskom jeziku x86. Također biste trebali razumjeti opće i složene programske koncepte kao što su povezani popisi, redovi čekanja itd. Zajednica OSDev -a u svojim propisima izričito navodi da njezina zajednica nije stvorena za njegovanje novih programera.
  • Ne pridružujte se s OSDev.org forumom, a zatim postavite očito pitanje. Od vas će se tražiti samo da pročitate vodič. Pročitajte Wikipedia i upute za bilo koju opremu koju želite koristiti.
  • Ako pokušavate razviti operacijski sustav, definitivno vas smatraju "bogom" programiranja.
  • Također ste trebali pročitati priručnik za procesor za arhitekturu procesora koju ste odabrali; da li x86 (Intel), ARM, MIPS, PPC itd. Priručnike za arhitekture procesora lako je pronaći pomoću Google pretraživanja ("Intel priručnik", "ARM priručnik" itd.).
  • Nakon što su svi razvojni radovi dovršeni, odlučite želite li kôd objaviti kao otvoreni kôd ili prema autorskim pravima.
  • Ne počinji projekt operacijskog sustava za početak učenja programiranja. Ako ne poznajete iznutra i izvana C, C ++, Pascal ili neki drugi prikladan jezik, uključujući manipulaciju pokazivačem, bitnu manipulaciju na niskoj razini, pomak bitova, ugrađene asemblerske jezike itd., Niste spremni za operacijski sustav razvoj.
  • Stvaranje potpuno nove particije za 'proširenje' SO moglo bi biti dobra opcija.
  • Ako želite jednostavan način, razmislite o Linux distribucijama kao što su Fedora Revisor, Custom Nimble X, Puppy Remaster, PCLinuxOS Mk LiveCD ili SUSE Studio i SUSE KIWI. Međutim, operativni sustav koji stvorite pripada tvrtki koja je prva pokrenula uslugu (iako imate pravo slobodno ga distribuirati, mijenjati i pokretati prema želji prema GPL -u).

Upozorenje

  • Nećete dobiti potpuni operativni sustav u roku od dva tjedna. Počnite s SO -om za pokretanje, a zatim prijeđite na hladnije stvari.
  • Bezbrižno upisivanje operacijskog sustava na tvrdi disk može ga potpuno oštetiti. Budi oprezan.
  • Ako učinite nešto što se ne preporučuje, na primjer upisujete nasumične bajtove na slučajne I/O portove, srušit ćete svoj OS i (u teoriji) bi mogli opeći vaš hardver.
  • Ne očekujte da će se operacijski sustav lako izgraditi. Postoji mnogo kompliciranih međuovisnosti. Na primjer, za stvaranje operacijskog sustava sposobnog za rukovanje s više procesora, vaš Upravitelj memorije mora imati mehanizam "zaključavanja" kako bi spriječio više procesora da istovremeno pristupaju istom resursu. "Zaključavanje" koje se koristi za to zahtijevalo bi planer kako bi se osiguralo da samo jedan procesor pristupa kritičnim resursima u bilo kojem trenutku, a svi drugi moraju čekati. Zapravo, raspoređivač ovisi o prisutnosti Upravitelja memorije. Ovo je primjer ovisnosti o slijepoj ulici. Ne postoji standardni način rješavanja ove vrste problema; od svakog programera operacijskog sustava očekuje se da bude dovoljno vješt da zna svoj način rješavanja.

Dodatna sredstva

  • Smjernice: Linux od nule
  • Bootloader: GRUB
  • Primjene virtualnih strojeva: Bochs, VM Ware, XM Virtual Box.
  • Priručnik za procesor: Intel priručnik
  • SO razvojna mjesta: OSDev, OSDever

Preporučeni: