Що потрібно для написання операційної системи stack overflow російською
Якщо підходити по суті.
ОС - це така штука, яка реалізує багатозадачність (зазвичай) і завідує розподілом ресурсів між цими завданнями і взагалі. Потрібно стежити, щоб завдання один одному не могли шкодити і працювали в різних областях пам'яті і з пристроями працювали по черзі, це хоча б. А ще треба надати можливість передавати повідомлення від одного завдання до іншого.
Ще ОС, якщо є довгострокова пам'ять, повинна надавати доступ до неї: тобто надавати всі функції для роботи з файловою системою. Це мінімум.
Далі. Платформа. Від неї залежать інструменти, котрі знадобляться для розробки ОС. Деякі платформи: x86, x86-64, ARM, ну і купа інших.
Майже всюди найперший завантажувальний код повинен писатися на асемблері - там буває купа правил, де воно повинно бути, як має виглядати, що має робити, і який розмір не перевищувати.
Для РС треба на Асмі писати бутлоадер, який буде викликатися BIOS і кой повинен, не перевищуючи чотирьох з копійками сотень байт, щось зробити і запустити основну ОС - передати управління основним кодом, який в найближчій же перспективі можна писати вже і на С.
Для ARM треба на Асмі робити таблицю переривань (скидання, помилки різні, переривання IRQ, FIQ і ін.) І передачу управління в основний код. Хоча, у багатьох середовищах розробки такої код для майже будь-якого контролера є.
Тобто, необхідно для цього:
Далі. Припустимо, ви щось написали. Треба цю справу тестувати. Або треба пристрій фізичне, на якому будуть йти експерименти (отладочная плата, другий комп'ютер), або емулятор його. Друге зазвичай використовувати і простіше, і швидше. Для PC, наприклад, VMWare.
Статей по цій темі в інтернеті теж досить, якщо добре пошукати. А також є безліч прикладів готових ОС з кодами.