Kako razviti operativni sistem za računar

Operativni sustavi sastavljeni od stotina hiljada redova koda omogućavaju korisnicima da komuniciraju sa računarskom opremom. Obično se napisuju u programskim jezicima C, C ++ i Assembler.

Korake

  1. Slika pod nazivom Napravite računarski operativni sistem korak 1
jedan. Za početak programiranja učenja. Poznavanje montaže mora se također savjetovati da će pojm ostalih dodatnih programskih jezika nižeg nivoa, na primjer, sa.
  • Slika pod nazivom Napravite računarski operativni sistem korak 2
    2. Odlučite koji uređaj želite preuzeti operativni sistem. Može biti CD, DVD, Flash memorijski uređaj, tvrdi disk ili drugo računalo.
  • Slika pod nazivom Napravite računarski operativni sistem korak 3
    3. Odlučite koje želite vidjeti svoj operativni sistem. Ako je ovo puna verzija OS-a s grafičkim korisničkim sučeljem (GUI) ili, možda nešto minimalističkijim? Morate znati u kojem se smjeru premjestiti, prije početka procesa.
  • Slika pod nazivom Napravite računarski operativni sistem korak 4
    4. Navedite koju platformu procesora vaš operativni sistem će podržati. AI-32 i X86_64 su dvije najčešće verzije za lične računare, tako da se mogu smatrati najboljim izborom.
  • Slika pod nazivom Napravite računarski operativni sistem korak 5
    pet. Odlučite da li više volite da radite sve od nule, ili postoje kerneli, na osnovu kojeg biste željeli sisati sistem. Linux iz Scratch - Projekt za one koji žele na primjer, stvoriti vlastiti Linux distribucija.
  • Slika pod nazivom Napravite računarski operativni sistem korak 6
    6. Odaberite, hoćete li koristiti vlastiti bootloader ili unaprijed stvoren jedinstveni sistemski utovarivač Grand Unified Bootloader (Grub). Budući da se kodiranje vlastitog programa preuzimanja zahtijeva veliko znanje iz oblasti računarske sigurnosti i BIOS-a, može pomaknuti raspored programiranja trenutnog jezgara.
  • Slika pod nazivom Napravite računarski operativni sistem korak 7
    7. Donesite odluku o programiranju jezika koji će koristiti. Naravno, sasvim je moguće razviti OS na tako jeziku kao Pascal ili Basic, ali poželjno je pisati sa ili montažom. Assembler je apsolutno potreban, t. Do. Neki važni dijelovi operativnog sistema zahtijevaju znanje o ovom određenom jeziku. C ++, s druge strane, sadrži ključne riječi potrebne za pokretanje pune verzije OS-a.
  • Da biste sastavili OS koristeći C ili C ++ kodove, sigurno ćete koristiti jedan prevodilac, a zatim drugi. To znači da morate pročitati vodič / upute / dokumentaciju za odabrani C / C ++ kompajler koji se isporučuje sa softverom ili dostupan na web mjestu distributera. Morat ćete naučiti mnogo složenih stvari o prevodilacu, pored toga, poboljšati C ++ za učenje njegove šeme i Abi. Od vas se očekuje da razumete različite formate izvršnih zadataka (ELF, PE, CAFF, Obični binarni i T.D.) I primijetite da svoj vlastiti Windows format, PE (.Exe) Autorska prava je zaštićena.
  • Slika pod nazivom Napravite računarski operativni sistem korak 8
    osam. Odaberite aplikacijsko programiranje sučelja (API). Jedan od odabira dobrog API-ja je Posix, jer je dobro dokumentovan. Svi UNIX sustavi imaju barem djelomičnu podršku Posix-u, tako da bi bilo trivijalno priložite UNIX programe u svoj operativni sistem.
  • Slika pod nazivom Napravite računarski operativni sistem korak 9
    devet. Odlučite sa dizajnom. Postoje monolitni jezgra i mikrokernel. Monolitni kerneli obavljaju sve usluge u kernelu, dok Microkernel ima malu kernel u kombinaciji s realizacijom korisnika usluga. Općenito, monolitne jezgre su brže, ali mikrokernel ima bolju izolaciju i zaštitu od mogućih kvarova.
  • Slika pod nazivom Napravite računarski operativni sistem korak 10
    10. Razmotrite pitanje razvoja i rada u timu. Stoga će vam trebati manje vremena za rješavanje velikih problema, što će stvoriti kvalitetniji operativni sistem za kraće vrijeme.
  • Slika pod nazivom Napravite računarski operativni sistem korak 11
    jedanaest. Ne brišite svoj tvrdi disk u potpunosti. Zapamtite, disk formatiranje nepovratno očistite sve svoje podatke! Koristite Grubicu ili drugi menadžer za duplikat preuzimanja računara na drugom OS-u, sve dok vaša verzija nije potpuno spremna funkcionalna.
  • Slika pod nazivom Napravite računarski operativni sistem korak 12
    12. Započnite s malim. Napomena prvenstveno na sitnice, poput prikazivanja teksta i prekida prije prelaska na složene elemente, na primjer, na upravljanje memorijom i više zadataka.
  • Slika pod nazivom Napravite računarski operativni sistem korak 13
    13. Spremite sigurnosnu kopiju posljednje radne verzije. To daje određenu mirnoću u slučaju da nešto kaže u trenutnoj verziji vašeg OS-a ili naknadnih dodataka. U slučaju kvarova na vašem računaru i nemogućnosti preuzimanja, kao što vi sami razumijete, odlična prilika bit će prisustvo drugog primjerka za rad, tako da možete ukloniti postojeće greške.
  • Slika pod nazivom Napravite računarski operativni sistem korak 14
    četrnaest. Ispitajte svoj novi operativni sistem na virtualnoj mašini. Umjesto da ponovo pokrenete računar svaki put nakon izmjene ili prenose datoteke sa testne mašine na testni stroj, aplikaciju možete koristiti za pokretanje OS-a na virtualnoj mašini, dok vaš trenutni OS i dalje radi. VM aplikacije uključuju VMware (što takođe ima besplatan pristup poslužitelju), alternativni otvoreni kodanci, Bochs, Microsoft Virtual PC (nije kompatibilan sa Linuxom), kao i XVM virtualbox.
  • Slika pod nazivom Napravite računarski operativni sistem korak 15
    petnaest. Otpustite verziju izdanja. Ovo će omogućiti korisnicima da vam kažu o mogućim nedostacima u vašem operativnom sistemu.
  • Slika pod nazivom Napravite računarski operativni sistem korak 16
    šesnaest. Operativni sistem također mora biti prikladan za korisnika, tako da ne zaboravite dodavati korisne funkcije koje će postati sastavni dio vašeg dizajna.
  • Savjeti

    • Kada se razvoj završi, mislite ako želite podnijeti kod u slobodnom pristupu ili uspostaviti privatna prava na njega.
    • Obavezno napravite sigurnosne značajke prema osnovnom prioritetu, ako želite da vaš sistem bude održiv.
    • Ne pokrećete razvojni projekat operativnog sistema da biste obučili programiranje. Ako ne znate C, C ++, Pascal ili neke druge odgovarajuće jezike i svojstva, uključujući vrste pokazivača, operacije sa bitovima niskog nivoa, bitove prebacivanja, ugrađenog sastavljača i t.D., - Dakle, još nije spreman za stvaranje OS-a.
    • Pregledajte portale poput OSDEV-a i osdera koji će vam pomoći u poboljšanju vlastitog operativnog sistema. Obratite posebnu pažnju na činjenicu da je većina pitanja OSDEV.Org preferira da utiče na sadržaj stranice, a ne pridružio se forumu. Ako se još uvijek odlučite pridružiti redama pripadnika Foruma, mora postojati određeni preduvjeti za to. Morate temeljito znati C ili C ++ i jezični X86 skupljač. Morate razumjeti i zajedničke i sveobuhvatne koncepte u programiranju, poput povezanih lista, reda i t.D. Zajednica OSDEV-a u njegovim pravilima direktno ukazuje da niko neće sestrovati novim programerima. Ako pokušavate razviti OS, to ne kaže da ste "Bog" u području programiranja. Također morate pročitati priručnik za rad sa procesorom koji se tiču ​​njegove arhitekture odabrane od strane - na primjer, x86 (Intel), ruku, mipa, ppc i t.D. Takav priručnik za strukturu procesora može se lako pronaći pretraživanjem u Googleu ("Intel priručnici", "Priručnici za ruke" i t.D.). Ne registrujte se na OSDEV forumu.Org za postavljanje očiglednih pitanja. To će jednostavno dovesti do odgovora poput "Pročitajte priručnik za F *** ing" ". Za početak, trebali biste pokušati čitati Wikipedia, koristi za različite alate koji će koristiti.
    • Provjerite za potencijalne mrtve točke i druge pogreške. Nedostaci, zastoj i drugi problemi mogu utjecati na projekt vašeg operativnog sistema.
    • Ako želite način jednostavnije, pošaljite Linux distribucije - kao što su revizor Fedora, prilagođeni Nimble X, štenad, pclinuxos mklivecd ili suse studio i suse studio i suse kiwi. Ipak, OS stvoren pripada kompaniji koja je prva koja je uvela ovu uslugu (iako imate pravo na njegovu slobodnu distribuciju, promjenu i pokretanje, kao što želite, pod GPL-om).
    • Dobro rješenje bit će stvaranje potpuno nove particije za razvoj operativnog sistema.

    Upozorenja

    • Bez kartona za prepisivanje na tvrdom disku može ga u potpunosti oštetiti. Budi pazljiv
    • Nećete dobiti potpuno spremni sistem za dvije sedmice. Počnite od preuzetog operativnog sistema, a zatim idite na zanimljive stvari.
    • Ako učinite nešto brz, kao, na primjer, napišite slučajne bajtove u proizvoljnim I / O portovima, a zatim uništite svoj OS i možete (u teoriji) snimiti svoju opremu.
    • Ne očekujte da će biti lako izgraditi visokokvalitetni operativni sistem. Postoji mnogo složenih međuovisnosti. Na primjer, kako bi OS mogao raditi s više procesora, vaš menadžer za pamćenje mora imati "blokiranje" mehanizme za sprečavanje nepotrebnih procesora u istom resuru. Korisni "blokovi" preuzme prisustvo planera kako bi se osiguralo da samo jedan procesor uloži samo jedan procesor na kritički resurs, a svi ostali su u stanju pripravnosti. Međutim, radni planer ovisi o prisutnosti menadžera za pamćenje. Ovo je primjer ovisno o blokadi. Ne postoji standardni način rješavanja takvih problema - očekuje se da će svaki tvorac operativnog sistema biti prilično kvalificiran za pronalaženje vlastitog rješenja.

    Sta ti treba

    • Računar
    • Procesor na kojem ćete graditi
    • Dovoljna RAM-a (RAM) za virtualnu mašinu
    • Glavni OS (koristi se za razvoj izvornog koda sklopova (i drugih).), kao i sklopovi i ambalaže u ranim fazama rada - na kraju će vaš vlastiti OS postati primarni)
    • Editor sintakse uloga u boji (primijenjena u nedostatku integriranog razvojnog okruženja)
    • Prevodilac
    • CD / DVD pogon
    Slične publikacije