Ինչպես պատրաստել համակարգչային օպերացիոն համակարգ (նկարներով)

Բովանդակություն:

Ինչպես պատրաստել համակարգչային օպերացիոն համակարգ (նկարներով)
Ինչպես պատրաստել համակարգչային օպերացիոն համակարգ (նկարներով)

Video: Ինչպես պատրաստել համակարգչային օպերացիոն համակարգ (նկարներով)

Video: Ինչպես պատրաստել համակարգչային օպերացիոն համակարգ (նկարներով)
Video: Днестр- от истока до моря Часть 8 Днёвка, дворец, чужой улов Сплав по реке 2024, Մայիս
Anonim

Օպերացիոն համակարգը թույլ է տալիս օգտագործողին փոխազդել համակարգչային սարքավորումների հետ: Համակարգը բաղկացած է հարյուր հազարավոր կոդերի տողերից: Սովորաբար օպերացիոն համակարգը պատրաստված է C#, C, C ++ և հավաքման ծրագրավորման լեզուների միջոցով: Օպերացիոն համակարգը թույլ է տալիս թերթել ձեր համակարգիչը ՝ պահպանելով և կատարելով հրամաններ: Մի կարծեք, որ օպերացիոն համակարգ ստեղծելը հեշտ է: Դրա պատրաստման համար անհրաժեշտ է շատ գիտելիքներ:

Քայլ

Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 1
Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 1

Քայլ 1. Առաջին հերթին սովորեք ծրագրավորման մասին:

Հավաքման լեզուն շատ կարևոր է. խորհուրդ է տրվում սովորել մեկ այլ լրացուցիչ բարձր մակարդակի լեզու, ինչպիսին է C լեզուն:

Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 2
Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 2

Քայլ 2. Որոշեք, թե ինչ մեդիա եք ցանկանում օգտագործել OS- ի բեռնման համար:

Այս մեդիան կարող է լինել CD սկավառակ, DVD սկավառակ, ֆլեշ կրիչ, կոշտ սկավառակ, անգործունյա սկավառակ կամ այլ համակարգիչ:

Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 3
Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 3

Քայլ 3. Սահմանեք SO- ի հիմնական գաղափարը:

Օրինակ, Windows- ում հիմնական գաղափարը հեշտ օգտագործման GUI- ն է և շատ անվտանգություն:

Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 4
Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 4

Քայլ 4. Որոշեք, թե որ պրոցեսորային հարթակն է աջակցելու ձեր օպերացիոն համակարգը:

IA-32, ARM և x86_64 անհատական համակարգիչների ամենատարածված հարթակներն են: Այսպիսով, դրանք բոլորը ձեր լավագույն ընտրությունն են:

Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 5
Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 5

Քայլ 5. Որոշեք, արդյոք նախընտրում եք ամեն ինչ ինքներդ անել զրոյից, թե՞ արդեն կա միջուկ, որի վրա կցանկանայիք կառուցել:

Օրինակ ՝ Linux- ը զրոյից նախագիծ է այն մարդկանց համար, ովքեր ցանկանում են կառուցել իրենց Linux- ի դիստրոյը:

Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 6
Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 6

Քայլ 6. Որոշեք ՝ օգտագործելու եք ձեր սեփական բեռնախցիկը, թե՞ նախապես կառուցվածը, ինչպիսին է Grand Unified Bootloader- ը (GRUB):

Բեռնիչն ինքնուրույն կոդավորելու համար կպահանջվի ապարատային և BIOS- ի լայն իմացություն: Արդյունքում, այս քայլը կարող է խոչընդոտել միջուկի ծրագրավորման իրական ժամանակացույցին:

Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 7
Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 7

Քայլ 7. Որոշեք, թե ինչ ծրագրավորման լեզու օգտագործել:

Լավ է ունենալ օպերացիոն համակարգ այնպիսի լեզվով, ինչպիսին է Pascal- ը կամ BASIC- ը, բայց դուք պետք է օգտագործեք C կամ Assembly: Հավաքումը շատ անհրաժեշտ է, քանի որ դա պահանջում է օպերացիոն համակարգի որոշ կարևոր մասեր: Մյուս կողմից, C ++ լեզուն պարունակում է հիմնաբառեր, որոնք աշխատելու համար պահանջում են այլ ամբողջական SO:

