Лучшая образовательная операционная система для изучения?

Какую лучшую операционную систему нужно изучать, чтобы написать свою собственную операционную систему x86 с нуля?

Ответы

Ответ 1

Я думаю, Minix был создан в значительной степени для этой цели.

Удачи!

Ответ 2

Возможно, будет сложно понять источник для всей ОС сразу. tutorials в osdev.org есть несколько Образцы кода "голые кости", чтобы вы начали.

Ответ 3

Для моего класса ОС в колледже мы использовали Nachos OS Project и реализовали это. Я сделал версию на С++, но я думаю, что есть и порт Java. Я помню, что это было очень интересно и многому научилось, хотя это была большая работа.

Ответ 4

Я только что написал свою версию ядра x86 с нуля! (для моего проект класса ОС), и это был опыт, о котором я не мог описать. Вы можете найти ценные ресурсы по ссылке выше.

Ответ 5

Честно говоря, вам, вероятно, не стоит начинать с архитектуры x86 или даже с операционными системами, но, возможно, что-то вроде 8-битного стартового набора, как базовый Fox11 набора для разработки. В колледже я написал свою первую (и единственную) ОС в сборке для процессора M68HC11 (тот, что в комплекте).

Если вы действительно хотите создать свою собственную ОС с нуля, у вас впереди долгий путь.

Ответ 6

Все зависит от того, как вы хотите, чтобы ваша операционная система функционировала, если вы хотите, чтобы микроядро вам нужно было изучать Minix 3, или если вы хотите, чтобы монолитное ядро, текущее ядро ​​Linux - это хорошее место для начала (HINT: look в arch/x86/boot, там есть очень интересный код). Однако я лично считаю, что вы должны прочитать руководства Intel и AMD, а затем немного почитать на форумах и вики osdev.org. У них есть много кода для изучения и, как правило, полезны для новичков.

Ответ 7

Я думаю, что лучший способ прочитать много разных источников операционной системы, безусловно, osdev barebone tutorials, рекомендации по исследованию ОС и документацию на вашем целевом оборудовании.

Я лично порекомендую посмотреть на ядро ​​фисташки l4-ka, написанное в довольно чертовски хорошо С++. Есть также несколько небольших проектов, которые, безусловно, стоит проверить, например, jimix или родословная.

Лучше всего придерживаться форумов osdev и wiki - там уже много информации, см. http://forum.osdev.org и http://wiki.osdev.org

Ответ 8

Я прочитал эту статью некоторое время назад. Вам это может показаться интересным. Этот парень написал MINIX в тот же день для самой цели обучения концепциям ОС. Поэтому, вероятно, это была бы хорошая простая ОС для изучения. http://www.cs.vu.nl/~ast/brown/

Однако, как упоминал Мартин и Кори, это большой кусок, чтобы пережевывать.

Ответ 9

Нет смысла изучать устаревшую ОС, которая в значительной степени относится к текущей ОС, поскольку они, как правило, имеют долгую жизнь. Взгляните на некоторые свежие идеи (хотя они основаны на проверенных и достоверных), например Singularity