Какие книги можно использовать для изучения и разработки операционных систем?

Какие книги или ресурсы вы можете порекомендовать для изучения принципов создания операционных систем с учётом того, что у меня есть базовые навыки программирования на Go, Python и C/C++? Планирую приобрести книги "Современные операционные системы" Э. Таненбаума и "Цифровая схемотехника и архитектура компьютера" Харрис & Харрис. Как вы считаете, они будут полезны для моей цели?
  • 10 августа 2024 г. 12:23
Ответы на вопрос 2
"Современные операционные системы" Э. Таненбаума является классическим учебником по операционным системам и действительно полезен для изучения основных принципов функционирования операционных систем. Он покрывает широкий спектр тем, начиная от архитектуры операционных систем до процессов, памяти, ввода-вывода и файловых систем.

"Цифровая схемотехника и архитектура компьютера" Харрис & Харрис также будет полезной книгой, так как она поможет вам понять основы архитектуры компьютера и как она взаимодействует с операционной системой.

Кроме того, вы можете также обратить внимание на книгу "Операционные системы: проектирование и реализация" Э. Таненбаума и Г. Боса, которая более подробно описывает проектирование и реализацию операционных систем.

Дополнительно, для практического освоения разработки операционных систем вам может быть полезной книга "Linux Kernel Development" Роберта Лава, которая предоставляет информацию о процессе разработки ядра Linux, включая работу с памятью, процессами и устройствами.

В целом, комбинация учебников Э. Таненбаума, книги Харрис & Харрис и практической книги по разработке ядра Linux могут стать отличным набором для изучения и разработки операционных систем.
Мне кажется что это блажь. Операционные системы в наше время люди не пишут. 
Ее написать невозможно по причине бесконечных технических требований которые
мы (читатели хабра) применяем к этому термину. И если вы по каким-то причинам
будете сокращать или вычеркивать эти требования - то на выходе будет не ОС
а некий программный продукт который содержит подмножество функций ОС.

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

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

Если писать не свою ОС а клонировать имеющиеся проекты то надо тоже на этом акцентировать
внимание.
Похожие вопросы