VyÜlo v t²denφku: COMPUTERWORLD
╚φslo:1/93
RoΦnφk:1993
Rubrika/kategorie: Co (ne)najdete ve slovnφku

zp∞t do archivu Φlßnk∙ | rejst°φk | p°edchozφ Φlßnek | nßsledujφcφ Φlßnek

Ji°φ Peterka

Prompt

Napadlo by vßs n∞kdy bavit se s kusem ₧eleza? Ne? Co takhle s kusem k°emφku? ╚i s kouskem k°emφku, zapouzd°en²m do integrovanΘho obvodu? Nebo s poΦφtaΦem? To u₧ je asi jinß - ale nenφ vlastn∞ poΦφtaΦ stßle jenom trochou ₧eleza, trochou k°emφku v integrovan²ch obvodech, trochou m∞di, cφnu a dalÜφch prvk∙, sm∞sφ a p°φm∞sφ?

Jak se vlastn∞ Φlov∞k domluvφ s "hol²m ₧elezem", jak se °φkalo v dobßch, kdy jeÜt∞ sv∞tu vlßdly st°ediskovΘ poΦφtaΦe? Ty byly vybaveny slo₧it²mi °φdφcφmi panely, a s jejich pomocφ bylo mo₧nΘ poΦφtaΦi zadßvat r∙znΘ p°φkazy - nap°φklad naplnit pam∞¥ovou bu≥ku zadan²m obsahem, spustit program od zadanΘ adresy apod. Do dneÜnφ doby se z t∞chto monstr≤znφch °φdicφch panel∙ nezachovalo tΘm∞° nic - zbylo snad jedin∞ tlaΦφtko RESET, a i to u n∞kter²ch sebev∞dom²ch osobnφch poΦφtaΦ∙ schßzφ.

Krom∞ tohoto tlaΦφtka tak vlastn∞ u₧ivatelΘ nemajφ ₧ßdnou mo₧nost, jak p°φmo ovlßdat hardware svΘho poΦφtaΦe, tedy "bavit se s hol²m ₧elezem". VeÜkerß jejich komunikace s poΦφtaΦem - a p°edevÜφm pak spouÜt∞nφ nejr∙zn∞jÜφch aplikacφ - se uskuteΦ≥uje pouze prost°ednictvφm vhodnΘho programu, kter² musφ b²t spuÜt∞n automaticky po spuÜt∞nφ celΘho poΦφtaΦe (nebo po zmßΦknutφ onoho tlaΦφtka RESET), a kter² je urΦen prßv∞ k tomu, aby komunikoval s u₧ivatelem, p°ijφmal od n∞j p°φkazy, a zprost°edkovßval jejich provedenφ. Jde o program, kter² je mo₧nΘ v₧dy pova₧ovat za souΦßst operaΦnφho systΘmu. M∙₧e b²t oznaΦovßn mnoha r∙zn²mi nßzvy (nap°. command processor, console command processor, command language interpreter) nejΦast∞ji vÜak: shell (nap°. v operaΦnφch systΘmech MS DOS Φi Unix). Doslova tedy "sko°ßpka" Φi "slupka", kterß obaluje operaΦnφ systΘm, a mß na starosti prßv∞ komunikaci s u₧ivatelem. U₧ivatel tedy p°edßvß sv∙j p°φkaz shellu, ten se sna₧φ kontrolovat jeho sprßvnost (pokud je to v jeho silßch) a p°edßvß jej tΘ Φßsti operaΦnφho systΘmu, kterß je schopna zajistit provedenφ zadanΘho p°φkazu. Stejn∞ tak zprost°edkovßvß zmφn∞n² shell i komunikaci opaΦn²m sm∞rem, tedy od operaΦnφho systΘmu k u₧ivateli - pokud si ovÜem tuto komunikaci nezajiÜ¥ujφ p°φmo jednotlivΘ aplikaΦnφ programy, kterΘ si u₧ivatel prost°ednictvφm sv²ch p°φkaz∙ vyvolßvß.

