Vyšlo v týdeníku Computerworld č. 4/93 v roce 1993
Vytištěno z adresy: http://www.earchiv.cz/a93/a304c120.php3

Handle

Operační systém to opravdu nemá lehké. Jako nadstavba nad "holým železem" má za úkol vytvořit takové pracovní prostředí, ve kterém by se jednotlivé aplikace mohly plně soustředit na svou práci a nemusely se starat o různé technické detaily. A přitom takovýchto detailů, spojených s ovládáním konkrétních technických prostředků, s organizací nejrůznějších systémových dat, souborů či tabulek, se strategiemi přístupu ke sdíleným prostředkům apod., je opravdu velmi mnoho.

Například jen taková "banální" činnost, jakou je čtení či zápis dat do souboru, se ve skutečnosti neobejde bez znalosti mnoha konkrétních detailů - např. přesného umístění daného souboru na disku, resp. disketě, formátu tohoto disku či diskety, jeho logické organizace, ovládání příslušného diskového řadiče atd. Většina z těchto znalostí a informací technického charakteru přitom může zůstat před vlastními aplikacemi skryta - těm by mělo stačit, aby jednoznačně identifikovaly ten soubor, se kterým se má příslušná činnost provést, a s jakými daty. Ostatní by pak již mělo být jen na operačním systému. I pro něj je koneckonců výhodnější, když příslušné technické detaily zůstanou před aplikacemi utajeny a nebudou mu rušivě zasahovat do jeho práce.

Zůstaňme ještě chvilku právě u práce se soubory. Jestliže se nějaká aplikace rozhodne pracovat s určitým souborem, musí nejprve operačnímu systému sdělit, který konkrétní soubor má na mysli - zadáním jeho jména a přípony, přístupové cesty k souboru, ev. logické jednotky, na které se soubor nachází, a případně i dalších údajů. Operační systém si pak sám založí vhodnou datovou strukturu (tabulku) a do ní si poznamená vše, co o příslušném souboru potřebuje vědět, aby s ním mohl skutečně pracovat. Při všech dalších požadavcích na operace s tímto souborem již aplikace nemusí znovu uvádět jeho jméno a příponu, přístupovou cestu atd. Místo toho může soubor jednoznačně určit pouhým odkazem na tuto datovou strukturu (tabulku). Samozřejmě za předpokladu, že s touto možností počítá i operační systém a takový odkaz aplikaci zpřístupní - například formou výstupního parametru první operace nad souborem, kterou si aplikace vyžádala.

Konkrétní forma tohoto odkazu, kterému se v angličtině říká handle, není pro samotnou aplikaci relevantní, stejně tak jako vlastní obsah datové struktury, na kterou handle odkazuje. Obvykle nejde ani o skutečný ukazatel, přes který by se aplikace mohla k této struktuře dostat - pro operační systém nemusí být vůbec žádoucí, aby mu do jeho datových struktur aplikace zasahovaly. Nejčastěji proto jde o odkaz ve formě indexu (resp. pořadového čísla), jehož interpretace je plně v kompetenci operačního systému. Tak je tomu např. i v operačním systému MS DOS, kde je takovýto odkaz (handle) tvořen celým číslem bez znaménka (v rozsahu 16 bitů).

Velkým oříškem je ovšem najít vhodný český ekvivalent anglického termínu "handle". V doslovném překladu jde o "rukojeť", "držadlo", "násadu" apod., což vcelku vystihuje podstatu věci, ale v praxi to není dost dobře použitelné. Překládat anglické "handle" jako "odkaz na soubor", bez naznačení formy a významu tohoto odkazu v kontextu výkladu, je zase až příliš neurčité.

Jednu z možností, jak vyřešit tento zdánlivě neřešitelný terminologický problém, však můžeme najít malým pohledem do historie.

Před několika lety, když tuzemský elektrotechnický průmysl ještě zásoboval naše školství tím nejlepším, co dokázal vyrobit - tedy občas i fungujícími 8bitovými školními mikropočítači IQ 151 - rozhodlo se několik nadšenců na pražské Matematicko-fyzikální fakultě udělat z této drahé hračky použitelný počítač a napsat pro něj plnohodnotný operační systém, včetně překladačů. Ani aktivní odpor tehdy kompetentních činitelů i části odborné veřejnosti jim v tom nedokázal zabránit, a tak světlo světa spatřil operační systém AMOS. S odchodem mikropočítačů IQ 151 do muzeí a depozitářů sice opět ze světa zmizel, ale mnohé jeho myšlenky a koncepční rysy jsou dodnes aktuální.

Příkladem může být právě jeho způsob práce se soubory. Zatímco například do MS-DOSu byl výše popsaný mechanismus používání odkazu na soubor (handle) vnesen vlastně až dodatečně (ve verzi 2.0), operační systém AMOS používal obdobný mechanismus již od začátku a implementoval jej snad v ještě čistší podobě než MS-DOS. Pro příslušné odkazy na soubor také zavedl původní české označení: systémová identifikace. To dobře vystihuje skutečnost, že jde o údaj jednoznačně identifikující konkrétní soubor a abstrahovaný od své konkrétní formy.