VyÜlo v t²denφku: COMPUTERWORLD
╚φslo:12/94
RoΦnφk: 1994
Rubrika/kategorie: TΘma t²dne

zp∞t do archivu Φlßnk∙ | rejst°φk

Ji°φ Peterka

PoΦφtaΦovΘ sφt∞ jako d∙sledek v²voje

Tento Φlßnek vyÜel v poΦφtaΦov²ch novinßch Computerworld Φ. 12 z roku 1994, jako tzv. TΘma t²dne.

Obsah:

Dopl≥kem tohoto tΘmatu t²dne pak byl vlo₧en² Φlßnek s odpov∞∩mi na nejΦast∞ji kladenΘ otßzky:

PoΦφtaΦe majφ za sebou ji₧ tΘm∞° padesßtiletou historii. Za tu dobu proÜly v²znam²m v²vojem - zcela zßsadn∞ se zm∞nily jejich schopnosti, kapacitnφ mo₧nosti i zp∙sob jejich vyu₧φvßnφ. V²razn∞ se vÜak m∞nil i vztah Φlov∞ka k v²poΦetnφ technice: jestli₧e v urΦitΘ fßzi lidΘ usoudili, ₧e je v²hodnΘ p°ejφt od velk²ch st°ediskov²ch poΦφtaΦ∙ s v²razn∞ centralizovanou koncepcφ ke zcela decentralizovan²m osobnφm poΦφtaΦ∙m, po urΦitΘ dob∞ si uv∞domili, ₧e ani tento extrΘm nenφ nejv²hodn∞jÜφ, a zaΦali hledat zlatou st°ednφ cestu. P°itom p°iÜli na to, ₧e poΦφtaΦe je mo₧nΘ vzßjemn∞ propojovat do sφtφ .....

Prvnφ poΦφtaΦe, kterΘ vznikly v obdobφ kolem druhΘ sv∞tovΘ vßlky a bezprost°edn∞ po nφ (viz TΘma t²dne, CW 6/94), bychom z dneÜnφho pohledu mohli pova₧ovat spφÜe za pon∞kud objemn∞jÜφ programovatelnΘ kalkulaΦky - alespo≥ pokud jde o jejich schopnosti, hodnocenΘ podle souΦasn²ch m∞°φtek. Byly ovÜem zcela nezbytn²m p°edstupn∞m, bez kterΘho bychom dnes nem∞li ₧ßdnΘ osobnφ poΦφtaΦe, ₧ßdnΘ sφt∞, a dokonce ani ₧ßdnΘ poΦφtaΦovΘ hry!

V pion²rsk²ch dobßch v²poΦetnφ techniky byly vÜechny poΦφtaΦe p°edevÜφm slo₧it²mi technick²mi za°φzenφmi. BßjeΦnφ mu₧i od poΦφtacφch stroj∙, kte°φ se kolem nich pohybovali, byli z dneÜnφho pohledu spφÜe techniky - rozum∞li konstrukci svΘho stroje a starali se zejmΘna o to, aby v∙bec fungoval. Nez°φdka to byly p°φmo lidΘ, kte°φ cel² poΦφtaΦ od zßklad∙ vymysleli a zkonstruovali, a kdy₧ bylo t°eba, dokßzali jej i pot°ebn²m zp∙sobem naprogramovat. ┌lohy, kterΘ se v tΘ dob∞ °eÜily, m∞ly v∞tÜinou povahu v∞decko-technick²ch v²poΦt∙, a jejich algoritmickß strßnka neb²vala nijak nßroΦnß: relativn∞ nejslo₧it∞jÜφm ·kolem bylo vyjßd°it postup v²poΦtu takov²m zp∙sobem, aby mu poΦφtaΦ rozumn∞l.

Ten, kdo v t∞chto pion²rsk²ch dobßch pot°eboval na poΦφtaΦi n∞co skuteΦn∞ spoΦφtat, si nejspφÜe zaÜel za bßjeΦn²mi mu₧i od poΦφtacφch stroj∙, sd∞lil jim svou p°edstavu, a oni se ji₧ sami postarali o vÜe pot°ebnΘ, vΦetn∞ naprogramovßnφ. Nebo jej zasv∞tili do pot°ebn²ch taj∙ a souvislostφ, a dßle postupovali spoleΦn∞. Dokud se vÜe odehrßvalo spφÜe na experimentßlnφ bßzi, v malΘm rozsahu a v zßpalu nadÜenφ pro v∞c, bylo to mo₧nΘ.

Jakmile se ale poΦφtaΦe staly v²konn∞jÜφmi a slo₧it∞jÜφmi, a souΦasn∞ s tφm ztratily svΘ experimentßlnφ postavenφ, muselo se nutn∞ zm∞nit i jejich "lidskΘ okolφ". O fungovßnφ poΦφtaΦe jako takovΘho (tedy po technickΘ strßnce) se nadßle starali specializovanφ technici, kte°φ ale ji₧ nem∞li p°φliÜ Φasu zab²vat se programovßnφm a vÜφm, co s tφm souvisφ. TakΘ to ji₧ zdaleka nebyli ti, kdo poΦφtaΦ vymysleli, a Φasto ani ti, kte°φ jej vyrobili. Tvorbou program∙ se takΘ zab²vali jinφ lidΘ, kte°φ zase na oplßtku nemuseli rozum∞t poΦφtaΦi po technickΘ strßnce. Z dneÜnφho pohledu bychom je oznaΦili nejspφÜe za analytiky a programßtory souΦasn∞ - tato kumulace u nich byla mo₧nß zejmΘna proto, ₧e °eÜenΘ ·lohy jeÜt∞ nebyly tak nßroΦnΘ, aby si jejich anal²za a algoritmizace vy₧ßdala u₧Üφ specializaci. K tomu vÜak takΘ Φasem doÜlo.

JeÜt∞ d°φve vÜak doÜlo k jinΘ d∞lb∞ prßce: s nßstupem operaΦnφch systΘm∙ p°estaly aplikaΦnφ (resp. u₧ivatelskΘ) programy pracovat p°φmo "na holΘm ₧eleze" - tedy tak, aby m∞ly p°φm² a bezprost°ednφ kontakt se vÜemi technick²mi prost°edky poΦφtaΦe (pam∞tφ, vstupn∞/v²stupnφmi za°φzenφmi, mechanismem p°eruÜenφ atd.), kterΘ by si takΘ musely samy obsluhovat. Toto "holΘ ₧elezo" bylo p°ekryto a obsluhovßno jin²mi programy systΘmovΘho charakteru (tvo°φcφmi souΦßst operaΦnφho systΘmu), a teprve ty pak zprost°edkovßvaly aplikaΦnφm program∙m pot°ebnΘ funkce, realizovanΘ technick²mi prost°edky. AplikaΦnφ programy nynφ ji₧ nemohly poΦφtat s tφm, ₧e jsou na poΦφtaΦi samy, a podle toho se takΘ chovat - musely se naopak p°izp∙sobit operaΦnφmu systΘmu poΦφtaΦe, kter² jim vytvß°el urΦitΘ prost°edφ a podmφnky pro jejich prßci. S tφm pak souvisela i specializace lidφ, kte°φ se zab²vali programov²m vybavenφm: n∞kte°φ z nich se museli starat o operaΦnφ systΘm a systΘmovΘ prost°edky, zatφmco jinφ se zam∞°ili na vlastnφ aplikace, kterΘ byly v danΘm systΘmovΘm prost°edφ provozovßny.

Teprve pozd∞ji, kdy₧ se provozovanΘ aplikace staly podstatn∞ nßroΦn∞jÜφmi, doÜlo k dalÜφmu Üt∞penφ i na tomto poli: o anal²zu a algoritmizaci aplikaΦnφch ·loh se starali analytici, a o jejich naprogramovßnφ aplikaΦnφ programßto°i.

Dßvky a dßvkovΘ zpracovßnφ

S rozvojem schopnostφ v²poΦetnφ techniky samoz°ejm∞ rychle rostl i zßjem u₧ivatel∙ o jejich vyu₧itφ. Z technick²ch i ekonomick²ch d∙vod∙ vÜak jeÜt∞ zdaleka nebylo mo₧nΘ, aby si ka₧d² u₧ivatel mohl po°φdit vlastnφ poΦφtaΦ - mφsto toho bylo nutnΘ za°φdit v∞ci tak, aby jeden poΦφtaΦ mohl slou₧it pot°ebßm vφce u₧ivatel∙m. Otßzkou ovÜem bylo, jak to ud∞lat co mo₧nß nejefektivn∞ji?

KritΘrium efektivnosti p°itom nutn∞ muselo vychßzet z obrovskΘ ceny tehdejÜφch poΦφtaΦ∙, a jednoznaΦn∞ tedy vedlo na to, aby poΦφtaΦ jako celek i jeho jednotlivΘ Φßsti byly vyu₧φvßny co mo₧nß nejintenzivn∞ji, bez zbyteΦn²ch prostoj∙ a pro "u₧iteΦnΘ" Φinnosti.

Jako nejjednoduÜÜφ °eÜenφ se nabφzelo p°id∞lovat postupn∞ cel² poΦφtaΦ jednotliv²m ·lohßm - tedy za°φdit vÜe tak, aby se cel² poΦφtaΦ nejprve v∞noval provedenφ jednΘ ·lohy, po jejφm dokonΦenφ pak druhΘ ·loze atd.

Efektivnosti takovΘhoto °eÜenφ ovÜem pon∞kud p°ekvapiv∞ stßl v cest∞ Φlov∞k-u₧ivatel: pokud by toti₧ m∞l mφt p°φm² kontakt se svou ·lohou a mo₧nost bezprost°edn∞ reagovat na pr∙b∞h jejφho v²poΦtu, pak by nutn∞ muselo dochßzet k situacφm, kdy by cel² poΦφtaΦ pasivn∞ Φekal na jeho reakci. No a vzhledem k ohromnΘ disproporci mezi rychlostφ poΦφtaΦe a rychlostφ reakce Φlov∞ka by to pro poΦφtaΦ znamenalo velkΘ, a hlavn∞ zcela "neu₧iteΦnΘ" prostoje.

Historicky nejstarÜφ metoda sdφlenφ v²poΦetnφ kapacity vφce u₧ivateli (tzv. dßvkovΘ zpracovßnφ, batch processing) je proto zalo₧ena na zdßnliv∞ paradoxnφ myÜlence: u₧ivatele je t°eba d∙sledn∞ odstavit od jeho ·lohy. Neboli: za°φdit v∞ci tak, aby p°i vlastnφm provßd∞nφ ·lohy se ji₧ nebylo t°eba u₧ivatele na cokoli dotazovat (resp. Φekat na jakoukoli jeho reakci), a cel² v²poΦet mohl probφhat maximßlnφ mo₧nou rychlostφ.

K tomu je ovÜem nutnΘ, aby u₧ivatel vÜe pot°ebnΘ "°ekl" p°edem: aby p°edem stanovil, co p°esn∞ se mß s jeho ·lohou ud∞lat, jakß majφ b²t jejφ vstupnφ data, resp. odkud se majφ vzφt, co se mß stßt s v²stupnφmi daty, co se mß dφt v p°φpad∞ chyby apod. Pokyny, p°edem urΦujφcφ konkrΘtnφ postup p°i provßd∞nφ jeho ·lohy, musel u₧ivatel samoz°ejm∞ vyjßd°it v takovΘ form∞, kterß byla pro poΦφtaΦ srozumitelnß - pomocφ p°φkaz∙ vhodnΘho °φdφcφho jazyka - a ty pak p°idat k vlastnφ ·loze a jejφm dat∙m. Tφm vznikl celek, kterΘmu se °φkalo dßvka (batch), a kter² mohl b²t samostatn∞ zpracovßn bez p°φmΘ ·Φasti u₧ivatele.

Jak²m konkrΘtnφm zp∙sobem se ale dßvky p°ipravovaly, a jak se dostßvaly do poΦφtaΦe ke zpracovßnφ?

JednotlivΘ dßvky byly obvykle p°ipravovßny na po°izovacφch za°φzenφch, pracujφcφch v tzv. nesp°a₧enΘm (off-line re₧imu), a tedy zcela nezßvislΘ na vlastnφm poΦφtaΦi. NejΦast∞ji Ülo o r∙znΘ d∞rovaΦe, tak₧e vlastnφ dßvka pak mohla mφt formu sΘrie d∞rn²ch Ütφtk∙ Φi role d∞rnΘ pßsky. Ke stejnΘmu ·Φelu se vÜak pou₧φvaly nap°φklad i magnetickΘ pßsky, pozd∞ji pak i diskety. Vesm∞s vÜak byly dßvky zaznamenßvßny na nosiΦe, kterΘ bylo t°eba fyzicky p°inΘst a₧ k odpovφdajφcφmu vstupnφmu za°φzenφ (snφmaΦi Ütφtk∙ Φi d∞rnΘ pßsky apod.), odkud pak ji₧ dßvka vstupovala p°φmo do poΦφtaΦe. Ten si jednotlivΘ dßvky naΦφtal bu∩ okam₧it∞ a uklßdal je do fronty, realizovanΘ v jeho pam∞ti, nebo se mu nosiΦe s jednotliv²mi dßvkami v urΦitΘm po°adφ hromadily v p°φsluÜnΘm vstupnφm za°φzenφ, a poΦφtaΦ si je skuteΦn∞ naΦφtal a₧ v okam₧iku, kdy je zaΦφnal zpracovßvat.

TakΘ v²stupy, vzniklΘ zpracovßnφm jednotliv²ch dßvek, se do okolnφho sv∞ta dostßvaly p°es vhodnß v²stupnφ za°φzenφ (d∞rovaΦe, tiskßrny apod.).

DokonalejÜφm a pru₧n∞jÜφm °eÜenφm bylo pou₧itφ tzv. dßvkov²ch terminßl∙. Tyto byly vhodnou kombinacφ vstupnφho a v²stupnφho za°φzenφ, urΦenΘho pro vstup dßvek na fyzick²ch nosiΦφch a pro analogick² v²stup. Navφc ale byly vybavovßny takov²mi komunikaΦnφmi schopnostmi, kterΘ umo₧≥ovaly p°ipojit je k vlastnφmu poΦφtaΦi (a to i na v∞tÜφ vzdßlenosti) po vhodn²ch komunikaΦnφch linkßch. Velmi Φasto byly tyto dßvkovΘ terminßly schopnΘ fungovat souΦasn∞ i jako po°izovaΦe dat. Jejich p°edstavu ilustruje obr. 1.

Obr. 1.: Uspo°ßdßnφ pro pot°eby dßvkovΘho zpracovßnφ

V²hody dßvkovΘho zpracovßnφ

Hlavnφm cφlem zpracovßvßnφ u₧ivatelsk²ch ·loh ve form∞ dßvek (neboli tzv. dßvkovΘho zpracovßnφ, batch processing) tedy bylo co mo₧nß nejlΘpe vyu₧φt vÜech dostupn²ch zdroj∙, kterΘ byly k dispozici - p°edevÜφm pak procesoru, kter² byl rozhodujφcφ (a takΘ nejdra₧Üφ) Φßstφ tehdejÜφch poΦφtaΦ∙. Pr∙b∞₧nΘ napl≥ovßnφ tohoto cφle m∞l na starosti operaΦnφ systΘm, kter² rozhodoval o tom, kdy a jak bude kterß dßvka zpracovßna, resp. kdy jφ bude p°id∞len urΦit² systΘmov² zdroj, kter² ke svΘmu provedenφ vy₧adovala (co₧ byl nejΦast∞ji procesor, ale nap°φklad takΘ urΦitΘ konkrΘtnφ vstupnφ Φi v²stupnφ za°φzenφ). Samotnß koncepce dßvek vychßzela tomuto ·kolu vst°φc tφm, ₧e eliminovala bezprost°ednφ interakci u₧ivatele s jeho ·lohou, a tφm dßvala operaΦnφmu systΘmu mnohem ÜirÜφ prostor pro nejr∙zn∞jÜφ optimalizaΦnφ postupy.

Nejv²znamn∞jÜφm optimalizaΦnφm postupem byla mo₧nost soub∞₧nΘho provßd∞nφ vφce ·loh, kterΘ pracovaly s r∙zn²mi systΘmov²mi zdroji: jestli₧e se nap°φklad prßv∞ provßd∞nß ·loha rozhodla zahßjit urΦitou vstupn∞/v²stupnφ operaci a Φekat na jejφ dokonΦenφ, pak tato operace obvykle probφhala zcela autonomn∞, a nevy₧adovala p°φmou ·Φast procesoru. Pak ovÜem bylo zcela zbyteΦnΘ, aby ·loha, Φekajφcφ na dokonΦenφ vstupn∞/v²stupnφ operace, "obsazovala" procesor a zam∞stnßvala jej pouze pasivnφm Φekßnφm. OperaΦnφ systΘm, veden snahou o maximßln∞ efektivnφ vyu₧itφ procesoru, mohl takovΘto ·loze procesor odejmout (resp. nechat ji Φekat tak, aby p°itom neobsazovala procesor), a ten naopak p°id∞lit jinΘ ·loze, p°ipravenΘ ke zpracovßnφ a Φekajφcφ ve front∞. Dφky tomu pak mohlo vedle sebe existovat vφce ·loh v r∙znΘm stßdiu rozpracovanosti: vedle prßv∞ provßd∞nΘ ·lohy to mohla b²t celß °ada dalÜφch ·loh, p°ipraven²ch ke zpracovßnφ a Φekajφcφch jen na p°id∞lenφ procesoru, a dßle pak takovΘ ·lohy, kterΘ n∞kdy d°φve (jako "prßv∞ probφhajφcφ") odstartovaly n∞jakou vstupn∞/v²stupnφ operaci, a v danΘm okam₧iku jeÜt∞ Φekaly na jejφ dokonΦenφ.

Tφmto zp∙sobem (i n∞kter²mi dalÜφmi "triky", kterΘ ale ji₧ p°esahujφ rßmec tohoto textu) pak operaΦnφ systΘm dokßzal v rozumnΘ mφ°e vyhov∞t pot°ebßm vφce u₧ivatel∙, a v maximßlnφ mo₧nΘ mφ°e zam∞stnat procesor svΘho poΦφtaΦe. V dob∞, kdy v²poΦetnφ kapacita (urΦenß p°edevÜφm schopnostmi procesoru) byla velmi nßkladnß, to bylo prßv∞ tφm, o co Ülo ze vÜeho nejvφc.

