Być może niektórzy z was słyszeli o tym projekcie, a być może jest to dla was zupełna nowość: Microsoft - obok Windows - pracował nad Singularity OS-em, który był rozwijany przez dywizję Microsoft Research od 2003 do 2015 roku (już jako Midori). Jego celem było stworzenie systemu o wysokiej niezawodności, w którym jądro, sterowniki urządzeń i oprogramowanie aplikacyjne były napisane w kodzie zarządzanym.
O co chodzi z tym kodem zarządzanym? Ten wykonywany przez środowisko uruchomieniowe, takie jak .NET lub Java. Środowisko to zapewnia wiele usług, takich jak zarządzanie pamięcią, bezpieczeństwem, obsługą wyjątków i interoperacyjnością z innymi językami. Kod zarządzany jest zazwyczaj kompilowany do pośredniej reprezentacji, która jest następnie interpretowana lub kompilowana "w locie" przez środowisko uruchomieniowe. Taki kod ma wiele zalet, takich jak przenośność, niezawodność, łatwość debugowania i testowania. Biorąc pod uwagę to, co chciał osiągnąć Microsoft, czyli wysoką niezawodność - był to zdecydowanie najlepszy wybór.
Polecamy na Geekweek: Polak odkrył nową metodę naprawy DNA. To szansa dla chorych na raka
Singularity był interesującym eksperymentem, który pokazywał możliwości języków zarządzanych w kontekście systemów operacyjnych. Singularity używał własnego języka programowania o nazwie Sing#, który był rozszerzeniem C# z dodatkowymi mechanizmami do obsługi komunikacji między procesami i izolacji. Singularity oferował również własne narzędzia do budowania i testowania systemu oraz aplikacji. Co więcej, opieranie bezpieczeństwa na poziomie własnego języka programowania miało potencjał, aby znacząco ograniczyć liczby podatności w oprogramowaniu.
Singularity nie użyto do żadnego komercyjnego rozwiązania, jednak jego kod źródłowy i narzędzia są dostępne do pobrania na GitHubie. Ponadto, Singularity stał się podstawą dla innego projektu Microsoftu o nazwie Midori, który był zaawansowanym systemem operacyjnym opartym na kodzie zarządzanym i rozproszonym.
Midori również nie doczekał się komercyjnego wydania, ale część jego rozwiązań została wykorzystana w innych produktach Microsoftu, takich jak Azure czy Bing. Nie jest więc tak, że Microsoft napalił w piecu na dolary "tylko dlatego, że mógł" - powstało sporo projektów opartych na kodzie zarządzanym i wszędzie tam, gdzie liczy się wysoka niezawodność - uzyskano za pomocą projektu Singularity nową jakość w działaniu kluczowych usług w portfolio giganta.
Singularity oznacza "jedność". Jak zaczynał Microsoft
Projekt rozpoczęto się w latach 2000 i jego pierwotną rola była eksperymentalna platforma badawcza. Głównym celem było stworzenie systemu operacyjnego, który spełniałby rosnące wymagania w zakresie stabilności, głównie w zastosowaniach biznesowych. Twórcy Singularity postawili na zupełnie nową konstrukcję systemu operacyjnego, unikając używania tradycyjnych jąder systemowych, takich jak np. jądro monolityczne. Zamiast tego skupili się na tworzeniu bardziej modułowej i bezpiecznej architektury.
Jednym z głównych innowacyjnych założeń Singularity było skoncentrowanie się na aspektach bezpieczeństwa. W tamtym czasie coraz bardziej obawiano się ataków hakerów i Singularity próbował znaleźć na to włane rozwiązanie, które minimalizowałoby możliwość przeprowadzenia udanego ataku. Wprowadzono model "Software-Isolated Processes" (SIP), który polegał na izolowaniu procesów od siebie nawzajem w sposób, który powodował mniej więcej tyle, że błąd w jednym programie nie powodował istotnych implikacji dla całego systemu operacyjnego - nie można było go użyć do tego, by zaatakować inne aplikacje i w efekcie tego wszystkiego (w ogromnym uproszczeniu) podnieść sobie uprawnienia.
Microsoft już wtedy wiedział, że ma problem z zaangażowaniem deweloperów i istotnym aspektem Singularity było zapewnienie jednolitego środowiska uruchomieniowego. Dzięki temu twórcy aplikacji mieliby znacznie łatwiejsze zadanie, tworząc oprogramowanie na różne platformy (aż szkoda, że to nie było tak proste w okresie konkurencji z Androidem, czy iOS). Niestety, prace nad Singularity były posunięte zbyt słabo, aby móc wykorzystać w pełni możliwość działania w ramach jednolitego środowiska uruchomieniowego. Zresztą, konkurencja z Apple i Google niezbyt pomagał Microsoftowi w osiągnięcia swojego celu w tej materii.
Singularity ma udział w tym, co widzimy dzisiaj
Microsoft Singularity w dalszym ciągu jest istotnym punktem w historii Microsoftu, udowadniając, że eksperymenty i badania nad nowymi rozwiązaniami są kluczową częścią działalności firm technologicznych. Dywizja Microsoft Research nadal prowadzi badania nad innowacyjnymi technologiami, które w tym momencie najpewniej aktywnie testują rozwiązania oparte na sztucznej inteligencji po to, aby wkrótce wprowadzić je do własnych produktów. Widać, jak Microsoft pod tym względem się zmienia i cóż - jest to naprawdę fascynujące. Jeszcze rok temu mało kto sądził, że AI stanie się tak ogromną rewolucją. Dziś już nikt nie ma co do tego wątpliwości.
Singularity to eksperymentalny projekt systemu operacyjnego, który miał na celu przedefiniowanie podejścia do bezpieczeństwa, wydajności i niezawodności oprogramowania. Jego wpływ można dostrzec w innych projektach Microsoftu. Bing i Azure mocno korzystają z tego, co wypracowano w ramach Singularity i między innymi to dało możliwość gigantowi tak łatwo zaimplementować narzędzia oparte na AI wewnątrz tych usług. Czy MS w tym momencie pracuje nad czymś podobnym? Oby tak właśnie było! Widać, że Microsoft dzięki temu zyskał naprawdę sporo i szkoda by było marnować czas na niewykorzystywanie własnego potencjału na przyszłe lata. Być może wkrótce dowiemy się więcej na temat podobnych inicjatyw - teraz wiadomo, że gigant stawia przede wszystkim na AI. Ale to wiemy już wszyscy.
Hej, jesteśmy na Google News - Obserwuj to, co ważne w techu