Zespół systemu operacyjnego Syllable dokonał implementacji dwóch ważnych mechanizmów: asynchronicznej obsługi wejścia-wyjścia oraz mapowania pamięci (mmap). Oba zostały napisane jako rdzenne POSIX-owe wywołania na poziomie jądra.
Asynchroniczne I/O było dotąd przechwytywane przez libc, które w rzeczywistości wykonywało operacje synchronicznie. Ten brzydki hak pozwalał jednak przynajmniej na emulację Syllable w QEmu.
W przypadku mmap nie było aż tak źle: było ono już wykorzystywane wewnątrz jądra, brakowało jedynie wystawienia interfejsu dla aplikacji korzystających z konwencji POSIX-owej. Bez tego jednak nie dałoby się uruchamiać GCC nowszego niż 4.1, Gnasha, Cherokee czy prawdopodobnie PostgreSQL. Z kolei FreeType, SDL i DOSBox to przykłady aplikacji, które dzięki temu przyspieszą.
Obie nowości zostały włączone do systemu już po niedawnej publikacji wersji 0.6.6. Zanim wyjdzie Syllable 0.6.7 (co może znów zająć wiele miesięcy) można je testować pobierając obrazy deweloperskie. Przy okazji powinny się tam znaleźć także możliwość automatycznego logowanie na konto bez podawania hasła oraz instalacja systemu przy użyciu samej klawiatury.
Programiści planują dalsze zmiany, między innymi przejście z int 0x80 na SYSENTER/SYSCALL, co jest niezbędne dla przyszłych portów na architektury 64-bitowe.
Dodaj komentarz