Projekt helenos jest próbą opracowania systemu operacyjnego pracy zgodnie z przeznaczeniem helenos. Helenos obsługuje SMP, wielozadaniowość i wielowątkowość na obu 32-bitowych i 64-bitowych, little-endian i big-endian, architektury procesorów, wśród wich są AMD64 / EM64T (x86-64), IA-32, IA-64 (Itanium) , 32-bitowy procesor MIPS, 32-bitowy PowerPC i SPARC V9.
Helenos jest rozwijany przez studentów Wydziału Matematyki i Fizyki na Uniwersytecie Karola w Pradze. Kod źródłowy jest dostępny na licencji BSD. Komponentów innych producentów są licencjonowane na licencji GPL.
W przypadku zainteresowania naszym projektem lub masz jakieś pytania na ten temat, prosimy zapisać się do naszej listy mailingowej. Projekt jest obecnie w fazie intensywnego rozwoju i szukamy osób do naszego zespołu jako beta testerów. Beta testerzy dziś może stać się deweloperzy jutra
Opis .
- W-drzewie oznacza, że port już się rozpoczął, a że jest możliwe zbudowanie binarny obraz jądra SPARTAN do tego odpowiedniej architektury.
- Obsługa przerwań i wyjątków mówi, czy jądro jest gotowy, aby przetrwać i ostatecznie przetworzyć jakąś przerwania. Dotyczy to zwłaszcza sprzętu przerywa jak przerwania timera.
- Kontekst zapisu / odczytu jest możliwość zapisu i przywracania stanu aktualnego CPU w trybie jądra. To jest zadanie specyficzne dla architektury i wymaga kodowania montażu.
- Kontekst FPU odnosi się do zdolności do wspierania prywatnych zmiennoprzecinkową środowiska wątku .
- Zarządzanie czasem odnosi się do zdolności jądra liczenia kleszczy timera i wykonanie zarejestrowanych akcji na specjalnych wydarzeń zwanych limity czasu, .
- Kernel wywłaszczenie, w przeciwieństwie do zwykłej przestrzeni użytkownika pierwokupu, stwierdza, że wykonanie kodu jądra może być przerwany, gdy priorytetem CPU jest niskie (przerwania są wyłączone).
- wątki jądra są podmioty szeregowaniu z własnym kontekście jądra.
- Synchronizacja jest przez semafory, muteksy rwlocks i zmiennych warunkowych. Wszystkie te są bezpieczne i SMP może trybie limitu czasu pracy.
- Menedżer Heap wspomaga dynamiczny przydział i dealokacji pamięci dla celów jądra.
- fizyczny zarządzanie pamięcią dba o przydział ramek pamięci fizycznej.
- Wirtualne zarządzanie pamięcią jest podsystem, który zapewnia mapowanie adresów wirtualnych w pamięci fizycznej. Stosowany jest również do organizowania przestrzeni użytkownika mapowania pamięci wątki.
- Nici przestrzeni użytkownika są wątki z przestrzeni użytkownika stosu i mapowania pamięci wirtualnej dodał.
- Obsługa wielu deklaruje wsparcie dla systemów SMP. Każda architektura musi skonfigurować system na starcie do wykrywania wszystkich procesorów i ich wykonanie kodu jądra.
- little-endian i big-endian architektury są obsługiwane.
- 32-bitowe i 64-bitowe jeden architektury są obsługiwane.
Co nowego w tym wydaniu:
- Ogólne:
- projekt przełączony na bazarze VCS.
- ia32 port może być prowadzone w VirtualBox ponownie.
- Wsparcie dla budowania za pomocą szczęk.
- Kernel:
- Wsparcie dla procesorów UltraSPARC T1 i T2 został dodany.
- Usługi i sterowniki:
- Sterowniki ATA Dysk
- Teraz pracuje z prawdziwych dysków i obsługuje 48-bitowego adresowania LBA.
- sterowniki tabeli partycji GUID i MBR dodane.
- Na G3 Macs klawiatury działa przez nowego sterownika Apple Desktop Bus (i myszy jest również wspierany).
- sterowniki ponownie wprowadziła mysz, tym razem jako oddzielne serwery.
- myszy PS / 2
- Apple ADB myszy
- Serwis Schowek
- stos sieci (eksperymentalne wsparcie)
- Systemy plików:
- adresy bloków i przesunięcia plików są teraz 64-bitowy na wszystkich architekturach.
- Ulepszone I / obsługa błędów O.
- System plików FAT jest teraz bardziej odporne na zniekształconych danych systemu plików na dysku.
- System plików DevFS teraz rozumie, przestrzenie nazw urządzeń i przenosi się do hierarchicznej struktury katalogów.
- systemy plików FAT i tmpfs może być teraz nieoprawione.
- Aplikacje:
- Nowy edytor tekstu,
- Dodane edycji, prosty edytor tekstu.
- Bdsh
- Zwiększona wejście polecenia (tekst poszukiwania, historia, skopiuj i wklej)
- mkfile polecenia do tworzenia plików o zerowej wypełnione (np obrazów dysków)
- Narzędzie do tworzenia systemów plików FAT, mkfat
- Różne:
- System Budowanie
- Równoległe kompilacje są teraz obsługiwane.
- Spawned zadaniem teraz dziedziczy bieżący katalog roboczy na zadaniu spawner.
- Stos ślady
- Po nieudanej stwierdzeniem braku aplikacja wydrukować ślad stosu (wszystkie architektury wyjątkiem ia64 i MIPS32).
- Kiedy jądro zabija zadanie, wydrukuje swój ślad stosu (wszystkich architektur wyjątkiem ia64, MIPS32, ppc32 i sparc64).
- Kiedy wpada w panikę jądra, to wydrukować ślad stosu (wszystkich architektur wyjątkiem ia64, MIPS32, ppc32 i sparc64).
- Rdzeń wysypisk (eksperymentalne wsparcie)
- Regres w tym wydaniu:
- Zmiany w zachowaniu Qemu dla niektórych platformach,
- helenos / arm32 dla Integrator / CP działa w Qemu 0,11 i powyżej pokaże złe kolory na buforze ramki i pras klawiatury spowoduje błędne kody skanowania. Bieganie w Qemu 0.10.5 nie wykazuje tych problemów.
- Znane błędy:
- Do znanych błędów, zobacz listę wad zalogowanych dla następnych wydaniach.
Komentarze nie znaleziono