Za jídlo, šaty a vzduch otročíme na programech z temných světů

MacMiNT

Když ze zeptáte libovolně velkého vzorku současných uživatelů Maca, jaký je podle nich rozdíl mezi MacOS a MacOS X, určitě vám část odpoví, že MacOS X je UNIX, zatímco MacOS ne. To je samozřejmě pravda. MacOS od svých počátků (tj. už od doby, kdy se ještě MacOS ani nejmenoval) byl naprosto svébytnou platformou (například první podpora TCP/IP protokolu – MacTCP – byla vůbec prvním TCP/IP stackem, který nebyl odvozen od toho unixového z Berkley). Avšak, kdo chtěl provozovat na Macu UNIX a přitom nepřijít o pohodlí jablečného systému, možností měl hned několik. Jednou z nich je například MacMiNT.

Na počátku 90. let, kdy ještě nebyla mezi počítači nouze o různorodost, vznikl pro platformu Atari ST/TT/Falcon operační systém MiNT. Původně šlo jen o vrstvu běžící nad jádrem jednotaskového TOSu, která přinesla multitasking a unixové prostředí. Zkratka MiNT původně znamenala MiNT is Not TOS a poté, co se Atari rozhodlo MiNT použít jako základ MultiTOSu, se změnila na MiNT is Now TOS. Komunita dále MiNT pod označením FreeMiNT rozvíjela a vznikly jeho distribuce, které se na Atari ST/TT/Falcon používají dodnes.

Logo MacMiNT

Pro tento článek je ale podstatné to, že byl MiNT v roce 1999 portován Hoshim Takanorim na Macintosh. Jak jsem naznačoval v úvodním článku, nejedná se o samostatný operační systém, ale o aplikaci běžící pod Systémem 7. To mimo jiné znamená, že při jeho běhu máte vlastně v jednom okamžiku funkční hned tři různá systémová jádra:

  1. Jádro Systému/MacOS.
  2. Jádro JET (Just Enough TOS) – speciálně pro Mac přepsané ty nejzákladnější funkce TOSu, které zajišťují, že MiNT může používat všechny služby, které používá na Atari.
  3. Jádro MiNT.

MacMiNT přináší POSIXové prostředí, shell csh, kompilátor gcc, skriptovací jazyk Perl a další věci, které unixáci považují za samozřejmé a MacOS je neměl. Narozdíl od ataristického MiNTu nepodporuje síťování ani grafické nadstavby. Startovací sekvence probíhá tak, že uživatel spustí macovskou aplikaci JET, která si sama nahraje MiNT a ten dál vykoná spouštěcí skript končící až v shellu. Jako hlavní nevýhodu MacMiNTu (krom zmiňovaného síťování a GUI) vidím to, že vytváří jen jednu virtuální konzoli a tedy můžete pracovat najednou v pouze jednom shellu.

1_MacMiNT.png

Pro běh stačí 1500kB paměti, ovšem rozhodnete-li se kompilovat něco pomocí gcc je třeba mít více než 16MB RAM, jinak nepochodíte. Připomínám, že MacOS přiřazoval paměť aplikaci staticky při jejím spuštění, takže větší nebo menší hodnotu (než výchozích 8MB) přiřazené RAM musíte nastavit ve vlastnostech programu ještě před spuštěním. Kompilace mne přivádí k nekompatibilitám, které MacMiNT proti standardním UNIXům má: protože funguje na diskových oddílech ve formátu HFS, musí se vypořádávat se souborovými právy pro MacOS a naopak pro shell musí simulovat práva UNIXová. To ve většině případů není problém, ale například příkaz ls -di vrací pro aktuální adresář při každém zavolání jiné číslo adresářové položky. Zde selhává většina configure skriptů, které kontrolují pomocí ls -di funkčnost příkazu pwd. Naštěstí stačí drobná úprava skriptu a vše je bezproblémů funkční. Pokud je tedy nefunkční configure skript jediným problémem při kompilaci.
MacMiNT je totiž v dnešní době už více než deset let starý, takže kompilace čehokoliv novějšího je víceméně teoretická. Ano, podařilo se mi například přeložit utility uuencode a uudecode, ale druhou jmenovanou jsem musel trochu upravit a to i přes to, že jde o zdrojáky z roku 1994.

Autor vydal pouze jednu verzi MacMiNTu a jeden update ve formě bugů zbavené aplikace JET. Podle dokumentace program využívá možností procesoru 68k a Systému 7 na tak nízké úrovni, že funkčnost ve vyších verzích MacOS nebo procesorech PowerPC nelze zaručit. Sice na webu MacMiNTu najdeme i jiné stroje na kterých byla funkčnost MacMiNTu zkoušena, já jsem ale například neměl úspěch už na Quadře 700, pokud byl nainstalován MacOS 8. Na stejném stroji v Systému 7.1 jede MacMiNT naprosto stabilně.

MacMiNT považuju přesto za nejlepší ze tří existujících unixových rozšíření standardního MacOS. Jedná se totiž o volně šířený software a i přes omezenou funkčnost a chyby, které nepochybně má, jde o plně použitelné prostředí. Sám jsem ho k plné spokojenosti používal před několika lety (v době kdy mým hlavním systémem byl SlackWare Linux) na svém PowerBooku 190.