The OpenNET Project / Index page

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



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

Оглавление

В ядре Linux найдена забытая заплата, влияющая на производительность CPU AMD, opennews (ok), 27-Сен-22, (0) [смотреть все] +2

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


122. "В ядре Linux найдена забытая заплата, влияющая на производит..."  +3 +/
Сообщение от Додо (?), 28-Сен-22, 15:02 
Так сравни то, что умеют десктопные операционки сейчас и тридцать лет назад.
Мой самый любимый пример - ввод текста с клавиатуры.
Раньше, по крайней мере в DOS:
1. получил запрос на чтение одного символа через int 21h;
1. принял прерывание 09h;
2. проверил скан-коды и преобразовал их в символ;
3. вернулся прерывания в программу;
4. программа вызывает прерывание или напрямую кладёт символ в видеопамять (при этом единственный шрифт уже хранится в памяти).
То сейчас той же винде нужно:
1. получить сигналы от всех устройств ввода;
2. прогнать через все хуки и глобальные сочетания клавиш;
3. узнать, какому приложению нужно отправить сообщение о нажатии клавиши;
4. преобразовать скан-коды в символ в нужной раскладке и языке;
5. приложение наконец-то принимает его и выводит на экран (предварительно проверив уже свои сочетания клавиш);
6. для вывода нужно определить шрифт, получить параметры символов, определить символы поблизости (для кернинга), определить специальные лигатуры и т. п.;
7. наконец, надо отрендерить этот несчастный символ, со всеми субпиксельными сглаживаниями, и именно в нужном месте;
8. картинку с экрана нужно отправить видеокарте, чтобы она уже окончательно вывела её на монитор.
Поэтому, кстати, среднее время между нажатием на клавишу и отображением символа за все эти годы не уменьшилось. Просто сам процесс стал гораздо более сложным.
Так и в целом. Можно вполне работать в тех же Kolibri OS, которые более мелкие и шустрые. Но в них нет всех тех функций, к которым мы уже привыкли в Windows/Linux/MacOS, и которые делают эти системы такими большими и неповоротливыми.
Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

136. "В ядре Linux найдена забытая заплата, влияющая на производит..."  +1 +/
Сообщение от Аноним (136), 28-Сен-22, 22:12 
Ну да. И в usb допустим как таковом никаких прерываний и нет. По поводу чего в DOS он почти и не работает, кроме совсем минимального эрзаца который аж через, кажется, SMM-бэкдор надувает программы что это, типа, тоже клавиатура и мышь. В сильно урезаном "boot mode", ога. Остальное вообще в пролете.

А что до рендера - особо прошареные, типа игроделов, доперли рендерить векторные фонты со всеми наворотами 1 раз а потом готовый битмап доставать. А что до передать картинку - с тех пор DMA движками все сильно подперли, да и видеокарта так то нехилый массив ALUшек, в теории даже на ней можно вектор рендерить, на практике оформить столь продвинутые шейдеры, конечно, весьма экзотично.

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

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

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




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

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