Palm OS 5 - konec hacků?

Jednou z informací, která zarmoutila fanoušky Palmů, bylo oznámení, že nová verze operačního systému nebude podporovat hacky. Nemám sice přístup k tajným materiálům firmy Palm, ale podle dostupných informací se zdá, že to s těmi hacky nebude až tak horké.

Co to je "hack"?
Ze všeho nejdříve je potřeba udělat jasno v tom, co to hack je. Obecně řečeno se za hack dá považovat každý program, který spouští kód tam, kde by se to autorům Palm OS vůbec nelíbilo. To pozdvižení mezi uživateli se ale týká konkrétního typu hacků. Jde o programy, které mění chování funkcí operačního systému a pro instalaci využívají program Hack Master, nebo jeho klony.

Jak takový hack vlastně funguje? 
Každý operační systém poskytuje vývojářům aplikací stovky funkcí, které zpřístupňují hardware počítače. K tomu, aby je bylo možné využívat, potřebujeme znát adresu, na kterou má náš program skočit, aby se příslušná funkce OS začala vykonávat. Vzhledem k tomu, že tvůrci Palm OS předpokládali, že vznikne více typů kapesních počítačů, nebylo by praktické, aby se zveřejňovaly přímo adresy funkcí OS. Ty jsou uloženy najednou v tabulce funkcí a k jejich vyvolání se využívá vlastností procesoru Dragon Ball. Když někdo potřebuje změnit chování některé ze systémových funkcí, prostě do tabulky uloží adresu své funkce a je to. Hacky většinou nemají ambice nahrazovat kompletní služby operačního systému, takže si pamatují i původní adresu.

V okamžiku, kdy některá aplikace zavolá systémovou funkci, spustí se hack. Ten buď provede změnu parametrů volání a potom zavolá původní funkci, nebo ji zavolá předem a poté upraví návratové hodnoty. Tak například funguje GNU čeština i většina lokalizací Palm OS. Aplikace Hack Master se stará o to, aby více hacků mohlo bezpečně měnit jednu funkci OS, a dovoluje také jednoduchou deaktivaci hacku.

Co se tedy změní v Palm OS 5, že nebude možné hacky používat?
Tak za prvé, změní se procesor, resp. jeho architektura. Vzhledem k tomu, že tabulka funkcí, kterou jsem popisoval před chvílí, je těsně svázána s architekturou procesorů DragonBall, je jasné, že to prostě fungovat nemůže. Dalším problémem je prostý fakt, že jiná architektura znamená také jiný strojový kód, takže by hack ani pracovat nemohl.

Vzhledem k tomu, že za slávou Palmu stojí desítky tisíc aplikací, bude Palm OS 5 schopen spouštět staré programy pomocí emulace. Díky obrovskému rozdílu ve výkonu procesorů ARM by některé z nich mohly běžet i rychleji ;-). Takže hacky se budou emulovat také a je to. Kdepak, tak jednoduché to nebude. Emulace bude probíhat tak, že kód programu určeného pro DragonBall poběží v emulátoru a funkce operačního systému se budou vykonávat v přirozeném kódu ARM. To předpokládá, že emulátor použije jiný způsob volání systémových funkcí. Navíc se hacky většinou maskují a tváří se, že jsou prostě shlukem bajtů v paměti. Jak má emulátor poznat, že je třeba je brát jak kód DragonBallových instrukcí? Takže tak to taky nepůjde. Tedy ono by to šlo, kdyby o to vývojáři Palm OS stáli...

Takže - mají hacky budoucnost, nebo ne?
Zatím jsem poměrně přesvědčivě své tvrzení ze začátku článku vyvracel že? Tak budou ty hacky fungovat nebo ne? Moje odpověď zní nedá se to vyloučit, ale ne na všech nových Palmech. Vzhledem k výborným vlastnostem procesorů DragonBall ( a také díky jejich nízké ceně) se totiž předpokládá, že nové Palmy budou používat obě procesorové platformy. Nižší kategorie využijí DragonBall, ty lepší zase ARM. Změny v Palm OS 5 nejsou tak výrazné, aby hacky na nové verzi OS nefungovaly. Je sice možné, že bude těžší je nainstalovat, ale na jejich funkčnosti by se nemělo příliš změnit. Jediné, co bude pravděpodobně nutné udělat, je úprava Hack Mastera.
Všechen povyk kolem hacků způsobil fakt, že se uvedení nové procesorové platformy příliš úzce vázalo na novou verzi Palm OS.