Rhapsody operační systém další generace

Apple se dlouhou dobu snažil do MacOS zabudovat moderní technologie operačních systémů (preemptivní multitasking, ochra...


Apple se dlouhou dobu snažil do MacOS zabudovat moderní technologie operačních
systémů (preemptivní multitasking, ochrana paměti apod.) v projektu známém pod
kódovým označením Copland. Po řadě odkladů byl nakonec projekt Copland ukončen
a Apple se poprvé ve své historii rozhodl k nákupu klíčové systémové
technologie jinde. Volba padla na softwarovou společnost NeXT Software, jejímž
zakladatelem a výkonným ředitelem byl jeden z otců Apple, Steve Jobs. Kromě
systémové technologie OpenStep získal Apple nákupem NeXTu také vývojovou
platformu pro Web s názvem WebObjects, která má obrovskou cenu sama o sobě. S
Jobsem samozřejmě k Apple přešel i tým kvalitních systémových inženýrů a
začátkem roku 1997 tak mohl být odstartován projekt Rhapsody.
Rhapsody je kódové jméno zastřešující vývojovou platformu a nový moderní
operační systém postavený na základech systému NextStep společnosti NeXT.
Úvodem je třeba říci, že Apple neprezentuje Rhapsody jako nástupce a náhradu
MacOS, ale naopak očekává, že oba systémy, MacOS i Rhapsody, vykročí do
příštího tisíciletí bok po boku. Můžeme zde vidět paralelu s dvojicí Windows 95
a Windows NT, kdy MacOS bude podobně jako Windows 95 patřit do tzv. hlavního
proudu a bude určen pro všechny řekněme "běžné" uživatele, zatímco systém
Rhapsody je zaměřen na náročné uživatele a aplikace, tj. do oblasti serverů,
náročných grafických aplikací, vývoje softwaru a autorských prací (multimédia,
Web). Vývoj MacOS bude paralelně nadále pokračovat přinejmenším do té doby, než
uživatelé přejdou na systém Rhapsody.
Rhapsody je moderní operační systém, který bude dostupný pro počítače Macintosh
s procesory PowerPC a také pro PC kompatibilní počítače. Apple se tak poprvé
vydává cestou rozšíření svého operačního systému na obě hlavní hardwarové
platformy osobních počítačů.
Jak již bylo řečeno, součástí projektu Rhapsody je také vývojová platforma
nesoucí jméno Yellow Box, která bude dostupná nejen pro operační systém
Rhapsody, ale formou dynamických (DLL) a sdílených knihoven (v MacOS) také pro
Windows 95/98, Windows NT a MacOS. Uživatelé všech těchto operačních systémů
tak budou moci provozovat software určený pro Yellow Box, což bude jistě
zajímavé pro vývojáře softwaru, protože jejich "žluté" aplikace bude možné
spustit na každém osobním počítači.
Než se podíváme podrobněji do "vnitřností" systému Rhapsody, je třeba
poznamenat, že se nejedná pouze o nějaký futuristický projekt s použitelností
až za řadu let. Protože Rhapsody je postaven na osvědčeném a již řadu let
používaném systému NextStep a sadě rozhraní OpenStep, jdou vývojové práce
velice rychle kupředu. Vývojáři softwaru již dostali první tzv. vývojářskou
verzi, druhá vývojářská verze i s Blue Boxem (viz dále) je na spadnutí a
uvedení první verze pro koncové uživatele je plánováno na polovinu roku (tedy
toho letošního, aby nedošlo k nějaké mýlce). Se systémem Rhapsody se tak reálně
setkáme velice brzy, možná dokonce dříve než s novými Windows, o kterých se
hovořilo ještě před započetím projektu Rhapsody.
Jádro systému
Rhapsody používá zdokonalené jádro Mach 2.5, které se stará o základní
přemostění mezi hardwarem a aplikacemi. Jádro systému poskytuje základní
funkčnost operačního systému, jako je správa paměti, práce s úlohami, časování,
synchronizace a posílání zpráv. Uživatelé Maců ale nejen oni tak konečně
dostanou systém s ochranou paměti, která zabraňuje spadnutí celého systému při
chybě jedné aplikace, a s preemptivním multitaskingem, kdy se o přidělování
času programům stará operační systém, takže si nemůže jedna úloha zabrat
procesor pouze pro sebe. Implementován je také multithreading, jehož výhod již
mohou využívat uživatelé MacOS 8, kde např. umožňuje současné kopírování
souborů bez zastavení další práce. S rostoucím počtem víceprocesorových
počítačů bude jistě stále zajímavější systémová podpora symetrického
multiprocessingu. Výhod více procesorů v MP PowerMacích tak budou moci v
Rhapsody využívat všechny aplikace, což samozřejmě platí i o současných
aplikacích MacOS napsaných pro MP PowerMacy a běžících v Blue Boxu (viz dále).
Primárním souborových systémem Rhapsody bude HFS+, což je rozšíření systému
HFS, který je tradičně používán v MacOS (MacOS 8.1 již pracuje s HFS+). HFS+
přináší některé nové vlastnosti a zdokonalení, jako jsou malé alokační bloky,
podpora velkých disků a souborů, jména souborů a složek v kódování Unicode a
používání bezpečnostních informací unixového typu. Kromě HFS+ bude Rhapsody
podporovat i další rozšířené formáty včetně původního HFS nebo UFS.
Yellow Box
Yellow Box je jednou z klíčových součástí projektu Rhapsody, která svým
rozsahem sahá až za hranice vlastního operačního systému Rhapsody. Yellow Box
je totiž sada objektově-orientovaných cross-platformních aplikačních rozhraní
(API application programming interface), která umožňuje vytvářet sofistikované
aplikace pro systémy Rhapsody pro PowerPC a Rhapsody pro Intel, ale také pro
operační systémy Windows 95/98, Windows NT a MacOS. Protože Yellow Box slouží
jako jakási abstraktní vrstva mezi vlastním jádrem operačního systému a
aplikacemi, budou tak vývojáři moci vytvářet aplikace, které beze změny poběží
ve všech pěti zmiňovaných prostředích. Aplikace vytvořené pro Yellow Box se
prostě jen překompilují pro daný procesor, což je jediná činnost nutná pro
převedení na jinou hardwarovou platformu. Dokonce se zvažuje i možnost tzv.
super fat binary aplikací, které v sobě budou obsahovat kód pro všechny
procesory a jediná aplikace tak skutečně poběží nativně na PC i na Macu (známé
fat binary aplikace na Macu obsahují kód pro procesory 68k a PowerPC a běží tak
optimálně na klasickém Macu i na PowerMacu).
Sada aplikačních rozhraní v Yellow Boxu vznikla integrací OpenStepu od NeXTu se
špičkovými technologiemi od Applu a s Javou. Jedná se tak o spojení síly a
robustnosti ověřených objektově-orientovaných systémových technologií NeXTu se
silou multimediálních a grafických technologií Applu. Protože Yellow Box je
rozšířením OpenStepu, poběží (po překompilování na příslušný procesor) všechny
současné aplikace vytvořené pro OpenStep také pod Yellow Boxem (ale ne naopak).
Pro vývojáře je k dispozici řada připravených aplikačních objektů, které lze
ihned používat ve vlastních aplikacích, čímž se tvorba softwaru výrazně
zjednoduší a zrychlí. Vývojáři mohou využívat volání funkcí uživatelského
rozhraní dodávající aplikaci vzhled a chování operačního systému, na kterém
aplikace právě běží. Zahrnuta je také podpora meziaplikační komunikace,
skriptování, lokalizace, práce s textem a grafikou. K dispozici jsou API vysoké
úrovně pro vývoj distribuovaných aplikací.
Z oblasti multimédií je integrována vrstva QTML (QuickTime Media Layer)
skládající se z technologií QuickTime (tvorba, zpracování, přehrávání a
ukládání multimediálních dat), QuickDraw 3D (tvorba profesionální 3D grafiky) a
QuickTime VR (práce s virtuálními panoramaty a objekty). V oblasti grafiky se
bude používat osvědčený Dis-play PostScript, přinášející WYSIWYG funkčnost,
která bude doplněna o typografickou kontrolu převzatou z QuickDraw GX a o
správu barev ColorSync.
Součástí Yellow Boxu je také vestavěná komponentová architektura navazující na
vlastnosti OpenDocu od Apple. Vývojáři tak mohou vytvářet aplikace skládáním
opakovaně použitelných komponent, stejně jako mohou využívat schopnosti
natahovat dynamicky do svých aplikací komponenty třetích výrobců.
Windows verze aplikací pro Yellow Box budou moci využívat nativních Windows
funkcí, jako je Win32 a OLE/COM (Object Linking and Embedding/Common Object
Model) a také ActiveX, což vývojářům umožní integrovat své aplikace s dalšími
aplikacemi pro Windows.
Yellow Box tedy nabízí vyčerpávající sadu APIs, které urychlují a usnadňují
vývoj aplikací. Výsledkem je větší stabilita vlastních aplikací a jejich menší
velikost.
Pro vývoj aplikací pro OpenStep se používal výhradně jazyk Objective C, ve
kterém bude možné vyvíjet software pro Yellow Box i nadále. Vývojáři ale nyní
budou mít ve výběru programovacího jazyka větší volnost a budou si mo-ci zvolit
mezi jazyky C, C++, Objective C, skriptovacím jazykem, a aplikace bude také
možné navrhovat plně v jazyku Java, kterému Apple přisuzuje velkou budoucnost.
Blue Box
Pro současného uživatele MacOS bude velice důležitou součástí Rhapsody pro
PowerPC tzv. Blue Box přinášejí kompatibilitu s převážnou většinou macovských
aplikací. V Blue Boxu půjde spustit veškerý macovský software, který
nepřistupuje přímo na hardware. Oproti původním plánům systému Copland tak
Rhapsody nabídne vyšší kompatibilitu se současnými macovskými aplikacemi a také
se systémovými doplňky a ovládacími panely.
Blue Box představuje samostatné a relativně oddělené operační prostředí uvnitř
systému Rhapsody. Používat bude samostatný Finder s vlastním pohledem na disky
a s vlastními okénky. Soubory aplikací MacOS z Blue Boxu tak budou z důvodů
přehlednosti odděleny od souborů systému Rhapsody, i když bude možná jistá
forma sdílení. Pro přenos dat mezi aplikacemi z Blue Boxu a "žlutými"
aplikacemi půjde používat klasickou schránku, tj. metody "kopíruj a vlož". Mezi
oběma prostředími ale nebude možné používat stále oblíbenější operaci "táhni a
pusť", i když samozřejmě v rámci Blue Boxu i Yellow Boxu bude tato operace
podporována. Navíc oba typy aplikací budou moci komunikovat prostřednictvím
událostí AppleEvents a AppleScriptu.
Z pohledu uživatelského rozhraní bude Blue Box běžet ve 2 modech, buď v
samostatném okně, nebo přes celou obrazovku. V tomto druhém případě by mělo být
dosahováno lepší kompatibility a vyššího výkonu grafiky. Poznamenejme ještě, že
podobně jako v MacOS, bude v systému standardně zahrnuta podpora více monitorů,
a tak zatímco na jednom monitoru bude moci běžet třeba Blue Box v
celoobrazovkovém modu, další monitor může zobrazovat okna žlutých aplikací.
Na rozdíl od MAE (Macintosh Application Environment), které slouží jako
emulátor MacOS softwaru na unixových pracovních stanicích, není Blue Box
založen na emulační technologii. Macovské aplikace, ať už pro procesor 68k nebo
PowerPC, tak poběží stejně rychle v Blue Boxu jako v originálním MacOSu, v
některých případech dokonce rychleji, protože budou zprostředkovaně využívat
např. vyššího výkonu vstupně výstupních operací a virtuální paměti jádra
systému.
Protože Blue Box poběží jako jeden OpenStep proces, nemůže spadnutí macovské
aplikace v Blue Boxu nijak ohrozit další aplikace běžící v Rhapsody. Stejně tak
ani pád žádné z aplikací v Yellow Boxu neovlivní stabilitu ostatních aplikací a
tedy ani Blue Boxu. Pokud se stane, že aplikace v Blue Boxu "zamrzne", prostě
se jen restartuje Blue Box, což bude výrazně rychlejší než restart celého
počítače.
Zajímavostí je, že Blue Box nebude potřebovat tradiční Macintosh ROM, bez
kterého se žádný současný Mac ani klon neobejde, ale příslušný obraz paměti ROM
se bude nahrávat z bootovacího média. Na závěr ještě připomeňme, že Blue Box je
z pochopitelných důvodů pouze součástí Rhapsody pro PowerPC, v Rhapsody pro
Intel tento modul nebude.
Uživatelské rozhraní
Uživatelské rozhraní počítačů Macintosh patří k tomu nejlepšímu, a tak je
přirozené, že se ho Apple podržel i u systému Rhapsody. Vrstva rozhraní zde
nese název "Advanced MacOS Look and Feel", tedy přeloženo do naší řeči,
Rhapsody bude vypadat a bude ovládán podobně jako MacOS. V novém uživatelském
rozhraní budou ovšem přejaty také oblíbené prvky NextStepu, které ho ještě více
zdokonalí. Dále popisované uživatelské rozhraní bude součástí Rhapsody pro
PowerPC a Rhapsody pro Intel, runtime verze Yellow Boxu pro Windows 95/NT a pro
MacOS budou přirozeně používat uživatelské rozhraní a vzhled příslušného
podkladového systému, tedy Windows nebo MacOS.
Rhapsody na první pohled asi nerozlišíte od MacOSu, nabídka s příkazy bude
např. podobně jako v MacOSu umístěna v horní části obrazovky a nebude v ní
chybět ani známá nabídka Apple (Pomůcky). Používány budou složky, ikony a také
klasická pracovní plocha, na kterou půjde umisťovat soubory. Také okna budou
vypadat podobně jako v MacOSu a to včetně stejných ikon pro zavření, zvětšení a
zasunutí okna. Vylepšeny budou posuvníky, které budou v Rhapsody svojí
velikostí proporcionálně odpovídat velikosti plochy zobrazené v okně. Posuvníky
budou navíc živě spojeny s obsahem okna a při změně jejich polohy se okamžitě
bude měnit i obsah okna. Pokud jde o zobrazování obsahu složek v oknech, bude
se Rhapsody držet tradičního zobrazení z Finderu, ale k dispozici bude také
oblíbený browser z OpenStepu. V globální oknové politice naopak Rhapsody
nepřijímá model MacOS, kdy jsou navrch vždy všechna okna právě aktivní
aplikace, ale s okny bude možné pracovat zcela individuálně. K dispozici ovšem
bude příkaz pro společné přesunutí všech oken dané aplikace do popředí.
Rhapsody je multiuživatelský systém, který bude vyžadovat přihlášení do
systému. Výjimkou budou počítače užívané jediným uživatelem v nesíťovém
prostředí. V tomto případě bude možné se přihlašovacímu dialogu vyhnout.
Přestože Rhapsody využívá jádro unixového typu, nemusí se uživatelé bát
složitého nastavování systému v řádkovém prostředí. K dispozici budou podobné
nástroje jako v MacOS, i když některá nastavení bu-de pravděpodobně nutné
provést dvojitě, tj. jednou ve vlastním systému Rhapsody a podruhé v Blue Boxu.
Na závěr jedna zajímavost: Posun k rozšířeným standardům vyjádřil Apple
přechodem na nový systém nápovědy postavený na HTML. Vývojáři tak budou moci
připravovat soubory nápovědy ve svých autorských nástrojích pro Web. Časem
budou k HTML přidány nové značky, které umožní používat v nápovědě některé
vlastnosti současného systému AppleGuide.
8 0533 / jam









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.