Si të krijoni një sistem operativ kompjuterik (me fotografi)

Përmbajtje:

Si të krijoni një sistem operativ kompjuterik (me fotografi)
Si të krijoni një sistem operativ kompjuterik (me fotografi)

Video: Si të krijoni një sistem operativ kompjuterik (me fotografi)

Video: Si të krijoni një sistem operativ kompjuterik (me fotografi)
Video: ПРИВОЗ. ОДЕССА СЕГОДНЯ. МЯСО РЫБА ЦЕНЫ И НОЖИ 2022 2024, Nëntor
Anonim

Sistemi operativ i lejon përdoruesit të ndërveprojë me pajisjet kompjuterike. Sistemi përbëhet nga qindra mijëra rreshta kodesh. Zakonisht sistemi operativ është bërë duke përdorur gjuhët programuese C#, C, C ++ dhe asamble. Sistemi operativ ju lejon të shfletoni kompjuterin tuaj duke ruajtur dhe ekzekutuar komandat. Mos mendoni se krijimi i një sistemi operativ është i lehtë. Duhet shumë njohuri për ta bërë atë.

Hapi

Krijoni një sistem operativ kompjuterik Hapi 1
Krijoni një sistem operativ kompjuterik Hapi 1

Hapi 1. Para së gjithash, mësoni rreth programimit

Gjuha e asamblesë është shumë e rëndësishme; rekomandohet shumë që të mësoni një gjuhë tjetër plotësuese të nivelit të lartë siç është gjuha C.

Krijoni një sistem operativ kompjuterik Hapi 2
Krijoni një sistem operativ kompjuterik Hapi 2

Hapi 2. Vendosni se çfarë media dëshironi të përdorni për të ngarkuar OS

Kjo media mund të jetë një disk CD, DVD drive, flash drive, hard disk, floppy disk, ose një kompjuter tjetër.

Krijoni një sistem operativ kompjuterik Hapi 3
Krijoni një sistem operativ kompjuterik Hapi 3

Hapi 3. Përcaktoni idenë thelbësore të një SO

Për shembull, në Windows, ideja kryesore është një GUI i lehtë për t’u përdorur dhe shumë siguri.

Krijoni një sistem operativ kompjuterik Hapi 4
Krijoni një sistem operativ kompjuterik Hapi 4

Hapi 4. Përcaktoni se çfarë platforme procesori do të mbështesë sistemi juaj operativ

IA-32, ARM dhe x86_64 janë platformat më të zakonshme për kompjuterët personalë. Pra, të gjitha ato janë zgjedhja juaj më e mirë.

Krijoni një sistem operativ kompjuterik Hapi 5
Krijoni një sistem operativ kompjuterik Hapi 5

Hapi 5. Vendosni nëse preferoni të bëni gjithçka vetë nga e para, ose a ka një kernel tashmë të disponueshëm mbi të cilin dëshironi të ndërtoni

Për shembull, Linux nga e para është një projekt për njerëzit që duan të ndërtojnë shpërndarjen e tyre Linux.

Krijoni një sistem operativ kompjuterik Hapi 6
Krijoni një sistem operativ kompjuterik Hapi 6

Hapi 6. Vendosni nëse do të përdorni ngarkuesin tuaj të nisjes ose atë të para-ndërtuar si Grand Unified Bootloader (GRUB)

Kodimi i ngarkuesit vetë do të kërkojë njohuri të gjera të harduerit dhe BIOS. Si rezultat, ky hap mund të pengojë orarin aktual të programimit të kernelit.

Krijoni një sistem operativ kompjuterik Hapi 7
Krijoni një sistem operativ kompjuterik Hapi 7

Hapi 7. Vendosni se çfarë gjuhe programimi të përdorni

Fineshtë mirë të kesh një sistem operativ në një gjuhë si Pascal ose BASIC, por duhet të përdorësh C ose Asamble. Montimi është shumë i nevojshëm, sepse disa pjesë të rëndësishme të një sistemi operativ e kërkojnë atë. Nga ana tjetër, gjuha C ++ përmban fjalë kyçe që kërkojnë SO të tjera të plota për t'u ekzekutuar.

Për të përpiluar një sistem operativ nga kodi C ose C ++, natyrisht që do të përdorni njërin përpilues ose tjetrin. Prandaj, është një ide e mirë të konsultoheni me udhëzuesin/manualin/dokumentacionin e përdoruesit për përpiluesin C/C ++ sipas zgjedhjes tuaj, qoftë i përfshirë në softuer ose i disponueshëm në faqen e internetit të shpërndarësit. Duhet të dini shumë gjëra të komplikuara në lidhje me përpiluesin dhe, për zhvillimin e C ++, duhet të dini për skemën e grumbullimit të përpiluesit dhe ABI -në e tij. Pritet që ju të kuptoni formatet e ndryshme të ekzekutueshme (ELF, PE, COFF, binare bazë, etj.), Dhe të kuptoni që formati ekskluziv i Windows, PE (.exe), është i mbrojtur nga e drejta e autorit

