Projekt SerenityOS rozwija system operacyjny typu Unix z interfejsem graficznym

W granicach projektu Spokój Grupa pasjonatów pracuje nad uniksowym systemem operacyjnym dla architektury x86, wyposażonym we własne jądro i interfejs graficzny, zaprojektowanym w stylu systemów operacyjnych końca lat 1990-tych. Rozwój odbywa się od podstaw, ze względu na zainteresowanie i nie opiera się na kodzie istniejących systemów operacyjnych. Jednocześnie autorzy postawili sobie za cel doprowadzenie SerenityOS do poziomu odpowiedniego do codziennej pracy, zachowując estetykę systemów końca lat 90., ale uzupełniając ją o przydatne pomysły dla doświadczonych użytkowników nowoczesnych systemów. Kod jest napisany w C++ i dostarczane na licencji BSD.

Projekt jest dobrym przykładem na to, że wyznaczając konkretny cel i krok po kroku, dzień po dniu posuwać się do przodu w ramach hobby możesz stworzyć w pełni funkcjonalny system operacyjny i zaangażować się ludzie myślący podobnie. Inne projekty tego samego autora to m.in.: komputer, emulator komputera PC z procesorem i2003 rozwijany od 386 roku.

Projekt SerenityOS rozwija system operacyjny typu Unix z interfejsem graficznym

Funkcje dostępne na obecnym etapie rozwoju:

  • Wielozadaniowość z wywłaszczaniem;
  • Wielowątkowość;
  • Serwer kompozytowy i okienkowy WindowServer;
  • Własny framework do tworzenia aplikacji graficznych LibGUI z zestawem widżetów;
  • Środowisko do wizualnego projektowania interfejsów aplikacji;
  • Stos sieciowy obsługujący ARP, TCP, UDP i ICMP. Własny Narzędzie rozpoznawania nazw DNS;
  • System plików oparty na Ext2 (własna realizacja w C++);
  • Standardowa biblioteka C podobna do Uniksa (LibC) I zestaw typowe narzędzia użytkownika (cat, cp, chmod, env, kill, ps, ping, su, sort, strace, uptime itp.);
  • Powłoka wiersza poleceń z obsługą potoków i przekierowaniem we/wy;
  • Obsługa mmap() i plików wykonywalnych w formacie ELF;
  • Obecność pseudo-FS /proc;
  • Wsparcie dla lokalnych gniazd Unixowych;
  • Wsparcie dla pseudoterminali i /dev/pts;
  • biblioteka LibCore opracować skuteczne procedury obsługi zdarzeń (pętla zdarzeń);
  • obsługa bibliotek SDL;
  • Obsługa obrazów PNG;
  • Zestaw wbudowanych aplikacji: edytor tekstu, menedżer plików, kilka gier (Saper i Snake), interfejs do uruchamiania programów, edytor czcionek, menedżer pobierania plików, emulator terminala;

Źródło: opennet.ru

Dodaj komentarz