emkiset.ru

Hoe een besturingssysteem te creëren

De besturingssystemen stellen de gebruiker in staat om te communiceren met hun computerhardware, die gemaakt is met honderdduizenden regels code, meestal met de C, C ++ en assembleertalen.

stappen

Titel afbeelding Make a Computer Operating System Step 1
1
Je moet programmeerkennis hebben voordat je begint. Assembleertaal is essentieel - een andere extra taal op laag niveau zoals C wordt sterk aanbevolen.
  • Titel afbeelding Make a Computer Operating System Step 2
    2
    Bepaal in welk medium u het besturingssysteem wilt laden. Het kan een CD, DVD, flashstation, een harde schijf of een andere pc zijn.
  • Titel afbeelding Make a Computer Operating System Step 3
    3
    Bepaal wat u wilt dat uw besturingssysteem doet. Als het een volledig geschikt besturingssysteem is met een grafische gebruikersinterface (GUI, Grafische gebruikersinterface) of iets meer minimalistisch, u moet weten welke richting u gaat volgen voordat u begint.
  • Titel afbeelding Make a Computer Operating System Step 4
    4
    Geef aan welk processorplatform compatibel is met uw besturingssysteem. We raden de twee meest voorkomende personal computers aan: AI-32 en x86_64.
  • Titel afbeelding Make a Computer Operating System Step 5
    5
    Bepaal of je alles zelf helemaal opnieuw wilt doen of dat er een bestaande kern is die je als basis zou willen gebruiken om te bouwen. Bijvoorbeeld, Linux helemaal opnieuw programmeren zal een project zijn voor diegenen die hun eigen Linux-distributie willen maken.
  • Titel afbeelding Make a Computer Operating System Step 6
    6
    Bepaal of je je eigen bootloader of een vooraf gemaakte bootloader gaat gebruiken als de globale verenigde opstartlader (GRUB, Grand Unified Bootloader). Omdat om de code van je eigen bootmanager te programmeren je een brede kennis van de hardware en de BIOS nodig hebt, kan het worden uitgesteld om de kernel zelf te programmeren.


  • Titel afbeelding Make a Computer Operating System Step 7
    7
    Bepaal welke programmeertaal u gaat gebruiken. Hoewel het mogelijk is om een ​​besturingssysteem met een taal zoals Pascal of BASIC te maken, is het beter als u C of de assembler gebruikt. De assembler is absoluut noodzakelijk, omdat sommige essentiële onderdelen van een besturingssysteem dit nodig hebben. C ++ van zijn kant bevat trefwoorden die een ander volledig geïntegreerd besturingssysteem nodig hebben om te werken.
  • Om een ​​besturingssysteem met de C- of C ++ -code te compileren, moet u natuurlijk elke compiler gebruiken. Lees daarom de handleiding of de handleidingen of gebruikersdocumentatie van de C of C ++ -compiler die u gaat kiezen, of deze bij de software wordt geleverd of beschikbaar is op de website van de distributeur. Je zult veel complexe dingen over de compiler moeten weten en om met C ++ te ontwikkelen, moet je kennis over de naam verfraaien (mangling-schema) van de compiler en zijn ABI. Er wordt van uitgegaan dat u de verschillende uitvoerbare indelingen (ELF, PE, COFF, niet-geformatteerde binaire bestanden, enz.) Moet kennen en begrijpt dat het gepatenteerde formaat van Windows, PE (.exe) auteursrechtelijk is beschermd.
  • Titel afbeelding Make a Computer Operating System Step 8
    8
    Bepaal wat de interface voor het programmeren van de toepassing zal zijn (API, Application Programming Interface). Wij adviseren 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 aan te sluiten op uw besturingssysteem.
  • Titel afbeelding Make a Computer Operating System Step 9
    9
    Bepaal het ontwerp. Er zijn monolithische kernen en micronuclei. Monolithics implementeren alle services in de kernel, terwijl micronuclei een kleine kernel hebben gecombineerd met user daemon-implementatieservices. In het algemeen zijn monolithische kernen sneller, maar micronuclei hebben een betere foutisolatie en -betrouwbaarheid.



  • Titel afbeelding Make a Computer Operating System Step 10
    10
    Overweeg om te ontwikkelen en als een team te werken. Op deze manier zullen meer problemen in minder tijd worden opgelost, wat sneller een beter besturingssysteem zou kunnen genereren.
  • Titel afbeelding Make a Computer Operating System Step 11
    11
    Wis je harde schijf niet volledig. Vergeet niet dat wanneer u de schijf wist, u al uw gegevens onherroepelijk kunt wissen! Gebruik de GRUB of een andere opstartmanager, zodat uw computer een ander besturingssysteem heeft waarmee u kunt opstarten totdat de uwe volledig werkt.
  • Titel afbeelding Make a Computer Operating System Step 12
    12
    Begin met iets kleins. Het begint met kleine dingen zoals het weergeven van tekst en onderbrekingen voordat het doorgaan met het ontwikkelen van dingen zoals geheugenbeheer en multitasking.
  • Titel afbeelding Make a Computer Operating System Step 13
    13
    Sla een back-up van de laatste werkbron op. Dit is een beschermingsmaatregel in geval van een ernstig probleem met de huidige versie van uw besturingssysteem of uw ontwikkeling. Als de pc crasht en niet kan opstarten, is het geweldig om een ​​tweede exemplaar te hebben waarmee je kunt werken om het probleem op te lossen.
  • Titel afbeelding Make a Computer Operating System Step 14
    14
    Overweeg uw nieuwe besturingssysteem te testen op een virtuele computer. In plaats van de computer telkens opnieuw op te starten als u wijzigingen aanbrengt of bepaalde bestanden van het ontwikkelteam naar de testapparatuur moet overzetten, kunt u de toepassing van een virtuele computer gebruiken om uw besturingssysteem uit te voeren, terwijl het uwe nog steeds in gebruik is. Sommige virtuele computertoepassingen zijn VMWare (dat ook een gratis serverproduct heeft), het open-sourcealternatief, Bochs, Microsoft Virtual PC (niet compatibel met Linux) en xVM VirtualBox.
  • Titel afbeelding Make a Computer Operating System Step 15
    15
    Krijg een "lanceringskandidaat". Hierdoor kunnen gebruikers u informeren over mogelijke problemen met het besturingssysteem.
  • Titel afbeelding Make a Computer Operating System Step 16
    16
    Een besturingssysteem kan ook gemakkelijk te gebruiken zijn, dus zorg ervoor dat u gebruiksvriendelijke functies gebruikt, zodat deze een integraal onderdeel zijn van uw ontwerp.
  • tips

    • Nadat u alle ontwikkeling hebt uitgevoerd, beslist u of u de code open of gepatenteerd wilt hebben.
    • Begin niet een project om een ​​besturingssysteem te maken om te beginnen met programmeren. Als u geen gevorderde kennis hebt van C, C ++, Pascal of een andere geschikte taal, zoals pointermanipulatie, low-level bitmanipulatie, bitverschuiving, online assembler, enz., Dan bent u niet klaar om een ​​besturingssysteem te ontwikkelen .
    • Als u wilt dat uw systeem levensvatbaar is, moet uw hoogste prioriteit zijn om beveiligingsfuncties te implementeren.
    • Gebruik websites zoals OSDev en OSDever om u te helpen bij het ontwikkelen van uw eigen besturingssysteem. Houd er rekening mee dat voor de meeste doeleinden de OSDev.org-community er de voorkeur aan geeft dat je jezelf beperkt tot het gebruik van je wiki en niet deelneemt aan het forum. Als u besluit deel te nemen aan het forum, zijn er vereisten om dit te doen: u moet een goed begrip hebben van C of C ++ en de assemblagetaal x86. U moet ook complexe en algemene programmeerconcepten begrijpen, zoals gekoppelde lijsten, wachtrijen, enz. De gemeenschapsregulering van de OSDev stelt expliciet dat het doel van de gemeenschap niet is om te zorgen voor beginnende programmeurs. Als je een besturingssysteem probeert te ontwikkelen, is het vanzelfsprekend dat je een `god` van programmeren bent. Je zult ook de handleidingen van de processor moeten lezen voor de architectuur die je gaat kiezen - of het nu gaat om x86 (Intel), ARM, MIPS, PPC, etc. U kunt deze handleidingen gemakkelijk vinden met een Google-zoekopdracht ("Intel-handleidingen", "ARM-handleidingen", enz.). Doe niet mee OSDev.org-forums om voor de hand liggende vragen te stellen, maar ze zullen u eenvoudig vertellen om de reactiehandleiding te lezen. Probeer Wikipedia en de handleidingen van de verschillende tools die je wilt gebruiken te lezen.
    • Controleer op mogelijke blokkades en andere fouten. Fouten, vergrendelingen en andere problemen zijn van invloed op uw besturingssysteemproject
    • Als je het gemakkelijk wilt maken, houd dan rekening met sommige Linux-distributies, zoals Fedora Reviewer, Custom Nimble X, Puppy Remaster, PCLinuxOS mklivecd, SUSE Studio en SUSE KIWI. Het besturingssysteem waarvan u denkt dat het eigendom is van het bedrijf dat de service als eerste heeft gestart (hoewel u de rechten heeft om het gratis te verspreiden, te wijzigen en uit te voeren zoals u wilt onder de GPL).
    • We raden u aan een geheel nieuwe partitie te maken voor ontwikkelen het besturingssysteem.

    waarschuwingen

    • Onzorgvuldig typen van uw besturingssysteem op de harde schijf kan het volledig beschadigen, dus wees voorzichtig.
    • Je kunt niet binnen twee weken een compleet systeem maken. Maak er eerst een die begint en ga dan verder met interessante functies.
    • Verwacht niet dat het eenvoudig is om een ​​goed werkend besturingssysteem te bouwen. Er zullen bijvoorbeeld veel complexe onderlinge afhankelijkheden zijn, zodat het systeem meerdere processoren aankan, de geheugenbeheerder moet "vergrendel" -mechanismen hebben om te voorkomen dat meerdere processors tegelijkertijd toegang tot dezelfde bron hebben. De "sloten" hiervoor hebben de aanwezigheid van een planner nodig om ervoor te zorgen dat slechts één processor op elk moment toegang heeft tot een kritieke hulpbron terwijl iedereen wacht. De planner is echter afhankelijk van de aanwezigheid van een geheugenbeheerprogramma. Dit is het geval van een afhankelijkheid in neutraal. Er is geen standaardoplossing voor dit soort problemen, dus wordt aangenomen dat elke programmeur van een besturingssysteem de nodige vaardigheden moet hebben om ermee om te gaan.
    • Als u bijvoorbeeld iets productiefs doet, schrijf willekeurige bytes naar willekeurige I / O-poorten, dan blokkeert u het besturingssysteem en kunt u de hardware (in theorie) verbranden.

    Extra middelen

    Dingen die je nodig hebt

    • Een computer
    • Een CPU voor de architectuur die je gaat ontwikkelen
    • Genoeg geheugen (RAM) voor een virtuele computer
    • Een hostbesturingssysteem (om de assembler, andere broncode, te ontwikkelen en te verpakken terwijl u zich in een vroeg stadium bevindt, kan uw eigen besturingssysteem na verloop van tijd uw gastheer zijn)
    • Syntaxis kleureditor (als u geen "Geïntegreerde ontwikkelomgeving" hebt)
    • Een compiler
    • Een CD / DVD-station
    Delen op sociale netwerken:

    Verwant
    Hoe spyware te blokkerenHoe spyware te blokkeren
    Hoe computers zonder besturingssysteem te kopenHoe computers zonder besturingssysteem te kopen
    Een herstelschijf maken en een back-up van uw harde schijf maken op een Toshiba Satellite P750 04SEen herstelschijf maken en een back-up van uw harde schijf maken op een Toshiba Satellite P750 04S
    Hoe maak je een eenvoudig programma in CHoe maak je een eenvoudig programma in C
    Hoe Windows 8.1 te verwijderenHoe Windows 8.1 te verwijderen
    Hoe computerproblemen te diagnosticerenHoe computerproblemen te diagnosticeren
    Een computer kiezen voor uw opnamestudioEen computer kiezen voor uw opnamestudio
    Hoe een virus uit de bootsector te verwijderenHoe een virus uit de bootsector te verwijderen
    Hoe een laptop te formatterenHoe een laptop te formatteren
    Hoe Debian te installerenHoe Debian te installeren
    » » Hoe een besturingssysteem te creëren
    © 2021 emkiset.ru