Krijoni një sistem operativ kompjuterik Hapi 8
Krijoni një sistem operativ kompjuterik Hapi 8

Hapi 8. Përcaktoni ndërfaqen tuaj të programimit të aplikacionit (API)

Një API e mirë për të zgjedhur është POSIX pasi është e dokumentuar mirë. Të gjithë sistemet Unix kanë të paktën mbështetje të pjesshme për POSIX. Pra, lidhja e programeve Unix me OS tuaj duhet të jetë e lehtë.

Krijoni një sistem operativ kompjuterik Hapi 9
Krijoni një sistem operativ kompjuterik Hapi 9

Hapi 9. Vendosni për modelin tuaj

Ekziston një gjë e tillë si një kernel monolit dhe një mikro kernel. Kernelët monolit zbatojnë të gjitha shërbimet në kernel, ndërsa mikro kernelët kanë kernel të vegjël të bashkuar me shërbimet e vendosjes së demonëve të përdoruesit. Në përgjithësi, bërthamat monolite janë më të shpejta, por mikrokernelët kanë izolim dhe besueshmëri më të mirë të defekteve.

Krijoni një sistem operativ kompjuterik Hapi 10
Krijoni një sistem operativ kompjuterik Hapi 10

Hapi 10. Merrni parasysh zhvillimin dhe punën në një ekip

Në atë mënyrë, kërkon më pak kohë për të zgjidhur më shumë probleme, të cilat ndoshta do të përshpejtojnë ndërtimin e një OS më të mirë.

Krijoni një sistem operativ kompjuterik Hapi 11
Krijoni një sistem operativ kompjuterik Hapi 11

Hapi 11. Mos e fshini plotësisht hard diskun tuaj

Mos harroni, fshirja e një disku do të fshijë të gjitha të dhënat në të në mënyrë të pakthyeshme! Përdorni GRUB ose një menaxher tjetër të nisjes për të nisur dy herë sistemin tuaj me një OS tjetër derisa OS juaj të jetë plotësisht funksional.

Krijoni një sistem operativ kompjuterik Hapi 12
Krijoni një sistem operativ kompjuterik Hapi 12

Hapi 12. Filloni të vogla

Filloni me gjëra të vogla si shfaqja e tekstit dhe ndaloni para se të kaloni në gjëra të tilla si menaxhimi i kujtesës dhe puna e përbërë. Gjithashtu sigurohuni që të bëni versionet 32 bit dhe 64 bit.

Krijoni një sistem operativ kompjuterik Hapi 13
Krijoni një sistem operativ kompjuterik Hapi 13

Hapi 13. Mbani një kopje rezervë të kodit burimor të fundit të punës

Ky hap është i dobishëm si një garanci në rast se diçka nuk shkon mirë me versionin aktual të SO ose zhvillimit. Nëse kompjuteri juaj prishet dhe nuk fillon, është ide e mirë të keni një kopje të dytë për të punuar me të, në mënyrë që të rregulloni problemin.

Bëni një sistem operativ kompjuterik Hapi 14
Bëni një sistem operativ kompjuterik Hapi 14

Hapi 14. Merrni parasysh testimin e sistemit tuaj të ri operativ me një makinë virtuale

Në vend që të rindizni kompjuterin tuaj sa herë që bëni ndryshime ose pasi të keni dërguar skedarë nga kompjuteri juaj i zhvillimit në makinën tuaj të testimit, mund të përdorni një aplikacion të makinës virtuale për të ekzekutuar sistemin tuaj operativ ndërsa sistemi juaj aktual po funksionon. Aplikacionet aktuale VM përfshijnë: VMWare (i cili gjithashtu ka një produkt serveri në dispozicion falas), alternativa me burim të hapur, Bochs, Microsoft Virtual PC (jo i pajtueshëm me Linux) dhe Oracle VirtualBox.

Krijoni një sistem operativ kompjuterik Hapi 15
Krijoni një sistem operativ kompjuterik Hapi 15

Hapi 15. Nisni "kandidatin e lirimit" ose versionin Beta

Ky hap do t'i lejojë përdoruesit t'ju njoftojë për problemet e mundshme me sistemin tuaj operativ.

Krijimi i një sistemi operativ kompjuterik Hapi 16
Krijimi i një sistemi operativ kompjuterik Hapi 16

Hapi 16. Sistemi operativ gjithashtu duhet të jetë miqësor për përdoruesit

Sigurohuni që të shtoni veçori miqësore për përdoruesit, bëjini këto pjesë përbërëse të dizajnit tuaj.

