Microsoft разрабатывает ОС для многоядерных процессоров

Некоторое время назад стало известно, что корпорация Microsoft работает над созданием экспериментальной многоядерной операционной системы. Теперь о данном проекте появилась дополнительная информация.

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

Данную операционную систему разрабатывают совместными усилиями подразделение Microsoft Research и технологический университет ETH Zurich. При этом в отмечается, что в разработке используются различные библиотеки третьих сторон под лицензией BSD. Потому возникает подозрение, что ОС Barrelfish может быть бесплатной и распространяться по схеме Open Source.

В соответствии с информацией, полученной от разработчиков, которые присутствовали на конференции, посвященной операционной системе Barrelfish, в ней будут использоваться некоторые разработки безопасности из Midori и Singularity. Напомним, в Microsoft также ведутся разработки экспериментальной ОС Singularity, в которой достигается высокая степень надежности благодаря изолированию друг от друга ядра, драйверов оборудования и приложений, а взаимодействие между ними осуществляется благодаря системе сообщений. Еще одной оригинальной разработкой является ОС Midori, основанная на Singularity, которая изолирует выполняемые приложения в целях обеспечения безопасности. И отдельно стоит упомянуть проект Azure, предназначенную для реализации облачных вычислений.

Однако отмечается, что вместо полного изолирования приложений от оборудования применяется некая база данных, в которой хранится низкоуровневая информация об аппаратном обеспечении. При этом ядро системы является однопоточным и непрерывным. Планирование объединено с передачей сообщеня, а получение сообщения активирует поток ожидания. Также в Barrelfish используются идеи микроядер, выполняющих драйвера в защищенных средах, например L4, которые внедряются в область выполняемых приложений.