MAC OS X je taky unix (7): Aplikační služby

16. 6. 2005
Doba čtení: 6 minut

Sdílet

V minulých dílech seriálu o Mac OS X jsme poměrně podrobně probrali základní architekturu systému, některé důležité frameworky a knihovny a služby odvozené z UNIXu. Dnešním dílem začneme zkoumat vysokoúrovňové systémy, služby a aplikace v systému. Začneme, jak už je dobrým zvykem, od píky - od základních aplikací.

Core Services a systémové procesy

Aplikace a programy ve složce /System/Libra­ry/CoreServices/ náleží bezvýhradně systému Mac OS X a v Darwinu je nenajdete. V této složce i jinde po systému se nachází řada důležitých systémových služeb a programů, na které se dnes ve zkratce podíváme, a získáme tak základní přehled o nejdůležitějších částech Mac OS X samotného. Takže bez dalšího otálení, v žádném určitém pořadí, zde jsou:

BootX

Pokud je na Darwinu nainstalován Mac OS X, přechází v určitém bodě startovací proces na tuto aplikaci, která zavede ovladače pomocí Kernel Extension Loaderu a po skončení procesu spustí Init. Za běhu systému se BootX v podstatě nepoužívá a nahrávání ovladačů probíhá prakticky výhradně pomocí Kernel Extension Loaderu. Pokud je BootX použit jako zavaděč systému, dokáže pracovat s mnoha souborovými systémy včetně ext2/3, ze kterého umí spouštět i ELF kernely (například Linux).

WindowServer

Již zmíněný Quartz Composer se stará o procesy s vlastním oknem. WindowServer se nestará o minimalizaci oken, Exposé, přepínání úloh, Dashboard, systémový panel, plochu ani o Dock. Stará se o vstup z klávesnice, myši a jiných periferií a určuje, ke které aplikaci tento vstup patří.

AppleEvents

Mechanismus pro meziprocesovou komunikaci. AppleEvents funguje trochu podobně jako DCOP server v KDE, neposkytuje však uživatelský přístup. V Mac OS X je AppleEvents používán zejména pro režii komunikace mezi klientskou a serverou částí aplikací a také pro export funkcí pro AppleScript a Automator.

Keychain

též zvaný SecurityServer se stará o správu hesel a šifrovaných dat v systému. Umožňuje ukládat hesla do bezpečného úložiště kódovaného uživatelským heslem. Dojde-li ke ztrátě hesla ze strany uživatele, je možné jej získat pomocí tzv. Master Password, které nastavuje administrátor nebo root. S Keychainem se dá pracovat i z příkazové řádky pomocí příkazu security, pro více informací viz man security.

Dock

Ačkoliv vypadá poměrně nenápadně, Dock není jen pouhá aplikační lišta, ale plnohodnotná systémová komponenta, bez které se neobejde ani tak základní proces, jako je minimalizace okna. Dock se v systému stará mimo jiné o funkce Exposé, přepínání mezi aplikacemi a občas mívá ve zvyku až ošklivě překážet. Ačkoliv je mnoho uživatelů přesvědčeno, že se Dock nedá ze systému odstranit, opak je pravdou – stačí jednoduše odstranit nebo zablokovat spouštění aplikace Dock ve složce CoreServices; zatím však neexistuje žádná uspokojivá náhrada.

Finder

Finder se v Mac OS X stará o většinu základních operací s daty na disku. Správa odpadkového koše (Trash), pracovní plochy, vypalování CD nebo procházení souborového systému jsou jen nejvíce patrné služby, které Finder poskytuje. Kromě této očividné funkcionality se Finder až do verze 10.3 téměř výhradně staral o vyhledávání souborů a jejich přesun a kopírování. Teprve ve verzi systému 10.4 Tiger umí unixové příkazy cp a mv pracovat s tzv. resource forkem, a umožňují tak bezchybnou práci se soubory. Ve stejné verzi systému byl představen i framework Spotlight, který nahradil vyhledávací možnosti Finderu a který je dostupný samostatně, všem aplikacím v systému. Ačkoliv je Finder poměrně důležitá aplikace, narozdíl od Docku není nenahraditelný – existuje například aplikace PathFinder, která reimplementuje prakticky celou funkcionalitu Finderu a nabízí i některé funkce navíc.

LoginWindow

V podstatě ekvivalent linuxových xdm, kdm nebo gdm – LoginWindow se stará o grafické přihlašování uživatelů, rychlé přepínání mezi přihlášenými uživateli a zamykání počítače. Běží pořád, a pokud je nečekaně vypnuto, systém okamžitě odhlásí všechny uživatele a restartuje celé grafické prostředí. Kromě místního přihlašování umí LoginWindow pracovat i se vzdálenou správou pomocí Apple Remote Desktop a teoreticky i VNC (nezkoušel jsem).

SystemUIServer

Stará se o systémovou lištu v horní části obrazovky. Ačkoliv levá polovina lišty je obvykle spravována aplikací, která do ní umisťuje své položky menu (jako Edit, File apod…), pravá strana, včetně všechMenuExtras, je spravována tímto procesem. Další položky lze do pravé strany panelu přidávat pomocí některé ze složek MenuExtras rozmístěných po systému – ve složkách /System/Libra­ry/Menu Extras, /Library/Menu Extras a ~/Library/Menu Extras mohou být umístěny soubory ve formátu .menu, které obvykle spravuje mateřská aplikace.

Spotlight

Spotlight je celosystémový vyhledávací index, jakému dosud není rovno. Bez nadsázky se dá říct, že najde cokoliv kdekoliv a téměř okamžitě – jedno slovo uprostřed stostránkového PDF dokumentu kdesi na disku do dvou vteřin, události v kalendáři, několik let staré maily, slovo index.php v konfiguračním souboru apache nebo písnička v databázi iTunes jsou všechny nalezeny a přehledně seřazeny v jednom okně podle typu, data nebo jiných kritérií. Díky plné integraci se souborovým systémem neprovádí spotlight žádné reindexace, obnovování databáze ani jiné zdržující úlohy – všechno probíhá okamžitě a v reálném čase. Máte-li otevřenou tzv. Smart Folder obsahující všechny dokumenty s frází „Ahoj Petře“ a zrovna jste uložili dokument s touto frází, objeví se na seznamu okamžitě, bez zdržování. Mac OS X je zatím jediný systém, který obsahuje tak rychlé a nízkoúrovňové vyhledávání, a pravděpodobně jím i dlouho zůstane – WinFS byl nedávno odložen a v Longhornu jej nenajdete a OpenSource projekty jsou zatím v plenkách.

pbs

Pomocný daemon pro Cocoa aplikace – stará se o některé aplikační služby, zejména o celosystémový Copy&Paste. Ačkoliv to není uživateli na první pohled zjevné, pbs automaticky udržuje historii schránky pět kroků dozadu a aplikacím poskytuje robustní interface pro práci s daty ve schránce i pro tvoření dalších, oddělených schránek.

SpellChecker

V MacOS X je zabudovaný spellchecker, který automaticky pracuje se všemi NSText poli ve všech Cocoa aplikacích. Bohužel pro našince, čeština není mezi zabudovanými jazyky a je nutné ji dokoupit u některého z českých distributorů.

SpeechSynthesis & VoiceOver Utility

Tato služba a systémová utilita nabízejí špičkovou úroveň podpory ovládání systému pro zrakově postižené. Většina systému je ovladatelná čistě hlasem, funguje i dynamické přibližování a zvyšování kontrastu, systém poskytuje hlasové odpovědi, čte názvy souborů, obsah hlášení a dokáže s uživatelem komunikovat, aniž by musel jedinkrát použít klávesnici nebo myš. Samozřejmě pouze v angličtině. :)

Disk Utility

Tato nenápadná utilita je mocnější, než se na první pohled zdá. Kromě služeb údržbářských, jako je oprava práv k souborům na disku, správa diskového journalu a formátování disků, umí Disk Utility také vypalovat, tvořit šifrované diskové oddíly a poskytuje celou řadu užitečných vymožeností pro správu vašich disků i CD a DVD.

Inkwell

Zabudovaná podpora grafických tabletů; Inkwell ovládá rozeznání psaného textu (tato technologie byla s největší pravděpodobností recyklována ze stařičkého PDA Newton) i podporu všech základních funkcí tabletu jako úhel sklonu a úrovně tlaku. V systému je rovněž obsažena podora celé řady tabletů od nejrůznějších výrobců. Přítomnost Inkwell v systému dala vzniknout spekulacím o připravovaném Tablet Macu nebo PDA; ty se však zdají být nepodložené.

bitcoin_skoleni

Unicode

Ačkoliv by se pravděpodobně slušelo tuto skutečnost zmínit dříve, činím tak až teď, kdy pro nás tato vlastnost Mac OS X získává skutečný význam. Mac OS X pracuje s Unicode od těch nejnižších služeb až po fonty obsažené v systému a typografické možnosti textových služeb. Kódování UTF8 i UTF16 funguje zcela bezproblémově všude po systému, aniž by se aplikace samotné musely o něco snažit, což jistě potěší středoevropany, kteří konečně najdou operační systém nežeroucí háčky a čárky.

Tímto dílem můžeme uzavřít sběr poznatků o vnitřním fungování Mac OS X a příště se už podíváme na systém z uživatelského pohledu – řeč bude o konvencích, ovládání a podobě systému a dojde i na několik užitečných aplikací.