Hoe om 'n rekenaarbedryfstelsel te maak: 13 stappe (met foto's)

INHOUDSOPGAWE:

Hoe om 'n rekenaarbedryfstelsel te maak: 13 stappe (met foto's)
Hoe om 'n rekenaarbedryfstelsel te maak: 13 stappe (met foto's)

Video: Hoe om 'n rekenaarbedryfstelsel te maak: 13 stappe (met foto's)

Video: Hoe om 'n rekenaarbedryfstelsel te maak: 13 stappe (met foto's)
Video: How to install Stable Diffusion WebUI (AI Image Generator) locally on linux 2024, April
Anonim

Hierdie wikiHow leer u hoe u 'n bedryfstelsel kan beplan en ontwikkel as u nie weet hoe om in C of C ++ te kodeer nie. Bedryfstelsels bestuur rekenaarhardeware en voorsien die hulpbronne wat programme benodig om te werk. Om 'n bedryfstelsel van nuuts af te skryf, vereis 'n sterk kennis van rekenaarwetenskap, 'n programmeertaal soos C of C ++, samestelling en kodebestuurspraktyke.

Stappe

Deel 1 van 2: Leer die basiese beginsels

Skep 'n rekenaarbedryfstelsel Stap 1
Skep 'n rekenaarbedryfstelsel Stap 1

Stap 1. Neem 'n paar basiese rekenaarwetenskapkursusse

Anders as om op die internet te ontwikkel, vereis die skep van 'n bedryfstelsel 'n sterk begrip van algoritmes, datastrukture, rekenaarhardeware en hulpbronbestuur. Mense kry grade in hierdie dinge, dus moenie verwag om 'n hele bedryfstelsel te skryf nadat hulle 'n aanlyn -tutoriaal gelees het nie! Harvard se kursus Intro to Computer Science is gratis beskikbaar via EDX.

Maak 'n rekenaarbedryfstelsel Stap 2
Maak 'n rekenaarbedryfstelsel Stap 2

Stap 2. Leer 'n hoë vlak programmeertaal soos Python

As u eers 'n grondige begrip van rekenaarwetenskap het, is die volgende stap om C en/of C ++ te bemeester. Net soos om rekenaarwetenskap te leer, is die bemeestering van 'n taal nie opsioneel nie; u kan nie 'n bedryfstelsel kodeer as u nie soliede toepassings kan skryf nie.

As u splinternuut by C is, kyk dan na die C Programming: Getting Started -kursus van Dartmouth, wat gratis is via EDX. Sodra u die kursus voltooi het, kan u die volgende kursus in die reeks volg: C Programming: Language Foundations. Gaan dan verder na die volgende kursusse soos modulêre programmering en geheuebestuur en aanwysers en geheue -bestuur

Skep 'n rekenaarbedryfstelsel Stap 4
Skep 'n rekenaarbedryfstelsel Stap 4

Stap 3. Leer 'n monteringstaal

Vergaderingstale is tale op lae vlakke wat ontwerp is om met verskillende verwerkers te kommunikeer. Aangesien die samestelling vir verskillende verwerktipes verskil (byvoorbeeld x86 -monteringstaal vir Intel, AMD, VIA en ander verwerkers), moet u die weergawe leer vir die tipe verwerker waarvoor u kodeer.

  • Hierdie open-source boek, as dit in sy geheel gelees word, kan u genoegsame begrip gee vir die bou van 'n bedryfstelsel.
  • The Art of Assembly Language is 'n sterk aanbevole boek oor die samestelling wat aanlyn en vanlyn beskikbaar is.
  • U moet ook baie navorsing doen oor die tipe verwerker (s) waarop u bedryfstelsel moet werk. Die handleidings vir verwerkerargitektuur kan maklik gevind word met behulp van 'n Google -soektog ("Intel -handleidings", "ARM -handleidings", ens.).
Maak 'n rekenaarbedryfstelsel Stap 5
Maak 'n rekenaarbedryfstelsel Stap 5

Stap 4. Voltooi 'n handleiding vir die bedryfstelsel

OS -tutoriale lei u deur die proses om 'n basiese bedryfstelsel te skep. Dit maak jou gewoond aan die proses en help jou om uit te vind of daar stukke is wat jy mis. As u 'n paar of twee tutoriale voltooi het, is u op pad om u eie bedryfstelsel te skep.

  • Bare Bones is 'n handleiding wat u help om u eerste eenvoudige 32-bis-kern te skryf. Nadat u die tutoriaal voltooi het, is die volgende stap om Meaty Skeleton te gebruik om u eie bedryfstelsel te struktureer.
  • Linux from Scratch is 'n aanlynboek waarmee u u eie Linux -bedryfstelsel kan skep.
  • Bedryfstelsels van 0 tot 1 is 'n gratis boek oor die skep van verskillende bedryfstelsels van begin tot einde.
Skep 'n rekenaarbedryfstelsel Stap 3
Skep 'n rekenaarbedryfstelsel Stap 3

Stap 5. Bepaal die doelwitte van u bedryfstelsel

Wat wil u hê moet u bedryfstelsel doen? Hoe moet dit lyk? Moet u regtig 'n hele bedryfstelsel skryf, of wil u net 'n sekere voorkoms vir u lessenaar skep? Dit is alles wat u moet oorweeg voordat u begin kodeer.

  • Oorweeg om saam met 'n span ander programmeerders te ontwikkel. As 'n span ontwikkelaars aan die projek werk, sal die ontwikkelingstyd aansienlik verminder word.
  • Voeg u projekdoelwitte, planne en vrae by u publieke bewaarplek, sodat dit maklik is vir ander om u te help.

Deel 2 van 2: Bou u bedryfstelsel

Hou rekenaar pret Stap 16
Hou rekenaar pret Stap 16

Stap 1. Kies 'n ontwikkelingsomgewing

Dit is die platform wat u sal gebruik om u nuwe bedryfstelsel te kodeer. Dit is 'n kwessie van persoonlike voorkeur, maar die meeste mense gebruik óf Windows óf 'n geur van UNIX. As u Windows gebruik, is dit 'n goeie idee om 'n UNIX -omgewing soos Cygwin of MinGW te installeer. U wil gewoonlik seker maak dat die omgewing wat u gebruik die volgende insluit:

  • GCC (die Gnu -samesteller). As u Windows gebruik, kan u dit installeer in Cygwin of MinGW.
  • Binutils is 'n versameling gereedskap wat gebruik word om objeklêers te manipuleer. Weereens, as u Windows gebruik, kan u dit in Cygwin installeer.
  • 'N Goeie teksredakteur. Vim en emacs word algemeen gebruik in UNIX -omgewings. Windows-gebruikers kan Notepad gebruik of Notepad ++ besoek vir 'n multi-oortjie-opgradering.
  • Perl en/of Python. Een of albei word aanbeveel vir snaarmanipulasie.
Maak 'n rekenaarbedryfstelsel Stap 13
Maak 'n rekenaarbedryfstelsel Stap 13

Stap 2. Stel u weergawe beheer stelsel op

Deur 'n bedryfstelsel te skryf, beteken dit dat u waarskynlik honderde (of duisende!) Reëls kode sal skep. As u aan hersienings werk, kan dit verwarrend raak. Enkele opsies om na te gaan is CVS, Mercurial en Subversion.

Maak 'n rekenaarbedryfstelsel Stap 6
Maak 'n rekenaarbedryfstelsel Stap 6

Stap 3. Besluit oor 'n selflaaiprogram

As u nie u eie wil skep nie, kan u 'n bestaande een soos Grand Unified Bootloader (GRUB) gebruik. As u voel dat u genoeg durf om 'n selflaaiprogram te kodeer, kyk dan na Rolling Your Own Bootloader op OSDev.org.

Maak 'n rekenaarbedryfstelsel Stap 9
Maak 'n rekenaarbedryfstelsel Stap 9

Stap 4. Kies 'n kernontwerp

Die kern is die kern van u bedryfstelsel en bied 'n koppelvlak tussen die gebruiker en die hardeware van die rekenaar. Daar is monolitiese pitte en mikropitte. Monolitiese pitte implementeer al die dienste in die pit, terwyl mikrokernels 'n klein pit het, gekombineer met gebruikers -demone wat dienste implementeer. Oor die algemeen is monolitiese pitte vinniger, maar mikrokernels het beter isolasie en betroubaarheid van foute.

Skep 'n rekenaarbedryfstelsel Stap 12
Skep 'n rekenaarbedryfstelsel Stap 12

Stap 5. Begin klein

