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

2. Одлучете кој уред сакате да го преземете оперативниот систем. Тоа може да биде CD, DVD, флеш меморија уред, хард диск или друг компјутер.

3. Одлучете кој сакате да го видите вашиот оперативен систем. Доколку ова е целосна верзија на оперативниот систем со графички кориснички интерфејс (GUI) или, можеби нешто повеќе минималистичко? Треба да знаете во која насока да се движи, пред почетокот на процесот.

Четири. Наведете која процесорска платформа ќе го поддржи вашиот оперативен систем. AI-32 и X86_64 се двете најчести верзии за персонални компјутери, така што тие можат да се сметаат за најдобар избор.

Пет. Одлучи дали претпочитате да направите се од гребење, или има кернели, врз основа на кои би сакале да го цицате системот. Linux од нула - проект за оние кои сакаат на пример, создаваат своја сопствена Линукс дистрибуција.

6. Изберете, дали ќе го користите вашиот сопствен подигнувач или претходно креирано унифициран систем на подигнувач на Grand Unified Bootloader (GRUB). Бидејќи кодирањето на сопствената програма за преземање бара широко познавање во областа на компјутерската безбедност и BIOS-от, тоа може да го премести програмскиот распоред на сегашното јадро.

7. Донесете одлука за програмскиот јазик што ќе го користите. Се разбира, сосема е можно да се развие оперативниот систем на таков јазик како Паскал или основен, но подобро е да се напише или асемблер. Асемблерот е апсолутно неопходен, т. до. Некои важни делови од оперативниот систем бараат познавање на овој конкретен јазик. C ++, од друга страна, содржи клучни зборови потребни за да ја стартувате целосната верзија на оперативниот систем.

осум. Изберете апликативен програмски интерфејс (API). Еден од изборот на добар API е Posix, бидејќи е добро документирано. Сите UNIX системи имаат барем делумна поддршка за Posix, така што би било тривијално да ги прикачите програмите на UNIX во вашиот оперативен систем.

Девет. Одлучи со дизајнот. Постојат монолитни кернели и микрокерни. Монолитни кернели ги извршуваат сите услуги во кернелот, додека микрокерот има мал кернел во комбинација со реализацијата на корисникот на услугите. Општо земено, монолитните кернели се побрзи, но микроокрната има подобра изолација и заштита од можни дефекти.

10. Размислете за прашањето за развој и работа во тим. Така, ќе ви треба помалку време за решавање на големи проблеми, кои ќе создадат подобар квалитет оперативен систем за пократко време.

Единаесет. Не го бришете вашиот хард диск целосно. Запомнете, диск форматирање неповратно ги чисти сите ваши податоци! Користете GRUB или друг менаџер за дупликат симнување на вашиот компјутер на другиот оперативен систем, додека вашата верзија не е целосно подготвена функционална.

12. Започнете со мали. Забелешка првенствено на малите нешта, како што е прикажување на текст и прекини пред да се префрлите на комплексни елементи, на пример, на управувањето со меморијата и мултитаскирањето.

13. Зачувајте ја резервната копија од последната работна верзија. Ова дава одредена смиреност во случај нешто да биде апсолутно погрешно во тековната верзија на вашиот оперативен систем или последователни дополнувања. Во случај на дефекти во вашиот компјутер и неможноста за преземање, како што сами разбирате, одличната можност ќе биде присуството на втората копија за работа, така што можете да ги елиминирате постоечките грешки.

Четиринаесет. Проверете го вашиот нов оперативен систем на виртуелна машина. Наместо да го рестартирате компјутерот во секое време откако ќе направите промени или пренос на датотеки од тест-машина до тест машина, можете да ја користите апликацијата за да го стартувате оперативниот систем на виртуелната машина, додека вашиот сегашен оперативен систем продолжува да работи. VM апликации вклучуваат VMware (кој исто така има бесплатен сервер за пристап), алтернативен код со отворен код, Bochs, Microsoft Virtual PC (не е компатибилен со Linux), како и XVM VirtualBox.

петнаесет. Ослободете ја верзијата за ослободување. Ова ќе им овозможи на корисниците да ви кажат за можните недостатоци во вашиот оперативен систем.

Шеснаесет години. Оперативниот систем, исто така, мора да биде погоден за корисникот, па не заборавајте да додадете корисни функции кои ќе станат интегрален дел од вашиот дизајн.
Совети
- Кога развојот е завршен, мислам дали сакате да поднесете код во слободен пристап или да воспоставите приватни права на тоа.
- Бидете сигурни да ги направите безбедносните функции од вашиот основен приоритет, ако сакате вашиот систем да биде остварлив.
- Не го започнувајте развојниот проект на оперативниот систем со цел да го обучите програмирањето. Ако не знаете 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 диск