TOS
Ilustracja
Interfejs użytkownika
Architektura

komputery Atari z procesorami Motorola 68k, ColdFire

Pierwsze wydanie

1984

Aktualna wersja

4.04
(Brak daty wydania) [±]

Jądro

Monolityczny

Środowisko pracy

GEM

Licencja

komercyjna

TOSwielozadaniowy system operacyjny przeznaczony dla komputerów Atari ST, Atari TT, Atari Falcon oraz ich klonów. "TOS" jest skrótem od "The Operating System" lub "Tramiel Operating System" (od nazwiska ówczesnego właściciela firmy Atari Jacka Tramiela).

TOS opiera się w głównej mierze na systemie GEM firmy Digital Research, jest jednak od niego znacznie bardziej rozwinięty.

Historia i ewolucja

Podczas konstruowania komputera Atari ST, firma Atari poszukiwała systemu operacyjnego, który mógłby zostać na nim zaimplementowany. Rozważano napisanie systemu własnymi siłami, lecz odrzucono tę opcję jako zbyt ryzykowną. Microsoft zaoferował Windows, lecz z powodu długiego czasu dostarczenia gotowego systemu (2 lata) tę propozycję odrzucono. Ostatecznie wybrano GEM firmy Digital Research. Ponieważ oryginalnie GEM został napisany dla procesorów 8086 a Digital Research nie była zainteresowana jego przepisaniem na 68000, port został wykonany przez programistów Atari. Pierwotnie GEM miał pracować w środowisku systemu CP/M-68K jednak wersja ta była bardzo niestabilna i w efekcie wybrano inny produkt GEMDOS.

Pierwsza wersja TOSopodobnego systemu została zaprezentowana wraz a komputerem Atari 520 ST na targach CES w 1985 r. Zaprezentowana wówczas wersja opierała się jeszcze na CP/M-68K.

TOS, pierwotnie powstał jako system monolityczny. Istniało logiczne rozróżnienie pomiędzy jego elementami, lecz wewnętrznie były one bardzo silnie zintegrowane. Dopiero pojawienie się MiNTa i MultiTOS spowodowało, że niektóre elementy niemal całkowicie wydzieliły się (szczególnie AES oraz Desktop), lecz nastąpiło to dopiero pod sam koniec rozwoju systemu i wersje te nie były oficjalnie rozpowszechniane.

Pierwsza wersja dostarczona klientom (1.0) znajdowała się na dyskietce. Wszystkie następne dostarczane były w modułach ROM zainstalowanych w komputerach.

Wersja 1.0 i wszystkie następne aż do wersji 2.x wyglądały podobnie i miały podobne ograniczenia. Posiadały statyczne bufory pozwalające na otwarcie naraz do czterech okien modalnych, ograniczona z góry była również maksymalna ilość plików w katalogu oraz plików otwartych w tym samym czasie. Kolejne wersje wprowadzały nieznaczne usprawnienia oraz poprawki błędów. Jedynymi większymi zmianami były wprowadzano przez wersję 1.04 możliwość uruchamiania programów podczas startu przez Desktop (a więc po inicjalizacji AESu) oraz wprowadzona przez wersję 1.6 obsługa układów Atari STE.

Wraz z wydaniem wersji 2.x (dla MEGA STE) oraz równocześnie 3.x (dla Atari TT) dokonała się zmiana jakościowa. TOS uzyskał możliwość bootowania z dysku twardego IDE. Rozszerzono maksymalna liczbę okien modalnych (do 7 w 2.x i bez ograniczeń w 3.x). Desktop zyskał możliwość ładowania ikon z dysku.

Wersje 4.x były przeznaczone dla komputera Atari Falcon i oprócz obsługi układów w nim zawartych (DSP, Videl,...) wprowadziła trójwymiarowe, kolorowe okna modalne, obsługę kolorowych ikon.

W planowanej dla Atari Falcon040 nowej wersji 5.0 zawarto wielozadaniową odmianę AESu o numerze 4.0 oraz funkcję ikonifikacji okien (na wzór MultiTOSu). Dostępne są wersje beta oznaczone jako 4.92, jak również sam AES 4 jako element MultiTOSu.

W 1998 r. Milan GmbH zakupiło licencję do źródeł TOSu i dla swojego komputera Milan przygotowało wersję oznaczoną 4.05 zawierającą między innymi warstwę obsługi dla kart PCI.

Projekt Atari Coldifre Project przygotowuje wersję TOSu przystosowaną do procesorów ColdFire.

Wersje

Pierwsza wersja TOSu była dostępna w formie plikowej na dyskietce 3,5 cala. Wszystkie następne wersje Atari były zawarte w pamięci ROM komputera. Wersje od 1.0 do 1.04 umieszczone były na modułach o pojemności 192 KB, od 1.6 do 2.06 na modułach o pojemności 256 KB, późniejsze wersje były dostępne na modułach o pojemności 512 KB.

W przypadku najnowszych klonów oraz kart turbo zmodyfikowany TOS znajduje się w pamięci FlashROM co umożliwia łatwe uaktualnienia.

TOS był oferowany w kilku wersjach językowych. Do wersji 4 aby zmienić wersję językową należało wymienić zestaw kości ROM. Od wersji 4 zawiera od razu siedem wersji językowych.

Każda wersja TOSu zawiera w sobie GEMDOS i odmianę GEMu o określonej wersji.

Numer wersji TOSu Data wydania GEMDOS AES Komputery Rozmiar ROM Wersje językowe Uwagi
0.99 1985-20-11 ST angielska, amerykańska
Pierwsza wersja, wydana na dyskietce. W pamięci ROM znajdował się jedynie BOOT STRAP
1.0 1985-20-11, 1986-02-06 0.13 1.20 ST 192 KB angielska, amerykańska[a], francuska, niemiecka, szwajcarska[b] Wydano dwie wersje. Pierwsza na dyskietce, druga w ROM
1.02 1987-22-04 0.13 1.20 ST, MEGA ST 192 KB angielska, amerykańska[a], francuska, niemiecka, szwedzka W Wielkiej Brytanii błędnie oznaczony jako 1.09. Znany także jako Blitter TOS
1.04 1989-06-04 0.15 1.30 ST, STacy, MEGA ST 192 KB angielska, amerykańska[a], francuska, holenderska, hiszpańska, niemiecka, szwajcarska[b], szwedzka Znany także jako Rainbow TOS
1.6 ? 0.15 ? STE 256 KB angielska, amerykańska[a], francuska, hiszpańska, niemiecka Szybko zastąpiona przez wersję 1.62 z powodu błędów. Nie działa na ST.
1.62 1990-01-01 0.17 1.40 STE 256 KB angielska, amerykańska[a], francuska, niemiecka, szwedzka Nie działa na ST.
1.9 0.17 1.40 STE 256 KB Wersja testowa
2.02 ? 0.19 ? STE 256 KB ? wraz z wersją 2.0 wprowadzona została obsługa dysków IDE, pamięci FAST-RAM
2.05 ? 0.19 3.10 MEGA STE 256 KB angielska, amerykańska[a], francuska, niemiecka, włoska, szwedzka
2.06 1991-14-11 0.20 3.20 MEGA STE, Atari STBook 256 KB angielska, amerykańska[a], francuska, niemiecka, polska[c], szwajcarska[b], szwedzka Wersja dla STBOOK zawierała dodatkowo oprogramowanie sieciowe
2.07 1991 ? 3.20 Atari Sparrow ? ? Wersja TOSu dla prototypu Falcona
2.08 ? ? 3.20 Atari STPAD ? ? Obsługuje ekran dotykowy w STPADzie, nigdy nie rozpowszechniany
3.01 ? 0.19 3.00 Atari TT 512 KB amerykańska[a] Dla wczesnych wersji TT ze stacją dysków 720 KB
3.05 1990-05-12 0.19 3.10 Atari TT 512 KB ? Dla wczesnych wersji TT ze stacją dysków 1,44 MB
3.06 1991-24-09 0.20 3.20 Atari TT 512 KB angielska, niemiecka Wersjia finalna dla TT
4.01 ? 0.30 3.31 Atari Falcon 512 KB angielska, amerykańska[a], francuska, hiszpańska, niemiecka, włoska, szwajcarska[b] błędy w obsłudze DSP, błędy w obsłudze wielu partycji na jednym dysku (możliwa utrata danych, zalecana aktualizacja do 4.04)
4.02 ? 0.30 3.40 Atari Falcon 512 KB angielska, amerykańska[a], francuska, hiszpańska, niemiecka, włoska, szwajcarska[b] błędy w obsłudze wielu partycji na jednym dysku (możliwa utrata danych, zalecana aktualizacja do 4.04)
4.04 1993-08-03 0.30 3.40 Atari Falcon 512 KB angielska, amerykańska[a], francuska, hiszpańska, niemiecka, włoska, szwajcarska[b]
4.92 1993-22-06 0.30 4.10 Atari Falcon 512 KB angielska, amerykańska[a], francuska, hiszpańska, niemiecka, włoska, szwajcarska[b] Nieoficjalnie rozprowadzana wersja beta TOSa 5.0 z multiAESem
4.97 ? ? ? ? 512 KB ?

Inne wersje

