Как да разработите операционна система за компютър

Операционни системи, съставени от стотици хиляди редове от код, позволяват на потребителите да взаимодействат с компютърно оборудване. Обикновено те обикновено са написани в програмни езици C, C ++ и асемблер.

Стъпка

  1. Изображението, озаглавено Направете компютърна операционна система стъпка 1
един. Да започнем с програмирането. Познаването на асемблера също трябва да бъде посъветвано да има концепцията за други допълнителни езици за програмиране на по-ниско ниво, например с.
  • Изображение, озаглавено Направете компютърна операционна система стъпка 2
    2. Решете кое устройство искате да изтеглите операционната система. Тя може да бъде CD, DVD, устройство за флаш памет, твърд диск или друг компютър.
  • Изображение, озаглавено Направете компютърна операционна система Стъпка 3
    3. Решете кой искате да видите вашата операционна система. Ако това е пълната версия на операционната система с графичен потребителски интерфейс (GUI) или, може би нещо по-минимално? Трябва да знаете в коя посока да се движите, преди началото на процеса.
  • Изображение, озаглавено Направете компютърна операционна система Стъпка 4
    4. Посочете коя платформа на процесора ще поддържа вашата операционна система. Ai-32 и X86_64 са двете най-често срещани версии за персонални компютри, така че те да могат да се считат за най-добрият избор.
  • Изображение, озаглавено Направете компютърна операционна система стъпка 5
    пет. Решете дали предпочитате да правите всичко от нулата, или има ядки, въз основа на които искате да смучат системата. Linux от нулата - проект за тези, които желаят например, създават свои собствени Linux дистрибуция.
  • Изображение, озаглавено Направете компютърна операционна система Стъпка 6
    6. Изберете, ще използвате ли собствения си буутлоудър или предварително създадена унифицирана заредена система Grand Unified Bootloader (GRUB). Тъй като кодирането на собствената си програма за изтегляне изисква обширни познания в областта на компютърната сигурност и BIOS, тя може да премести графика за програмиране на текущото ядро.
  • Изображение, озаглавено Направете компютърна операционна система Стъпка 7
    7. Вземете решение за програмния език, който ще използва. Разбира се, е напълно възможно да се развие операционната система на такъв език като паскал или основен, но е за предпочитане да се пише с или асемблер. Асемблерът е абсолютно необходим, t. Да се. Някои важни части на операционната система изискват познаването на този конкретен език. C ++, от друга страна, съдържа ключови думи, необходими за стартиране на пълната версия на операционната система.
  • За да съберете операционната система, използвайте C или C ++ кодове, със сигурност ще използвате един компилатор, след това друг. Това означава, че трябва да прочетете ръководството / инструкциите / документацията за избрания C / C ++ компилатор, който се доставя със софтуера или на разположение на уебсайта на дистрибутора. Освен това ще трябва да научите много сложни неща за компилатора, за да подобрите C ++, за да научите нейната схема и ABI. Очаква се да разберете различните формати на изпълнителни задачи (ELF, PE, COFF, обикновен двоичен и t.Д.) И забележете, че свой собствен Windows формат, PE (.Exe) авторското право е защитено.
  • Изображение, озаглавено Направете компютърна операционна система стъпка 8
    Осем. Изберете Интерфейс за програмиране на приложения (API). Един от избора на добър API е позист, тъй като е добре документиран. Всички UNIX системи имат поне частична поддръжка за POSIX, така че би било тривиално да прикачите Unix програми към вашата операционна система.
  • Изображение, озаглавено Направете компютърна операционна система стъпка 9
    девет. Решете с дизайна. Има монолитни ядки и микрохенер. Монолитни ядки изпълняват всички услуги в ядрото, а микрохерна има малко ядро ​​в комбинация с реализацията на потребителя. Като цяло монолитни ядки са по-бързи, но микроурекът има по-добра изолация и защита срещу евентуални неизправности.
  • Изображение, озаглавено Направете компютърна операционна система стъпка 10
    10. Разгледайте въпроса за развитието и работата в екип. По този начин ще ви трябват по-малко време за разрешаване на големи проблеми, което ще създаде по-добра оперативна система за качество за по-кратко време.
  • Изображението, озаглавено Направете компютърна операционна система стъпка 11
    единадесет. Не изтрийте напълно твърдия си диск напълно. Не забравяйте, че форматирането на диска необратимо почиства всичките ви данни! Използвайте груб или друг мениджър за дублиране Изтегляне на компютъра на другата операционна система, докато версията ви е напълно готова функционална.
  • Изображение, озаглавено Направете компютърна операционна система стъпка 12
    12. Започнете с малки. Забележка предимно върху малките неща, като например показване на текст и прекъсвания, преди да превключвате към сложни елементи, например, към управлението на паметта и многозадачността.
  • Изображение, озаглавено Направете компютърна операционна система стъпка 13
    13. Запазете резервното копие на последната работна версия. Това дава известно спокойствие в случай, че нещо е абсолютно погрешно в текущата версия на вашата операционна система или последващите допълнения. В случай на повреда в компютъра и невъзможността за изтегляне, както вие сами разбирате, отличната възможност ще бъде присъствието на второ копие за работа, така че можете да премахнете съществуващите грешки.
  • Изображение, озаглавено Направете компютърна операционна система стъпка 14
    Четиринадесет. Тествайте новата си операционна система на виртуална машина. Вместо да рестартирате компютъра всеки път след извършване на промени или прехвърляне на файлове от тестова машина към тестова машина, можете да използвате приложението, за да стартирате операционната система на виртуалната машина, докато текущата операционна система продължава да работи. VM приложенията включват VMware (който също има свободен сървър за достъп), алтернативен код с отворен код, BECHS, Microsoft Virtual PC (не е съвместим с Linux), както и XVM Virtualbox.
  • Изображение, озаглавено Направете компютърна операционна система стъпка 15
    Петнадесет години. Освободете версията за издаване. Това ще позволи на потребителите да ви разкажат за възможните недостатъци във вашата операционна система.
  • Изображение, озаглавено Направете компютърна операционна система Стъпка 16
    шестнадесет. Операционната система също трябва да бъде удобна за потребителя, така че не забравяйте да добавите полезни функции, които ще станат неразделна част от вашия дизайн.
  • Съвети

    • Когато развитието приключи, помислете дали искате да подадете код в свободен достъп или да установите частни права върху него.
    • Не забравяйте да направите функциите за сигурност от основния си приоритет, ако искате вашата система да бъде жизнеспособна.
    • Не започвайте проекта за разработване на операционната система, за да обучите програмирането. Ако не знаете C, C ++, Pascal или някои други подходящи езици и свойства, включително видовете указател, операции с битове с ниско ниво, превключване на битове, вграден асемблер и t.Д., - така че все още не е готов да създаде операционна система.
    • Разгледайте порталите като Osdev и Osdever, за да ви помогнат да подобрите собствената си операционна система. Обърнете специално внимание на факта, че най-много въпроси Общността Осев.ORG предпочита да повлияе на съдържанието на сайта и да не се присъедини към форума. Ако все още решите да се присъедините към редовете на членовете на форума, трябва да има някои предпоставки за това. Трябва внимателно да знаете c или c ++ и езика x86 massblier. Трябва също така да разберете общи и всеобхватни концепции в програмирането, като свързани списъци, опашки и t.Д. Общността на Osdev в правилата си директно показва, че никой няма да кърми нови програмисти. Ако се опитвате да разработите операционна система, тя не се казва, че вие ​​"Бог" в областта на програмирането. Също така трябва да прочетете ръководство за работа с процесор по отношение на неговата архитектура, избрана от вас - например, X86 (Intel), Arm, MIPS, PPC и T.Д. Такава структура на процесора може лесно да бъде намерена чрез търсене в Google ("Intel Manuals", "Ръководство за ръце" и T.Д.Чест. Не се регистрирайте на форума на Осдев.ORG, за да зададете очевидни въпроси. Тя просто ще доведе до отговори като "Прочетете ръката F *** ING". За да започнете, трябва да се опитате да прочетете Уикипедия, ползи за различни инструменти, които ще използват.
    • Проверете за потенциални мъртви точки и други грешки. Недостатъци, блокировки и други проблеми могат да повлияят на проекта на вашата операционна система.
    • Ако искате по-прост, изпратете дистрибуции на Linux - като Fedora Revisor, Custom Nimble X, Puppy Remaster, Pclinuxos Mklivecd или Suse Studio и Suese Kiwi. Въпреки това създадената операционна система принадлежи на компанията, която е първата, която въвежда тази услуга (въпреки че имате права на свободното му разпространение, промяна и пускане, както ви харесва, под GPL).
    • Добро решение ще бъде създаването на напълно нов дял за развитието на операционната система.

    Предупреждения

    • Пренаписването на Warless OS на твърд диск може да го повреди напълно. Бъди внимателен
    • Няма да получите напълно готова система за две седмици. Започнете от изтеглената операционна система и след това отидете на по-интересни неща.
    • Ако направите нещо бързо, като например, напишете случайни байтове в произволни I / O порта, след това унищожете операционната система и можете (на теория) да изгорите оборудването си.
    • Не очаквайте, че ще бъде лесно изграждането на висококачествена операционна система. Има много сложни взаимозависимости. Например, за да може операционната система да работи с множество процесори, мениджърът на паметта трябва да има "блокиране" механизми, за да предотврати ненужните процесори в същия ресурс едновременно. Използвани "блокове" приемат присъствието на планировчик, за да се уверите, че само един процесор се харесва на критичния ресурс по всяко време и всички останали са в режим на готовност. Въпреки това, планировчикът на работа зависи от присъствието на мениджъра на паметта. Това е пример за в зависимост от блокирането. Няма стандартен начин за разрешаване на такива проблеми - се очаква всеки създател на операционната система да бъде доста квалифициран да намери собствено решение.

    От какво имаш нужда

    • Компютър
    • Процесора, на който ще изградите
    • Достатъчно RAM (RAM) за виртуална машина
    • Основната операционна система (използвана за разработване на изходния код на асемблера (и други.), както и сглобки и опаковки в ранните етапи на работа - в края на краищата, вашата собствена операционна система ще стане първична)
    • Синтаксис на цветен код редактор (прилаган при липса на интегрирана среда за развитие)
    • Компилатор
    • CD / DVD устройство
    Подобни публикации