U₧ivatelΘ cht∞jφ okam₧itou odezvu

Pro u₧ivatele ovÜem nebylo maximßlnφ vytφ₧enφ procesoru zase a₧ tak podstatnΘ. Pro n∞ bylo mnohem v²znamn∞jÜφ to, ₧e nem∞li bezprost°ednφ kontakt se svou ·lohou, nemohli tudφ₧ reagovat na pr∙b∞h jejφho v²poΦtu, a v∞tÜinou museli i dost dlouho Φekat, ne₧ v∙bec dostali n∞jakΘ v²sledky z jejφho zpracovßnφ - nezapome≥me toti₧, ₧e o tom, kdy bude urΦitß ·loha skuteΦn∞ zpracovßna, nerozhodoval pouze okam₧ik jejφho odevzdßnφ ve form∞ dßvky do systΘmu dßvkovΘho zpracovßnφ, ale takΘ celß °ada dalÜφch faktor∙, vΦetn∞ poΦtu a charakteru soub∞₧n∞ zadßvan²ch Φi ji₧ d°φve p°ijat²ch dßvek.

DßvkovΘ zpracovßnφ se tedy v∙Φi u₧ivatel∙m projevovalo zejmΘna dlouhou dobou odezvy - neboli dobou, kterß uplyne od zadßnφ urΦitΘ akce do projevenφ se jejφho efektu. U₧ivatel, kter² v dßvkovΘm systΘmu zpracovßnφ ladil n∞jak² program, zase nejvφce poci¥oval dlouhou dobu obrßtky, jako dobu mezi dv∞ma iteracemi postupnΘho lad∞nφ svΘ ·lohy. Jist∞, byla to doba skuteΦn²ch programßtor∙, kte°φ rad∞ji dΘle p°em²Üleli a mΘn∞ experimentovali, ale i tak pro n∞ dlouhß doba odezvy Φi obrßtky byla znaΦn∞ nev²hodnß.

U₧ivatelΘ samoz°ejm∞ volali po okam₧itΘ odezv∞ a mo₧nosti pr∙b∞₧nΘ interakce se sv²mi ·lohami. Uv∞domme si ale dob°e, co to vlastn∞ znamenalo: schopnost okam₧itΘ odezvy vy₧aduje, aby p°φsluÜnß ·loha m∞la procesor kdykoli k dispozici, a mohla tudi₧ ihned zareagovat na vstup u₧ivatele. Mß-li se ovÜem u₧ivatelova vstupu v∙bec doΦkat, musφ si na n∞j nejprve poΦkat, co₧ zase znamenß, ₧e bude "neu₧iteΦn∞" spot°ebovßvat Φas procesoru.

NejjednoduÜÜφm °eÜenφm by samoz°ejm∞ bylo p°id∞lit ·loze natrvalo cel² poΦφtaΦ - to si ale m∙₧eme dovolit a₧ dnes, v dob∞ mikroprocesorovΘ techniky a osobnφch poΦφtaΦ∙. OvÜem v dob∞, kdy sv∞tu jeÜt∞ vlßdly velkΘ a drahΘ st°ediskovΘ poΦφtaΦe, bylo n∞co takovΘho nemyslitelnΘ.

Pom∞rn∞ brzy se ale ukßzalo, ₧e po₧adavku u₧ivatel∙ na okam₧itou odezvu by p°eci jen Ülo urΦit²m zp∙sobem vyhov∞t: kdyby se toti₧ jednotlivΘ ·lohy st°φdaly na procesoru dostateΦn∞ rychle, nap°φklad takov²m zp∙sobem, ₧e ₧ßdnß z nich nebude obsazovat procesor dΘle ne₧ na urΦit² mal² a pevn∞ dan² Φasov² interval, a poΦet takov²chto ·loh by byl shora omezen, pak by bylo zajiÜt∞no i to, ₧e ka₧dß ·loha se dostane "ke slovu" nejpozd∞ji za p°edem stanovenou dobu. Dφky tomu by pak mohla pom∞rn∞ rychle zareagovat i na vstup u₧ivatele - ne sice okam₧it∞, tedy s nulovou dobou odezvy, ale na dostateΦn∞ rychlΘm procesoru a p°i nep°φliÜ velkΘm poΦtu soub∞₧n∞ zpracovßvan²ch ·lohou s tak krßtkou dobou odezvy, ₧e by jejφ nenulovost u₧ivatel nemusel ani zaznamenat.

Rozeberme si tuto myÜlenku pon∞kud podrobn∞ji: v re₧imu dßvkovΘho zpracovßnφ byl procesor p°id∞len urΦitΘ ·loze na tak dlouhou dobu, na jakou tato ·loha dokßzala procesor pln∞ zam∞stnat (resp. tento jφ byl od≥at v okam₧iku, kdy zahßjila n∞jakou vstupn∞/v²stupnφ operaci, a v d∙sledku toho ji₧ p°estala procesor intenzivn∞ vyu₧φvat). Pozd∞ji se sice i rßmci dßvkovΘho zpracovßnφ zaΦaly jednotlivΘ ·lohy st°φdat na procesoru Φast∞ji, ale zdaleka jeÜt∞ ne tak Φasto, jak by bylo pot°eba pro zajiÜt∞nφ dostateΦn∞ krßtkΘ odezvy - uv∞domme si ale, ₧e v re₧imu dßvkovΘho zpracovßnφ, kde se ß priory nep°edpoklßdala interakce u₧ivatele s jeho ·lohou, toto nebylo v∙bec cφlem. Naopak, v dßvkovΘm zpracovßnφ Ülo o maximßln∞ efektivnφ vyu₧itφ procesoru, a ΦastΘ st°φdßnφ ·loh bylo s tφmto cφlem ve sporu: ka₧dΘ "p°epnutφ" z jednΘ ·lohy na druhou bylo toti₧ spojeno s nenulovou re₧ii.

MyÜlenka velmi rychlΘho st°φdßnφ ·loh na jednom procesoru si proto na svou realizaci musela chvφli poΦkat - do tΘ doby, ne₧ cena poΦφtaΦ∙ dostateΦn∞ poklesla a jejich rychlost naopak stoupla tak, ₧e se re₧ie, spojenß s Φast²m p°epφnßnφm ·loh, stala ·nosnou.

Sdφlenφ Φasu

Jakmile se tedy poΦφtaΦe dostateΦn∞ zrychlily (a souΦasn∞ s tφm i zlevnily), bylo mo₧nΘ v praxi nasadit re₧im, k jeho₧ rßmcovΘ p°edstav∞ jsme dosp∞li v p°edchozφm odstavci - re₧im, oznaΦovan² p°φznaΦn∞ jako sdφlenφ Φasu (time sharing)

Za sv∙j nßzev vd∞Φφ tomu, ₧e jednotlivΘ ·lohy, pat°φcφ obvykle r∙zn²m u₧ivatel∙m, se dφky svΘmu rychlΘmu st°φdßnφ vlastn∞ d∞lφ o celkov² strojov² Φas, kter² je k dispozici, neboli jej sdφlφ - odsud "sdφlenφ Φasu".

Praktickß realizace sdφlenφ Φasu je principißln∞ jednoduchß: ka₧dß ·loha dostane p°id∞len procesor v₧dy na urΦit² Φasov² interval (ΦasovΘ kvantum, v angliΦtin∞: time-slice), a po jeho uplynutφ je procesor zase vrßcen zp∞t operaΦnφmu systΘmu. Ten jej obdobn²m zp∙sobem p°id∞lφ dalÜφ ·loze, pak dalÜφ atd., dokud takto neobejde vÜechny ·lohy, kter²ch se to t²kß, a pak zaΦφnß od znovu.

JednotlivΘ ·lohy mohou na tomto scΘnß°i v∞dom∞ spolupracovat tφm, ₧e po uplynutφ p°id∞lenΘho ΦasovΘho kvanta procesor dobrovoln∞ vrßtφ zp∞t. Je ovÜem mo₧n² i opaΦn² p°φpad, kdy ·loha procesor z vlastnφ iniciativy nevracφ, ale tento jφ musφ b²t v₧dy nßsilφm odebrßn. V²hodou tΘto tzv. preemptivnφ varianty je to, ₧e p°φsluÜnß ·loha si v∙bec nemusφ uv∞domovat existenci jakΘhokoli st°φdßnφ, a ostatn∞ ani skuteΦnost, ₧e se o Φas procesoru ve skuteΦnosti d∞lφ s jin²mi ·lohami. Naproti tomu u tzv. nepreemptivnφ varianty si ·loha tyto skuteΦnosti pln∞ uv∞domuje, nebo¥ se na jejich realizaci aktivn∞ podφlφ.

Zamysleme se nynφ nad zajφmavou otßzkou: m∙₧e si n∞jakß ·loha, b∞₧φcφ v re₧imu sdφlenφ Φasu, dovolit pasivn∞ Φekat na vstup od u₧ivatele? Tedy na to, a₧ u₧ivatel zmßΦkne n∞jakou klßvesu, zadß urΦit² znakov² °et∞zec apod.? M∙₧e. Pokud p°i svΘm pasivnφm Φekßnφ vyΦerpß prßv∞ p°id∞lenΘ ΦasovΘ kvantum a reakce u₧ivatele se nedoΦkß, je jφ procesor zase odebrßn a postupn∞ p°id∞lovßn dalÜφm ·lohßm. NaÜe ·loha tedy v nejhorÜφm p°φpad∞ "propl²tvß" svß p°id∞lenß Φasovß kvanta (kterΘ by tak jako tak sama nevyu₧ila, dokud se po₧adovanΘho vstupu nedoΦkß), ale ostatnφ ·lohy tφm nejsou nijak ochuzeny. Prßv∞ naopak, mohou na tom dokonce i vyd∞lat - Φekajφcφ ·loha se m∙₧e zachovat i tak, ₧e v rßmci Φekßnφ na zaΦßtku ka₧dΘho p°id∞lenΘho ΦasovΘho kvanta si pouze jednorßzov∞ zjistφ, zda vstup od u₧ivatele je ji₧ k dispozici Φi nikoli, a pokud ne, vrßtφ procesor zp∞t (Φφm₧ se vlastn∞ vzdß zbytku ΦasovΘho kvanta, kterΘ jφ bylo prßv∞ p°id∞leno).

Abychom si prßv∞ vyslovenΘ myÜlenky zasadili do sprßvnΘho kontextu, musφme si jeÜt∞ uv∞domit, jak velkß jsou Φasovß kvanta, p°id∞lovanß jednotliv²m ·lohßm v re₧imu sdφlenφ Φasu, resp. jak Φasto se jednotlivΘ ·lohy "dostßvajφ ke slovu": konkrΘtnφ hodnoty se samoz°ejm∞ mohou v²znamn∞ji liÜit, a m∞nit se i v zßvislosti na momentßlnφ zßt∞₧i, ale v₧dy p∙jde maximßln∞ o zlomky sekund. Z pohledu Φlov∞ka a ve srovnßnφ s rychlostφ jeho reakcφ jsou tyto Φasy zßm∞rn∞ voleny natolik malΘ, aby vytvß°ely iluzi nep°etr₧itΘho b∞hu ·loh! Navφc, a to je nemΘn∞ podstatnΘ, m∙₧e jeden poΦφtaΦ vytvß°et tuto iluzi vφce u₧ivatel∙m souΦasn∞!

D∙sledky sdφlenφ Φasu

Re₧im sdφlenφ Φasu, kter² jsme si prßv∞ naznaΦili, m∞l velmi zßva₧nΘ d∙sledky na p°φstup Φlov∞ka k v²poΦetnφ technice, i na architekturu poΦφtaΦ∙ jako takov²ch. PoprvΘ zavedl mo₧nost interaktivnφho zpracovßnφ (jako protip≤lu zpracovßnφ dßvkovΘho), p°i kterΘm mohou mφt u₧ivatelΘ bezprost°ednφ kontakt se sv²mi ·lohami, mohou jim pr∙b∞₧n∞ zadßvat svΘ vstupy, a p°ejφmat jejich pr∙b∞₧nΘ v²stupy. Mo₧nost interaktivnφho zpracovßnφ doslova otev°ela dve°e bohatΘ Ükßle nejr∙zn∞jÜφch aplikacφ, jakΘ by ve sv∞t∞ dßvkovΘho zpracovßnφ nem∞ly p°φliÜ velk² smysl Φi alespo≥ postrßdaly svou atraktivnost. Jak d∙le₧itΘ to bylo, o tom sv∞dΦφ fakt, ₧e drtivß v∞tÜina dneÜnφch aplikacφ mß vysloven∞ interaktivnφ charakter: od nejr∙zn∞jÜφch editor∙ a₧ po snad ·pln∞ vÜechny poΦφtaΦovΘ hry.

Provozovßnφ interaktivnφch aplikacφ si ovÜem okam₧it∞ vynutilo takΘ zavedenφ vhodn²ch u₧ivatelsk²ch pracoviÜ¥, prost°ednictvφm kter²ch mohou u₧ivatelΘ skuteΦn∞ "interagovat" se sv²mi aplikacemi. Tato u₧ivatelskß pracoviÜt∞, oznaΦovanß jako terminßly, byla v₧dy tvo°ena dvojicφ za°φzenφ: jednφm vstupnφm, kter²m v₧dy byla klßvesnice, a jednφm v²stupnφm - tφm byla zpoΦßtku tiskßrna, pozd∞ji pak obrazovka. VelkΘ st°ediskovΘ poΦφtaΦe byly vybavovßny desφtkami takov²chto terminßl∙ (n∞kdy pr² a₧ stovkami), a ty pak umo₧≥ovaly souΦasnou prßci s poΦφtaΦem p°φsluÜnΘmu poΦtu u₧ivatel∙.

Velmi podstatnß p°itom byla i skuteΦnost, ₧e nynφ se nemusel Φlov∞k obt∞₧ovat za poΦφtaΦem - nynφ tomu ji₧ mohlo b²t naopak: terminßly, prost°ednictvφm kter²ch se s poΦφtaΦem pracovalo, se mohly dostat a₧ k jednotliv²m u₧ivatel∙m do jejich kancelß°φ, laborato°φ, obchod∙, ·°adoven apod.

TerminßlovΘ sφt∞

JednotlivΘ terminßly se k poΦφtaΦ∙m p°ipojovaly r∙zn²mi zp∙soby, kterΘ se navφc mohly vzßjemn∞ kombinovat. U velk²ch st°ediskov²ch poΦφtaΦ∙ s mnoha a mnoha terminßly se jednalo o celΘ terminßlovΘ sφt∞ - kterΘ ale nebyly niΦφm jin²m, ne₧ vφce Φi mΘn∞ komplikovan²m "rozvodem" z jednoho centra do mnoha jednotliv²ch mφst (viz obrßzek 2).

Obr. 2: Obecnß p°edstava terminßlovΘ sφt∞

D∙le₧itΘ p°itom bylo to, ₧e v rßmci takov²chto terminßlov²ch sφtφ mohly b²t jednotlivΘ terminßly p°ipojovßny jak na krßtkou vzdßlenost (jako tzv. mφstnφ terminßly), tak i na v∞tÜφ a₧ hodn∞ velkΘ vzdßlenosti (jako tzv. vzdßlenΘ terminßly) - nap°. v jinΘm m∞st∞, v jinΘm stßt∞, Φi dokonce i na jinΘm kontinent∞.

N∞kterΘ velkΘ poΦφtaΦe byly vybavovßny opravdu velk²mi poΦty terminßl∙. Jejich terminßlovΘ sφt∞ pak ale ji₧ byly natolik rozsßhlΘ, ₧e se v nich velmi kategoricky prosadil po₧adavek odlehΦit centrßlnφmu poΦφtaΦi, kter² stßl v ko°eni celΘ terminßlovΘ sφt∞, a zbavit jej co mo₧nß nejv∞tÜφ Φßsti povinnostφ p°i obsluze terminßl∙ - tak aby se mohl pln∞ soust°edit na vlastnφ provozovßnφ aplikaΦnφch a jin²ch program∙. Proto se v rßmci terminßlov²ch sφtφ zaΦaly pou₧φvat r∙znΘ specializovanΘ slo₧ky.

Takovou specializovanou slo₧kou (viz obr. 3) byl p°edevÜφm tzv. komunikaΦnφ °adiΦ (communication processor). Mohl b²t jedno·Φelov²m za°φzenφm, ale Φast∞ji byl spφÜe samostatn²m poΦφtaΦem, vystupujφcφm v roli tzv. p°ed°azenΘho procesoru (front-end processor). Jeho hlavnφm ·kolem byl sb∞r dat od velkΘho poΦtu jednotliv²ch zdroj∙ a jejich p°edßvßnφ centrßlnφmu poΦφtaΦi, resp. distribuce dat od centrßlnφho poΦφtaΦe k velkΘmu poΦtu jednotliv²ch cφl∙. P°itom musel zajiÜ¥ovat i spoustu dalÜφch v∞cφ, kterΘ souvisely s vlastnφm p°enosem takov²chto dat ob∞ma sm∞ry.

Obr. 3.: P°edstava komunikaΦnφho °adiΦe (front-end procesoru)

JednotlivΘ terminßly se mohly p°ipojovat ji₧ p°φmo k p°ed°azenΘmu procesoru (komunikaΦnφmu °adiΦi) - mφstnφ pomocφ vhodn²ch kabel∙, vzdßlenΘ terminßly pak p°es komunikaΦnφ linky a s pomocφ modem∙, viz obr. 4. ╚ast∞ji se vÜak mezi komunikaΦnφ °adiΦ a terminßly vklßdal jeÜt∞ jeden specializovan² prvek, tzv. terminßlov² °adiΦ (n∞kdy tΘ₧: koncentrßtor), kter² na sebe p°ebφral bezprost°ednφ obsluhu celΘ skupiny terminßl∙. V²hody tohoto uspo°ßdßnφ byly patrnΘ zejmΘna p°i p°ipojovßnφ cel²ch skupin vzdßlen²ch terminßl∙ (viz obr. 5), kterΘ dφky pou₧itφ spoleΦnΘho terminßlovΘho °adiΦe (koncentrßtoru) mohly sdφlet jedinou komunikaΦnφ linku, vedoucφ sm∞rem k centrßlnφmu poΦφtaΦi.

Obr. 4: P°ipojovßnφ terminßl∙ p°φmo ke komunikaΦnφmu °adiΦi

Obr. 5: p°ipojovßnφ terminßl∙ p°es terminßlovΘ °adiΦe

Zajφmav²m momentem v souvislosti s terminßlov²mi sφt∞mi je skuteΦnost, ₧e ji₧ tyto byly v n∞kter²ch p°φpadech pova₧ovßny za poΦφtaΦovΘ sφt∞ jako takovΘ - p°φkladem m∙₧e b²t zejmΘna architektura poΦφtaΦov²ch sφtφ SNA (Systems Network Architecture) firmy IBM, resp. jejφ prvnφ varianta, pochßzejφcφ z roku 1974. Jako jedna z nejstarÜφch sφ¥ov²ch architektur SNA zpoΦßtku chßpala poΦφtaΦovou sφt jen jako prost°edek "rozvodu" dat, s p°φsn∞ hierarchick²m uspo°ßdßnφm dle obrßzku 6, Φφm₧ vlastn∞ kladla rovnφtko mezi sφ¥ terminßlovou a sφ¥ poΦφtaΦovou. A₧ mnohem pozd∞ji se do architektury SNA prosadila i p°edstava, ₧e by bylo mo₧nΘ vzßjemn∞ propojovat takΘ samotnΘ poΦφtaΦe.

Obr. 6: P°edstava poΦφtaΦovΘ sφt∞ dle prvnφ varianty architektury SNA firmy IBM
Sφ¥ovß architektura SNA rozd∞luje jednotlivΘ druhy uzl∙ do typ∙, kterΘ Φφsluje od 1 do 5 (viz obrßzek). Uzly typu vÜak 3 neexistujφ.

TerminßlovΘ relace

Pro sprßvnΘ pochopenφ v²znamu a smyslu terminßl∙, a zvlßÜt∞ pak pro pochopenφ n∞kter²ch d∙vod∙, kterΘ vedly ke vzßjemnΘmu propojovßnφ poΦφtaΦ∙, je vhodnΘ se podrobn∞ji zastavit u pojmu terminßlovΘ relace.

Terminßlovß relace (terminal session) je vlastn∞ dialogem mezi u₧ivatelem a jeho ·lohou. Mß interaktivnφ charakter, a proto se objevuje vlastn∞ a₧ u poΦφtaΦ∙, kterΘ interaktivnφ zp∙sob prßce jednotliv²ch u₧ivatel∙ p°ipouÜtφ - tedy a₧ u vφceu₧ivatelsk²ch poΦφtaΦ∙, kterΘ pracujφ v re₧imu sdφlenφ Φasu.

Pro z°φzenφ (vytvo°enφ, navßzßnφ) terminßlovΘ relace je zapot°ebφ, aby si u₧ivatel sedl k urΦitΘmu konkrΘtnφmu terminßlu, a z n∞j se p°ihlßsil do systΘmu - provedl tzv. poΦßteΦnφ p°ihlßÜenφ (anglicky: login). V rßmci tohoto ·konu u₧ivatel sd∞lφ operaΦnφmu systΘmu svou identitu (vyjßd°enou sv²m u₧ivatelsk²m jmΘnem), a zadßnφm sprßvnΘho hesla pak prokß₧e, ₧e je skuteΦn∞ tφm, za koho se vydßvß. OperaΦnφ systΘm pak ji₧ povede v patrnosti, ₧e vÜechny vstupy, kterΘ mu bude u₧ivatel zadßvat, budou p°ichßzet prßv∞ z toho terminßlu, ze kterΘho se u₧ivatel p°ihlßsil, a naopak ₧e veÜkerΘ v²stupy, urΦenΘ danΘmu u₧ivateli, mu musφ b²t zasφlßny na tent²₧ termminßl. Tuto informaci operaΦnφ systΘm p°edß ka₧dΘ ·loze, kterou si dotyΦn² u₧ivatel ze svΘho terminßlu spustφ: po p°ihlßÜenφ to bude tzv. interpret p°φkaz∙, neboli ·loha systΘmovΘho charakteru, prost°ednictvφm kterΘ u₧ivatel zadßvß p°φkazy operaΦnφmu systΘmu, a takΘ spouÜtφ dalÜφ ·lohy, nap°φklad r∙znΘ aplikaΦnφ ·lohy apod. VÜechny ·lohy, kterΘ si tento u₧ivatel spustφ, p°itom musφ respektovat konvenci o tom, ₧e se sv²m u₧ivatelem komunikujφ p°es p°φsluÜn² terminßl - no a prßv∞ to je podstatou terminßlovΘ relace, kterß vznikß s p°ihlßÜenφm u₧ivatele do systΘmu, a naopak zanikß p°i jeho odhlßÜenφ.

Obr. 7.: P°edstava terminßlovΘ relace

Pro jeÜt∞ nßzorn∞jÜφ p°edstavu je mo₧nΘ p°irovnat terminßlovou relaci k rou°e, kterß vede od poΦφtaΦe k terminßlu, u kterΘho u₧ivatel pracuje, a kterou proudφ veÜkerß data, kterß si u₧ivatel a jeho ·loha vzßjemn∞ p°edßvajφ. P°irovnßnφ k pomyslnΘ rou°e je navφc vhodnΘ i pro pochopenφ skuteΦnosti, kterou n∞kterΘ poΦφtaΦe (resp. jejich operaΦnφ systΘmy) p°ipouÜtφ: toti₧ ₧e u₧ivatel si z jednoho a tΘho₧ terminßlu z°φdφ hned n∞kolik terminßlov²ch relacφ. Ty si m∙₧eme stßle p°edstavovat jako pomyslnΘ roury, ovÜem s tφm, ₧e v danΘm okam₧iku je v₧dy jen jedna z nich aktivnφ - tedy ₧e v danΘm okam₧iku jen jedna z nich na stran∞ u₧ivatele skuteΦn∞ "·stφ" do obrazovky (a klßvesnice) p°φsluÜnΘho terminßlu, zatφmco ostatnφ roury momentßln∞ konΦφ "naprßzdno" (a v d∙sledku toho jimi prßv∞ nemohou proudit ₧ßdnß data). U₧ivatel p°itom musφ mφt mo₧nost si ze svΘho terminßlu volit, kterß relace mß b²t prßv∞ aktivnφ - m∙₧e se tedy mezi jednotliv²mi relacemi podle pot°eb p°epφnat. V rßmci ka₧dΘ terminßlovΘ relace p°itom jeden a tent²₧ u₧ivatel m∙₧e mφt spouÜt∞nu samostatnou ·lohu, kterß dφky re₧imu sdφlenφ Φasu "poΦφtß" i v dob∞, kdy jφ p°φsluÜnß terminßlovß relace nenφ prßv∞ aktivnφ. U₧ivatel se p°itom m∙₧e mezi jednotliv²mi relacemi (a tφm i mezi jednotliv²mi ·lohami) podle pot°eb p°epφnat.

Model host/terminßl

St°ediskovΘ poΦφtaΦe, vybavenΘ sφt∞mi terminßl∙, provozovanΘ v re₧imu sdφlenφ Φasu a slou₧φcφ vφce u₧ivatel∙m souΦasn∞, m∞ly jeden velmi d∙le₧it² koncepΦnφ rys: byly d∙sledn∞ centralistickΘ. Prakticky vÜechny systΘmovΘ zdroje soust°e∩ovaly do jedinΘho centra, kter²m byl samotn² st°ediskov² poΦφtaΦ. Tento fakt se p°itom t²kal jak objekt∙ hardwarovΘ povahy (od nejr∙zn∞jÜφch perifernφch za°φzenφ p°es vn∞jÜφ pam∞ti, operaΦnφ pam∞¥ a₧ po procesor), tak i objekt∙ povahy softwarovΘ - tedy vÜech systΘmov²ch i aplikaΦnφch program∙, datov²ch soubor∙, databßzφ atd. St°ediskov² poΦφtaΦ, kter² v sob∞ tyto zdroje soust°e∩oval, byl v jistΘm smyslu jejich hostitelem. Proto se mu takΘ v angliΦtin∞ zaΦalo °φkat host computer, zkrßcen∞ pak pouze host (nebo¥ anglickΘ host v p°ekladu znamenß prßv∞ "hostitel").

OznaΦenφ "hostitelsk² poΦφtaΦ" - jak znφ obvykl², i kdy₧ nep°φliÜ Ü¥astn² p°eklad anglickΘho host computer - pak p°e₧ilo i samotnΘ st°ediskovΘ poΦφtaΦe. Nenφ pro n∞j toti₧ podstatnΘ to, zda dan² poΦφtaΦ je velk², hodn∞ velk² Φi naopak pomenÜφ, od jakΘho je v²robce Φi kdy byl vyroben. PodstatnΘ je pouze to, jak²m zp∙sobem je vyu₧φvßn: jako centrßlnφ poΦφtaΦ se soust°ed∞n²mi systΘmov²mi zdroji, na kterΘm jsou p°φmo provozovßny i aplikaΦnφ ·lohy koncov²ch u₧ivatel∙. Hostitelsk²mi poΦφtaΦi proto byly i tzv. minipoΦφtaΦe, kterΘ Φasem zaΦaly konkurovat st°ediskov²m poΦφtaΦ∙m (od kter²ch se ale svou koncepcφ a zp∙sobem vyu₧itφ p°φliÜ neliÜily). Hostitelsk²mi poΦφtaΦi vÜak mohou b²t i n∞kterΘ nejmodern∞jÜφ poΦφtaΦe souΦasnosti - skuteΦn∞ toti₧ zßle₧φ jen na tom, jak²m zp∙sobem jsou vyu₧φvßny.

Co je tedy ale rozhodujφcφm kritΘriem pro to, aby urΦit² poΦφtaΦ vystupoval v roli hostitelskΘho poΦφtaΦe?

SkuteΦnost, ₧e "hostφ" r∙znΘ systΘmovΘ zdroje, nemusφ b²t rozhodujφcφ, nebo¥ n∞jakΘ zdroje dnes "hostφ" opravdu ka₧d² poΦφtaΦ. SkuteΦn∞ podstatnΘ je to, ₧e vÜechny aplikaΦnφ ·lohy jsou provozovßny p°φmo na danΘm poΦφtaΦi, a koncovφ u₧ivatelΘ komunikujφ se sv²mi ·lohami prost°ednictvφm terminßlov²ch relacφ (a tedy z p°φsluÜn²ch terminßl∙). Takov²to zp∙sob provozovßnφ aplikaΦnφch ·loh (kter² jsme ostatn∞ a₧ doposud p°edpoklßdali), je pak oznaΦovßn jako model host/terminßl (ve smyslu: hostitelsk² poΦφtaΦ/terminßl).

Hostitelsk² poΦφtaΦ je tedy takov² poΦφtaΦ, kter² je provozovßn podle modelu host/terminßl. Pom∞rn∞ dlouhou dobu to byla jedinß obvyklß mo₧nost - ale jen do tΘ doby, ne₧ se na obzoru objevil prvnφ alternativnφ model klient/server. Ale to bychom zbyteΦn∞ p°edbφhali .....

PoΦßtky propojovßnφ hostitelsk²ch poΦφtaΦ∙

Kdy₧ lidΘ zjistili, ₧e p°ipojovat terminßly lze i na pom∞rn∞ velkΘ vzdßlenosti, muselo je zßkonit∞ napadnout i to, ₧e p°esn∞ stejn²m zp∙sobem by m∞lo b²t mo₧nΘ propojovat i hostitelskΘ poΦφtaΦe jako takovΘ. Dnes lze ji₧ t∞₧ko zjistit, kdo to ud∞lal jako prvnφ, a polo₧il tak zßklad skuteΦn²m poΦφtaΦov²m sφtφm.

Vcelku dob°e se ale dß odhadnout motivace, kterß k t∞mto krok∙m vedla.

Snad nejv∞tÜφ zßjem m∞li u₧ivatelΘ o p°enos dat z jednoho poΦφtaΦe na druh². Zatφmco a₧ doposud se data musela p°enßÜet v zßsad∞ nesp°a₧en²m (off-line) zp∙sobem, prost°ednictvφm fyzickΘho p°enosu nejr∙zn∞jÜφch nosiΦ∙, nynφ se ji₧ otevφrala mo₧nost jejich p°enosu v elektronickΘ form∞, tzv. sp°a₧en²m (on-line) p°enosem.

P°enosovΘ cesty, kterΘ tehdy byly k dispozici, vÜak nenabφzely p°φliÜ velkou p°enosovou kapacitu. Ta vcelku postaΦovala pro p°ipojovßnφ vzdßlen²ch terminßl∙ (v rßmci poΦφtaΦov²ch sφtφ), ale pokud bylo t°eba p°enßÜet v∞tÜφ objemy dat, nastßvaly problΘmy. Proto se prvnφ p°enosy dat mezi hostitelsk²mi poΦφtaΦi odehrßvaly vesm∞s dßvkov²m zp∙sobem, formou p°enosu cel²ch soubor∙. ZajφmavΘ je, ₧e tato slu₧ba (tj. p°enos soubor∙) stßle dominuje i v dneÜnφch rozlehl²ch sφtφch. Nap°φklad podle statistik z roku 1992 p°edstavoval v celΘm Internetu p°enos soubor∙ celkem 50% veÜkerΘho datovΘho provozu. Tedy vlastn∞ tolik, jako vÜechny ostatnφ slu₧by dohromady.

VzdßlenΘ p°ihlaÜovßnφ

V okam₧iku, kdy doÜlo ke vzßjemnΘmu propojenφ hostitelsk²ch poΦφtaΦ∙, se na obzoru objevila novß, dosud netuÜenß mo₧nost: mo₧nost vzdßlenΘho p°ihlaÜovßnφ (remote login), realizovanß prost°ednictvφm tzv. vzdßlen²ch terminßlov²ch relacφ (remote terminal sessions). O co vlastn∞ Ülo?
Obr. 8.: P°edstava vzdßlen²ch terminßlov²ch relacφ

P°edstavme si, v souladu s obrßzkem 8, dva hostitelskΘ poΦφtaΦe A a B s vlastnφmi terminßlov²mi sφt∞mi. Dßle p°edpoklßdejme, ₧e tyto dva poΦφtaΦe jsou vzßjemn∞ propojeny - a nachßzφ se nap°φklad ka₧d² v jinΘm m∞st∞. Nynφ si p°edstavme u₧ivatele, kter² si sedne k jednomu z terminßl∙ poΦφtaΦe A. Standardnφ ·kon, kter² provede, je ₧e se p°ihlßsφ operaΦnφmu systΘmu poΦφtaΦe A (provede tzv. login, viz v²Üe), a tφm si nechß z°φdit terminßlovou relaci s poΦφtaΦem A. Vyu₧ijeme-li naÜφ p°edstavu terminßlovΘ relace jako pomyslnΘ roury, pak takto z°φzenß relace-roura p°enßÜφ vÜechny vstupy od u₧ivatele (z jeho terminßlu) a₧ do poΦφtaΦe A, kde je p°ijφmß prßv∞ b∞₧φcφ ·loha (kterou bude ihned po navßzßnφ relace ji₧ d°φve zmi≥ovan² interpret p°φkaz∙). Nynφ ale ten podstatn² moment: jsou-li oba poΦφtaΦe vzßjemn∞ propojeny, nenφ principißlnφ problΘm za°φdit v∞ci tak, aby vstupy od u₧ivatele "nekonΦily" na poΦφtaΦi A, ale byly p°enßÜeny a₧ do poΦφtaΦe B (analogicky pak pro v²stupy, putujφcφ opaΦn²m sm∞rem). Jin²mi slovy: lze za°φdit, aby pomyslnß roura, reprezentujφcφ terminßlovou relaci, p°es poΦφtaΦ A pouze prochßzela, a vedla a₧ do poΦφtaΦe B. Tedy aby se u₧ivatel ze svΘho terminßlu (kter² je fyzicky p°ipojen k poΦφtaΦi A) mohl p°ihlßsit operaΦnφmu systΘmu poΦφtaΦe B (provΘst tzv. login na poΦφtaΦi B), a tφm si nechal z°φdit terminßlovou relaci s poΦφtaΦem B.

Zastavme se na chvilku u d∙sledk∙, kterΘ toto °eÜenφ p°inßÜφ: relace, kterou si u₧ivatel poΦφtaΦe A nechß z°φdit s poΦφtaΦem B je tzv. vzdßlenou terminßlovou relacφ (ve smyslu: terminßlovou relacφ se vzdßlen²m poΦφtaΦem). Toho, kdo si ji z°φdφ, vlastn∞ stavφ do stejnΘho postavenφ, jako skuteΦnΘho u₧ivatele onoho vzdßlenΘho poΦφtaΦe (mφn∞no: u₧ivatele, kter² sedφ u mφstnφho terminßlu tohoto poΦφtaΦe). Prost°ednictvφm vzdßlenΘ terminßlovΘ relace se tak u₧ivatel jednoho poΦφtaΦe m∙₧e "na dßlku" p°ihlßsit do operaΦnφho systΘmu vzdßlenΘho poΦφtaΦe (provΘst tzv. vzdßlenΘ p°ihlßÜenφ, remote login), a dßle ji₧ pokraΦovat naprosto stejn∞, jako kdyby skuteΦn∞ sed∞l u mφstnφho terminßlu tohoto poΦφtaΦe.

Pravdou je, ₧e ono "naprosto stejn∞" m∙₧e b²t n∞kdy pon∞kud nadsazenΘ - ne ani tak z pohledu postavenφ u₧ivatele a jeho princißlnφch mo₧nostφ, jako kv∙li rychlosti odezvy. Ta je toti₧ u vzdßlen²ch terminßlov²ch relacφ v₧dy zßvislß takΘ na "pr∙chodnosti" propojenφ p°φsluÜn²ch poΦφtaΦ∙, a tato je v₧dy n∞jak²m zp∙sobem omezena. ZvlßÜt∞ v dob∞, kdy dostupnΘ komunikaΦnφ linky nabφzely jen relativn∞ malou p°enosovou kapacitu, museli se u₧ivatelΘ obΦas vyzbrojit dostateΦnou mφrou trp∞livosti. Ale m∞li proΦ: dφky mo₧nosti vzdßlenΘho p°ihlaÜovßnφ mohli pracovat "na dßlku" na poΦφtaΦφch, kterΘ od nich byly Φasto velmi vzdßleny, ani₧ by za nimi museli Φasto dlouho a s nemal²mi nßklady cestovat.

VzdßlenΘ terminßlovΘ relace, a jimi zprost°edkovanß mo₧nost vzdßlenΘho p°ihlaÜovßnφ, se tak staly mechanismem pro ÜirokΘ zp°φstupn∞nφ v²poΦetnφ kapacity, resp. pro jejφ sdφlenφ ÜirÜφm okruhem u₧ivatel∙. SouΦasn∞ s tφm se ale staly i prost°edkem pro poskytovßnφ dalÜφch slu₧eb - v₧dy¥ prost°ednictvφm vzdßlen²ch terminßlov²ch relacφ mohou u₧ivatelΘ jin²ch poΦφtaΦ∙ vyu₧φvat v∞tÜinu toho, co je na danΘm poΦφtaΦi k dispozici: od nejr∙zn∞jÜφch aplikacφ a₧ po datovΘ soubory a databßze.

T°i hlavnφ ·koly budovßnφ poΦφtaΦov²ch sφtφ

Budovßnφ poΦφtaΦov²ch sφtφ, zahßjenΘ vzßjemn²m propojovßnφm hostitelsk²ch poΦφtaΦ∙, velmi brzy prokßzalo svΘ opodstatn∞nφ, a naznaΦilo d°φve netuÜenΘ potencißlnφ mo₧nosti. Proto se tΘto oblasti zaΦala v∞novat adekvßtnφ pozornost (vΦetn∞ finanΦnφch prost°edk∙), a ze spφÜe experimentßlnφho p°φstupu k v∞ci se zaΦalo uva₧ovat i o komerΦnφm vyu₧itφ.

Mezitφm ji₧ takΘ dostateΦn∞ vykrystalizovala p°edstava o tom, co vlastn∞ je t°eba d∞lat, vymyslet a/nebo zm∞nit, aby budovßnφ poΦφtaΦov²ch sφtφ p°inßÜelo co mo₧nß nejv∞tÜφ efekt. Zkusme si tyto p°edstavy struΦn∞ nastφnit - pom∙₧e nßm to lΘpe pochopit dalÜφ v²voj v tak bou°liv∞ se m∞nφcφ oblasti, jakou poΦφtaΦovΘ sφt∞ bezesporu jsou.

Jako prvnφ a vcelku nejp°irozen∞jÜφ ·kol vyvstala pot°eba budovßnφ technick²ch prost°edk∙ pro p°enos dat mezi vzßjemn∞ propojen²mi poΦφtaΦi.

Zde je t°eba si uv∞domit, ₧e se tak d∞lo v dob∞, kdy p°enosovΘ technologie byly na mnohem ni₧Üφ ·rovni ne₧ dnes. Navφc byly tyto p°enosovΘ technologie zam∞°eny p°edevÜφm na pot°eby p°enosu lidskΘho hlasu (obecn∞ na p°enos analogov²ch signßl∙), a nikoli na p°enosy dat, kterΘ majφ digitßlnφ povahu. To, co bylo zapot°ebφ ud∞lat, bylo vyvinout dokonalejÜφ p°enosovΘ technologie, s vyÜÜφmi p°enosov²mi rychlostmi a s p°ijateln²mi nßklady, s menÜφ poruchovostφ a Φetnostφ chyb, s v∞tÜφ provoznφ spolehlivostφ, a uzp∙sobit je pot°ebßm p°enos∙ dat. V dob∞, kdy se s propojovßnφm poΦφtaΦ∙ teprve zaΦφnalo, se pro datovΘ p°enosy nejΦast∞ji pou₧φvaly pevnΘ telefonnφ okruhy ni₧Üφch p°enosov²ch rychlostφ (vesm∞s v °ßdu jednotek, maximßln∞ desφtek kilobit∙ za sekundu), osazenΘ nezbytn²mi modemy. Teprve pozd∞ji se zaΦaly pou₧φvat i jinΘ, rychlejÜφ p°enosovΘ technologie, schopnΘ "dosßhnout" na v∞tÜφ vzdßlenosti - mikrovlnnΘ a dru₧icovΘ spoje apod. Postupn∞ se ovÜem zvyÜovala i p°enosovß rychlost, dosa₧itelnß na pevn²ch telefonnφch okruzφch, stßle vÜak jeÜt∞ svou podstatou analogov²ch. JeÜt∞ pozd∞ji se pak zaΦaly objevovat i prvnφ skuteΦn∞ digitßlnφ p°enosovΘ cesty.

P°enosovΘ cesty a prost°edky, vyu₧φvanΘ p°i propojovßnφ poΦφtaΦ∙, obvykle spadaly po technickΘ i legislativnφ strßnce do kompetence p°φsluÜn²ch spojov²ch organizacφ, od kter²ch si je provozovatelΘ prvnφch poΦφtaΦov²ch sφtφ museli pronajφmat. "LidΘ od spoj∙" ovÜem v₧dy m∞li (a stßle majφ) svΘ vlastnφ p°edstavy o tom, jakΘ druhy datov²ch p°enos∙ jsou nejvhodn∞jÜφ - tyto jejich p°edstavy vychßzφ p°edevÜφm z tradice spoj∙ jako takov²ch, a jsou v n∞kter²ch v²znamn²ch aspektech odliÜnΘ od p°edstav, ke kter²m brzy dosp∞li "lidΘ od poΦφtaΦov²ch sφtφ". N∞kterΘ z t∞chto "filosofick²ch" rozdφl∙ jsme si popisovali ji₧ v tΘmatu t²dne v CW 6/94, proto si jen struΦn∞ naznaΦme alespo≥ tu nejd∙le₧it∞jÜφ odliÜnost v p°φstupech obou tßbor∙: "lidΘ od spoj∙" vychßzφ z p°edpokladu, ₧e komunikace mezi dv∞ma ·Φastnφky mß i v poΦφtaΦov²ch sφtφch trvalejÜφ charakter (co₧ v telekomunikacφch skuteΦn∞ platφ), a proto se sna₧φ p°id∞lovat jim p°enosovou kapacitu trvale, formou tzv. p°epojovßnφ okruh∙ (circuit switching). Naopak "lidΘ od poΦφtaΦ∙" si brzy povÜimli, ₧e komunikace dvou ·Φastnφk∙ mß v∞tÜinou spφÜe nßrazov² charakter, a ₧e tudφ₧ nenφ p°iliÜ rozumnΘ p°id∞lovat jim urΦitou p°enosovou kapacitu jen k jejich v²hradnφmu pou₧itφ. Mφsto toho pova₧ujφ za v²hodn∞jÜφ ponechat veÜkerou p°enosovou kapacitu pro spoleΦnΘ vyu₧itφ, resp. umo₧nit jejφ sdφlenφ vφce ·Φastnφky, kte°φ spolu komunikujφ. K tomu ovÜem bylo nutnΘ nejprve vyvinout vhodnou p°enosovou techniku - tzv. p°epojovßnφ paket∙ (packet switching).

Nebylo to ovÜem jen p°epojovßnφ paket∙ - odliÜnosti v po°ebßch telekomunikacφ a poΦφtaΦov²ch sφtφ si vynutily takΘ v²voj dalÜφch p°esnosov²ch technik, neboli konkrΘtnφch zp∙sob∙ vyu₧itφ p°enosov²ch cest, kterΘ byly k dispozici.

Jako druh² zßsadnφ ·kol se ukßzala pot°eba sjednotit zp∙sob, jak²m jednotlivΘ poΦφtaΦe vyu₧φvaly svΘ vzßjemnΘ propojenφ - neboli zp∙sob, jak²m se poΦφtaΦe p°ipojovaly k nov∞ vznikajφcφm poΦφtaΦov²m sφtφm, a jak²m v nich pracovaly.

Propojit dva poΦφtaΦe m∙₧e v podstat∞ ka₧d². Stejn∞ tak si ka₧d² m∙₧e vymyslet sv∙j vlastnφ zp∙sob toho, jak spolu budou takovΘto dva poΦφtaΦe komunikovat. VÜechny dalÜφ poΦφtaΦe, kterΘ pak majφ b²t k takovΘto zßrodeΦnΘ sφti p°ipojeny, pak ale nutn∞ musφ respektovat stejnß "pravidla hry".

V obecnΘm p°φpad∞ si vlastn∞ kdokoli m∙₧e vytvo°it svou vlastnφ sφ¥ovou architekturu jakou ucelenou soustavu nßzor∙ na to, jak by m∞ly b²t poΦφtaΦovΘ sφt∞ budovßny a jak by m∞ly fungovat, dopln∞nou o konkrΘtnφ postupy a metody realizace t∞chto p°edstav (komunikaΦnφ protokoly). ProblΘm je ovÜem v tom, ₧e kdy₧ si to ka₧d² skuteΦn∞ ud∞lß zcela "podle svΘho", v²sledkem budou vzßjemn∞ nesluΦitelnΘ sφt∞.

Tendence d∞lat si vÜe po svΘm se zcela zßkonit∞ objevily ji₧ na poΦßtku budovßnφ "skuteΦn²ch" poΦφtaΦov²ch sφtφ, p°ekraΦujφcφch experimentßlnφ rßmec a sm∞°ujφcφch naopak ke komerΦnφmu nasazenφ, a to nikoli p°ekvapiv∞ ze strany nejv∞tÜφch v²robc∙ v²poΦetnφ techniky. P°φkladem mohou b²t ryze proprietßrnφ (tj. vlastnφ, nestandadnφ) sφ¥ovΘ architektury SNA (Systems Network Architecture) firmy IBM, Φi sφ¥ovß architektura DNA (Digital Network Architecture firmy Digital Equpiment Corporation).

NaÜt∞stφ se ale i zde vΦas prosadil tlak u₧ivatel∙ (i "rozum" mnoha v²robc∙), kter² vy·stil v hledßnφ a formovßnφ vÜeobecn∞ uznßvan²ch a dodr₧ovan²ch standard∙ i na poli poΦφtaΦov²ch sφtφ. Hlavnφmi hrßΦi zde byli p°edevÜφm r∙znΘ standardizaΦnφ a v∞deckov²zkumnΘ instituce, a nikoli konkrΘtnφ v²robci. V USA takto vznikla rodina protokol∙ TCP/IP (Transmission Control Protocol / Internet Protocol), na jejφm₧ zßklad∞ byla vybudovßna dnes ji₧ celosv∞tovß sφ¥ Internet (kterΘ bude jeÜt∞ letos v∞novßno samostatnΘ TΘma t²dne). Mezinßrodnφ organizace ISO (International Standards Organization, sprßvn∞: International Organization for Standardization) zase dala vzniknout tzv. referenΦnφmu modelu ISO/OSI (Open Systems Interconnection Reference Model).

Se svou p°edstavou sφ¥ovΘ architektury ovÜem p°iÜli i "lidΘ od spoj∙". Ti si toti₧ vcelku zßkonit∞ uv∞domili, ₧e kdy₧ si u₧ivatelΘ budujφ svΘ poΦφtaΦovΘ sφt∞ sami, a od nich si pouze pronajφmajφ "holΘ" p°enosovΘ cesty, p°ichßzφ tak o v²znamn² zdroj zisk∙. Proto jejich standardizaΦnφ organizace (CCITT, Comite Consultatif International de Telegraphique et Telephonique, neboli Mezinßrodnφ poradnφ sbor pro telefonii a telegrafii) vytvo°ila vlastnφ sφ¥ovou architekturu X.25, by¥ zam∞°enou jen na Φist∞ p°enosovΘ funkce. Podle tohoto standardu jsou pak budovßny tzv. ve°ejnΘ datovΘ sφt∞, jejich₧ slu₧by spojovΘ organizace poskytujφ na b∞₧nΘm komerΦnφm zßklad∞. TakΘ tΘto problematice bude v∞novßno jedno z p°φÜtφch TΘmat t²dne.

Jako t°etφ zßsadnφ ·kol se ukßzala pot°eba odlehΦit jednotliv²m hostitelsk²m poΦφtaΦ∙m sφt∞, a rozlo₧it jejich individußlnφ zßt∞₧e pokud mo₧no rovnom∞rn∞ po celΘ sφti.

Tento t°etφ po₧adavek je vlastn∞ volßnφm po distribuovan²ch systΘmech, jejich₧ jednotlivΘ komponenty dokß₧φ vzßjemn∞ spolupracovat natolik, ₧e jejich skuteΦnß individualita splyne, a navenek se budou jevit jako jedin² celek, vybaven² souΦtem sv²ch individußlnφch zdroj∙.

Tendence ke tvorb∞ distribuovan²ch systΘm∙ je vcelku p°irozenou tendencφ, kterß se objevuje v okam₧iku, kdy je pot°eba °eÜit n∞jak² opravdu rozsßhl² ·kol, na kter² ji₧ nestaΦφ jedin² centrßlnφ v²poΦetnφ prvek. Znamenß ovÜem zßsadnφ ·stup od dosavadnφho, p°φsn∞ centralizovanΘho v²poΦetnφho modelu host/terminßl.

OvÜem v dob∞, kdy se tato tendence ke tvorb∞ distribuovan²ch systΘm∙ zaΦala pln∞ projevovat, doÜlo v samotnΘm "sv∞t∞ poΦφtaΦ∙" doslova k revoluci - k nßstupu osobnφch poΦφtaΦ∙ a "malΘ" v²poΦetnφ techniky obecn∞. No a tato revoluce zp∙sobila velmi v²znamnΘ zm∞ny i ve "sv∞t∞ poΦφtaΦov²ch sφtφ": vytvo°ila novΘ motivace, kterΘ lidi vedou k propojovßnφ poΦφtaΦ∙ do poΦφtaΦov²ch sφtφ, a dala vniknout zcela nov²m kategoriφm sφtφ. Zp∙sobila mj. i to, ₧e se poΦφtaΦovΘ sφt∞ zaΦaly rozd∞lovat na lokßlnφ a rozlehlΘ.

Velkß poΦφtaΦovß revoluce

St°ediskovΘ poΦφtaΦe jsme v naÜem povφdßnφ opustili v dob∞, kdy byly na vrcholu svΘ slßvy - kdy vybavenΘ rozsßhl²mi terminßlov²mi sφt∞mi a provozovanΘ v re₧imu sdφlenφ Φasu dokßzaly slou₧it i stovkßm u₧ivatel∙ souΦasn∞.

V²voj v²poΦetnφ techniky jako takovΘ tφm ale zdaleka neskonΦil. Pokroky na poli softwarov²ch technologiφ umo₧nily realizovat dokonalejÜφ vφceu₧ivatelskΘ operaΦnφ systΘmy, vym²Ület novΘ programovacφ jazyky a psßt pro n∞ efektivnφ p°ekladaΦe, a zejmΘna zavßd∞t novΘ a novΘ druhy aplikacφ, kterΘ lidem dokßzaly v²znamn∞ pomßhat p°i jejich prßci. Snad nejzßsadn∞jÜφ vliv na v²voj v²poΦetnφ techniky jako takovΘ ale m∞ly zm∞ny, ke kter²m dochßzelo ve v²robnφch technologiφch.

Jestli₧e pouhΘ procesory prvnφch poΦφtaΦ∙, budovanΘ jeÜt∞ s vyu₧itφm elektronek, zabφraly celΘ mφstnosti, s nßstupem tranzistor∙ bylo mo₧nΘ vt∞snat cel² procesor do n∞kolika v∞tÜφch sk°φnφ. Kdy₧ se pak objevily prvnφ integrovanΘ obvody, poΦet t∞chto sk°φnφ se zaΦal zmenÜovat, a₧ se p°i urΦitΘm stupni integrace poda°ilo umφstit cel² procesor do jedinΘ sk°φn∞. Stupe≥ integrace, neboli poΦet toho, co se v²robc∙m poda°φ "vt∞snat" na jednotku plochy k°emφkovΘho Φipu, vÜak nadßle rostl zßvratn²m tempem, a tak se brzy poda°ilo umφstit cel² procesor na jedinou desku s integrovan²mi obvody. No a netrvalo dlouho, a cel² procesor se veÜel do jedinΘho integrovanΘho obvodu - na sv∞t∞ byl prvnφ mikroprocesor. Stalo se tak v roce 1971, vyrobila jej firma Intel Corporation, byl 4-bitov², m∞l 2250 tranzistor∙ na Φipu o ploÜe 1/6 x 1/8 palce, a jmenoval se "4004". Jeho v²poΦetnφ schopnosti se tΘm∞° vyrovnaly schopnostem legendßrnφho poΦφtaΦe ENIAC z roku 1946, kter² ovÜem vß₧il 30 tun, zabφral plochu 1000 ΦtvereΦnφch stop, m∞l 17648 elektronek, a jen pro jejich ₧havenφ pot°eboval menÜφ elektrßrnu. Inu, byl to opravdov² pokrok.

Prvnφ mikroprocesor sice jeÜt∞ nezp∙sobil ₧ßdn² p°evrat, ale byl prvnφm krokem na cest∞ k mnohem v²konn∞jÜφm a slo₧it∞jÜφm mikroprocesor∙m, kter²m se ji₧ dostalo v²znamnΘho praktickΘho vyu₧itφ - tak v²znamnΘho, ₧e ji₧ ud∞laly onu p°φsloveΦnou "dφru do sv∞ta".

Samotn² mikroprocesor je ovÜem jen pouhou konstrukΦnφ souΦßstkou, kterß sama o sob∞ nenφ v∙bec schopnß funkce. Doslova explozivnφ v²voj na poli polovodiΦov²ch (i jin²ch) technologiφ vÜak umo₧nil vyrßb∞t v dostateΦn∞ malΘm provedenφ a za ·nosn∞ nφzkou cenu i veÜkerΘ ostatnφ komponenty, kterΘ jsou pot°eba k vytvo°enφ plnohodnotnΘho poΦφtaΦe: pam∞ti i nejr∙zn∞jÜφ systΘmovΘ obvody (°adiΦe p°eruÜenφ, budiΦe sb∞rnic, stykovΘ obvody, °adiΦe perifernφch za°φzenφ apod.).

Dφky tomu pak bylo mo₧nΘ vyrobit takov² poΦφtaΦ, kter² byl sv²mi rozm∞ry dostateΦn∞ mal² na to, aby si jej mohl koncov² u₧ivatel postavit p°φmo na sv∙j st∙l. Krom∞ toho vÜak i jeho po°izovacφ cena mohla b²t tak malß, ₧e ji₧ p°ipadalo v ·vahu, aby jej m∞l p°φsluÜn² u₧ivatel jen a jen pro sebe - tedy aby se o n∞j nemusel s k²mkoli d∞lit, mohl jej vyu₧φvat tehdy, kdy se to prßv∞ jemu hodφ, a v ostatnφ dob∞ jej mohl nechat zahßlet.

No a prßv∞ tento moment zp∙sobil doslovnou revoluci, avizovanou ji₧ v nadpisu tohoto odstavce - skuteΦn² p°evrat nejen na poli technologick²ch mo₧nostφ a funkΦnφch schopnostφ poΦφtaΦ∙, ale p°edevÜφm v p°φstupu Φlov∞ka k v²poΦetnφ technice. Sv∞tlo sv∞ta spat°ily poΦφtaΦe, kterΘ si skuteΦn∞ zaslou₧ily p°φvlastek "osobnφ"

Od minipoΦφtaΦ∙ k osobnφm poΦφtaΦ∙m

P°echod od st°ediskov²ch poΦφtaΦ∙ k osobnφm poΦφtaΦ∙m samoz°ejm∞ nebyl skokov²: velkΘ st°ediskovΘ poΦφtaΦe, slou₧φcφ cel²m velk²m pracovnφm kolektiv∙m, dostaly Φasem konkurenci v koncepΦn∞ tΘm∞° shodn²ch, ale rozm∞rov∞ menÜφch a hlavn∞ lacin∞jÜφch minipoΦφtaΦφch. Ty se ji₧ vyplatilo p°id∞lit menÜφm kolektiv∙m lidφ - jestli₧e nap°φklad p∙vodn∞ slou₧il jeden velk² st°ediskov² poΦφtaΦ vÜem zam∞stnanc∙m urΦitΘ velkΘ firmy, nynφ ji₧ bylo myslitelnΘ, aby si ka₧dΘ v∞tÜφ odd∞lenφ po°φdilo vlastnφ minipoΦφtaΦ. Tento trend ke zmenÜovßnφ poΦtu u₧ivatel∙, kte°φ se musφ d∞lit o jeden spoleΦn² poΦφtaΦ, pak dφky pokrok∙m ve v²robnφch technologiφch pokraΦoval rychle kup°edu, a₧ dosßhl svΘho absolutnφho cφle: mo₧nosti p°id∞lit samostatn² poΦφtaΦ ka₧dΘmu jednotlivΘmu u₧ivateli.

Ani nßstup skuteΦn∞ "osobnφch" poΦφtaΦ∙ vÜak nebyl okam₧it². Prvnφ poΦφtaΦe, urΦenΘ jen pro jednoho u₧ivatele, zase nebyly a₧ tak lacinΘ, aby je bylo mo₧nΘ p°id∞lit skuteΦn∞ vÜem jednotliv²m u₧ivatel∙m, kte°φ o to projevili zßjem. Opravdu masovΘ nasazenφ osobnφch poΦφtaΦ∙ se stalo mo₧nΘ a₧ tehdy, kdy₧ jejich cena dostateΦn∞ poklesla - co₧ zase urΦitou dobu trvalo, ne₧ se prosadil jeden vÜeobecn∞ uznßvan² standard (osobnφ poΦφtaΦ IBM PC), jeho v²roba dosßhla pot°ebn²ch objem∙, a zapracovalo takΘ pot°ebnΘ konkurenΦnφ prost°edφ.

Teprve pak se stalo skuteΦn∞ mo₧n²m, aby ka₧d² u₧ivatel m∞l sv∙j vlastnφ poΦφtaΦ jen a jen pro sebe. Neznamenalo to ovÜem, ₧e st°ediskovΘ poΦφtaΦe a minipoΦφtaΦe tφm rßzem zmizely ze scΘny - oba sv∞ty vedle sebe dlouhou dobu koexistovaly, a Φasto spolu t∞sn∞ spolupracovaly. Teprve v poslednφ dob∞ lze pozorovat systematickΘ "vymφrßnφ" st°ediskov²ch poΦφtaΦ∙ a minipoΦφtaΦ∙.

Aplikace se st∞hujφ ...

Mo₧nost, aby ka₧d² u₧ivatel m∞l sv∙j vlastnφ poΦφtaΦ jen a jen pro sebe, znamenala radikßlnφ odklon od p∙vodnφho, ryze centralistickΘho modelu host/terminßl, podle kterΘho byly provozovßny vÜechny st°ediskovΘ poΦφtaΦe a minipoΦφtaΦe. Nynφ ji₧ nebylo t°eba dbßt na to, aby se existujφcφ v²poΦetnφ kapacita rovnom∞rn∞ rozd∞lila mezi vÜechny aktußlnφ u₧ivatele - nynφ ji₧ bylo mo₧nΘ p°id∞lit prßv∞ provßd∞nΘ ·loze cel² poΦφtaΦ se vÜemi jeho zdroji.

Aplikace, dosud provozovanΘ v²hradn∞ na centrßlnφch hostitelsk²ch poΦφtaΦφch a komunikujφcφ se sv²mi u₧ivateli prost°ednictvφm terminßlov²ch relacφ, se tak mohly p°est∞hovat p°φmo za sv²mi u₧ivateli, do jejich osobnφch poΦφtaΦ∙, a celΘ je obsadit.

Z p°edstavy, ₧e u₧ivatelskΘ aplikace mohou skuteΦn∞ "obsadit" cel² osobnφ poΦφtaΦ, vyÜel i operaΦnφ systΘm MS DOS, kter² se prosadil spolu s poΦφtaΦi IBM PC. Tento jednoduch² operaΦnφ systΘm je jednou₧ivatelsk², a tudφ₧ ani nepot°ebuje znßt pojem u₧ivatele, nepot°ebuje uva₧ovat, ₧e by nap°φklad r∙znΘ soubory mohly mφt svΘ vlastnφky, ₧e by bylo t°eba zavßd∞t n∞jakß p°φstupovß prßva a z nich vypl²vajφcφ omezenφ. Navφc je tento operaΦnφ systΘm jedno·lohov², a p°edpoklßdß tedy, ₧e u₧ivatel nebude nikdy provozovat vφce jak jednu ·lohu souΦasn∞. Dφky tomu vystaΦφ s jedin²m "zabudovan²m" terminßlem, resp. s jedinou klßvesnicφ a s jedin²m monitorem, kterΘ ani za terminßl nepova₧uje - proto₧e nep°ipouÜtφ existenci jin²ch terminßl∙, resp. jin²ch dvojic klßvesnice+terminßl. Vzhledem k tomu operaΦnφ systΘm MS DOS ani neznß pojem terminßlovΘ relace.

Pravdou je, ₧e dφky tomuto p°φstupu se velmi mnoho v∞cφ znaΦn∞ zjednoduÜilo - nap°φklad nebylo nutnΘ zavßd∞t ₧ßdnΘ sdφlenφ Φasu Φi jin² mechanismus, umo₧≥ujφcφ souΦasn² b∞h vφce ·loh, ₧ßdnΘ ochrannΘ mechanismy apod. Vzhledem k tomu pak mohl samotn² MS DOS vyjφt dostateΦn∞ jednoduch² a lacin².

Pom∞rn∞ brzy se ale zjistilo, ₧e p°edpoklad o provozovßnφ jen jedinΘ ·lohy je chybn², a pro v∞tÜinu u₧ivatel∙ znaΦn∞ omezujφcφ. Proto se teprve dodateΦn∞ do MS DOSu dostaly pot°ebnΘ mechanismy, umo₧≥ujφcφ souΦasn² b∞h vφce ·loh, neboli tzv. multitasking - vesm∞s ale formou nadstaveb nad samotn²m MS DOSem (nejv²znamn∞jÜφm p°φkladem jsou v tomto sm∞ru MS Windows).

Od extrΘmu k extrΘmu ...

P°echod od p°φsn∞ centralizovan²ch hostitelsk²ch poΦφtaΦ∙ k samostatn²m (izolovan²m) osobnφm poΦφtaΦ∙m byl p°echodem od jednoho extrΘmu ke druhΘmu. Byl motivovßn snahou pomoci koncovΘmu u₧ivateli - dßt mu rozumnou v²poΦetnφ kapacitu jen a jen k jeho v²hradnφmu vyu₧itφ - ale zcela zßkonit∞ sebou p°inesl i n∞kterΘ zßpornΘ momenty. Tφm nejv²znamn∞jÜφm z°ejm∞ byla skuteΦnost, ₧e nynφ se ka₧d² u₧ivatel musel o sv∙j poΦφtaΦ starat sßm: sßm si instalovat novΘ programy, sßm si k poΦφtaΦi p°ipojovat perifernφ za°φzenφ a instalovat k nim p°φsluÜnΘ ovladaΦe, sßm si udr₧ovat po°ßdek ve svΘm "souborovΘm hospodß°stvφ", zßlohovat si svΘ soubory apod. Nebo musel mφt k ruce n∞koho, kdo by to d∞lal za n∞j. P∙vodnφ pot°eba udr₧ovßnφ (tzv. sprßvy) jednoho centrßlnφho poΦφtaΦe, kterou mohli mφt na starosti k tomu urΦenφ specialistΘ, se tak zm∞nila na nutnost sprßvy mnoha mal²ch samostatn²ch poΦφtaΦ∙ - co₧ ale nenφ ve v∞tÜφm m∞°φtku p°φliÜ sch∙dnΘ (jak jsme si ji₧ naznaΦovali v tΘmatu t²dne v CW 8/94).

TakΘ nejr∙zn∞jÜφ systΘmovΘ zdroje (aplikace, datovΘ soubory, tiskßrny apod.) musely b²t mnohonßsobn∞ zduplikovßny, tak aby je m∞li k dispozici vÜichni u₧ivatelΘ, kte°φ o n∞ projevili zßjem. Ne v₧dy to ovÜem bylo cenov∞ i jinak ·nosnΘ, proto₧e nap°φklad cena skuteΦn∞ kvalitnφch laserov²ch tiskßren jeÜt∞ zdaleka neklesla natolik, aby je ka₧d² u₧ivatel mohl mφt jen a jen pro sebe.

Proto se zcela zßkonit∞ musely objevit op∞tnΘ tendence k centralizaci. Nikoli ovÜem k centralizaci v²poΦetnφ kapacity, kterß se mezitφm stala opravdu velmi lacinou, jako spφÜe snahy o centralizaci v oblasti sprßvy - aby staΦilo "udr₧ovat po°ßdek" na jednom mφst∞, ne₧ na mnoha mφstech souΦasn∞. DalÜφm d∙vodem byla mo₧nost sdφlenφ centrßln∞ umφst∞n²ch zdroj∙, kterΘ stßle jeÜt∞ nebylo mo₧nΘ p°id∞lit jednotliv²m koncov²m u₧ivatel∙m k v²hradnφmu vyu₧φvßnφ.

Vedle spφÜe ekonomick²ch a organizaΦnφch aspekt∙ se vÜak objevily i mnohΘ dalÜφ, ryze praktickΘ d∙vody pro zp∞tnou centralizaci. Tyto d∙vody p°itom souvisφ s tφm, k Φemu se vlastn∞ v²poΦetnφ technika pou₧φvß. Jestli₧e prvnφ poΦφtaΦe slou₧ily p°evß₧n∞ v∞deckotechnick²m v²poΦt∙m, kterΘ si zpracovßvali jednotlivφ u₧ivatelΘ sami za sebe, s postupem Φasu se na poΦφtaΦφch zaΦaly ve stßle v∞tÜφ mφ°e provozovat i takovΘ aplikace, kterΘ vy₧adujφ spoluprßci Φi souΦinnost vφce u₧ivatel∙. TakovΘto aplikace pak nenφ dost dob°e mo₧nΘ provozovat na vzßjemn∞ izolovan²ch poΦφtaΦφch, bez mo₧nosti vzßjemnΘho sdφlenφ pot°ebn²ch dat. Ani nesp°a₧en² (off-line) p°enos dat, realizovan² nap°φklad po disketßch, zde nenφ p°φliÜ vhodn², proto₧e je znaΦn∞ pomal², a navφc zßvisl² na lidskΘm Φiniteli (kter² nenφ zdaleka neomyln²). V mnoh²ch p°φpadech se proto ukßzalo jako nezbytnΘ, aby urΦitΘ aplikace sdφlely jedin², centrßln∞ umφst∞n² a centrßln∞ udr₧ovan² (nap°φklad centrßln∞ zßlohovan²) exemplß° sv²ch dat.

Osobnφ poΦφtaΦe v roli terminßl∙

Jednou z forem koexistence zpoΦßtku striktn∞ individualistickΘho "sv∞ta osobnφch poΦφtaΦ∙" a p°φsn∞ centralizovanΘho "sv∞ta st°ediskov²ch poΦφtaΦ∙", kterß souΦasn∞ vychßzela vst°φc pot°ebßm op∞tnΘ centralizace, bylo vzßjemnΘ propojovßnφ osobnφch a st°ediskov²ch poΦφtaΦ∙.

Bezprost°ednφm d∙vodem pro takovΘto propojovßnφ byla skuteΦnost, ₧e ani s masov²m nasazenφm osobnφch poΦφtaΦ∙ nedoÜlo k p°evodu vÜech b∞₧n∞ provozovan²ch aplikacφ z centrßlnφch st°ediskov²ch poΦφtaΦ∙ na poΦφtaΦe osobnφ. Prßv∞ naopak - skuteΦnost byla spφÜe takovß, ₧e novΘ aplikace se ji₧ zavßd∞ly na osobnφ poΦφtaΦe, ale ty starΘ se stßle provozovaly "po staru", na centrßlnφch st°ediskov²ch poΦφtaΦφch, a p°edpoklßdaly pou₧itφ modelu host/terminßl. P°evod ji₧ existujφcφch aplikacφ do novΘho prost°edφ toti₧ obvykle vy₧adoval jejich ·plnΘ p°epracovßnφ, co₧ nebylo zadarmo a zcela bez problΘm∙.

Co ale m∞l d∞lat u₧ivatel, kter² pot°eboval pracovat jak s aplikacemi na svΘm osobnφm poΦφtaΦi, tak i s aplikacemi, provozovan²mi stßle jeÜt∞ na centrßlnφm poΦφtaΦi? Jist∞, mohl si vedle osobnφho poΦφtaΦe postavit na sv∙j st∙l jeÜt∞ i terminßl.

NaÜt∞stφ ale takovΘto °eÜenφ nebylo jedinou mo₧nostφ. Pokud byl toti₧ osobnφ poΦφtaΦ se st°ediskov²m vhodn∞ propojen, bylo mo₧nΘ dosßhnout toho, aby vystupoval v roli jeho terminßlu. Tedy aby napodoboval chovßnφ skuteΦnΘho jedno·ΦelovΘho terminßlu (tzv. jej emuloval), a svΘmu u₧ivateli tak dßval stejnΘ mo₧nosti, jako terminßl skuteΦn². Toto °eÜenφ s tzv. emulacφ terminßlu na osobnφm poΦφtaΦi m∞lo tu obrovskou v²hodu, ₧e bylo °eÜenφm "na ₧ßdost": u₧ivatel∙v osobnφ poΦφtaΦ mohl v roli emulovanΘho terminßlu vystupovat tehdy, kdy to bylo skuteΦn∞ zapot°ebφ, a v ostatnφ dob∞ byl plnohodnotn²m osobnφm poΦφtaΦem. Bylo to mo₧nΘ proto, ₧e jeho vystupovßnφ v roli emulovanΘho terminßlu bylo zajiÜ¥ovßno aplikaΦnφm programem, kter² si u₧ivatel spouÜt∞l a₧ na zßklad∞ skuteΦnΘ pot°eby.

Obr. 9. EmulovanΘ terminßly vs. "skuteΦnΘ" terminßly

Osobnφ poΦφtaΦe byly ke st°ediskov²m poΦφtaΦ∙m zpoΦßtku p°ipojovßny obdobn²m zp∙sobem, jako terminßly skuteΦnΘ - tedy prost°ednictvφm dvoubodov²ch spoj∙ (p°es p°φpadnΘ terminßlovΘ a komunikaΦnφ °adiΦe). Teprve pozd∞ji, s nßstupem lokßlnφch sφtφ, doÜlo k urΦitΘ zm∞n∞ ve zp∙sobu p°ipojovßnφ osobnφch poΦφtaΦ∙ ke st°ediskov²m. Na zp∙sobu jejich vyu₧itφ (v roli emulovan²ch terminßl∙) to ale nic nezm∞nilo.

Pot°eba transparentnφho sdφlenφ

Mo₧nost emulace terminßl∙ na osobnφch poΦφtaΦφch, a v d∙sledku toho mo₧nost z°izovat z osobnφch poΦφtaΦ∙ terminßlovΘ relace s hostitelsk²mi poΦφtaΦi, vychßzela vst°φc pot°eb∞ st°φdavΘho provozovßnφ aplikacφ jak na centrßlnφch hostitelsk²ch poΦφtaΦφch, tak i na poΦφtaΦφch osobnφch. Nic vÜak ned∞lala pro pot°eby "nov²ch" aplikacφ, vytvß°en²ch ji₧ pro osobnφ poΦφtaΦe, kterΘ ke svΘmu fungovßnφ vy₧adovaly sdφlenφ urΦit²ch systΘmov²ch zdroj∙ - soubor∙, perifernφch za°φzenφ apod., nebo jim takovΘto centrßlnφ umφst∞nφ r∙zn²ch zdroj∙ alespo≥ znaΦn∞ prospφvalo.

UrΦitß mo₧nost zde sice byla: osobnφ poΦφtaΦe, p°ipojenΘ ke st°ediskov²m, mohly mφt urΦit² druh p°φstupu k systΘmov²m zdroj∙m st°ediskov²ch poΦφtaΦ∙. Nap°φklad bylo mo₧nΘ, pomocφ vhodnΘho p°enosovΘho programu (nap°φklad programu KERMIT) p°enΘst dßvkov²m zp∙sobem urΦit² soubor ze st°ediskovΘho poΦφtaΦe na osobnφ Φi naopak. ProblΘm byl ovÜem v rychlosti, kterß byla determinovßna zp∙sobem p°ipojenφ osobnφho poΦφtaΦe, dimenzovan²m pro pot°eby p°ipojovßnφ terminßl∙, a dßle v samotnΘ podstat∞ takovΘhoto p°enosu, kter² byl pro u₧ivatele viditeln² (neboli: nebyl pro n∞j neviditeln², tΘ₧: transparentnφ). U₧ivatel, resp. jφm provozovanß aplikace, si museli pln∞ uv∞domovat, ₧e p°φsluÜn² objekt (systΘmov² zdroj) se nachßzφ n∞kde jinde, a museli explicitn∞ podniknout urΦitΘ akce k tomu, aby jej zφskali (nap°. aby si jej jako soubor p°enesli k sob∞ apod.).

