Nie tylko Windows 7 - Barrelfish i Helios
Microsoft od dawna rozwija najróżniejsze eksperymentalne projekty, a część ich funkcji trafia później do produktów koncernu. Wystarczy przypomnieć tutaj o Singularity czy Midori. Tym razem firma ujawniła informacje o systemie operacyjnym Barrelfish, który jest rozwijany przez Microsoft Research Cambridge i Szwajcarski Federalny Instytut Technologiczny (ETH Zurich) oraz własnym projekcie Helios.
Barrelfish budowany jest od podstaw, a jego celem jest zapewnienie jak najlepszej obsługi platform wielordzeniowych. Na witrynie Barrelfish.org czytamy: motywują nas dwa blisko związane ze sobą trendy w projektowaniu sprzętu: po pierwsze, szybko rosnąca liczba rdzeni obliczeniowych, która stanowi wyzwanie pod względem skalowalności, po drugie, zwiększająca się różnorodność sprzętu, przez co system operacyjny musi zarządzań heterogenicznymi zasobami.
Barrelfish [PDF] jest rozwijany od października 2007 roku. Teraz zdecydowano się na ujawnienie projektu i upublicznienie kodu, który zostanie udostępniony podczas październikowego ACM Symposium on Operating Systems Principles (SOSP). Kod zostanie udostępniony na licencji BSD. Jedynie te jego fragmenty, które nie są dziełem badaczy z Microsoftu i ETH będą udostępnione na odpowiednich opensource'owych licencjach. W przyszłości model licencyjny Barrelfish nie powinien ulec zmianie.
Jak podkreślają twórcy nowego OS-a, w chwili obecnej jest on przydatny tylko i wyłącznie dla badaczy specjalizujących się w rozwoju systemów operacyjnych. Brakuje mu większości funkcji obecnych we współczesnych systemach. Jest on jednocześnie różny zarówno od Windows i Linuksa. Będzie on systemem zdolnym do zarządzania komputerami przyszłości, których procesory mogą zawierać tysiące czy miliony rdzeni obliczeniowych. Co więcej, ma bez problemu poradzić sobie z obsługą rdzeni stworzonych w różnych architekturach.
Jednak na Barrelfish nie kończą się prace Microsoftu nad systemami przyszłości. Koncern idzie jeszcze dalej w projekcie Helios [PDF]. Nie tylko ma on radzić sobie w heterogenicznym środowisku, ale wprowadza też pojęcie "jąder satelitarnych". Jak wyjaśniają twórcy Heliosa, obecne systemy operacyjne były projektowane z myślą o środowiskach homogenicznych, a więc są pisane pod specyficzną architekturę procesora. Dlatego też Helios korzysta z "jąder satelitarnych", które mają być dla programistów "prostą, jednoznaczną warstwą abstrakcji systemu operacyjnego dla różnych architektur CPU i różnych wydajności". Jądro satelitarne to mikrojądro, które działa na każdym rodzaju architektury, a wszelkie sterowniki i usługi uruchamia w osobnych procesach.
W udostępnionym dokumencie czytamy: Helios to system operacyjny, którego celem jest uproszczenie tworzenia, stosowania i optymalizowania aplikacji dla heterogenicznych platform.[...] Helios korzysta z architektury NUMA. Każda z domen NUMA, na którą składa się zestaw procesorów i pamięci, uruchamia własne jądro satelitarne i niezależnie zarządza swoimi zasobami. Poprzez powielanie kodu jądra i wyraźne określenie wydajności każdej domeny NUMA, Helios powoduje, że jądro nie jest już wąskim gardłem, które utrudnia skalowanie w systemach wieloprocesorowych.
Jądra satelitarne to mikrojądra. Każde z nich składa się z zarządcy procesów, menedżera pamięci, menedżera przestrzeni adresowej oraz kodu koordynującego komunikację pomiędzy jądrami. Wszystkie inne usługi i sterowniki są uruchamiane w osobnych procesach. Pierwsze z jąder satelitarnych, służące do startu systemu, nazywane jest jądrem koordynującym. Wykrywa ono urządzenia programowalne i uruchamia kolejne jądra.
Oczywiście nie powinniśmy spodziewać się, że w najbliższym czasie pojawią się systemy Helios czy Barrelfish. To projekty badawcze nad systemami przyszłości, które mogą nigdy nie trafić na rynek w takiej formie, w jakiej są obecnie rozwijane.
Komentarze (6)
waldi888231200, 29 września 2009, 17:21
Bardzo mi się spodobało to zdanie.
Do słuchania przy czytaniu kolejnych wiadomości:
http://www.youtube.com/watch?v=eiuHdUkuRi0&feature=fvw
cyberant, 29 września 2009, 20:37
no a gdzie komentarze oznajmiające zawzięcie, że MS jest zacofany technologicznie, że wszystko zrzynają (szczególnie z linuxa i apple), a te dwa projekty są po to, żeby się odbić od dna? Bo jak dla mnie, to raczej ciągła i nieprzerwana praca by utrzymać pozycję lidera...
Tomek, 30 września 2009, 01:53
W życiu nie dorównają systemom z rodziny Unixów, które od podstaw były projektowane do wiele bardziej skomplikowanej pracy niż Windowsy.
mikroos, 30 września 2009, 07:52
Tyle tylko, że ten projekt NIE jest Windowsem. Poza tym zaskakująco łatwo jest oceniać coś, czego się nie na oczy widziało, prawda?
Mariusz Błoński, 30 września 2009, 09:48
Tomku, musisz też pamiętać, że założenia projektowe systemów Unix powstawały jeszcze dawniej niż założenia projektowe Windy. Wtedy nikomu się nie śniło o wielordzeniowych procesorach czy procesorach graficznych wykorzystywanych w roli CPU.
Te badania są też o tyle istotne, że duża część z nich (Singularity, Barrelfish) ma otwarty kod. Większości firm działających na rynku Unix/Linux nigdy nie byłoby stać na prowadzenie podobnych projektów. Dzięki otwartości kodu będą mogli podpatrzyć wiele rozwiązań i zaimplementować je w swoich przyszłych systemach.
Tomek, 30 września 2009, 12:58
jestem ciekaw jaką grupę sympatyków znajdą, która będzie rozwijać kod źródłowy.