Zde ovÜem vyvstßvß zajφmavß otßzka - jak u₧ivatel poznß, kdy s nφm komunikuje operaΦnφ systΘm prost°ednictvφm shellu, a kdy si s nφm "povφdß" n∞kter² aplikaΦnφ program? Jak nap°φklad poznß, ₧e shell Φekß na jeho dalÜφ p°φkaz, nebo zda po n∞m d°φve spuÜt∞n² aplikaΦnφ program chce, aby mu zadal urΦit² vstupnφ ·daj? RozliÜit tyto dva p°φpady nemusφ b²t v₧dy jednoduchΘ. ProblΘm m∙₧e vyvstat nap°φklad tehdy, jestli₧e aplikaΦnφ program sv∙j po₧adavek na zadßnφ vstupu v∙bec nijak neoznßmφ (tj. sßm nic nevypφÜe), a pouze Φekß na reakci u₧ivatele.

Zato shell se v₧dy sna₧φ dßt u₧ivateli vhodn∞ najevo, ₧e je p°ipraven p°ijmout jeho dalÜφ p°φkaz. ╚inφ tak tφm, ₧e vypφÜe na obrazovku urΦit² charakteristick² °et∞zec, kter²m svou p°ipravenost signalizuje. Takov²to °et∞zec se v angliΦtin∞ oznaΦuje obecn∞ jako prompt, co₧ by Ülo p°elo₧it nejspφÜe ve smyslu "vybφdnutφ" (tj. jako vybφdnutφ u₧ivatele k zadßnφ p°φkazu), p°φpadn∞ jako "nßpov∞da" Φi "nßpov∞dn² znak". V odbornΘm ₧argonu se termφn "prompt" v∞tÜinou nep°eklßdß, a pokud je to p°i psanΘm projevu opravdu nezbytnΘ, pou₧φvß se obvykle termφn "nßpov∞dn² znak". To ale m∙₧e b²t pon∞kud zavßd∞jφcφ. "Prompt" m∙₧e skuteΦn∞ b²t nßpov∞dn²m znakem - m∙₧e jej skuteΦn∞ tvo°it jedin² znak (jako je tomu obvykle v Unixu) - ale obecn∞ m∙₧e jφt o cel² °et∞zec znak∙, navφc prom∞nnΘ dΘlky. Nap°φklad v prost°edφ operaΦnφho systΘmu MS-DOS je prompt standardn∞ tvo°en oznaΦenφm logickΘ jednotky a p°φstupovou cestou k aktußlnφmu adresß°i, tak₧e mß nap°. tvar:

                 C:\DOS>

V²hodou je pak skuteΦnost, ₧e u₧ivatel p°φmo z promptu poznß, jak² je jeho aktußlnφ adresß°. Velmi Φasto je ale mo₧nΘ tvar promptu m∞nit - nap°φklad prßv∞ v MS-DOSu je na to stejnojmenn² p°φkaz PROMPT - tak₧e u₧ivatel si m∙₧e sßm zvolit takov² tvar promptu, jak² mu nejlΘpe vyhovuje.

Dlu₧no ovÜem podotknout, ₧e o promptu neboli o nßpov∞dnΘm znaku se hovo°φ v∞tÜinou jen v souvislosti s °ßdkov∞ orientovan²m u₧ivatelsk²m rozhranφm. Tedy tehdy, kdy₧ si operaΦnφ systΘm povφdß s u₧ivatelem prost°ednictvφm svΘho shellu ve znakovΘm re₧imu. TakΘ MS-DOS, p∙vodn∞ v²hradn∞ °ßdkov∞ orientovan², ji₧ dnes nabφzφ i grafick² shell, kter² s u₧ivatelem komunikuje v grafickΘm re₧imu. GrafickΘ shelly pak majφ mnohem v∞tÜφ mo₧nosti, jak u₧ivateli dßt najevo svou p°ipravenost, a blφ₧e specifikovat, co od n∞j oΦekßvajφ - nabφdkou ikon, pomocφ nejr∙zn∞jÜφch menu, okΘnek a dalÜφch mechanism∙. Ale o nich zase a₧ n∞kdy jindy.

--------------------------

P.S. Anglicko-Φesk² v²kladov² slovnφk v²poΦetnφ techniky p°eklßdß anglick² termφn "prompt" jako nßznak. Nejsem si jist, zda nejde nßhodou o zkratku za "N┴pov∞dn² ZNAK"


zp∞t do archivu Φlßnk∙ | rejst°φk | p°edchozφ Φlßnek | nßsledujφcφ Φlßnek
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