system_sudo
@system_sudo
Начинающий программист. Сейчас изучаю C и C++.

Какие книги прочитать чтобы написать свою операционную систему?

Я хочу написать свою ОС с нуля. Я владею языками Go и Python, знаю основы C/C++. Можете посоветовать книги для того чтобы понять как работают операционные системы, чтобы в последствии я мог создать свою? Я пока думаю купить "Современные операционные системы" Э. Таненбаума и "Цифровая схемотехника и архитектура компьютера" Харрис & Харрис. Мне они помогут?

Я изучаю программирование только 1,5 года самостоятельно и только недавно закончил школу. Помогите пожалуйста
  • Вопрос задан
  • 252 просмотра
Решения вопроса 1
saboteur_kiev
@saboteur_kiev
software engineer
Ну для начала следует разобраться в загрузчике.
Ставишь виртуалку и делаешь образ, который может загрузиться, что-то вывести на экран и выполнить какую-то манипуляцию (попробуй реализовать текстовое или графическое меню).

Для этого почитай как работает современный bios и как устроены стандартные разделы дисков, чтобы сделать свой загрузчик и разместить его в первом кластере/блоке.
Сейчас актуально и MBR и GPT.
А вот BIOS уже потихоньку заменяется на UEFI.
https://habr.com/ru/articles/327572/

Уже потом начинай думать что будешь делать с файловой системой, пробовать писать драйвер под существующую, или придумывать свою. Вполне возможно что на это у тебя уйдет несколько лет и ты забьешь.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
mayton2019
@mayton2019
Bigdata Engineer
Мне кажется что это блажь. Операционные системы в наше время люди не пишут.
Ее написать невозможно по причине бесконечных технических требований которые
мы (читатели хабра) применяем к этому термину. И если вы по каким-то причинам
будете сокращать или вычеркивать эти требования - то на выходе будет не ОС
а некий программный продукт который содержит подмножество функций ОС.

Я вам советую отказаться от мега-постановки и сначала просто написать свой загрузчик.
После этого посмотрите и подумайте стоит ли дальше двигаться. Если вы хотите все таки
писать свою ОС - напишите план разработки и перечень фич которые вам надо будет
реализовать (файловая система, консоль с интерпретатором команд, какой-то менеджер
процессов).

Написание своей уникальной ОС - это дорога длиной в жизнь.

Если писать не свою ОС а клонировать имеющиеся проекты то надо тоже на этом акцентировать
внимание.
Ответ написан
CityCat4
@CityCat4
//COPY01 EXEC PGM=IEBGENER
Найди исходники FreeDOS и попробуй понять, что там написано :) Задача конечно хорошая, амбициозная. Но готовьтесь к тому, что на ее решение могут уйти годы :)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы