VyÜlo v t²denφku: COMPUTERWORLD
╚φslo:6/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

Batch

V dßvn²ch dobßch, kdy sv∞tu jeÜt∞ vlßdly st°ediskovΘ poΦφtaΦe a u₧ivatel∙m d∞rnΘ Ütφtky, nebylo dost dob°e mo₧nΘ, aby ka₧d² jednotliv² u₧ivatel byl "u toho", kdy₧ se jeho ·loha skuteΦn∞ zpracovßvala. Mφsto toho musel u₧ivatel p°edem p°esn∞ stanovit, co a jak se mß s jeho ·lohou ud∞lat, kde mß tato ·loha vzφt svß vstupnφ data, co se mß stßt s jejφmi v²stupnφmi daty apod. Navφc musel toto svΘ p°ßnφ vyjßd°it v takovΘ form∞, kterß by byla pro poΦφtaΦ srozumitelnß - pomocφ p°φkaz∙ vhodnΘho °φdicφho jazyka - a vÜe 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 zpracovßn v podstat∞ kdykoli, kdy₧ k tomu byla vhodnß p°φle₧itost. Obvykle se vÜechny p°ipravenΘ dßvky °adily do front a zpracovßvaly tehdy, a₧ na n∞ doÜla °ada. TakovΘmuto re₧imu se pak °φkalo dßvkovΘ zpracovßnφ (batch processing).

Pozd∞ji, kdy₧ velkΘ st°ediskovΘ poΦφtaΦe byly ji₧ vybaveny mnoha terminßly a pracovaly souΦasn∞ na vφce ·lohßch v re₧imu tzv. sdφlenφ Φasu (time sharing), u₧ivatel ji₧ mohl b²t "u toho". Prost°ednictvφm terminßlu mohl interaktivn∞ komunikovat jak se svou vlastnφ ·lohou, tak i s operaΦnφm systΘmem, kterΘmu mohl pr∙b∞₧n∞ zadßvat svΘ p°φkazy. ╚asto mu sice dlouho trvalo, ne₧ si rozmyslel, co vlastn∞ chce, a ne₧ to poΦφtaΦi skuteΦn∞ zadal - zvlßÜt∞ kdybychom rychlost reakce Φlov∞ka m∞°ili rychlostφ poΦφtaΦe. Tomu to vÜak p°φliÜ nevadilo, proto₧e mezitφm mohl plnou svou rychlostφ pracovat na ·lohßch, kterΘ mu ji₧ d°φve zadali jinφ u₧ivatelΘ.

MyÜlenka p°edem si p°ipravit p°φkazy pro operaΦnφ systΘm a pak mu je p°edat vÜechny najednou vÜak p°etrvala zßnik dßvkovΘho zpracovßnφ v jeho p∙vodnφ podob∞.

Zm∞nila se vÜak motivace, kv∙li kterΘ to u₧ivatelΘ d∞lajφ, a ΦßsteΦn∞ i souvisejφcφ terminologie.

Jednou z mo₧n²ch motivacφ je snaha vyhnout se opakovanΘmu vypisovßnφ dlouh²ch a mßlo mnemonick²ch p°φkaz∙. Pro u₧ivatele je jist∞ v²hodn∞jÜφ, m∙₧e-li si takov²to p°φkaz Φi celou skupinu na sebe navazujφcφch p°φkaz∙ p°ipravit ve form∞ textovΘho souboru a operaΦnφmu systΘmu pak poka₧dΘ mφsto "skuteΦn²ch" p°φkaz∙ zadat tento soubor, ze kterΘho si operaΦnφ systΘm svΘ p°φkazy p°evezme ji₧ sßm. DalÜφ mo₧nou motivacφ je snaha zjednoduÜit prßci b∞₧n²m u₧ivatel∙m - sprßvce systΘmu, systΘmov² programßtor Φi zkuÜen∞jÜφ u₧ivatel m∙₧e p°ipravit takov²to soubor s p°φkazy pro operaΦnφ systΘm a soubor zp°φstupnit ostatnφm u₧ivatel∙m. Ti pak mohou jeho prost°ednictvφm zadßvat operaΦnφmu systΘmu provedenφ "p°edem p°ipraven²ch" akcφ, ani₧ by se museli starat o v²znam a p°esn² formßt p°φsluÜn²ch p°φkaz∙, poΦet a tvar jejich parametr∙ atd. Tφmto zp∙sobem je vlastn∞ mo₧nΘ vytvo°it pro b∞₧nΘ u₧ivatele zcela odliÜn² zp∙sob prßce v operaΦnφm systΘmu, vybudovat pro n∞ mnohem komfortn∞jÜφ prost°edφ a odstφnit je od mnoha detal∙ technickΘho charakteru.

Skupin∞ p°φkaz∙ operaΦnφho systΘmu, kterß slou₧φ v²Üe uvedenΘmu ·Φelu a mß obvykle formu textovΘho souboru, se v angliΦtin∞ °φkß batch file (nap°. v prost°edφ MS-DOSu) nebo command file, p°φpadn∞ shell script (nap°. v prost°edφ Unixu). ╚esky je asi nejvhodn∞jÜφ termφn p°φkazov² soubor, ev. skript (v Unixu).

Mo₧nost vytvß°et a pou₧φvat p°φkazovΘ soubory m∙₧e b²t velmi mocn²m mechanismem. K tomu je ale pot°eba, aby v rßmci p°φkazovΘho souboru bylo mo₧nΘ zajistit nap°φklad opakovßnφ n∞kter²ch p°φkaz∙, volit dalÜφ postup alternativn∞ podle stavu urΦitΘ podmφnky, umo₧nit, aby p°φkazovΘ soubory mohly samy mφt parametry atd. V∞tÜina operaΦnφch systΘm∙ proto definuje cel² °φdicφ jazyk, kter² je mo₧nΘ p°i sestavovßnφ p°φkazov²ch soubor∙ pou₧φvat a kter² pak obsahuje nap°. p°φkazy podmφn∞nΘho Φi nepodmφn∞nΘho skoku, volßnφ jinΘho p°φkazovΘho souboru, mo₧nost testovßnφ parametru p°φkazovΘho souboru apod. Bohatost tohoto jazyka, a tφm i mo₧nosti p°φkazov²ch soubor∙, jsou v r∙zn²ch operaΦnφch systΘmech samoz°ejm∞ r∙znΘ. Velmi chud² je tento °φdicφ jazyk v MS-DOSu, velmi bohat² je naopak v Unixu.

Pro vytvß°enφ p°φkazov²ch soubor∙ vÜak existuje jeÜt∞ jedna motivace - zrychlenφ odezvy u₧ivatele. MyÜlenka p°edem si p°ipravit p°φkazy a pak je zadat jako celek toti₧ nemusφ nutn∞ b²t vßzßna jen na operaΦnφ systΘm a jeho p°φkazy. Stejn∞ tak dob°e je mo₧nΘ si p°edem p°ipravit p°φkazy pro n∞jakou interaktivnφ aplikaci a pak zajistit, aby si je dokßzala sama p°evzφt z p°φsluÜnΘho p°φkazovΘho souboru. Aplikace pak nebude muset Φekat na reakci u₧ivatele, kterß je vzhledem k rychlosti aplikace (resp. poΦφtaΦe) v₧dy velmi pomalß a m∙₧e dßle pokraΦovat pln²m tempem.

Äe vßs nenapadß sitauce, kdy by se takov²to mechanismus mohl hodit? To jste se sv²m poΦφtaΦem asi jeÜt∞ nikdy nekomunikovali po telefonu (p°es modem) s jin²m poΦφtaΦem (nap°. se stanicφ BBS). Volßte-li mezim∞stsky Φi komunikujete-li s takov²m systΘmem, kde platφte za dΘlku spojenφ, je ve vaÜem vlastnφm zßjmu, aby vÜe Ülo co mo₧nß nejrychleji. Pak je velmi v²hodnΘ sv∞°it komunikaci s prot∞jÜφ stranou p°φkazovΘmu souboru, kter² za vßs vΦas a maximßlnφ mo₧nou rychlostφ zadß nap°. vaÜe u₧ivatelskΘ jmΘno a heslo, vy₧ßdß si doÜlou poÜtu apod.

V∞tÜina komunikaΦnφch program∙ pro osobnφ poΦφtaΦe je dnes vybavena Φasto dosti slo₧it²m °φdicφm jazykem, kter² umo₧≥uje sestavovat p°φkazovΘ soubory k prßv∞ naznaΦenΘmu ·Φelu. P°φsluÜn²m p°φkazov²m soubor∙m se v angliΦtin∞ °φkß script files Φi pouze scripts (Φesky nejspφÜe skripty, podobn∞ jako v Unixu) a jazyku pro jejich sestavovßnφ script language (skriptov² jazyk). P°φkazy tohoto jazyka umo₧≥ujφ mj. vysφlat zadanΘ °et∞zce znak∙ (kterΘ mohou p°edstavovat nap°. p°φkazy pro p°ihlßÜenφ do systΘmu na druhΘ stran∞ Φi jinΘ p°φkazy pro tento systΘm, dßle jmΘna, hesla apod.) a takΘ Φekat na p°edem urΦenΘ °et∞zce znak∙ od druhΘ strany (aby bylo mo₧nΘ nap°. zachytit okam₧ik, kdy prot∞jÜφ strana po₧aduje zadßnφ u₧ivatelskΘho jmΘna, a adekvßtn∞ na to reagovat).


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