Ресурсы для разработки операционной системы [закрыты]
-
05-07-2019 - |
Вопрос
Я планирую написать операционную систему, но я не очень много знаю об операционных системах.Есть ли какие-нибудь хорошие ресурсы или книги, которые я мог бы прочитать, чтобы научиться?Каковы ваши рекомендации?
Решение
Мы использовали современные операционные системы Эндрю Танненбаума в университете, в котором я учился. Я настоятельно рекомендую его, поскольку он содержит четкие объяснения компромиссов, присущих многим проектным решениям, с которыми вы столкнетесь. Эта книга немного более "справедливая и сбалансированная" чем книга Minix.
Я также рекомендую эту книгу, потому что, несмотря на его всемирно известную пламенную войну с Линусом Торвальдсом , немногие из его предубеждений проникают в книгу. Кроме того, он довольно приличный писатель, и книга на самом деле интересна.
Другие советы
Внедрение программного обеспечения Prentice для операционных систем
Эта книга написана Таненбаумом (Tanenbaum), главным парнем Minix, на котором основан Linux. В нем содержатся хорошие обзоры основных понятий ОС, таких как управление памятью, файловые системы, процессы и т. Д. Понятия, изложенные в этой книге, тесно связаны с примерами ОС Minix, что очень хорошо. Р>
Я думаю, вы должны начать с чего-то подобного.
Похожие темы на этом самом сайте:
веб-сайт Os dev богат информацией, если вы тоже хотите начать программировать свою собственную ОС,
Основные понятия операционной системы - это книга, которую мы использовали в университете. Это довольно некрасиво, НО информация внутри хорошо объяснена (от базового управления памятью до того, как ОС решает, что выполнять или как избежать тупика). Довольно широкий.
В старости эти книги очень хороши:
Дизайн операционной системы с помощью Xinu
Дизайн операционной системы - межсетевое взаимодействие с XINU, Vol. II
3 : http: // Operating Проектирование системы - межсетевое взаимодействие с XINU, Vol. II р>
Взгляните на HelenOS , операционную систему, основанную на микроядре с нуля, которая стремится стать полностью современной ОС. Disclamer, я участник, я работаю над его оболочкой с нуля.
HelenOS был портирован на ia32 / 64, SPARC, ARM и другие, он очень хорошо спроектирован и легко читается. Он все еще находится в зачаточном состоянии, но демонстрирует одну возможную конструкцию, которая действительно использует преимущества конструкции микроядра и решает многие проблемы в реализации микроядра (такой как IPC). Р>
Он также включает в себя сценарии, которые автоматически устанавливают правильную цепочку инструментов, необходимую для кросс-компиляции. Его очень легко построить и он отлично работает в большинстве симуляторов (т.е. QEMU) или в голом металле.
Я также изучил бы L4, Minix3 и GNU HURD (основанный на Mach), последний из которых является иллюстрацией проектных ошибок при попытке использовать микроядро.
Если вы хотите пойти по монолитному пути, просто изучите Linux.
Я настоятельно рекомендую взглянуть на класс MIT Operating Systems , В нем много полезных ссылок и куча лабораторных упражнений, с которыми вы можете поиграть (включая сценарии автоматической оценки, поэтому вам не нужно быть студентом MIT, чтобы их выполнять).
учебник http://ecx.images-amazon.com/ изображения / I / 411E3CQQYZL._SS500_.jpg
Я использовал Операционные системы и промежуточное ПО: поддержка контролируемого взаимодействия , когда учился в колледже. Это, вероятно, один из лучших учебников по этой теме.
Просто у меня в голове не укладывается.
Разработка собственной 32-разрядной операционной системы Ричардом Берджессом. Подробно рассказал о загрузчиках, настройке этих странных регистров управления памятью и процессами и т. Д. Это было отличное чтение еще в 1996 году, когда я подумал, что смогу написать простую ОС с нуля, но, возможно, он датирован Теперь, имея дело только с несколькими первыми поколениями процессоров класса Pentium.
Если я правильно помню, Powerup to Bash Prompt HOWTO содержал много информации, которая выглядела как полезная для этого. Как и старые версии Linux From Scratch HOWTO, но в последних версиях это было удалено.
Вы также найдете много полезной информации в Понимании ядра Linux . р>
Вам стоит взглянуть на MINIX 3. Это операционная система, написанная, как мне кажется, менее чем в 10 000 строк. Вы можете получить очень хорошее представление о том, как работает ОС, с помощью одной из книг Таненбаума и понимания, как работает MINIX 3. Вы могли бы перейти прямо к Linux, но я думаю, что это полезная задача, которая действительно помогает вам понять, как на самом деле не требуется столько строк для создания работающей ОС.
Я бы порекомендовал взглянуть на встроенные операционные системы и создать встроенную ОС. Он будет иметь дело с основными понятиями без издержек современного настольного процессора. Р>
Прошлой весной я написал многозадачную встроенную ОС как финальный проект, это проще, чем вы думаете.
Помимо книг, есть много сайтов, которые изучают разработку ОС
BrokenThorn Entertainment находится на этом веб-сайте, который изучает OS разработчика из базы