15 ответов:
мы использовали Эндрю Танненбаума Современные Операционные Системы в университете я посещал. Я настоятельно рекомендую его для четкого объяснения компромиссов, присущих многим проектным решениям, с которыми вы столкнетесь. Эта книга немного более "справедливая и сбалансированная", чем книга Minix.
alt текст http://ecx.images-amazon.com/images/I/51DptFJH9NL._SL500_AA240_.jpg
Я также рекомендую эту книгу, потому что, несмотря на его net-знаменитая пламенная война с Линусом Торвальдсом, немногие из его предубеждений проходят в книге. Кроме того, он довольно приличный писатель, и книга на самом деле интересная.
Реализация Операционных Систем Prentice Software
alt текст http://ecx.images-amazon.com/images/I/3125C47MR4L._SL500_AA180_.jpg
эта книга написана Таненбаумом, главным парнем за Minix, на котором был основан Linux. Он обеспечивает хорошие обзоры для основных концепций ОС, таких как управление памятью, файловые системы, процессы и т. д. Концепции в этой книге книги тесно связаны с примерами ОС Minix, что является хорошим вещь.
Я думаю, что вы должны начать с чего-то вроде этого.
Os dev сайт богат информацией, если вы хотите начать программировать свой собственный ОС
Концепции Операционной Системы Это книга, которую мы использовали в Университете. Это довольно уродливо, но информация внутри хорошо объясняет (от базового управления памятью, до того, как ОС решает, что выполнять или как избежать тупика). Довольно широкий.
в то время как старые, эти книги очень хороши:
дизайн операционной системы с Xinu
дизайн операционной системы-работа в интернете с XINU, Vol. Второй
alt-текст http://ecx.images-amazon.com/images/I/51MTVNE1PHL._SL500_AA240_.jpg
3:http://Operating система проектно-сетевого с XINU, вып. Второй
посмотри HelenOS, который представляет собой с нуля микроядро на основе ОС, которая стремится быть полностью современной ОС. Disclamer, я участник, я работаю над его оболочкой с нуля.
HelenOS был портирован на ia32 / 64, SPARC, ARM и многое другое, его очень хорошо разработан и легко читается. Он все еще находится в зачаточном состоянии, но показывает один возможный дизайн, который действительно использует преимущества дизайна микроядра и решает многие проблемы в реализации микроядра (например, IPC).
Он также включает скрипты, которые автоматически настраивают правильную цепочку инструментов, необходимую для кросс-компиляции. Его очень легко построить и работает очень хорошо в большинстве симуляторов (т. е. QEMU) или голого металла.
Я бы также изучил L4, Minix3 и GNU HURD (основанный на Mach), последний является иллюстрацией ошибок дизайна при попытке использовать микроядро.
Если вы хотите пойти монолитным маршрутом, просто изучите Linux.
Я настоятельно рекомендую взглянуть на класс операционных систем MIT. В нем есть много полезных ссылок и куча лабораторных упражнений, с которыми вы можете играть (включая автоматизированные сценарии оценки, поэтому вам не нужно быть студентом MIT, чтобы их выполнять).
учебник http://ecx.images-amazon.com/images/I/411E3CQQYZL._SS500_.jpg
Я операционные системы и промежуточное программное обеспечение: поддержка управляемого взаимодействия когда я учился в колледже. Это, вероятно, один из лучших учебников по этому предмету.
разработка собственной 32-битной операционной системы Ричардом А. Берджессом. Подробно рассказал о загрузчиках, настройке этих странных регистров памяти и управления процессами и т. д. Это было отличное чтение еще в 1996 году, когда я думал, что возьму трещину в написании простой ОС с нуля, но теперь может быть датировано, имея дело только с первыми поколениями процессоров Pentium-класса.
Если я правильно помню,запуск в командной строке как содержит много информации, которая будет полезна для этого. Так же как и старые версии Linux с нуля HOWTO, но в последних версиях, которые были удалены.
вы также найдете много хорошей информации в понимание ядра Linux.
вы должны заглянуть в MINIX 3. Это операционная система, которая была написана, я считаю, менее чем в 10 000 строк. Вы можете получить очень хорошее представление о том, как работает ОС с помощью одной из книг Таненбаума и понимания того, как работает MINIX 3. Вы можете перейти прямо к Linux, но я думаю, что это полезная задача и действительно помогает вам увидеть, как на самом деле не требуется так много строк для создания рабочей ОС.
Я бы рекомендовал посмотреть на встроенные операционные системы и построить встроенную ОС. Он будет иметь дело с основными концепциями без накладных расходов современного настольного процессора.
прошлой весной я написал многозадачную встроенную ОС в качестве окончательного проекта, это проще, чем вы можете подумать.
помимо книг, есть много сайтов, которые изучают развитие ОС
BrokenThorn Entertainment находится на этом сайте, который изучает OS dev из базы
Comments