Besturingssystemen stellen mensen in staat om te communiceren met computerhardware; ze zijn gemaakt van honderdduizenden regels code. Ze worden meestal gemaakt met de programmeertalen C #, C, C ++ en assemblage. Besturingssystemen stellen u in staat om door een computer te navigeren tijdens het maken van opslag en het uitvoeren van opdrachten. Denk niet dat het gemakkelijk is om er een te maken. Het vereist veel kennis.

Stappen

  1. 1 Leer programmeren voordat je begint. Assemblagetaal is essentieel; een andere aanvullende taal op hoog niveau zoals C wordt sterk aanbevolen.
  2. 2 Bepaal op welk medium u uw besturingssysteem wilt laden. Dit kan een cd-station, een dvd-station, een flashstation, een vaste schijf, een diskette of een andere pc zijn.
  3. 3 Bepaal uw kernidee van een besturingssysteem. In Windows is bijvoorbeeld een eenvoudig te gebruiken GUI en veel beveiliging het kernidee.
  4. 4 Richt op welk processorplatform uw besturingssysteem ondersteunt. IA-32, ARM en x86_64 zijn de meest voorkomende voor pc's, dus ze zijn de beste keuze.
  5. 5 Bepaal of je het liever helemaal zelf wilt doen, of dat er een bestaande kernel is die je graag wilt bouwen. Linux from scratch is een project voor degenen die bijvoorbeeld hun eigen Linux-distro willen bouwen.
  6. 6 Bepaal of je je eigen boot-loader gaat gebruiken of een vooraf gemaakte bootloader zoals Grand Unified Bootloader (GRUB). Omdat het coderen van je eigen bootloader uitgebreide kennis van de hardware en het BIOS vereist, kan het het schema voor het programmeren van de eigen kernel terugdringen.
  7. 7 Bepaal welke programmeertaal u moet gebruiken. Hoewel het mogelijk is om een ​​besturingssysteem te maken in een taal zoals Pascal of BASIC, is het beter om C of Assembly te gebruiken. Assemblage is absoluut noodzakelijk, omdat sommige vitale onderdelen van een besturingssysteem dit vereisen. C ++, aan de andere kant, bevat sleutelwoorden die een ander volledig gebouwd OS nodig hebben om te draaien.
    • Als u een besturingssysteem wilt compileren met C- of C ++-code, gebruikt u natuurlijk de ene compiler of een andere. Lees daarom de gebruikershandleiding / handleidingen / documentatie voor de door u gekozen C / C ++ - compiler, of deze nu met de software is meegeleverd of beschikbaar is op de website van de distributeur. Je zult veel ingewikkelde dingen over je compiler moeten weten en, voor de ontwikkeling van C ++, moet je weten over het vermeerderingsschema van de compiler en zijn ABI. Er wordt van u verwacht dat u de verschillende uitvoerbare formaten (ELF, PE, COFF, gewoon binair bestand, enz.) Begrijpt en begrijpt dat het Windows-formaat PA (.exe) auteursrechtelijk is beschermd.
  8. 8 Bepaal uw applicatie-programmeerinterface (API). Een goede API om te kiezen is POSIX, omdat het goed gedocumenteerd is. Alle Unix-systemen hebben ten minste gedeeltelijke ondersteuning voor POSIX, dus het zou triviaal zijn om Unix-programma's naar uw besturingssysteem te poorten.
  9. 9 Beslis over je ontwerp. Er zijn monolithische kernels en micropitten. Monolithische kernels implementeren alle services in de kernel, terwijl microkernels een kleine kernel hebben gecombineerd met gebruikersdaemons die services implementeren. Over het algemeen zijn monolithische kernels sneller, maar microkernels hebben een betere foutisolatie en -betrouwbaarheid.
  10. 10 Overweeg om in een team te werken en te werken. Op die manier is er minder tijd nodig om meer problemen op te lossen, waardoor sneller een beter besturingssysteem kan worden geproduceerd.
  11. 11 Veeg je harde schijf niet volledig schoon. Vergeet niet dat het wissen van je schijf onherroepelijk alle gegevens zal wissen! Gebruik GRUB of een andere opstartmanager om je systeem dubbel te booten met een ander besturingssysteem totdat de jouwe volledig functioneel is.
  12. 12 Begin klein. Begin met kleine dingen zoals het weergeven van tekst en onderbrekingen voordat u doorgaat naar zaken als geheugenbeheer en multitasking. Zorg er ook voor dat je een 32-bits en een 64-bits versie maakt.
  13. 13 Bewaar een back-up van de laatste werkende bron. Dit biedt een mate van bescherming voor het geval er iets vreselijk mis gaat met de huidige versie van uw besturingssysteem of uw ontwikkeling. Als uw computer vastloopt en niet meer kan opstarten, is het een uitstekend idee om een ​​tweede exemplaar te gebruiken om problemen op te lossen.
    • (Als u een back-up wilt bewaren, zorg er dan voor dat er een 2 - 3 schijfpartitie is. 1 OS als besturingssysteem zal een andere ontwikkelen, en 1 back-up van oude versie (ouder, niet oudste) en 1 partitie voor huidige versie)
  14. 14 Overweeg uw nieuwe besturingssysteem te testen met een virtuele machine. In plaats van uw computer opnieuw op te starten telkens wanneer u wijzigingen aanbrengt of de bestanden van uw ontwikkelcomputer naar uw testmachine moet overzetten, kunt u een toepassing voor virtuele machines gebruiken om uw besturingssysteem uit te voeren terwijl uw huidige besturingssysteem nog steeds actief is. VM-toepassingen zijn VMWare (die ook een vrij verkrijgbaar serverproduct heeft), het open-sourcealternatief, Bochs, Microsoft Virtual PC (niet compatibel met Linux) en Oracle VirtualBox.
  15. 15 Geef een "release candidate" vrij."Hierdoor kunnen gebruikers u meer vertellen over mogelijke problemen met uw besturingssysteem of de beoordeling van uw besturingssysteem.
  16. 16 Een besturingssysteem kan ook gebruiksvriendelijk zijn, dus zorg ervoor dat u gebruiksvriendelijke functies toevoegt, waardoor dit een integraal onderdeel wordt van uw ontwerp.