• Nie Znaleziono Wyników

ZARZĄDZANIE TERMINALEM I WE/WY r

W dokumencie Oprogramowanie wielodostępu (Stron 73-78)

Jednym z najważniejszych zadań systemu wielodostępnego jest "utrzymanie w ruchu całego przedsięwzięcia". Deklaracje rozkazowe, dane i komunikaty diagnostyczne są przesyłane mię­

dzy komputerem a terminalem użytkownika. Dane są wprowadzane i wyprowadzane z systemu poprzez urządzenia wejścia i wyjścia.

Jest jasną sprawą, że system musi zużywać dużą część czasu jako regulator tego ruchu, kontrolując strumienie informacji.

1. Zarządzanie terminalem

W zasadzie istnieją dwa rodzaje terminali: takie, które w jednej chwili przesyłają jeden znak /jak na przykład termi­

nale wyposażone w dalekopis/ oraz takie, które w jednej chwi­

li przesyłają jeden lub więcej wierszy /jak na przykład alfa­

numeryczny monitor ekranowy/. Terminale wieloznakowe /tzn.

przesyłające jednocześnie większą liczbę znaków/ zwykle posia­

dają wbudowany bufor, który automatycznie przechowuje kolejno wprowadzane znaki aż do momentu, kiedy się naciśnie klawisz

"przesyłanie". Wówczas zawartość buforu zostaje przesłana do komputera. Terminale jednoznakowe nie posiadają takiego bufo­

ru i w nich każdy znak jest wysyłany z chwilą naciśnięcia kla­

wisza. Wiele z terminali jednoznakowych pracujących na łączach pół względnie pełnych dupleksowych nie dokonuje automatycznie wydruku znaku za niciśnięciem klawisza. Zamiast tego komputer po otrzymaniu przesłanego znaku wysyła z powrotem zakodowany rozkaz, by terminal dokonał wydruku. Dzieje się to tak szybko, że użytkownikowi wydaje się,iż terminal dokonuje wydruku rea­

gując na naciskanie klawiszy i nie przypuszcza on, że zachodzi proces typu: naciśnij klawisz - prześlij - odbierz - drukuj.

Tablica 5 PRZYKŁADY STRUKTUR ZBIORÓW REKORDÓW O STAŁEJ DŁUGOÓCI

7 0

-POŁOŻENIE Ł

L+lw L+2w

L+4-w

L+/n-3/v;

L+/n~2/w L+/n-1/w

a/

Zbiór

przechowywany sekwencyjnie

b/

Nieprzyległy' zbiór swobodny z łącznikami w przód

POŁOŻENIE L L+1w L+2w

M M+1w

N

P P+1w

"w” = długość rekordu /liczba słów lub znaków/

W tego rodzaju systemie bardzo szybko uwidaczniają się za­

kłócenia na łączach transmisji, ponieważ, na przykład, użytkow­

nik może nacisnąć klawisz "A" i na wydruku z klawiatury może zobaczyć "9". Wówczas nie trzeba się długo zastanawiać, by dojść do wniosku, że kod znaku został przekłamany gdzieś po drodze na łączu. Główną wadą tego systemu jest to, że procesor musi przechodzić w stan przerwania za każdym znakiem, a koszt ogólny przerwań jest tym większy, im jest wyższa częstotliwość przerwań.

Kiedy użytkownik wprowadza ze swojego terminala komunikat do systemu, system musi ten komunikat odebrać i sprawdzić;

może on także zawiadomić użytkownika o przyjęciu komunikatu, a nawet skierować go do odpowiedniego programu zastosowań.

W przypadku systemu z terminalem jednoznakowym odbiór komunika­

tu polega na budowaniu całego komunikatu w buforze procesora, aż do momentu otrzymania od terminala sygnału zakończenia ko­

munikatu /na przykład "powrót karetki"/. Sprawdzanie komunika­

tu zwykle polega na wykrywaniu przekłamań w transmisji za po­

mocą kontroli błędów parzystości. /W momencie, kiedy każdy ze znaków jest formowany celem jego przesłania, niektóre z ter­

minali dodają jeden bit, by uczynić w zakodowanym znaku sumę jedynek zawsze parzystą albo nieparzystą. W miejscu odbioru układy elektroniczne określają, czy suma jedynek jest taka

sama jak w momencie wysłania znaku z terminala; jeśli nie, to znaczy, że wystąpił "błąd parzystości"/. 0 ile komunikat jest skierowany do programu wykonawczego, jak to ma miejsce w przy­

padku dyrektyw, to wtedy program wykonawczy zajmie -się dal­

szym przetwarzaniem komunikatu, by określić rodzaj reakcji ze strony systemu. Inne komunikaty, które po prostu mogą być

da-- 72 ~

nymi, zostaną naznaczone do dalszego przetwarzania przez odpo­

wiedni program /kompilator, program zarządzający zbiorem lub program użytkowy/. Potwierdzenie komunikatu może polegać na wysłaniu z powrotem do terminala jednego lub kilku znaków, co może spowodować powrót karetki, wydruk odsyłacza, lub w jakiś

inny sposób zwrócić uwagę użytkownika, że system jest gotów do kolejnego wprowadzenia informacji, o ile nie było żądania wyprowadzenia informacji z systemu. Wiele systemów nie potwier­

dza ?:omurikatu bezpośrednio przy pomocy programu wykonawczego.

Zamiast tego program docelowy, to jest taki, który rzeczywiś­

cie odbiera komunikat,na podstawie ostatnio wprowadzonej in­

formacji określa, czy ma być wprowadzona dalsza informacja i stosownie do tego przesyła komunikat zwrotny.

Zwykle kiedy program już przygotował komunikat, celem prze­

słania do terminala, komunikat ten zostaje umieszczony w bufo­

rze i program wykonawczy zostaje zawiadomiony, by rozpocząć transmisję oraz nadzorować ją, aż do uwieńczonego powodzeniem

.-.akończenia. Tam, gdzie stosuje się koncentratory komunikatów /małe komputery używane głównie do przełączania kierunku ruchu komunikatów - mogą one jednak wykonywać inne funkcje/ i wystą­

pi awaria w transmisji między koncentratorem a systemem cen­

tralnym, mogą być kilkakrotnie podejmowane usiłowania ponownej transmisji, przy czym każdy z komputerów zlicza nie uwieńczone powodzeniem usiłowania, aż osiągnie się pewną, z góry określo­

ną, ich granicę-,

2« Zarządzanie We/w?/

Łączność z urządzeniami zewnętrznymi /czytniki kart, dziur­

karko. kart, drukarki oraz jednostki taśmy magnetycznej/ nie

może być przeprowadzana przez każdy indywidualny program z oso­

bna, jak to miało miejsce przed nastaniem systemów wielodostęp­

nych. Program wykonawczy przeprowadza przesyłanie danych między buforami danych dla poszczególnych programów a pamięciami niż­

szego szczebla. Mówiąc ogólnie, każdy program porozumiewa się z zespołem zbiorów poprzez program wykonawczy wielodostępu.

Ostatecznym przeznaczeniem wyprowadzanych danych może być, na przykład, drukarka na miejscu lub podłączona zdalnie, lecz pro­

gram dla danego zastosowania przesyła je do zbioru /zwykle przechowywanego w pamięci masowej/, który zostanie przesłany do odpowiedniego urządzenia odbiorczego przy pomocy programu wykonawczego.

Ponieważ zwykle jednocześnie kilka programów żąda przesyła­

nia danych, program wykonawczy musi ustawić kolejkę z tych żą­

dań celem podjęcia kolejnych akcji, gdy zakończą się bieżące operacje We/Wy. Początkowo stosowane struktury kolejek dla wykonania tego zadania były w zasadzie typu "pierwsze zgłosze­

nie - najpierw obsłużone" i na ogół nie optymalizowały one wy­

korzystania pamięci pośrednich takich, jak dyski i bębny. Bie­

żąco podjęte wysiłki są skierowane na lepsze wykorzystanie opóźnień wynikłych z postukiwania oraz z ruchu obrotowego po­

przez tworzenie wielorakich kolejek żądań We/Wy. Zamiarem jest wprowadzenie każdego poszczególnego żądania We/Wy do jednej z

szeregu kolejek, przy czym każda z tych kolejek jest powiązana z położeniem urządzenia poszukującego w pamięci /wówczas każ­

da poszczególna kolejka będzie przypisana do jakiegoś innego sektora na bębnie, lub cylindra na dysku/.

7 4

-Można sobie uzmysłowić pewnego rodzaju mechaniczne "ramię przełączające", które może wskazać każdą z kolejek, wybiera­

jąc jedną z nich dla następnej operacji We/Wy. Jeśli urządze­

niem pamięciowym jest bęben, wówczas obracamy ramię przełącza­

jące z taką samą prędkością, z jaką bęben się obraca, wychwy­

tując pierwsze żądanie z każdej kolejki, w trakcie ich prze­

suwania się przed ramieniem; ta taktyka — żądanie o najkrót­

szym czasie dostępu najpierw zmniejsza opóźnienie obrotowe przy dostępie do bębna. Jeśli urządzeniem jest pamięć dyskowa, to przy pomocy ramienia przełączającego przeglądamy tam i z powrotem cały zakres kolejek; taktyka ta zmniejsza straty cza­

su powstałe z powodu ruchów poszukiwawczych ramienia przy dos­

tępie do dysku. "W przypadku pamięci bębnowych ze stałymi gło-A wicami, ... łatwo uzyskać 20-krotny wzrost wykorzystania" „ Wzrost wykorzystania dla dysków .iestł>mnie.i okazały", lecz jest mimo to ulepszeniem.

W dokumencie Oprogramowanie wielodostępu (Stron 73-78)