2014-10-23 3 views
1

Я загрузил ОС MINIX 3, и я запускаю его в параллельном рабочем столе на моем Mac pro. MINIX3 - это .iso-файл, и я хочу знать, как написать какую-нибудь программу и упаковать ее в файл .iso. и запустить его с помощью виртуальной машины (Parallels Desktop)?Как написать простую командную строку ОС?

Что мне делать?

Я - разработчик Android.

+2

Вы можете обратиться к документации по MMURTL V1.0, которая находится по адресу http://www.ipdatacorp.com/mmurtl/, для некоторых идей. –

+1

Я полагаю, вы не хотите проводить несколько лет в темной комнате и начинать все с нуля. Вы можете повторно использовать существующее ядро ​​ОС для упаковки вашей «программы». См. Http://en.wikipedia.org/wiki/List_of_operating_systems#Non-proprietary, http://en.wikipedia.org/wiki/Boot_disk, http://en.wikipedia.org/wiki/Live_CD. Чего вы хотите достичь за цветным «Hello World»? – xmojmr

ответ

4

Написание ОС, даже простой командной строки, существенно отличается от прикладного программирования, которое вы увидите как разработчик Android. Parallels Desktop и другие виртуальные машины имитируют среду, в которой операционная система полагает, что она работает на реальном оборудовании, поэтому это будет эквивалентно написанию простой операционной системы на необработанном ПК.

Некоторые примеры вещей, которые вы должны быть знакомы с, чтобы написать операционную систему с нуля, являются следующие:

  • Знание C и ассемблере
  • Знание целевой архитектуры (в этом случай, x86)
  • знание процесса загрузки для конкретного устройства

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

Не паникуйте! Вам не нужно все это знать, чтобы начать разработку простой ОС. Вы можете начать с учебника о том, как написать простую операционную систему, которая проведет вас через все необходимые компоненты и шаги. Есть несколько сайтов, которые предоставляют это, но лучшее, на мой взгляд, это OsDev Wiki. Там вы найдете обучающие материалы и информацию по разработке ОС, которые проведут вас через весь процесс, а также образцы хобби, которые люди сделали.

Вместо того, чтобы сфокусироваться на командной строке os, которая загружается с ISO-образа, я прочитал учебник по вики, найденный здесь: http://wiki.osdev.org/Bare_Bones. Это позволит вам начать с очень минимальной операционной системы «Hello World», которая загружается с дискеты, что намного проще, чем ISO. В этом учебном пособии достаточно подробно рассказывается о взаимодействии аппаратного и программного обеспечения и процессе загрузки.

Я считаю, что хорошие разработчики, даже те, кто пишет веб-приложения или приложения для Android, понимают аспекты низкого уровня, такие как сборка и аппаратное/программное взаимодействие. Абсолютный самый быстрый способ научиться этому - через такие обучающие программы, как это.

Удачи!

+0

Спасибо, я тоже чувствовал, что это слишком сложно и сложно.Но я попробую это в моих силах. – Kross