TOS mógł być modyfikowany przy pomocy różnego specjalnie do tego przeznaczonego oprogramowania. Takie programy jak WINX dodawały pewne funkcje jak również pozwalały na modyfikację ustawień. Możliwe było zarówno modyfikowanie TOSu uprzednio relokowanego do obszaru RAM jak i również zapisanie tych zmian i wgranie do modułu ROM, następnie zastąpienie oryginalnego TOSu dostarczonego razem z komputerem. We wszystkich modelach układy ROM były montowane na podstawkach aby umożliwić łatwą wymianę.

Dla każdej z wersji powstały też zestawy modyfikujące oraz poprawiające błędy o nazwie TOSPATCH. Było to po części wynikiem powstawania różnego rodzaju rozszerzeń, głównie kart procesorowych jak również automatycznego zawarcia oficjalnych łatek poprawiających oficjalne błędy.

Pierwszą wersją TOSu z poprawkami był KAOS – oparty na poprawkach do wersji 1.4.

Następcy

W okolicach 1992-1993 r., Atari zaczęło rozglądać się za możliwością wprowadzenia wielozadaniowości z wywłaszczeniem do TOSu. W tym celu zaadaptowało projekt MiNT i na jego bazie powstał MultiTOS. Zostało wydane kilka wersji, lecz niestety zanim projekt uzyskał niezbędną stabilność został zarzucony w związku z rezygnacja Atari z segmentu rynku komputerów domowych. Szczęśliwie, źródła systemu zostały wcześniej udostępnione na zasadzie bezpłatnej licencji i są do dziś rozwijane w projekcie FreeMiNT.

Komponenty

Pierwsza wersja TOSu była dostarczona na dyskietce i wczytywana podczas startu komputera. Następne były dostarczone w pamięci ROM, początkowo o wielkości 192 KB, później 256 KB a ostatecznie 512 KB.

TOS składa się z następujących elementów:

ROM

Wszystkie one znajdowały się w pamięci ROM.

Doładowywane z dysku

Dodatkowo, z czasem stało się możliwe doładowanie z dysku następujących elementów:

Oprogramowanie dostarczane z komputerem

Do komputerów Atari wyposażonych w TOS dołączane były specjalne dyskietki. Ilość dyskietek i ich zawartość zmieniała się w zależności od wersji systemu i komputera.

Proces rozruchu systemu

Po uruchomieniu, TOS podejmuje następujące kroki:

  1. włączenie ekranu poprzez inicjalizację układów graficznych
  2. sprawdzenie czy jest włożony Cartridge, jeśli tak – wykonanie programu w nim zawartego,
  3. od wersji 2.0 – w zależności od ustawień, wyświetlenie loga Atari w górnym lewym rogu ekranu,
  4. od wersji 2.0 – w zależności od ustawień, wykonanie lub nie testu pamięci,
  5. bootowanie dysku:
    1. od wersji 2.0 – próba odczytania pierwszego sektora pierwszego dysku twardego, jeżeli udana uruchomienie programu w nim zawartego (jest to zazwyczaj sterownik dysku w standardzie AHDI lub XHDI),
    2. jeżeli powyższe się nie powiedzie następuje próba odczytania dyskietki z pierwszej stacji dysków, próba ta jest powtarzana pięć razy,
  6. odczytanie i uruchomienie wszystkich programów z katalogu AUTO z dysku z którego nastąpił rozruch,
  7. inicjalizacja GEMu,
  8. załadowanie pliku z ustawieniami DESKTOP.INF (lub NEWDESK.INF w wersji 2.05 i późniejszych)
  9. załadowanie i inicjalizacja akcesoriów,
  10. uruchomienie programów przeznaczonych do uruchomienia w pliku DESKTOP.INF (lub NEWDESK.INF w wersji 2.05 i późniejszych)
  11. inicjalizacja Desktopu
  12. od wersji 2.0 – załadowanie pliku DESKICON.RSC z dodatkowymi ikonami,

Od tego momentu system jest w pełni funkcjonalny i gotowy do użycia.

Wielozadaniowość

TOS oferuje ograniczoną wielozadaniowość z kooperacją. Równocześnie może działać do siedmiu programów, z czego jeden główny i sześć tzw. akcesoriów, które w założeniu muszą być załadowane przy starcie systemu (wyjątkiem jest tu program chameleon umożliwiający doczytywanie dowolnych akcesorów w dowolnej chwili).

Tablica partycji

TOS używa własnego formatu tablicy partycji. Znajduje się ona w 1 sektorze dysku. Ciekawą cechą TOSowej tablicy partycji jest to, że do określenia typu partycji używa się trzyliterowych oznaczeń.

Oznaczenia partycji rozpoznawane przez TOS:

Inne oznaczenia partycji stosowane na komputerach Atari, lecz nie obsługiwane bezpośrednio przez TOS:

