The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Intel развивает упрощённую архитектуру x86S, работающую только в 64-разрядном режиме, opennews (?), 20-Май-23, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


198. "Intel развивает упрощённую архитектуру x86S, работающую толь..."  +/
Сообщение от Аноним (180), 21-Май-23, 13:56 
Вопрос был не что такое порты I/O и как с ними работать, это понятно, а про то, что будет с теми ОС (и подобными), что я написАл. Ведь, если я правильно понял, если у тебя отобрали доступ к портам из кольца 3, то при попытке отобразить порты в адресное пространство кольца 3 или при попытке обращения по такому отображенному адресу тебе на аппаратном уровне покажут болт. Вопрос был - обязателен ли, прям кровь из носу, для таких ОС доступ к портам ввода/выода из кольца 3 или я что-то про них не так понимаю. А насчет отображения портов устройств на адресное пространство - у меня когда-то давно в 90-х даже курсовая была про подобную фигню, нарисовать схемы железки еще для древней шины ISA.
Ответить | Правка | Наверх | Cообщить модератору

202. "Intel развивает упрощённую архитектуру x86S, работающую толь..."  +/
Сообщение от Совершенно другой аноним (?), 21-Май-23, 15:20 
На самом деле это решается. В ядре, в обработчике исключения, выполняется анализ команды, которая выполнялась, и она выполняется уже в нулевом кольце. Мы так делали, например, с командой wrmsr, которая в 0 кольце разрешена, а в 3-тьем - нет.
Ответить | Правка | Наверх | Cообщить модератору

205. "Intel развивает упрощённую архитектуру x86S, работающую толь..."  +/
Сообщение от Аноним (205), 21-Май-23, 15:39 
А производительность?
Ответить | Правка | Наверх | Cообщить модератору

208. "Intel развивает упрощённую архитектуру x86S, работающую толь..."  –1 +/
Сообщение от Аноним (180), 21-Май-23, 15:59 
Ага. Я даже хотел про это написАть в предыдущем ответе, что теоретически можно что-то типа как при работе с виртуальной памятью закостылить - страницы в физической ОЗУ не нашли, генерируем исключение и обработчик из свопа подгрузил. А тут такой же посредник для работы с портами. И хотел написать, что такого не предлагать. Думаю понятно что по производительности будет полнейшая опа. Да в таком случае вообще смысл запускать драйвера в юзерспейсе отпадает.  Микроядерные ОС и так хейтеры ругают, что у них слишком много переключений контекста происходит. Вот представьте, что вы написАли драйвер к быстрой железке для микроядерной ОС, т.е. это процесс в юзерспейсе. В случае если у вас есть доступ к портам из юзерспейса - в драйвере, который как обычный процесс выглядит, получил через микроядро сообщение/RPC от клиента (увы, через переключение контекстов), полез из драйвера "напрямую" в порты железки, почитал их, пописАл - сделал свое черное дело. А с обработчиком в кольце 0 и запретом работы из кольца 3: драйвер в юзерспейсе получил сообщение от клиента, полез почитать/пописАть порты - а каждое обращение на чтение/запись - это исключение с переключением контекста в кольцо 0 и обратно. Лепота.
Ответить | Правка | К родителю #202 | Наверх | Cообщить модератору

228. "Intel развивает упрощённую архитектуру x86S, работающую толь..."  +/
Сообщение от Совершенно другой аноним (?), 21-Май-23, 18:35 
> Ага. Я даже хотел про это написАть в предыдущем ответе, что теоретически
> можно что-то типа как при работе с виртуальной памятью закостылить -
> страницы в физической ОЗУ не нашли, генерируем исключение и обработчик из
> свопа подгрузил. А тут такой же посредник для работы с портами.

Сейчас, в основном, с портами никто не работает - всё, более-менее скоростное отображено на память, так-что просадка будет, но, имхо, не критичная.

Ответить | Правка | Наверх | Cообщить модератору

261. "Intel развивает упрощённую архитектуру x86S, работающую толь..."  +/
Сообщение от Аноним (180), 21-Май-23, 23:26 
точно. Порты закрыли для кольца 3, а mmio гоняй откуда хочешь куда хочешь и как хочешь
Ответить | Правка | Наверх | Cообщить модератору

403. "Intel развивает упрощённую архитектуру x86S, работающую толь..."  +/
Сообщение от Аноним (-), 23-Май-23, 20:24 
> точно. Порты закрыли для кольца 3, а mmio гоняй откуда хочешь куда
> хочешь и как хочешь

Сгонять в ФИЗИЧЕСКУЮ память из юзермода операционки - вообще достаточно отдельный квест. Который ядро если и позволяет, то только руту. А может и совсем не позволять (если например режим lockdown активен).

Ответить | Правка | Наверх | Cообщить модератору

283. "Intel развивает упрощённую архитектуру x86S, работающую толь..."  +/
Сообщение от n00by (ok), 22-Май-23, 07:11 
> Вопрос был не что такое порты I/O и как с ними работать,
> это понятно

Как раз это и не понятно. Команды in и out появились в процессорах, когда шина адреса была узкая, её хватало лишь на небольшое по объёму ОЗУ, 64 Кб и меньше. При исполнении команд ввода-вывода процессор на специальной ножке выдавал сигнал "я обращаюсь не к ОЗУ, а к периферии". Позже адресное пространство увеличилось и стало больше объёма ОЗУ. Что позволяет зарезервировать диапазон адресов для доступа к устройствам. Теперь процессор читает-пишет память обычной командой mov, контроллер (мост) смотрит на значение адреса, если попадает в диапазон - перенаправляет обращение к регистрам устройства.

Попробуйте команду
lspci -vv | grep Region

Ответить | Правка | К родителю #198 | Наверх | Cообщить модератору

371. "Intel развивает упрощённую архитектуру x86S, работающую толь..."  +1 +/
Сообщение от Аноним (-), 23-Май-23, 02:53 
Более того - со временем люди поняли что DMA это круто, быстро и эффективно. Так вообще никаких команд не надо - только сетап железки и потом она сама поток данных гоняет. А проц может заняться чем-то более полезным. И когда периферия стала скоростной и продвинутой - вон то, с in и out стало, пардон, архаикой. DMA с физическими адресами оперирует как правило.

В мире где в моде сетевые, коммуникационные, периферийные интерфейсы с скоростями в десятки гигабит и более обкладываться DMA-движками, при том с обоих сторон линка, почему-то очень модно.

Ответить | Правка | Наверх | Cообщить модератору

295. "Intel развивает упрощённую архитектуру x86S, работающую толь..."  +/
Сообщение от Аноним (297), 22-Май-23, 09:51 
Порты ввода-вывода - это команды in/out
А отображённые на память регистры устройств для проца ничем не отличаются от оперативки - так что если ОС отмапит страницу юзерского пространства на них, работать с ними ничего не помешает.
Ответить | Правка | К родителю #198 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру