Изучите разработку операционной системы с помощью Minix 2 или 3?

Я взял класс spring об общих теориях и принципах операционной системы, и теперь я хотел бы провести лето, работая над книгой Tanenbaum Operating Systems, просматривая источник Minix и получая общее представление о фактической реализации ОС.

В школе есть два профессора ОС, и я пошел к ним, чтобы спросить о книге Таненбаума о заимствовании. Интересно, что один из них сказал, что я должен использовать более старую, вторую версию книги и сосредоточиться на Minix 2, потому что она в целом проще и имеет меньше источников для понимания (и, следовательно, было бы легче учиться без перегрузки информации). Другой профессор сказал, что она не думала, что это будет проблемой, и что я должен пойти с Minix 3 и новейшим изданием своей книги, чтобы я смог увидеть более современную реализацию.

Что делает переполнение стека? У кого-нибудь есть опыт работы с обеими версиями Minix? Я хотел бы узнать принципы создания фактической ОС, но я также не хочу массовой перегрузки информации, которая не позволит мне понять, что такое код в целом.

Ответы

Ответ 1

Если вы хотите углубиться в источники основанных на микроядрах ОС, я бы посоветовал вам взглянуть на HelenOS, новее но все же относительно простая операционная система, не обремененная семантикой UNIX и API. Увы, пока нет книги (как Tanenbaum), но источники хорошо документированы.

Ответ 2

Я взял Minix 2. Это было понятно и проложено для Minix 3.

О HelenOS - они принимают нереалистичные цели - бесплатное и формальное описание. Оба не достижимы.

HtH

Ответ 3

Интересно, что я просто столкнулся с этим старым сообщением, так что извините за то, что кажется ударом.

Когда я был в университете, когда-то назад у нас была лаборатория операционных систем, мы использовали ПК с Linux для разработки и 68000 основанных машин с загрузочными ромами для тестирования, я считаю, что они основаны на VMS.

Программная среда была либо Modula2 (язык первого и второго года), либо C/С++ (язык второго и третьего года), все было перекрестно выполнено и загружено через script, готовое к тому, чтобы тестовый компьютер был reset для загрузки новой ОС.

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

Я пытался найти официальные источники и документацию для этой среды на некоторое время, я уверен, что это в Интернете где-то и возможно обновлено/поддерживается.