Pro nov∞ vytvß°enΘ aplikace bylo naopak mnohem v²hodn∞jÜφ, aby zp∙sob sdφlenφ nejr∙zn∞jÜφch centrßln∞ umφst∞n²ch zdroj∙ byl pln∞ transparentnφ. Tedy aby mohli pou₧φvat sdφlenΘ objekty, ale nemuseli si jejich sdφlen² charakter v∙bec uv∞domovat - p°edevÜφm proto, aby je nemuseli rozliÜovat od "vlastnφch", nesdφlen²ch objekt∙, a mohli s nimi pracovat p°esn∞ stejn²m zp∙sobem. Tφm se toti₧ mnoho v∞cφ znaΦn∞ zjednoduÜilo.

Uva₧ujme jako p°φklad sdφlenφ soubor∙, umφst∞n²ch na n∞jakΘm centrßlnφm poΦφtaΦi. Netransparentnφ p°φstup urΦitΘho poΦφtaΦe k t∞mto soubor∙m je zalo₧en na tom, ₧e pro tento poΦφtaΦ (a jeho u₧ivatele) existuje principißlnφ rozdφl mezi jeho "mφstnφmi" soubory a soubory "vzdßlen²mi" (kterΘ jsou sdφleny a nachßzφ se na centrßlnφm mφst∞). Pot°ebuje-li u₧ivatel takovΘhoto poΦφtaΦe (resp. jφm provozovanß aplikace) pracovat s n∞kter²m "vzdßlen²m" souborem, pak tak Φinφ jin²m zp∙sobem, ne₧ v p°φpad∞ mφstnφch soubor∙ - nap°φklad se musφ sßm explicitn∞ postarat o jejich p°enos z mφsta kde se nachßzφ na mφsto, kde budou zpracovßny, a pak zase o jejich navrßcenφ. Naopak pln∞ transparentnφ p°φstup ke sdφlenφ soubor∙ je takov², p°i kterΘm rozdφl mezi mφstnφm a vzdßlen²m souborem zcela mizφ (p°estßvß b²t patrn², resp. stßvß se pln∞ transparentnφ), a s ob∞ma druhy soubor∙ se pracuje naprosto stejn∞ (tj. o veÜkerΘ p°enosy soubor∙ Φi jejich Φßstφ se musφ postarat mechanismy, kterΘ transparentnφ p°φstup ke sdφlen²m soubor∙m zajiÜ¥ujφ, a to bez "v∞domφ" toho, kdo se souborem pracuje).

Obr. 10: P°edstava p°φstupu ke sdφlen²m soubor∙m a/ netransparentnφ b/ transparentnφ

ProblΘm ovÜem byl, jak takovΘto pln∞ transparentnφ sdφlenφ realizovat - nejen pro nejr∙zn∞jÜφ soubory, ale nap°φklad i pro tiskßrny, plottery, snφmaΦe, faxy apod.

Samoz°ejm∞, bylo mo₧nΘ to nauΦit stßvajφcφ st°ediskovΘ poΦφtaΦe. SystΘmovΘ zdroje, kterΘ za tφmto ·Φelem mohly nabφdnout, byly Φasto vcelku dostateΦnΘ. Znamenalo to ovÜem vyvinout zcela nov² druh systΘmov²ch program∙, kterΘ by takovΘto pln∞ transparentnφ sdφlenφ podprovaly. No a v dob∞, kdy vÜichni byli p°φmo fascinovßni mo₧nostmi "malΘ" v²poΦetnφ techniky, se nikomu do takovΘto prßce p°φliÜ necht∞lo.

Volba tedy padla jednoznaΦn∞ na "malΘ" poΦφtaΦe.

Pokroky v p°enosov²ch technologiφch

Praktickß realizace pln∞ transparentnφho sdφlenφ, zvlßÜt∞ pak sdφlenφ soubor∙, vy₧aduje velmi rychlou odezvu - jinak by toti₧ existoval markantnφ rozdφl v dob∞ p°φstupu k mφstnφm a vzdßlen²m soubor∙m, co₧ by znemo₧≥ovalo jejich vzßjemnΘ "splynutφ" (alespo≥ z pohledu u₧ivatele). OvÜem dostateΦn∞ rychlß odezva zase vy₧adovala dostateΦn∞ rychl² p°enosov² kanßl mezi p°φsluÜn²mi poΦφtaΦi.

Doposud pou₧φvanΘ techniky p°enosu - zejmΘna sΘriov² p°enos dle standardu RS-232-C, pou₧φvan² pro p°ipojovßnφ terminßl∙ - byly pro tyto ·Φely zcela nedostaΦujφcφ. NaÜt∞stφ se mezitφm na obzoru objevily novΘ p°enosovΘ technologie, umo₧≥ujφcφ dosßhnout na krßtkΘ vzdßlenosti (°ßdov∞ desφtky a₧ stovky metr∙) ·ctyhodnΘ p°enosovΘ rychlosti v °ßdu megabit∙ za sekundu.

Historicky prvnφ byla p°enosovß technologie ARCNET (Attaches Resources Computing NETwork), se kterou p°iÜla firma Datapoint Corporation ji₧ v roce 1977. Dosahovala p°enosovΘ rychlosti 2,5 megabitu, byla vcelku ·sp∞Ünß, ale z∙stala v₧dy proprietßrnφm °eÜenφm, brßnφcφm se oficißlnφ standardizaci. èanci proto dostal konkurenΦnφ Ethernet, kter² svou dneÜnφ podobu zφskal v letech 1980 a 1982, a kter² se na rozdφl od ARCNETu pln∞ "otev°el" formßlnφ standardizaci (v rßmci sdru₧enφ IEEE, kterß jej vydala jako standard IEEE 802.3). Se svou p°enosovou rychlostφ 10 megabit∙ za sekundu a relativn∞ nφzk²mi nßklady na z°φzenφ p°enosov²ch cest a souvisejφcφ techniku pak Ethernet zvφt∞zil na celΘ Φß°e.

Jeho dominantnφ postavenφ p°φliÜ neohrozil ani dalÜφ hrßΦ, kter² se mezitφm objevil na scΘn∞ - technologie Token Ring, vyvinutß firmou IBM a pracujφcφ s p°enosovou rychlostφ 4 megabity za sekundu (v nov∞jÜφ verzi 16 Mbps).

Model klient/server

Jakmile byly k dispozici dostateΦn∞ rychlΘ p°enosovΘ cesty, cesta k realizaci pln∞ transparentnφho sdφlenφ se zaΦala otevφrat. Nejprve ale bylo t°eba vymyslet celkovou strategii, Φi spφÜe model, kter² by urΦoval vzßjemnΘ vztahy a postavenφ poΦφtaΦ∙, kterΘ se sdφlenφ ·Φastnφ.

Po poΦßteΦnφm hledßnφ nejvhodn∞jÜφho modelu se ukßzalo jako v²hodnΘ implementovat sdφlenφ tak, aby vÜechny z·Φastn∞nΘ strany m∞ly maximßlnφ mo₧nou mφru autonomie a nezßvislosti na sob∞. V praxi to znamenalo °eÜit sdφlenφ formou poskytovanφ slu₧eb. Zde toti₧ vystupujφ dva subjekty - poskytovatel slu₧by (ten, kdo n∞co nabφzφ), a u₧ivatel slu₧by (tj. ten, kdo o n∞co ₧ßdß) - kter²m staΦφ stanovit zp∙sob jejich vzßjemnΘ komunikace (tedy zp∙sob ₧ßdßnφ o konkrΘtnφ slu₧by a formu reakce na tyto ₧ßdosti), ale nenφ ji₧ nutnΘ jim mluvit do toho, jak si implementaci p°φsluÜn²ch slu₧eb zajistφ, resp. proΦ budou o slu₧by ₧ßdat a k Φemu jejich v²sledky vyu₧ijφ. V konkrΘtnφm p°φpad∞ sdφlenφ soubor∙ je poskytovatelem slu₧by ten, u koho se soubor nachßzφ (tj. kdo jej mß ulo₧en na svΘm disku). Äadatelem je pak ten, kdo s takov²mto souborem chce pracovat, a kdo si v rßmci svΘ ₧ßdosti "°ekne" o soubor jako celek Φi jeho Φßst.

ZaΦaly se tedy od sebe odd∞lovat subjekty, kterΘ slu₧by poskytujφ - tzv. servery, a subjekty, kterΘ je vyu₧φvajφ - t∞m se pak °φkß klienti. Charakteristick²m je pro jejich vztah to, ₧e veÜkerß aktivita je v₧dy oΦekßvßna od klienta, zatφmco server svΘ slu₧by nikomu nevnucuje a pouze pasivn∞ Φekß, a₧ bude o jejich poskytnutφ klientem explicitn∞ po₧ßdßn. V²znamnΘ je pak i to, ₧e jeden server m∙₧e poskytovat svΘ slu₧by vφce klient∙m, a¥ ji₧ souΦasn∞ Φi postupn∞. Vztah mezi klientem a serverem tedy nenφ p°φsn²m vztahem 1:1, ale obecn∞ vztahem 1:n.

MyÜlenka odd∞lit poskytovatele od u₧ivatele slu₧by samoz°ejm∞ nenφ specialitou poΦφtaΦov²ch sφtφ. Je mnohem obecn∞jÜφm principem, obvykle oznaΦovan²m jako model (architektura) model klient/server, a svΘ uplatn∞nφ nachßzφ v mnoha dalÜφch oblastech, kterΘ nejsou nutn∞ distribuovßny Φi vßzßny na prost°edφ poΦφtaΦov²ch sφtφ - nap°φklad v nejr∙zn∞jÜφch databßzφch. V oblasti poΦφtaΦov²ch sφtφ je model klient/server obvykle implementovßn tak, ₧e n∞kterΘ poΦφtaΦe vystupujφ v roli server∙, a jinΘ v roli klient∙, i kdy₧ nenφ vylouΦeno ani to, aby jeden a tent²₧ poΦφtaΦ vystupoval souΦasn∞ v obou rolφch. V roli klient∙ vesm∞s vystupujφ ty poΦφtaΦe, na kter²ch pracujφ jednotlivφ u₧ivatelΘ - proto se t∞mto poΦφtaΦ∙m takΘ °φkß pracovnφ stanice. U₧ivatelΘ, kte°φ na pracovnφch stanicφch pracujφ, resp. jimi provozovanΘ aplikace, jsou pak koneΦn²mi konzumenty poskytovan²ch slu₧eb. Podobn∞ mohou i v roli server∙ vystupovat takovΘ poΦφtaΦe, na kter²ch u₧ivatelΘ pracujφ, resp. takovΘ, kterΘ krom∞ svΘ role server∙ plnφ jeÜt∞ i jinΘ ·koly. Pak jde o tzv. nededikovanΘ (tΘ₧: nevyhrazenΘ) servery. Z hlediska v²konnosti, ale p°edevÜφm z hlediska celkovΘ spolehlivosti je ale v²hodn∞jÜφ, kdy₧ p°φsluÜn² poΦφtaΦ se v∞nuje v²hradn∞ svΘmu fungovßnφ v roli serveru, a vedle toho ji₧ ned∞lß nic jinΘho. Pak ji₧ jde o tzv. dedikovan² (tΘ₧: vyhrazen²) server. V jeho prosp∞ch hovo°φ jeÜt∞ i to, ₧e m∙₧e b²t pro svou funkci p°edem optimalizovßn, nap°φklad vybaven v∞tÜφm objemem operaΦnφ pam∞ti Φi disku na ·kor v²konnΘ grafickΘ karty a barevnΘho monitoru. Druhy server∙ a jejich slu₧by

Slu₧by, kterΘ poskytujφ servery dneÜnφch poΦφtaΦov²ch sφtφ, jsou velmi r∙znorodΘ, a podle nich jsou pak takΘ rozliÜovßny r∙znΘ druhy server∙. Z°ejm∞ nejrozÜφ°en∞jÜφ jsou takovΘ servery, kterΘ sv²m klient∙m poskytujφ jako slu₧bu uchovßvßnφ jejich soubor∙ - pak jde o tzv. file servery (tΘ₧: souborovΘ servery). Klientem file serveru m∙₧e b²t jak poΦφtaΦ, vybaven² vlastnφm diskem, tak i tzv. bezdiskovß stanice, kterß vlastnφ disk v∙bec nemß. Hlavnφ v²hody, kterΘ uchovßvßnφ soubor∙ na file serveru mφsto na lokßlnφm disku p°inßÜφ, spoΦφvajφ jednak ve zv²Üenφ vyu₧itelnΘ diskovΘ kapacity, a jednak v mo₧nosti sdφlenφ soubor∙ - nap°φklad jeden jedin² exemplß° urΦitΘ aplikace, umφst∞n² na file serveru ve form∞ sdφlenΘho souboru, je v principu dostupn² vφce u₧ivatel∙m souΦasn∞. DalÜφ v²hodou je i centralizovanΘ umφst∞nφ takov²ch soubor∙, kterΘ majφ privßtnφ povahu (v tom smyslu, ₧e se nep°edpoklßdß jejich sdφlenφ), nebo¥ je lze centrßln∞ zßlohovat, centrßln∞ testovat na p°φtomnost vir∙ apod. Nev²hodou uchovßvßnφ soubor∙ na file serverech je pak p°eci jen nezanedbatelnß re₧ie, spojenß s jejich p°enosem mezi serverem a pracovnφ stanicφ v roli klienta.

Pro sprßvnΘ pochopenφ v²znamu a funkce file serveru je dobrΘ si uv∞domit, ₧e komunikace mezi file serverem a klientem je na ·rovni po₧adavk∙ typu: chci Φφst soubor XY, a odpov∞dφ typu: zde je obsah souboru XY. O tom, v jakΘm tvaru a jak²m zp∙sobem si server sv∞°enΘ soubory uchovßvß, si rozhoduje jen on sßm. Dφky tomu je nap°φklad mo₧nΘ, aby poΦφtaΦe v roli klienta i serveru stßly na r∙zn²ch platformßch - nap°φklad aby klient byl poΦφtaΦem s operaΦnφm systΘmem MS DOS, zatφmco server byl Unixovsk²m poΦφtaΦem. PodstatnΘ pro mo₧nost jejich spoluprßce je to, aby se shodli na zp∙sobu vzßjemnΘ komunikace, tedy na form∞ ₧ßdostφ o slu₧by a na reakcφch na tyto ₧ßdosti.

P°edch∙dcem dneÜnφch file server∙ byly tzv. diskovΘ servery, kterΘ jako svou slu₧bu nabφzely Φßsti sv²ch disk∙. Komunikace mezi souborov²m serverem a jeho klientem probφhala na ·rovni po₧adavk∙ typu: naΦti (zapiÜ) obsah sektoru XYZ, resp. odpov∞dφ typu: zde je obsah sektoru XYZ. U souborov²ch server∙ si pak konkrΘtnφ organizaci soubor∙ na disku (tj. konkrΘtnφ zp∙sob jejich ulo₧enφ) zajiÜtoval podle sv²ch pot°eb klient sßm, zatφmco u file serveru si toto zajiÜ¥uje server.

DalÜφ velmi rozÜφ°enou kategoriφ server∙ jsou tzv. print servery (neboli: tiskovΘ servery), kterΘ jako svou slu₧bu poskytujφ tisk na "sv²ch" tiskßrnßch (mφn∞no: na tiskßrnßch, p°ipojen²ch k t∞mto print server∙m). Na rozdφl od file server∙, jejich₧ slu₧by majφ obvykle interaktivnφ charakter, je mechanismus fungovßnφ print server∙ vysloven∞ dßvkov² - klient sestavφ data, kterß chce vytisknout, do tzv. tiskovΘ ·lohy (co₧ je zvlßÜtφ druh dßvky), a poÜle jej print serveru. Ten za°adφ tiskovou ·lohu do fronty tiskov²ch ·loh, kterΘ Φekajφ na tisk na p°φsluÜnΘ tiskßrn∞, a zde pak ·loha Φekß, dokud na ni nedojde °ada a nenφ skuteΦn∞ vytisknuta. Print servery jsou tedy ve svΘ podstat∞ prost°edky, kterΘ umo₧≥ujφ vφce u₧ivatel∙m sdφlet jednu a tutΘ₧ periferii - tiskßrnu. Zde je dobrΘ si jeÜt∞ jednou zd∙raznit, ₧e server je role, resp. postavenφ, a nikoli "n∞co". Funkci print serveru m∙₧e nap°φklad vykonßvat program, b∞₧φcφ na poΦφtaΦi, kter² jinak vystupuje v roli file serveru (tj. vedle tohoto programu zde b∞₧φ jeÜt∞ jin² program resp. ·loha, kterß vykonßvß funkci file serveru). Stejn∞ tak je ale mo₧nΘ, aby i print server byl dedikovan², tj. aby Ülo o poΦφtaΦ, kter² plnφ prßv∞ a pouze funkci print serveru, nebo aby funkci print serveru vykonßvala nap°φklad pracovnφ stanice n∞kterΘho z u₧ivatel∙.

Mezi dalÜφ druhy server∙, kterΘ slou₧φ pot°ebßm sdφlenφ r∙zn²ch perifernφch za°φzenφ, pat°φ nap°φklad modemovΘ servery, faxovΘ servery, CD ROM servery apod. Zajφmavou kategoriφ jsou tzv. p°φstupovΘ servery (access servers). Jejich ·kolem je umo₧nit vstup do sφt∞ a prßci v nφ i takov²m u₧ivatel∙m, jejich₧ poΦφtaΦe nejsou souΦßstφ sφt∞. Mohou to b²t nap°φklad poΦφtaΦe, kterΘ majφ u₧ivatelΘ u sebe doma, p°es ve°ejnou telefonnφ sφ¥ a modem se z nich napojφ na p°φstupov² server, a jeho prost°ednictvφm se pak dostßvajφ do stejnΘho postavenφ, jako kdyby pracovali p°φmo na n∞kterΘm uzlovΘm poΦφtaΦi danΘ sφt∞. Slu₧by, poskytovanΘ servery, nemusφ nutn∞ mφt povahu sdφlenφ technick²ch prost°edk∙ - ostatn∞ ji₧ file server je nßzorn²m p°φkladem serveru, kter² nabφzφ sdφlenφ objekt∙ programovΘho, resp. datovΘho charakteru. Krom∞ n∞j pak mohou existovat jeÜt∞ dalÜφ druhy server∙, kterΘ umo₧≥ujφ sdφlet jinak uspo°ßdanß data, ne₧ ve form∞ soubor∙ - nap°φklad r∙znΘ databßzovΘ servery. JeÜt∞ obecn∞jÜφ jsou pak r∙znΘ druhy informaΦnφch server∙, kterΘ jsou dnes nezbytnΘ i pro samotn² chod sφtφ jako takov²ch. Nap°φklad servery jmen (name servers), kterΘ dokß₧φ odpov∞d∞t na dotaz, jakou sφ¥ovou adresu mß uzel s takovou a takovou symbolickou adresou, nebo identifikaΦnφ servery (authentication servers), kterΘ ov∞°ujφ pravost jmen a hesel u₧ivatel∙, kte°φ se p°ihlaÜujφ do sφt∞. Vedle vÜech t∞chto server∙, kterΘ lze s jist²m zjednoduÜenφm oznaΦit za "systΘmovΘ", mohou v roli poskytovatel∙ slu₧eb vystupovat i nejr∙zn∞jÜφ aplikace, kterΘ si u₧ivatelΘ sami vytvo°φ, nechajφ vyvinout na zakßzku Φi zakoupφ jako b∞₧nΘ komerΦnφ produkty. Tyto aplikace pro sφ¥ovΘ prost°edφ pak provozujφ na poΦφtaΦφch, kterΘ se oznaΦujφ jako aplikaΦnφ servery.

Sφt∞ serverovΘho typu a sφt∞ peer-to-peer

PoΦφtaΦovΘ sφt∞, kterΘ jsme si a₧ doposud popisovali a kterΘ vychßzφ z modelu klient/server, jsou dnes stßle Φast∞ji oznaΦovßny neformßln∞ jako sφt∞ serverovΘho typu. To proto, ₧e v nich existuje velmi ostrß hranice mezi poΦφtaΦi v rolφch klient∙ a server∙ - n∞kterΘ poΦφtaΦe jsou servery (a nejΦast∞ji dedikovan²mi, tj. jsou vyhrazenΘ jen tomuto svΘmu ·kolu), zatφmco ostatnφ v∙Φi nim vystupujφ v roli klient∙ (a jsou obvykle pracovnφmi stanicemi u₧ivatel∙). Jin²mi slovy: n∞kterΘ poΦφtaΦe se vyhradφ k tomu, aby slou₧ily jako servery, a ostatnφ slou₧φ jako pracovnφ stanice u₧ivatel∙.

Takovßto strategie vÜak nenφ v₧dy a vÜude optimßlnφ. ZvlßÜt∞ ve velmi mal²ch sφtφch toti₧ nemusφ b²t ·nosnΘ (hlavn∞ z ekonomick²ch d∙vod∙) vyhradit jeden, Φi dokonce n∞kolik poΦφtaΦ∙ jen pro roli server∙, a zakoupit pro n∞ pom∞rn∞ drah² sφ¥ov² software. Zßle₧φ to samoz°ejm∞ takΘ na zp∙sobu, jak²m bude sφ¥ pou₧φvßna - pokud budou jejφ sφ¥ovΘ funkce vyu₧φvßny spφÜe jen p°φle₧itostn∞ (nap°φklad pro elektronickou poÜtu Φi obΦasnΘ tisky na tiskßrnßch), pak m∙₧e b²t mnohem v²hodn∞jÜφ °eÜenφ, kterΘ v souΦasnΘ dob∞ nabφzφ tzv. sφt∞ typu peer-to-peer.

Obr. 11: P°edstava sφt∞ serverovΘho typu
Obr. 12: P°edstava sφt∞ typu peer-to-peer

Zßkladnφ charakteristikou t∞chto sφtφ je to, ₧e ji₧ tak d∙sledn∞ netrvajφ na odd∞lenφ server∙ od klient∙. Naopak p°φmo poΦφtajφ s tφm, ₧e jednotlivΘ uzlovΘ poΦφtaΦe mohou vystupovat v roli server∙ a klient∙ souΦasn∞, a tΘto mo₧nosti se sna₧φ vychßzet vst°φc. Jejich filozofie p°edpoklßdß, ₧e ka₧d² jednotliv² u₧ivatel nabφzφ ostatnφm n∞co ze systΘmov²ch prost°edk∙ a zdroj∙ svΘho poΦφtaΦe (p°edevÜφm soubor∙, ale takΘ nap°. tiskßren apod.), a sßm vyu₧φvß n∞co z toho, co mu stejn²m zp∙sobem nabφzφ jinφ. PoΦφtaΦe jednotliv²ch u₧ivatel∙ pak vystupujφ v roli server∙ (aby mohly nabφdnout k vyu₧itφ to, co se u₧ivatel danΘho poΦφtaΦe rozhodl zp°φstupnit ostatnφm), a souΦasn∞ i v roli klient∙, aby mu zp°φstupnili to, co nabφzφ jinφ.

DalÜφm charakteristick²m rysem sφtφ peer-to-peer je jejich relativnφ jednoduchost oproti sφtφm serverovΘho typu (projevujφcφ se nap°. omezen²m repertoßrem slu₧eb a dalÜφch souvisejφcφch funkcφ, jako nap°. zabezpeΦovacφch mechanism∙ apod.). Na druhΘ stran∞ zase mohou b²t v²razn∞ lacin∞jÜφ. DalÜφ v²znamnou charakteristikou sφtφ peer-to-peer je i to, ₧e jsou vesm∞s koncipovßny jen pro mal² poΦet uzl∙, nap°φklad jen 20 Φi 30. Samotn² nßzev "peer-to-peer" v doslovnΘm p°ekladu znamenß "rovn² s rovn²m", co₧ mß zd∙raznit rovnoprßvnΘ postavenφ jednotliv²ch uzl∙ jako protivßhu jejich striktnφho d∞lenφ na servery a klienty (resp. pracovnφ stanice).

Z hlediska celkovΘ koncepce je ovÜem t°eba zd∙raznit, ₧e sφt∞ typu peer-to-peer nejsou protip≤lem sφtφ na bßzi modelu klient/server, proto₧e samy z tohoto modelu vychßzφ takΘ. SpφÜe bychom je m∞li pova₧ovat za alternativu k sφtφm serverovΘho typu (tj. k t∞m, ve kter²ch nenφ role serveru kombinovßna s rolφ klienta), a to jeÜt∞ za alternativu z hlediska ceny, p°edpoklßdanΘho nasazenφ (ve velmi mal²ch sφtφch, zatφmco sφt∞ serverovΘho typu mohou b²t relativn∞ velkΘ), zp∙sobu vyu₧itφ (spφÜe p°φle₧itostnΘho, oproti intenzivn∞jÜφmu u serverov²ch sφtφ), a v neposlednφ °ad∞ i z pohledu nßrok∙ na u₧ivatele - sφt∞ typu peer-to-peer jsou zcela zßm∞rn∞ °eÜeny tak, aby si jejich instalaci a sprßvu dokßzali zajistit p°φmo koncovφ u₧ivatelΘ, zatφmco u sφtφ serverovΘho typu se p°eci jen oΦekßvß ·Φast specialist∙.

Rozdφl mezi sφt∞mi serverovΘho typu a sφt∞mi peer-to-peer se vÜak stßvß stßle vφce neurΦit²m. ServerovΘ sφt∞ se stßvajφ lacin∞jÜφmi, existujφ i ve verzφch pro velmi malΘ sφt∞, a jejich instalace a sprßva je Φφm dßl tφm jednoduÜÜφ. Na druhΘ stran∞ schopnosti peer-to-peer sφtφ se stßle vφce p°ibli₧ujφ schopnostem serverov²ch sφtφ, a roste i poΦet uzl∙, kterΘ v t∞chto sφtφch mohou pracovat. Mizφ i jedinΘ kritΘrium, kterΘ by bylo mo₧nΘ pova₧ovat za jednoznaΦn∞ urΦujφcφ - toti₧ pou₧itφ dedikovan²ch server∙. DneÜnφ sφt∞ peer-to-peer toti₧ takΘ umo₧≥ujφ vyhradit n∞kterΘ uzlovΘ poΦφtaΦe pro roli serveru, a znemo₧nit jejich souΦasnΘ vyu₧itφ jako pracovnφ stanice (tj. umo₧≥ujφ uΦinit z nich dedikovanΘ servery).

Do budoucna lze oΦekßvat, ₧e ob∞ kategorie nejspφÜe splynou. Dnes vÜak mezi nimi stßle jeÜt∞ existuje v²raznß hranice. SpφÜe ne₧ sv²mi u₧itn²mi vlastnostmi je ale dßna cenou a zp∙sobem marketingu p°φsluÜn²ch sφ¥ov²ch produkt∙. Typick²m p°φkladem sφtφ serverovΘho typu jsou dnes sφt∞ NetWare firmy Novell, zatφmco nejtypiΦt∞jÜφmi p°edstaviteli peer-to-peer sφtφ jsou sφt∞ LANtastic firmy Artisoft a Netware Lite firmy Novell.

Nenφ LAN jako WAN! (?)

PoΦφtaΦovΘ sφt∞ se dnes s oblibou rozd∞lujφ na lokßlnφ (tΘ₧: sφt∞ LAN, od anglickΘho Local Area Network) a rozlehlΘ (tΘ₧: sφt∞ WAN, od Wide Area Network). N∞kdy se pak objevuje jeÜt∞ i t°etφ kategorie, a to sφt∞ metropolitnφ (sφt∞ MAN, Metropolitan Area Network). Co si ale pod t∞mito pojmy p°esn∞ p°edstavovat? Jakmile se budeme chtφt pokusit o p°esn∞jÜφ definici, narazφme na zajφmav² problΘm - kritΘriφ a charakteristik, kterΘ se k vymezenφ lokßlnφch a rozlehl²ch sφtφ p°φmo nabφzφ, je celß °ada. ÄßdnΘ z nich ale nenφ absolutnφ, v tom smyslu, ₧e by dokßzalo dßt v₧dy a za vÜech okolnostφ odpov∞∩ na otßzku, zda konkrΘtnφ sφ¥ je lokßlnφ Φi rozlehlß (p°φpadn∞ metropolitnφ). Je proto t°eba uva₧ovat celou °adu rozliÜujφcφch kritΘriφ a poΦφtat s tφm, ₧e jejich verdikty nemusφ b²t jednoznaΦnΘ, a ₧e si mohou navzßjem proti°eΦit. V₧dy toti₧ budou existovat takovΘ sφt∞, kterΘ budou le₧et n∞kde na pomezφ, a jejich₧ za°azenφ do jednΘ Φi druhΘ (p°φpadn∞ t°etφ) kategorie bude spφÜe otßzkou subjektivnφho rozhodovßnφ. Na druhΘ stran∞ ale budou v₧dy existovat i takovΘ druhy sφtφ, o jejich₧ za°azenφ nebude pochyb, a kterΘ bude mo₧nΘ pova₧ovat za typickΘ p°edstavitele jednotliv²ch kategoriφ. Jakß tedy mohou b²t rozliÜujφcφ kritΘria pro lokßlnφ, rozlehlΘ a metropolitnφ sφt∞? Jedno kritΘrium nabφzφ ji₧ samotn² nßzev: lokßlnφ z°ejm∞ budou takovΘ sφt∞, kterΘ se rozklßdajφ na malΘ ploÜe, a rozlehlΘ takovΘ, kterΘ se rozklßdajφ na velkΘ ploÜe. Jestli₧e se tedy n∞jakß sφ¥ rozpostφrß po vφce kontinentech, jde z°ejm∞ o sφ¥ rozlehlou. Naopak sφ¥, propojujφcφ osobnφ poΦφtaΦe v rßmci jedinΘ mφstnosti, bude typick²m p°φkladem sφt∞ lokßlnφ. Kde ale le₧φ hranice mezi nimi? Co nap°φklad takovß sφ¥, kterß propojuje uzlovΘ poΦφtaΦe v rßmci celΘho m∞sta? Zde si jeÜt∞ m∙₧eme pomoci kategoriφ metropolitnφch sφtφ, ale v obecnΘm p°φpad∞ tφm jen z jednoho problΘmu vyrobφme dva: kde je hranice mezi lokßlnφ a metropolitnφ sφtφ, a kde mezi metropolitnφ a rozlehlou sφtφ? Navφc zde vstupujφ do hry i mo₧nosti novodob²ch p°enosov²ch technologiφ, kterΘ nejen zv∞tÜujφ dosah typick²ch lokßlnφch sφtφ, ale hlavn∞ je umo₧≥ujφ vzßjemn∞ propojovat i na velkΘ vzdßlenosti. Jestli₧e nap°φklad propojφme mezi sebou dv∞ typickΘ lokßlnφ sφt∞, kterΘ se nachßzφ na r∙zn²ch kontinentech, jde po°ßd jen o dv∞ samostatnΘ sφt∞, nebo tφm vznikla jedinß v²slednß sφ¥? A je to sφ¥ lokßlnφ, nebo rozlehlß? SpφÜe ne₧ na vzdßlenosti pak m∙₧e odpov∞∩ zßviset na p°enosovΘ kapacit∞ a zp∙sobu propojenφ, i na jeho celkovΘm systΘmovΘm °eÜenφ - tedy na tom, jak se v∙Φi u₧ivateli jednoho uzlovΘho poΦφtaΦe "tvß°φ" ostatnφ uzly, zda pro n∞j existujφ n∞jakΘ principißlnφ rozdφly v p°φstupu k ostatnφm uzl∙m podle toho, kde se tyto uzly nachßzφ, jak² charakter majφ slu₧by takovΘto sφt∞ apod. S kritΘriem fyzick²ch vzdßlenostφ ·zce souvisφ dalÜφ kritΘrium, a to p°enosovß kapacita, resp. propustnost p°enosov²ch cest mezi jednotliv²mi uzly. Jak jsme si ji₧ podrobn∞ji rozvedli v TΘmatu t²dne v CW 8/94, platφ zde nep°φmß ·m∞rnost - Φφm v∞tÜφ vzdßlenost, tφm menÜφ je dosa₧itelnß p°enosovß kapacita. V souΦasnΘ dob∞ opravdu existuje v²razn² odstup v p°enosov²ch rychlostech sφtφ, kterΘ jsou typick²mi p°edstaviteli obou hlavnφch kategoriφ - lokßlnφ sφt∞ dnes pracujφ s p°enosov²mi rychlostmi v °ßdu desφtek megabit∙ za sekundu (konkrΘtn∞: sφt∞ typu Ethernet s p°enosovou rychlostφ 10 MBit∙ za sekundu, sφt∞ Token Ring 4 Φi 16 MBit∙, a sφt∞ na bßzi FDDI s p°enosovou rychlostφ 100 Mbit∙), zatφmco u sφtφ rozlehl²ch jde o rychlosti °ßdov∞ ni₧Üφ - kup°. celß ╚eskß republika je p°ipojena k celosv∞tovΘ sφti Internet linkou 64 KBit za sekundu, a nap°φklad sφ¥∞ EUNET Φi FIDO vystaΦφ s jeÜt∞ ni₧Üφ p°enosovou rychlostφ, kterou musφ "vy₧dφmat" z ve°ejnΘ telefonnφ sφt∞ (nejΦast∞ji 9,6 Φi 14,4 KBit∙ za sekundu, podle pou₧it²ch modem∙). Ve sv∞t∞ vÜak dosahujφ rozlehlΘ sφt∞ p°enosov²ch rychlostφ a₧ v °ßdu jednotek megabit∙ za sekundu. Je to sice stßle o °ßd mΘn∞, ne₧ "nejpomalejÜφ" lokßlnφ sφt∞, ale dφky rychlΘmu v²voji modernφch technologiφ se tento rozdφl neustßle zmenÜuje. Do budoucna proto nelze s kritΘriem pou₧φvanΘ p°enosovΘ rychlosti p°φliÜ poΦφtat. DalÜφm markantnφm rozdφlem mezi lokßlnφmi a rozlehl²mi sφt∞mi je vztah jejich provozovatel∙ k pou₧φvan²m p°enosov²m cestßm. Zde je dobrΘ si nejprve uv∞domit, ₧e snad ka₧d² stßt sv∞ta n∞jak²m zp∙sobem reguluje, kdo a jak smφ budovat p°enosovΘ cesty na ve°ejn²ch prostranstvφch. A₧ na ΦestnΘ v²jimky (nap°. v USA) mß na tuto Φinnost ze zßkona monopol jedinß organizace - nejΦast∞ji sprßva spoj∙ Φi obdobnß instituce p°φsluÜnΘho stßtu. Pro provozovatele poΦφtaΦov²ch sφtφ to pak znamenß, ₧e pokud si cht∞jφ budovat vlastnφ p°enosovΘ cesty, mohou tak Φinit pouze v rßmci budov, kterΘ vlastnφ, p°φpadn∞ v rßmci cel²ch areßl∙, jejich₧ pozemky jsou jejich majetkem - nap°φklad v rßmci univerzitnφch areßl∙ (tzv. kampus∙). Jakmile se ale dostanou a₧ na ve°ejnß prostranstvφ, musφ respektovat existenci p°φsluÜnΘho monopolu. Pokud pot°ebujφ nap°φklad jen p°eklenout n∞jakou ve°ejnou komunikaci, aby mohli propojit dv∞ svΘ budovy, mohou vystaΦit s povolenφm od k tomu oprßvn∞nΘ organizace. Kdy₧ ale pot°ebujφ z°φdit propojenφ na v∞tÜφ vzdßlenosti (nap°φklad mezi dv∞ma m∞sty), jsou nuceni si pronajmout pot°ebnΘ p°enosovΘ cesty od organizace, kterß mß na jejich budovßnφ a provozovßnφ monopol. U typick²ch lokßlnφch sφtφ jsou tedy jejich provozovatelΘ souΦasn∞ i majiteli p°enosov²ch cest (kabelov²ch rozvod∙), zatφmco u typick²ch rozlehl²ch sφtφ je majitelem pou₧it²ch p°enosov²ch cest p°φsluÜnß spojovß organizace, a provozovatelΘ sφt∞ si je pouze pronajφmajφ.

