-
для початку навчіться програмуванню. знання асемблера необхідно; настійно рекомендується також мати поняття про інші додаткові мови програмування нижчого рівня, наприклад, С.
-
визначтеся, на який пристрій Ви хочете завантажити операційну систему.це може бути CD-диск, DVD-диск, пристрій флеш-пам'яті, жорсткий диск або інший комп'ютер.
-
Вирішіть, який ви хочете бачити вашу операційну систему.чи повинна це бути повна версія ОС з графічним інтерфейсом користувача (GUI) або, може бути, що-небудь більш мінімалістичне? Вам необхідно знати, в якому напрямку рухатися, ще перед початком процесу.
-
уточніть, яку платформу процесора буде підтримувати ваша операційна система.AI-32 і x86_64 є двома найбільш поширеними версіями для персональних комп'ютерів, так що їх можна вважати найкращим вибором.
-
визначитеся, чи віддаєте перевагу робити все самостійно з нуля, або ж є ядра, на основі яких ви б хотіли надбудувати систему.Linux з нуля-проект для тих, хто бажає, наприклад, створити свій власний дистрибутив Linux.
-
Виберіть, чи збираєтеся ви використовувати свій власний завантажувач або попередньо створений уніфікований системний завантажувач Grand Unified Bootloader (GRUB).оскільки кодування своєї власної програми завантаження вимагає великих знань в області комп'ютерного забезпечення і BIOS, це може відсунути графік програмування діючого ядра.
-
прийміть рішення з приводу мови програмування, який збираєтеся використовувати.звичайно, цілком можливо розробити ОС на такій мові, як Pascal або BASIC, але краще писати на С або асемблері. Асемблер абсолютно необхідний, тому що деякі важливі частини операційної системи вимагають знання саме цієї мови. C++, з іншого боку, містить ключові слова, необхідні для запуску повної версії ОС.
- щоб зібрати ОС за допомогою кодів C або C++, ви, звичайно, будете використовувати то один компілятор, то інший. Це означає, що ви повинні прочитати керівництво/інструкції / документацію для обраного компілятора C / C++, що поставляється в комплекті з програмним забезпеченням або доступно на веб-сайті дистриб'ютора. Вам доведеться дізнатися безліч складних речей про компіляторі, крім того, для вдосконалення C++ належить вивчити його схему і ABI. Ви, як очікується, зрозумієте різні формати виконавчих завдань (ELF, PE, COFF, звичайні бінарні і т.д.) і помітите, що власний формат Windows, PE (.exe) захищений авторським правом.
-
виберіть інтерфейс програмування додатків (API).однією з добірок хорошого API є POSIX, так як вона добре документований. Всі системи Unix мають, принаймні, часткову підтримку POSIX, так що було б тривіально пристроювати програми Unix на вашу операційну систему.
-
визначтеся з дизайном.існують монолітні ядра і мікроядра. Монолітні ядра виконують всі служби в ядрі, в той час як мікроядра мають маленьке ядро в поєднанні з користувальницької реалізацією сервісів. Загалом, монолітні ядра швидше, але мікроядра мають кращу ізоляцію і захист від можливих несправностей.
-
розгляньте питання про розробку та роботу в команді.таким чином, вам буде потрібно менше часу на вирішення великих проблем, що дозволить створити операційну систему кращої якості за більш короткі терміни.
-
не стирайте ваш жорсткий диск повністю.Пам'ятайте, форматування диска необоротно очистить всі ваші дані! Використовуйте GRUB або інший менеджер для дубльованого завантаження вашого комп'ютера з іншої ОС, поки ваша версія не буде повністю готова функціонально.
-
почніть з малого.зверніть увагу в першу чергу на дрібниці, такі як відображення тексту і переривання, перш ніж переходити до складних елементів, наприклад, до управління пам'яттю і багатозадачності.
-
Зберігайте резервну копію останньої робочої версії.це дає певний спокій у випадку, якщо щось піде абсолютно неправильно в поточній версії вашої ОС або наступних доповненнях. У разі поломки вашого комп'ютера і неможливості завантаження, як ви і самі розумієте, відмінною можливістю стане наявність другої копії для роботи, так що ви зможете усунути наявні несправності.
-
протестуйте вашу нову операційну систему на віртуальній машині.замість перезавантаження комп'ютера кожен раз після внесення змін або передачі файлів з робочого комп'ютера тестовій машині ви можете використовувати додаток для запуску ОС на віртуальній машині, в той час як ваша поточна ОС продовжує працювати. Програми VM включають в себе VMWare (яка також має сервер у вільному доступі), альтернативний відкритий вихідний код, Bochs, Microsoft Virtual PC (не сумісний з Linux), а також XVM VirtualBox.
-
випустіть реліз-версію.це дозволить користувачам розповісти вам про можливі недоліки у вашій операційній системі.
-
операційна система також повинна бути зручною для Користувача, так що не забудьте додати корисні функції, які стануть невід'ємною частиною вашого дизайну.