27.05.2014 | Операционная система Arrakis: экзоядро с максимальной изоляцией от приложений |
Состоялся первый публичный релиз экспериментальной операционной системы Arrakis, форка Barrelfish. В своё время ОС Barrelfish была с нуля написана в Высшей технической школе Цюриха для эффективной масштабируемости на компьютерах с многоядерными процессорами, там на каждом ядре процессора запускалась своя копия ОС. Arrakis создана для другой задачи: максимально убрать системный уровень ОС из нормальной работы приложений, то есть реализовать эффективное экзоядро. Логика у разработчиков такая. Современные программы настолько сложны, что представляют собой миниатюрные операционные системы. Они лишь страдают от существующей модели защиты ОС. Например, веб-браузеру нужно защищаться от вредоносных скриптов и собственных расширений, но у него нет права устанавливать защитные барьеры в пределах собственного приложения. С аппаратной стороны, технологии виртуализации и устройства ввода-вывода становятся более сложными и забирают всё больше функций, традиционно выполняемых операционной системой. Например, современные сетевые карты могут демультиплексировать входящий сетевой трафик, направляя потоки напрямую в соответствующие приложения. Кстати, Arrakis активно использует эту возможность и вообще не принимает участия в обработке трафика приложений. Поэтому Arrakis устанавливает среду исполнения для приложения и взаимодействует с ним только в тех редких случаях, когда нужно переназначить ресурсы или решить конфликты. У приложения есть полная свобода на доступ к аппаратному обеспечению через свою индивидуальную библиотеку, прикреплённую к адресному пространству этого приложения. Что и говорить, решение очень элегантное. Оно позволяет создать ОС беспрецедентной расширяемости, надёжности и производительности. В то же время встаёт ряд интересных вопросов: как обеспечить удобное взаимодействие между приложениями? единую файловую систему? как портировать сюда существующие приложения, в конце концов? Исходный код Arrakis опубликован в репозитории Github под свободной лицензией MIT Open Source. |
Проверить безопасность сайта