Ресурсы для разработки операционной системы

Я планирую написать операционную систему, и я не очень разбираюсь в операционных системах. Есть ли хорошие ресурсы или книги для чтения, чтобы я мог учиться? Каковы ваши рекомендации?

Ответ 1

Мы использовали Andrew Tannenbaum Современные операционные системы в университете, в котором я учился. Я очень рекомендую для него четкие объяснения компромиссов, присущих многим проектным решениям, с которыми вы столкнетесь. Эта книга немного более "честна и сбалансирована", чем книга Minix.

alt text http://ecx.images-amazon.com/images/I/51DptFJH9NL._SL500_AA240_.jpg

Я также рекомендую эту книгу, потому что, несмотря на свою чистую знаменитую пламенную войну с Линусом Торвальдсом, некоторые из его пристрастий вошли в книгу. Кроме того, он довольно приличный писатель, и книга действительно интересна.

Ответ 2

Программное обеспечение для внедрения операционных систем Prentice

alt text http://ecx.images-amazon.com/images/I/3125C47MR4L._SL500_AA180_.jpg

Эта книга написана Tanenbaum, основным парнем за Minix, на котором основывался Linux. Он обеспечивает хороший обзор основных концепций ОС, таких как управление памятью, файловые системы, процессы и т.д. Концепции этой книги тесно связаны с примерами Minix OS, что хорошо.

Я думаю, вы должны начать с чего-то подобного.

Ответ 4

Os dev сайт богат информацией, если вы хотите начать кодирование своей собственной ОС,

Ответ 5

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

alt text http://ecx.images-amazon.com/images/I/51TJXR8CV3L._SL500_BO2,204,203,200_AA219_PIsitb-sticker-dp-arrow,TopRight,-24,-23_SH20_OU01_.jpg

Ответ 6

В то время как старые, эти книги очень хороши:

Дизайн операционной системы с Xinu

alt text http://ecx.images-amazon.com/images/I/51AVJFBS3EL._SL500_BO2,204,203,200_AA219_PIsitb-sticker-dp-arrow,TopRight,-24,-23_SH20_OU01_.jpg

Дизайн операционной системы - межсетевое взаимодействие с XINU, Vol. II

alt text http://ecx.images-amazon.com/images/I/51MTVNE1PHL._SL500_AA240_.jpg

3: http://Operating Системный дизайн -Interetworking With XINU, Vol. II

Ответ 7

Взгляните на HelenOS, который представляет собой с нуля микроядровую ОС, цель которой - быть полностью современной ОС. Disclamer, я являюсь автором, я работаю над своей оболочкой с нуля.

HelenOS портирован на ia32/64, SPARC, ARM и многое другое, его очень хорошо спроектировано и легко читается. Он все еще находится в зачаточном состоянии, но показывает один возможный дизайн, который действительно использует микроядровый дизайн и решает многие проблемы в реализации микроядра (например, IPC).

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

Я бы также изучил L4, Minix3 и GNU HURD (на основе Mach), последний из которых является иллюстрацией ошибок проектирования при попытке использовать микроядро.

Если вы хотите перейти на монолитный маршрут, просто изучите Linux.

Ответ 8

Я очень рекомендую взглянуть на класс MIT Operating Systems. Он получил множество полезных ссылок и кучу лабораторных упражнений, с которыми вы можете играть (включая автоматизированные скрипты сортировки, поэтому вам не нужно быть студентом MIT для их выполнения).

Ответ 9

учебник http://ecx.images-amazon.com/images/I/411E3CQQYZL._SS500_.jpg

Я использовал операционные системы и промежуточное ПО: поддерживая контролируемое взаимодействие, когда я учился в колледже. Это, вероятно, один из лучших учебников по этому вопросу.

Ответ 11

Разработка собственной 32-разрядной операционной системы Ричардом А. Берджессом. Пошел в подробные сведения о загрузчиках, установил эти странные регистры памяти и управления процессами и т.д. Это было замечательное чтение в 1996 году, когда я подумал, что я взломал бы написание простой ОС с нуля, но может быть датирован теперь, имея дело только с первыми несколькими поколениями процессоров класса Pentium.

Ответ 12

Если я правильно помню, Powerup to Bash Запрос HOWTO содержал много информации, которая выглядела бы как полезная для этого, Так были и старые версии Linux From Scratch HOWTO, но в последних версиях, которые были удалены.

Вы также найдете много хорошей информации в Понимание ядра Linux.

Ответ 13

Вы должны посмотреть в MINIX 3. Это операционная система, которая была написана, я считаю, менее чем 10 000 строк. Вы можете получить очень хорошее представление о том, как ОС работает с помощью одной из книг Tanenbaum и понимает, как работает MINIX 3. Вы можете пойти прямо в Linux, но я думаю, что это полезная задача и действительно помогает вам понять, как на самом деле не так много строк для создания рабочей операционной системы.

http://www.minix3.org/

Ответ 14

Я бы рекомендовал посмотреть встроенные операционные системы и построить встроенную ОС. Он будет заниматься основными концепциями без накладных расходов современного настольного процессора.

Я написал многозадачную встроенную ОС last spring как окончательный проект, это проще, чем вы могли подумать.

Ответ 15

Помимо книг, существует множество сайтов, изучающих разработку ОС
 BrokenThorn Entertainment находится на этом веб-сайте, где вы узнаете OS dev из базы