Полная операционная система в C # - PullRequest
10 голосов
/ 30 октября 2010

Я видел эту тему здесь . Мне было интересно, если это было законно (звучит так) и каковы недостатки этого. Что влечет за собой запуск в одиночку в какой-то архитектуре? Спасибо

Ответы [ 4 ]

12 голосов
/ 30 октября 2010

Попытка создать операционную систему на управляемом языке в настоящее время является "интересной исследовательской проблемой".Это означает, что это кажется возможным, но есть еще немало важных вопросов, которые необходимо решить (например, я не ожидаю появления «управляемых окон» в ближайшее время).

Например, взгляните на проект Singularity (также доступен в CodePlex ).У него все еще есть некоторые родные части, но их очень мало.Насколько я знаю, даже сборщик мусора написан в управляемом коде (с некоторым языковым расширением, которое позволяет безопасно манипулировать указателями).

Хитрость в том, что даже управляемый код в конечном итоге будет скомпилирован в нативный код.В .NET компиляция обычно выполняется JITter при запуске приложения.В Singularity это делается заранее, поэтому вы запускаете нативный код (но сгенерированный из управляемого).Singularity имеет некоторые другие интересные аспекты - например, процессы обмениваются сообщениями (и не могут динамически загружать код), что позволяет проводить некоторые агрессивные оптимизации при генерации нативного кода.

4 голосов
/ 30 октября 2010

Есть проект с открытым исходным кодом, который пытается достичь именно этого. Он называется «Альянс управляемых операционных систем». В основном предназначенный для использования в качестве фреймворка (предоставляющий пользователям компилятор, библиотеки, интерфейсы, инструменты и пример ядра), он также будет включать в себя полное ядро ​​операционной системы и небольшие приложения.

Для получения дополнительной информации:

2 голосов
/ 30 октября 2010

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

Это также преследует Microsoft.Сингулярность была хорошо опубликована о.Он превратился в секретный исследовательский проект под названием Midori.Было достаточно утечек об этом, чтобы знать его цель, в Википедии есть статья об этом.Я думаю, что многие разработчики, которые работали над оригинальным CLR, присоединились к этому проекту.Придет ли это к хорошему концу - открытый вопрос.Если это произойдет, ясно, что спонсора проекта, вероятно, достаточно, чтобы получить эту критическую массу.

1 голос
/ 30 октября 2010

Проект Microsoft Singularity - это структура архитектуры операционной системы, которая позволит людям создавать настраиваемые операционные системы, и, вероятно, новая операционная система Microsoft будет основана на особенностях.

.NET является очень мощной средой, она развивалась и, вероятно, содержит все, от атрибутов метаданных до linq, что, безусловно, освобождает нас от ошибок неверных указателей.

Так же, как Windows Phone и iPhone, люди смогут создавать настраиваемую операционную систему для устройств.

Сегодня большинство межсетевых экранов, маршрутизаторов (аппаратных) содержат настроенный linux, который может быть заменен на Singularity kernal и ваш собственный бизнес-процесс.

Ядро Singularity маленькое, оно выглядит как идеальная альтернатива встроенным windows / linux.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...