You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
NEXT A NEXTSTEP<br />
149<br />
<br />
Aplikace<br />
Posix<br />
OO vazby<br />
UNIX<br />
BSD 4.3<br />
MACH<br />
ovladače,<br />
hardware<br />
Struktura operačního systému NeXTStep<br />
MC68030 byl tehdy nejlepším mikroprocesorem<br />
na trhu, jeho výkon NeXTStepu nestačil<br />
a jeden z uživatelů počítače NeXT prohlásil, že<br />
„překreslování okna na obrazovce mu připomíná<br />
vyvolávání fotografií v temné komoře”.<br />
Ani magnetooptický disk nebyl nejšťastnější<br />
volbou – poměr jeho ceny a kapacity byl sice<br />
zajímavý, ale se spolehlivostí to už bylo horší<br />
a rychlost byla velmi malá.<br />
Dalším modelem odstraňujícím většinu problémů<br />
prvního modelu NeXTcube byla pracovní<br />
stanice NeXTstation. Nizounká „krabice na<br />
pizzu” o výšce necelých sedmi centimetrů obsahovala<br />
mikroprocesor Motorola MC68040 s taktem<br />
25 MHz a digitální signálový procesor Motorola<br />
DSP56001 na stejné frekvenci. Místo<br />
magnetooptického disku byl standardní pevný<br />
disk s kapacitou 105, 200 či 400 MB, disketová<br />
jednotka zvládala diskety 720 KB, 1,44 MB<br />
a 2,88 MB. Standardem bylo i rozhraní Ethernet<br />
a sběrnice SCSI2. Stejný výkon, ale podstatně<br />
víc místa pro rozšiřující karty poskytoval inovovaný<br />
NeXTcube. NeXTStep už byl k dispozici ve<br />
verzi 2.0, která přinesla řadu nových prvků<br />
a výrazně zvýšila stabilitu systému. Stanice<br />
NeXTstation se stala počítačem s nejlepším<br />
poměrem ceny a výkonu a počítače NeXT se<br />
začaly prosazovat v podnicích, které potřebovaly<br />
spolehlivé systémy pro kritické aplikace na míru.<br />
Posledním modelem byl počítač NeXTstation<br />
Turbo s výkonnější sběrnicí. Pak však<br />
výkon špičkových PC dosáhl úrovně potřebné<br />
pro běh NeXTStepu a cena pracovních stanic<br />
klesla pod 10 000 USD. V roce 1993 firma<br />
NeXT zastavila vývoj počítačů a soustředila<br />
se na software. Zároveň připravila port<br />
NeXTStepu pro počítače kompatibilní s IBM<br />
PC a ohlásila porty pro stanice HP a Sun.<br />
Nové aplikace i nové verze operačního systému<br />
byly nadále k dispozici pro všechny podporované<br />
architektury včetně NeXTů.<br />
Aplikace<br />
Objektové knihovny<br />
OO<br />
runtime<br />
Servery<br />
Firma NeXT nevyráběla jen počítače. Už před<br />
lety zavedla technologie, které začal ostatní<br />
svět objevovat až mnohem později: laserové tiskárny<br />
neobsahující vlastní interpreter PostScriptu,<br />
ale řízené z počítače, barevné tiskárny typu<br />
inkjet, programové řízení tiskáren a jejich programovou<br />
odezvu – to vše bylo standardní součástí<br />
systémů NeXT od samého počátku.<br />
SOFTWARE<br />
NeXTStep byl objektový, velmi luxusní operační<br />
systém pro osobní počítače i servery. Standardně<br />
obsahoval množství prvků, které pro jiné<br />
systémy bývají dodnes k dispozici pouze jako<br />
dodatečné komerční balíky. Byl stoprocentně<br />
kompatibilní s průmyslovým standardem Unix<br />
(konkrétně s jeho snad nejlépe vybavenou větví<br />
BSD) a plně portabilní (dnes jsou nižší vrstvy<br />
dokonce volně k dispozici v opensourcovém<br />
projektu Darwin).<br />
NeXTStep byl (a jako Mac OS X vlastně stále<br />
je) velmi vydařeným kompromisem mezi stoprocentně<br />
objektovým, ale v praxi obtížně použitelným<br />
prostředím (jako je např. Smalltalk) a praktickými<br />
požadavky (např. kompatibility s Unixem<br />
nebo bezproblémové přenositelnosti již existujících<br />
klasických programů by v plně objektovém<br />
prostředí nebylo možné dosáhnout). Základem<br />
systému je jádro s ovladači. Nad ním je vrstva<br />
knihoven, které zajišťují standardní přístup<br />
k systémovým službám, k jednotlivým zařízením<br />
a nabízejí i množství vlastních služeb. Na<br />
další úrovni je rozsáhlá vrstva objektových knihoven,<br />
které nabízejí aplikacím (a serverům)<br />
všechny potřebné služby prostřednictvím plně<br />
objektových rozhraní. Servery (samostatné procesy,<br />
zabezpečující některé činnosti systému)<br />
využívají služeb knihoven, a naopak samy<br />
některé své služby knihovnám nabízejí (využijeme-li<br />
např. knihovní funkci pro kreslení, bude ve<br />
skutečnosti požadavek předán grafickému serveru<br />
WindowServer). Na nejvyšší úrovni jsou<br />
aplikace, jež standardně využívají služby objektových<br />
knihoven (a jejich prostřednictvím i serverů)<br />
a služby ostatních aplikací prostřednictvím<br />
objektových vazeb. Je-li to však zapotřebí,<br />
může aplikace přímo komunikovat se serverem<br />
nebo využívat API standardních unixových nebo<br />
posixových knihoven, založené na standardním<br />
neobjektovém rozhraní knihovních funkcí<br />
(a mimo jiné ukrývající objektové služby jádra<br />
Mach). Právě jádro Mach z Carnegie Mellon<br />
University dalo NeXTStepu jeho mimořádnou<br />
stabilitu – dokud jsem pracoval se stanicí<br />
NeXT, prostě jsem počítač nevypínal ani nerestartoval;<br />
nebylo to zapotřebí.<br />
Jednou z nejsilnějších stránek NeXTStepu<br />
byly jeho grafické schopnosti. Grafický model<br />
NeXTStepu byl postaven na technologii klientserver,<br />
jež bez problémů umožnila, aby např.<br />
program pracoval na velmi výkonném centrálním<br />
počítači, ale jeho vstup a výstup byl realizován<br />
grafickým serverem na desktopu. Grafická<br />
primitiva, jimž WindowServer rozuměl, nebyla<br />
ad hoc zvolenou sadou primitivních grafických<br />
služeb, s jakými se setkáme třeba v X Window<br />
– WindowServer dokázal interpretovat kompletní<br />
Display PostScript Level 2. NeXTStep byl asi<br />
NEXTSTEP SE DOČKAL SKVĚLÉHO<br />
ZNOVUZROZENÍ A STAL SE ZÁKLADEM<br />
SOUČASNÉHO OPERAČNÍHO SYSTÉMU MAC OS X<br />
jediným operačním systémem své doby, který<br />
dokázal standardně pracovat i s třírozměrnou<br />
grafikou, založenou na špičkovém standardu<br />
RenderMan firmy Pixar.<br />
Další zajímavostí grafického modelu<br />
NeXTStepu byla jeho schopnost práce s barvami<br />
v libovolném z běžně užívaných formátů<br />
RGB, CMYK i HSB a pro profesionály byl k dispozici<br />
i standard Pantone – to není dodnes<br />
ani zdaleka samozřejmostí. Podobně se v té<br />
době dala za revoluční považovat standardní<br />
schopnost pracovat s tzv. alfa-kanálem, tj.<br />
s plynulou mírou průhlednosti.<br />
Samostatnou kapitolu by si zasloužil<br />
objektový vývojový systém, který umožnil<br />
psát aplikace ve zlomku času a s vynaložením<br />
zlomku nákladů, než jaké by byly zapotřebí<br />
v jiných prostředích. V tomto článku už<br />
na něj sice není dost místa, avšak dodnes<br />
žije pod názvem Cocoa jako součást Mac<br />
OS X. Ondřej Čada<br />
C H I P L E D E N 2 0 0 5