Tietokoneen käyttöjärjestelmän luominen (kuvilla)

Sisällysluettelo:

Tietokoneen käyttöjärjestelmän luominen (kuvilla)
Tietokoneen käyttöjärjestelmän luominen (kuvilla)

Video: Tietokoneen käyttöjärjestelmän luominen (kuvilla)

Video: Tietokoneen käyttöjärjestelmän luominen (kuvilla)
Video: Järjestelmän palautuslevyjen luominen HP- ja Compaq-pöytätietokoneita varten Windows 7:ssä 2024, Marraskuu
Anonim

Käyttöjärjestelmän avulla käyttäjä voi olla vuorovaikutuksessa tietokoneen laitteiston kanssa. Järjestelmä koostuu sadoista tuhansista koodiriveistä. Yleensä käyttöjärjestelmä tehdään C#, C, C ++ ja assembly -ohjelmointikielellä. Käyttöjärjestelmän avulla voit selata tietokonettasi samalla kun tallennat ja suoritat komentoja. Älä usko, että käyttöjärjestelmän luominen on helppoa. Sen tekeminen vaatii paljon tietoa.

Vaihe

Luo tietokoneen käyttöjärjestelmä Vaihe 1
Luo tietokoneen käyttöjärjestelmä Vaihe 1

Vaihe 1. Opi ensin ohjelmoinnista

Kokoonpanokieli on erittäin tärkeä; on erittäin suositeltavaa oppia toinen täydentävä korkean tason kieli, kuten C-kieli.

Luo tietokoneen käyttöjärjestelmä Vaihe 2
Luo tietokoneen käyttöjärjestelmä Vaihe 2

Vaihe 2. Päätä, mitä mediaa haluat käyttää käyttöjärjestelmän lataamiseen

Tämä tietoväline voi olla CD -asema, DVD -asema, flash -asema, kiintolevy, levyke tai muu tietokone.

Luo tietokoneen käyttöjärjestelmä Vaihe 3
Luo tietokoneen käyttöjärjestelmä Vaihe 3

Vaihe 3. Määritä väitetiedoksiannon ydinidea

Esimerkiksi Windowsissa ydinidea on helppokäyttöinen käyttöliittymä ja paljon turvallisuutta.

Luo tietokoneen käyttöjärjestelmä Vaihe 4
Luo tietokoneen käyttöjärjestelmä Vaihe 4

Vaihe 4. Määritä, mitä prosessorialustaa käyttöjärjestelmäsi tukee

IA-32, ARM ja x86_64 ovat yleisimpiä tietokoneiden alustoja. Joten kaikki ne ovat paras valinta.

Luo tietokoneen käyttöjärjestelmä Vaihe 5
Luo tietokoneen käyttöjärjestelmä Vaihe 5

Vaihe 5. Päätä, haluatko tehdä kaiken itse alusta alkaen vai onko olemassa jo ydin, johon haluat rakentaa

Esimerkiksi Linux tyhjästä on projekti ihmisille, jotka haluavat rakentaa oman Linux -distronsa.

Luo tietokoneen käyttöjärjestelmä Vaihe 6
Luo tietokoneen käyttöjärjestelmä Vaihe 6

Vaihe 6. Päätä, käytätkö omaa käynnistyslatainta vai valmiita, kuten Grand Unified Bootloaderia (GRUB)

Käynnistyslataimen itse koodaaminen edellyttää laajaa tietoa laitteistosta ja BIOSista. Tämän seurauksena tämä vaihe voi estää varsinaisen ytimen ohjelmointiaikataulun.

Luo tietokoneen käyttöjärjestelmä Vaihe 7
Luo tietokoneen käyttöjärjestelmä Vaihe 7

Vaihe 7. Päätä, mitä ohjelmointikieltä haluat käyttää

On hienoa, että käyttöjärjestelmä on Pascal- tai BASIC -kielellä, mutta sinun on käytettävä C- tai Assembly -ohjelmaa. Kokoonpano on erittäin välttämätöntä, koska jotkin käyttöjärjestelmän tärkeät osat edellyttävät sitä. Toisaalta C ++ -kieli sisältää avainsanoja, jotka vaativat muita täydellisiä SO -ohjelmia.

Jos haluat kääntää käyttöjärjestelmän C- tai C ++ -koodista, käytät tietysti yhtä tai toista kääntäjää. Siksi on hyvä tutustua valitsemasi C/C ++ -kääntäjän käyttöoppaaseen/käsikirjaan/dokumentaatioon, olipa se mukana ohjelmistossa tai saatavilla jakelijan verkkosivustolla. Sinun on tiedettävä paljon monimutkaisia asioita kääntäjästä ja C ++ -kehityksen kannalta sinun on tiedettävä kääntäjän manipulointijärjestelmä ja sen ABI. Sinun odotetaan ymmärtävän eri suoritettavat tiedostomuodot (ELF, PE, COFF, perusbinääri jne.) Ja ymmärrät, että yksinomainen Windows -muoto, PE (.exe), on tekijänoikeuksin suojattu