C կամ C ++ ծածկագրից օպերացիոն համակարգ կազմելու համար, իհարկե, դուք կօգտագործեք այս կամ այն կոմպիլյատորը: Հետևաբար, լավ գաղափար է խորհրդակցել ձեր ընտրած C/C ++ կոմպիլյատորի օգտվողի ուղեցույցի/ձեռնարկի/փաստաթղթերի հետ ՝ անկախ ծրագրակազմից կամ հասանելի դիստրիբյուտորի կայքում: Դուք պետք է շատ բարդ բաներ իմանաք կոմպիլյատորի մասին, իսկ C ++ - ի զարգացման համար `պետք է իմանաք կազմողի կազմալուծման սխեմայի և դրա ABI- ի մասին: Ձեզանից ակնկալվում է հասկանալ գործարկվող տարբեր ձևաչափեր (ELF, PE, COFF, հիմնական երկուականություն և այլն) և հասկանալ, որ բացառիկ Windows ձևաչափը ՝ PE (.exe), պաշտպանված է հեղինակային իրավունքով:

Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 8
Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 8

Քայլ 8. Սահմանեք ձեր ծրագրավորման ծրագրավորման միջերեսը (API):

Ընտրելու մեկ լավ API- ն POSIX- ն է, քանի որ այն լավ փաստաթղթավորված է: Բոլոր Unix համակարգերն ունեն առնվազն մասնակի աջակցություն POSIX- ի համար: Այսպիսով, Unix ծրագրերը ձեր ՕՀ -ին միացնելը պետք է հեշտ լինի:

Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 9
Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 9

Քայլ 9. Որոշեք ձեր դիզայնի վերաբերյալ:

Կա այնպիսի բան, ինչպիսին է մոնոլիտ միջուկը և միկրո միջուկը: Մոնոլիտ միջուկներն իրականացնում են միջուկի բոլոր ծառայությունները, մինչդեռ միկրո միջուկներում կան փոքր միջուկներ, որոնք համախմբված են օգտվողի դևերի տեղադրման ծառայություններով: Ընդհանուր առմամբ, մոնոլիտ միջուկներն ավելի արագ են, բայց միկրոմիջուկներն ունեն ավելի լավ անսարքության մեկուսացում և հուսալիություն:

Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 10
Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 10

Քայլ 10. Մտածեք թիմում զարգանալու և աշխատելու մասին:

Այդ կերպ ավելի քիչ ժամանակ է պահանջվում ավելի շատ խնդիրներ լուծելու համար, ինչը, հավանաբար, կարագացնի ավելի լավ ՕՀ -ի կառուցումը:

Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 11
Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 11

Քայլ 11. Մի մաքրեք ձեր կոշտ սկավառակը ամբողջությամբ:

Հիշեք, որ սկավառակը ջնջելը անդառնալիորեն կջնջի դրա վրա եղած բոլոր տվյալները: Օգտագործեք GRUB- ը կամ մեկ այլ բեռնման մենեջեր ՝ ձեր համակարգը մեկ այլ ՕՀ -ով կրկնակի գործարկելու համար, մինչև ձեր ՕՀ -ն լիովին գործի:

Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 12
Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 12

Քայլ 12. Սկսեք փոքրից:

Սկսեք փոքր բաներից, ինչպիսիք են տեքստի ցուցադրումը և դադար, նախքան հիշողության կառավարման և բարդ աշխատանքի անցնելը: Նաև համոզվեք, որ պատրաստում եք 32 բիթ և 64 բիթ տարբերակները:

Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 13
Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 13

Քայլ 13. Պահեք վերջին աշխատանքային աղբյուրի կրկնօրինակը:

Այս քայլը օգտակար է որպես երաշխիք, եթե ինչ -որ բան սխալ է ընթանում SO- ի ներկայիս տարբերակի կամ զարգացման հետ: Եթե ձեր համակարգիչը խափանվում է և չի բեռնվում, լավ գաղափար է, որ աշխատեք երկրորդ պատճենով, որպեսզի կարողանաք լուծել խնդիրը:

Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 14
Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 14

Քայլ 14. Մտածեք ձեր նոր օպերացիոն համակարգի փորձարկման մասին վիրտուալ մեքենայի միջոցով:

Ձեր համակարգիչը վերագործարկելու փոխարեն ամեն անգամ, երբ փոփոխություններ եք կատարում կամ ձեր զարգացման համակարգչից ձեր փորձարկման մեքենա ֆայլեր ուղարկելուց հետո, կարող եք օգտագործել վիրտուալ մեքենայի ծրագիր `ձեր OS- ն գործարկելու համար, երբ ձեր ընթացիկ OS- ն աշխատում է: Ներկայիս VM ծրագրերը ներառում են ՝ VMWare (որն ունի նաև անվճար սերվերային արտադրանք), բաց կոդով այլընտրանքներ, Bochs, Microsoft Virtual PC (Linux- ի հետ համատեղելի չէ) և Oracle VirtualBox:

Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 15
Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 15

Քայլ 15. Գործարկեք «ազատման թեկնածու» կամ Բետա տարբերակը:

Այս քայլը թույլ կտա օգտվողին տեղեկացնել ձեզ ձեր օպերացիոն համակարգի հնարավոր խնդիրների մասին:

Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 16
Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 16

Քայլ 16. Օպերացիոն համակարգը նույնպես պետք է օգտագործողի համար հարմար լինի:

Համոզվեք, որ ավելացնում եք օգտագործողի համար հարմար հատկություններ, դրանք դարձեք ձեր դիզայնի անբաժանելի մասը:

Խորհուրդներ

  • Ստուգեք հնարավոր փակուղիները և այլ սխալներ: Սխալները, փակուղիները և այլ խնդիրներ կազդի ձեր օպերացիոն համակարգի կառուցման նախագծի վրա:
  • Համոզվեք, որ անվտանգության գործառույթները կիրառում եք որպես առաջնահերթություն, եթե ցանկանում եք, որ համակարգը ճիշտ աշխատի:
  • Օգտագործեք կայքեր, ինչպիսիք են OSDev- ը և OSDever- ը, որոնք կօգնեն ձեզ զարգացնել ձեր սեփական օպերացիոն համակարգը: Խնդրում ենք նկատի ունենալ, որ շատ նպատակների համար OSDev.org համայնքն ավելի քան ուրախ կլինի, եթե դուք օգտագործեք նրանց վիքիը և չմիանաք ֆորումին: Եթե որոշեք միանալ ֆորումին, կա մի նախապայման. Դուք իսկապես պետք է իմանաք C կամ C ++ - ի և հավաքման x86 լեզվի մասին: Դուք նաև պետք է հասկանաք ծրագրավորման ընդհանուր և բարդ հասկացություններ, ինչպիսիք են կապված ցուցակները, հերթերը և այլն: OSDev համայնքն իր կանոնակարգերում հստակորեն նշում է, որ իր համայնքը ստեղծված չէ նոր ծրագրավորողներ սնուցելու համար:
  • Մի միացեք OSDev.org ֆորումի հետ և այնուհետև տվեք ակնհայտ հարցը: Ձեզանից կպահանջվի կարդալ ուղեցույցը: Կարդացեք Վիքիպեդիան և այն սարքավորումների ցուցումները, որոնք ցանկանում եք օգտագործել:
  • Եթե փորձում եք զարգացնել օպերացիոն համակարգ, ապա հաստատ ձեզ համարում են ծրագրավորման «աստված»:
  • Դուք նաև պետք է կարդացած լինեիք ձեր ընտրած պրոցեսորների ճարտարապետության ձեռնարկը: արդյոք x86 (Intel), ARM, MIPS, PPC և այլն: Պրոցեսորային ճարտարապետության ձեռնարկները հեշտ է գտնել Google- ի որոնման միջոցով («Intel ձեռնարկ», «ARM ձեռնարկ» և այլն):
  • Developmentարգացման բոլոր աշխատանքներն ավարտվելուց հետո որոշեք ՝ ցանկանում եք ծածկագիրը բաց կոդ թողնել, թե հեղինակային իրավունքով:
  • Մի սկսիր օպերացիոն համակարգի նախագիծ ՝ ծրագրավորում սովորելու համար: Եթե ներսից և դրսից չգիտեք C, C ++, Pascal կամ որևէ այլ համապատասխան լեզու, ներառյալ ցուցիչների մանիպուլյացիա, ցածր մակարդակի բիթերի մանիպուլյացիա, բիթերի փոխում, ներկառուցված հավաքման լեզուներ և այլն, ապա պատրաստ չեք օպերացիոն համակարգի համար: զարգացում.
  • SO- ի «ընդլայնման» համար բոլորովին նոր բաժին ստեղծելը կարող է լավ տարբերակ լինել:
  • Եթե ցանկանում եք հեշտ ճանապարհ, հաշվի առեք Linux- ի տարածումները, ինչպիսիք են Fedora Revisor- ը, Custom Nimble X- ը, Puppy Remaster- ը, PCLinuxOS Mk LiveCD- ը կամ SUSE Studio- ն և SUSE KIWI- ն: Այնուամենայնիվ, ձեր ստեղծած օպերացիոն համակարգը պատկանում է ծառայությունն առաջինը սկսած ընկերությանը (չնայած դուք իրավունք ունեք այն ազատորեն տարածել, փոփոխել և գործարկել այնպես, ինչպես ցանկանում եք GPL- ի ներքո):

Գուշացում

  • Երկու շաբաթվա ընթացքում դուք չեք ստանա ամբողջական օպերացիոն համակարգ: Սկսեք bootable SO- ով, ապա անցեք ավելի սառը իրերի:
  • Ձեր օպերացիոն համակարգը կոշտ սկավառակի վրա անզգուշորեն գրելը կարող է ամբողջությամբ վնասել այն: Զգույշ եղիր.
  • Եթե դուք անեք ինչ -որ բան, որը խորհուրդ չի տրվում, օրինակ ՝ պատահական բայթեր գրել պատահական մուտքի/ելքի նավահանգիստների վրա, դուք կփլուզեք ձեր ՕՀ -ն, և (տեսականորեն) կարող է այրվել ձեր սարքավորումները:
  • Մի ակնկալեք, որ օպերացիոն համակարգը հեշտ է կառուցել: Կան բազմաթիվ բարդ փոխկախվածություններ: Օրինակ ՝ մի քանի պրոցեսորներ վարելու ունակ օպերացիոն համակարգ ստեղծելու համար ձեր Հիշողության կառավարիչը պետք է ունենա «կողպման» մեխանիզմ, որը թույլ չի տա մի քանի պրոցեսորներ միաժամանակ մուտք գործել նույն ռեսուրս: Դրա համար օգտագործվող «կողպեքը» կպահանջի ժամանակացույցից ՝ ապահովելու համար, որ միայն մեկ պրոցեսոր կարող է ցանկացած պահի մուտք գործել կրիտիկական ռեսուրսներ, իսկ մնացած բոլորը պետք է սպասեն: Փաստորեն, ժամանակացույցը կախված է Հիշողության կառավարչի առկայությունից: Սա փակուղուց կախվածության օրինակ է: Չկա այս կարգի խնդրի լուծման ստանդարտ միջոց; Յուրաքանչյուր օպերացիոն համակարգի ծրագրավորողից ակնկալվում է, որ բավականաչափ հմուտ կլինի `իմանալու դրա հետ վարվելու սեփական եղանակը:

Լրացուցիչ ռեսուրսներ

  • Ուղեցույցներ. Linux From Scratch
  • Բեռնիչ ՝ GRUB
  • Վիրտուալ մեքենայի ծրագրեր. Bochs, VM Ware, XM Virtual Box:
  • Պրոցեսորի ձեռնարկ ՝ Intel ձեռնարկ
  • SO զարգացման կայքեր ՝ OSDev, OSDever

Խորհուրդ ենք տալիս: