Re[3]: Поработать напрямую с железом на C#
От: vsb Казахстан  
Дата: 11.01.22 12:57
Оценка:
Здравствуйте, Sharov, Вы писали:

vsb>>Т.е. всё, что тебе надо для работы напрямую с железом из C# это иметь доступ к произвольным адресам оперативной памяти. Ну и, конечно, возможность запустить виртуальную машину без операционной системы и запустить свой код. Думаю, что и то и другое вполне достижимо. Понятно, что при загрузке какая-то часть будет написана на C/Assembler, но потом контроль передадут тебе и уже ты будешь за всё отвечать.


S>Что значит запустить вирт. машину без ОС?


Ну то и значит.

S>Кому bios (uefi) передаст управление?


Загрузчику какому-нибудь. Загрузчик найдёт диски, подмонтирует файловые системы, найдёт все нужные для запуска файлы и передаст управление уже непосредственно виртуальной машине, которая загрузит нужные DLL-ки и запустит выполнение.

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

Кстати Microsoft писали уже ОС на C#: Singularity. Можно посмотреть, как там сделано.
Отредактировано 11.01.2022 12:59 vsb . Предыдущая версия . Еще …
Отредактировано 11.01.2022 12:58 vsb . Предыдущая версия .
Отредактировано 11.01.2022 12:58 vsb . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.