Luo tietokoneen käyttöjärjestelmä Vaihe 8
Luo tietokoneen käyttöjärjestelmä Vaihe 8

Vaihe 8. Määritä sovellusohjelmointirajapinta (API)

Yksi hyvä sovellusliittymä on POSIX, koska se on hyvin dokumentoitu. Kaikilla Unix -järjestelmillä on ainakin osittainen POSIX -tuki. Joten Unix -ohjelmien liittäminen käyttöjärjestelmään pitäisi olla helppoa.

Luo tietokoneen käyttöjärjestelmä Vaihe 9
Luo tietokoneen käyttöjärjestelmä Vaihe 9

Vaihe 9. Päätä suunnittelu

On olemassa sellainen asia kuin monoliittinen ydin ja mikroydin. Monoliittiset ytimet toteuttavat kaikki ytimen palvelut, kun taas mikroydimissä on pieniä ytimiä, jotka on yhdistetty käyttäjädemonien käyttöönottopalveluihin. Yleensä monoliittiset ytimet ovat nopeampia, mutta mikroydimillä on parempi vianeristys ja luotettavuus.

Luo tietokoneen käyttöjärjestelmä Vaihe 10
Luo tietokoneen käyttöjärjestelmä Vaihe 10

Vaihe 10. Harkitse tiimin kehittämistä ja työskentelyä

Tällä tavalla useiden ongelmien ratkaiseminen vie vähemmän aikaa, mikä todennäköisesti nopeuttaa paremman käyttöjärjestelmän rakentamista.

Luo tietokoneen käyttöjärjestelmä Vaihe 11
Luo tietokoneen käyttöjärjestelmä Vaihe 11

Vaihe 11. Älä pyyhi kiintolevyä kokonaan

Muista, että aseman poistaminen poistaa kaikki sen tiedot peruuttamattomasti! Käynnistä järjestelmäsi toisen käyttöjärjestelmän kanssa GRUBin tai muun käynnistyshallinnan avulla, kunnes käyttöjärjestelmäsi on täysin toiminnassa.

Luo tietokoneen käyttöjärjestelmä Vaihe 12
Luo tietokoneen käyttöjärjestelmä Vaihe 12

Vaihe 12. Aloita pienestä

Aloita pienistä asioista, kuten tekstin näyttämisestä ja tauosta, ennen kuin siirryt muistinhallintaan ja yhdistetyöhön. Varmista myös, että teet 32- ja 64 -bittiset versiot.

Luo tietokoneen käyttöjärjestelmä Vaihe 13
Luo tietokoneen käyttöjärjestelmä Vaihe 13

Vaihe 13. Pidä varmuuskopio viimeisestä toimivasta lähdekoodista

Tämä vaihe on hyödyllinen suojana siltä varalta, että jotakin menee pieleen SO- tai kehitysversion kanssa. Jos tietokoneesi kaatuu eikä käynnisty, on hyvä saada toinen kopio, jotta voit korjata ongelman.

Luo tietokoneen käyttöjärjestelmä Vaihe 14
Luo tietokoneen käyttöjärjestelmä Vaihe 14

Vaihe 14. Harkitse uuden käyttöjärjestelmän testaamista virtuaalikoneella

Sen sijaan, että käynnistät tietokoneen uudelleen joka kerta, kun teet muutoksia tai olet lähettänyt tiedostoja kehitystietokoneeltasi testikoneeseesi, voit käyttää virtuaalikoneen sovellusta käyttöjärjestelmän suorittamiseen nykyisen käyttöjärjestelmän ollessa käynnissä. Nykyisiä VM -sovelluksia ovat: VMWare (jossa on myös ilmainen palvelintuote), avoimen lähdekoodin vaihtoehdot, Bochs, Microsoft Virtual PC (ei yhteensopiva Linuxin kanssa) ja Oracle VirtualBox.

Luo tietokoneen käyttöjärjestelmä Vaihe 15
Luo tietokoneen käyttöjärjestelmä Vaihe 15

Vaihe 15. Käynnistä "julkaisuehdokas" tai beta -versio

Tämän vaiheen avulla käyttäjä voi ilmoittaa sinulle mahdollisista käyttöjärjestelmäsi ongelmista.

Luo tietokoneen käyttöjärjestelmä Vaihe 16
Luo tietokoneen käyttöjärjestelmä Vaihe 16

Vaihe 16. Käyttöjärjestelmän tulee olla myös käyttäjäystävällinen

Varmista, että lisäät käyttäjäystävällisiä ominaisuuksia, tee niistä kiinteä osa suunnittelua.

Vinkkejä

  • Tarkista mahdolliset umpikujat ja muut viat. Virheet, umpikujat ja muut ongelmat vaikuttavat käyttöjärjestelmän rakennusprojektiin.
  • Varmista, että otat turvallisuusominaisuudet käyttöön etusijalla, jos haluat järjestelmän toimivan kunnolla.
  • Käytä OSDevin ja OSDeverin kaltaisia sivustoja oman käyttöjärjestelmän kehittämiseen. Huomaa, että useimmissa tapauksissa OSDev.org -yhteisö on enemmän kuin iloinen, jos käytät heidän wikiaan etkä liity foorumiin. Jos päätät liittyä foorumille, siihen on edellytys: sinun on todella tiedettävä C- tai C ++ - ja x86 -kokoonpanokieli. Sinun tulisi myös ymmärtää yleiset ja monimutkaiset ohjelmointikonseptit, kuten linkitetyt luettelot, jonot jne. OSDev -yhteisö ilmoittaa säännöissään nimenomaisesti, että sen yhteisöä ei ole luotu uusien ohjelmoijien kasvattamiseksi.
  • Älä liity OSDev.org -foorumilla ja kysy sitten ilmeinen kysymys. Sinua pyydetään vain lukemaan opas. Lue Wikipedia ja ohjeet laitteille, joita haluat käyttää.
  • Jos yrität kehittää käyttöjärjestelmää, sinua pidetään ehdottomasti ohjelmoinnin "jumalana".
  • Sinun olisi myös pitänyt lukea valitsemasi suorittimen arkkitehtuurin prosessorin käsikirja; onko x86 (Intel), ARM, MIPS, PPC jne. Suoritinarkkitehtuurien oppaat on helppo löytää Google -haun avulla ("Intel -käsikirja", "ARM -käsikirja" jne.).
  • Kun kaikki kehitystyöt on tehty, päätä, haluatko julkaista koodin avoimena koodina vai tekijänoikeudella.
  • Älä aloita käyttöjärjestelmäprojekti ohjelmoinnin oppimisen aloittamiseksi. Jos et tiedä sisältä ja ulkoa C: stä, C ++: sta, Pascalista tai jostain muusta sopivasta kielestä, kuten osoittimen käsittelystä, matalan tason bittikäsittelystä, bitinsiirrosta, sisäisistä kokoonpanokielistä jne., Et ole valmis käyttöjärjestelmään kehitystä.
  • Täysin uuden osion luominen SO: n laajentamiseksi saattaa olla hyvä vaihtoehto.
  • Jos haluat helpon tavan, harkitse Linux -distroja, kuten Fedora Revisor, Custom Nimble X, Puppy Remaster, PCLinuxOS Mk LiveCD tai SUSE Studio ja SUSE KIWI. Luomasi käyttöjärjestelmä kuuluu kuitenkin yritykselle, joka aloitti palvelun ensimmäisenä (vaikka sinulla on oikeus levittää sitä vapaasti, muokata sitä ja käyttää sitä haluamallasi tavalla GPL: n nojalla).

Varoitus

  • Et saa täyttä käyttöjärjestelmää kahden viikon kuluessa. Aloita käynnistettävällä SO: lla ja siirry sitten viileämpiin juttuihin.
  • Käyttöjärjestelmän huolimaton kirjoittaminen kiintolevylle voi vahingoittaa sitä kokonaan. Ole varovainen.
  • Jos teet jotain, jota ei suositella, kuten kirjoitat satunnaisia tavuja satunnaisiin I/O -portteihin, kaatat käyttöjärjestelmän ja (teoriassa) voi polttaa laitteistosi.
  • Älä odota, että käyttöjärjestelmä on helppo rakentaa. On olemassa monia monimutkaisia keskinäisiä riippuvuuksia. Jos esimerkiksi haluat luoda käyttöjärjestelmän, joka kykenee käsittelemään useita suorittimia, muistinhallinnassa on oltava lukitusmekanismi, joka estää useita prosessoreita käyttämästä samaa resurssia samanaikaisesti. Tätä varten käytettävä "lukko" edellyttäisi ajoitusohjelmalta, että vain yksi prosessori käyttää kriittisiä resursseja milloin tahansa ja kaikkien muiden on odotettava. Itse asiassa ajastin riippuu muistinhallinnan läsnäolosta. Tämä on esimerkki umpikujariippuvuudesta. Ei ole olemassa tavanomaista tapaa ratkaista tällaista ongelmaa; jokaisen käyttöjärjestelmän ohjelmoijan odotetaan olevan riittävän taitava tietämään oman tavan käsitellä sitä.

Lisäresurssit

  • Ohjeet: Linux from Scratch
  • Käynnistyslatain: GRUB
  • Virtuaalikoneen sovellukset: Bochs, VM Ware, XM Virtual Box.
  • Prosessorin käsikirja: Intel -käyttöopas
  • SO -kehittämissivustot: OSDev, OSDever

Suositeltava: