Czym jest AmigaOS 4.0?
Sympatycy systemu zwykli się o nim wypowiadać parafrazując słowa Armstronga -
"AmigaOS 4.0, mały krok w dziejach komputerów, wielki skok dla użytkowników
Amigi."
Przez wiele lat, każdy użytkownik Amigi widział swój uwielbiany system
operacyjny w tyle za "wielką trójką": Windowsem, MacOS-em i Linuksem. Każdy
z tych trzech systemów stał się tak zaawansowany i potrafił tak wiele, że jak
do tej pory AmigaOS mógł o tym tylko pomarzyć. Odległość jaka dzieliła
użytkowników Amigi od całej reszty komputerowego świata stawała się coraz
większa. Różnic stale przybywało, a skutkowało to masowym opuszczaniem
platformy. Coraz trudniej było utrzymać wiarę w przyszłość AmigaOS. System
pomimo tego, że nadal był w pełni użyteczny, stawał się coraz bardziej "nie
na czasie". Amigowy sprzęt także nie należał do najnowszych. Większość płyt
głównych miała ponad 10 lat. Potrzeba było zmiany!
Produkcja AmigaOne dała użytkownikom Amigi szansę na dostęp do dużo szybszych
procesorów, większej ilości pamięci, większych dysków twardych i łatwo
dostępnych na rynku, szybszych, lepszych kart graficznych i dźwiękowych.
AmigaOS musiał zostać do tego dostosowany, aby możliwym było skorzystanie z
tego sprzętu. W tym samym czasie dodano do systemu wiele nowych
funkcjonalności, które skutecznie zmniejszają przepaść dzielącą AmigaOS od innych systemów.
Biorąc pod uwagę ogrom pracy włożonej w stworzenie nowej wersji systemu,
każdy użytkownik Amigi powinien pamiętać, że AmigaOS 4.0 został praktycznie
napisany od nowa. Posiada mnóstwo elementów i cech, które są wymagane do
tego, aby przygotować system do kolejnego kroku: AmigaOS 4.1. Oczywiście
AmigaOS 4.0 nie jest jeszcze systemem operacyjnym, który może konkurować z
"wielką trójką", jednakże znajdziemy w nim mnóstwo elementów, które sprawią,
że będziemy znowu mogli być dumni i mieć czym się pochwalić.
Kto to zrobił?
AmigaOS 4.0 to w 100% zasługa ciężkiej pracy firmy Hyperion Entertainment
oraz dosyć sporej liczby "osób trzecich". Wśród osób pracujących nad
AmigaOS 4.0 znajduje się kilka dobrze znanych takich chociażby jak:
Olaf
Barthel, Stephan Rupprecht, Stefan Burstroem, Alexander Kneer i inni.
Pełna lista osób zaangażowanych w tworzenie systemu znajdzie się na płycie
z finalnym produktem.
Ogromny nakład pracy został włożony przez panów
Davida Rey'a, Richarda Drummonda (człowiek stojący za projektem
nowej wersji UAE) i Martina Steigerwalda. Ich główne zadanie to zarządzanie
betatesterami, dzienne uaktualnienia rozsyłane do nich. Nie można także
zapomnieć o najważniejszym - płycie z wersją pre-release, do której się
w głównej mierze przyczynili.
Ponad 150 osób testuje AmigaOS 4.0 za dnia i w nocy, na różnych konfiguracjach
sprzętowych skoncentrowanych wokół trzech podstawowych:
AmigaONE (włączając w to nowszą odmianę MicroA1), Amiga 4000 i Amiga 1200 (ostatnie dwie z kartami PPC).
Liczby
Prace nad AmigaOS 4.0 trwają już prawie 3 lata. Do końca 2004 roku, około
30 osób wydało prawie 5000 uaktualnień, począwszy od tych najmniejszych
elementów (jak na przykład pliki mapy klawiatury), po największe i najważniejsze
(Kernel, Dos.library itd.). Dla przykładu, od października 2002 roku
Dos.library była uaktualniana 76 razy. Każde uaktualnienie przynosiło
kilka nowych elementów jak i poprawek. Kod źródłowy zajmuje ponad 1MB podczas
gdy w ROM 3.1 tylko 200 kB!
Obecnie AmigaOS 4.0 zajmuje około 25 MB na twardym dysku. ROM zajmuje 3.7 MB (ROM 3.1 zajmował 512 kB)
Warto jednak pamiętać, że pliki skompilowane pod PPC są większe z powodu
architektury RISC.
Jak wygląda struktura AmigaOS 4.0? - Uboot, Second Level Booter i System disk
Struktura partycji systemowej (S, C, Devs...) jest prawie identyczna z tym
co znamy z AmigaOS 3.9. Najważniejszym nowym katalogiem jest SYS:Kickstart.
Aby zrozumieć jego podstawową funkcję, należy wyjaśnić kwestię w jaki sposób
AmigaOS 4.0 jest uruchamiany na AmigaOne i jakie są różnice między AmigaOS
dla "klasyków" i AmigaOS 4.0.
Na Amigach klasycznych uruchomienie (boot) wykonywane było przez kickstart
znajdujący się w ROM-ie. Układ zawiera wszystkie podstawowe biblioteki:
Exec, Dos, Intuition. W AmigaOne ROM zawiera UBoot. Jego zadaniem jest
inicjalizacja sprzętu i rozpoczęcie procesu uruchamiania systemu - AmigaOS
lub Linuksa. UBoot nie zawiera wszystkich komponentów kickstartu (ExecSG, FFS2...).
Przechowywane są one na dysku. Oznacza to, że istnieją po prostu jak inne pliki
AmigaOS.
To właśnie te komponenty muszą być umieszczone w katalogu
SYS:Kickstart. Zostaną załadowane do pamięci i stamtąd zostaną uruchomione.
Pozostała część systemu zostanie załadowana przez standardową sekwencję
Startup-Sequence.
Tak więc, proces uruchomienia AmigaOne przebiega mniej więcej tak: UBoot
sprawdza napęd, z którego chcesz uruchomić system (CDROM, twardy dysk...),
odszukuje na nim SLB (Second Level Booter). Ten program zostaje zainstalowany
na RDB dysku podczas instalacji AmigaOS 4.0. SLB sprawdza wszystkie partycje
dysku, które zostały oznaczone jako "bootowalne" i wybiera tę, która
posiada najwyższy priorytet. W przypadku AmigaOS, SLB załaduje moduły kickstartu,
które znajdują się w SYS:Kickstart. Następnie wszystkie moduły zostają
uruchomione i rozpoczyna się bootowanie systemu z sekwencji startowej (w tym przypadku
kontrolę przejmuje Dos.library).
Podsumowując, proces uruchamiania systemu następuje w takiej kolejności:
Uboot => SLB => moduły kickstartu => Startup-Sequence.
SLB to plik binarny, który musi zostać zapisany na RDB dysku. Zapis dokonywany
jest przez Media Toolbox. Fakt, że kod rozpoznawczy partycji zawiera się
w SLB ułatwia ewentualne uaktualnianie go. Gdyby znajdował się w UBoot,
należałoby uaktualnić cały flash ROM, aby poprawić lub usprawnić procedury
związane z wczytywaniem systemu.
Katalog Kickstart z modułami kickstartu
Nazwa tego katalogu nie może zostać zmieniona ponieważ SLB będzie w nim
szukał konfiguracji, którą będzie chciał załadować. Szuka pliku tekstowego
nazwanego Kicklayout. Można bez problemu zapoznać się z jego zawartością
posługując się dowolnym edytorem tekstu. Opisuje on wszystkie różne
konfiguracje modułów kickstartu, które są do wykorzystania.
Przy pomocy tego pliku można określić, dla przykładu, konfigurację z wersją
z lub bez debugu kernela, a także konfigurację z jedną wersją
FastFileSystem lub z inną. Pozwala to przetestować różne konfiguracje
lub zainstalować nowe wersje modułów kickstartu. Warto jednak pamiętać,
aby zawsze posiadać dobrze zabezpieczoną kopię pliku konfiguracji na wypadek
gdyby coś poszło nie tak. Uaktualnianie plików kickstartu odbywa się
przez zwykłe nadpisanie starych plików nowymi.
Polepszony układ katalogów
Katalogi i pliki wymagane przez system AmigaOS 4.0 pozostały praktycznie
bez zmian (w porównaniu z AmigaOS 3.x). Nadal mamy katalog C przeznaczony
na komendy, LIBS na biblioteki itd. Oprócz zmiany związanej z katalogiem
Kickstart, oto większe różnice:
- jako, że MUI stało się komponentem systemu, istnieje katalog SYS:MUI, w którym przechowywane są wszystkie pliki z nim związane
- katalog Rexxc został przeniesiony do katalogu C. Znajdowało się w nim tylko kilku komend Shella
- SYS:Internet to nowy katalog. Znajduje się w nim program umożliwiający połączenie się z siecią przez modem, sieciówkę, router
- katalog SYS:Kickstart to omówione wcześniej miejsce, gdzie przechowywane są moduły kickstartu
- utworzono katalog SYS:L/CharSets, w którym znajdują się pliki umożliwiające systemowi odczytywać znaki zdefiniowane w innych standardach niż US-ASCII
- w katalogu Libs/AmigaInput przechowywane są pliki, których zadaniem polega na obsłudze urządzeń wejścia obsługiwanych przez nowy system AmigaInput
- w katalogu S zawsze był bałagan. Z założenia miały tam znajdować się różne skrypty, lecz niestety trafiały tam także inne rzeczy, które z nimi nie miały wiele wspólnego. Teraz, każdy typ skryptu posiada swój własny katalog. Oczywiście proces ich uruchamiania jest bardzo prosty
- katalog Tools/Dockies wykorzystywany jest przez Amidocka
- w katalogu Utilities znajdziemy katalogi AmigaGS, AmiPDF i Ghostscripts. Programy te umożliwiają odczytywanie plików PostScript (.PS) i Adobe PDF.
Uruchamianie aplikacji 68k
Kernel systemu AmigaOS 4.0 został zintegrowany z emulatorem 68k, który
emuluje instrukcje procesorów 680x0. W momencie uruchomienia programu
68k pod AmigaOS 4.0, plik binarny zostaje rozpoznany jako plik 68k i następuje
jego wykonanie przez emulator. Oczywiście uruchomią się wyłącznie te aplikacje,
które nie korzystają z układów specjalizowanych klasycznych Amig. Programy,
które się do nich odwołują, jak dema lub stare gry, do uruchomienia wymagać
będą UAE.
Wszystkie aplikacje, które wykorzystują
graphics.library, intuition.library i systemy graficzne
Picasso96/Cybergraphx powinny uruchomić się bez żadnych większych modyfikacji czy problemów.
Podczas uruchamiania programu 68k, automatycznie zostaną wykorzystane komponenty
systemu przepisane pod PPC. Tak więc, taki program będzie działać szybciej
niż na klasycznej Amidze. G4 zdaje się je uruchamiać prawie 3 razy szybciej
niż 68060!
Ulepszony Workbench
Kod źródłowy Workbench.library należy do najtrudniejszych w uaktualnianiu.
Massimo Tantignone wykonał kawał doskonałej roboty, aby usprawnić Workbencha
i icon.library na potrzeby AmigaOS 4.0. Potrzeba przepisania całego Workbencha
jest wszystkim bardzo dobrze znana. Będzie to dokonane dopiero w wersji 4.1.
Nie stało to jednak na przeszkodzie, aby już teraz wprowadzić kilka nowych elementów.
Oczywiście każdy z nich może zostać włączony/wyłączony wedle życzenia użytkownika.
W Workbench 3.9 mogłeś wybrać ikonę przez wpisanie jej pierwszych liter nazwy.
Jednak jeżeli otwarta szuflada zawierała dużo ikon, nie było zbyt poręczne, wygodne
i łatwe odnalezienie tej szukanej. Obecnie będzie ona migać. Jest to element
w pełni konfigurowalny.
Górna belka w poprzednich wersjach zawsze pokazywała wyłącznie ilość wolnej
pamięci RAM. Teraz można wyświetlić na niej dowolne informacje, włącznie
z danymi dotyczącymi pamięci, nazwą procesora, wersją Workbencha...
Możliwe będzie również zdefiniowane rozmiaru bufora kopiowania, jaki będzie
wykorzystywany przez Workbench. W wersji 3.9,
po wybraniu ikon przy pomocy myszy, były one zaznaczane wyłącznie po zwolnieniu
przycisku. Teraz dzieje się to w czasie rzeczywistym.
Workbench nadal ewoluuje. Dzieje się to wszystko w granicach rozsądku
i z zachowaniem stabilności. Finalna wersja AmigaOS 4.0 sprawi, że otrzyma
on kilka dodatkowych elementów.
Nowa DOS.library i jej cechy
Największa rzecz jaką dokonano w zakresie prac nad dos.library, było usunięcie
w całości kodu BPCL. W tym samym czasie Colin Wenzel dodał kilka nowych
elementów. Wiele z nich zostanie zauważonych wyłącznie przez osoby "obeznane
w temacie", jak chociażby nowe funkcje śledzenia zasobów, które pomagają
systemowi pozostać stabilnym nawet wtedy, gdy uruchamiane są źle napisane programy.
W przypadku uruchomienia źle napisanego programu, użytkownik będzie jednak świadomy tego, że dzieje się coś niedobrego.
Dos.library rozpoznaje, że program robi coś "nie do końca" tak, jak powinno to
wyglądać. Następuje wówczas otwarcie okna z komunikatem, który informuje
użytkownika, że nastąpiło niedozwolone wywołanie funkcji systemowych.
Wyświetlony tekst jest w znacznej mierze użyteczny dla programistów, którzy
bez większych problemów powinni ustalić jaki błąd popełnili. Użytkownicy
z kolei mogą ostrzec autora programu, że znaleźli błąd. Jeżeli program nie
jest już rozwijany, użytkownik może chcieć go uruchamiać, lecz nie być
za każdym razem ostrzeganym o niebezpieczeństwie. W takim przypadku
należy wyedytować plik tekstowy Devs:application.dos, który instruuje
dos.library, aby nie ostrzegał o niebezpieczeństwach związanych z uruchamianiem
znajdujących się na liście programów.
Intuition OS4
Biblioteki Intuition, Layers i Graphics zostały poprawione i ulepszone
wnosząc nowe elementy do systemu.
Wiele osób chciało mieć znacznie większy, niż dotychczas wpływ na GUI:
dodać więcej kolorów, więcej podkładów graficznych w dowolnych miejscach.
AmigaOS 4.0 umożliwia to. Znajdująca się w pre-release graphics.library
nadal była w połowie napisana pod 68k, jednakże użytkownicy już mogli
poczuć wzrost prędkości, jaki uzyskali dzięki nowoczesnym kartom graficznym.
Wiele elementów GUI jest teraz konfigurowalnych. Niemożliwym jest opisać
każdą z możliwości. Tutaj znajduje się obrazek przedstawiający kilka opcji
dotyczących różnych kolorów i podkładów, które można wybrać.
Połączenie z internetem
AmigaOS wreszcie posiada swój własny stos TCP/IP.
Roadshow może być konfigurowany tak jak Miami; definiujesz swój adres IP
(statyczne lub dynamiczne), bramy, nazwy serwerów DNS... Sieć jest
automatycznie uruchamiania przez Startup-Sequence i można ją kontrolować
przy pomocy komend Shellowych.
Oczywiście są dostępne dobrze znane komendy jak: ping, traceroute, jak i inne narzędzia do kontroli/sprawdzania statusu sieci.
Zaawansowani użytkownicy mogą skorzystać z opcji filtrowania IP. Będą mogli
skonfigurować ustawienia firewalla, aby chronić ich system.
Podczas pierwszego łączenia się z siecią, należy skorzystać z programu
Internet Dialer. Program wyposażony jest w specjalny kreator (wizard),
który pomoże utworzyć nowe połączenie przy pomocy kilku prostych kliknięć.
Reszta
Oczywiście byłoby trochę nudne przedstawienie kompletnej listy
wszystkich cech AmigaOS 4.0. Lista byłaby długa, bogata w obrazki. Musisz
znaleźć je sam lub szukać nowych artykułów dotyczących AmigaOS 4.0, które
pojawiają się i będą się pojawiały w sieci i magazynach. W przyszłości
czeka Cię jeszcze wiele niespodzianek. Jako przykład warto podać,
że od czasu wydania pre-release, wiele nowego zostało dodane do AmigaOS 4.0 (miały miejsce dwa uaktualnienia wersji pre-release - przyp. PPA),
Jeden z nich jest szczególnie interesujący - obsługa AltiVec (dla PPC G4).
Twoja Amiga znowu oderwie się od ziemi. :-)
Autor:
Philippe 'Elwood' Ferrucci
Podziękowania dla:
Konrada Bielskiego
Billa "tekmage" Borsari
Tłumaczenie: Sebastian Rosa
Edited: Jonathan Haddock
Published: 21st December 2005