31.08.2014 Views

2005 / 1 leden - stulik.cz

2005 / 1 leden - stulik.cz

2005 / 1 leden - stulik.cz

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!