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

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

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

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

Video: Ինչպես կատարել համակարգչային օպերացիոն համակարգ. 13 քայլ (նկարներով)
Video: phoenix os-ի տեղադրում ֆլեշ կրիչից, android համակարգչի վրա 2024, Ապրիլ
Anonim

Այս wikiHow- ը սովորեցնում է ձեզ, թե ինչպես պլանավորել և մշակել օպերացիոն համակարգ, եթե չգիտեք, թե ինչպես ծածկագրել C- ում կամ C ++ - ում: Օպերացիոն համակարգերը կառավարում են համակարգչային սարքավորումները և ապահովում են այն ռեսուրսները, որոնք անհրաժեշտ են ծրագրերին աշխատելու համար: Օպերացիոն համակարգը զրոյից գրելու համար անհրաժեշտ է համակարգչային գիտության, C կամ C ++ - ի նման ծրագրավորման լեզվի, հավաքման և ծածկագրերի կառավարման պրակտիկայի լավ տիրապետում:

Քայլեր

Մաս 1 -ից 2 -ից. Սովորել հիմունքները

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

Քայլ 1. Վերցրեք համակարգչային գիտության հիմնական դասընթացներ:

Ի տարբերություն ցանցի համար մշակման, օպերացիոն համակարգի ստեղծումը պահանջում է ալգորիթմների, տվյալների կառուցվածքների, համակարգչային սարքավորումների և ռեսուրսների կառավարման ուժեղ իմացություն: Մարդիկ ստանում են այս առարկայի աստիճաններ, այնպես որ մի ակնկալեք, որ առցանց ձեռնարկը կարդալուց հետո կգրի մի ամբողջ օպերացիոն համակարգ: Հարվարդի համակարգչային գիտության ներածություն դասընթացը հասանելի է առցանց ՝ EDX- ի միջոցով ՝ առանց որևէ արժեքի:

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

Քայլ 2. Սովորեք Python- ի նման բարձր մակարդակի ծրագրավորման լեզու:

Համակարգչային գիտության հիմնարար ընկալումից հետո հաջորդ քայլը C և/կամ C ++ տիրապետելն է: Ինչպես համակարգչային գիտության մասին սովորելը, այնպես էլ լեզուն տիրապետելը պարտադիր չէ. Դուք չեք կարողանա կոդավորել օպերացիոն համակարգը, եթե չեք կարող գրել ամուր ծրագրեր:

Եթե դուք նոր եք C- ում, ստուգեք Dartmouth's C Programming: Getting Started դասընթացը, որն անվճար է EDX- ի միջոցով: Այդ դասընթացն ավարտելուց հետո կարող եք անցնել շարքի հաջորդ դասընթացը `C mingրագրավորում. Լեզվի հիմունքներ: Այնուհետև անցեք հաջորդ դասընթացների, ինչպիսիք են ՝ Մոդուլային ծրագրավորում և հիշողության կառավարում, ցուցիչներ և հիշողության կառավարում:

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

Քայլ 3. Սովորեք հավաքների լեզու:

Հավաքման լեզուները ցածր մակարդակի լեզուներ են, որոնք նախատեսված են տարբեր պրոցեսորների հետ հաղորդակցվելու համար: Քանի որ հավաքումը տարբեր է պրոցեսորների տարբեր տեսակների համար (օրինակ ՝ x86 հավաքման լեզու Intel- ի, AMD- ի, VIA- ի և այլ պրոցեսորների համար), ձեզ հարկավոր է սովորել այն տարբերակի համար, որի համար կոդավորում եք:

  • Այս բաց կոդով գիրքը, ամբողջությամբ կարդալու դեպքում, կարող է ձեզ տալ բավականաչափ հիմնավոր հասկացություն ՝ օպերացիոն համակարգ կառուցելու համար:
  • Հավաքների լեզուն արվեստը բարձր խորհուրդ տվող գիրք է հավաքման մասին, որը հասանելի է ինչպես անցանց, այնպես էլ անցանց:
  • Դուք նաև պետք է շատ հետազոտություններ կատարեք այն պրոցեսորների (տեսակների) վերաբերյալ, որոնց վրա պետք է աշխատի ձեր օպերացիոն համակարգը: Պրոցեսորային ճարտարապետության ձեռնարկները հեշտությամբ կարելի է գտնել Google- ի որոնման միջոցով («Intel ձեռնարկներ», «ARM ձեռնարկներ» և այլն):
Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 5
Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 5

Քայլ 4. Լրացրեք օպերացիոն համակարգի ձեռնարկը:

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

  • Bare Bones- ը ձեռնարկ է, որն օգնում է ձեզ գրել ձեր առաջին պարզ 32-բիթանոց միջուկը: Ուսումնական ձեռնարկն ավարտելուց հետո հաջորդ քայլը Meaty Skeleton- ի օգտագործումն է `ձեր սեփական օպերացիոն համակարգը կառուցելու համար:
  • Linux- ը Scratch- ից առցանց գիրք է, որը ձեզ օգնում է ստեղծել ձեր սեփական Linux օպերացիոն համակարգը:
  • 0 -ից 1 -ի օպերացիոն համակարգերը անվճար գիրք են ՝ սկզբից մինչև վերջ տարբեր օպերացիոն համակարգեր ստեղծելու մասին:
Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 3
Ստեղծեք համակարգչային օպերացիոն համակարգ Քայլ 3

Քայլ 5. Պարզեք ձեր օպերացիոն համակարգի նպատակները:

Ի՞նչ եք ուզում անել ձեր օպերացիոն համակարգը: Ինչպիսի՞ն պետք է լինի այն: Դուք իրոք կարիք ունե՞ք գրել մի ամբողջ օպերացիոն համակարգ, թե՞ պարզապես ցանկանում եք որոշակի տեսք ստեղծել ձեր աշխատասեղանի համար: Սրանք բոլորը բաներ են, որոնք պետք է հաշվի առնել նախքան ծածկագրելը սկսելը:

  • Մտածեք այլ ծրագրավորողների թիմի հետ զարգանալու մասին: Onրագրի վրա աշխատող մշակողների թիմ ունենալը զգալիորեն կնվազեցնի զարգացման ժամանակը:
  • Ավելացրեք ձեր նախագծի նպատակները, ծրագրերը և հարցերը ձեր հանրային պահոցում, որպեսզի ուրիշների համար հեշտ լինի օգնել ձեզ:

2 -րդ մաս 2 -ից. Կառուցեք ձեր օպերացիոն համակարգը

Computerվարճացեք համակարգչով Քայլ 16
Computerվարճացեք համակարգչով Քայլ 16

Քայլ 1. Ընտրեք զարգացման միջավայր:

Սա այն հարթակն է, որը դուք կօգտագործեք ձեր նոր օպերացիոն համակարգը կոդավորելու համար: Դա անձնական նախասիրությունների հարց է, բայց մարդկանց մեծամասնությունը կամ օգտագործում է Windows կամ UNIX համ: Եթե դուք օգտագործում եք Windows, լավ գաղափար է տեղադրել UNIX միջավայր, ինչպիսին է Cygwin- ը կամ MinGW- ը: Դուք ընդհանրապես կցանկանաք համոզվել, թե որ միջավայրն եք օգտագործում ներառում է հետևյալը.

  • GCC (Gnu կազմող): Եթե դուք օգտագործում եք Windows, կարող եք տեղադրել այն Cygwin- ում կամ MinGW- ում:
  • Binutils- ը օբյեկտների ֆայլերը շահարկելու համար օգտագործվող գործիքների հավաքածու է: Կրկին, եթե դուք օգտագործում եք Windows, կարող եք տեղադրել այն Cygwin- ում:
  • Լավ տեքստային խմբագիր: Vim- ը և emacs- ը սովորաբար օգտագործվում են UNIX միջավայրում: Windows- ի օգտվողները կարող են օգտվել Գրառման գրքույկից կամ մի քանի ներդիրների թարմացման համար այցելել Notepad ++:
  • Perl և/կամ Python. Մեկը կամ երկուսը խորհուրդ են տրվում լարային մանիպուլյացիայի համար:
Համակարգչային օպերացիոն համակարգի պատրաստում Քայլ 13
Համակարգչային օպերացիոն համակարգի պատրաստում Քայլ 13

Քայլ 2. Ստեղծեք ձեր տարբերակի կառավարման համակարգը:

Օպերացիոն համակարգ գրելը նշանակում է, որ դուք, ամենայն հավանականությամբ, կստեղծեք հարյուրավոր (կամ հազարավոր) կոդերի տողեր: Երբ դուք աշխատում եք վերանայումների վրա, դա կարող է շփոթեցնել: Դուրս գալու որոշ տարբերակներ են ՝ CVS, Mercurial և Subversion:

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

Քայլ 3. Որոշեք bootloader- ի մասին:

Եթե չեք ցանկանում ստեղծել ձեր սեփականը, կարող եք օգտագործել գոյություն ունեցողը, ինչպիսին է Grand Unified Bootloader- ը (GRUB): Եթե դուք իսկապես համարձակ եք զգում bootloader կոդավորելու համար, այցելեք Roll Your Own Bootloader- ը OSDev.org կայքում:

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

Քայլ 4. Ընտրեք միջուկի ձևավորում:

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

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

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

Սկսեք փոքր բաներից, ինչպիսիք են տեքստի ցուցադրումը և ընդհատումները, նախքան հիշողության կառավարման և բազմակի առաջադրանքների անցնելը: Կարող եք նաև փորձել կատարել պարզ 16-բիթանոց օպերացիոն համակարգ ՝ մեծ թռիչք կատարելու փոխարեն:

Երկու շաբաթվա ընթացքում դուք չեք ունենա ամբողջական համակարգ: Սկսեք բեռնվող ՕՀ -ով, այնուհետև անցեք թույն իրերին:

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

Քայլ 6. Փորձարկեք ձեր նոր օպերացիոն համակարգը վիրտուալ մեքենայի միջոցով:

Ամեն անգամ փոփոխություններ կատարելիս ձեր համակարգիչը վերագործարկելու կամ ձեր զարգացման համակարգչից ֆայլերը փորձարկման մեքենա տեղափոխելու փոխարեն օգտագործեք վիրտուալ մեքենայի ծրագիր: VMWare- ը սովորական տարբերակ է, որն աշխատում է և՛ Windows- ի, և՛ Linux- ի հետ, և դա ՝ Բոխսի հետ: Ստուգեք հնարավոր փակուղիները և այլ վրիպակներ և անհրաժեշտության դեպքում վերանորոգեք դրանք:

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

Քայլ 7. Ազատ արձակեք «ազատ արձակման թեկնածուին:

«Դուք կարող եք դա անել ՝ ձեր փորձարկված ծածկագիրը ձեր հանրային պահեստում վերբեռնելով: Սա թույլ կտա մարդկանց փորձարկել ձեր օպերացիոն համակարգը և հետ զեկուցել այն խնդիրների մասին, որոնց բախվում են:

Computerվարճացեք համակարգչով Քայլ 28
Computerվարճացեք համակարգչով Քայլ 28

Քայլ 8. Networkանց այլ օպերացիոն համակարգի մշակողների հետ:

Կա օպերացիոն համակարգի մշակողների մի ամբողջ համայնք, որը հավաքվում է տարբեր ֆորումներում, ներառյալ /r /osdev- ը Reddit- ում և Software Engineering Stack Exchange- ում: Հասկացաք հիմնական օպերացիոն համակարգի մշակման մասին, կարդացեք առկա գրառումները `տեսնելու, թե ինչպիսի բաներ են առաջանում զարգացման գործընթացում:

Տեսանյութ - Այս ծառայությունից օգտվելով ՝ որոշ տեղեկություններ կարող են կիսվել YouTube- ի հետ:

Խորհուրդներ

  • Համոզվեք, որ անվտանգության գործառույթները կիրառում եք որպես ձեր առաջնահերթություն, եթե երբևէ ցանկանում եք, որ ձեր համակարգը կենսունակ լինի:
  • Մշակման ավարտից հետո որոշեք ՝ ցանկանում եք ծածկագիրը թողարկել որպես բաց կոդի՞, թե՞ սեփականության:
  • Որպեսզի օպերացիոն համակարգը կարողանա կառավարել բազմաթիվ պրոցեսորներ, ձեր Հիշողության կառավարիչը պետք է ունենա «կողպման» մեխանիզմներ ՝ միաժամանակ միևնույն ռեսուրսին մի քանի պրոցեսորների մուտքը կանխելու համար: Դրա համար օգտագործվող «կողպեքները» կպահանջեն ժամանակացույցի առկայություն `համոզվելու համար, որ միայն մեկ պրոցեսոր կարող է ցանկացած պահի մուտք գործել կրիտիկական ռեսուրս, իսկ մնացածը սպասված են: Այնուամենայնիվ, ժամանակացույցը կախված է Հիշողության կառավարչի առկայությունից: Սա փակուղային կախվածության դեպք է: Չկա նման խնդիրներ լուծելու ստանդարտ միջոց; որպես ծրագրավորող, ձեզնից ակնկալվում է բավական հմուտ լինել, որպեսզի պարզեք դրա հետ վարվելու իր սեփական ուղին:
  • Օպերացիոն համակարգը նույնպես կարող է օգտվողի համար հարմար լինել: Համոզվեք, որ օգտագործողի համար հարմար հատկություններ եք ավելացնում ՝ դրանք դարձնելով ձեր դիզայնի անբաժանելի մասը:
  • Մի միացեք OSDev.org ֆորումներին և սկսեք ակնհայտ հարցեր տալ: Դա պարզապես կհանգեցնի «Կարդացեք ձեռնարկը» պատասխանները. Դուք պետք է փորձեք կարդալ Վիքիպեդիան և տարբեր գործիքների ձեռնարկները, որոնք ցանկանում եք օգտագործել:
  • Մի սկսիր օպերացիոն համակարգի նախագիծ, որը կսկսի ծրագրավորում սովորել: Եթե արդեն չգիտեք C, C ++, Pascal կամ որևէ այլ համապատասխան լեզու, ներառյալ ցուցիչի մանիպուլյացիա, ցածր մակարդակի բիթերի մանիպուլյացիա, բիթերի փոխում, ներկառուցված հավաքման լեզու և այլն, ապա պատրաստ չեք օպերացիոն համակարգի զարգացման համար:.
  • Եթե դուք ինչ-որ վատ բան եք անում, օրինակ ՝ պատահական բայթ գրեք պատահական մուտքի/ելքի նավահանգիստներին, դուք կփլուզեք ձեր ՕՀ-ն և կարող եք (տեսականորեն) տապակել ձեր սարքավորումները:

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