Hoe om `n bedryfstelsel te skep
Die bedryfstelsels laat die gebruiker toe om met hul rekenaar hardeware te kommunikeer, wat met honderde duisende reëls kode gemaak word, gewoonlik met die C, C ++ en samestellingstale.
stappe
1
Jy moet programmeringskennis hê voordat jy begin. Vergadering taal is noodsaaklik - `n ander lae-vlak addisionele taal soos C sal sterk aanbeveel word.
2
Besluit in watter medium u die bedryfstelsel wil laai. Dit kan `n CD, DVD, flash drive, `n hardeskyf of `n ander rekenaar wees.
3
Besluit wat jy wil hê jou bedryfstelsel moet doen. As dit `n volledige bedryfstelsel is wat `n grafiese gebruikerskoppelvlak het (GUI, Grafiese gebruikerskoppelvlak) of iets minder minimalisties, moet jy weet watter rigting jy gaan neem voordat jy begin.
4
Spesifiseer watter verwerkerplatform versoenbaar sal wees met jou bedryfstelsel. Ons beveel die twee mees algemene aan vir persoonlike rekenaars: AI-32 en x86_64.
5
Besluit of jy verkies om alles vanself te doen, of as daar `n bestaande kern is wat jy as basis wil gebruik om te bou. Byvoorbeeld, die programmering van Linux van nuuts af sal `n projek wees vir diegene wat hul eie Linux-verspreiding wil skep.
6
Besluit of jy jou eie selflaaiprogramma of voorafgemaakte een sal gebruik as die globale verenigde selflaaiprogram (GRUB, Grand Unified Bootloader). Omdat u die kode van u eie selflaaibestuurder moet programmeer, moet u `n breë kennis van die hardeware en die BIOS hê. Dit kan vertraag word om die kern self te programmeer.
7
Besluit watter programmeertaal jy gaan gebruik. Alhoewel dit moontlik is om `n bedryfstelsel te skep met `n taal soos Pascal of BASIC, sal dit beter wees as jy C of die assembler gebruik. Die assembler is absoluut noodsaaklik, aangesien sommige belangrike dele van `n bedryfstelsel dit nodig het. C ++ bevat sleutelwoorde wat `n ander ten volle geïntegreerde bedryfstelsel nodig het om te bedryf.
8
Besluit wat die program programmerings koppelvlak sal wees (API, Aansoekprogrammeringskoppelvlak). Ons beveel POSIX aan, aangesien dit goed gedokumenteer is. Alle Unix-stelsels het ten minste gedeeltelike ondersteuning vir POSIX, dus dit sal triviaal wees om Unix-programme aan jou bedryfstelsel te koppel.
9
Besluit die ontwerp. Daar is monolitiese kerne en mikronukle. Monolithics implementeer alle dienste in die kern, terwyl micronuclei `n klein kern het, gekombineer met implementering dienste vir gebruikers daemon. Oor die algemeen is monolitiese kerne vinniger, maar mikrokerns het beter fouteisolasie en betroubaarheid.
10
Oorweeg om as `n span te ontwikkel en te werk. Op hierdie manier word meer probleme opgelos in minder tyd, wat `n beter bedryfstelsel vinniger kan genereer.
11
Moenie jou hardeskyf heeltemal uitvee nie. Onthou, as jy die skyf uitvee, kan jy al jou data onomkeerbaar uitvee! Gebruik die GRUB of `n ander opstartbestuurder sodat u rekenaar `n ander bedryfstelsel het waarmee u kan opstarten totdat u werk heeltemal werk.
12
Begin met iets klein. Dit begin met klein dinge soos om teks en onderbrekings te vertoon voordat jy dinge soos geheuebestuur en multitasking verder ontwikkel.
13
Stoor `n rugsteunkopie van die laaste werkbron. Dit sal `n beskermingsmaatreël wees in die geval van `n ernstige probleem met die huidige weergawe van u bedryfstelsel of u ontwikkeling. As die rekenaar ineenstort en nie kan opstart nie, sal dit goed wees om `n tweede kopie te kry waarmee u die probleem kan oplos.
14
Oorweeg om jou nuwe bedryfstelsel op `n virtuele rekenaar te toets. In plaas daarvan om elke keer as jy veranderinge aan te bring of om sekere lêers te dra van die ontwikkeling span op die proef toerusting herlaai die rekenaar, kan die aansoek `n virtuele rekenaar gebruik om jou bedryfstelsel loop terwyl joune in werking bly. Sommige programme is VMWare virtuele rekenaar (wat ook `n gratis bediener produk), die alternatiewe open source bochs, Microsoft Virtual PC (nie versoenbaar is met Linux) en xVM VirtualBox.
15
Kry `n "bekendstellingskandidaat". Dit sal gebruikers toelaat om u te informeer oor moontlike probleme met die bedryfstelsel.
16
`N bedryfstelsel kan ook maklik wees om te gebruik, dus wees seker dat gebruikersvriendelike funksies ingesluit word, sodat hulle `n integrale deel van jou ontwerp is.
wenke
- Nadat u al die ontwikkeling gedoen het, besluit of u die kode oop of gepatenteer wil hê.
- Moenie begin nie `n projek om `n bedryfstelsel te skep om te begin met programmering. As jy het gevorderde kennis van C, C ++, Pascal of ander geskikte taal, insluitend manipulasie van die wyser, bietjie manipulasie lae vlak, bietjie verskuiwing, inline saamsteltaal, ens, dan sal jy nie gereed is om `n bedryfstelsel te ontwikkel .
- As u wil hê dat u stelsel lewensvatbaar is, moet u die hoogste prioriteit wees om sekuriteitskenmerke te implementeer.
- Gebruik webwerwe soos OSDev en OSDever om u te help om u eie bedryfstelsel te ontwikkel. Hou in gedagte dat die OSDev.org-gemeenskap vir die meeste doeleindes verkies dat u jouself beperk tot die gebruik van u wiki en nie aan die forum deelneem nie. As jy besluit om deel te neem aan die forum, is daar vereistes om dit te doen: jy moet `n diep begrip hê van C of C ++ en die x86-samestelling taal. U moet ook komplekse en algemene programmeringskonsepte verstaan, soos gekoppelde lyste, toue, ens. Die OSDev gemeenskapsregulasie verklaar uitdruklik dat die doel van die gemeenskap nie omgee vir beginnersprogrammeerders nie. As jy probeer om `n bedryfstelsel te ontwikkel, is dit vanselfsprekend dat jy `n "god" van programmering moet wees. U sal ook die verwerkingshandleidings moet lees vir die argitektuur wat u gaan kies - hetsy x86 (Intel), ARM, MIPS, PPC, ens. U kan hierdie handleidings maklik vind met `n Google-soektog ("Intel handleidings", "ARM handleidings", ens.). Moenie aansluit nie OSDev.org forums begin om voor die hand liggende vrae te vra, maar hulle sal jou net vertel om die antwoordhandleiding te lees. Jy moet probeer om Wikipedia en die handleidings van die verskillende gereedskap wat jy wil gebruik, te lees.
- Kyk na moontlike blokkasies en ander foute. Foute, slotte en ander probleme sal jou bedryfstelselprojek beïnvloed
- As jy dit wil maklik, in gedagte hou `n paar Linux verspreidings, soos Fedora Revisor, Custom Nimble X Puppy Hermeester, PCLinuxOS mklivecd, SUSE Studio en SUSE KIWI. Dit sal egter die bedryfstelsel wat jy dink behoort aan die maatskappy wat die eerste keer die diens van stapel gestuur (hoewel jy die regte sal hê om dit gratis te versprei, verander dit en hardloop dit as jy wil onder die GPL).
- Ons beveel aan dat jy `n heeltemal nuwe partisie maak ontwikkel die bedryfstelsel.
waarskuwings
- Sorgeloos tik jou bedryfstelsel op die hardeskyf kan dit heeltemal beskadig, wees dus versigtig.
- Jy sal nie binne twee weke `n volledige stelsel kan skep nie. Maak eers een wat begin, en gaan voort met interessante kenmerke.
- Moenie verwag dat dit maklik sal wees om `n goed-bedryfstelsel te bou nie. Daar sal baie komplekse interafhanklikheid, byvoorbeeld, sodat die stelsel kan hanteer verskeie verwerkers, moet die geheue bestuurder het meganismes "sluit" om te verhoed dat verskeie verwerkers toegang tot die dieselfde bron op dieselfde tyd. "Blocks", want dit sal die teenwoordigheid van `n beplanner nodig om te verseker dat net een verwerker het toegang tot `n kritieke hulpbron op enige gegewe tyd, terwyl almal anders verwag. Die skeduleerder sal egter afhang van die teenwoordigheid van `n geheuebestuurder. Dit is die geval van `n afhanklikheid in neutraal. Daar is geen standaard oplossing vir hierdie tipe probleem nie, dus word aanvaar dat elke programmeerder van `n bedryfstelsel die nodige vaardighede moet hê om dit te hanteer.
- As jy iets teenproduktief doen, skryf byvoorbeeld ewekansige bytes na ewekansige I / O-poorte, jy sal die bedryfstelsel blokkeer en jy kan die hardeware (teorie) verbrand.
Bykomende hulpbronne
- handleiding: Linux van nuuts af
- Boot bestuurder: GRUB
- Virtuele rekenaar programme: bochs, VM Ware, XM Virtual Box.
- Prosessor handleidings: Intel Handleidings
- Bedryfstelselontwikkelingswebwerwe: OSDev, OSDever
Dinge wat jy nodig het
- `N rekenaar
- `N SVE vir die argitektuur wat jy gaan ontwikkel
- Genoeg geheue (RAM) vir `n virtuele rekenaar
- `N Gasheer bedryfstelsel (om die samesteller, ander bronkode te ontwikkel, om dit te bou en te pak terwyl jy in jou vroeë stadiums is, met verloop van tyd kan jou eie bedryfstelsel jou gasheer wees)
- Sinktaak-kleurredakteur (as u nie `n geïntegreerde ontwikkelingsomgewing het nie)
- `N samesteller
- `N CD / DVD-aandrywer
Deel op sosiale netwerke:
Verwante
- Hoe om spyware te blokkeer
- Hoe om `n Xbox 360-beheerde beheer aan te sluit op `n Windows 8-rekenaar
- Hoe om aan te pas by `n nuwe rekenaar of `n nuwe bedryfstelsel
- Hoe om rekenaars sonder `n bedryfstelsel te koop
- Hoe om rekenaarprobleme te diagnoseer
- Hoe om verskeie bedryfstelsels gelyktydig met VMware te gebruik
- Hoe om `n Linux-hardeskyf vir Windows te formateer
- Hoe om Linux te installeer
- Hoe Ubuntu 12.04 installeer
- Hoe Ubuntu 13.10 installeer
- Hoe installeer Ubuntu 8.10
- Hoe om twee bedryfstelsels op `n rekenaar te installeer
- Hoe om `n nuwe bedryfstelsel te installeer
- Hoe om `n Linux-bedryfstelsel op `n flash drive te installeer en installeer draagbare weergawes van…
- Hoe om jou Windows-produksleutel te kontroleer
- Hoe om te weet watter bedryfstelsel `n rekenaar het
- Hoe om `n USB-geheue as `n hardeskyf te gebruik
- Hoe om `n bedryfstelsel uit `n USB-geheue te gebruik
- Hoe om Windows-afsluitprobleme op te los
- Hoe om `n eenvoudige grafiese gebruikerskoppelvlak in Matlab te skep
- Hoe om `n bedryfstelsel te kies