Обновить

Рэймонд Чен объяснил зависание панели задач при перегрузке системы в Windows 10 и 11

Время на прочтение2 мин
Охват и читатели5.2K
Всего голосов 1: ↑1 и ↓0+3
Комментарии4

Комментарии 4

Новая постоянный фид филлерных новостей "Рэймонд Чен объясняет"? В стиле "М'Айк Лжец в TES: шутки, комментарии, оправдания разработчиков".

Сегодня рубрика "#ОправданияОтЧена" под кодовым названием "Мы так и не сумели сделать нормальную многозадачность с гарантированным выделением ресурсов для критичных системных приложений".

Your priority checkout pass gets you to the front of the line, but if the person at the register has a large shopping cart full of groceries, you just have to wait until they are done before you get your chance.

...неверно. При переключении процесса планировщиком идет сброс контекста выполнения одного и переключение на контекст другого процесса, в рамках аналогии: выгружальщику тележки просто не дадут разгрузить всё: ему дадут выгрузить и пробьют порцию в ровно M товаров в течении кванта времени, после чего его развернут в конец очереди и так, пока он не пробьёт и не оплатит всё.

Или верно, но тогда у меня вопросы к системному планировщику и программистам, его реализовавшему, который при многозадачности позволяет такое в принципе - потому, что это уровень кооперативной многозадачности, которой грешили 3.х (там вообще мрак с хендлерами) и 95-98я.

Вместо "у нас есть гарантированно пустые слоты в цикле планировщика, доступные только конкретно прописанным программам управления и недоступные никому больше - аналог SysRQ в линуксах. Их может быть - удельно - больше в простое (idle) и меньше при загрузке пользовательскими задачами, но они будут всегда и мы через них можем организовать хоть какой-то диалог с пользователем даже при полной загрузке проца" сделано такое вот.

Или эти слоты есть, но новые, слопленные писаные на стильных-моднявых-кырасивых WinUI, таскбар и диспетчер (в отличие от их писанных на чистом GDI предков) уже не успевают полноценно даже отрисоваться и нужно выкатывать общественности М'Айка Чена с оправданиями?

крайне сложно исправить ситуацию, если ваши инструменты вынуждены делить критически важные ресурсы с тем самым процессом, который вышел из‑под контроля», — указывает Чен.

Понятно. Все упирается в недостатки аппаратной архитектуры. Наверно для ядра ОС нужен отдельный аппаратный узел, и оперативка должна быть типа Dual-Port. Кнопка Win должна быть не на клавиатуре, а того же типа как кнопки Power и Reset. Еще нужен дисплей Win. Тогда можно будет обеспечить надежный контроль над всеми процессами.

Ну да, режим пультового терминала, как в PDP-11, работающий в теневом режиме в отдельной памяти и при переключении в него не затрагивающий ни состояния регистров, ни состояния оперативной памяти (кроме теневого ОЗУ, подключаемого именно при работе пульта). Или кнопка Magic... Наконец, JTAG и отдельный большой и толстый аппаратный отладчик. Но это ж сугубо низкоуровневая отладочная система. Через него нельзя (вернее, можно, но очень непросто) получить доступ именно к механизмам ОС. Процессы, потоки и т.п. А проще было бы, если бы планировщик системы, получив управление (а он рано или поздно получит управление даже в самой загруженной системе) и обнаружив взведенный по нажатию спецкомбинации флаг, просто перестал бы отдавать процессорное время всем пользовательским процессам. Кроме диспетчера задач.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации