VyÜlo v t²denφku: | CHIPweek |
╚φslo: | 5/96 |
Datum: | 30. ledna 1996 |
Strana: | 25 |
Rubrika/kategorie: | Principy poΦφtaΦov²ch sφtφ |
Modul: | V²voj v²poΦetnφho modelu |
Dφl: | 3 |
P°echod z neinteraktivnφho dßvkovΘho zpracovßnφ na interaktivnφ zp∙sob prßce, po kterΘm u₧ivatelΘ prvnφch poΦφtaΦ∙ velmi intenzivn∞ volali, nebyl zdaleka jednoduchou zßle₧itostφ. Vy₧adoval toti₧ existenci technik a mechanism∙, kterΘ na samΘm poΦßtku poΦφtaΦovΘ Θry nebyly k dispozici. Nap°φklad bylo nutnΘ vytvo°it takovΘ prost°edky, kterΘ by umo₧≥ovaly zpracovßvat vφce jak jednu ·lohu najednou - to byl toti₧ jeden ze zßkladnφch p°edpoklad∙ toho, aby v∙bec m∞lo smysl uva₧ovat o interaktivnφm zp∙sobu prßce vφce u₧ivatel∙ souΦasn∞. Cesta k dneÜnφmu multitaskingu vÜak byla postupnß, a vedla nejprve p°es zavedenφ asynchronnφch vstupn∞/v²stupnφch operacφ - zde stßle b∞₧ela jen jedna ·loha, ale pokud tato iniciovala n∞jakou vstupn∞/v²stupnφ operaci, mohla tato probφhat samostatn∞, bez ·Φasti procesoru, kter² se v tΘ dob∞ ji₧ mohl v∞novat jinΘ ·loze. SkuteΦn∞ soub∞₧nΘ zpracovßnφ n∞kolika ·loh, a¥ ji₧ pat°φcφch r∙zn²m u₧ivatel∙m Φi u₧ivateli jedinΘmu, vÜak stßle brßnila existence jedinΘho procesoru, kter² se v ka₧dΘm okam₧iku mohl v∞novat prßv∞ jednΘ ·loze (a¥ ji₧ u₧ivatelskΘ, nebo systΘmovΘ, tvo°φcφ souΦßst operaΦnφho systΘmu). Mo₧nost p°idat vφce procesor∙ tehdy nep°ichßzela moc do ·vahy, a problΘm by stejn∞ ne°eÜila - poΦet procesor∙ by se t∞₧ko mohl dynamicky m∞nit podle toho, kolik ·loh by bylo v danΘm okam₧iku t°eba spustit. Proto se p°istoupilo na mal² trik - procesor se ponechal jen jeden, ale jednotlivΘ ·lohy se na n∞m zaΦaly st°φdat. St°φdat takov²m zp∙sobem, ₧e procesor se v∞nuje provßd∞nφ urΦitΘ konkrΘtnφ ·lohy jen po jistou dobu (velmi krßtkou, nap°φklad n∞kolik desφtek milisekund), potΘ se obdobnou dobu v∞nuje provßd∞nφ druhΘ ·lohy, pak t°etφ atd., a₧ se po vyst°φdßnφ vÜech ·loh znovu vracφ k prvnφ, k druhΘ atd., a vÜe se neustßle v cyklu opakuje. Ve skuteΦnosti se tak jednotlivΘ ·lohy d∞lφ o celkov² äΦas" procesoru, a proto se prßv∞ naznaΦenΘ techniky obecn∞ oznaΦujφ jako äsdφlenφ Φasu" (time sharing). Nedokß₧φ samoz°ejm∞ zajistit skuteΦn∞ paralelnφ provßd∞nφ jednotliv²ch ·loh, kterΘ na jedinΘm procesoru nenφ ani v principu mo₧nΘ. Dokß₧φ vÜak vytvo°it alespo≥ vhodnou iluzi takovΘhoto paralelismu, alespo≥ z pohledu u₧ivatele - rychlost, s jakou Φlov∞k reaguje na zm∞ny, je toti₧ nesrovnateln∞ menÜφ ne₧ rychlost, s jakou pracuje poΦφtaΦ. P°i vhodnΘ implementaci technik sdφlenφ Φasu je tak mo₧nΘ vytvo°it ka₧dΘmu ze soub∞₧n∞ pracujφcφch u₧ivatel∙ dostateΦn∞ v∞rnou iluzi toho, ₧e jejich ·loha äb∞₧φ" trvale.
Pokud m∞lo b²t mo₧nΘ, aby na jednom a tΘm₧e poΦφtaΦi pracovalo interaktivnφm zp∙sobem vφce u₧ivatel∙ souΦasn∞, bylo nutnΘ pro n∞ vybudovat vhodnß u₧ivatelskß pracoviÜt∞. Tedy zp°φstupnit ka₧dΘmu z nich takovΘ za°φzenφ, kterΘ by mu umo₧nilo komunikovat s jeho ·lohou, p°φpadn∞ s jednou z vφce ·loh, kterΘ si na danΘm poΦφtaΦi spustφ. Tato komunikace p°itom m∞la charakter p°enosu vstup∙ od u₧ivatele sm∞rem k jeho ·loze, a p°enos v²stup∙ tΘto ·lohy sm∞rem k u₧ivateli. VÜe se p°itom odehrßvalo (alespo≥ zpoΦßtku) na ·rovni p°enosu jednotliv²ch znak∙, tak₧e pro vstup postaΦovala b∞₧nß klßvesnice, a pro v²stup jedoduchß °ßdkovß tiskßrna. Dohromady pak tato dv∞ za°φzenφ (klßvesnice a tiskßrna) tvo°ila jeden celek, oznaΦovan² jako terminßl. Pom∞rn∞ zßhy vÜak tiskßrnu v rßmci terminßl∙ nahradil obrazovkov² displej, kter² byl v mnoha ohledech p°eci jen Üikovn∞jÜφ.
Prvnφ generace terminßl∙ s obrazovkov²m displejem se vÜak stßle chovala stejn∞, jako kdyby byla mφsto displejem vybavena tiskßrnou - jednotlivΘ znaky se ätiskly" (zobrazovaly) postupn∞ za sebou, p°i zapln∞nφ °ßdky se pokraΦovala na °ßdce novΘ, ale neexistovala mo₧nost p°echodu zp∞t na n∞kterou z p°edchozφch °ßdek. ╪eΦeno soudobou terminologiφ, neexistoval zde posun kurzoru nahoru a dol∙, a nebylo zde tudφ₧ mo₧nΘ realizovat celoobrazovkov² re₧im prßce, typick² pro mnoho pozd∞jÜφch editor∙. TΘto prvnφ generaci terminßl∙ se dodnes °φdß äznakovΘ" Φi ä°ßdkovΘ", a spadajφ do kategorie tzv. neinteligentnφch terminßl∙ (v angliΦtin∞ mnohem explicitn∞ji oznaΦovan²ch jako ädumb").
Pozd∞ji se samoz°ejm∞ objevily dokonalejÜφ terminßly, schopnΘ p°echodu mezi °ßdkami a obecn∞ po celΘm dvourozm∞rnΘm poli zobrazovan²ch znak∙ (dnes se jim °φkß strßnkovΘ, Φi celoobrazovkovΘ terminßly), a pozd∞ji dokonce jeÜt∞ inteligentn∞jÜφ terminßly, schopnΘ pracovat s obrazovkami, Φlen∞n²mi na r∙znß pole s texty a okΘnky formulß°ovΘho typu (jde o tzv. formulß°ovΘ terminßly). N∞kterΘ terminßly jsou ji₧ takΘ äinteligentnφ" v tom smyslu, ₧e jsou vybaveny jistou vlastnφ v²poΦetnφ kapacitou - podstatnΘ je vÜak to, ₧e ji vyu₧φvajφ jen pro inteligentn∞jÜφ zpracovßnφ vstup∙, kterΘ u₧ivatel zadßvß, a pro inteligentn∞jÜφ zpracovßnφ v²stup∙, kterΘ u₧ivateli zasφlß k vyobrazenφ jeho ·loha. Zßkladnφ vlastnostφ terminßlu vÜak nadßle z∙stßvß to, ₧e slou₧φ pouze pot°ebßm vstupu a v²stupu, a sßm nezpracovßvß ₧ßdnΘ u₧ivatelskΘ ani systΘmovΘ aplikace.
Od oznaΦenφ ähost" je pak odvozeno i pojmenovßnφ v²poΦetnφho modelu, ve kterΘm pracujφ aplikace urΦenΘ pro takovΘto prost°edφ hostitelsk²ch poΦφtaΦ∙, vybaven²ch terminßly: jde o model host/terminßl.