Këshilla

  • Kontrolloni për bllokime të mundshme dhe defekte të tjera. Gabimet, ngërçet dhe çështje të tjera do të ndikojnë në projektin e ndërtimit të sistemit tuaj operativ.
  • Sigurohuni që të zbatoni veçoritë e sigurisë si një përparësi kryesore nëse doni që sistemi të funksionojë siç duhet.
  • Përdorni faqe interneti si OSDev dhe OSDever për t'ju ndihmuar të zhvilloni sistemin tuaj operativ. Ju lutemi vini re se për shumicën e qëllimeve, komuniteti OSDev.org do të jetë më se i lumtur nëse përdorni wiki -n e tyre dhe nuk bashkoheni në forum. Nëse vendosni të bashkoheni në një forum, ekziston një parakusht: duhet të dini vërtet për C ose C ++, dhe gjuhën e asamblesë x86. Ju gjithashtu duhet të kuptoni konceptet e përgjithshme dhe komplekse të programimit si Listat e Lidhura, Radhat, etj. Komuniteti OSDev, në rregulloret e tij, shprehimisht thotë se komuniteti i tij nuk është krijuar për të ushqyer programues të rinj.
  • Mos u bashko me forumin OSDev.org dhe më pas bëni pyetjen e qartë. Do t'ju kërkohet vetëm të lexoni udhëzuesin. Lexoni Wikipedia dhe udhëzimet për çfarëdo pajisje që dëshironi të përdorni.
  • Nëse po përpiqeni të zhvilloni një sistem operativ, patjetër që konsideroheni si "zot" i programimit.
  • Ju gjithashtu duhet të keni lexuar manualin e procesorit për arkitekturën e procesorit që keni zgjedhur; qoftë x86 (Intel), ARM, MIPS, PPC, etj. Manualet për arkitekturat e procesorit janë të lehta për tu gjetur duke përdorur një kërkim në Google ("manual Intel", "manual ARM", etj.).
  • Pasi të ketë përfunduar e gjithë puna e zhvillimit, vendosni nëse doni ta lëshoni kodin si kod të hapur, ose sipas të drejtës së autorit.
  • Mos fillo një projekt i sistemit operativ për të filluar mësimin e programimit. Nëse nuk dini brenda dhe jashtë për C, C ++, Pascal ose ndonjë gjuhë tjetër të përshtatshme, përfshirë manipulimin e treguesit, manipulimin e nivelit të ulët të bitit, zhvendosjen e bitit, gjuhët e montimit në linjë, etj., Nuk jeni gati për sistemin operativ zhvillimi.
  • Krijimi i një ndarje krejtësisht të re për të "zgjeruar" SO mund të jetë një mundësi e mirë.
  • Nëse doni një mënyrë të lehtë, merrni parasysh shpërndarjet Linux si Fedora Revisor, Custom Nimble X, Puppy Remaster, PCLinuxOS Mk LiveCD, ose SUSE Studio dhe SUSE KIWI. Sidoqoftë, sistemi operativ që krijoni i përket kompanisë që filloi shërbimin e parë (megjithëse ju keni të drejtë ta shpërndani lirshëm atë, ta modifikoni atë dhe ta përdorni si të dëshironi sipas GPL).

Paralajmërim

  • Nuk do të merrni një sistem të plotë operativ brenda dy javësh. Filloni me një SO të bootable, pastaj kaloni në gjëra më të ftohta.
  • Shkrimi i pakujdesshëm i sistemit tuaj operativ në një hard disk mund ta dëmtojë plotësisht atë. Bej kujdes.
  • Nëse bëni diçka që nuk rekomandohet, si të shkruani byte të rastësishme në portet e rastësishme të hyrjes/daljes, do të rrëzoni sistemin tuaj operativ dhe (në teori) mund të djeg pajisjen tuaj.
  • Mos prisni që sistemi operativ të ndërtohet lehtë. Ka shumë ndërvarësi të ndërlikuara. Për shembull, për të krijuar një sistem operativ të aftë për të trajtuar procesorë të shumtë, Menaxheri juaj i kujtesës duhet të ketë një mekanizëm "bllokues" për të parandaluar që procesorë të shumtë të kenë qasje në të njëjtin burim në të njëjtën kohë. "Bllokimi" i përdorur për këtë do të kërkonte një programues për të siguruar që vetëm një procesor të ketë qasje në burimet kritike në çdo kohë të caktuar dhe të gjithë të tjerët duhet të presin. Në fakt, programuesi varet nga prania e Menaxherit të Kujtesës. Ky është një shembull i varësisë nga një rrugë pa krye. Nuk ka asnjë mënyrë standarde për të zgjidhur këtë lloj problemi; çdo programues i sistemit operativ pritet të jetë mjaft i aftë për të ditur mënyrën e tij të trajtimit të tij.

Burimet shtesë

  • Udhëzime: Linux From Scratch
  • Ngarkuesi i ngarkimit: GRUB
  • Aplikimet e makinave virtuale: Bochs, VM Ware, XM Virtual Box.
  • Manuali i procesorit: manuali Intel
  • SO faqet e zhvillimit: OSDev, OSDever

Recommended: