Из-за ошибки в процессорах Intel необходимо переписать ядра ОС, что снизит производительность компьютеров до 30% – ITC.ua

Я вот помню после появления в 1995 году примерно первых процессоров Pentium у первых 60 MHz образцов обнаружился изъян в микрокоде, ошибка в математике. Это я к чему- не спешите покупать самое новое, подождите хотя бы полгода. 

Из-за ошибки в процессорах Intel необходимо переписать ядра ОС, что снизит производительность компьютеров до 30%

 

Источник: Из-за ошибки в процессорах Intel необходимо переписать ядра ОС, что снизит производительность компьютеров до 30% – ITC.ua

В дизайне процессоров Intel выявлена фундаментальная ошибка, которая требует внесения значительных изменений в ядра операционных систем Linux, Windows и macOS для устранения уязвимости на уровне чипа. Обновление микрокода чипа не позволит устранить проблему. Решить её можно только через программное обновление операционных систем или же путём покупки нового процессора, в котором нет ошибки в дизайне.

Программисты наспех вносят изменения в систему виртуальной памяти ядра Linux. В Microsoft также уделили особое внимание данной проблеме и распространили соответствующее обновление Windows среди участников программы тестирования Windows Insider в ноябре и декабре. Выход исправления для всех пользовательских систем запланирован на ближайший «Вторник патчей». В результате установки этих обновлений производительность систем с процессорами Intel в ОС Linux и Windows существенно снизится. По предварительным оценкам, в зависимости от типа выполняемых задач и модели процессора, падение производительности составит от 5% до 30%. В более новых версиях чипов содержатся функции, такие как PCID, которые позволят уменьшить негативный эффект снижения производительности.

Пока что подробности об уязвимости в дизайне процессоров Intel не разглашаются. Вероятно, подробные сведения будут опубликованы для общественности после массового выпуска обновлений для операционных систем. На текущий момент о проблеме известно немного. Однако сообщается, что ошибке подвержены современные процессоры, выпущенные на протяжении последнего десятилетия. Из-за ошибки в дизайне ряд пользовательских программ – от приложений для работы с базами данных до JavaScript в браузерах – могут получать доступ к защищённым участкам памяти ядра. Как минимум, вредоносное ПО и хакеры могут воспользоваться этой ошибкой для более простого использования других ошибок безопасности. В худшем случае ошибка может позволить прочитать содержимое памяти ядра, в котором, среди прочего, могут содержаться конфиденциальные сведения о логинах, паролях, секретных ключах и т.д. Программное устранение ошибки заключается в том, что память ядра полностью изолируется от пользовательских процессов, используя KPTI (Kernel Page Table Isolation).

В процессе работы программ для выполнения своих задач (например, для записи данных в файл или открытия сетевого соединения) им всякий раз необходимо передать ядру управление над процессором. Для наиболее быстрого и эффективного перехода от пользовательского режима к режиму ядра и обратно, ядро ​​присутствует во всех адресных пространствах виртуальной памяти всех процессов, хотя для самих программ оно невидимо. Когда ядро ​​необходимо, программа выполняет системный вызов, процессор переключается в режим ядра и получает доступ к нему. Когда необходимая задача выполнена, процессор получает команду переключиться обратно в пользовательский режим и заново войти в процесс. В пользовательском режиме код и данные ядра остаются вне поля зрения, но присутствуют в таблицах страниц процесса.

Новые обновления для операционных систем переводят ядро в полностью изолированное адресное пространство. В результате, оно становится не только невидимым для запущенных процессов, а полностью отсутствующим в доступных для них адресных пространствах. На самом деле такой подход является ненужным, но из-за ошибки в процессорах Intel он становится необходимым для обеспечения безопасности. Недостатком такого разделения является тот факт, что для переключения между отделёнными адресными пространствами теперь потребуется значительно больше времени для каждого системного вызова и каждого аппаратного прерывания. Для каждого такого переключения теперь потребуется, чтобы процессор полностью выгрузил кэшированные данные и загрузил информацию из памяти. Это приводит к увеличению накладных расходов на работу ядра и замедлению компьютера. В результате, системы на базе процессоров Intel будут работать медленнее.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *