LINUX.ORG.RU

На чем изучать инициализацию ОС?


0

0

Требуется изучить процесс инициализации системы и создания одного-двух процессов (ручками, процессы буквально из одного сискола, последний выводит строчку на экран или на com).

Задача уже решена на i386, у решения есть недостатки, основной -- слишком много legacy stuff. Вопрос -- насколько реально решить задачу на иной архитектура (через qemu), желательно пользуесь только легальными книжками/документаций и за сильно конечное время. Не мешает наличие документированных примеров, отличных от сурсов linux или u-boot.

Пока найдены следующие явные недостатки: у ARM часть документации только покупателям и видимо под NDA (или у них уже прошла попытка задавить qemu).

Пока что в качестве претендента рассматривается MIPS.

★★★★★

Может стоит посмотреть на старый (32 бит) Spark http://www.sparc.org/ ? Правда не знаю, относительно изучения в qemu, все так это эмулятор, в его документации написано, что на эмуляции Spark работают только ядра Линукса, а Solaris и BSD не работают.

А касательно "сильно конечное время" --- может тогда ZX Spectrum :)

mky ★★★★★
()
Ответ на: комментарий от mky

А смысл именно legacy sparc32?. Кстати, sparc32 кажется ведь Линуксом перестал поддерживаться.

> А касательно "сильно конечное время" --- может тогда ZX Spectrum :)

Там опаньки с ОС.

sv75 ★★★★★
() автор топика

Я изучал на ARM. Могу рекомендовать. Код чистый, без хаков и весьма понятный.

> Пока найдены следующие явные недостатки: у ARM часть документации только покупателям и видимо под NDA (или у них уже прошла попытка задавить qemu).

Не совсем понятно. Архитектура ARM описана в доке DDI100 (берется на сайте арма), архитектура конкретного процессора может быть и под NDA, но в принципе никто не мешает изучать и на процессоре с открытыми доками (atmel sam* - доки открыты). Для pxa2** пока был у интела, тоже открыты были, наверняка можно найти в архивах где-нибудь.

alexru ★★★★
()
Ответ на: комментарий от alexru

> Архитектура ARM описана в доке DDI100 (берется на сайте арма),

Не нашел. В свободном (после регистрации) доступе по процессорам нашел только

DDI0405B_arm_v7m_architecture_app_level_reference_manual.pdf

Впрочем, за одну историю с закрытыми спеками в качестве палок в колеса Qemu для проталкивания своего закрытого эмулятора ARM уже следует гнать поганой метлой из образования.

sv75 ★★★★★
() автор топика
Ответ на: комментарий от sv75

arm.com -> documentation -> ARM architecture -> нужная архитектура.

Качаешь пдф после нажатия на кнопку agree под eula. Никакой регистрации не требуется.

В прочем если хочется гемороя, то ковыряй мипс, если нужно работать, то документацию можно научится искать, тем более в очевидном месте.

alexru ★★★★
()
Ответ на: комментарий от alexru

С радостью приму ваш код под любой пригодной для образования лицензией по адресу mstu@sevik.ru

Геморой тут понятие условное, поскольку это обучение. А корень гемороя -- внезапно свалившийся курс ОС, архитектура вторична.

Что касается документации, то ситуация такая: ARMv5 действительно доступна, а вот болеее новые ARMv7*/6* (на которые я и ткнул) -- только для каcтомеров.

sv75 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

> http://osdever.net/bkerndev/Docs/basickernel.htm

Спасибо за ссылки, но как я написал, для i386 данная учебная задача уже (многократно) решена, и еще решение студентами отчасти изучено в смежном курсе, поэтому этот вариант не очень интересен.

sv75 ★★★★★
() автор топика
Ответ на: комментарий от sv75

Есть ещё gxemul, вполне приличный эмулятор, поддерживает кучу архитектур. Не зацикливайтесь на qemu

anonymous
()

В prex есть порт для GBA. В VBA есть дебаг с дисасмом, логами, вьюерами.

prex весьма минималистична сейчас. Для обучения имхо неплоха.

GAMer ★★★★★
()
Ответ на: комментарий от GAMer

> В prex есть порт для GBA. В VBA есть дебаг с дисасмом, логами, вьюерами. prex весьма минималистична сейчас. Для обучения имхо неплоха.

Тоже любопытно. Посмотрю. Но GBA, как я понимаю, на основе процессора (arm7tdmi), к которому уже нет полной открытой документации?

sv75 ★★★★★
() автор топика
Ответ на: комментарий от GAMer

> В prex есть порт для GBA. В VBA есть дебаг с дисасмом, логами, вьюерами.

Собрал Prex для GBA, при попытке открыть prexos в VBA получаю "Unknown file type". ЧЯДНТ?

sv75 ★★★★★
() автор топика
Ответ на: комментарий от sv75

>на основе процессора arm7tdmi

Угу. Доки есть, но надо рыть. АРМХ их уже, афаик, не выкладывает. ИМХО, хороший даташит от 95го года - ARM DDI 0029E. Вроде от и до. По всему доку, если что - "Open Access" =)

По GBA, если б я знал =)

Если всё делалось по http://prex.sourceforge.net/doc/gba.html , то единственное предположение что это получилось либо дамп памяти(мб в терминологии VBA сейвстейт), либо ему хочется дамп картриджа в своём формате...

http://nuttx.sourceforge.net/

Тоже softRTOS. Поматерее prex, но ненамного больше/сложнее. Платформы: Linux User Mode, ARM7TDMI, ARM926EJS, 8052, Zilog Z16F, Zilog eZ80Acclaim!, Zilog Z8Encore! и Zilog Z80 родимый.

Компиляторы gcc и sdcc.

GAMer ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.