Поработать напрямую с железом на C#
От: Shmj Ниоткуда  
Дата: 02.01.22 20:54
Оценка: :)
Такой вопрос. Вот осознал что всегда работал на неком уровне абстракции — платформа тебя заботливо ограждает от реальных сущностей, причем очень очень сильно ограждает, так что даже теряется общее представление как оно устроено, даже если у тебя опыт работы много лет.

Хотелось бы больше для ликбеза чуть приблизиться к реальному железу, понять на каком языке с ним разговаривают уже после уровня драйверов. Но при этом не хотелось бы вдаваться в системные языки — все в рамках C#.

Грубо говоря комп представляет из себя:

1. Вычислялку — процессор.
2. 2 хранилки — быструю временную и медленную (ОЗУ и диск).
3. Показывалку — монитор.
4. Вводилку — клавиатуру/мышь/сенсор.
5. Говорилку/слушалку.
6. Связывалку — сеть.

К примеру, узнал интересное про сеть. В .Net есть класс Socket. Но он не умеет напрямую IP-протокол, поверх которого все строится. По сути глобальный протокол 1 уровня — это именно IP (не считая канальные и всякие прочие — которые не выходят из локальной зоны) — а TCP и UDP уже поверх него. Предлагают некую байду — https://github.com/PcapDotNet/Pcap.Net , который работает поверх WinPcap. Ну хотя бы так.

Интересное еще про говорилку. Как оно вообще внутри работает? Ей подают сигнал в виде потока просто? Аналогичный вопрос про слушалку — с нее получаем просто поток?

Про показывалку вопрос. Что принимает драйвер видеокарты в общем виде? Вектор и растр? Вектор видимо отличается сильно по возможностям для разных карт — но в среднем какие там возможности? Как-то можно напрямую с этим поработать на любимом ЯП?
Отредактировано 02.01.2022 20:56 Shmj . Предыдущая версия . Еще …
Отредактировано 02.01.2022 20:55 Shmj . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.