Megerko писал(а): Вт янв 09, 2018 12:36
Может. Если проблема действительно в аппаратной архитектуре, то все очень и очень печально.
Представьте себе, что таблица умножения, которую вы использовали всю жизнь - не верна.
И при определенных условиях 2х2 не равно 4.
Не имеет значения, на каком языке вы зададите вопрос, ответ будет одинаковым. Потому что он правильный.
Еще пример, если задать математикам задачку - все правильные ответы будут одинаковые, хотя решали их люди с разным складом ума.
Точно так же и с компьютером. В основе работы любых, самых сложных систем лежат примитивные действия.
Представьте, что в процессе разработки процессора в него заложили определенные элементы защиты. Позднее, все написанные операционные системы
так или иначе работают с процессором используя эти самые примитивные процедуры. Поскольку они все крутились в одном адресном пространстве,
они все считались доверенными и получали безусловный доступ.
Их невозможно исключить, так устроен процессор, он "думает" именно так, потому что он так создан.
И вот сейчас всплыла информация, что адресное пространство процессора скомпромитировано. И процедуры, которые считались
безопасными - представляют угрозу для защищенных данных, и что хуже всего, система не понимает, какие именно процедуры
скопромитированы и не может их изолировать. И происходит это не аппаратном уровне.
В данном случае программные заплатки реализуют разделение этих процедур на безопасные и условно безопасные.
Заплатка создает виртуальное ядро системы и выводит его из адресного массива процессора.
Процессор просто не знает о существовании нового ядра, пока ОС ему не подскажет. И в этом проблемка,
поскольку нужно не только управлять двумя параллельными адресными пространствами на самом низком уровне,
но и обеспечивать их взаимодействие. Все это потребляет огромные вычислительные ресурсы,
и падение производительности на 15-30% - в данном случае очень оптимистичный прогноз.