Представлена новая мультиядерная операционная система Arrakis
Как и Barrelfish, операционная система Arrakis придерживается концепции мультиядра, при которой на каждом процессорном ядре многоядерной системы выполняется отдельный экземпляр ОС с закреплёнными за ним ресурсами, такими как память. Взаимодействие экземпляров ОС построено на основе обмена сообщениями через специальную шину с применением репликации объектов вместо разделяемой памяти. Мультиядерная ОС подразумевает применение на гетерогенных системах с большим числом процессорных ядер и специализированных процессоров, и по архитектуре напоминает развёрнутый на локальной системе кластер, каждый узел которого выполняется на отдельном ядре CPU.
По мнению разработчиков Arrakis современные приложения становятся настолько сложными, что с точки зрения разграничения доступа не укладываются в модель защиты обычных ОС и превращаются в миниатюрные операционные системы. Например, браузерам необходимы средства изоляции выполняемых скриптов и дополнений, но они не имеют прав запуска изолированного окружения внутри приложения, использующего механизмы виртуализации. Аппаратные устройства также становятся всё более изощрёнными и могут выполнять задачи, свойственные ОС, например, сетевые карты могут демультиплексировать входящие пакеты для их прямой доставки определённому приложению.
С оглядкой на данные тенденции в Arrakis предпринята попытка исключения участия операционной системы в выполнении приложения. В соответствии с данной идеей, ОС только инициализирует окружение для выполнения приложения и выполняет редкие запросы по перераспределению ресурсов и разрешению конфликтов. Доступ приложения ко всем возможностям оборудования организуется через специальную библиотеку-прослойку, работающую в адресном пространстве приложения. Подобный подход открывает огромные перспективы в кастомизации, производительности и надёжности ОС.
Основные улучшения, добавленные в Arrakis, по сравнению с кодовой базой Barrelfish:
- Новый сетевой стек Arranet;
- Загрузка с использованием QEMU Multiboot, вместо GRUB;
- Поддержка виртуальных доменов Arrakis, работающих с использованием аппаратных механизмов виртуализации;
- Поддержка распараллеливания в системе сборки Hake;
- Поддержка механизма виртуализация ввода-вывода SR-IOV;
- Возможность использования преднастроенных значений BIOS для настройки PCI (как в Linux);
- Драйвер с реализацией виртуального сетевого адаптера Intel 82599;
- Расширенная поддержка POSIX, в том числе поддержка pthreads, epoll и сетевых сокетов;
- Поддержка счетчиков мониторинга производительности, присутствующих в процессорах Intel;
- Библиотека TenaciousD с реализацией постоянных (persistent) структур данных;
- Библиотека libstorage с реализацией абстрактного уровня (HAL) работы с накопителями;
- Драйвер для Intel MegaRAID;
- Драйвер для Intel VT-d (IOMMU).
Источник: http://www.opennet.ru/opennews/art.shtml?num=39829
|
0 | Tweet | Нравится |
|