Компьютердің операциялық жүйесін қалай жасауға болады: 13 қадам (суреттермен)

Мазмұны:

Компьютердің операциялық жүйесін қалай жасауға болады: 13 қадам (суреттермен)
Компьютердің операциялық жүйесін қалай жасауға болады: 13 қадам (суреттермен)

Бейне: Компьютердің операциялық жүйесін қалай жасауға болады: 13 қадам (суреттермен)

Бейне: Компьютердің операциялық жүйесін қалай жасауға болады: 13 қадам (суреттермен)
Бейне: ҚАЛАЙ КЕЗ КЕЛГЕН ТОВАРДЫ САТУҒА БОЛАДЫ? | САТУ ӨНЕРІ СЫРЛАРЫ 2024, Сәуір
Anonim

Бұл wikiHow сізге C немесе C ++ - те кодтауды білмесеңіз, операциялық жүйені қалай жоспарлауды және дамытуды үйретеді. Операциялық жүйелер компьютердің аппараттық құралдарын басқарады және қосымшаларды іске қосу үшін қажетті ресурстармен қамтамасыз етеді. Операциялық жүйені нөлден бастап жазу үшін информатиканы, C немесе C ++ сияқты программалау тілін, құрастыруды және кодты басқару тәжірибесін меңгеру қажет.

Қадамдар

2 -ден 1 -ші бөлім: Негіздерді үйрену

Компьютерлік операциялық жүйені құру 1 -қадам
Компьютерлік операциялық жүйені құру 1 -қадам

Қадам 1. Информатика бойынша бірнеше негізгі курстарды алыңыз

Интернетті дамытудан айырмашылығы, операциялық жүйені құру алгоритмдерді, мәліметтер құрылымын, компьютерлік техниканы және ресурстарды басқаруды жақсы түсінуді талап етеді. Адамдар бұл пән бойынша дәреже алады, сондықтан интернеттегі оқулықты оқығаннан кейін бүкіл операциялық жүйені жазамын деп күтпеңіз! Гарвардтың Информатикаға кіріспе курсы EDX арқылы онлайн режимінде ақысыз қол жетімді.

Компьютерлік операциялық жүйені жасаңыз 2 -қадам
Компьютерлік операциялық жүйені жасаңыз 2 -қадам

Қадам 2. Python сияқты жоғары деңгейлі бағдарламалау тілін үйреніңіз

Сізде информатика туралы негізгі түсінік болғаннан кейін, келесі қадам - C және/немесе C ++ тілін меңгеру. Информатика туралы білу сияқты, тілді меңгеру міндетті емес-егер сіз қатты қосымшаларды жаза алмасаңыз, операциялық жүйені кодтай алмайсыз.

Егер сіз C тілінде жаңадан болсаңыз, EDX арқылы тегін болатын Dartmouth's C Programming: Starting Started курсын қараңыз. Бұл курсты аяқтағаннан кейін сіз келесі курсты ала аласыз: C бағдарламалау: тілдік негіздер. Содан кейін модульдік бағдарламалау мен жадты басқару, көрсеткіштер мен жадты басқару сияқты келесі курстарға өтіңіз

Компьютерлік операциялық жүйені жасаңыз 4 -қадам
Компьютерлік операциялық жүйені жасаңыз 4 -қадам

Қадам 3. Ассемблер тілін үйреніңіз

Ассемблер тілдері-әр түрлі процессорлармен байланысуға арналған төмен деңгейлі тілдер. Әр түрлі процессорлар үшін құрастыру әр түрлі болғандықтан (мысалы, Intel, AMD, VIA және басқа процессорларға арналған x86 құрастыру тілі), сіз кодтаған процессор түрінің нұсқасын білуіңіз қажет.

  • Ашық көзі бар бұл кітап, егер ол толық оқылса, сізге операциялық жүйені құруға жеткілікті түсінік бере алады.
  • Ассамблея тілі өнері-бұл желіде де, офлайнда да жинау туралы ұсынылатын кітап.
  • Сіз сондай -ақ сіздің операциялық жүйеңіз жұмыс жасайтын процессор (лар) туралы көп зерттеулер жүргізуіңіз керек. Процессордың архитектурасына арналған нұсқаулықтарды Google іздеуінің көмегімен оңай табуға болады («Intel нұсқаулары», «ARM нұсқаулықтары» және т.б.).
Компьютерлік операциялық жүйені жасаңыз 5 -қадам
Компьютерлік операциялық жүйені жасаңыз 5 -қадам

Қадам 4. Операциялық жүйенің оқулығын аяқтаңыз

ОЖ оқулықтары сізге негізгі операциялық жүйені құру процесін көрсетеді. Бұл сізді процеске дағдыландырады және сізге жетіспейтін бөліктер бар -жоғын анықтауға көмектеседі. Бір -екі оқулықты аяқтағаннан кейін, сіз өзіңіздің жеке операциялық жүйеңізді құруға дайын боласыз.

  • Жалаңаш сүйектер-бұл алғашқы 32 биттік ядро жазуға көмектесетін оқулық. Оқу құралы аяқталғаннан кейін, келесі қадам - Meaty Skeleton көмегімен жеке операциялық жүйені құру.
  • Linux -тен Scratch - бұл сіздің жеке Linux операциялық жүйеңізді құруға көмектесетін онлайн кітап.
  • 0 -ден 1 -ге дейінгі операциялық жүйелер - бұл әр түрлі операциялық жүйелерді басынан аяғына дейін құруға арналған ақысыз кітап.
Компьютерлік операциялық жүйені жасаңыз 3 -қадам
Компьютерлік операциялық жүйені жасаңыз 3 -қадам

Қадам 5. Операциялық жүйенің мақсаттарын анықтаңыз

Сіздің операциялық жүйеңіз не істегенін қалайсыз? Ол қалай көрінуі керек? Сізге бүкіл операциялық жүйені жазу керек пе, әлде сіз жұмыс үстелінің белгілі бір көрінісін жасағыңыз келе ме? Бұл кодты бастамас бұрын қарастырылуы керек нәрселер.

  • Басқа бағдарламашылар тобымен дамуды қарастырыңыз. Жобада жұмыс жасайтын әзірлеушілер тобының болуы әзірлеу уақытын едәуір қысқартады.
  • Жобаның мақсаттары, жоспарлары мен сұрақтарын көпшілік репозиторийіне қосыңыз, осылайша басқалар сізге көмектесе алады.

2 -ден 2 -ші бөлім: Операциялық жүйені құру

Компьютермен жұмыс жасау 16 -қадам
Компьютермен жұмыс жасау 16 -қадам

Қадам 1. Даму ортасын таңдаңыз

Бұл жаңа операциялық жүйені кодтау үшін қолданылатын платформа. Бұл жеке қалау мәселесі, бірақ адамдардың көпшілігі Windows немесе UNIX дәмін пайдаланады. Егер сіз Windows жүйесін қолдансаңыз, Cygwin немесе MinGW сияқты UNIX ортасын орнатқан дұрыс. Сіз әдетте қандай ортаны пайдаланғыңыз келетініне көз жеткізгіңіз келеді:

  • GCC (Gnu компиляторы). Егер сіз Windows жүйесін қолдансаңыз, оны Cygwin немесе MinGW -те орнатуға болады.
  • Binutils - бұл объектілік файлдарды басқаруға арналған құралдар жиынтығы. Тағы да, егер сіз Windows жүйесін қолдансаңыз, оны Cygwin -ге орнатуға болады.
  • Жақсы мәтіндік редактор. Vim және emacs әдетте UNIX ортасында қолданылады. Windows пайдаланушылары Блокнотты қолдана алады немесе көп қойындылы жаңарту үшін Блокнот ++ тексере алады.
  • Perl және/немесе Python. Жолдарды өңдеу үшін біреуі немесе екеуі де ұсынылады.
Компьютерлік операциялық жүйені жасаңыз 13 -қадам
Компьютерлік операциялық жүйені жасаңыз 13 -қадам

Қадам 2. Нұсқаларды басқару жүйесін орнатыңыз

Операциялық жүйені жазу сізге жүздеген (немесе мыңдаған) код жолдарын құруды білдіреді. Егер сіз түзетулермен жұмыс жасасаңыз, бұл шатасуы мүмкін. Тексерудің кейбір нұсқалары - CVS, Mercurial және Subversion.

Компьютерлік операциялық жүйені жасаңыз 6 -қадам
Компьютерлік операциялық жүйені жасаңыз 6 -қадам

Қадам 3. Жүктеуші туралы шешім қабылдаңыз

Егер сіз өзіңіздікін жасағыңыз келмесе, Grand Unified Bootloader (GRUB) сияқты бұрыннан бар біреуін пайдалана аласыз. Егер сіз жүктеушіні кодтауға батылдық танытсаңыз, OSDev.org сайтында Rolling Your Own Bootloader бағдарламасын қараңыз.

Компьютерлік операциялық жүйені жасаңыз 9 -қадам
Компьютерлік операциялық жүйені жасаңыз 9 -қадам

Қадам 4. Ядро дизайнын таңдаңыз

Ядро - бұл сіздің операциялық жүйеңіздің ядросы, ол пайдаланушы мен компьютердің аппараттық құралы арасында интерфейсті қамтамасыз етеді. Монолитті ядро мен микро ядро бар. Монолитті ядролар ядродағы барлық қызметтерді жүзеге асырады, ал микро ядрода қызметтерді іске асырушы демондармен біріктірілген шағын ядро бар. Жалпы алғанда, монолитті ядролар жылдамырақ, бірақ микро ядролар ақауларды оқшаулау мен сенімділікке ие.

Компьютерлік операциялық жүйені жасаңыз 12 -қадам
Компьютерлік операциялық жүйені жасаңыз 12 -қадам

Қадам 5. Кішкене бастаңыз

Жадты басқару және көп тапсырма сияқты нәрселерге өтпес бұрын мәтінді көрсету мен үзіліс сияқты кішігірім нәрселерден бастаңыз. Сіз үлкен секірістің орнына қарапайым 16 биттік операциялық жүйені жасауға тырысуға болады.

Сізде екі апта ішінде толық жүйе болмайды. Жүктелетін ОЖ -дан бастаңыз, содан кейін керемет нәрсеге өтіңіз

Компьютерлік операциялық жүйені жасаңыз 14 -қадам
Компьютерлік операциялық жүйені жасаңыз 14 -қадам

Қадам 6. Жаңа операциялық жүйені виртуалды машинамен тексеріңіз

Өзгерістер енгізген сайын немесе файлдарды әзірлеуші компьютерден сынақ машинасына тасымалдау қажет болғанда, компьютерді қайта жүктеудің орнына, виртуалды машина қосымшасын пайдаланыңыз. VMWare - бұл Windows пен Linux -те жұмыс істейтін кең таралған нұсқа, сонымен қатар Bochs. Мүмкін болатын тығырықтар мен басқа да қателерді тексеріңіз және оларды қажет болған жағдайда жөндеңіз.

Компьютерлік операциялық жүйені жасаңыз 15 -қадам
Компьютерлік операциялық жүйені жасаңыз 15 -қадам

Қадам 7. «босатуға үміткерді» босатыңыз

«Сіз мұны тексерілген кодты жалпыға ортақ репозиторийге жүктеу арқылы жасай аласыз. Бұл адамдарға сіздің операциялық жүйеңізді тексеруге және олар туындаған мәселелер туралы есеп беруге мүмкіндік береді.

Компьютермен көңілді болыңыз 28 -қадам
Компьютермен көңілді болыңыз 28 -қадам

Қадам 8. Басқа операциялық жүйені жасаушылармен байланыс

Әр түрлі форумдарда, соның ішінде Reddit /Software Engineering Stack Exchange бағдарламасында /r /osdev жиналатын операциялық жүйені әзірлеушілердің бүкіл қауымдастығы бар. Сіз негізгі операциялық жүйені жасауды білдіңіз, әзірлеу процесінде қандай нәрселер болатынын білу үшін бұрыннан бар хабарламаларды оқыңыз.

Бейне - бұл қызметті пайдалану арқылы кейбір ақпарат YouTube -пен бөлісілуі мүмкін

Кеңестер

  • Егер сіз жүйенің өміршең болуын қаласаңыз, қауіпсіздік мүмкіндіктерін бірінші кезекте енгізіңіз.
  • Барлық әзірлеу аяқталғаннан кейін, кодты ашық бастапқы коды немесе меншік ретінде шығарғыңыз келетінін шешіңіз.
  • Операциялық жүйені бірнеше процессормен жұмыс істей алатын ету үшін сіздің жад менеджеріңізде бірнеше процессорлардың бір ресурсқа бір уақытта қол жеткізуіне жол бермейтін «құлыптау» механизмдері болуы керек. Бұл үшін қолданылатын «құлыптар» кез келген уақытта тек бір процессор маңызды ресурсқа қол жеткізетініне және қалғандары күтуге мүмкіндік беретініне жоспарлаушының болуын талап етеді. Жоспарлаушы жад менеджерінің болуына байланысты. Бұл тығырыққа тірелген тәуелділіктің жағдайы. Мұндай мәселелерді шешудің стандартты әдісі жоқ; бағдарламашы ретінде сіз онымен күресудің өзіндік әдісін анықтай алатындай білікті боласыз деп күтілуде.
  • Операциялық жүйе де қолданушыға ыңғайлы болуы мүмкін. Пайдаланушыға ыңғайлы мүмкіндіктерді қосқаныңызға көз жеткізіңіз, бұл сіздің дизайнның ажырамас бөлігі болып табылады.
  • Қосылмаңыз OSDev.org форумдары мен анық сұрақтар қоюды бастаңыз. Бұл жай ғана әкеледі «Нұсқаулықты оқу» жауаптар. Сіз Уикипедияны және пайдаланғыңыз келетін әр түрлі құралдарға арналған нұсқаулықтарды оқып көріңіз.
  • Бастамаңыз бағдарламалауды үйренуді бастау үшін операциялық жүйенің жобасы. Егер сіз C, C ++, Pascal немесе басқа да сәйкес тілді білмесеңіз, оның ішінде меңзермен жұмыс істеу, биттің төменгі деңгейімен жұмыс істеу, биттердің ауысуы, кірістірілген құрастыру тілі және т..
  • Егер сіз кездейсоқ енгізу-шығару порттарына кездейсоқ байт жазу сияқты ойланбайтын нәрсе жасасаңыз, сіз ОЖ-ны бұзасыз және (теория бойынша) сіздің аппараттық құрттарды қуыруға болады.

Ұсынылған: