До сих пор увеличение производительности компьютерных систем обычно достигалось за счет более быстрых процессоров с большим числом транзисторов, но скоро этот метод себя исчерпает. Дальнейшее ускорение работы чипов будет приводить к их постоянному перегреву.
По этой причине сотрудники исследовательского центра Microsoft в Кембридже (Англия) совместно с Федеральной политехнической школой в Цюрихе (Швейцария) приступили к разработке новой операционной системы, которая должна обеспечить кардинальное ускорение работы программ на многоядерных компьютерах.
По словам профессора Тимоти Роско, новая система, получившая название Barrelfish, пока еще находится в стадии научно-исследовательских разработок. Тем не менее в сентябре ее код был открыт на условиях лицензии BSD. Несмотря на то что новая система пока не вышла из фазы эксперимента, разговоры о ней подогрели интерес публики, которая стала интенсивно скачивать код.
Проект ведется уже около двух лет и призван воплотить в жизнь многолетние идеи исследователей о том, как должны эволюционировать операционные системы, чтобы не отставать от современного уровня аппаратного обеспечения.
Для каждого ядра в Barrelfish выделена отдельная область памяти — не существует разделяемой памяти, как в Windows или Linux. Такая архитектура основана на обмене сообщениями между ядрами и получила у исследователей название мультиядерной (multikernel).
По утверждению Роско, передача сообщений между ядрами — например, сообщений с данными, имеющими отношение к безопасности, или любыми другими, обеспечивающими надежную работу ОС, оказалась более эффективной, чем использование разделяемой памяти.
Несмотря на то что операционные системы «знают», как использовать многоядерные процессоры, большинство современных приложений написано без учета многоядерной архитектуры. Поэтому такие компании, как Microsoft, Intel и Sun Microsystems, заняты тем, чтобы выяснить, как создавать распараллеленный код, во время исполнения которого использовались бы преимущества многоядерной архитектуры.
Apple использует механизм параллельного программирования в своей библиотеке Grand Central Dispatch, поставляемой в составе последнего пакета обновлений Snow Leopard к Mac OS X. Библиотеку GCD можно применять для создания приложений, использующих многоядерность, однако, как подчеркивает Роско, библиотека работает поверх Mac OS и не может заменить собой операционную систему.
Barrelfish построена на распределенной архитектуре. Вместо того чтобы пытаться идти на сложные компромиссы и ограничения в разделении ресурсов, характерных для модели с разделяемой памятью, разработчики выбрали в качестве модели для ОС распределенную систему с неразделяемыми ресурсами.
Такой подход позволит Barrelfish работать на самом разнообразном «железе», поскольку в выбранной модели операционная система максимально отделена от аппаратуры. Специфика архитектуры аппаратной части сводится к двум аспектам: механизму доставки сообщений и интерфейсам для работы с аппаратной частью. Это означает, что отпадет необходимость переписывать код Barrelfish в той степени, какая требуется для Windows или Linux, чтобы работать на более современных аппаратных системах.