VyÜlo v t²denφku: | COMPUTERWORLD |
╚φslo: | 21/93 |
RoΦnφk: | 1993 |
Rubrika/kategorie: | Co je Φφm ... v poΦφtaΦov²ch sφtφch |
Dφl: | 65 |
Mo₧nost vzdßlenΘho p°ihlaÜovanφ (v angliΦtin∞: remote login) ·zce souvisφ s existencφ tzv. terminßlov²ch relacφ (anglicky: terminal sessions). Pro u₧ivatele vφce·lohov²ch operaΦnφch systΘm∙ je to pojem jist∞ dob°e znßm², ale pro mnohΘ u₧ivatele, "odkojenΘ" poΦφtaΦi PC a jedno·lohov²m prost°edφm MS DOSu, m∙₧e p°edstavovat n∞co zcela novΘho a nep°φliÜ "pr∙hlednΘho".
Obrat nastal a₧ v okam₧iku, kdy se p°eÜlo na prßci v re₧imu sdφlenφ Φasu. Nynφ se ji₧ na jednom poΦφtaΦi mohlo souΦasn∞ nachßzet vφce ·loh v rozpracovanΘm stavu, a procesor velmi rychle p°echßzel z provßd∞nφ jednΘ ·lohy na provßd∞nφ druhΘ ·lohy, pak t°etφ atd. Dφky tomuto rychlΘmu st°φdßnφ vznikla dostateΦn∞ v∞rnß iluze toho, ₧e procesor se v∞nuje vφce ·lohßm souΦasn∞, tzn. ₧e na jednom poΦφtaΦi b∞₧φ najednou vφce ·loh. Ve skuteΦnosti se avÜak vÜechny tyto ·lohy d∞lily o Φas, kter² v∞noval procesor jejich provßd∞nφ. Jin²mi slovy: jednotlivΘ ·lohy sdφlely Φas procesoru, odsud: re₧im sdφlenφ Φasu (time sharing).
Tφmto zp∙sobem (tj. v re₧imu sdφlenφ Φasu) bylo nadßle mo₧nΘ provozovat ·lohy p°ipravenΘ p°edem ve form∞ dßvek, kterΘ nevy₧adujφ bezprost°ednφ styk se sv²m zadavatelem. Re₧im sdφlenφ Φasu vÜak umo₧nil to, aby u₧ivatelΘ byli v bezprost°ednφm styku se sv²mi ·lohami a mohli s nimi komunikovat interaktivnφm zp∙sobem.
Uka₧me si na konkrΘtnφm p°φkladu, v Φem byl pro u₧ivatele rozdφl. V₧ijme se do role programßtora, kter² opravuje zdrojov² text svΘho programu a mß jej na danΘm poΦφtaΦi ulo₧en jako jeden ze sv²ch soubor∙. V p°φpad∞ dßvkovΘho zpracovßnφ musel tento u₧ivatel p°edem p°ipravit p°φkazy pro opravu vÜech chyb ve zdrojovΘm programu stylem: "na °ßdce XY zm∞≥ °et∞zec ABCD na EFGH", p°idat jeÜt∞ p°φkaz pro nov² p°eklad zdrojovΘho textu, sestavit z t∞chto p°φkaz∙ dßvku, a tu zadat k provedenφ. Druh² den si p°iÜel pro v²sledek, zjistil novΘ chyby a cel² postup se opakoval.
Na poΦφtaΦi pracujφcφm v re₧imu sdφlenφ Φasu m∙₧e nßÜ programßtor pracovat odliÜn²m zp∙sobem. Nejprve zaΦne komunikovat s operaΦnφm systΘmem, jemu₧ zadß p°φkaz ke spuÜt∞nφ interaktivnφho editoru. Jeho prost°ednictvφm pak postupn∞ provede pot°ebnΘ opravy v souboru se zdrojov²m textem, naΦe₧ prßci s editorem ukonΦφ a zaΦne op∞t komunikovat p°φmo s operaΦnφm systΘmem. Tomu zadß p°φkaz k p°ekladu opravenΘho zdrojovΘho textu a nechß si v²sledky tohoto p°ekladu zobrazit. Odhalφ-li p°ekladaΦ dalÜφ chyby ve zdrojovΘm textu, u₧ivatel si znovu zavolß editor a cel² cyklus se opakuje. Tentokrßt vÜak ji₧ s "dobou obrßtky", kterß se m∞°φ spφÜe na minuty ne₧ na celΘ dny, jako u dßvkovΘho zpracovßnφ.
To ale znamenß, ₧e operaΦnφ systΘm i aplikaΦnφ ·loha musφ mφt p°φstup ke klßvesnici a k displeji, kterΘ p°φsluÜn² u₧ivatel pou₧φvß. Navφc, jde-li o vφceu₧ivatelskΘ prost°edφ, kterΘ umo₧≥uje interaktivnφ zp∙sob prßce vφce u₧ivatel∙m souΦasn∞, musφ takov²chto dvojic "klßvesnice a displej" existovat vφce a ka₧dß konkrΘtnφ ·loha musφ v∞d∞t, na kterΘ z nich prßv∞ pracuje ten "jejφ" u₧ivatel.
Zmφn∞nß dvojice "klßvesnice a displej" se obvykle oznaΦuje jako terminßl a Φasto tvo°φ i jeden konstrukΦnφ celek (i kdy₧ to nenφ zdaleka podmφnkou). PoΦφtaΦe s vφceu₧ivatelsk²m operaΦnφm systΘmem, kterΘ pracujφ v re₧imu sdφlenφ Φasu, b²vajφ vybaveny v∞tÜφm poΦtem t∞chto terminßl∙.
Existence vφce ne₧ jednoho terminßlu vÜak znamenß, ₧e operaΦnφ systΘm i jednotlivΘ aplikaΦnφ ·lohy nemohou poΦφtat s tφm, ₧e u₧ivatel s nimi bude komunikovat v₧dy z jednoho a tΘho₧ terminßlu. Naopak je ₧ßdoucφ, aby z pohledu u₧ivatel∙ byly vÜechny terminßly ekvivalentnφ - aby u₧ivatel mohl p°ijφt ke kterΘmukoli z nich, kter² je prßv∞ voln², a pracovat z n∞j p°esnΘ stejn²m zp∙sobem jako z kterΘhokoli jinΘho terminßlu.
Vztah mezi ·lohou, kterß odn∞kud oΦekßvß svΘ vstupy a n∞kam chce posφlat svΘ v²stupy, a konkrΘtnφm terminßlem, ze kterΘho se u₧ivatel rozhodne pracovat, je tedy vztahem, kter² nenφ ß priori a pevn∞ dßn, ale utvß°φ se a₧ v okam₧iku, kdy u₧ivatel "zasedne" k n∞kterΘmu z terminßl∙ a projevφ svΘ p°ßnφ pracovat v operaΦnφm systΘmu.
Toto svΘ p°ßnφ projevuje u₧ivatel tzv. p°ihlßÜenφm (anglicky: login, nebo: logon), kdy na v²zvu operaΦnφho systΘmu zadß svΘ u₧ivatelskΘ jmΘno a svou identitu prokß₧e pot°ebn²m heslem.
P°ihlßÜenφm u₧ivatele do systΘmu z urΦitΘho terminßlu vznikß v²Üe naznaΦen² vztah mezi konkrΘtnφm terminßlem a aplikaΦnφ ·lohou, kter² je oznaΦovßn jako terminßlovß relace. NejlΘpe si ji lze p°edstavit jako abstraktnφ rozhovor, kter² urΦuje, kdo s k²m rozmlouvß. P°ihlßÜenφm u₧ivatele vznikß takovßto terminßlovß relace mezi terminßlem a operaΦnφm systΘmem jako takov²m - p°esn∞ji mezi terminßlem a tou systΘmovou ·lohou, kterß zajiÜ¥uje funkci interpreteru p°φkaz∙ operaΦnφho systΘmu, vysφlß na obrazovku terminßlu nßpov∞dn² znak (tzv. prompt), p°ijφmß od u₧ivatele jeho p°φkazy pro operaΦnφ systΘm, a zajiÜ¥uje jejich provedenφ (v prost°edφ Unixu se takovßto ·loha oznaΦuje jako shell).
P°φkazem, jej₧ u₧ivatel operaΦnφmu systΘmu zadßvß, m∙₧e b²t nap°φklad p°φkaz ke spuÜt∞nφ urΦitΘ aplikace, kterß pak p°ebφrß ji₧ existujφcφ terminßlovou relaci a jejφm prost°ednictvφm komunikuje se sv²m u₧ivatelem. Jde-li nap°φklad o editor, zobrazuje v rßmci terminßlovΘ relace obsah editovanΘho souboru na displeji p°φsluÜnΘho terminßlu a z jeho klßvesnice p°ijφmß svΘ p°φkazy.
V tuto chvφli je vhodnΘ si naÜi postupn∞ krystalizujφcφ p°edstavu terminßlovΘ relace jeÜt∞ pon∞kud poopravit. Nenφ toti₧ zcela p°esnΘ p°edstavovat si, ₧e z jednoho terminßlu je mo₧nΘ z°φdit (n∞kdy se °φkß tΘ₧: otev°φt) nejv²Üe jednu terminßlovou relaci. V principu je mo₧nΘ, aby si u₧ivatel z jednoho terminßlu otev°el vφce relacφ s r∙zn²mi aplikacemi, Φi dokonce s aplikacφ jedinou - nap°φklad aby si v ka₧dΘ jednotlivΘ relaci spustil tent²₧ editor (p°esn∞ji: instanci tΘho₧ editoru) a editoval jin² soubor. V ka₧dΘm okam₧iku jsou sice klßvesnice a displej terminßlu vyhrazeny jen jednΘ relaci - tj. u₧ivatel v₧dy komunikuje jen s jednou ·lohou v rßmci jednΘ relace - ale pomocφ klßvesnice se m∙₧e mezi jednotliv²mi relacemi rychle p°epφnat (obvykle pomocφ n∞jakΘ horkΘ klßvesy). Zßle₧φ jen na tom, zda dan² operaΦnφ systΘm a p°φsluÜn² terminßl vychßzφ tΘto mo₧nosti vst°φc.
DalÜφ zajφmavΘ mo₧nosti se pak otevφrajφ v okam₧iku, kdy do hry vstupujφ vzßjemn∞ propojenΘ poΦφtaΦe a poΦφtaΦovΘ sφt∞.
![]() |
![]() |
Terminßl Ta fyzicky p°ipojen² k poΦφtaΦi A se tak zaΦne chovat jako terminßl p°φmo p°ipojen² k poΦφtaΦi B. Na displeji terminßlu se nejprve zobrazφ nßpov∞dn² znak (prompt) interpreteru p°φkaz∙ poΦφtaΦe B a u₧ivatel pak m∙₧e z terminßlu Ta zadßvat p°φkazy operaΦnφmu systΘmu na poΦφtaΦi B. Nejprve se tedy p°ihlßsφ do systΘmu na poΦφtaΦi B (provΘst tzv. vzdßlenΘ p°ihlßÜenφ, angl.: remote login) a pak si nap°φklad spustφ n∞jakou aplikaΦnφ ·lohu. Ta "pob∞₧φ" na poΦφtaΦi B, ale svΘ vstupy bude oΦekßvat z terminßlu Ta, a jejφ v²stupy se budou zobrazovat na displeji terminßlu Ta. U₧ivatel, kter² sedφ u terminßlu Ta, tak bude mφt stejnΘ postavenφ a stejnΘ mo₧nosti prßce na poΦφtaΦi B, jako kdyby sed∞l p°φmo u terminßlu Tb tohoto poΦφtaΦe.
K ocen∞nφ v²hodnosti a u₧iteΦnosti vzdßlen²ch terminßlov²ch relacφ a vzdßlenΘho p°ihlaÜovßnφ snad zb²vß dodat jen jedinΘ: je vcelku lhostejnΘ, zda se poΦφtaΦe A a B nalΘzajφ blφzko sebe nebo zda jsou nap°φklad ka₧d² v jinΘm m∞st∞ Φi na jinΘm kontinent∞. Jedinou podmφnkou pro mo₧nost vzdßlenΘho p°ihlaÜovßnφ je vhodnΘ propojenφ obou poΦφtaΦ∙ a pak takΘ softwarovß podpora vzdßlen²ch terminßlov²ch relacφ. V p°φpad∞ poΦφtaΦov²ch sφtφ je pot°ebnΘ spojenφ ·kolem ni₧Üφch vrstev a podpora vzdßlen²ch terminßlov²ch relacφ je jednou z aplikaΦnφch slu₧eb. O tom, jak jsou vzdßlenΘ terminßlovΘ relace konkrΘtn∞ realizovßny v sφtφch na bßzi TCP/IP, si povφme p°φÜt∞.