Kā izveidot datora operētājsistēmu (ar attēliem)

Satura rādītājs:

Kā izveidot datora operētājsistēmu (ar attēliem)
Kā izveidot datora operētājsistēmu (ar attēliem)

Video: Kā izveidot datora operētājsistēmu (ar attēliem)

Video: Kā izveidot datora operētājsistēmu (ar attēliem)
Video: How to Downgrade from Windows 8 to Windows 7 2024, Maijs
Anonim

Operētājsistēma ļauj lietotājam mijiedarboties ar datora aparatūru. Sistēma sastāv no simtiem tūkstošu koda rindu. Parasti operētājsistēma tiek veidota, izmantojot C#, C, C ++ un montāžas programmēšanas valodas. Operētājsistēma ļauj pārlūkot datoru, vienlaikus saglabājot un izpildot komandas. Nedomājiet, ka ir viegli izveidot operētājsistēmu. Lai to izveidotu, ir vajadzīgas daudz zināšanu.

Solis

Izveidojiet datora operētājsistēmu 1. darbība
Izveidojiet datora operētājsistēmu 1. darbība

1. solis. Vispirms uzziniet par programmēšanu

Asamblejas valoda ir ļoti svarīga; ir ļoti ieteicams iemācīties citu papildu augsta līmeņa valodu, piemēram, C valodu.

Izveidojiet datora operētājsistēmu 2. darbība
Izveidojiet datora operētājsistēmu 2. darbība

2. solis. Izlemiet, kādu datu nesēju vēlaties izmantot, lai ielādētu OS

Šis datu nesējs var būt CD diskdzinis, DVD diskdzinis, zibatmiņas disks, cietais disks, disketes vai cits dators.

Izveidojiet datora operētājsistēmu 3. darbība
Izveidojiet datora operētājsistēmu 3. darbība

3. solis. Definējiet iebildumu pamatideju

Piemēram, operētājsistēmā Windows galvenā ideja ir viegli lietojams GUI un daudz drošības.

Izveidojiet datora operētājsistēmu 4. darbība
Izveidojiet datora operētājsistēmu 4. darbība

4. solis. Nosakiet, kādu procesora platformu jūsu operētājsistēma atbalstīs

IA-32, ARM un x86_64 ir visizplatītākās personālo datoru platformas. Tātad, tie visi ir jūsu labākā izvēle.

Izveidojiet datora operētājsistēmu 5. darbība
Izveidojiet datora operētājsistēmu 5. darbība

5. solis. Izlemiet, vai vēlaties visu darīt pats, vai arī jau ir pieejams kodols, uz kura vēlaties balstīties

Piemēram, Linux no nulles ir projekts cilvēkiem, kuri vēlas izveidot savu Linux izplatīšanu.

Izveidojiet datora operētājsistēmu 6. darbība
Izveidojiet datora operētājsistēmu 6. darbība

6. solis. Izlemiet, vai izmantosit savu sāknēšanas ielādētāju vai iepriekš izveidotu, piemēram, Grand Unified Bootloader (GRUB)

Lai sāknēšanas ielādētāju kodētu pats, būs nepieciešamas plašas zināšanas par aparatūru un BIOS. Tā rezultātā šis solis var kavēt faktisko kodola programmēšanas grafiku.

Izveidojiet datora operētājsistēmu 7. darbība
Izveidojiet datora operētājsistēmu 7. darbība

7. solis. Izlemiet, kādu programmēšanas valodu izmantot

Ir labi, ja operētājsistēma ir tādā valodā kā Pascal vai BASIC, taču jums vajadzētu izmantot C vai Assembly. Montāža ir ļoti nepieciešama, jo dažas svarīgas operētājsistēmas daļas to pieprasa. No otras puses, C ++ valodā ir atslēgvārdi, kuru palaišanai nepieciešams cits pilns SO.

Lai apkopotu operētājsistēmu no C vai C ++ koda, protams, jūs izmantosit vienu vai otru kompilatoru. Tāpēc ieteicams iepazīties ar jūsu izvēlētā C/C ++ kompilatora lietošanas pamācību/rokasgrāmatu/dokumentāciju neatkarīgi no tā, vai tā ir iekļauta programmatūrā vai ir pieejama izplatītāja vietnē. Jums jāzina daudz sarežģītu lietu par kompilatoru, un C ++ attīstībai jums jāzina par kompilatora manipulācijas shēmu un tās ABI. Paredzams, ka jūs sapratīsit dažādus izpildāmos formātus (ELF, PE, COFF, pamata bināro failu utt.) Un sapratīsit, ka ekskluzīvais Windows formāts PE (.exe) ir aizsargāts ar autortiesībām

