Zbliża się koniec października, więc czas na małe podsumowanie postępów prac nad Haiku. Oczywiście tylko podsumowanie jest małe, bo praca wre i postęp jest całkiem spory.
Zgodnie z tradycją usunięto mnóstwo błędów i dokonano wielu usprawnień. Najwięcej tego typu zmian nastąpiło w obsłudze pamięci wirtualnej (VM) i systemów plików (VFS) co, wraz ze sporą ilością poprawek dotyczących blokujących się nawzajem wątków oraz sterowników, powinno znacząco poprawić stabilność systemu.
Do sterowników kart graficznych dodano odczytywanie informacji o monitorze, dzięki czemu lepsze będą domyślne ustawienia w przyszłości, a już teraz ustawienie np. rozdzielczości są zapisywane dla danego monitora. To powinno ułatwić życie osobom korzystającym z różnych monitorów, na przykład posiadaczom laptopa podłączającym się do różnych monitorów, w zależności od miejsca pobytu. Komputerów przenośnych dotyczy także jedna z mniejszych zmian, która jednak daje spory efekt, a jest nią domyślne wyłączenie numlock w aplikacji DeskCalc uruchamianej na laptopach - koniec z denerwującymi cyframi zamiast liter! :D
Z nowych rzeczy warto chyba wymienić sterownik do kart dźwiękowych opartych o chipset ice1712 (choć podejrzewam że nie są one u nas zbyt popularne) oraz aplikację Łukasza Zemczaka - PackageInstaller, dzięki której można będzie instalować oprogramowanie udostępniane w plikach .pkg.
Poniżej dokładniejsza lista zmian, pod koniec której znajduje się mini-niespodzianka :)
- poprawiono sterowniki sieciowe do kart opartych o chipset bcm440x i bcm570x;
- kontynuowano prace nad dokumentacją;
- wprowadzono zmiany w obsłudze kart graficznych i uaktualniono sterowniki w celu wykorzystania przez nie informacji uzyskanych od monitora;
- poprawiono i usprawniono aplikacje: Icon-o-matic, DeskCalc, Clock, StyledEdit i MediaPlayer;
- rozbudowano pthreads o zmienne warunkowe (ang. condition variables);
- importowano część aplikacji atftp - serwer TFTP;
- poprawiono obsługę SATA (w wersji AHCI) i USB (OHCI i UHCI);
- uaktualniono dane o strefach czasowych;
- poprawiono sterowniki do kart dźwiękowych zgodnych z AC97 oraz dodano nowy sterownik dla kart opartych o chipset ice1712;
- poprawiono sterowniki do kart graficznych Intela, nVidii i ATI (Radeon);
- poprawiono mechanizm otwierania wielu dokumentów na raz przy pomocy tej samej aplikacji;
- dodano "domyślny" sterownik dźwięku, który właściwie tylko udaje że jest :);
- dodano obsługę dwu-kliku w sterowniku USB;
- poprawiono stare i dodano nowe testy służące programistom do sprawdzania działania różnych części systemu;
- usprawniono obsługę okien (m.in. dodano skróty klawiaturowe (mini/maksy)malizujące oraz chowające okno :);
- poprawiono obsługę pamięci wirtualnej (VM), systemów plików (VFS) i sieci;
- uaktualniono aplikacje ctags i unrar;
- dodano przydatne funkcje nanosleep(), gethostname(), sethostname() i lockf() - dzięki czemu zgodność z POSIX wzrosła jeszcze bardziej ;);
- zmieniono nazwę systemu plików z "DOS" na "FAT";
- poprawiono sterowniki do systemów plików FAT, BFS, i NFS;
- poprawiono obsługę zakładek, menu, paska statusu w oknach, list i pól tekstowych;
- usunięto starą i dodano nową klasę ComplexLayouter, dzięki której programistom łatwiej jest układać elementy interfejsu w oknach aplikacji;
- poprawiono okna ustawień sieci, układu klawiatury i czasu oraz okno gry sudoku;
- poprawiono mechanizm potoków (ang. pipes - pozwalający aplikacjom na czytanie i zapisywanie danych od/do innych aplikacji tak jakby to były dane z pliku);
- dodano ikonki w formacie plików używanym przez aplikację Icon-o-matic;
- poprawiono obsługę overlay w klasie BBitmap;
- usunięto sporo błędów powodujących blokowanie się wątków, okien i całych aplikacji;
- poprawiono mechanizmy zarządzające dyskami i partycjami;
- dodano aplikację PackageInstaller obsługującą instalację oprogramowania w plików .pkg;
- poprawiono registrar, który zarządza uruchomionymi aplikacjami;
- zoptymalizowano algorytmy do obliczania czasu;
- rozpoczęto prace nad implementacją obsługi Bluetooth;
- dodano obsługę architektury
PPCm68k (ale jeszcze nie dokończoną :).
Rozpoczęcie prac nad implementacją Bluetooth z pewnością ucieszy m.in. posiadaczy telefonów komórkowych korzystających z tego protokołu.
Za to ostatnia z wymienionych zmian powinna zainteresować nielicznych (w naszym kraju :) posiadaczy komputerów klasy PPC z procesorem m68k. Jesteśmy ciekawi czy ktoś z czytelników ma taki komputer i czy może próbował już uruchomić na nim Haiku?
Tekst przeglądu został poprawiony dnia 25 października 2007 dzięki komentarzom uważnych czytelników :)
Opisane powyżej zmiany wprowadzili (kolejność alfabetyczna, najpierw stała załoga Haiku/SVN): Axel Dörfler (axeld), Ingo Weinhold (bonefish), Stefano Ceccherini (jackburton), julun, Jérôme Duval (korli), Ryan Leavengood (leavengood), Marcus Overhagen (marcusoverhagen), Michael Lotz (mmlr), François Revol (mmu_man), Niels Sascha Reedijk (nielx), Oliver Ruiz Dorantes (oruizdorantes), Philippe Houdoin (phoudoin), Rudolf Cornelissen (rudlofc), Salvatore Benedetto (sbenedetto), Stephan Aßmus (stippi), oraz Bek (HOST team), DeadYak, Hüseyin Erdemir, Pier Luigi Fiorini, Rene Gollent, Vasilis Kaoutsis, Jérôme Leveque, mjw, Fredrik Modéen, Ioan Molnar, Peter Moulder, pieterpan, Łukasz Zemczak.
8 komentarzy
Drobne uwagi do powyższego tekstu:
1. condition variables – zmienne warunkowe (jeden z wielu mechanizmów synchronizacji wątków), 2. pipes – potoki (jeden z podstawowych mechanizmów wymiany danych pomiędzy procesami i wątkami).
Dzięki, poprawiłem tekst. O ile "zmienne warunkowe" brzmi ok, to "potoki" jest jakimś potworkiem językowym, który właściwie nawet nie pasuje do opisywanej funkcjonalności (potoki płyną same z siebie, a tu chodzi raczej o kanały, którymi te potoki mogą płynąć lub nie. Hmm… nie lepsze byłoby "tuby" albo chociaż bezpośrednie tłumaczenie na "rury"? ;).
Tam jest blad… PowerPC (PPC) to NIE m68k !!!:>> ojj kolego:D taka gafa.. poczytaj sobie po prockach m68k ktore tak, byly na Macach ale przed PPC (btw m68k ma tez amiga 500-4000, atari st/tt )
Widać że kolega nie miał nigdy Amigi ;)
Podałem za mmu_manem, który taki właśnie wpis dał w SVN – a to on jest odpowiedzialny za port na m68k. Może te architektury wcale tak bardzo się nie różnią i właśnie dlatego tak to nazwał? Tak czy inaczej zakładam że on zna temat znacznie lepiej niż ja i dlatego w naszym przeglądzie jest tak a nie inaczej :).
A Amigę miałem - A500 z dodatkowym RAM :)
OK, zmieniłem tekst, dzięki za uwagi.
Nadal jednak nie jestem pewien czy to faktycznie port na np. Amigę. Pamiętam że Haiku otrzymało (miało otrzymać?) od Genesi komputer do testów, może to właśnie o ten sprzęt chodzi?
Genesi:)? ale juz pewnie z PPC …. nie z m68k :>
Ano właśnie PPC (dlatego było właśnie tak a nie inaczej w przeglądzie :).
Jednak borg1980 słusznie zauważył że mmu_man robi port raczej na stare procesory, bo w jednym z wpisów na SVN wspomniał, że właściwie nie będzie z tego pożytku (a z portu na PPC na pewno jakiś pożytek by był ;).