Система Linux станет ближе к системам «жесткого реального времени»
В следующий цикл улучшений операционной системы Linux будет добавлена способность обнаруживать и завершать приложения, которые вызывают разделенные блокировки (split lock), 5 февраля сообщает портал Phoronix.
Разделенные блокировки могут существенно замедлить работу компьютера и вызваны либо ошибками в программировании приложений, либо злонамеренными действиями нарушителя, пытающегося обрушить систему, создавая ситуацию «отказ в обслуживании».
Выиграют от будущего новшества системы жесткого реального времени, которые используются в промышленности, а также системы виртуализации и «облачных вычислений». Для борьбы с распределенными блокировками ядро Linux будет полагаться на механизм обнаружения блокировок в новейшей микроархитектуре Tremont процессоров Intel, которые генерируют исключение при обнаружении распределенной блокировки. Администратор системы сможет настроить, что делать с дефектным приложением после этого — принудительно завершить «нарушителя» или только уведомить администратора.
Напомним, разделенная блокировка возникает в тех случаях, когда приложение обращается к данным в памяти, которые не выровнены на ширину машинного слова. Архитектура Intel допускает невыровненный доступ к памяти, в то время как другие архитектуры, например, ARM или RISC-V не позволяют этого делать. В процессорах Intel инженеры приняли решение блокировать всю шину памяти, чтобы решить проблему когерентности при нарушении выравнивания доступа. В результате остальные приложения должны ждать, когда дефектное приложение закончит работать с данными.