Izveidojiet datora operētājsistēmu 8. darbība
Izveidojiet datora operētājsistēmu 8. darbība

8. solis. Definējiet lietojumprogrammu saskarni (API)

Viena laba API, no kuras izvēlēties, ir POSIX, jo tā ir labi dokumentēta. Visām Unix sistēmām ir vismaz daļējs POSIX atbalsts. Tātad Unix programmu savienošanai ar OS vajadzētu būt vienkāršai.

Izveidojiet datora operētājsistēmu 9. darbība
Izveidojiet datora operētājsistēmu 9. darbība

9. solis. Izlemiet par savu dizainu

Ir tāda lieta kā monolīts kodols un mikro kodols. Monolītie kodoli realizē visus pakalpojumus kodolā, savukārt mikrokodoliem ir mazi kodoli, kas ir komplektā ar lietotāju dēmonu izvietošanas pakalpojumiem. Kopumā monolītie kodoli ir ātrāki, bet mikrokodoliem ir labāka kļūdu izolācija un uzticamība.

Izveidojiet datora operētājsistēmu 10. darbība
Izveidojiet datora operētājsistēmu 10. darbība

10. solis. Apsveriet iespēju attīstīties un strādāt komandā

Tādā veidā ir nepieciešams mazāk laika, lai atrisinātu vairāk problēmu, kas, iespējams, paātrinās labākas OS izveidi.

Izveidojiet datora operētājsistēmu 11. darbība
Izveidojiet datora operētājsistēmu 11. darbība

11. solis. Neslaukiet cieto disku pilnībā

Atcerieties, ka diska dzēšana neatgriezeniski izdzēsīs visus tajā esošos datus! Izmantojiet GRUB vai citu sāknēšanas pārvaldnieku, lai dublētu sistēmas sāknēšanu ar citu OS, līdz jūsu operētājsistēma ir pilnībā funkcionāla.

Izveidojiet datora operētājsistēmu 12. darbība
Izveidojiet datora operētājsistēmu 12. darbība

12. solis. Sāciet ar mazu

Sāciet ar mazām lietām, piemēram, teksta parādīšanu un pauzi, pirms pāriet pie tādām lietām kā atmiņas pārvaldība un salikts darbs. Pārliecinieties arī, ka izveidojat 32 bitu un 64 bitu versijas.

Izveidojiet datora operētājsistēmu 13. darbība
Izveidojiet datora operētājsistēmu 13. darbība

13. solis. Saglabājiet pēdējā darba avota koda dublējumu

Šis solis ir noderīgs kā drošības līdzeklis, ja kaut kas noiet greizi ar pašreizējo SO versiju vai izstrādi. Ja jūsu dators avarē un netiek startēts, ieteicams izmantot otru kopiju, lai varētu to novērst.

Izveidojiet datora operētājsistēmu 14. darbība
Izveidojiet datora operētājsistēmu 14. darbība

14. solis. Apsveriet iespēju pārbaudīt savu jauno operētājsistēmu, izmantojot virtuālo mašīnu

Tā vietā, lai restartētu datoru katru reizi, kad veicat izmaiņas, vai pēc failu nosūtīšanas no attīstības datora uz testa iekārtu, varat izmantot virtuālās mašīnas lietojumprogrammu, lai palaistu OS, kamēr darbojas jūsu pašreizējā operētājsistēma. Pašreizējās VM lietojumprogrammas ietver: VMWare (kurā arī ir pieejams bezmaksas servera produkts), atvērtā pirmkoda alternatīvas, Bochs, Microsoft Virtual PC (nav saderīgs ar Linux) un Oracle VirtualBox.

Izveidojiet datora operētājsistēmu 15. darbība
Izveidojiet datora operētājsistēmu 15. darbība

Solis 15. Palaidiet "izlaišanas kandidātu" vai beta versiju

Šis solis ļaus lietotājam paziņot jums par iespējamām jūsu operētājsistēmas problēmām.

Izveidojiet datora operētājsistēmu 16. darbība
Izveidojiet datora operētājsistēmu 16. darbība

16. darbība. Operētājsistēmai jābūt arī lietotājam draudzīgai

Noteikti pievienojiet lietotājam draudzīgas funkcijas, padariet tās par neatņemamu dizaina sastāvdaļu.