Dosti v²razn²m rozdφlem mezi lokßlnφmi a rozlehl²mi sφt∞mi mohou b²t slu₧by, kterΘ jsou v t∞chto sφtφch nejΦast∞ji vyu₧φvßny. Nap°φklad s elektronickou poÜtou se m∙₧eme setkat zhruba ve stejnΘ mφ°e u obou druh∙ sφtφ sφtφ. S p°enosem soubor∙ pak vφce u sφtφ rozlehl²ch, zatφmco v lokßlnφch sφtφch p°eva₧uje spφÜe sdφlenφ soubor∙ (tj. pln∞ transparentnφ p°φstup k soubor∙m, kterΘ se ve skuteΦnosti nachßzφ na jinΘm poΦφtaΦi, a nikoli netransparentnφ p°enos soubor∙, explicitn∞ iniciovan² u₧ivatelem). Sdφlenφ n∞kter²ch periferiφ (nap°φklad tiskßren) je tΘm∞° v²hradnφ zßle₧itostφ sφtφ lokßlnφch, zatφmco u jinΘho hardwaru (nap°φklad specializovan²ch maticov²ch procesor∙) m∙₧e jφt spφÜe o domΘnu rozlehl²ch sφtφ. VzdßlenΘ p°ihlaÜovßnφ se pou₧φvß v obou druzφch sφtφ, ovÜem k pon∞kud jin²m ·Φel∙m - u lokßlnφch sφtφ nejΦast∞ji jako zp∙sob dßlkovΘho ovlßdßnφ vzdßlenΘho poΦφtaΦe (ke kterΘmu sprßvce sφt∞ nemusφ utφkat po schodech o celΘ patro v²Ü, aby na n∞m provedl n∞jak² drobn² ·kon), zatφmco u rozlehl²ch sφtφ jde spφÜe o prost°edek ke sdφlenφ jin²ch zdroj∙, zejmΘna v²poΦetnφ kapacity (takto lze nap°φklad z Prahy pracovat na superpoΦφtaΦi n∞kde v USA, pokud na to u₧ivatel mß pot°ebnß p°φstupovß prßva).

DalÜφ rozdφl mezi lokßlnφmi a rozlehl²mi sφt∞mi by bylo mo₧nΘ hledat v tom, jakΘ poΦφtaΦe jsou do nich zapojovßny v roli uzlov²ch poΦφtaΦ∙. RozlehlΘ sφt∞, kterΘ jsou historicky starÜφ, vznikaly jako vzßjemnΘ propojenφ "velk²ch" poΦφtaΦ∙ - tedy st°ediskov²ch poΦφtaΦ∙ a minipoΦφtaΦ∙ - kterΘ jsou mimo jinΘ charakteristickΘ tφm, ₧e jsou provozovßny trvale a slou₧φ vφce u₧ivatel∙m. Naproti tomu historicky mladÜφ lokßlnφ sφt∞ propojujφ spφÜe "malΘ" poΦφtaΦe, kterΘ jsou osobnφmi poΦφtaΦi jednotliv²ch u₧ivatel∙, a jsou v provozu pouze v dob∞, kdy je jejich u₧ivatelΘ skuteΦn∞ pot°ebujφ (co₧ ovÜem neplatφ pro servery lokßlnφch sφtφ, kterΘ b²vajφ v provozu trvale). S postupem doby a dφky celkovΘmu trendu k tzv. downsizingu (p°echodu na rozm∞rov∞ menÜφ, ale stejn∞ Φi jeÜt∞ vφce v²konnΘ poΦφtaΦe) se ale "velkΘ" poΦφtaΦe zaΦaly zmenÜovat, a do lokßlnφch sφtφ se naopak zaΦaly zapojovat stßle "v∞tÜφ" servery (v∞tÜφ co do schopnostφ a v²konu, nikoli nutn∞ fyzick²ch rozm∞r∙). Proto i zde se rozdφl mezi lokßlnφmi a rozlehl²mi sφt∞mi postupn∞ stφrß. Internetworking, neboli vzßjemnΘ propojovßnφ sφtφ Nov²m trendem, kter² se v poslednφ dob∞ zaΦal velmi v²razn∞ prosazovat, je vzßjemnΘ propojovßnφ jednotliv²ch poΦφtaΦov²ch sφtφ. Jde z°ejm∞ o zcela zßkonit² v²voj, kter² nßsleduje potΘ, co ÜirÜφ u₧ivatelskß ve°ejnost pln∞ docenila mo₧nosti a p°φnos poΦφtaΦov²ch sφtφ, a zaΦala po₧adovat jeÜt∞ vφce.

V angliΦtin∞ se tomuto trendu °φkß internetworking, a sφtφm, kterΘ vznikajφ jako v²sledek propojovßnφ jednotliv²ch dφlΦφch sφtφ, se °φkß internetworks. P°eklad t∞chto termφn∙ do ΦeÜtiny je tvrd²m o°φÜkem - internetworking je mo₧nΘ rozepisovat jako "vzßjemnΘ propojovßnφ sφtφ", ale pro substantivum "internetwork" by se velmi hodilo n∞co kratÜφho. V∞cn∞ sprßvn∞jÜφ by z°ejm∞ bylo "sousφtφ", ale kv∙li Φistot∞ mate°skΘho jazyka rad∞ji z∙sta≥me u doslovnΘho p°ekladu "intersφ¥".

Cφlem vzßjemnΘho propojovßnφ sφtφ je rozÜφ°it repertoßr dosud poskytovan²ch slu₧eb, p°edevÜφm o slu₧by komunikaΦnφho charakteru, umo₧≥ujφcφ p°enosy elektronickΘ poÜty a nejr∙zn∞jÜφch soubor∙ i do jin²ch sφtφ. DalÜφm cφlem je pak zp°φstupn∞nφ slu₧eb a nejr∙zn∞jÜφch systΘmov²ch zdroj∙ jednΘ sφt∞ u₧ivatel∙m jin²ch sφtφ - a¥ ji₧ formou sdφlenφ, prost°ednictvφm vzdßlenΘho p°ihlaÜovßnφ Φi jin²mi zp∙soby.

KoneΦn²m cφlem, ke kterΘmu cel² trend ke vzßjemnΘmu propojovßnφ sφtφ sp∞je, je pak ·plnΘ splynutφ jednotliv²ch dφlΦφch sφtφ - alespo≥ z pohledu u₧ivatel∙, pro kterΘ bude jedno, ve kterΘ dφlΦφ sφti se skuteΦn∞ nachßzφ, proto₧e ve vÜech budou mφt k dispozici stejnΘ slu₧by a stejnΘ mo₧nosti a zp∙soby jejich vyu₧itφ. Jestli₧e z pohledu u₧ivatele m∙₧e b²t vzßjemnΘ propojovßnφ sφtφ principißln∞ velmi jednoduchou zßle₧itostφ, po strßnce technickΘ jde o velmi slo₧itou problematiku. Hlavnφm zdrojem jejφ slo₧itosti je r∙znorodost konkrΘtnφch sφtφ, kterΘ se mohou v²razn∞ liÜit nejen v tom, jakΘ konkrΘtnφ technickΘ prost°edky pou₧φvajφ pro vzßjemnou komunikaci jednotliv²ch uzl∙. Mnohem zßva₧n∞jÜφ jsou rozdφly v celkovΘ foncepci a filosofii, proto₧e ty se p°i vzßjemnΘm propojovßnφ p°ekonßvajφ nejobtφ₧n∞ji. Proprietßrnφ a otev°enß °eÜenφ

Jak jsme si ji₧ uvedli v²Üe, navrhnout poΦφtaΦovou sφ¥ m∙₧e v podstat∞ kdokoli, a m∙₧e p°itom uplatnit jakΘkoli koncepΦnφ i technickΘ °eÜenφ, kterΘ sßm pova₧uje za nejvhodn∞jÜφ. Pokud to ovÜem skuteΦn∞ ud∞lß, pak se vystavuje riziku, ₧e jinφ budou za nejvhodn∞jÜφ pova₧ovat jinΘ °eÜenφ, a v²slednΘ sφt∞ nebudou z principu schopnΘ spolupracovat - nebo jen velmi omezen²m zp∙sobem a za cenu znaΦnΘho ·silφ a nßklad∙.

Tendence d∞lat si vÜechno po svΘm (a jinak ne₧ ostatnφ) byla v d°φv∞jÜφ dob∞ patrnß zvlßÜt∞ u velk²ch firem, vyrßb∞jφcφch st°ediskovΘ poΦφtaΦe a minipoΦφtaΦe. Tyto firmy z°ejm∞ zastßvaly nßzor, ₧e je pro n∞ nejv²hodn∞jÜφ, kdy₧ si svΘho zßkaznφka k sob∞ doslova p°ipoutajφ - tedy kdy₧ mu prodajφ takovΘ °eÜenφ, kterΘ bude zcela nesluΦitelnΘ s °eÜenφm jin²ch v²robc∙, a nebude vychßzet vst°φc mo₧nosti spoluprßce s produkty jin²ch v²robc∙. Zßkaznφk, kter² si takovΘto °eÜenφ zakoupil, pak byl vßzßn na jedinΘho dodavatele, i pokud Ülo o jakΘkoli hardwarovΘ dopl≥ky, systΘmov² i aplikaΦnφ software, servis i Ükolenφ u₧ivatel∙. Takov²to p°φstup byl snad mo₧n² v dob∞ velk²ch st°ediskov²ch poΦφtaΦ∙, kterΘ v jistΘm slova smyslu p°edstavovaly ucelen² sv∞t sßm o sob∞, jeho₧ pot°eby komunikace s jin²mi sv∞ty mohly b²t velmi malΘ. Zßkaznφk∙m se vÜak takov²to p°φstup v²robc∙ nemohl lφbit - ji₧ jen z toho d∙vodu, ₧e chovßnφ monopolnφho dodavatele je zcela zßkonit∞ jinΘ, ne₧ chovßnφ toho, kdo se musφ prosadit v tvrdΘ konkurenci. Jakmile se ale na obzoru objevila mo₧nost propojovßnφ jednotliv²ch poΦφtaΦ∙ do sφtφ, zaΦala u₧ivatel∙m velmi vadit takΘ vzßjemnß technickß nesluΦitelnost hardwaru i softwaru, kterß tomuto trendu stßla v cest∞. V souvislosti s nßstupem poΦφtaΦov²ch sφtφ, a jeÜt∞ vφce pak s trendem k jejich vzßjemnΘmu propojovßnφ (internetworking-u) proto dochßzφ ke znatelnΘmu ·stupu od produkt∙, koncepcφ a °eÜenφ, oznaΦovan²ch p°φvlastkem proprietßrnφ, a naopak k v²raznΘmu zßjmu o vÜechno, co se pyÜnφ p°φdomkem otev°enΘ.

Pro sprßvnΘ pochopenφ t∞chto trend∙ je t°eba si zd∙raznit, ₧e nejde o ostrΘ protiklady, kterΘ by se navzßjem striktn∞ vyluΦovaly: aΦkoli to v praxi nenφ p°φliÜ ΦastΘ, proprietßrnφ °eÜenφ m∙₧e b²t do znaΦnΘ mφry otev°enΘ. Jak tedy oba termφny sprßvn∞ interpretovat? Jako proprietßrnφ se dnes chßpe takovΘ °eÜenφ, kterΘ vytvo°il jeden konkrΘtnφ subjekt (tj. jeden v²robce), a ten je takΘ jedin²m, kdo rozhoduje o jeho dalÜφm v²voji (·pravßch, zm∞nßch, aktualizovan²ch verzφch). PodstatnΘ zde nenφ to, zda je proprietßrnφ °eÜenφ zve°ejn∞no Φi nikoli. Rozhodujφcφ je spφÜe to, ₧e ostatnφ do toho "nemohou mluvit". Mohou vÜak proprietßrnφ °eÜenφ p°evzφt, proto₧e to z n∞jakΘho d∙vodu pova₧ujφ za vhodnΘ - nap°φklad kv∙li jeho kvalitßm, Φast∞ji ale proto, ₧e cht∞jφ b²t kompatibilnφ s proprietßrnφm °eÜenφm renomovanΘho v²robce. Z proprietßrnφho °eÜenφ, kterΘ z vlastnφ v∙le p°ejφmajφ dalÜφ subjekty, se tak stßvß standard, neboli °eÜenφ, akceptovanΘ a pou₧φvanΘ vφce subjekty. NejΦast∞ji se z proprietßrnφho °eÜenφ stßvß standard de facto, neboli standard nepsan², kter² nebyl formßln∞ kodifikovßn ₧ßdnou normotvornou organizacφ, ale za kter²m stojφ bu∩ vÜeobecn² konsensus, Φast∞ji vÜak snaha p°izp∙sobit se renomovanΘmu v²robci. Klasick²m p°φkladem m∙₧e b²t architektura poΦφtaΦ∙ IBM PC a architektura poΦφtaΦov²ch sφtφ SNA (Systems Network Architecture) firmy IBM. DalÜφm p°φkladem p∙vodn∞ proprietßrnφho °eÜenφ, kterΘ se stalo nepsan²m standardem - dφky sv²m kvalitßm - je zp∙sob ovlßdßnφ modem∙, vyvinut² firmou Hayes. Existujφ vÜak i takovß proprietßrnφ °eÜenφ, z nich₧ se Φasem staly standardy de jure, neboli formßlnφ standardy, kterΘ kodifikuje a vydßvß n∞kterß normotvornß organizace, a kterΘ pak z tohoto titulu mohou mφt i urΦitou mφru formßlnφ zßvaznosti. Krom∞ ji₧ d°φve citovanΘho Ethernetu m∙₧e b²t p°φkladem paralelnφ sb∞rnice HP-IB, kterou si jako svΘ proprietßrnφ °eÜenφ pro pot°eby p°ipojovßnφ m∞°φcφch p°φstroj∙ vyvinula firma Hewlett-Packard, a kterß byla poslΘze standardizovßna americkou spoleΦnostφ elektrotechnick²ch a elektronick²ch in₧en²r∙ (IEEE) jako standard IEEE 488. DalÜφm p°φkladem m∙₧e b²t protokol NFS (Network File System), vyvinut² firmou Sun Microsystems, Inc. a urΦen² pro transparentnφ sdφlenφ soubor∙ v sφtφch se servery na bßzi Unixu.

V∞tÜina standard∙ vÜak dnes vznikß jin²m zp∙sobem. Tak, ₧e se sejde skupina odbornφk∙, a ti spoleΦn∞ navrhnou a vyspecifikujφ urΦitΘ °eÜenφ. NejΦast∞ji je svolßnφ takovΘto skupiny iniciovßno n∞kterou normotvornou organizacφ, kterß pak p°ejφmß takto vzniklΘ °eÜenφ, a vydßvß jej jako sv∙j standard (tedy jako standard de jure). Velmi Φasto nejde o jednorßzov² proces - p°φsluÜnΘ skupiny odbornφk∙ mohou existovat dlouhodob∞, a jejich prßce pak mß pr∙b∞₧n² charakter. ZajφmavΘ je i to, odkud se rekrutujφ lidΘ, kte°φ v t∞chto odborn²ch pracovnφch skupinßch p∙sobφ: vedle odbornφk∙ z akademick²ch kruh∙ zde majφ v²znamnΘ zastoupenφ takΘ zßstupci nejr∙zn∞jÜφch v²robc∙ v²poΦetnφ techniky. Je to z°ejm∞ p°irozenΘ, proto₧e tito v²robci majφ Φasto nezanedbateln² odborn² a v∞decko-v²zkumn² potencißl. Navφc je v jejich bytostnΘm zßjmu b²t informovßni o vÜem, co se p°ipravuje, a moci do toho takΘ urΦit²m zp∙sobem zasahovat. Je asi p°irozenΘ, ₧e nßzory r∙zn²ch v²robc∙ majφ na takovΘmto f≤ru r∙znou "vßhu", ale nikdy by zde nem∞lo dojφt k tomu, aby jeden v²robce diktoval svou p°edstavu ostatnφm, a tφm vlastn∞ jen zaÜtφtil svΘ proprietßrnφ °eÜenφ autoritou p°φsluÜnΘ normotvornΘ organizace. Vra¥me se nynφ zp∞t k tomu, co je vlastn∞ obsahem p°φvlastkem "otev°en²". V zßsad∞ jde o takovΘ °eÜenφ, kterΘ je p°ipraveno na spoluprßci s jin²mi produkty Φi systΘmy a p°edem s nφ poΦφtß - je tedy "otev°eno" takovΘto spoluprßci (odsud pak p°φvlastek "otev°en²"). ProblΘm je ovÜem v mφ°e takovΘto p°ipravenosti Φi otev°enosti, kterß nenφ nijak zßvazn∞ stanovena. Z tohoto d∙vodu je faktick² obsah pojmu "otev°en² systΘm" znaΦn∞ Üirok². ZlΘ jazyky dokonce tvrdφ, ₧e je stejn∞ otev°en², jako samotn² otev°en² systΘm. R∙znφ v²robci pak tΘto obsahovΘ neujasn∞nosti vyu₧φvajφ pro zv²Üenφ prodejnosti sv²ch produkt∙, kterΘ oznaΦujφ jako otev°enΘ i p°esto, ₧e mo₧nosti spoluprßce s jin²mi systΘmy nevychßzφ p°φliÜ vst°φc. SkuteΦn∞ otev°enΘ systΘmy jsou charakteristickΘ p°edevÜφm tφm, ₧e svou spoluprßci s jin²mi systΘmy °eÜφ pomocφ vÜeobecn∞ uznßvan²ch a pou₧φvan²ch standard∙ - tedy tφm, ₧e samy pou₧φvajφ a d∙sledn∞ dodr₧ujφ takovΘto standardy. Pokud stejn² p°φstup zvolφ i druhß strana, pak by vzßjemnΘ kompatibilit∞ r∙zn²ch systΘm∙ nem∞ly stßt v cest∞ ₧ßdnΘ principißlnφ p°ekß₧ky. SkuteΦn∞ otev°enΘ systΘmy proto vychßzφ maximßln∞ vst°φc vzßjemnΘmu propojovßnφ sφtφ stejnΘho i nestejnΘho typu, zatφmco propojovßnφ proprietßrnφch sφtφ r∙zn²ch v²robc∙ b²vß velmi obtφ₧nΘ, n∞kdy a₧ nemo₧nΘ.


zp∞t do archivu Φlßnk∙ | rejst°φk
Tento Φlßnek m∙₧e b²t voln∞ Üφ°en, pokud se tak d∞je pro studijnφ ·Φely, na nev²d∞leΦnΘm zßklad∞ a se zachovßnφm tohoto dov∞tku. Podrobnosti hledejte zde, resp. na adrese http://archiv.czech.net/copyleft.htm