Можно ли создать операционную систему с использованием Python? [закрыто]

Можно ли сделатьminimalistic Операционная система, использующая Python?
Я действительно не хочу вдаваться в низкоуровневый код, такой как сборка, поэтому я хочу использовать простой
Язык как Perl или Python. Но как?

 inspectorG4dget05 июн. 2012 г., 22:58
Я думаюUnunium был написан полностью на питоне. Не совсем уверен, что проект еще жив, хотя
 pyfunc05 июн. 2012 г., 22:53
 NPE05 июн. 2012 г., 22:51
Чего ты надеешься достичь?
 betabandido05 июн. 2012 г., 22:58
ИМО Perl и простые два слова, которые не очень хорошо сочетаются друг с другом :)
 Charles Duffy05 июн. 2012 г., 22:57
Не без сборки или использования Csomewhere - даже у pycorn есть сборка для кода начальной загрузки. Обработчики прерываний, аналогично.

Ответы на вопрос(4)

Я предлагаю вам найти хороший учебник по дизайну операционной системы и изучить его. Я уверен, что вы не найдете такую книгу с исходным кодом Python; С более вероятно. (Вы можете найти более старый учебник, в котором вместо C используется Паскаль, но на самом деле он ничем не отличается.)

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

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

Однако вам нужно написать ассемблер и C для прерываний, низкоуровневого управления памятью и так далее. В моем случае я построил специально модифицированный Python 2.5.2 противNewlib Библиотека C; в минимальном случае вам просто нужно обеспечить управление кучей памяти для библиотеки Newlib, и поверх нее можно запустить Python.

Таким образом, интерпретатор Python не содержит своей собственной реализации кучи, и он зависит от библиотеки C, поэтому вы не можете сразу запустить ее на голом железе, но гораздо больше ядра операционной системы, как это обычно пишется, также может быть написано на Python.

Частным случаем, конечно, являются микроядра, где большая часть функциональности находится в пользовательском пространстве как сервисы; они могут быть более естественным образом реализованы на любом предпочтительном языке программирования, включая Python.

Проект Intel BIOS Installation Test Suite (BITS),руководство по написанию сценариев объясняет:

"... includes Python APIs to access various low-level functionality of the hardware platform, including ACPI, CPU and chipset registers, PCI, and PCI Express. You can write scripts to explore and test platform functionality, using the full power of Python in 32-bit ring 0, without an OS in the way.. "

Теперь BITS является платформой тестирования BIOS, специфичной для аппаратного обеспечения Intel, и не предназначена для запуска собственной ОС на основе Python, но это не означает, что вы не можете ее попробовать ...

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

Эта статья обсуждает более подробно, какие языки подходят для написания ядер операционной системы.

 05 июн. 2012 г., 23:14
Хорошая статья. Лучшая цитата это:In many languages other than C a fair amount of Assembly and C development is required in order to provide the appropriate runtime environment supporting the language's abstractions.

Ваш ответ на вопрос