Padomi

  • Pārbaudiet, vai nav strupceļu un citas kļūdas. Kļūdas, strupceļi un citas problēmas ietekmēs jūsu operētājsistēmas būvēšanas projektu.
  • Ja vēlaties, lai sistēma darbotos pareizi, pārliecinieties, ka esat ieviesis drošības līdzekļus kā galveno prioritāti.
  • Izmantojiet tādas vietnes kā OSDev un OSDever, lai palīdzētu jums izveidot savu operētājsistēmu. Lūdzu, ņemiet vērā, ka vairumam mērķu OSDev.org kopiena būs vairāk nekā laimīga, ja izmantosit viņu wiki un nepievienosities forumam. Ja jūs nolemjat pievienoties forumam, ir priekšnoteikums: jums patiešām jāzina par C vai C ++ un x86 montāžas valodu. Jums vajadzētu saprast arī vispārīgus un sarežģītus programmēšanas jēdzienus, piemēram, saistītos sarakstus, rindas utt. OSDev kopiena savos noteikumos skaidri norāda, ka tās kopiena nav radīta, lai audzinātu jaunus programmētājus.
  • Nepievienojieties ar OSDev.org forumu un pēc tam uzdodiet acīmredzamo jautājumu. Jums tiks lūgts tikai izlasīt ceļvedi. Izlasiet Wikipedia un norādījumus par jebkuru aprīkojumu, kuru vēlaties izmantot.
  • Ja jūs mēģināt izstrādāt operētājsistēmu, jūs noteikti uzskatāt par programmēšanas "dievu".
  • Jums vajadzētu arī izlasīt procesora rokasgrāmatu par jūsu izvēlēto procesora arhitektūru; vai x86 (Intel), ARM, MIPS, PPC utt. Procesora arhitektūras rokasgrāmatas ir viegli atrast, izmantojot Google meklēšanu ("Intel rokasgrāmata", "ARM rokasgrāmata" utt.).
  • Kad visi izstrādes darbi ir pabeigti, izlemiet, vai vēlaties atbrīvot kodu kā atvērto kodu vai ar autortiesībām.
  • Nesāc operētājsistēmas projekts, lai sāktu apgūt programmēšanu. Ja jūs nezināt iekšpusi un ārpusi par C, C ++, Pascal vai kādu citu piemērotu valodu, ieskaitot manipulācijas ar rādītāju, zema līmeņa bitu manipulāciju, bitu maiņu, iekļautās montāžas valodas utt., Jūs neesat gatavs operētājsistēmai attīstību.
  • Pilnīgi jauna nodalījuma izveide SO paplašināšanai varētu būt laba iespēja.
  • Ja vēlaties vienkāršu veidu, apsveriet tādas Linux izplatīšanas iespējas kā Fedora Revisor, Custom Nimble X, Puppy Remaster, PCLinuxOS Mk LiveCD vai SUSE Studio un SUSE KIWI. Tomēr jūsu izveidotā operētājsistēma pieder uzņēmumam, kurš pakalpojumu uzsāka pirmais (lai gan jums ir tiesības to brīvi izplatīt, modificēt un palaist, kā vēlaties saskaņā ar GPL).

Brīdinājums

  • Jūs nesaņemsiet pilnu operētājsistēmu divu nedēļu laikā. Sāciet ar bootable SO, pēc tam pārejiet pie vēsākas lietas.
  • Neuzmanīga operētājsistēmas ierakstīšana cietajā diskā var to pilnībā sabojāt. Esi uzmanīgs.
  • Ja jūs darāt kaut ko tādu, kas nav ieteicams, piemēram, rakstāt nejaušus baitus uz nejaušiem I/O portiem, jūs sabojāt savu OS un (teorētiski) var sadedzināt jūsu aparatūru.
  • Negaidiet, ka operētājsistēmu ir viegli izveidot. Ir daudz sarežģītu savstarpējo atkarību. Piemēram, lai izveidotu operētājsistēmu, kas spēj apstrādāt vairākus procesorus, jūsu atmiņas pārvaldniekam ir jābūt "bloķēšanas" mehānismam, kas neļauj vairākiem procesoriem vienlaikus piekļūt vienam un tam pašam resursam. Šim nolūkam izmantotā "slēdzene" prasītu, lai plānotājs nodrošinātu, ka tikai viens procesors jebkurā laikā piekļūst kritiskajiem resursiem un visiem pārējiem ir jāgaida. Faktiski plānotājs ir atkarīgs no atmiņas pārvaldnieka klātbūtnes. Šis ir piemērs strupceļa atkarībai. Nav standarta veida, kā atrisināt šāda veida problēmas; no katra operētājsistēmas programmētāja ir jābūt pietiekami prasmīgam, lai zinātu savu veidu, kā ar to tikt galā.

Papildu resursi

  • Vadlīnijas: Linux no nulles
  • Bootloader: GRUB
  • Virtuālās mašīnas lietojumprogrammas: Bochs, VM Ware, XM Virtual Box.
  • Procesora rokasgrāmata: Intel rokasgrāmata
  • SO izstrādes vietnes: OSDev, OSDever

Ieteicams: