















Se etter mulige vranglåser og andre feil. Feil, vranglås og andre problemer vil begynne å dukke opp i OS-prosjektet ditt. Hvis du noen gang vil at systemet ditt skal være levedyktig, sørg for å implementere sikkerhetsfunksjoner som din høyeste prioritet. Med nettsteder som OSDev og OSDever kan du utvikle ditt eget operativsystem. Merk: For de fleste formål er OSDev.org-fellesskapet vil heller at du konsulterer wikien deres for spørsmål, og ikke deltar i forumet. Hvis du bestemmer deg for å bli med i forumet, er det krav: du må ha grundig kunnskap om C eller C++ og x86 assembler. Du bør også forstå vanlige og komplekse programmeringskonsepter som koblede lister, køer, etc. OSDev-fellesskapet sier uttrykkelig i sine regler at fellesskapet ikke er ment å være barnevakt for nye programmerere. `Ikke bli med OSDev.org-fora for å begynne å stille åpenbare spørsmål rett etterpå. Dette vil ganske enkelt resultere i svar som""les manualen/les manualen". Les Wikipedia og manualene for de forskjellige verktøyene du vil bruke. Hvis du prøver å utvikle et operativsystem, sier det seg selv at du forventes å være en programmeringsgud. Du må også ha lest prosessormanualene for prosessorarkitekturen du har valgt; det være seg x86 (Intel), ARM, MIPS, PPC, etc. er. Prosessorarkitekturveiledninger kan enkelt finnes med et Google-søk ("Intel manualer", "ARM manualer" etc.). Etter at all utvikling er fullført kan du bestemme om du vil gi ut koden som åpen kildekode eller proprietær. Ikke start med et operativsystemprosjekt for å lære programmering. Hvis du ikke allerede har grundig kunnskap om C, C++, Pascal eller et annet passende språk, inkludert pekermanipulasjon, lavnivåbitmanipulasjon, bitskifting, inline assembly-språk, etc., da er du virkelig ikke klar for utviklingen av ditt eget operativsystem. Det kan være lurt å lage en helt ny partisjon for `utvikling` av OS.
Lag et operativsystem
Innhold
Operativsystemer gjør det mulig for folk å samhandle med en datamaskins maskinvare; de består av hundretusenvis av linjer med kode. Vanligvis er de laget med C#, C, C++ og assembler-programmeringsspråk. Operativsystemer lar deg navigere på en datamaskin, aktivere datalagring og kjøre kommandoer. Tror ikke det er lett å lage et operativsystem. Det krever mye kunnskap.
Trinn

1. Lær å programmere før du starter. Montering er viktig, og et annet programmeringsspråk på høyt nivå som C anbefales på det sterkeste.

2. Bestem hvilket medium du vil laste OS på. Dette kan være en CD-stasjon, DVD-stasjon, flash-stasjon, harddisk, diskett eller en annen PC.

3. Bestem hva kjerneideen er om OS. I Windows, for eksempel, er en brukervennlig GUI og sterk sikkerhet kjerneideen.

4. Bestem hvilken prosessorplattform operativsystemet ditt vil støtte. IA-32, ARM og x86_64 er de vanligste arkitekturene for personlige datamaskiner, så det er det beste alternativet.

5. Bestem om du vil bygge alt selv fra bunnen av, eller om det er en eksisterende kjerne du vil bygge på. Linux From Scratch er et eksempelprosjekt for de som ønsker å bygge sin egen Linux-distro.

6. Bestem om du vil bruke din egen bootloader eller en eksisterende, for eksempel Grand Unified Bootloader (GRUB). Siden koding av din egen bootloader krever omfattende kunnskap om maskinvaren og BIOS, kan det bremse planleggingen for programmering av selve kjernen.

7. Bestem hvilket programmeringsspråk du vil bruke. Selv om det er mulig å lage et operativsystem på et språk som Pascal eller BASIC, har du det bedre med C eller Assembly. Montering er helt nødvendig siden noen vitale deler av et operativsystem krever det. C++ på den annen side inneholder språkelementer som krever et annet fullt operativsystem for å kjøre.
For å kunne kompilere et operativsystem fra C- eller C++-kode trenger du åpenbart en slags kompilator. Du bør derfor lese brukerveiledningen/manualene/dokumentasjonen for din valgte C/C++ kompilator, enten den følger med programvaren eller er tilgjengelig på distributørens nettsted. Du må vite mange kompliserte ting om kompilatoren din, og for å utvikle i C++ må du ha kunnskap om kompilatorens mangling-skjema og ABI. Du vil se de forskjellige kjørbare formatene (ELF, PE, COFF, vanlig binær, etc.).), samt det faktum at det opprinnelige Windows-formatet, PE (.exe), er opphavsrettsbeskyttet.

8. Bestem hvilket applikasjonsprogrammeringsgrensesnitt (API) du vil bruke. Et godt API å velge er POSIX da det er godt dokumentert. Alle Unix-systemer har i det minste delvis støtte for POSIX, så det ville være trivielt å portere Unix-programmer til operativsystemet ditt.

9. Bestemme design. Det er monolittiske kjerner og mikrokjerner. Monolittiske kjerner utfører alle tjenester i kjernen, mens mikrokjerner kombinerer en liten kjerne med en kombinert brukerdemoner som implementerer tjenester. Generelt er monolittiske kjerner raskere, men mikrokjerner har bedre feilisolering og pålitelighet.

10. Vurder å utvikle og jobbe i et team. På den måten trengs det mindre tid for å løse flere problemer, noe som kan produsere et bedre OS raskere.

11. Ikke slett harddisken fullstendig. Husk at å tørke av stasjonen vil slette alle data irreversibelt! Bruk GRUB eller en annen oppstartsbehandler for å sette opp en dobbel oppstart med et annet operativsystem til ditt eget system er fullt funksjonelt.

12. Begynn i det små. Start med små ting som å vise tekst og avbrudd før du går videre til de større problemene som minneadministrasjon og multitasking. Sørg også for å lage en 32-bit og 64-bit versjon.

1. 3. Ta vare på en sikkerhetskopi av den sist fungerende kildekoden. Dette gir en viss grad av beskyttelse i tilfelle noe går fryktelig galt med den gjeldende versjonen av operativsystemet eller utviklingen av det. Hvis datamaskinen krasjer og ikke lenger kan starte opp, er det en god idé å ha en ekstra kopi å jobbe med slik at du kan feilsøke.

14. Vurder å teste ditt nye operativsystem med en virtuell maskin. I stedet for å starte datamaskinen på nytt hver gang du gjør endringer, eller overføre filer fra utviklingsdatamaskinen til testmaskinen, kan du bruke en virtuell maskin til å kjøre operativsystemet under ditt nåværende operativsystem. Noen av VM-programmene inkluderer VMWare (har også fritt tilgjengelig serverprogramvare), åpen kildekode-alternativet Bochs, Microsoft Virtual PC (ikke kompatibel med Linux) og Oracle VirtualBox.

15. Slipp en "frigjøringskandidat".Dette vil tillate brukere å varsle deg om potensielle problemer med operativsystemet ditt.

16. Et operativsystem kan også være brukervennlig, så sørg for å legge til brukervennlige funksjoner, noe som gjør det til en integrert del av designet ditt.
Tips
Operativsystemet du oppretter tilhører da selskapet som startet tjenesten først (selv om du har rett til gratis distribusjon, og til å endre det som du ønsker og kjøre det under GPL).
Advarsler
- Du vil ikke ha opprettet et fullt operativsystem på to uker. Start med et OS som kan starte opp, og gå deretter videre til de morsomme tingene.
- Hvis du gjør noe så dårlig som å skrive tilfeldige byte til tilfeldige I/O-porter, vil operativsystemet ditt krasje og du kan (i teorien) skade maskinvaren din.
- Ikke forvent at det skal være enkelt å bygge et velfungerende operativsystem. Det er alle slags kompliserte gjensidige avhengigheter. For å tillate et operativsystem å håndtere flere prosessorer, må du for eksempel bruke "låsemekanismer" for minneadministrasjon for å forhindre at flere prosessorer bruker samme ressurs/ressurs samtidig. De "låser" brukes til dette krever tilstedeværelse av en planlegger/planlegger for å sikre at bare én prosessor kan få tilgang til en kritisk ressurs til enhver tid, mens alle andre venter. Men planleggeren avhenger igjen av tilstedeværelsen av en Memory Manager. Dette er et tilfelle av en fastlåst avhengighet. Det er ingen standard måte å løse problemer som dette på; alle operativsystemprogrammerere forventes å være dyktige nok til å finne sin egen måte å håndtere det på.
- Uforsiktig skriving av operativsystemet til harddisken kan skade den fullstendig. Vær forsiktig.
Nødvendigheter
- En datamaskin
- En CPU for arkitekturen du skal utvikle
- Tilstrekkelig minne (RAM) for en virtuell maskin
- Et `vert` OS (brukes til å utvikle Assembler (og andre) kildekoden, samt bygge og pakke den mens den fortsatt er i de tidlige stadiene, til slutt kan operativsystemet ditt være vert for seg selv)
- Et fargekodet programmeringsredigeringsprogram (bruk dette hvis du ikke har et IDE - Integrated Development Environment)
- En kompilator
- En CD/DVD-stasjon
Artikler om emnet "Lag et operativsystem"
Оцените, пожалуйста статью
Populær