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