По сути, это любой компилируемый язык с указателями. Но этого мало: нужна ещё поддержка ассемблерных вставок для доступа к портам, регистрам типа CR*, IDTR, GDTR и т.п.
Хотя вот некоторая кучка людей пилит дистрибутив Линукса с максимумом программ на питоне и в будущем собирается писать на нём и ядро.
У них есть какой-то костыль для запуска ядра на питоне. Костыль, конечно, не на питоне. Я не уточнял, что это за костыль, но я думаю, что он представляет собой интерпретатор питона, работающий в ring0 и предоставляющий модули для низкоуровневой работы.
ОС это не только ядро, но и окружение, так что go, rc (скрипты, да), limbo (если внезапно виртуальная машина). Haskell, erlang слишком тяжёлые, ЛNСП сликом тяжёл и deprecated, factor слишком тяжёл, forth слишком специфичен. Ещё есть Objective C, который слишком ООП, tcl, tk которого слишком и некоторые другие. Ну ещё Python, Си++, COBOL, Java, которые тяжёлые, раздутые, объевшиеся батарейками и кривизны разной степени.
Какие языки хороши для написания операционной системы (не ядро!!!)?
читая подобные треды, спрашиваю себя, а что сподвигло автора задать подобный вопрос, не одиночество ли, или автор хочет писать ОС но не ядро, как в данном случае?? Не улавливаю смысла вопроса я.
не одиночество ли, или автор хочет писать ОС но не ядро, как в данном случае?
пару раз пытался что-то подобное сделать: писал загрузчик, переводящий процессор в Unreal mode («реальный» с 4 гигабайтами оперативки) + программа на Си (загрузчик второго уровня) после этого рисовала графику в режиме VGA 640x480, делал HLFS (linux+uclibc+busybox+gcc)
Сейчас хочу продолжить эти эксперименты с каким-нибудь положительным выходом.