Jeżeli sterownik dysku (lub inny program) zapewnia możliwość odczytu tablicy partycji PC, to widoczne są one pod identyfikatorami złożonymi ze znaku $ oraz hexadecymalnego kodu opisującego typ partycji uzupełnionego o wiodące zero jeżeli liczba miałaby być jednocyfrowa, np. $0F, $83.

Jedynymi systemami niezgodnymi z TOSem potrafiącymi odczytać jego tablicę partycji są Linux i NetBSD.

System plików

TOS posiada własny system plików nazywany dzisiaj TOSfs. Jest on zbliżony do FAT na tyle, że systemy czytające FAT byłyby w stanie odczytać TOSfs.

Nazwy plików obsługiwane są w systemie 8+3.

Maksymalna obsługiwana wielkość systemu plików to:

TOSy od 4.01 nieoficjalnie obsługują wielkość systemu plików do 2 GB, nie jest to jednak udokumentowane i nie wszystkie funkcje systemu operacyjnego obsługują tę wielkość.

Od wersji 1.04, TOS obsługuje system plików FAT12 na dyskietkach. Nie ogranicza się w tym jedynie do standardowych formatów 720 KB i 1,44 MB, lecz pozwala na dowolne ustawienie parametrów, co umożliwia lepsze wykorzystanie pojemności dyskietki.

Istnieje możliwość rozszerzenia funkcji TOSu przez dodanie programów takich jak BIGDOS. Możliwe jest też formatowanie dysków w pełni zgodne z systemem FAT tak, że taki dysk rozpoznawany jest poprawnie przez systemy obsługujące FAT.

Nazwy plików

TOS standardowo rozpoznaje nazwy plików zakończone rozszerzeniami PRG, TOS i TTP jako programy wykonywalne (np. podczas wyszukiwania programów z katalogu AUTO do uruchomienia). GEM rozpoznaje pliki ACC jako pliki akcesoriów. Dodatkowo Desktop wprowadza rozszerzenia APP i GTP (można je zmienić w pliku DESKTOP.INF).

Oprócz tego, istotne są także pliki z następującymi rozszerzeniami:

Z czasem zostało przyjęte, że rozszerzenia ACX i PRX oznaczają programy wyłączone (podczas uruchamiania programów z katalogu AUTO oraz ładowania akcesoriów).

Wywołanie systemowe

Wywołania systemowego TOSu dokonuje się przez wywołanie instrukcji TRAP procesora, odkładając wcześniej na stosie parametry wywołania i numer funkcji. Po powrocie z funkcji należy samodzielnie skorygować wskaźnik stosu.

Przykładowe wywołanie funkcji $00 TERM, kończącej wykonanie programu:

 CLR.W –(SP)
 TRAP #1

Przykładowe wywołanie funkcji $48 MALLOC, sprawdzającej ilość wolnej pamięci:

 MOVE.L #-1, –(SP)
 MOVE.W #$48, –(SP)
 TRAP #1
 ADDQ #6,SP

Funkcje TOSu mogą modyfikować rejestry A0 i D0 procesora, w D0 zwracany jest wynik wykonania funkcji.

Przejmowanie wektorów

Ponieważ TOS nie ma żadnej oficjalnej metody na dodawanie do niego ładowalnych modułów bądź funkcjonalności, przyjętym sposobem na ich instalowanie w systemie jest przejmowanie wektorów przerwań TRAP oraz pewnych wektorów leżących w pierwszym kilobajcie pamięci.

W celu uniknięcia niedogodności związanych z możliwą próbą przejęcia jednego wektora przez wiele programów, zalecane jest używanie protokołu XBRA.

Błędy

Niektóre wersje TOS zawierają znane błędy:

Dodatki, Poprawki, Łatki

Z powodu umieszczenia całego systemu operacyjnego w pamięci ROM wszystkie bufory danych są statyczne, dlatego do ich zmiany potrzebne są programy zmieniające ich wielkość (należy je uruchamiać zaraz po starcie systemu, najlepiej z katalogu AUTO.

Ponadto dostępne są następujące poprawki:

Alternatywy i dodatki

Firmy i osoby trzecie rozwijały niezależnie oprogramowanie rozszerzające i zastępujące poszczególne części TOSu, takie jak:

Oprócz tego powstało darmowe oprogramowanie zastępujące fragmenty lub całość TOS:

Zobacz też

Uwagi

  1. a b c d e f g h i j k l wersja amerykańska różni się od angielskiej jedynie układem klawiatury,
  2. a b c d e f g wersja niemiecka ze szwajcarskim układem klawiatury,
  3. stworzona przez polskiego dystrybutora, za zgodą

Linki zewnętrzne