Begin met klein dinge, soos om teks en onderbrekings te vertoon, voordat u na dinge soos geheue bestuur en multitasking gaan. U kan ook probeer om 'n eenvoudige 16-bis-bedryfstelsel te maak, in plaas van 'n groot sprong te maak.

U sal binne twee weke nie 'n volledige stelsel hê nie. Begin met 'n bedryfstelsel wat begin, en gaan dan oor na die cool dinge

Skep 'n rekenaarbedryfstelsel Stap 14
Skep 'n rekenaarbedryfstelsel Stap 14

Stap 6. Toets u nuwe bedryfstelsel met 'n virtuele masjien

Gebruik 'n virtuele masjienprogram eerder as om u rekenaar te herlaai elke keer as u veranderings aanbring of die lêers van u ontwikkelingsrekenaar na u toetsmasjien moet oordra. VMWare is 'n algemene opsie wat werk met beide Windows en Linux, en so ook Bochs. Kontroleer of daar moontlike blokke en ander goggas is en herstel dit indien nodig.

Skep 'n rekenaarbedryfstelsel Stap 15
Skep 'n rekenaarbedryfstelsel Stap 15

Stap 7. Stel 'n "vrylatingskandidaat vry

U kan dit doen deur u getoetste kode na u publieke bewaarplek op te laai. Dit sal mense in staat stel om u bedryfstelsel te toets en terug te gee oor enige probleme wat hulle ondervind.

Hou rekenaar pret Stap 28
Hou rekenaar pret Stap 28

Stap 8. Netwerk met ander bedryfstelsel ontwikkelaars

Daar is 'n hele gemeenskap van ontwikkelaars van bedryfstelsels wat op verskillende forums vergader, insluitend /r /osdev op Reddit en die Software Engineering Stack Exchange. As u 'n idee gehad het oor die ontwikkeling van 'n basiese bedryfstelsel, lees u bestaande plasings om te sien watter dinge tydens die ontwikkelingsproses opduik.

Video - Deur hierdie diens te gebruik, kan sommige inligting met YouTube gedeel word

Wenke

  • Maak seker dat u sekuriteitsfunksies as u belangrikste prioriteit implementeer as u ooit wil hê dat u stelsel lewensvatbaar is.
  • Nadat al die ontwikkeling voltooi is, besluit of u die kode as open source of eie wil vrystel.
  • Om 'n bedryfstelsel in staat te stel om verskeie verwerkers te hanteer, moet u geheuebestuurder 'sluitmeganismes' hê om te voorkom dat veelvuldige verwerkers gelyktydig toegang tot dieselfde hulpbron kry. Die 'slotte' wat hiervoor gebruik word, benodig die teenwoordigheid van 'n skeduleerder om seker te maak dat slegs een verwerker op 'n gegewe tydstip toegang tot 'n kritieke hulpbron het en dat al die ander wag. Tog is die skeduleerder afhanklik van die teenwoordigheid van 'n geheuebestuurder. Dit is 'n geval van 'n vasberade afhanklikheid. Daar is geen standaard manier om probleme soos hierdie op te los nie; As programmeerder word van u verwag om vaardig genoeg te wees om sy eie manier om dit te hanteer, uit te vind.
  • 'N Bedryfstelsel kan ook gebruikersvriendelik wees. Maak seker dat u gebruikersvriendelike funksies byvoeg, wat dit 'n integrale deel van u ontwerp maak.
  • Moenie aansluit nie die OSDev.org -forums en begin voor die hand liggende vrae stel. Dit sal eenvoudig tot gevolg hê "Lees die handleiding" antwoorde. U moet Wikipedia en die handleidings vir die verskillende gereedskap wat u wil gebruik, lees.
  • Moenie begin nie 'n bedryfstelselprojek om programmering te begin leer. As u nie reeds C, C ++, Pascal of 'n ander geskikte taal van binne na buite ken nie, insluitend wyser-manipulasie, lae-vlak-bit-manipulasie, bit-verskuiwing, inline-monteringstaal, ens., Is u nie gereed vir die ontwikkeling van die bedryfstelsel nie.
  • As u iets verkeerd doen, soos om ewekansige grepe na ewekansige I/O-poorte te skryf, sal u u bedryfstelsel neerstort en u hardeware (in teorie) kan braai.

Aanbeveel: