Како да развиете оперативен систем за компјутер

Оперативните системи составени од стотици илјади редови на код им овозможуваат на корисниците да комуницираат со компјутерска опрема. Тие обично се напишани во програмските јазици C, C ++ и асемблер.

Чекори

  1. Сликата со наслов Направете компјутерски оперативен систем Чекор 1
Еден. За да започнете со програмирање на учење. Познавањето на асемблерот исто така мора да се советува да има концепт на други дополнителни програмски јазици на пониско ниво, на пример, со.
  • Сликата со наслов Направете компјутерски оперативен систем Чекор 2
    2. Одлучете кој уред сакате да го преземете оперативниот систем. Тоа може да биде CD, DVD, флеш меморија уред, хард диск или друг компјутер.
  • Сликата со наслов Направете компјутерски оперативен систем Чекор 3
    3. Одлучете кој сакате да го видите вашиот оперативен систем. Доколку ова е целосна верзија на оперативниот систем со графички кориснички интерфејс (GUI) или, можеби нешто повеќе минималистичко? Треба да знаете во која насока да се движи, пред почетокот на процесот.
  • Сликата со наслов Направете компјутерски оперативен систем Чекор 4
    Четири. Наведете која процесорска платформа ќе го поддржи вашиот оперативен систем. AI-32 и X86_64 се двете најчести верзии за персонални компјутери, така што тие можат да се сметаат за најдобар избор.
  • Сликата со наслов Направете компјутерски оперативен систем Чекор 5
    Пет. Одлучи дали претпочитате да направите се од гребење, или има кернели, врз основа на кои би сакале да го цицате системот. Linux од нула - проект за оние кои сакаат на пример, создаваат своја сопствена Линукс дистрибуција.
  • Сликата со наслов Направете компјутерски оперативен систем чекор 6
    6. Изберете, дали ќе го користите вашиот сопствен подигнувач или претходно креирано унифициран систем на подигнувач на Grand Unified Bootloader (GRUB). Бидејќи кодирањето на сопствената програма за преземање бара широко познавање во областа на компјутерската безбедност и BIOS-от, тоа може да го премести програмскиот распоред на сегашното јадро.
  • Сликата со наслов Направете компјутерски оперативен систем Чекор 7
    7. Донесете одлука за програмскиот јазик што ќе го користите. Се разбира, сосема е можно да се развие оперативниот систем на таков јазик како Паскал или основен, но подобро е да се напише или асемблер. Асемблерот е апсолутно неопходен, т. до. Некои важни делови од оперативниот систем бараат познавање на овој конкретен јазик. C ++, од друга страна, содржи клучни зборови потребни за да ја стартувате целосната верзија на оперативниот систем.
  • За да го соберете ОС користејќи C или C + + кодови, сигурно ќе го користите еден компајлер, потоа друг. Ова значи дека мора да го прочитате водичот / инструкциите / документацијата за избраниот C / C ++ компајлер, кој се испорачува со софтверот или достапните на веб-страницата на дистрибутерот. Ќе треба да научите многу сложени работи за компајлерот, покрај тоа, за да ја подобрите C ++ за да ја научите својата шема и ABI. Од вас се очекува да ги разберете различните формати на извршните задачи (елф, ЈП, кафе, обична бинарна и т.Д.) И забележи дека вашиот сопствен формат на Windows, PE (.Exe) Copyright е заштитен.
  • Сликата со наслов Направете компјутерски оперативен систем Чекор 8
    осум. Изберете апликативен програмски интерфејс (API). Еден од изборот на добар API е Posix, бидејќи е добро документирано. Сите UNIX системи имаат барем делумна поддршка за Posix, така што би било тривијално да ги прикачите програмите на UNIX во вашиот оперативен систем.
  • Сликата со наслов Направете компјутерски оперативен систем Чекор 9
    Девет. Одлучи со дизајнот. Постојат монолитни кернели и микрокерни. Монолитни кернели ги извршуваат сите услуги во кернелот, додека микрокерот има мал кернел во комбинација со реализацијата на корисникот на услугите. Општо земено, монолитните кернели се побрзи, но микроокрната има подобра изолација и заштита од можни дефекти.
  • Сликата со наслов Направете компјутерски оперативен систем чекор 10
    10. Размислете за прашањето за развој и работа во тим. Така, ќе ви треба помалку време за решавање на големи проблеми, кои ќе создадат подобар квалитет оперативен систем за пократко време.
  • Сликата со наслов Направете компјутерски оперативен систем чекор 11
    Единаесет. Не го бришете вашиот хард диск целосно. Запомнете, диск форматирање неповратно ги чисти сите ваши податоци! Користете GRUB или друг менаџер за дупликат симнување на вашиот компјутер на другиот оперативен систем, додека вашата верзија не е целосно подготвена функционална.
  • Сликата со наслов Направете компјутерски оперативен систем чекор 12
    12. Започнете со мали. Забелешка првенствено на малите нешта, како што е прикажување на текст и прекини пред да се префрлите на комплексни елементи, на пример, на управувањето со меморијата и мултитаскирањето.
  • Сликата со наслов Направете компјутерски оперативен систем чекор 13
    13. Зачувајте ја резервната копија од последната работна верзија. Ова дава одредена смиреност во случај нешто да биде апсолутно погрешно во тековната верзија на вашиот оперативен систем или последователни дополнувања. Во случај на дефекти во вашиот компјутер и неможноста за преземање, како што сами разбирате, одличната можност ќе биде присуството на втората копија за работа, така што можете да ги елиминирате постоечките грешки.
  • Сликата со наслов Направете компјутерски оперативен систем Чекор 14
    Четиринаесет. Проверете го вашиот нов оперативен систем на виртуелна машина. Наместо да го рестартирате компјутерот во секое време откако ќе направите промени или пренос на датотеки од тест-машина до тест машина, можете да ја користите апликацијата за да го стартувате оперативниот систем на виртуелната машина, додека вашиот сегашен оперативен систем продолжува да работи. VM апликации вклучуваат VMware (кој исто така има бесплатен сервер за пристап), алтернативен код со отворен код, Bochs, Microsoft Virtual PC (не е компатибилен со Linux), како и XVM VirtualBox.
  • Сликата со наслов Направете компјутерски оперативен систем чекор 15
    петнаесет. Ослободете ја верзијата за ослободување. Ова ќе им овозможи на корисниците да ви кажат за можните недостатоци во вашиот оперативен систем.
  • Сликата со наслов Направете компјутерски оперативен систем Чекор 16
    Шеснаесет години. Оперативниот систем, исто така, мора да биде погоден за корисникот, па не заборавајте да додадете корисни функции кои ќе станат интегрален дел од вашиот дизајн.
  • Совети

    • Кога развојот е завршен, мислам дали сакате да поднесете код во слободен пристап или да воспоставите приватни права на тоа.
    • Бидете сигурни да ги направите безбедносните функции од вашиот основен приоритет, ако сакате вашиот систем да биде остварлив.
    • Не го започнувајте развојниот проект на оперативниот систем со цел да го обучите програмирањето. Ако не знаете C, C ++, Pascal или некои други соодветни јазици и својства, вклучувајќи ги и видовите на покажувач, операции со ниско ниво битови, прекинувачки битови, вграден асемблер и т.Д., - Значи, уште не е подготвен да креира оперативен систем.
    • Преглед на портали како Осдев и OSDEVE за да ви помогне да го подобрите вашиот сопствен оперативен систем. Ослободете посебно внимание на фактот дека повеќето прашања заедница Осдев.Org претпочита да влијае на содржината на страницата, и не се приклучи на форумот. Ако сеуште одлучите да се приклучите на редовите на членовите на форумот, мора да има одредени предуслови за ова. Мора темелно да знаете C или C ++ и јазикот X86 агистраторот. Исто така, мора да ги разберете заедничките и сеопфатни концепти во програмирањето, како што се поврзани листи, редици и т.Д. Заедницата Осдев во неговите правила директно покажува дека никој не се грижи за новите програмери. Ако се обидувате да развиете оперативен систем, тоа се подразбира дека вие "Бог" во областа на програмирањето. Исто така, треба да прочитате прирачник за работа со процесор во врска со нејзината архитектура избрана од вас, на пример, X86 (Intel), ARM, MIPS, PPC и T.Д. Таквиот прирачник за структура на процесорот може лесно да се најде со пребарување во Google ("Упатства за Intel", "Прирачници за рака" и т.Д.). Не се регистрирате на форумот Осдев.Org да побара од очигледни прашања. Тоа едноставно ќе доведе до одговори како "Прочитајте го упатството F *** ING". За почеток, треба да се обидете да ја прочитате Википедија, бенефиции за разни алатки кои ќе ги користат.
    • Проверете за потенцијални мртви точки и други грешки. Недостатоци, заспарувања и други проблеми може да влијаат на проектот на вашиот оперативен систем.
    • Ако сакате начин поедноставен, доставете Linux дистрибуции - како Fedora Revisor, сопствени пргав X, кученце ремастер, pclinuxos mklivecd или suse студио и suse kiwi. Сепак, ОС создаде припаѓа на компанијата која е прва што ја воведува оваа услуга (иако имате права на слободна дистрибуција, промена и лансирање, како што сакате, под GPL).
    • Добро решение ќе биде создавање на сосема нова партиција за развиениот оперативен систем.

    Предупредувања

    • Препишувањето на оперативниот оперативен систем на хард диск може целосно да го оштети. внимавај
    • Вие нема да добиете целосно подготвен систем за две недели. Започнете од преземениот оперативен систем, а потоа одете на повеќе интересни работи.
    • Ако направите нешто брзо, како, на пример, напишете случајни бајти во произволни I / O порти, а потоа уништи вашиот оперативен систем и може (во теорија) да ја изгори вашата опрема.
    • Не очекувајте дека ќе биде лесно да се изгради висококвалитетен оперативен систем. Постојат многу сложени меѓузависности. На пример, со цел оперативниот систем да биде во можност да работи со повеќе процесори, вашиот менаџер на меморија мора да има "блокирање" механизми за да ги спречи непотребните процесори во истиот ресурс во исто време. Користени "блокови" претпоставуваат присуство на распоредувач за да бидете сигурни дека само еден процесор апелира до критичен ресурс во секое време, и сите други се во режим на подготвеност. Сепак, распоредувачот на работа зависи од присуството на менаџерот на меморија. Ова е пример за во зависност од испреплетеноста. Не постои стандарден начин за решавање на ваквите проблеми - секој творец на оперативниот систем се очекува да биде доста квалификуван за да го најде сопственото решение.

    Што ви треба

    • Компјутер
    • Процесорот на кој ќе се изгради
    • Доволна RAM меморија (RAM) за виртуелна машина
    • Главниот оперативен систем (се користи за развивање на изворниот код на асемблерот (и други.), како и склопови и пакување во раните фази на работа - на крајот, вашиот сопствен оперативен систем ќе стане основно)
    • Уредувач на синтаксички код (применет во отсуство на интегрирано развојно опкружување)
    • Компајлер
    • CD / DVD диск
    Слични публикации