MenuetOS: zobacz, co może system operacyjny mieszczący się na jednej dyskietce Strona główna Aktualności18.11.2013 14:28 Udostępnij: O autorze Adam Golański @eimi W erze Javy i .NET-u, gdy wiele osób postrzega C++ jako niskopoziomowy język, a Mozilla zachęca, by pisać aplikacje na słabiutkie telefony w JavaScripcie i HTML5, programowanie w assemblerze może wydawać się specyficzną formą masochizmu, w najlepszym razie zastrzeżoną do fragmentów kodu wymagających najwyższego poziomu wydajności, czy produkcji demosceny. Jest jednak na naszej planecie człowiek, który wraz z kilkoma towarzyszami od ponad trzynastu lat pisze w assemblerze MenuetOS-a – kompletny system operacyjny, zawierający nie tylko monolityczne jądro z kilkoma narzędziami, ale też kompletną warstwę sterowników sprzętowych, stos sieciowy, a nawet graficzny interfejs użytkownika. Po tych trzynastu latach pracy MenuetOS bliski jest wydania 1.0, a zainteresowanie nim znacząco wzrosło, szczególnie w kręgach akademickich i wśród firm zajmujących się bezpieczeństwem IT. Twórca MenuetOS-a Ville Turjanmaa, ma się czym pochwalić. Jego hobbystycznie przecież rozwijany system operacyjny przestał być tylko zabawką. Zawiera niesamowicie szybkie jądro obsługujące wielozadaniowość z wywłaszczaniem i bogatą bibliotekę sterowników sprzętowych (obsługując nie tylko standardowe karty sieciowe czy pendrive'y, ale też takie urządzenia jak liczne karty graficzne, karty telewizji cyfrowej, kamerki internetowe czy drukarki). Wszystko to opakowane jest w oldschoolowy, autorski graficzny interfejs użytkownika, w którym można uruchomić przeglądarkę internetową, mieszcząc się przy tym na jednej dyskietce 1,44 MB. Konfiguracja urządzeń USBUstawianie przezroczystości okienek Autorom systemu nie zależy na jak najszybszym wydawaniu kolejnych wersji – wolą stabilny rozwój swojego projektu. Dwa lata temu MenuetOS doczekał się np. obsługi przezroczystości okienek w GUI, wideo w formacie MPEG oraz podsystemu drukowania, w zeszłym roku otrzymał wsparcie dla biblioteki mathlib, która dzięki wykorzystaniu instrukcji SIMD procesora pozwala na wykonywanie operacji matematycznych szybciej niż jednostka zmiennoprzecinkowa x87. Przed wydaniem wersji 1.0, do której dojść może w przyszłym roku, deweloperzy chcą dodać m.in. obsługę dekodera AAC do wykorzystywanego w Menuecie odtwarzacza mplayer – pisząc go oczywiście od podstaw w assemblerze. Odtwarzanie filmów za pomocą MPlayeraGra, której przedstawiać nie trzeba Już dzisiaj jednak Turjanmaa i jego koledzy uważają API systemu i środowiska graficznego za stabilne i dojrzałe. W przyszłych wersjach Menueta ulepszane mają być przede wszystkim aplikacje dla użytkowników – do wykorzystywania Internetu, oglądania filmów, obsługi rozmaitych urządzeń USB. Programista Madis Kalme liczy nawet na to, że uda się też stworzyć sterowniki wykorzystujące wszystkie możliwości procesorów Haswell – Intel jest dziś bowiem jedynym producentem GPU, który w pełni dokumentuje swój sprzęt na potrzeby twórców opensource'owych systemów (32-bitowa wersja MenuetOS-a dostępna jest na licencji GPL, zaś wersja 64-bitowa na licencji własnościowej). Twórcy MenuetOS-a zapewniają też, że programowanie w assemblerze nie jest wcale takie trudne, jak mogłoby się wydawać. Teraz gdy dostępne są już wszystkie wywołania systemowe, można prosto pisać nawet graficzne aplikacje dla systemu – nie martwiąc się o obsługę okienek, bitmap czy urządzeń można systemowi kazać narysować piksel w dowolnym miejscu ekranu. Szczególnie dobrze Menuet sprawdzać się ma w zastosowaniach wymagających reakcji w czasie rzeczywistym. Jeśli masz zewnętrzne urządzenie, Menuet dobrze sobie radzi z jego kontrolą. Drugim istotnym obszarem zastosowań ma być bezpieczeństwo – jako że kod źródłowy Menueta jest przekształcany praktycznie bezpośrednio na kod maszynowy, znikają wszelkie zagrożenia związane z wykorzystaniem kompilatorów języków wyższego rzędu, które w procesie kompilacji mogłyby wprowadzać do aplikacji swoje furtki. Obraz Menuet OS-a pobrać możecie tutaj; pobawić się nim najlepiej w maszynie wirtualnej (w VirtualBoksie należy wybrać system jako Other/Unknown), dodać kontroler dyskietek, podłączyć do niego obraz systemu, usunąć inne kontrolery dyskowe). Trzy sekundy później powinniście mieć już w pełni działający system operacyjny, tak mały, że w całości mógłby się zmieścić w pamięci L1 procesora. Oprogramowanie Udostępnij: © dobreprogramy Zgłoś błąd w publikacji Zobacz także Alfa Romeo Giulia: Nowy system info-rozrywki, audio Harman Kardon i systemy wsparcia i ochrony 27 lut Kamil Rogala TechMoto 0 Kia Xceed: Obsługa systemu, audio JBL i systemy bezpieczeństwa 2 lip 2020 Kamil Rogala Sprzęt TechMoto 1 DS 3 Crossback: Rzut oka na system info-rozrywki, systemy wsparcia i bezpieczeństwa 14 cze 2020 Kamil Rogala TechMoto 0 Windows 10X gotowy jako RTM. Spodziewana premiera wiosną 2021 roku 13 gru 2020 Oskar Ziomek Oprogramowanie 40
Udostępnij: O autorze Adam Golański @eimi W erze Javy i .NET-u, gdy wiele osób postrzega C++ jako niskopoziomowy język, a Mozilla zachęca, by pisać aplikacje na słabiutkie telefony w JavaScripcie i HTML5, programowanie w assemblerze może wydawać się specyficzną formą masochizmu, w najlepszym razie zastrzeżoną do fragmentów kodu wymagających najwyższego poziomu wydajności, czy produkcji demosceny. Jest jednak na naszej planecie człowiek, który wraz z kilkoma towarzyszami od ponad trzynastu lat pisze w assemblerze MenuetOS-a – kompletny system operacyjny, zawierający nie tylko monolityczne jądro z kilkoma narzędziami, ale też kompletną warstwę sterowników sprzętowych, stos sieciowy, a nawet graficzny interfejs użytkownika. Po tych trzynastu latach pracy MenuetOS bliski jest wydania 1.0, a zainteresowanie nim znacząco wzrosło, szczególnie w kręgach akademickich i wśród firm zajmujących się bezpieczeństwem IT. Twórca MenuetOS-a Ville Turjanmaa, ma się czym pochwalić. Jego hobbystycznie przecież rozwijany system operacyjny przestał być tylko zabawką. Zawiera niesamowicie szybkie jądro obsługujące wielozadaniowość z wywłaszczaniem i bogatą bibliotekę sterowników sprzętowych (obsługując nie tylko standardowe karty sieciowe czy pendrive'y, ale też takie urządzenia jak liczne karty graficzne, karty telewizji cyfrowej, kamerki internetowe czy drukarki). Wszystko to opakowane jest w oldschoolowy, autorski graficzny interfejs użytkownika, w którym można uruchomić przeglądarkę internetową, mieszcząc się przy tym na jednej dyskietce 1,44 MB. Konfiguracja urządzeń USBUstawianie przezroczystości okienek Autorom systemu nie zależy na jak najszybszym wydawaniu kolejnych wersji – wolą stabilny rozwój swojego projektu. Dwa lata temu MenuetOS doczekał się np. obsługi przezroczystości okienek w GUI, wideo w formacie MPEG oraz podsystemu drukowania, w zeszłym roku otrzymał wsparcie dla biblioteki mathlib, która dzięki wykorzystaniu instrukcji SIMD procesora pozwala na wykonywanie operacji matematycznych szybciej niż jednostka zmiennoprzecinkowa x87. Przed wydaniem wersji 1.0, do której dojść może w przyszłym roku, deweloperzy chcą dodać m.in. obsługę dekodera AAC do wykorzystywanego w Menuecie odtwarzacza mplayer – pisząc go oczywiście od podstaw w assemblerze. Odtwarzanie filmów za pomocą MPlayeraGra, której przedstawiać nie trzeba Już dzisiaj jednak Turjanmaa i jego koledzy uważają API systemu i środowiska graficznego za stabilne i dojrzałe. W przyszłych wersjach Menueta ulepszane mają być przede wszystkim aplikacje dla użytkowników – do wykorzystywania Internetu, oglądania filmów, obsługi rozmaitych urządzeń USB. Programista Madis Kalme liczy nawet na to, że uda się też stworzyć sterowniki wykorzystujące wszystkie możliwości procesorów Haswell – Intel jest dziś bowiem jedynym producentem GPU, który w pełni dokumentuje swój sprzęt na potrzeby twórców opensource'owych systemów (32-bitowa wersja MenuetOS-a dostępna jest na licencji GPL, zaś wersja 64-bitowa na licencji własnościowej). Twórcy MenuetOS-a zapewniają też, że programowanie w assemblerze nie jest wcale takie trudne, jak mogłoby się wydawać. Teraz gdy dostępne są już wszystkie wywołania systemowe, można prosto pisać nawet graficzne aplikacje dla systemu – nie martwiąc się o obsługę okienek, bitmap czy urządzeń można systemowi kazać narysować piksel w dowolnym miejscu ekranu. Szczególnie dobrze Menuet sprawdzać się ma w zastosowaniach wymagających reakcji w czasie rzeczywistym. Jeśli masz zewnętrzne urządzenie, Menuet dobrze sobie radzi z jego kontrolą. Drugim istotnym obszarem zastosowań ma być bezpieczeństwo – jako że kod źródłowy Menueta jest przekształcany praktycznie bezpośrednio na kod maszynowy, znikają wszelkie zagrożenia związane z wykorzystaniem kompilatorów języków wyższego rzędu, które w procesie kompilacji mogłyby wprowadzać do aplikacji swoje furtki. Obraz Menuet OS-a pobrać możecie tutaj; pobawić się nim najlepiej w maszynie wirtualnej (w VirtualBoksie należy wybrać system jako Other/Unknown), dodać kontroler dyskietek, podłączyć do niego obraz systemu, usunąć inne kontrolery dyskowe). Trzy sekundy później powinniście mieć już w pełni działający system operacyjny, tak mały, że w całości mógłby się zmieścić w pamięci L1 procesora. Oprogramowanie Udostępnij: © dobreprogramy Zgłoś błąd w publikacji