OŚRODEK BADAWCZO - ROZWOJOWY INFORMATYKI

OPROGRAMOWANIE WlELODOSTJgPU

Europejski Program Badawczy Diebolda

Zeszyt 50 Warszawa» 1972 :\

:V'? ¿ '• v-'/' * .•"• • j V? ’• . -'T'.V.-- •. ■' - :■ S sww!.'5?.i> •- •• .-V ï à . OŚRODEK BADAWCZO ~ ROZWOJOWY JNEOPJMTYKI

OPROGRAMOWANIE WIELODOSTEPU

Europejski Program Badawczy DietoIda

Wyłącznie do użytku na terenie PRL

Zeszyt 50 /Fi 65/

Warszawa 1972

Działowy Ośrodek Informacji Tytuł oryginału: TIME SHARING SOFTWARE Doc. W 65

Tłumaczenie: Inż. Jędrzej Spychalski Redakcja merytoryczna: Dr Stanisław Nelken Opracowanie edytorskie: Janina Strawa

Komitet Redakcyjny Redaktor Naczelny: Dr Zdzisław Zapolski Zastępca Redaktora Naczelnego: Dr Stanisław Nelken Sekretarz Redakcji: Janina Jerzykowska Redaktorzy: Inż. Mieczysław Gula Mgr inż. Franciszek Haratym

Wydawca: Ośrodek Badawczo-Rozwojowy Informatyki Działowy Ośrodek Informacji Warszawa, ul. Czerniakowska 75/79 tel. 412 184 SPIS TREŚCI

Streszczenia ...... *...... str. 5 I. Wprowadzenie ...... ,ł 8 A. Zarys historyczny oraz terminologia.... f* 8 . B. Wnioski końco\ve *...... " 12 C. Zakres i metodologia niniejszego sprawoz­ dania ...... *.... ” 1 0

II. Czy stosować wielodostęp? ...... " 18 A. Zastosowania ...... ” 18 B. Dlaczego właśnie wielodostęp Z ...... " 23 C. Usługi zewnętrzne w zakresie wielodostępu . " 38 D. Systemy wielodostępne wewnętrzne ...... 11 40 E. Lista kontrolna decyzji w zakresie wielodostępu...... ,ł 42

III. Aktualna realizacja ...... " 47 A. Taktyki planowania i zarządzania procesorem ,ł 50 B. Zarządzanie pamięcią i zbiorami...... ,ł 56 C. Zarządzanie terminalem i We/Wy ...... ,ł 70 D. Zarządzanie systemem oraz samozarządzanie • ” 74

17. Obszary problemowe i możliwości ich rozwiązania " 81 A. Efektywne wykorzystanie zasobów ...... " 82 B. Wyjście naprzeciw potrzebom użytkowników .. ” 111 C. Niezawodność ...... ” 132 D. Poufność ...... " 138 E. Zarządzanie danymi ...... *’ 143

V. Informacja a wielodostęp ...... " 157

Słowniczek...... " 164

Załącznik ...... " 168

STRESZCZENIE

Program Badawczy Diebolda w Stanach Zjednoczonych A.P. przeprowadził ostatnio badanie stanu umiejętności w zakresie wiolodostępu ze szczególnym naciskiem na jego oprogramowanie, jego bieżące możliwości i ograniczenia, oraz przewidywany w najbliższej przyszłości rozwój* Uważa się, że z powodu szyb­ kiego wzrostu zainteresowania wiełodostępom w Anglii oraz na terenie Europy kontynentalnej, wyniki tego badania będą miały duża znaczenie dla europejskich uczestników Programu. W zwią­ zku z tym w niniejszym dokumencie przedstawiono wyniki badań przeprowadzonych przez Program Badawczy Diebolda w Stanach Zjednoczonych*

Wielodostęp /time-sharing/, we wszystkich swoich przejawach, jest najszybciej rosnącym odcinkiem przemysłu komputerowego. W Stanach Zjednoczonych rynek dla tego typu sprzętu powięk­ sza się corocznie o około 75%» Także przeszło połowę przed­ siębiorstw interesujących się przetwarzaniem danych przewi­ duje, że zainstaluje tego rodzaju systemy już w roku 1971. Niniejsze sprawozdani© Programu Badawczego Diebolda, szcze­ gólni© się koncentrując na zagadnieniach oprogramowania,śle­ dzi bieżące zastosowania wielodostępu, jego stosowność oraz uzasadnienie, aktualny stan wiedzy w tym zakresie, oraz pow­ stając© trendy rozwojowe. Największy nacisk położono na ob­ szary problemowo, powiązane z nimi prace badawczo, oraz na możliwe rozwiązania. Zastosowanie wielodostępu spotyka się z coraz większym zain­ teresowaniem w przemyśle, kształceniu i świecie gospodarczym. Użytkownicy tłumaczą zastosowanie wielodostępu wygodą, elas­ tycznością i szybką reakcją, jak również niezadowoleniem z tradycyjnych metod przetwarzania danych. Jako krytyczne czyn­ niki podkreśla się także korzyści ekonomiczne oraz usprawnie­ nia w realizacji. Niektórzy z użytkowników deklarują, że na­ pisanie i sprawdzenie programu może być na przykład wykonane pięć do dziesięciu razy szybciej niż przy przetwarzaniu par- tiowym.

W związku z wprowadzaniom wielodostępu powstają problemy w zakresie sprzętu jak i oprogramowania, a mianowicie: efekty­ wne /wydajne/ wykorzystanie zasobów, wyjście naprzeciw po­ trzebom użytkownika, niezawodność, dyskrecja / aby informa­ cje nie dostały się w niepowołane ręce/, oraz kierowanie przepływem danych. Obecnie jednym z największych problemów jest zarządzanie pamięcią. Tutaj duży wpływ na strukturę da­ nych, sterowanie dostępem, politykę planowania przetwarzania i alokacji pamięci wywierają hierarchiczne ograniczenia zmie­ nnej szybkości przetwarzania, wielkości oraz czasów dostępu# Jedno z wielkich przedsiębiorstw zaprojektowało i opracowało specjalną logikę adresowania dla eksploatowanego systemu z pamięcią bębnową, mającą na celu zupełną eliminację opóźnień w dostępie. Przesyłanie danych rozpoczyna się natychmiast, bez względu na pozycję kątową bębna, do lub z odpowiednio za­ indeksowanego miejsca pamięci, przy zastosowaniu automatycz­ nej logiki tzw, noY/ijania” /wrap-around logie/. Tego rodzaju ulepszenia w sprzęcie torują drogę lepszemu projektowaniu i wdrażaniu oprogramowania. Technika ”stronicowania” /paging/ - 7 ~ - segmentacji pamięci jeszcze ciągle jest przedmiotem gorą­ cych dyskusji« A jednak mimo to wykazuje ona największy po­ tencjał poważnego wzrostu aż do momentu, kiedy nadejdzie e- ra bardzo dużych i bardzo szybkich pamięci centralnych - co z kolei może zapoczątkować nową rewolucję. Jednym z najwięk­ szych problemów dnia jutrzejszego będzie kierowanie przepły­ wem danych: pamięci asocjacyjne oraz dynamiczne struktury da­ nych mogą być kluczem do efektywnego i dogodnego zarządzania wspólnie użytkowanych zbiorów. Coraz więcej wielkich jed­ nostek gospodarczych uświadamia sobie potrzebę próbowania znalezienia sposobu zapewnienia płaszczyzny styku między ba­ zą danych a systemami wielodostępnymi.

Nabycie możliwości wielodostępu można sklasyfikować według trzech etapów: /1/ zapisanie się do odpłatnej sieci usługo­ wej, /2/ własne opracowanie systemu na handlowo dostępnym sprzęcie, oraz /o/ zaprojektowanie i opracowanie specjalnego systemu sprzętu i oprogramowania na własny użytek. Proces po­ dejmowania decyzji w tych trzech etapach polega na określeniu, czy w ogóle istnieje zapotrzebowanie na wielodostęp, następ­ nie określeniu /na podstawie rozważenia finansowej strony za­ gadnienia, wielkości zapotrzebowania i innych czynników/ czy zadawalający będzie system dzierżawiony z sieci usługowej, czy też wymagany jest system własny. Sprzedawcę tego rodzaju usług dobiera się na zasadzie najlepszego dopasowania dostę­ pnych usług do Istniejących potrzeb. Większość użytkowników postawiło wniosek, że obecnie praktykowane wdrażanie wielo­ dostępu na uniwersalnych systemach sprzętu nie zapewnia wy­ dajnego działania wielodostępu właśnie z powodu tej uniwer­ salności sprzętu. Takie wnioski w niewielu przypadkach do­ prowadziły do trzeciego etapu uzyskania systemu wielodostęp­ nego, to jest do budowy specjalnego sprzętu i oprogramowania. I. WPROWADZENIE

A* ZARYS HISTORYCZNY ORAZ TERMINOLOGIA

Początki komputerów wielodostępnych datują się już od ro- ku 1940, kiedy to zaczęto eksploatować trójkonsolowy system opracowany przez Bell Telephone dla zagadnień, związanych z filtrami elektrycznymi. W połowie lat pięćdziesiątych pows­ tały wielodostępne wojskowe systemy dowodzenia i kierowania, jak na przykład SAGE. Termin wielodostęp /w jęz. ang.: time - sharing/ w tłumaczeniu dosłownym:"podział czasu" lub "udział w czasie" - domyślnie - w czasie pracy komputera/ po raz pier­ wszy użyto w początkach lat sześćdziesiątych dla opisania do­ świadczalnych systemów uniwersalnego przeznaczenia, wykorzys­ tywanych do rozwiązywania różnych problemów; szczególnie cho­ dzi tu c takie systemy jak CTSS /Compatible Time-Sharing Sys­ tem dla Projektu MAC w Massachusetts Institute of Technology/, JOSS /Johnniac Open-Shop System w przedsiębiorstwie RAND/, oraz TSS /Time-Sharing System w przedsiębiorstwie System De­ velopment Corporation/. Inne systemy wielodostępne zostały opracowane przez uniwersytety i organizacje prywatne. Działo się tak aż niemal do połowy dziesięciolecia , kiedy to producen­ ci komputerów poniewczasie zauważyli potencjalny rynek zbytu i.rozpoczęli opracowywanie własnych projektów w tym zakresie, lub nabyli systemy opracowane w sposób odosobniony celem ich dalszego rozpowszechnienia. Obecnie rynek zbytu dla systemów wielodostępnych zwiększa się w skali rocznej o około 75% . Wywiady zbiorowe, przeprowadzone przez takie organizacje jak _ 9 -

Stowarzyszenie Organizacji Usług Przetwarzania Danych /Asso­ ciation of Data Processing Service Organisations - ADAPSO/, wykazały, że około 60% przedsiębiorstw zainteresowanych prze­ twarzaniem danych przewiduje w roku 1971 zainstalowanie sys­ temu wielodostępnego*

To niezwykłe tempo rozwoju spowodowane jest trzema czyn­ nikami s

1. oszczędnościami uzyskiwanymi dzięki jednoczesności pra­ cy wielu uży tko\vników, mających łatwy dostęp do kompu­ tera, na który niewielu z nich mogłoby sobie pozwolić indywidualnie;

2* pozornie natychmiastowy czas dostępu oraz wskrzeszenie ciągłego wzajemnego oddziaływania między człowiekiem a maszyną, co w dużym stopniu zaniknęło przy eksploata­ cji w ośrodkach zamkniętych;

3. coraz większe zwracanie uwagi na lepsze wykorzystanie zasobów, których nie ma pod dostatkiem - zarówno lu­ dzi jak i maszyn.

Jednakże przed przemysłem nie przestawały się piętrzyć coraz większe trudności. I rzeczywiście jest on gnębiony przez za­ męt w zakresie semantyki, technologii i metodologii. Termi­ nologia mnożyła się co najmniej tak szybko jak jej przed­ miot, wytwórcy sprzętu i oprogramowania opracowali oszała­ miające mnóstwo wytworów i ich elementów /z których nie wszy­ stkie rzeczywiście funkcjonują jednocześnie razem/, a opra­ cowujący systemy i użytkownicy właśnie zaczęli się uczyć jak integrować niektóre z tych elementów w systemy działające bardziej wydajnie. - 10 -

Wielodostęp, zgodnie z początkową jego definicją powinien charakteryzować się następującymi właściwościami:

\ 1. Wielu jednoczesnych'użytkowników centralnego systemu komputerowego, podłączonych pTzy pomocy -zdalnych urzą­ dzeń końcowych,/terminali/. .

2. Wzajemna niezależność użytkowników i ich programów.

3. Natychmiastowa odpowiedź systemu w-oddziaływaniu typu konwersacyjnego między użytkownikiem a systemem.

4. Uniwersalne możliwości systemu.

Bardziej współczesne użycie terminu wielodostęp wykazuje tendencję w kierunku liberalizacji tej definicji, rozszerze­ nia jej o procesy nie posiadające cech wzajemnego oddziaływa­ nia, systemy specjalne lub określonego przeznaczenia i tak dalej, ale przy jednoczesnym utrzymaniu zasadniczego elemen­ tu tzn.i źe: wielodostęp charakteryzuje obecność wielu użyt­ kowników, mających możność jednoczesnego dostępu do systemu obliczeniowego. Dla celów niniejszego sprawozdania jako sys­ tem wielodostępny określa się taki system, który obsługuje rozproszoną zbiorowość równoczesnych użytkowników przy pomo­ cy techniki przydzielania odcinków czasu pracy komputera. Pomimo że definicja ta jest niewątpliwie nieco kontrowersyj­ na, pozwala ona na uwzględnienie szerokiego wachlarza syste­ mów i zastosowań, sięgających od ograniczonych, określonego przeznaczenia systemów przechowywania i wyszukiwania infor­ macji do wielozadaniowych, uniwersalnych "ogólnie dostępnych" sieci obliczeniowych. Ograniczymy skład zbiorowości użytkow­ ników wyłącznie do jednostek ludzkich, nawet pomimo tego iż istnieją systemy, które można uważać jako wielodostępne dla 11 - pewnej liczby punktów zdalnego dostępu i sterowania /jak na przykład systemy bezpośredniego sterowania procesem na bie­ żąco/ .

W tym miejscu należy uwzględnić kolejno dalsze definicje. Proces wzajemnego oddziaływania jest to taki proces, w któ­ rym występuje przemienna sekwencja wydarzeń i działalności ze strony zarówno użytkownika jak i systemu, wykonywana krok po kroku w sposób wzajemnie je uzależniający, tak że każdy następny krok jest do pewnego stopnia uzależniony od wyników kroku poprzedniego. Tam, gdzie kroki te występują z nieprzer­ wanym tempem, zbliżonym do szybkości z jaką dwóch ludzi może się porozumiewać używając tych samych urządzeń, system okreś­ la się jako konwersacyjny. /Terminy: "wzajemnego oddziaływa­ nia" i "konwersacyjny" często używa się jako równoznaczne /zamienne/, - nawet w tym sprawozdaniu - chociaż określenie "konwersacyjny" jest szczególnym przypadkiem pierwszego okre­ ślania/. Jak widać, budujemy dość dowolną klasyfikację sys­ temów wielodostępnych opierając się na ich uniwersalności: tak więc system lub podsystem określonego przeznaczenia jest konkretnie poświęcony' jednemu zastosowaniu lub celowi, pod­ czas gdy system uniwersalny może być poświęcony pewnej licz­ bie zastosowań.

Pozostałe terminy użyte w niniejszym sprawozdaniu odpowiada­ ją określeniom powszechnie używanym w publikacjach wydawa­ nych przez przemysł, z tym że trudniejsze terminy są defi­ niowane w miarę ich występowania. Na końcu sprawozdania umie­ szczono krótki słownik terminów związanych z systemami wielo­ dostępnymi. - 12 -

B. WNIOSKI KOŃCOWE

Podstawowe uwagi niniejszego sprawozdania są sklasyfikowa­ ne w czterech kategoriach: wnioski z punktu widzenia użytkow­ nika, rozwiązania technologiczne, doniosłe etapy lub istotne momenty udziału użytkownika oraz sugestie na przyszłość.

1. Punkt widzenia użytkownika

Obecnie cichną już fanfary, lecz w dalszym ciągu ist­ nieje silne odczucie, oraz mnożą się dowody na jego poparcie, że praca przy pomocy systemu wielodostępnego dodatnio wpływa na wydajność ozłowieka. Użytkownicy odczuwają hrak tak cha­ rakterystycznych cech funkcjonalnych jak wygoda* elastyczność i szybkość reakcji, osiągalnych właśnie w systemie wielodostęp­ nym. Dowodem takiego ukierunkowania potrzeb jest rosnąca liczba zastosowań tych systemów oraz odpowiadający im wzrost liczby ję­ zyków zorientowanych na zastosowania. Porównania wielodostępu z bardziej tradycyjną formą systemów komputerowych traci na znaczeniu, ponieważ różnice stają się coraz mniej uchwytne; biorąc pod uwagę wypadki skrajne, można powiedzieć, że klasy­ czne przetwarzanie partiowe jest bardziej wydajne i ekonomicz­ ne w eksploatacji maszyny, podczas gdy wielodostęp konwersa- cyjny jest bardziej efektywny w domenie rozwiązywania proble­ mów przez człowieka. Tendencją współczesnych systemów jest ofiarowanie pewnego wachlarza usług, gdzie zdalne przetwarza­ nie partiowe zajmuje środkową część obszaru ciągłości zdefi­ niowanego przez wyżej wymienione dwa punkty skrajne. Sedno zagadnienia wygląda tak, że każdy z wariantów zapewnia różny stopień dostępu użytkownika do systemu, a nie zasadniczo róż­ ny rodzaj dostępu. - 1 3 -

2* Rozwiązania technologiczne

Bieżąco wdrożone systemy opierają się na sprzęcie uni­ wersalnego przeznaczenia, który pod wieloma wuzględami nie jest przystosowany do wydajnej pracy tych systemów. Jednym z największych problemów w tej dziedzinie jest zarządzanie pa­ mięcią. Chodzi tu o jej hierachiczne ograniczenia z uwagi na różne szybkości /czasy cyklu/, wielkości oraz czasy dostępu. Parametry te mają duży wpływ na projektowanie struktury da­ nych, sterowania dostępem oraz na politykę planowania prze­ biegów i przydziału pamięci. Nadal wybuchają ożywione dys­ kusje na temat stronnicowania pamięci, lecz właśnie ta tech­ nika wykazuje największy potencjał znacznego zwiększenia wy­ dajności aż do chwili, kiedy nadejdzie era wielkich i bardzo szybkich pamięci centralnych, które rokują możliwość manewru ogromnymi strumieniami informacji. Będzie to sygnałem rozpo­ częcia następnego okresu w informatyce. Jednym z największych problemów jutra będzie kierowanie przepływem danych. Pamię­ ci asocjacyjne oraz dynamiczne struktury danych mogą być klu­ czem do efektywnego,wygodnego kierowania wspólnie wykorzysty­ wanych zbiorów.

3. Strategia nabycia wielodostępu

Jak dotychczas, ujawniają się trzy etapy udziału użyt­ kowników w wielodostępie. Dla wielu użytkowników pierwszym i jedynym etapem jest udział w odpłatnych sieciach abonenc­ kich. Zawiera się w tym wszystko, czego potrzebują, chcą lub też na co ich stać. Inni użytkownicy przechodzą do dru­ giego etapu: ustanowienia własnego wewnętrznego systemu,któ­ ry także może być oferowany jeko usługa na zewnątrz. Zazwy- — 14 — czaj systemy tego etapu są wdrażane na sprzęcie dostępnym handlowo, który może, lecz nie musi, być taki sam jak system, do którego uprzednio należeli na zasadzie abonamentu /wydaje się, że istnieje trend w kierunku odchodzenia od użycia te­ go samego systemu/. Niewielu użytkowników osiągnęło trzeci etap: zaprojektowanie i opracowanie specjalnego systemu sprzę­ tu, przeważnie niedostępnego u żadnego z producentów, który ich zdaniem wydajnie dopomoże w realizacji zastosowania wie- lodostępu według własnych potrzeb. Tablica 1 przedstawia w sposób symboliczny proces decyzyjny zachodzący w tych trzech etapach; sporządzono ją na podstawie listy pytań kontrolnych, załączonych przy końcu drugiego rozdziału sprawozdania.

4. Prognoza

Jedną z obecnie ujawniających się tendencji jest łącze­ nie usług zapewnianych przez niektóre odpłatne sieci wielodos­ tępne, jak na przykład: lokalne przetwarzanie partiowe, zdal­ ne wprowadzanie zadań /programów/ oraz praca w trybie konwer- sacyjnym. Drugim trendem jest tworzenie regionalnych lub kra­ jowych /a nawet i bardziej rozległych/ sieci pracujących w systemie wielodostępnym. Urzeczywistni się koncepcja powsze­ chnych sieci obliczeniowych, albo znacznie się przybliży jako wynik wolno przebiegających procesów scalania tych i innych trendów. Występuje wiele sprzecznych interesów, a także nie­ mało problemów technicznych, które hamują rozwój oraz utrud­ niają przewidywania na przyszłość. Lecz na pewno nadejdzie moment realizacji tej koncepcji i być może w tym nowym ukła­ dzie rzeczy będzie w dalszym ciągu miejsce dla indywidualne­ go sprzedawcy usług w tym zakresie. Na razie tych ostatnich będzie coraz więcej, a nacisk ze strony konkurencji wyjdzie na korzyść użytkownika w postaci lepszego /chociaż bardziej skomplikowanego/ rozliczania z wykonania usług oraz bardziej prawidłowej polityki w zakresie opłat za priorytet w korzys­ taniu z dostępu do komputera* Wpłynie on także na wzrost po­ daży i ulpszenio pakietów dla poszczególnych zastosowań oraz języków soriento\7anych na zastosowania, opracowanych celem zaspokojenia szerokiego wachlarza potrzeb.

Wielodostęp nie jest sezonową modą. Chociaż znajduje się on w początkowym okresie rozwoju, przeszedł próbę na rynku zbytu i jest eksploatowany oraz ma zastosowania praktyczne. Będzie się on w dalszym ciągu rozwijał w kierunku bardziej wydajne­ go wykorzystenia sprzętu, lecz patrząc na ten rozwój z pun­ ktu widzenia użytkownika nie przewiduje się by wystąpiły ja­ kieś gwałtowne, podstawowe zmiany w tym względzie. Z tego po­ wodu użytkownicy, którzy nie korzystają z wlelodostępu, po­ winni obecnio dla celów doświadczalnych włączyć się do odpła­ tnych sioci wielodostępnych, by określić wartość wielodostę- pu dla działalności, którą prowadzą oraz by ustalić skład re­ alizowanych przy pomocy wielodostępu zastosowań. Przyszły ro­ zwój systemów, zarówno w zakresie sprzętu jak i w zakresie oprogramowania, może być najlepiej wytyczany przez świadomych użytkowników, którzy w praktyce sprawdzili zalety i wady tego, co im się obecnie oferuje i którzy wiedzą co chcieliby wdra­ żać do eksploatacji w przyszłości. - 16 -

C. ZAKRES I METODOLOGIA NINIEJSZEGO SPRAWOZDANIA

Wyczerpujące potraktowanie wszystkich przejawów wielodos- tępu przekracza ramy jednego sprawozdania*. Jak będzie można się przekonać, oddzielne traktowanie sprzętu i oprogramowa­ nia nie zawsze jest celowe, mimo że wówczas można przeprowa­ dzić pewne uogólnienia oraz można wyciągnąć praktyczne wnio­ ski. W miarę możliwości niniejsze sprawozdanie będzie się zaj­ mować tematem oprogramowania systemów wielodostępnych - a więc systemami operacyjnymi, translatorami języków, pakieta­ mi dla zastosowań itd. - rozważając następujące zagadnienia:

♦ Przyczyny posługiwania się wielodostępem; . Jak określić przydatność i jak wybrać system wielodostępny; , Stan umiejętności w zakresie technik projektowania i wdra­ żania; . Problemy i trudne sytuacje w stosowaniu wielodostępu; . Działalność badawcza, powstające trendy oraz skutki.

Niniejsze sprawozdanie powstało w wyniku analizy literatury fachowej, wywiadów osobistych przeprowadzonych z reprezenta­ tywnym przekrojem producentów, sprzedawców, pracowników nau­ kowo-badawczych z uniwersytetów oraz użytkowników systemów wielodostępnych. Następnie przeprowadzono rozmowy telefonicz­ ne celem ostatecznego zatwierdzenia wstępnie zebranych danych.

Ił Tablica 1 PROCES NABYWANIA MOŻLIWOŚCI PRACY W WIELODOSTĘPIE

PODSTAWOWE ZAGADNIENIE: OKREŚLENIE SYSTEM OCENA I OSTATECZNY WYBÓR zewnętrznego l u b UZASADNIENIE WI1LODOSTĘPU WEWNĘTRZNEGO

TYP POTRZEB; PARAMETRY DECYZJI; CZYNNIKI WYBORU: KONWERSACYJNY ZASOBY FINANSOWE JĘZYKI ^ USŁUGI ZWYKŁE ZAPYTANIE ZAINWESTOWANIE PAMIĘĆ - ODPOWIEDŹ WIELODOSTĘP KAPITAŁU PAKIETY SUMA POTRZEB SPRZĘT USŁUGI SPECJALNE ZDALNE \VPR0WA-^^ t t w 7 DZANIE ZADAŃ W>NI*CZNY WYMAGANIA USŁUGI -KD BEZPIECZEŃSTWA KOSZTY MIESZANE LUB ŁĘCZNE POŁĄCZENIE PŁACE PERSONELU NIEZAWODNOŚĆ KILKU ZASTOSOWANIA I — 5>0 OPŁATY ZA NIE CZYNNIKI WYBORU: WIELODOSTĘP KOSZTY ZAKUFU ZBYTECZNY- PLANY > SPRZĘT STANDARDOWY PLANY OGÓLNE ROZWOJU PRZEDSIĘBIORSTWA ZASTOSOWAŃ OPROGRAMOY/ANIE -*o STANDARDOWE SPRZĘT OPROGRAMOWANIE^ SPRZĘT STANDARDOWY PERSONEL UTRZYMANIE W RUCHU SPRZĘT SPECJALNY SPECJALNE WYMAGANIA - 18 -

II. CZY STOSOWAĆ WIELODOSTĘP?

Zanim przejdziemy do omówienia mechanizmu oprogramowania systemów wielodostępnych, tej "duszy" systemów, zbadajmy naj­ pierw niektóre z zastosowań, do których się je przeznacza i dlaczego ma to miejsce. Przejrzymy także zagadnienia uzasad­ nienia, wyboru i oceny systemów wielodostępnych by określić ramy późniejszej dyskusji na temat problemów ich oprogramo­ wania oraz prac badawczych w tym zakresie.

A. ZASTOSOWANIA

Literatura z zakresu informatyki obfituje w przykłady za­ stosowań wielodostępu. Nie będziemy tu powtarzać tych przy­ padków, lecz je sklasyfikujemy i przedstawimy pewną ilość przykładów* Ponieważ niemal codziennie ogłasza się nowe zas­ tosowania poniższa dyskusja ma charakter raczej poglądowy, a nie wyczerpujący.

Współczesno systemy wielodostępne powstały na uniwersytetach. Opracowano je tam by lepiej wykorzystać komputer oraz by go udostępnić większej liczbie ludzi. Projekty opracowane w Berkley, Dartmouth oraz MIT /Massachussets Institute of Tech­ nology/ były pracami pionierskimi w tym zakresie. W ten spo­ sób od pierwszej chwili wielodostęp był początkowo używany jako narzędzie dla rozwiązywania problemóiv przez studentów. Obecnie to zastosowanie stale rośnie. Większość wyższych szkół ekonomicznych posiada już w tej chwili wielodostęp. Jest to okoliczność, która może posiadać podstawowe znacze­ nie dla przyszłej kadry kierowniczej: dzisiejsza generacja studentów może być tak obeznana z komputerem wielodostępnym jak poprzednia z suwakami rachunkowymi i kalkulatorami biur­ kowymi. - 1 9 -

Nie upłynęło dużo czasu kiedy odkryto użyteczność wielo- dostępu w programowaniu* Programista poprzez terminal /urzą­ dzenie końcowe/ może pisać, kompilować, sprawdzać i modyfi­ kować swój program niemal nie przerywając biegu swych, myśli i, jak później zobaczymy, może go wykonać szybciej i praw­ dopodobnie lepiej, Ludzie bez ugruntowanej wiedzy w zakre - sie progremonania mogą, korzystając z języków sorientowsnych problemowo, wykonywać podobno funkcje celem rozwiązania pro­ blemów, którymi się interesują, bez oczekiwania na czasami problematyczną pomoc ze strony programistów. Jednym z wczes­ nych i dobrze znanych terenów prób dla tego rodzaju zastoso­ wania był system wielodostępny w firmie System Development Corporation.

Gospodarka powszechnie uczy się korzystać z wielodostępu, szczególnie w zastosowani ach warunkowanych czasowo* Określ­ my to w kategoriach obszarów fumkcjonalnych:

Badania naukowe i technika - obecnie szczególnie ko­ rzystne jest korzystanie z wielodostępu w tych gałęziach przemysłu, gdzie trzeba rozwiązywać szeroki wachlarz pro­ blemów. Dobrze znane przykłady dostarcza tu przemysł sa­ mochodowy i lotniczy, gdzie w laboratoriach konstrukcyj­ nych zainstalowano systemy projektowania graficznego współpracujące z komputerem w trybie wielodostępnym. Na przykład Ośrodek Badawczo-Konstrukcyjny firmy Ford wyko­ rzystuj© monitory ekranowe oraz klawiaturowe terminale wyposażone w pióra świetlne dla wykreślania rysunków kon­ strukcyjnych. W tym przypadku komputer spełnia funkcję wy­ gładzania krzywych oraz inne, przy czym ostateczny rysunek zostaje wykreślony przez pisak będący urządzeniem wyjścio- - 20 wym komputera; przy pracy tych urządzeń w trybie wielodos- tępu do komputera można efektywnie wykorzystać więcej kon­ struktorów niż w innych przypadkach*

Produkcja - Wielodostęp ma duży wpływ na wyniki produk­ cyjne, tam gdzie produkcja szybko się zmienia i harmonog­ ramy produkcji muszą być zmieniane na skutek- szybkiej zmia­ ny warunków produkcji. Jeden z abonentów komputera pracują­ cego w systemie wielodostępnym wykorzystuje terminal do planowania jadłospisu w szpitalu; dietetyk przy pomocy kla­ wiatury wprowadza do komputera dane na temat przepisanych przez lekarzy pacjentom diet a komputer planuje i układa harmonogram posiłków. Inny abonent komputera - spółdzielnia farmerów - wykorzystuje . terminal celem dostępu do modelu programowania liniowego; model ten przelicza najbardziej ekonomiczne mieszanki pasz z właściwą zawartością skład­ ników pokarmowych w zależności od wahań cen rynkowych zbo­ ża.

Zaopatrzenie i zbyt - Natychmiastowe przechowywanie i wyszukiwanie informacji rokuje duże korzyści w zastoso­ waniu do kontroli zapasów i rozdziału towarów. Klienci firmy Keydata Corporation już od kilku lat korzystają z własnego pakietu programów, który obsługuje fakturowanie, kontrolę stanu zapasów, rozliczenie należności oraz ana­ lizę zbytu.

Finanse - Koła finansowe zaczęły korzystać z możliwoś­ ci jakie daje wielodostęp. Przedsiębiorstwo White, Weld's Interactive Data Service oferuje nabywcom znakomity język - 21 - wzajemnego oddziaływania, zwany w skrócie FFL /First Finan­ cial Language/, dla użytku przez ekspertów przeprowadzają­ cych analizy finansowe. Giełda Nowojorska - prawdopodobnie obecnie jedyna organizacja, która zmniejsza o 20% swoje obroty przez to, że jest zamknięta w środy - projektuje i opracowuje pełny system wielodostępny /pierwotnie system przechowywania i wyszukiwania informacji/ dla załatwiania transakcji uczestników.

Marketing - Przeprowadzanie doświadczeń przy pomocy symulacji jest obiecującym zastosowaniem wielodostępu w marketingu. Jednym z godnych uwagi przykładów jest przed­ siębiorstwo Pillsbury Company, w którym opracowano model zachowania się konsumenta dla sprawdzenia wpływu strategii reklamy na zachowanie się konsumentów w najważniejszych re­ jonach zbytu. Y/ejściem dla tego modelu jest szczegółowy pro­ fil demograficzny konsumentów oraz detaliczny rynek zbytu w różnych obszarach rynku, w zakresie od podstaw konsumen­ tów w stosunku do różnych gatunków produktów do odpowiednich wielkości zapasów w magazynie oraz do przyczyniającego się do ożywienia sprzedaży ustawienia cen i przeprowadzania re­ klamy. Y/yjście z modelu przedstawia prawdopodobny rynek zbytu.

Zarządzanie - W przedsiębiorstwie Pillsbury Company sto­ sowane są modele zespołowego zysku, modele planowania zaku­ pów, modele wydatkowania kapitałów i inwestycji oraz inne modele,które wykorzystuje naczelne kierownictwo tego przed­ siębiorstwa w zarządzaniu dzięki udogodnieniom wielodostę­ pu, dającym szybkie odpowiedzi na pytania typu "co będzie, - 22 -

jeżeli . oraz przedstawiającemu plany krótko i długo­ okresowe. Jako przykład można podać, że szeroko wykorzys­ tuje się zespołowy model wydatków kapitału i Inwestycji. Każda z ważniejszych planowanych inwestycji musi być prze­ dstawiona przy pomocy modelu a Informacja wyjściowa z te­ go modelu, podająca szczegółowy wykaz nakładów inwestycyj­ nych oraz prawdopodobnego zwrotu tych nakładów, musi być dołączona do zapotrzebowania na nowe maszyny lub instala- . cje. Zdolność zmiany wejść do modelu i możliwość wypraco­ wania dosłownie tysięcy wariantów czyni ten prosty program potężnym narzędziem w kontroli kredytowania.

Do innych uwarunkowanych czasowo zastosowań można zaliczyć dobrze znane systemy rezerwacji używane w liniach lotniczych i w hotelach, systemy opieki i informacji o pacjentach w szpi­ talach, a także specjalne systemy przechowywania i wyszukiwa­ nia informacji o własności gruntów, z rejestrów prawnych, dla kontroli kredytowania, dla bankowości i ubezpieczeń oraz dla bibliotek.

Jednym z zastosowań, które początkowo rokowało duże nadzie­ je na przyszłość, jest nauczanie przy pomocy, komputera. Eks­ perymentalne systemy z tego zakresu poddawano próbom przez kilka lat. Jednak, trzeba tu zaznaczyć, że niektóre z systemów nauczania przy pomocy komputera nie są niczym więcej niż sys­ temami zautomatyzowanego programowanego nauczania; aczkolwiek będąc efektywnymi w działaniu, są one kosztowne i ograniczone w swych możliwościach. Zagadnieniu temu jest poświęcone spec­ jalne sprawozdanie Programu Badawczego Diebolda tak że nie będziemy się nim tutaj dalej zajmowali. - 23 -

B, DLACZEGO WŁAŚNIE WIELODOST$2P?

Dlaczego zastosowania systemów wielodostępnych znalazły takie uznanie w przemyśle? Głównie wynika to z cech fun­ kcjonalnych, jakie posiadają tego rodzaju systemy, czyli wy­ goda, elastyczność i szybka reakcja? wynika to także z nie­ zadowolenia z tradycyjnych metod przetwarzania, z korzyści ekonomicznych, jak również z lepszego morale oraz większej wydajności ludzi użytkujących te systemy. Przebadamy szcze­ gółowo te czynniki by wyodrębnić i porównać różne własności omawianych systemów.

1. Cechy funkcjonalne

Cechy funkcjonalne systemów wielodostępnych powszechnie odnoszą się do ich wykorzystania jako narzędzia osobistego, typu konwersacyjnego«; a/ Wygoda — łatwość użycia. - Można ją przede wszystkim po­ mierzyć w określeniach ilości niezbędnego przeszkolenia by użytkownik mógł wprowadzić sv;ój problem do systemu ce­ lem jego analizy, w określeniach złożoności płaszczyzny styku człowiek - maszyna oraz w dostępności tego typu usług. Ponieważ ilość wymaganego szkolenia zależy od obznajmie- nia się użytkownika ze szczegółami eksploatacyjnymi sys­ temu, problem szkolenia można załatwić na trzy różne sposoby:

. ograniczenie populacji użytkowników do tych osób, które już znają większość szczegółów eksploatacyjnych,na przy­ kład do programistów o ile system jest przeznaczony ja­ ko narzędzie w programowaniu i sprawdzaniu programów; - 24 -

.zmniejszenie ilości niezbędnych szczegółowych wiadomości przez zapewnienie języka problemowego, który te szcze­ gółowe elementy usuwa na drugi plan, poza obręb ich od­ czuwania;

zapewnienie przyswojenia potrzebnych wiadomości w możli­ wie prosty sposób o ile to tylko możliwe przez zapewnie­ nie by system udzielał wskazówek i przeprowadzał treno­ wanie użytkowników poprzez terminale, za czym jako dal­ sze udogodnienia powinny iść pomoce w zakresie diagnos­ tyki oraz nasuwania prawidłowych rozwiązań aż do chwili kiedy użytkownik nabierze odpowiednich umiejętności w tym zakresie.

Pierwsze podejście do tego zagadnienia, polegające na ograniczeniu zbiorowości użytkowników do jakiejś specjalnej ich kategorii, oczywiście zależy od charakteru zastosowania. Drugie podejście daje w wyniku rozpowszechnienie języków u- kierunkowanych, lecz natychmiast zwiększa rzeszę użytkowni-. ków systemów wielodostępnych; wydaje się, że to podejście bę­ dzie znamienne dla przyszłości. Trzecie podejście może być przyjemnym doświadczeniem, o ile system może dosyć subtel- ■» nie rozróżniać "poziom umysłowy" użytkownika; jednak pochła­ nia to także bardzo dużo czasu i przez to jest kosztowne. Niektóre systemy zbliżają się w pewnym stopniu do założeń tego trzeciego podejścia zapewniając na żądanie użytkownika bardziej szczegółową diagnostykę /tzw. funkcja "pomocy"/. ' Inne systemy umożliwiają szczegółowe pouczanie by obznajmić nowego użytkownika z aspektami eksploatacji /operacyjnymi/. Tego typu pakiet instruktażowy, będący w użyciu w firmie Ford, składa się z szeregu programów samonauczania. Każdy z tych. programów jest niezależną całością i uczy posługiwa­ nia się językiem BASIC, FORTRAN oraz systemem wielodostęp­ nym. Przyszłe systemy będą ofiarować pakiety z dodatkowymi udogodnieniami w eksploatacji systemów, które umożliwią in­ struktaż nowicjuszy oraz kilka różnych poziomów komunikatów diagnostycznych /podobnie jak przy zakupie samochodu produ- . ' ”, ■ : ' ^ cent może dostarczyć szereg dodatkowych udogodnień za osob­ ną opłatą/.

Do tego momentu omawialiśmy rozumowe aspekty szkolenia; lecz także wchodzi tu w rachubę czynnik emocjonalny, szcze­ gólnie u użytkowników, którzy nigdy dotąd nie stykali się bezpośrednio z komputerami - ma to miejsce nawet pomimo te­ go, że aura tajemniczości, jaka otaczała komputery w prze­ szłości, szybko zanika.

Z uwagi na złożoność płaszczyzny styku człowiek - maszyna musimy się zająć wymaganiami proceduralnymi i formalnymi do ustanowienia łączności z docelowym translatorem /podsystem języka/. W zwykłym przypadku użytkownik musi się do syste­ mu w pewien sposób podłączyć, podać swoją tożsamość, nadać hasło składające się z jednego lub więcej słów oraz zażądać translatora, którego sobie życzy. W systemach określonego przeznaczenia niektóre z tych kroków proceduralnych odbywa­ ją się samoczynnie lub są zbyteczne. Jednak w każdym wypad­ ku potrzebne jest pewne przeszkolenie, lecz jest ono nie­ wielkie. Podnosimy to zagadnienie tylko dlatego, że mogą zaistnieć pewne problemy gdy różne systemy wielodostępne posiadają swoje terminale /urządzenia końcowe/ w tym samym miejscu u użytkownika /patrz rozdział IV/. - 26 -

Dostępność oznacza, że użytkownik posiada natychmiasto­ wy dostęp do instalacji i do usług, jakie ona oferuje. Przedsiębiorstwa nie posiadające własnej instalacji syste­ mu wielodostępnego mogą się zwrócić do coraz większej li­ czby dostawców oferujących usługi w zakresie wielodostępu. Jednak dostęp do usług zależy od odległości fizycznej /zdalne terminale umiejscowione tam, gdzie zachodzi tego potrzeba/ oraz od odległości w czasie /usługi na ogół dos­ tępne wówczas, gdy zachodzi tego potrzeba/. b/ Elastyczność - możność sprostania różnym wymaganiom. Jest to cecha zarówno sprzętu jak i oprogramowania systemów wielodostępnych. W obu przypadkach przez elastyczność rozu­ mie się zdolność przystosowania się do szerokiego wachlarza problemów.

Z jednej strony w sprzęcie znajdujemy systemy wielodos­ tępne określonego przeznaczenia, jak na przykład SABRE. Środowisko tego rodzaju systemów posiada odpowiednią struk­ turę ukierunkowaną na rozwiązywanie problemów ściśle okreś­ lonego rodzaju. Z drugiej strony istnieje system uniwersal­ nego przeznaczenia, nie posiadający określonej struktury i pozostawiający użytkownikowi swobodną rękę do wykorzystania go doraźnie po zaprogramowaniu określonego zadania /jak na przykład ma to miejsce w przypadku systemu wielodostępnego dla Projektu MAC w instytucie MIT/. Tutaj elastyczność oz­ nacza możność dostosowania się systemu do wielorakich śro­ dowisk: zachodzi pytanie czy może on być wykorzystany w jed­ nym, dwóch, lub kilku zagadnieniach jednocześnie? - 2 7 -

Istnieje także inny wymiar elastyczności, odniesiony bardziej do płaszczyzny osobistej i ściśle powiązany z wy­ godą; znów zahacza się tutaj o zagadnienie języków. Ogól­ nie biorąc im język jest bogatszy, tym łatwiej daje się on dostosować do szerokiego zakresu zastosowań, jak to ma miej­ sce z językiem PL/I. Jednak taka uniwersalność jest koszto­ wna i w wyniku daje język niewygodny do stosowania; innym wariantem rozwiązania jest zapewnienie wielu języków, gdzie każdy z nich jest dobrze dostosowany do wyróżnionej katego­ rii problemów. Takie specjalne języki, mogące np. obejmować słownictwo specjalistyczne dla poszczególnych gałęzi nauki, dla których są zamierzone, Elastyczność oznacza możność przystosowania się do języka użytkownika: powstaje więc py­ tanie, czy użytkownik może dogodnie określić swój problem lub procedurę dla rozwiązania tego problemu, oraz czy może on to zrobić dla problemów różniących się rodzajem, wielkoś­ cią i złożonością? c/ Reakcja - 3topień, w jakim system reaguje na działania ze strony użytkownika. Obejmuje on czas oczekiv;ania w kolejce /na dostęp/ oraz "indywidualność" terminala /chodzi tu o to, jak dalece użytkownik odczuwa, że dysponuje bez przeszkód dostępem do komputera, korzystając z terminala w sposób'in­ dywidualny"/. Czas oczekiwania jest to całkowity czas po­ trzebny do zakończenia jednej sesji z terminalem. Liczba wzajemnych oddziaływań w czasie takiej sesji może być róż­ na: od jednorazowego wzajemnego oddziaływania w systemie zdalnego wprowadzania zadań do długiej sekwencji wzajemnych oddziaływań w systemie konwersacyjnym. W każdym z tych przy­ padków czas odpowiedzi na oddziaływanie jednej strony jest czynnikiem krytycznym. Subiektywny czas odpowiedzi jest to - 23 ~ ilość czasu jaki upływa między zakończeniem oddziaływania ze strony użytkownika /rozkaz lub zapytanie wysłane po­ przez jego terminal/ a rozpoczęciem się odpowiedzi na je­ go terminalu ze strony systemu. Istnieją także inne poję­ cia, na przykład czas, w którym jest przetwarzany program użytkownika, między okresami czasu poświęconymi na ocze­ kiwanie momentu jego wprowadzenia do systemu. Decydującą jednak sprawą, interesującą użytkownika, jest kwestia ile czasu potrzeba by ukazała się odpowiedź ze strony systemu. Oczywiście jest to rzecz całkowicie subiektywna; szybkość działania użytkowników waha się znacznie i zdenerwowanie z powodu opóźniającej się odpowiedzi rozkłada się w spo­ sób prawidłowy wśród populacji użytkowników. Chociaż sły­ szało się dużo przechwałek na temat zredukowania czasu od­ powiedzi niemal do zera, nie można nie dziwić się z powodu subiektywnego nacisku wywieranego na użytkownika. Natychmia­ stowa odpowiedź na każdy rozkaz może dać w wyniku przyśpie­ szenie wprowadzania przez użytkownika następnych rozkazów; o ile użytkownik ulegnie temu naciskowi, nie będzie mógł poświęcić dużo czasu na obmyślenie kroków pośrednich. Można się słusznie zapytać, czy istnieje opóźnienie chwili odpo­ wiedzi, które jest optymalne dla danego zastosowania; to znaczy, czy można poddać ustalenie najbardziej korzystnego tempa działania sensownej krytyce i przemyśleniu ze strony użytkownika? Zagadnieniu czasu odpowiedzi przyjrzymy się po nownie w rozdziale IV.

Oczywiście niektóre z działań zapoczątkowanych na termi­ nalu będą trwały dłużej niż inne. Dla przedłużających się obliczeń zainteresowanie pozornym czasem odpowiedzi można - 29 - zaspokoić w ten sposób, że system musi potwierdzać odbiór rozkazu, który zapoczątkował obliczenia, a być może także okresowe "sprawozdania o postępie prac". - Trzeba tu po­ wiedzieć , że nic bardziej nie zniechęca użytkownika niż to, że po wysłaniu rozkazu "liczenia" musi on oczekiwać przed pozornie martwym terminalem na wyniki, które mają się ukazać w bliżej nieokreślonym terminie.

Indywidualność terminala polega na konwersacyjnym cha­ rakterze odpowiedzi udzielanych przez system oraz na auto­ matycznej kontroli błędów. Niektóre z systemów są zwięzłe w swych odpowiedziach, podczas gdy inne, bardziej ekspery­ mentalne, są wręcz gadatliwe a nawet wydają się wczuwać w użytkownika, ^en aspekt indywidualności terminala, w sen­ sie jego pozornej czułości w stosunku do użytkownika, nie wydaje się być szczególnie ważnym w chwili obecnej, cho­ ciaż może będzie on odgrywał większą rolę w przyszłości - szczególnie w systemach ukierunkowanych na obsłużenie osób nieobeznanych z programowaniem. Jeśli chodzi o kontrolę błędów, to szybka reakcja jest jak najbardziej godna uwagi w tych systemach, które znak-po-znaku przesyłają z powro­ tem to, co użytkownik wprowadził do systemu. Metoda ta, będąca typową dla systemów nie posiadających buforów, w których przerwania następują po każdym znaku, może dać naj­ szybsze sprzężenia zwrotne dla błędów powstałych w czasie przesyłania, a nawet może sygnalizować podejrzenia błędów w ortografii oraz w składni.

Wzrasta znaczenie powyższych cech funkcjonalnych przy podejmowaniu przez przedsiębiorstwa decyzji na temat stoso­ wania wielodostępu. Jedno z przedsiębiorstw usługowych w za- - 30 -

kresie wielodostępu podało, że 50% jego klientów po prostu nie wymaga żadnego uzasadnienia odnośnie stosowania wielo— dostępu; chcą oni jedynie korzystać z takich cech systemu jak wygoda, elastyczność i szybka reakcja.

2. Niezadowolenie z tradycyjnych metod przemarzania

Użytkownicy zmuszeni do tradycyjnych metod eksploatacji przetwarzania partiami w zamkniętych ośrodkach wyrażali nie­ zadowolenie z powodu długiego czasu oczekiwania na wyniki, niewygodnego planowania przebiegów, oraz z powodu nieefektyw­ nego wykorzystania ludzi. Oczywiście dwa pierwsze czynniki są wysoce subiektywne. Czas oczekiwania wynoszący pół dnia może zadowolić użytkownika, który jest przyzwyczajony do przedkła­ dania swych zadań jednego dnia i otrzymywania wyników następ­ nego dnia. Z drugiej strony może on irytować użytkownika,któ­ ry przyzwyczaił się oczekiwać na wyniki jedną lub dwie godzi­ ny. Zakres od czterech do dwudziestu czterech godzin nie będzie typowym dla większości takich systemów. Jeśli chodzi o plano­ wani© przebiegów to niezadowolenie najbardziej się uwidacznia wówczas, gdy czas pracy instalacji jest podzielony między kil­ ka 7/ydziałów, a kierownik ośrodka obliczeniowego jest odpwie- dzialny za odpowiedni przydział odcinków czasu, w ciągu któ­ rych będą przetwarzane zadania z poszczególnych wydziałów, przy czym prawdopodobnie zezwoli się użytkownikom na uczest­ niczenie w czasie przebiegów, a nawet być może użytkownicy bę­ dą mieli przywilej "trzymania ręki na pulsie". Bez przekonywu­ jącego uzasadnienia użytkownicy /szczególnie programiści/, wszyscy chcą mieć dostęp do maszyny na początku pierwszej zmia­ ny, i często słychać sarkania gdy już zostanie wywieszony har­ monogram przebiegów; mogą nawet wystąpić tarcia między wydzia- - 2 1 -

łami. Bez trudu można zaobserwować nieefektywne wykorzystanie wysoko płatnych fachowców gdy każe im się czekać, zwykle nie­ produktywnie, na dostęp do maszyny, albo na zwrot wyników z poprzednio przez nich przedłożonych zadań.

Opracowano przegląd^, w którym przedstawiono Inno czynniki powodujące niezadowolenie wśród użytkowników. Chodzi tu między innymi o brak urządzeń wprowadzania-wyprowadzania dla ludzi rozpoczynających pracę nad danym problemem /wielu inżynierów i naukowców powstrzymuje się w pewnej mierze od korzystania z komputera po prostu z powodu przeszkód narzucanych przez per­ sonel przygotowania danych pozostawiony jedynie programistom/. Chodzi także, o nieelastyczność w programowaniu /nieodpowiedni personel, zbyt usztywnione pakiety dla zastosowań, albo niedos­ tateczne doświadczenie personelu w programowaniu zastosowań/; a także brak pożytecznych raportów o sytuacjach wyjątkowych /zamiast tego otrzymują oni stosy danych wynikowych z progra­ mów, co zaciemnia istotne wyniki/.

Trudno porównać wielodostęp z przetwarzaniem partiowym, gdyż zachodzi tu niebezpieczeństwo uogólnień. Także rozróżnie­ nie między tymi dwoma sposobami eksploatacji nie jest już tak jasno zarysowane jak dawniej, a z nadejściem ery systemów zdalnego przetwarzania partiowego jeszcze bardziej straci ono na wyrazistości. Klasycznym rozróżnieniem było zwykle to, że systemy wielodostępne usiłowały zoptymalizować wykorzystanie zasobów ludzkich, podczas gdy przetwarzanie partiowe optyma­ lizuje wykorzystanie maszyny. Lub też, jak to określił profe­

A Steven D. Popell et al.. Computer Time-Sharing: Dynamie In­ formation Handiing for Business /Englewood Cliffs: Prentice- Hall, Inc. i % 7 / str. 29-20. - 2 2 -

sor John Kameny z uniwersytetu w Darmouth, "mówiąc prosto, przy przetwarzaniu partiowym problemy użytkownika są rozwiązy­ wane w sposób wygodny dla komputera, podczas gdy w systemach A wielodostępnych komputer pracuje dla wygody użytkownika" .

Tych różnic nie można w dalszym ciągu przedstawiać w tak prosty sposób, ponieważ ta dwutorowość klasyfikacji ośrodków obliczeniowych jest mniej oczywista we współczesnych systemach wielodostępnych tara, gdzie poprzez kompromis usiłuje się osią­ gnąć oba cele. Niektórzy z użytkowników chcą mieć i potrzebują wislodostępu konwersacyjnego; inni są już uszczęśliwieni przy przetwarzaniu z niewielkim wzajemnym oddziaływaniem, aby tyl­ ko było zapewniono krótkie oczekiwanie, podczas gdy jeszcze Inni są zadowoleni z takiego środka działania, jakim jest prze­ twarzanie partiowe. Dla wyżej przedstawionej zbiorowości róż­ nych użytkowników idealny system byłby taki, który zapewni ca­ ły wachlarz usług, sięgających od przetwarzania typu konwersa­ cy jnego, otrzymującego priorytet wysokiego szczebla, do prze­ twarzania partiowego realizowanego w martwych okresach czasu dla prac o wyższym priorytecie. Tam, gdzie nie istnieje bar­ dzo dotkliwe zapotrzebowanie na jakieś poszczególne zastosowa­ nie, system może być mniej złożony. Momentem istotnym jest to, że system powinien być dostrojony do potrzeb jego użytkowników tak by optymalizować ich efektywność, kładąc jednocześnie nie­ co mniejszy nacisk na optymalizację wydajności maszyny. Nieza­ dowoleni użytkownicy komputera prawdopodobnie zawsze się wśród nas znajdą, lecz to niezadowolenie może być zmniejszone przez położenie nacisku na wygodę użytkownika.

^ The General Electric Forum. Zima 1967-1968, str. 11. “ 55 -

Ponieważ znacznie więcej powiedziano o przewadze systemów wielodostępnych nad przetwarzającymi partiowo, w każdej sytu­ acji użytkownik musi przeprowadzać indywidualną ocenę ich przydatności. Wady i zalety obu kategorii zostały zwięźle przedstawione przez Michael'a M.Gold'a z uniwersytetu Carne­ gie -Mêlions

"Z przeprowadzonych dociekań wydaje się wynikać* że sto­ sowanie systemów wielodostępnych i większości tradycyj­ nych systemów komputerowych różni się między sobą w pew­ nej liczbie względnie łatwo dających się zdefiniować as­ pektów:

1/ w systemie wielodostępnym wyniki zostają przedstawio­ ne użytkownikowi wkrótce po wprowadzeniu danych wejścio­ wych - w tradycyjnym systemie komputerowym użytkownik zwykle musi czekać dłuższy okres czasu na swoje wyniki;

2/ system przetwarzania partiowego charakteryzuje wąskie gardZ:o na wejściu - korzystanie z wiełodostępu zwykle wy­ klucza istnienie takich wyraźnych wąskich gardeł;

3/ użytkownik wiełodostępu bezpośrednio oddziaływuje na komputer, niemal na zasadzie osobistej, użytkownik prze­ twarzania partiowego ¡na do czynienia z komputerem poprzez bezosobowy punkt rejerstracyjny lub poprzez jeszcze bar­ dziej obojętnego urzędnika;

4/ psychologiczne i rzeczywiste ciągłe następstwo wymiany informacji między użytkownikiem a komputerem w czasie pro­ cesu rozwiązywania problemu jest rzeczą osiągalną w korzy­ staniu z systemów wielodostępnych, nie jest ono dostępne dla użytkownika typowych systemów komputerowych przetwarza- A iig£Z£k_]^£biowo” A "A Methodology for Bvaluating Time-Shsred Computer Usage” /Springfeld, Va.: Clearinghouse for Pederal Scientific and Technical Information, August 196?.AD—668-084/, str.15-16. - 3 4 -

3. Korzyści gospodarczo

Walter P.Bauer powiedział: ’’Nie można udowodnić raz na zawsze korzyści gospodarczych systemów przetwarzających bez­ pośrednio /on-line/. Zazwyczaj występuje tak dużo parametrów i czynników wpływających na środov;isko zastosowania, oraz są one tak rozmaite, że nie można doprowadzić do obejmującego ca­ łość zagadnienia dowodu ilościowego. Jednak dla danego otocze­ nia oraz dla danego zestawu parametrów zastosowań można przed­ stawić zespół potężnych argumentów, które stwarzają nie do pod­ ważenia warunki dla albo przeciw systemowi pracującemu bezpoś- rednio /on-line/” .Przyjrzyjmy się niektórym parametrom, które powodują taka argumentacje.

.Ne początek trzeba stwierdzić, iż jest rzecze* jak najbar­ dziej oczywistą, że pojedynczy użytkownik komputera musi po­ nieść całe brzemię kosztów swojego systemu, podczas gdy koszt komputera dostępnego dla wielu użytkowników można rozdzielić na zbiorowość tych użytkowników, zmniejszając w ten sposób ob­ ciążenie poszczególnych użytkowników. Jest rzeczą nieprawdopo­ dobną, żeby wszyscy użytkownicy wykorzystywali w tej samej pro- procji moc przerobową komputera /systemu/ i przyjmując, że nio ma ukrytych kosztów a obciążenia z tytułu transmisji danych są nikłe,to wówczas za system, z którego korzysta powiedzmy 100 użytkowników, każdy płaciłby 1 procent kosztu, który płaciłby pojedynczy użytkownik za ten sam system. Jest to przykład oczy­ wiście zbyt uproszczony, lecz wnioski ekonomiczne są jasne i prawidłowe.

"The Economics of On-Line Systems” , On-Line Computing: Time- Shared Man-Computer System, Walter J.Karplus, ed. /Wew York: MacG-raw-Hill Book Company, 1967/ str- 75-76. - 55—

Sprawy się jednak komplikują, gdy do powyższego przykładu wkroczy świat rzeczywisty. Użytkownicy ni© korzystają jednako­ wo z zasobów systemu. Podnosi to zagadnienie'sprawidliwego ro­ zliczania opłat za korzystanie z systemu /patrz rozdział IV/. A także w przeciwieństwie do naszych założeń istnieją ukryte koszty: dla kogoś koszt godzin nadliczbowych jest większy w systemie wielodostępnym niż w systemie przetwarzającym partio- wo, ponieważ zazwyczaj w nadgodzinach zużywa się więcej czasu centralnego procesora, a większe programy sterujące wykorzystu­ ją większe połacie pamięci; dla kogoś drugiego koszt opracowa­ nia oprogramowania dla wielodostępu jest na ogół większy niż dla tradycyjnych metod. Użytkownicy muszą uczestniczyć w tych ogólnych kosztach systemu, jak również muszą oni płacić za jed­ nostki ozasu i przestrzeni produkcyjnej, którą zużywają. Także w rzeczywistości koszty transmisji danych nie są do pominięcia, czasami nawet są one wygórowane. Co więcej, jeżeli system dos­ tępny dla wielu użytkowników jest własnością i jest eksploato­ wany przez jeden wydział, wydział ten musi płacić za wszyst­ kich użytkowników i prawdopodobnie będzie więcej płacił, niż wyniósłby koszt systemu przetwarzającego partiami.

Pomimo tych skomplikowanych spraw wyłania się następujący obraz: Dla małych użytkowników, których nie stać na komputer, lub dla użytkowników, którzy chcą uniknąć inwestowania w środki trwałe, odpłatne usługi wielodostępne zapewniają pewne korzyś­ ci gospodarcze.

Inni użytkownicy, którzy być może rozpoczęli od systemów na zewnątrz własnego przedsiębiorstwa i byli niezadowoleni, albo którzy muszą "przykroić” system do własnych potrzeb /na przyk- « 56

ład, by zmniejszyć problemy zabezpieczania danych/, mogą się zdecydować na budowę systemu wewnętrznego według własnych po­ trzeb. Okazałoby się wówczas, że przedsiębiorstwa uzasadniają taką decyzję finansowo: "Będzie to nas mniej kosztować niż obecnie wydajemy na usługi zewnętrzne"« /Także okazałoby się, że wydzierżawiony czy też zakupiony system wewnętrzny jest zwykle nie tym samym systemem, jekim był zapewniany przez us­ ługi zewnętrzne/«

"W chwili obecnej co najmniej nie wygląda na to, że systemy wielodostępne mogą konkurować pod względem kosztu z systemami przetwarzającymi partiowo, dla tego samego rodzaju przerobu« Jednak ogólna wydajność, mierzona w odniesieniu do produktyw­ ności ludzi, może na tyle wzrosnąć, że zwiększenie kosztu da się ekonomicznie uzasadnić w inny sposób \ Jak to zobaczymy w rozdziale IV, poważnie zabrano się do zagadnienia wykorzysta­ nia maszyny, jako że czyni się starania by zwiększyć przerób systemu i przez to doprowadzić systemy wielodostępne do wspól­ nego mianownika w zakresie konkurencyjności kosztu z innymi formami przetwarzania danych.

4-» Dodatni wpływ na personel

Alan Lee Scherr z instytutu MIT obala zagadnienie wyko­ rzystania maszyny: "To nie ma sensu ... by ocenę wielodostępu opierać na wydajności sprzętu, ponieważ w większości wykorzys­ tanie sprzętu wielodostępnego zachodzi dla funkcji, których system konwencjonalny nie zapewnia". Każdą z takich opinii mo­ żna wydać opierając się jedynie na danych niewymiernych w chwi­ li obecnej: na wartości ekonomicznej zwiększenia funkcyjności 2 i szybkości reakcji zapewnianej przez systemy wielodostępne" .

^ Walter F.Bauer i Richard H.Hill, "Economics of Time-Shared Com puting Systems", Część I.Datąmątion,Listopad 1967,str. 50. J5n...Agoj-y.sis of Time-Shared Computer Systems. /Cambridge,Mass.: MIT Press,1967/, p.5. -57

Tym niewymiernym artykułem /dobrem/ jest zwiększenie efektyw­ ności ludzkich użytkowników systemu. Należy tu podkreślić brak dostępnych statystyk, które by rzuciły trochę światła na ten przedmiot. W bardzo specyficznej sytuacji pisania i sprawdza­ nia programów przeprowadzono kilka badań, które sugerują, iż efektywność programistów wzrosła w środowisku wielodostępnym w porównaniu z tradycyjnymi ośrodkami przetwarzania partiowe- go /zwięzły przegląd tych prac badawczych podano w Proceedings, 1968 Spring Joint Computer Conference, strony 1 - 10/. Nie przebadano w podobny sposób innych obszarów działalności lub innych rodzajów fachowców - statystyków, inżynierów lub dyrek­ torów marketingu - lecz w związku z korzystaniem z wielodostę- pu istnieje jednak duży optymizm na temat wzrostu efektywności człowieka.

Wywiad przeprowadzony z użytkownikami Projektu MAC wyka­ zał, że wielodostęp pozwolił im szybciej' rozwiązywać pro­ blemy, przystąpić do bardziej złożonych problemów oraz A osiągnąć "lepsze wyniki" .

Dyrektor wielkiego banku, w którym zainstalowano wewnę­ trzny system wielodostępny, wskazał, że pracownicy mogą napisać i sprawdzić programy w czasie wynoszącym 10 pro­ cent czasu, jaki byłby potrzebny do dokonania tego w try­ bie przetwarzania partiowego. Donoszono także, że znacz­ nie poprawiła się jakość i o połowę skrócił się czas wyko­ nania prac analitycznych prowadzonych przez nieprogramis- tów, dając im swobodę - jak to określił dyrektor - "w cał­ kowitym poświęceniu się problemowi a nie arytmetyce"♦

^ Michael Gold, "Evaluating Time-Shared Computer Usage",str.13. -58 -

Pewien dyrektor w wielkim przedsiębiorstwie badań przes­ trzeni kosmicznej przewidywał pięciokrotny wzrost wydaj­ ności pracy programistów i na koniec oświadczył, że "przy malejących kosztach maszyny a wzrastających kosztach siły ludzkiej nadszedł już czas, by optymalizować tę część wy­ dajności, która zależy od człowieka”.

Wydaje się, że we wzmaganiu efektywności istotnymi czynni­ kami są: zmniejszony czas oczekiwania, wzrost możliwości twór­ czych, wyższy poziom dokładności oraz większe zadowolenie oso­ biste. Michael Gold oświadczył:

"Aczkolwiek nie ma rozstrzygających dowodów odnośnie bez­ pośredniej wartości wielodostępu, to jednak wydaje się, że istnieje zespół teorii powiązanych z tym zagadnieniem, sugerujących iż własności jakie przedstawia sobą wzajemne oddziaływanie człowiek-maszyna-i wielodostęp dają w wyni­ ku wzrost wydajności oraz zmniejszenie niezbędnych osobo- godzin oraz straconego czasu. Zasadnicza teoria oraz ba­ dania doświadczalne prowadzone w dziedzinie transmisji danych, małych grup i nauczania przy pomocy komputera po­ twierdzają te poglądy oraz wnioski i następnie wskazują na istnienie zależności między pobudzaniem /bodźce/, ścis­ łością współdziałania oraz wydajnością".

C. USŁUGI ZEWNĘTRZNE W ZAKRESIE WIELODOSTĘPU

Po podjęciu decyzji o przystąpieniu do zewnętrznego usługo­ wego /odpłatnego/ systemu wielodostępnego, zarówno w przypadku systemów czysto handlowych lub w przypadku systemów będących własnością dużych korporacji czy też uniwersytetów, należy - 59 - wybrać właściwy system - o ile istnieje możliwość takiego wy­ boru. Właściwym będzie system /lub systemy/, które zapewniają pożądaną "mieszankę" wygody, elastyczności oraz szybkości re­ akcji w świetle wymagań stawianych przez zamierzone zastosowa­ nia. Na przykład: użytkownik musi sam osądzić, jakie można przy­ jąć języki oraz jaki zakres czasów odpowiedzi. Okres eksploata­ cji próbnej kilku systemów odsłoni różnice w ich wydajności, które mogą zawęzić listę kandydatów, jak również podsunąć użyt­ kownikowi lepsze pomysły na temat tego, które własności są kry­ tyczne dla jego przedsiębiorstwa.

Poza przedyskutowanymi już wcześniej w tym rozdziale przy­ miotami zależnymi od oprogramowania, użytkownik przy ocenie us­ ług zewnętrznych musi sobie odpowiedzieć na poniższe pytania:

Jakie istnieją zabezpieczenia by uchronić użytkownika przed utratą danych w wyniku awarii systemu, manipulacji zewnętrznych lub nawet upływu czasu?

Czy języki programor/ania obecnie dostępne lub zamierzone jako dodatkowe w przyszłości zapewniają żądany stopień elastyczności?

V/ jaki sposób system przydziela pamięć poszczególnym użytkownikom i czy wystarcza pamięci głównej i dodatko­ wej dla zamierzonych zastosowań?

Jak obszerna jest biblioteka programów i pomocy w prog- raooY/aniu oraz czy jest ona przydatna dla potrzeb użyt­ kownika?

Jak system dokonuje rozliczeń /opłat tytułem korzystania z niego/ oraz czy użytkownik będzie sprawiedliwie obcią­ żony za korzystanie z zasobów systemu jak również kosz­ tami ogólnymi? - 40 -

Jeśli wymagane jest zdalne przetwarzanie partiowe lub przetwarzanie partiowe zaszłości /tzn. nie na bieżąco/, czy system je zapewnia?

Pod uwagę należy również wziąć inne względy, które właściwie nie są objęte niniejszym opracowaniem, są to: godziny, w któ­ rych system jest dostępny, warunki kontraktu, cechy centralne­ go procesora, ilość i rodzaj terminali, które można podłączyć do danego systemu.

D. SYSTEMY WIELODOSTĘPNE WEWNĘTRZNE

Użytkownik, który decyduje się na wdrożenie wewnętrznego sys­ temu wielodostępnego staje przed podniecającym, ale trudnym zadaniem.

Jedną z pierwszych decyzji, którą należy podjąć, jest wy­ bór samego systemu. Zakres wyboru może sięgać od "gotowego" standardowego sprzętu i pakietu oprogramowania, dostarczane­ go przez producenta komputerów, do systemu "przykrojonego" na własne potrzeby, budowanego od podstaw przez użytkownika. Oczywiście między tymi skrajnościami istnieje szereg możli­ wości pośrednich.

Jednym z dość popularnych podejść do tego zagadnienia jest zakup gotowego systemu i modyfikacja dostarczonego przez pro­ ducenta oprogramowania w niewielkim zakresie. Innym podejś­ ciem jest wybranie odpowiednich elementów sprzętu /nawet od różnych producentów/ i zaprojektowanie oraz opracowanie całe­ go systemu oprogramowania. W niewielu przypadkach przedsię­ biorstwa poszły obiema drogami, wybierając drugie podejście po uzyskaniu kilkuletnich doświadczeń na tym polu. Ma to na przykład miejsce w przypadku systemu abonenckiego zwanego - VI

Call-A-Computer /dosł.: zawołaj komputer/ oraz w przypadku Ford Technical Computer Center /Techniczny Ośrodek Obliczenio­ wy firmy Ford/*

Węzłowy problem stanowi rozstrzygnięcie: użyć czy nie użyć oprogramowanie dostarczane przez producenta? Względy, które należy rozważyć, są w pierwszym rzędzie natury ekonomicznej oraz możności stosowania.

1/ Względy ekonomiczne: w cenie producenta zazwyczaj jest za­ warty koszt utrzymania /konserwacji/ systemu, który opraco­ wano i można go nabyć, aczkolwiek dokonanie modyfikacji w systemie może spov/odoivad anulowanie odpowiedzialności za utrzymanie - konserwację /może zajść przypadek utraty gwa­ rancji producenta/. Inną możliwością jest zainwestowanie w opracowanie i utrzymanie systemu, czy to wewnętrznie czy to poprzez specjalistyczne przedsiębiorstwa usług z zakresu oprogramowania /software house/. Korzystanie z oprogramowa­ nia dostarczanego przez producenta jest, przynajmniej poozą- tkowo, mniej kosztowne.

2/ Możność stosowania: producent projektuje i dostarcza uogól­ niony system, usiłując w ten sposób zaspokoić potrzeby sze­ rokiego kręgu użytkowników* Wynikiem tego jest, jak to przedstawił jeden z użytkowników, że "nie można zastosować tego samego systemu wielodostępnego w banku, w stalowni i w przedsiębiorstwie transportu lotniczego". Użytkownicy ci potrzebują różnych systemów, dostosowanych do różnych śro­ dowisk i różnych zastosowań. Jednakże producenci w dalszym ciągu produkują uniwersalne systemy, które mają zadowolić wszystkich, lecz nie zadowalają nikogo. - 42 -

Oczywiście każdy z użytkowników musi sam zadecydować jaki tok postępowania jost odpowiedni dla jego potrzeb i finansów*

Innym problemom, na jaki często natknie się użytkownik, jest nabór lub przeszkolenie wysoce uzdolniknej kadry, niezbęd­ nej dla wdrożenia systemu, jego utrzymania i modyfikacji, a być może także rozszerzenia. Personel, który posiada doświadczenie w zakresie projektowania i rozwoju systemów wielodostępnych jest raczej rzadkością i drogo kosztuje.

i E. LISTA KOKTROŁNA DECYZJI W ZAKRESIE WIELODOST^PU

Poniżej podano pytania, uwzględniające punkt widzenia użyt­ kownika, wskazują na rodzaj decyzji jakie należy podjąć oraz na ich kolejność przy nabywaniu możliwości pracy w systemie wielodostępnym. Pytania te nie wyczerpują całkowicie tematu, lecz posiadają charakter poglądowy w zakresie wymaganego proce­ su decyzyjnogo. Kogą one także służyć jako odskocznia dla opra­ cowania przez przedsiębiorstwo własnej listy kontrolnej. Pyta­ nia zawarte w omawianej liście opracowano w pierwszym rzędzie na podstawie zagadnień przedstawionych w bieżącym rozdziale, aczkolwiek niektóre z nich mogą odzwierciedlać dyskusje z in­ nych rozdziałów niniejszego sprawozdania.

1. Podstawowa pytanie

Gzy w ogóle potrzebujemy wielodostęp? Tale - jeśli przev7iduje się, że nasz system ma jednocześnie obsłużyć wielu użytkowników w różnych miejscach róy/nocześ- nie i ich wymagania przedstawiają się następująco; - 45 - a. Rozwiązywanie problemów badawczych, w trybie wzajemnego oddziaływania /badacza na problem i na odwrót/ lub oblicze­ nia nakierowywane w sposób ciągły z możliwością badania wy­ ników pośrednich - wówczas powinniśmy posiadać wielodostęp pracujący w trybie konwersacyjnym /powszechnie uważany jako najdroższe z rozwiązań/; b. Wyszukiwanie informacji ze stosunkowo małą ilością ob­ liczeń lecz szybką odpowiedzią - wówczas powinniśmy posia­ dać wielodostęp typu zapytanie-odpowiedż;

c. Krótkie oczekiwanie bez wzajemnego oddziaływania - wów­ czas powinniśmy posiadać system zdalnego wprowadzania zadań /powszechnie uważany jako najbardziej wydajna forma wielo- dostępu/ — który może pracować z podziałem na określone od­ cinki czasu lub nie;

Taka klasyfikacja, aczkolwiek znacznie uproszczona /mało z mieszanych zestawów zadań ściśle wchodzi do jednej z powyż­ szych kategorii/, pomaga określić tendencje w kierunku ta­ kiego czy innego rodzaju systemu. .Według wszelkiego praw­ dopodobieństwa większość użytkowników komputerów, wyjąwszy niewielką liczbę specjalnych zastosowań, zauważy że co naj­ mniej dwie z wyżej przedstawionych form ilustrują ieh zas­ tosowanie wielodostępu*

Pytania powiązane z wyżej przedstawionym:

d. Czy wybrana forma wielodostępu jest dla nas ekonomicz­ nie wykonalna?

e. Czy pomoże to nam w lepszym v/ykorzystaniu zasobów pos­ tawionych do naszej dyspozycji? - 44 -

1/ Pieniądze: Ile będzie kosztował wielodostęp w porówna­ niu do innych form przetwarzania danych? Jak wypadnie porównanie jego efektywności?

2/ Czas: Czy zaoszczędzimy czas nie poświęcając jakości?

3/ Personel: Czy nasz personel różni się między sobą w wydajności? Co to oznacza i jak możemy to pomierzyć?

V Przestrzeń: Jaki będzie wpływ wielodostępu na przydzie­ loną nam przestrzeń?

5/ Wyposażenie: Jakie wyposażenie będzie potrzebne i ja­ kie z już posiadanego można wykorzystać?

2* Decyzja na temat: system wewnętrzny lub zewnętrzny

Przedsiębiorstwo, któro uzasadnia potrzebę wielodostępu, mu­ si następnie podjąć decyzję czy korzystać będzie z usług zewnę­ trznych, czy zbuduje własny system* a. Warunki, które wskazują na korzystanie z usług zewnętrznych:

1/ Stosunkowo mole zasoby finansowe; 2/ Uniknięcie inwestowania w środki trwałe; 3/ Stosunkowo małe lub rzadkie zapotrzebowanie na dostęp; 4/ Minimalne wymagania w zakresie bezpieczeństwa; 5/ Uniknięcie przyjmowania dodatkowego personelu; 6/ Dostępne pakiety dla zastosowań; 7/ "nieograniczona”pomoc z niewątpliwie dobrze poinformowa­ nego źródła* b. Warunki, które wskazują na konieczność opracowania systemu wewnętrznego : 1/ Potrzeba stworzenia płaszczyzny styku - dopasowania - /"interface"/ z istniejącym systemem przetwarzania par- tiowego lub systemem zbiorów; 2/ Maksymalne wymagania w zakresie bezpieczeństwa; $/ Potrzeba przyzwyczajenia się do poszczególnych zastosowań

lub baz danych; 4/ Żądanie sprzedaży czasu systemu; 5/ Duże lub częste zapotrzebowanie na dostęp; 6/ Potrzeba egzekwowania kontroli nad systemem; ■ 7/ Plany zbiorowe wymagają scentralizowanego systemu wewnę­ trznego; 8/ Plany zbiorowe wymagające zdecentralizowanych systemów wewnętrznych z siecią transmisji danych*

3o Wybór usług zewnętrznych

Przedsiębiorstwo, które zdecydowało się należeć do jednego lub więcej odpłatnych systemów usługowych powinno rozważyć nas­ tępujące zagadnienia w ocenie kandydatów oraz w wyważeniu każ­ dego z czynnikói?, stosownie do jego względnego znaczenia w pla­ nowanym zastosowaniu. a. Co jest dostępne? 1/ Języki; 2/ Pojemność pamięci operacyjnej zagwarantowana dla jednego użytkownika; 3/ Biblioteki programów /dla zastosowań/; 4/ Pojemność pamięci dyskowej lub bębnowej dla jednego użyt­ kownika; 5/ Godziny /zmiany, godziny świąteczne itd./; 6/ Rodzaj centralnego procesora i jego moc przerobowa; 7/ Rodzaje terminali /urządzeń końcowych/; 8/ Rodzaje usług /wzajemnego oddziaływania, zdalne przetwa­ rzanie partiowe itd./. - 46 tu IIe to ma kosztować?

1/ Czy Istnieją jakaś minimalna opłata? 2/ W jaki sposób dokonuje się rozliczeń /wykorzystanie za­ sobów systemu, czas podłączenia do systemu itd./? c. Inne czynniki:

1/ Aspekty niezawodności oraz odzysku danych; 2/ Warunki kontraktu; 3/ Wybór między usługami uniwersalnymi a wyspecjalizowanymi,

4. Opracowanio systemu wewnętrznego

Przedsiębiorstwo, które decyduje się na opracowanie własnego systemu wielodostępnego, musi sobie następnie wytyczyć sposób postępowania. a. Projektowanie systemu: jak można najlepiej wcielić w życie nasze wymagania w zakresie zastosowań, transmisji danych oraz wymagania zbiorowe? b. Wybór sprzętu: czy standardowa oferta producenta /centralny procesor, pamięci, podłączenia wo/wy, terminale, urządzenia transmisji danych//zaspokoi powyższe wymagania, czy też koniecz* ne jest opracowanie specjalnego systemu?

c. Wybór oprogramowania: z jakich będziemy korzystać systemów operacyjnych, translatorów języków, programów zarządzających zbiorami, pakietów zastosowań - uzyskanych od producenta, opra­ cowanych na podstawie kontraktu z przedsiębiorstwem specjalizu­ jącym się w tym zakresie lub wykonanych we własnym zakresie? Kto będzie odpowiedzialny za utrzymanie? - 47 - d* Personel: czy posiadamy wystarczającą ilość wykwalifikowa­ nych ludzi by wypełnić stojące przed nami zadania w zakresie wybranego rozwiązania?

III. AKTUALNA REALIZACJA

Ponieważ techniki obejmujące wielodostęp jak dotychczas są zbyt nowe by powstała jakaś systematyczna i zwięzła metodolo­ gia projektowania w tym zakresie, niniejszy rozdział nie powi­ nien być zatytułowany "Aktualna technologia". I rzeczywiście, cała dziedzina przetwarzania informacji cierpi na zadawniony brak podstaw teoretycznych. Mimo tego stanu rzeczy jest możli­ we i pożądane dokonanie pewnej liczby uogólnień na temat aktu­ alnych podejść do zagadnienia projektowania, ponieważ pozwala to nam na wgląd do systemóv7 chwili obecnej oraz sugeruje ulep­ szenia, jakich można by dokonać w przyszłości*

Opinia wśród użytkowników i projektantów wielodostępu jest jednomyślna, że "zaledwie oskrobano powierzchnię" tego zagad­ nienia. Aktualne systemy, mimo swej złożoności /lub być moż© w pewnym sensie z powodu niej/, są prymitywne. Fizycznie cechuje wielu użytkowników przy zdalnych terminalach, sieć transmisji danych oraz centralny system przetwarzania z kilkoma poziomami pamięci. Do tego centralnego systemu może być dodany tzw. kom­ puter "pierwszoplanowy" dla szybkiego załatwienia zadań w zak­ resie ruchu łączności - mających największy priorytet - mogą być dodane małe komputery służąoe jako koncentratory strumieni danych, a być może także zdalne pamięci buforowe dla zadań par- tiowych. Oprogramowanie wymagane dla kierowania tym kompleksem, system operacyjny oraz jego użytkowe podsystemy, muszą wykony­ wać następujące główne funkcje /chociaż nie wszystkie systemy wykonują*wszystkie funkcje/: 1, Zarządzanie centralnym procesorem

a/ przydzielanie centralnego procesora do programów, które mają być wykonane.

b/ Przestrzeganie polityki priorytetów i planowania.

2. Zarządzanie pamięcią

a/ Przydzielanie głównej pamięci dla programów i danych celem wykonania przebiega, przetwarzania.

b/ Przydzielanie pamięci dodatkowej dla programów i danych celem późniejszego ładowania i włączania do pamięci głównej.

c/ Zapewnienie niepodzielności przydzielonego obszaru pamię­

ci. d/ Sterowanie ruchem między różnymi poziomami pamięci.

J. Zarządzanie zbiorami

a/ Lokalizacja i wyszukanie żądanych danych*,

b/ Przechowywanie i łączenie nowych danych,

c/ Zapewnienie bezpieczeństwa wrażliwych /ważnych/ danych,

d/ Gospodarka i utrzymanie zbiorów uzależnionych od czasu.

4. Zarządzanie terminalami i zdalnymi komputerami

a/ Odbiór, sprawdzanie, potwierdzanie i wyznaczanie trasy wchodzącym komunikatom, b/ Formowanie i wysyłanie komunikatów wychodzących.

.c/ Wykrywanie i usuwanie błędów powstałych w czasie prze­ syłania.

5* Zarządzanie wejściem/wyjściem a/ Ustawianie kolejek i wykonywanie funkcji we/wy na żąda­ nie programu. - 49 -

b/ Sterowanie systemem przerwań i wymianą z urządzeniami we/wy. c/ Wykonywanie operacji we/wy w terminalu poza centralnym procesorem /off-line/ drukowanie, dziurkowanie itp./.

6. Zarządzanie systemem oraz samozarządzanie

a/ Obsługa warunków przeciążenia. b/ Wykrywanie i łagodzenie awarii podzespołów /planowa degradacja systemu/, c/ Przełączenie systemu w stan oczekiwania w przypadku bardzo dużej awarii, d/ Kontrola i rozliczanie wykonania.

Celem efektywnego zarządzania tymi zasobami systemu techniki wielodostępu zastosowano, gdzie to możliwe, teorię kolejek oraz mechanizm przerwań wewnętrznych. Ogólnie biorąc, zwykle więcej użytkowników w danym momencie żąda usług niż system jest w sta­ nie jednocześnie wykonać i z tego powodu żądania poszczególnych użytkowników muszą stać w kolejce oczekując na obsługę. Stąd pochodzi koncepcja ustawiania kolejek lub formowania szeregu oczekujących zadań. Także niektóre systemy sprzętu, szczególnie dotyczy to komputerów trzeciej generacji, posiadają rozbudowane

Struktury przerwań, które dobrze dostosowują je do potrzeb sys­ temów wielodostępnych - na przykład "kanał gotów", "naruszenie granic pamięci", "usiłowanie wykonania instrukcji uprzywilejo­ wanej lub nielegalnej przez niepożądany program” - i szeroko się te struktury wykorzystuje.

W następnych odcinkach rozważymy jakie techniki w chwili obecnej używa się do realizaoji tych funkcji zarządzania zaso­ bami. Zdefiniujemy "zadanie" jako podzespół programu /może to być cały program - zależy od koncepcji przydziału pamięci/; r 50 -

"wzajemne oddziaływanie" jako rozpoczęcie i wykonanie zadania oraz odpowiedzi /reakcji/ na nie; oraz "ciąg zadań" w zakresie przetwarzania jako jeden lub więcej programów.

A. TAKTYKI PLAJTOWANIA I ZARZĄDZANIA PROCESOREM

Techniki przetwarzania, które zapewniają konieczne zwielo­ krotnienie zasobów systemu, są najistotniejszą częścią wielo- dostępu. Tu podstawową koncepcją jest zapewnienie każdemu czyn­ nemu użytkownikowi krótkiego odcinka czasu, w którym centralny procesor jest do jego dyspozycji, a także zapewnienie tej usłu­ gi dosyć często tak, by wydawało się, że jest ona stale wykony­ wana? to znaczy tak, jakby każdy z użytkowników wyłączni© korzy­ stał z systemu. Realizacja takiego schematu działania jest umoż­ liwiona wskutek niewspółmiernych szybkości działania człowieka i maszyny.

Celom Y/drożenia odmian tej podstawowej dla wielodostępu myś­ li przeY/odnioj opracoY/ano szereg algorytmó?/ planowania. Znajdu­ jemy tu i proste i bardzo złożone algorytmy, co zależy od tego, ilo muszą one uwzględnić czynników w momencie przydzielania cen­ tralnego procesora. Niektóre z czynników wpływających na plano­ wanie — któro mamy zamiar zbadać — są to: struktura priorytetów ustalana dla różnych zadań, reguła nadrzędności wśród zadań, żądany czas odpoY/iedzi, v/ąskie gardła w ciągu przetv;arzanych zadań, wyposażenie wymagane dla Y/ykonania poszczególnych zadań( wielkość dostępnej pamięci głównej.

Zbyt złożony mechanizm planowania może proY/adzić do trudnoś­ ci przy wdrażaniu lub sprawdzaniu oraz przy innych problemach mogących wystąpić w czasie eksploatacji systemu. /Należy tu za­ uważyć , że nie będziemy uwzględniali tych algorytmóv/, które nie - 51 stosują dzielenia czasu na małe odcinki. Technika typu "naj­ krótszy ciąg zadań najpierw” i inne techniki mogą się nadawać dla wieloprogramowości, lecz nie dla wielodostępu żywych użyt­ kowników/®

7/ tym miejscu musimy dokonać rozróżnienia między zadaniami "czynnymi” i "biernymi”i pierwsze tkwią w pamięci operacyjnej, drugie nie są tam ulokowane. Skoro tylko program planujący wy­ brał i załadował zadanie do wykonania, zadanie to jest czynne, aż do momentu przeniesienia go do pamięci dodatkowej. Zadanie zaczyna "czekiwać" wówczas, gdyż jego wykonanie zostaje odło­ żone, aż do momentu zakończenia przesyłania lub do urządzenia we/wy lub terminala, lub do momentu kiedy inne /wywołane/ zada­ nie zakończy żądany pośredni przebieg. W każdej chwili program planujący system dysponuje kolejką zadań; zadania czynne, nie oczekujące, współzawodniczą o obsłużenie ich przez centralny procesor, a wszystkie bierne lub oczekujące są tymczasem wyłą­ czone z tego współzawodnictwa. Wynikiem tego podziału zadań jest istnienie kilku logicznie wydzielonych kolejek, aczkol­ wiek fizycznie zadania te mogą tworzyć jedną kolejkę*

1. Podstawowa taktyka planowania

Najprostszym podejściem koncepcyjnym do zagadnienia dzie­ lenia czasu centralnego procesora między wszystkie czynne zada­ nia jest taktyka kolejnej obsługi przez centralny procesor wszy­ stkich czynnych zadań w sposób cykliczny. 9

Czynne zadania

ó - 52 -

W tej metodzie cyklicznej obsługi zadań /zwanej w Stanach Zjednoczonych A.P. pod nazwą: "round robin method" - dosłownie metoda latającego w kółko ptaszka/, kolejce czynnych zadań sa~ mowolnie przydzielono różne priorytety: czas centralnego proce­ sora jest w sposób jednolity rozdzielony między wszystkie zada­ nia /czynną/podczas jednego cyklu pracy. Nowe zgłoszenia - za­ dania właśnie przechodzące do stanu czynnego - po prostu dołą­ czają do końca kolejki w oczekiwaniu na moment ich obsłużenia przez centralny procesor. Jeśli zadanie zostanie wykonane pod­ czas przydzielonego mu odcinka czasu, zostaje uno zakończone i wypada z kolejki; w innym wypadku albo zadanie wykorzystuje do końba przydzielony mu odcinek czasu centralnego procesora, albo gdy żąda przesyłania typu we/wy czy też wykonania innego zada­ nia, - wówczas staje się zadaniem oczekującym^ Przejście w stan oczekiwania podnosi kwestię priorytetów, omówienie której chwi­ lowo odłożymy. Zarówno zakończenie wykonywania jak i skończenie się odcinka czasu wymagają by zostało wybrane i załadowane nowe zadanie; nie zakończone zadanie, którego czas się skończył dołą­ cza się do kolejki zadań biernych. /Należy tu zauważyć, źe jeśli wielkość kwoty czasu jest nieograniczona, to wówczas każdy ciąg zadań obliczeniowych użytkownika jest przetwarzany, aż do ich zakończenia i wówczas zamiast dzielenia czasu mamy do czynienia z taktyką "pierwsze zgłoszenie - pierwsze obsłużone", tak jak to ma miejsce w tradycyjnych systemach przetwarzania partiowego/.

Omawiana metoda cyklicznej obsługi zadań została początkowo wybrana celem zapewnienia krótkiego czasu oczekiwania na obsłu­ gę, gdy czas przebiegu nie jest z góry znany. Główną zaletą pod­ stawowej metody cyklicznej obsługi jest to, że łatwiej ją zasto­ sować niż bardziej złożone algorytmy, lecz wadą jest, iż nie ~ £3 “ uwzględnia się priorytetów i wskutek tego nie można uprzywile­ jować zadań, które wymagają szybkiej reakcji systemu.

Usiłując utrzymać atrakcyjną prostotę taktyki cyklicznej obsługi przy jednoczesnym przezwyciężeniu jej słabych stron, opracowano kilka różnych podejść do tego zagadnienia. Wszyst­ kie te podejścia opierają się na stosowaniu wielorakich kole­ jek zadań. W zasadzie kolejki tworzy się tu dla wydzielonych zadań, zależnie od ich priorytetu, czasu przebiegu, lub zależ­ nie od połączenia tych dwóch cech.

By zapewnić różne rodzaje usług dla różnych kategorii użyt­ kowników utworzono hierarchie priorytetów. I tak, na przykład ciągi zadań zdalnego przetwarzania partiowego mogą mieć niski priorytet ponieważ nie stawiają one jakiegoś określonego wyma­ gania w stosunku do czasu odpowiedzi /reakcji/ /poza, być może, spiętrzeniem się prac - czyli tzw. wąskim gardłem/, podczas gdy zadania typu wzajemnego oddziaływania mogą mieć wysoki prio­ rytet z uwagi na bardzo określone wymaganie w stosunku do cza­ su odpowiedzi. Między tymi dwiema skrajnościami mogą istnieć gradacje priorytetów, których wynikiem jest szereg kolejek utworzonych na zasadzie posiadania wspólnego priorytetu:. Kiedy użytkownik wchodzi do takiego systemu, określa on charakter swych prac, taka informacja, łącznie z tożsamością użytkownika /której także może być przypisany pewien poziom priorytetu/ oraz z jakimikolwiek innymi danymi identyfikacyjnymi, które są wymagane, pozwala systemowi określić właściwą kolejkę dla prac użytkownika.

Hierarchie czasu przebiegu zwykle projektuje się tak, by uprzywilejować krótkie, wymagające szybkiego przetworzenia, ciągi zadań obliczeniowych. Takie podejście może wykorzystać ~ 5 4 - informaoje uzyskane z przewidywań, gdzie użytkownik wskazuje długość jego prac obliczeniowych, albo gdzie system ,,wi©,, , ile czasu potrzeba na podstawie dotychczasowych doświadczeń z tymi pracami. W obu przypadkach system postępuje według zmo­ dyfikowanej zasady "najkrótszy ciąg zadań - najpierw" by jak najszybciej załatwić możliwie dużą ilość zgłoszeń. Dlatego system zwykle utrzymuje zestaw kolejek utworzony w zależności od czasu przebiegu zgłoszonych prac. Na przykład kolejka o wy­ sokim priorytecie może zawierać wszystkie nowo zgłoszone zada­ nia /tzn. dotychczas ni© przetwarzane/, następna kolejka może zawierać zadania, które już wykorzystały co najmniej dwa odcin­ ki czasowe - lecz mniej niż dziesięć, a kolejka o niskńm pric- rytesie może zawierać zadania, które zużyły co najmniej dziesięć odcinków czasu, lecz nie są w dalszym ciągu zakończone.

W obu rodzajach hierarchii każda z kolejek jest przetwarza­ na w sposób cykliczny - z wykorzystaniem metody cyklcznej obs­ ługi zadań; następne z zadań, któro ma być wykonane zostaje wybrane z samego przodu kolejki o najwyższym priorytecie takieji która jeszcze zawiera oczekujące zadania. Przedstawiona tutaj technika jest czasami łagodzona przez wymuszanie skierowania obsługi na niższe poziomy priorytetu po upływie wcześniej okreś­ lonej maksymalnej długości czasu świadczenia usług przez system dla wyższego poziomu priorytetu. W ten sposób zapewnia się by nawet najniższy poziom priorytetu co pewien czas uzyskał ob­ sługę od systemu.

W systemach pracujących z jedną kolejką odcinki czasu mogą być tak ustalane, aby zmienny czas cyklu uzależniony był od długości kolejki. Czas cyklu może być także stały a wielkość odcinka czasu obsługi poszczególnych zadań zmienna w zależności - 55 - od liczby wejść w kolejce. W systemie z wielu kolejkami wiel­ kość odcinka czasu może być stała dla każdego poziomu, lub mo­ że ona być uzależniona od tego, która z kolejek jest w danej chwili obsługiwana: i tak, przydziela się krótkie odcinki cza­ su udostępniania komputera powtarzane z wielką częstotliwością dla kolejek o wysokim priorytecie, a długie odcinki czasu z małą częstotliwością powtarzania dla kolejek z niskim priory­ tetem. Podjęcie decyzji odnośnie wielkości odcinka czasu jest zajęciem co najmniej drażliwym. Zagadnienie to jest w dalszym ciągu omawiane w rozdziale IV.

2. Rozważania na temat priorytetu

Jako uzupełnienie wyżej omówionego formalnego mechanizmu priorytetów do programu planującego muszą być włączone pewne same przez się zrozumiałe postanowienia odnośnie priorytetu. Pierwszorzędne znaczenie ma tu rozstrzygnięcie czy się uwzglę­ dnia zasadę pierwszeństwa obsługi, czy nie, a mianowicie: o ile świeżo zgłoszone zadanie ma wyższy priorytet od bieżąco wykonywanego, czy powinno ono ’'podkupić1' to ostatnie? Jeśli tak, to czy przerwane zadanie ma być podjęte na nowo w miej­ scu przerwania, lub też powinno ono być rozpoczęte od począt­ ku przydzielonego mu odcinka czasu? Podobny problem powstaje, gdy jakieś zadanie przechodzi w stan oczekiwania przed zuży­ ciem swego odcinka czasu żądając przesyłania typu We/Wy; pow­ staje wówczas pytanie, czy zadanie to ma "podkupić" bieżąco wykonywane zadanie czynne gdy został zakończony proces We/Wy - w zamiarze zakończenia swojego odcinka czasu, albo ma ono oczekiwać aż do następnego cyklu by zakończyć odcinek czasu - albo powinno ono rozpocząć nowy odcinek czasu? A jeśli wy­ - 5 6 - wołało ono inne zadanie, powstaje zagadnienie czy v/ywołane za­ danie ma być wykonywane w ciągu odcinka czasu przydzielonego zadaniu wywołującemu? Jeśli nie, to co się wówczas dzieje z resztą odcinka czasu zadania wywołującego? Na tego rodzaju py­ tania należy odpowiedzieć w czasie projektowania programu pla­ nującego, a na wynikające stąd zasady będą miały wpływ inne czynniki, takie jak czas wymiany wymagany dla przywrócenia za­ dania biernego do stanu czynnego.

Obecnie istniejące programy planujące wydają się wdrażać wszystkie te zasady, każdy z nich dla osiągnięcia swojego spe­ cyficznego zbioru celów. Niewiele zrobiono w kierunku pomierze­ nia ich względnej skuteczności działania, poprzestając w chwi­ li obecnej na niewielkich osiągnięciaoh w zakresie ulepszenia opracowania programu planującego. Wyjąwszy oczywiste zalety i wady każdej taktyki postępowania, projektujący muszą się zdać na intuicję /która może, lub nie, opierać się na dotychczaso­ wym doświadczeniu/ a nie na dowodach empirycznych przy wyważa­ niu względnyoh zalet i wydajności różnych algorytmów.

B. ZARZĄDZANIE PAMIĘCIĄ I ZBIORAMI Zarządzanie pamięcią koncentruje się na głównym problemie niewystarczającej pojemności pamięci głównej dla programów 1 danych. W zagadnieniu zarządzania zbiorem uwzględnia się stru­ kturę, przechowywanie, dostęp, wyszukiwanie i aktualizację da­ nych. Jeśli pamięć główna /szybka pamięć wykonawcza/ miałaby nieograniczoną pojemność, to wówczas zadanie zarządzania było­ by znacznie ułatwione. Jednakże pamięć główna jest droga, na­ wet w małych modułach, i niewiele współczesnych systemów za­ projektowano zakładając stosowanie bardzo dużych pamięci rzędu - 5 7 -

Dd ćwierć do pół miliona słów* To, co się dzisiaj uważa jako bardzo duże, za kilka lat może być bez znaczenia; i rzeczywiś­ cie niektórzy badacze przepowiadają ukazanie się olbrzymich ekonomicznych pamięci głównych rzędu pięćdziesięciu milionów słów* Jednakże współcześni projektanci systemów, licząc się z obecną technologią sprzętu, stają przed problemem umieszczenia za dużej ilośoi danych w za małej pojemności pamięci, i to w sposób, który ma ułatwiać ich umieszczenie i wyszukanie*

Typowe systemy wielodostępne wykorzystują w tym celu hierar­ chię urządzeń pamięci: pamięć główna /pamięć na rdzeniach mag­ netycznych/, pamięć dodatkowa /dyski, bębny, a czasami także pamięć masowa na rdzeniach magnetycznych/ oraz pamięci trzecio­ rzędne /taśmy magnetyczne lub olbrzymie systemy dyskowe/* Pewna część systemu operacyjnego stale rezyduje w pamięci głównej by nadzorować wykonanie innych programów /patrz Tablica 2/•

Zasadniczo funkcją pamięci głównej jest przechowywanie tych programów, które w danej chwili są obsługiwane przez centralny procesor; pamięć dodatkowa zawiera te programy* które oczekują ąa obsługę ze strony centralnego procesora; z kolei pamięć trzeciorzędna zawiera te programy, które są wykorzystywane rzadko. Manipulacje na danych zwykle przeprowadza się w pamię­ ci głównej. Dane przechowuje się tymczasowo w pamięci dodatko­ wej, a w pamięci trzeciorzędnej "na stałe" lub dla celów prze­ twarzania pośredniego /of-line/.

1. Zarządzanie pamięcią

Przy założeniu podziału czasu pracy centralnego proceso­ ra między wielu użytkowników, system operacyjny może stosować jedną z czterech technik przydzielania pamięci: wydzielania, wymiany,'segmentacji lub stronicowania. - 5 6 -

wołało ono inne zadanie, powstaje zagadnienie czy v/ywołane za­ danie ma być wykonywane w ciągu odcinka czasu przydzielonego zadaniu wywołującemu? Jeśli nie, to co się wówczas dzieje z resztą odcinka czasu zadania wywołującego? Na tego rodzaju py­ tania należy odpowiedzieć w czasie projektowania programu pla­ nującego, a na wynikające stąd zasady będą miały wpływ inne czynniki, takie jak czas wymiany wymagany dla przywrócenia za­ dania biernego do stanu czynnego.

Obecnie istniejące programy planujące wydają się wdrażać wszystkie te zasady, każdy z nich dla osiągnięcia swojego spe­ cyficznego zbioru celów. Niewiele zrobiono w kierunku pomierze­ nia ich względnej skuteczności działania, poprzestając w chwi­ li obecnej na niewielkich osiągnięciaoh w zakresie ulepszenia opracowania programu planującego. Wyjąwszy oczywiste zalety i wady każdej taktyki postępowania, projektujący muszą się zdać na intuicję /która może, lub nie, opierać się na dotychczaso­ wym doświadczeniiy a nie na dowodach empirycznych przy wyważa­ niu względnyoh zalet i wydajności różnych algorytmów.

B. ZARZĄDZANIE PAMIĘCIĄ I ZBIORAMI Zarządzanie pamięcią koncentruje się na głównym problemie niewystarczającej pojemności pamięci głównej dla programów 1 danyoh. W zagadnieniu zarządzania zbiorem uwzględnia się stru­ kturę, przechowywanie, dostęp, wyszukiwanie i aktualizację da­ nych. Jeśli pamięć główna /szybka pamięć wykonawcza/ miałaby nieograniczoną pojemność, to wówczas zadanie zarządzania było­ by znacznie ułatwione. Jednakże pamięć główna jest droga, na­

wet w małych modułach, i niewiele współczesnych systemów za­ projektowano zakładając stosowanie bardzo dużych pamięci rzędu - 5 7 - od ćwierć do pół miliona słów. To, co się dzisiaj uważa jako bardzo duże, za kilka lat może być bez znaczenia; i rzeczywiś­ cie niektórzy badacze przepowiadają ukazanie się olbrzymich ekonomicznych pamięci głównych rzędu pięćdziesięciu milionów słów. Jednakże współcześni projektanci systemów, licząc się z obecną technologią sprzętu, stają przed problemem umieszczenia za dużej ilośoi danych w za małej pojemności pamięci, i to w sposób, który ma ułatwiać ich umieszczenie i wyszukanie.

Typowe systemy wielodostępne wykorzystują w tym celu hierar­ chię urządzeń pamięci: pamięć główna /pamięć na rdzeniach mag­ netycznych/, pamięć dodatkowa /dyski, bębny, a czasami także pamięć masowa na rdzeniach magnetycznych/ oraz pamięci trzecio­ rzędne /taśmy magnetyczne lub olbrzymie systemy dyskowe/. Pewna część systemu operacyjnego stale rezyduje w pamięci głównej by nadzorować wykonanie innych programów /patrz Tablica 2/•

Zasadniczo funkcją pamięci głównej jest przechowywanie tych programów, które w danej chwili są obsługiwane przez centralny procesor; pamięć dodatkowa zawiera te programy, które oczekują ąa obsługę ze strony centralnego procesora; z kolei pamięć trzeciorzędna zawiera te programy, które są wykorzystywane rzadko. Manipulacje na danych zwykle przeprowadza się w pamię­ ci głównej. Dane przechowuje się tymczasowo w pamięci dodatko­ wej, a w pamięci trzeciorzędnej "na stałe" lub dla celów prze­ twarzania pośredniego /of-line/.

1. Zarządzanie pamięcią

Przy założeniu podziału czasu pracy centralnego proceso­ ra między wielu użytkowników, system operacyjny może stosować jedną z czterech technik przydzielania pamięci: wydzielania, wymianysegmentacji lub stronicowania. Wydziel*^ ę - jest techniką przydziału stałych miejsc w pa­ mięci, w której ściśle określone obszary pamięci są zarezerwo­ wane dla ściśle określonych zadań. Najprostszym przykładem tej techniki jest podział pamięci głównej na dwa obszary: jeden, zarezerwowany dla wykonywania programu "drugorzędnego", tzn. nie wymagającego natychmiastowej obróbki /zwykle chodzi tu o ciąg zadań z przetwarzania partiowego/, oraz drugi, zarezerwo­ wany dla wykonywania programów " pierwszoplanowych" /tzn* wymaga­ jących możliwie natychmiastowej obróbki/, obsługiwanych przez centralny procesor w trybie podziału czasu. Należy tu zaznaczyć, że nawet przy stosowaniu techniki wydzielania obszarów pamięci programy mogą być wymieniane /patrz niżej/. Bardziej wypracowa­ ne schematy wydzielania ustanawiają wydzielone sekcje pamięci dla każdego z programów pierwszoplanowych, przy czym czasami jedna z sekcji jest zarezerwowana dla drugorzędnych programów przetwarzania partiowego.

Wymiana - jest procesem przesyłania programu i jego otocze­ nia z pamięci głównej do dodatkowej, a następnie przenoszenia innego programu na aktualnie zwolnione miejsce w pamięci głów­ nej i ustanowienia jego otoczenia w taki sposób, by program ten mógł być albo wznowiony albo rozpoczęty. 0 ile proces ten jest stosowany łącznie z wydzielaniem pamięci, to wówczas sys­ tem operacyjny nie zwraca uwagi na niewykorzystane obszary pa­ mięci operacyjnej. Jednakże w pamięci przydzielanej dynamicz­ nie przestrzeń zarezerwowana do wymiany rzadko będzie posiadać ściśle odpowiednią wielkość dla umieszczenia wprowadzanego pro­ gramu; zwykle będzie albo za duża, albo za mała. Z tego powodu celem zmniejszenia niewykorzystanych obszarów pamięci koniecz­ ne jest przesuwanie aktualnie rezydujących w niej programów. Proces ten jest znany pod nazwą "zagęszczania pamięci", lub - 59 - bardziej obrazowo - ’’zbierania śmieci”. Oczywiście stosuje się go tylko wówczas, gdy system pozwala na dynamiczne przemiesz­ czanie programów. Właściwość systemów polegająca na tym, że nie mogą one wymieniać programów do chwili kiedy się odblokuje wys­ tarczająco duży obszar pamięci oznacza, że wykonanie bardzo du­ żych programów może być odkładane w nieskończoność.

Segmentacja - jest po prostu specjalnym przypadkiem wymiany: wówczas wymianie podlega część programu, a nie cały program. Technikę tę opracowano celem dalszego zoptymalizowania wykorzys­ tania pamięci, bowiem dlaczego w ramach wymiany wprowadzać do pamięci operacyjnej cały program, skoro w ramach przydzielonego odcinka czasu będzie mogła być wykonana tylko jego część? Seg­ mentacja, podobnie jak wymiana, jest najbardziej efektywna przy jednoczesnym stosowaniu zagęszczania pamięci.

Stronicowanie - jest dalszym rozszerzeniem procesu tworze­ nia podlegających ’wymianie segmentów. Programy w sposób dowolny dzieli się na bloki rozkazów zwane stronicami. W zależności od systemu wielkość ich może być różna: od 64 słów do 2.048 słów. Wówczas stronicowanie polega na wprowadzeniu do pamięci co naj­ mniej jednej stronicy programu na początku odcinka czasu obsłu­ gi przez centralny procesor. Początkowo stronicowanie okrzyk­ nięto zbawieniem dla wielodostępu, ponieważ obiecywało ono bar­ dziej ekonomiczne wykorzystanie pamięci, lecz jak dotychczas nie stało się ono uniwersalnym środkiem na wszystkie bolączki. /Przyjrzymy się jeszcze temu zagadnieniu w rozdziale IV./ Stro­ nicowanie spowodowało powstanie koncepcji organizacyjnej prze­ twarzania, według której stronice zadań wznoszą się i opadają poprzez szczeble hierarchii pamięci, wchodząc w fazę wykonania, lub z niej wychodząc. Kocioł: obsługa przez centralny procesor

Zadania Szczeble Zadania wznoszące się opadające hierarchii - "kapiące” -"przesiąkające V pamięci w górę"

Basen: zbiornik z zadaniami

Stronicowanie występuje nie tylko w różnych, wielkościach, lecz także w różnych odmianach. Jedną z odmian jest stronico­ wanie "na żądanie” , które ma przebieg następujący: gdy aktual- i * nie wykonywana stronica programu odwołuje się na zewnątrz swo­ jego obszaru, do innej stronicy, wskazana przez nią stronica także musi się znajdować w pamięci głównej, albo musi być do niej załadowana, zanim może nastąpić dalsze wykonywanie progra­ mu. Zwykle korzysta się w takich wypadkach z mechanizmu przer­ wania zwanego "brak stronicy"; ten typ przerwania zachodzi, gdy występuje wypadek odwołania się programu na zewnątrz prze­ twarzanej stronicy. 0 ile żądana stronica w danej chwili nie jest przechowywana w pamięci głównej lub dodatkowej, to wówczas system operacyjny musi ją umieścić w pamięci dodatko­ wej i znaleźć miejsce w pamięci głównej celem jej wprowadzenia. Żądanie stronicowania "w międzyczasie" występuje gdy centralny procesor jest bezczynny oczekujący na wprowadzenie żądanych stronic. By uniknąć bezczynności centralnego procesora, sto­ suje się żądanie "jednoczesnego n-krotnego" /gdzie n ^ 2/ stro­ - 61 - nicowania, które pozwala by w czasie wymiany programu centralny procesor wykonywał jedną lub więcej stronic z innych zadań* Stronicowanie ’’przewidujące” czyli ’’związane” /lub inaczej ”na zasadzie pokrewieństwa” - oczywiście pokrewieństwa stronic/ wyjaśniono /patrz rozdział IV/ jako środek celem uniknięcia wy­ miany stronic w trakcie odcinka czasu przydzielonej obsługi przez centralny procesor /by nie tracić cennego czasu obsługi obliczeniowej ze strony centralnego procesora na. czynności po­ mocnicze/ ma przebieg następujący: przypuśćmy, że stronica X w czasie jej wykonywania przez centralny procesor odwołuje się do stronicy X - w takim przypadku system operacyjny powinien to wcześniej "przewidzieć" i załadować do pamięci głównej jed­ nocześnie ze stronicą wykonywaną X, stronicę pożądaną w cza­ sie jej wykonania tj* - X. W najlepszym przypadku taki schemat postępowania eliminuje czas, który byłby zużyty na przerwania i wymianę przy wprowadzaniu ża/lanej strony, a- w najgorszym przy­ padku powoduje on brak żądań stronicowania w międzyczasie /plus mała strata czasu na początkowe załadowanie dodatkowej stronicy do pamięci głównej/. Rzeczywistą efektywność tego sposobu postępowania omówimy później.

Poprzez koncepcję "czystych” i "zaśmieconych” stronic /naz­ wy przyjęte w Stanach Zjednoczonych AP/umożliwiono realizację innego pomysłu mającego na celu zmniejszenie czasu wymiany. Stronica czysta - jest to taka stronica, która nie została zmodyfikowana /w swej zawartości/ w trakcie wykonywania prog­ ramu; stronica zaśmiecona - jest to taka, która została zmo­ dyfikowana. Ponieważ stronica czysta w pamięci głównej wyglą­ da identycznie, jak jej odpowiednik w pamięci dodatkowej /skąd została skopiowana/, nie ma potrzeby jej wymiany /przepisania - 62 - do pamięci dodatkowej/ po upływie odcinka czasu obsługi przez centralny procesor. Eliminuje to konieczność jej odwoływania /tzn. przepisania do pamięci dodatkowej, gdyż tam znajduje się jej kopia/ i nową stronicę można wprowadzić na obszar już wykorzystanej czystej stronicy. Obecnie niektóre systemy komputerowe posiadają zdolność stwierdzania, które stronice pozostają czyste, a które zaśmiecone* Niewielka liczba syste­ mów posiada nawet zdolność "pamiętania” , do których stronic były robione odwołania, a dla których nie zachodził taki przy­ padek. Taka właściwość jest oczywiście dobrodziejstwem dla systemów, stosujących stronicowanie przewidujące, które roz­ budowują zapis statystyczny wykonywania każdej stronicy pro­ gramu w ciągu określonego okresu czasu.

Na koniec, stronicowanie dało początek koncepcji "pamięci wirtualnej", czyli pozornej. Chociaż pamięć jest fizycznie wielkością skończoną, dla działań logicznych może być uważana jako nieskończona. Mając do dyspozycji pozornie nieograniczoną pamięć, można budować program w taki sposób, jakby był on jedy­ nym jej użytkownikiem, pozostawiając systemowi podział tego programu na stronice, z których pewna liczba będzie w każdej chwili znajdować się w pamięci. Systemy z pamięcią wirtualną są opracowywane już od kilku lat. Są one jednak dużym powodem zniechęcenia u ich pro-jektantów ponieważ, jak dotychczas, nie spełniają one wstępnie ustalonych wymagań w zakresie wydajnoś­ ci.

Podstawowe własnośoi wyżej omówionych czterech technik przydzielania pamięci przedstawiają się następująco:

Wydzielanie jest właściwie najszybszą techniką przełączania programów, ponieważ nie są potrzebne odwołania się na zew- - 63 -

nątrz. Jednakże, o ile w wyniku stosowania tej techniki nie ma wzrosnąć koszt i wielkość pamięci głównej, to wydzielanie może na ogół obsłużyć tylko małą liczbę użytkowników i z te­ go powodu marnotrawi dużą ozęść pamięci, ponieważ jedynie bardzo mała jej część jest wykorzystywana w danym momencie czasu /najczęściej jedna sekcja/.

Wymiana, by uzyskać zaletę obsługi wielu użytkowników, opła­ cona być musi wydatkiem czasu na przesyłanie programów mię­ dzy szczeblami pamięci, oraz między częściami pamięci głów­ nej. Ta technika także marnotrawi duże obszary pamięci fer­ rytowej. To samo dotyczy segmentacji.

Stronicowanie za te same korzyści opłaca się tym samym wy­ datkiem, ale oprócz tego ponosi ono dodatkowy wydatek z po­ wodu swej złożoności, by uzyskać lepsze wykorzystanie pa­ mięci.

2. Zarządzanie zbiorami

Zarządzanie danymi jest poważnym problemem i jest ono od­ dzielnie omówione w rozdziale IV. Niektóre z elementów tego pro-, blemu, jak się później przekonamy, są następujące: ustalenie ta­ kiej struktury danych by ułatwić ich przechowywanie i wyszukiwa­ nie; kontrola nad dostępem do danych /problem ich utajnienia/; utrzymanie zbiorów, szczególnie zależnych od czasu, włączając w to ich aktualizac.ję oraz sprawdzanie wiarygodności; oraz jed­ noczesny wielokrotny dostęp do wspólnie użytkowanych zbiorów*

W chwili obecnej w tej dziedzinie zachodzi więcej pytań niż można dać odpowiedzi,lecz niektóre powszechnie stosowane techniki zapewniają co najmniej częściowe rozwiązanie tego problemu. - 64 -

Tablica 2 HIERARCHICZNE PAMIĘCI Z RÓŻNYMI ODMIANAMI DRÓG PRZESYŁANIA DANYCH

Płaszczyzna Pamięć styku z główna centralnym /szybka - procesorem ferrytowa/

Pamięć dodatkowa /bęben/dysk/ Pamięć Trzeciorzędna /dysk/taśma/ komórka danych Typowa konfiguracja pamięci

Płaszczyzna styku z centralnym procesorem

Legenda: droga przesyłu . danych wewnątrz pamięci droga dostępu Typowy komputer IBM ¿60=7 z modułem bardzo do wykonania dużej pamięci ferrytowej /1 - S min bajtów/

Płaszczyzna ,J Procesor We/Wy styku z Pamięć i centralnym główna procesorem /szybka- Legenda: /c.d./ ferrytowa/ "Rozszerzenie" pamięci głównej droga dostępu /b.duża - wolna do We/Wy ferrytowa/

Pamięć ■dodatkowa Bardzie! optymalna konfiguracja z Pamięć* możliwością wyboru dostępu do We/Wy trzeciorzędni - 65 -

"Struktury" danych służą do organizowania danych w zestawy zwane rekordami, grup rekordów w zbiory, oraz służą one do przechowywania opisów i katalogów zbiorów /oczywiście także przy pomocy zbiorów/. Katalog przechowuje zapis, podający gdzie się znajdują dane, jaką posiadają strukturę i jaki for­ mat, jak również informacje na temat taktyki administroYiania danymi, rządząoej przewidywaniem długości ich życia i wykoszys- tania. Struktury danych, podobnie jik każdy system archiwizacji, są po to stosowane, by uczynić przechowywanie informacji wydaj­ nym i wygodnym. Jednakże są one zaprojektowane pod kątem widze­ nia pewnych zastosowań i wskutek tego mogą później okazać się niewydajne łub nawet nieodpowiednie dla nowych zastosowań, któ­ re wymagają danych o innej strukturze. Prostym przykładem mogła­ by tu być kartoteka płac, utworzona bez uwzględnienia skumulo­ wanych zarobków i potrąceń, aż do chwili bieżącej; taki system byłby odpowiedni jako źródło informacji dla czeków wypłaty, pod warunkiem że pracownicy przez cały rok nie myśleliby o płaceniu potrąceń.

Właściwie każdy system wielodostępny, nie posiadający okreś­ lonego przeznaczenia, pozwala na dostęp do niego i jego zbiorów dopiero po zgłoszeniu przez użytkownika kodu tożsamości i has­ ła. Kod tożsamości zwykle jest wykorzystywany do celów rozli­ czania; hasło używa się dla wskazania systemowi, które zbiory mogą być udostępnione użytkownikowi oraz jaki jest dozwolony poziom dostępu, na przykład tylko wykonanie, tylko odczyt, lub pełne uprzywilejowanie, włączając w to wymazanie zbioru. Kiedy użytkownik tworzy jakiś zbiór, określa on zespół kodów dostępu /hasła/, które mają zastosowanie do tego zbioru. Każdy z kodów odpowiada pewnemu poziomowi dostępu. Kolejni użytkownicy zbio­ ru po otrzymaniu haseł muszą określić kod dostępu dla żądanego - 66 - poziomu dostępu; system porównuje ich hasła z zapamiętanym ko­ dem dostępu by określić, czy można zezwolić na dostęp i jaki ma być zakres tego dostępu.

Wymagania przetwarzania na bieżąco, narzucone przez wielo- dostęp, na systemy zarządzania zbiorami, stwarzają konieczność swobodnego dostępu do rekordów umieszczonych w pamięci dodatko­ wej lub trzeciorzędnej. By ułatwić swobodny dostęp do rekordów zbiory są tak zaprojektowane, iż posiadają strukturę wykazu /listy/; tzn. ustanawia się schematy indeksów, wskaźników i łą­ czników celem szybkiego zlokalizowania żądanej informacji, bez kolejnego przeszukiwania rekordów z całego zbioru* Charakterys­ tyczną cechą systemu jest utrzymywanie stałego katalogu wszyst­ kich zbiorów* Kiedy pojawi się żądanie jakiegoś zbioru, katalog wskazuje gdzie i jak zbiór jest przechowywany. Y/ynikające z te­ go wyszukanie informacji zależy od istoty żądania i od struktu­ ry zbioru. Najprostsza forma żądania wygląda na przykład w ten sposób: "sprowadź rekord numer 37'*» o ile oczywiście użytkownik wcześniej zna względne położenie żądanej informacji. I na odwrót, użytkownik może prosić system o dodanie lub umieszczenie nowego rekordu, na przykład przez wprowadzenie do systemu takiego tek­ stu: "dodaj ten rekord do końca zbioru", lub "zamieść ten re­ kord po rekordzie numer 41”. Sprawa się komplikuje, o ile użyt­ kownik nie zna struktury zbioru. W takim przypadku musi on ok­ reślić żs.daną informację /zamiast jej względnego położenia w zbiorze/, jak na przykład: "sprowadź wszystkie rekordy pracow­ ników mężczyzn o wieku ponad 35 łat z praktyką kierowniczą". Wówczas system musi "przesiać" cały zbiór i wybrać odpwiednie rekordy za pomocą procesu sortowania. Oczywiście kryteria wy­ boru /wiek, płeć oraz praktyka w naszym przypadku/ muszą być - 6 7 > wpisane w odpowiednie ściśle określone pola w każdym rekordzie, by można było przeprowadzić proces porównania. By zaoszczędzić czasu szukania zbiór może być wstępnie posortowany w pewnym za­ kresie przez wbudowanie pewnych cech strukturalnych; na przyk­ ład może to być lista pracowników sporządzona według wieku, która może służyć jako zbiór towarzyszący, posiadający odwoła­ nia do odpowiednich rekordów w zbiorze głównym.

W Tablicy 5 /a/ rekordy są przechowywane sekwencyjnie, a adres każdego rekordu może być wyliczony /przyjmując rekordy o stałej długości/-* o ile jest podane miejsce początku zbioru, numer rekordu oraz wielkość rekordu /w/. W Tablicy 5 /b/ rekor­ dy są przechowywane w dowolnym porządku w dowolnym miejscu da­ nego typu pamięci danych. Z wyjątkiem pierwszego rekordu, sys­ tem nie zna położenia żadnego z rekordów. Tu, by znaleźć rekord R, należy kolejno postępować według wskaźników,aż osiągnie się rekord R, ponieważ każdy rekord zawiera wskaźnik, który okreś­ la położenie następnego rekordu.

Bardziej złożony schemat takiej techniki przechowywania re­ kordów i dostępu do nich może obejmować wskaźniki poprzedników /tzn. poprzedzających rekordów/ dla celów przeszukiwania zbio­ ru w odwrotnym kierunku, wskaźniki poprzeczne dla tworzenia połączeń do innych zbiorów i tak dalej. W pamięci o dostępie przypadkowym system zwykle przechowuje wykaz dostępnych jej obszarów, jest.to pula rekordów /niezapisanych/, która jest ko­ ry gowana, skoro jakiś rekord zostaje oddany lub wymazany z któ­ regokolwiek ze zbiorów. Dodanie rekordu polega na zarezerwowa­ niu odpowiedniego miejsca uzyskanego z puli i na ustanowieniu odpowiednich wskaźników w zbiorze. Usunięcie rekordu polega na skorygowaniu wskaźników w zbiorze tak, by omijały wchodzący w - 68 -

grę rekord, oraz na dodaniu informacji na temat położenia i wielkości rekordu do puli rekordów /nie zapisanych/.

Zabezpieczenie istniejących segmentów zbiorów - o ile jest możliwe w danym systemie - zapewniają specjalne układy prote­ kcji w pamięci głównej. W niektórych komputerach program wy­ konawczy /executive/ może ustanawiać wskaźnikowe bity dostępu dla każdej stronnicy pamięci. Ograniczają one uprzywilejowa­ nie programów użytkowników albo do wyłącznie wykonania lub wyłącznie odczytu, względnie zapewniają im pełny dostęp do segmentów zbiorów. Większość komputerów posiada pewną formę protekcji granic obszarów pamięci /także ustanawianą przez Program wykonawczy przed rozpoczęciem przebiegu programu użyt­ kownika/ celem zapewnienia, że pracujący nieprawidłowo program zostanie przerwany, gdyby w sposób zamierzony lub przypadkowo usiłował przekroczyć zakreślone dla niego granice pamięci. By zapewnić bezpieczeństwo danych wrażliwych na zniekształce­ nia, zawartych w segmentach zbioru utrzymywanych w pamięci głównej, można stosować zarówno kontrolę dostępu do stronnic jak i kontrolę granic obszarów pamięci. Protekcję zbiorów przechowywanych w innych niż główna pamięciach,zapewnia się zwykle jedynie za pomocą ograniczenia wszelkich We/Wy dla tych pamięci, które używane są przez program wykonawczy; ina­ czej mówiąc, żaden z programów użytkowników nie ma bezpośred­ niego dostępu do pamięci dodatkowej. Dalszą dyskusję na temat protekcji i utrzymania zbiorów znajdziemy w rozdziale IV pod tytułem; "Poufność" i "Zarządzanie danymi". - 69 -

C. ZARZĄDZANIE TERMINALEM I WE/WY r 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. - 70 - Tablica 5 PRZYKŁADY STRUKTUR ZBIORÓW REKORDÓW O STAŁEJ DŁUGOÓCI

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

L+4-w M M+1w

L+/n-3/v; N L+/n~2/w

L+/n-1/w P

P+1w

a/ b/ Zbiór Nieprzyległy' przechowywany zbiór swobodny sekwencyjnie z łącznikami w przód

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

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 - 73 - 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/. - 74 -

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.

D. ZARZĄDZANIE SYSTEMEM ORAZ SAMOZARZĄDZANIE

W tym odcinku będziemy snuć rozważania na temat: zarządza­ nia konfiguracją, niezawodności oraz nadzoru nad wykonaniem. Są to dziedziny, w których system sam śledzi swoją ogólną wy­ dajność, będącą przedmiotem rozważań, biorąc pod uwagę, zarówno rozliczanie jak i na korekcje wewnętrzne, by skompensować zmia­ ny zachodzące na zewnątrz systemu.

Peter J.Denning. "Effects of Scheduling on Pile Memory Ope­ rations" , in American Federation of Information Processing Societies, Procedings, 1967 Spring Joint Computer Conference, Pol. 50 /Washington, D.C.: Thompson Book Oompany, 196?/» s. 9* - 75 “

1, Zarządzanie konfiguracja

Istnieją w zasadzie trzy kategorie konfiguracji komputerów wielodostępnych, tak jak to przedstawiono w Tablicy 4. W każ­ dej z tych kategorii istnieje szereg odmian; na przykład w komputerze PDP-10, przykład a, sterowanie transmisją nie ist­ nieje jako wydzielona jednostka /centralny procesęr przeprowa­ dza całą transmisję z terminalami za pomocą urządzenia badają­ cego poszczególne łącza, zamontowanego w kanale We/Wy. Podsta­ wową różnicą między a i b jest to, że dostęp do pamięci dodat­ kowej musi zawsze odbywać się poprzez centralny procesor /w "a"/ - w ten sposób zużywając jego czas.

Nie ma dużych nadziei na to, że konfiguracja a albo b może się w jakimś stopniu przystosować do warunków przeciążenia /nasycenie systemu spowodowane ożywioną bezpośrednią działal­ nością użytkowników/, lecz konfiguracja wieloprocesorowa w ro­ dzaju c, jakiej przykładem jest proponowany przez firmę Ford nowy ośrodek wielodostępny, może usiłować przesunąć obciążenia z procesorów nasyconych do jakichkolwiek innych, pracujących pod obciążeniem mniejszym niż krytyczne.

Innym sposobem przyjrzenia się aspektom związanym z konfi­ guracją jest przebadanie mocy przerobowej procesora w stosunku do obciążenia systemu /Tablica 5/* W przykładzie a jeden kompu­ ter jest zdolny sprostać potrzebom /lub obciążeniu/, aż do pun­ ktu X, który reprezentuje nasycenie. Na każdym poziomie obcią­ żenia mniejszym niż X marnotrawi się pewna ilość mocy przero­ bowej. W przykładzie b, w którym można włączać lub odłączać jeden lub więcej komputerów celem dopasowania ogólnej mocy - 76 - przerobowej do zmian obciążenia, mniej mocy przerobowej mar­ nuje się w ciągu pewnego okresu czasu /przyjmując, że .oma­ wiane komputery mogą być, gdy nie są potrzebne systemowi wie­ lodostępnemu, produktywnie wykorzystane w inny sposób/. Czyni to stosowanie macierzy,przy podejściu do tego zagadnienia, ekonomicznie atrakcyjne dla przyczyn wyżej wymienionych, cho­ ciaż koszt jest wyższy z powodu dodatkowej złożoności zarzą­ dzania konfiguracją.

2. Degradacja systemu i awaria

Jak przekonamy się w toku dyskusji nad niezawodnością, przeprowadzonej w rozdziale IV, jednym z najbardziej krytycz­ nych aspektów systemów wielodostępnych jest ich zdolność do wykrywania, przeprowadzenia diagnozy oraz przystosowania się do awarii. Koncepcja "planowej degradacji" zakłada zdolność systemu do zmniejszenia obsługi użytkowników w wypadku jakiejś awarii podzespołu, a nie do całkowitego zaprzestania obsługi. Może to być spełnione wówczas, gdy podzespół zostaje zidenty­ fikowany, odizolowany oraz omijany w działaniu. 0 ile nie ist­ nieją inne drogi przepływu informacji, to wówczas nie można stosować na przykład procedury omijania i obsługę ze strony systemu należy przerwać aż do naprawy lub wymiany wadliwego elementu. Jeśli na przykład jakaś funkcja logiczna w central­ nym procesorze dozna awarii /tzn. będzie wykonywana błędnie lub wcale/, system musi przerwać pracę, o ile nie jest on sys­ temem wieloprocesorowym - wówczas inny procesor lub inne pro­ cesory mogą przejąć obciążenie z uszkodzonego centralnego pro­ cesora, a ten podlega naprawie. Z drugiej strony żaden z sys­ temów nie potrzebuje przerywać pracy z powodu awarii drukarki; - 77 - dyski i taśmy mogą tymczasowo przejąć wyjście przeznaczone dla uszkodzonej drukarki. Jedyną nieprzezwyciężoną przeszko­ dą w kontynuowaniu obsługi przez wieloprocesorowy system wie­ lodostępny jest albo bardzo duża awaria /bardzo prawdopodob­ na przy obecnym stanie sprzętu/, która czyni go całkowicie niezdolnym do pracy, albo poważna degradacja w sieci łącznoś­ ci; nie ma tu znaczenia prawidłowa praca centralnego proce­ sora - jeśli nie może on się połączyć z terminalami, może to być równoznaczne z zawieszeniem działania wielodostępu.

3. Kontrola i rozliczanie działalności systemu

Systemy wielodostępne z konieczności przechowują pewne zapisy na temat działalności, jeśli nie dla innych celów, to celem zapewnienia informacji potrzebnej do obciążania użyt­ kowników za korzystanie z nich. Na najbardziej prymitywnym szczeblu działalności w tym zakresie system zapisuje skumulo­ waną sumę wszystkich odcinków czasu centralnego procesora, wy­ korzystanych przez każdy program użytkownika, oraz całkowity czas podłączenia terminala. Już dane uzyskane z tych dwóch statystyk mogą dostarczyć interesującą miarę wydajności; sto­ sunek zużytego czasu procesora do czasu podłączenia terminala. Na przykład stosunek 1:60, lub inaczej mówiąc 1 sekunda czasu centralnego procesora na 1 minutę czasu podłączenia terminala, Przyjęto uważać za typową wydajność operowania systemem, wypo­ sażonym w komputer SDS 940, poprzez terminal Teletype Model 33, A w przedsiębiorstwie Com-Share, Inc. w Ann Arbor, Michigan .

1 "Time-Sharing: A Computer for Everyone", an Electronic Design special report, April 25, 1968» s» Ci9*" - 78 -

Odwrotność tego stosunku podaje przybliżoną liczbę terminali, które mogą być jednocześnie czynne, tak by nie uwidaczniał się efekt nasycenia. W podanym wyżej przykładzie ta odwrotność wy­ nosi 60 do 1, dając tym samym do zrozumienia, że liczba 60 ter­ minali reprezentuje teoretyczny punkt nasycenia /chociaż rze­ czywista wydajność wskazuje na liczbę w pobliżu 40/.

7/iele systemów wielodostępnych także zapisuje wykorzystanie zasobów pamięci. Większość odpłatnych /handlowych/ systemów wielodostępnych /Call-A-Computer, Com-Share, Data Netowork, GE, IBM Call/360 Basic i inne/ obciąża użytkowników za korzystanie z pamięci dodatkowej na podstawie liczby znaków przechowywa­ nych w jednostce czasu. W czasie, gdy piszemy niniejsze sprawo­ zdanie, nie jest nam znany żaden system, który by bezpośrednio obciążał za korzystanie z pamięci głównej /np. za liczbę stro­ nnic pamięci w ciągu sekundy na użytkownika/, chociaż takie eksperymentalne systemy jak IBM TSS/360 i MIT MULTICS posiada­ ją zdolność mierzenia takiego wykorzystania zasobów. Koszt wy­ korzystania innych zasobów systemu, takich jak kanały 'We/Wy oraz urządzenia zewnętrzne jest wliczony w obciążenie za ko­ rzystanie z tych zasobów, które są rozliczane.

Kontrola wykonania jest pożądana przede wszystkim dla wyk­ rycia sposobów ulepszenia wykonania, szczególnie od strony oprogramowania systemu. Jeżeli program, który jest często uży­ wany, może być opracowany bardziej "zwięźle", to wówczas moż­ na zrealizować poważne oszczędności czasu. Tu częścią zadania jest ustalenie, które programy są często używane. Metoda dzia­ łania w tym zakresie polega na analizie mocno skupionych pró­

bek czasu obliczeniowego, i tak: jeśli program wykonawczy je s t Tablica 4- KONFIGURACJA KOMPUTERÓW WIELODOSTĘPNYCH do terminali Pamięć Centralny Sterowanie lub do kon­ centratorów dodatkowa procesor Transmisją łącz a/ "LINIA PROSTA" /np. komputer SDS 9 W

Centralny do terminali lub do kon­ centratorów Sterowanie transmisją .łącz

b/ "DELTA" /np, komputer GE 4-20/

Pamięć Pamięć dodatkowa dodatkowa

f , ... ____ i. Centralni- Procesor procesor j do terminali We/W y lub koncen­ Jentralny tratorów łącz procesor '

• < ♦

Centralny Procesor procesor - We/Wy Pamięć Pamięć główni główna c/ "MACIERZ" /np* komputer ILLIAC IV lub GE 64-5 MULTICS/ - 80 -

Tablica 5 ZARZĄDZANIE KONFIGURACJĄ: "MOC PRZEROBOWA" PROCESORA W STOSUNKU DO OBCIĄŻENIA SYSTEMU

Nadmiar mocy Moc przerobowa /czas bez- pojedynczego czynnoś~ ci/ > procesora \ Zapotrzebowanie na zasoby procesora

Obsiążenie systemu

a/ Hipotetyczna wydajność pojedynczego procesora

Skumulowana moc przerobowa ^ wielu procesorów

2 1

Obciążenie systemu

b/ Hipotetyczna wydajność systemu wieloprocesorowego - 81 - często przerywany, stosownie do pewnego przypadkowego harmo­ nogramu czasowego, o którym wiadomo, iż jest statystycznie niezależny od jakiegokolwiek naturalnego zawartego w. progra­ mie wzoru wykonania, to wówczas częstotliwość, z jaką miejs­ ce przerwania pokrywa się ze ściśle określoną sekwencją rozka­ zów, jest proporcjonalna do całkowitego czasu zużytego przez program na wykonanie tej sekwencji rozkazów. Powyższą metodę stosowano do bardzo różnorodnych programów i okazała się ona bardzo wartościowym narzędziem dla korekty długich lub często używanych procedur. Precyzuje ona obszary, w których skorygo­ wanie przebiegów ma najwyższe znaczenie, a wynikiem jej zasto­ sowania było zmniejszenie czasu przebiegów o połowę lub wię­ cej.

IV. OBSZARY PROBLEMOWE I MOŻLIWOŚCI ICH ROZWIĄZANIA

Poprzednie rozdziały wielokrotnie wskazywały na szereg problemów, które wiążą się z systemami wielodostępnymi. W tym rozdziale ujawnimy te problemy, przebadamy sprzeczności, pokażemy właściwości, zaproponujemy pewne rozwiązania oraz wskażemy na związane z tym badania.

Problemy o najwyższej randze są skupione w pięciu większych grupach: Efektywne wykorzystanie zasobów; Zaspokojenie potrzeb użytkowników; Niezawodność*, Poufność; ------Zarządzanie danymi. H.N.Cantrell and A.L.Ellison,"Multiprogramming System Perfor­ mance Measurement and Analysis” .Proceedings. 1968 Sprint .Tn-irvh Computer Conference. Vol. 3 2 , st¥~2l6~-^220. 5------82 -

A. EFEKTYWNE WYKORZYSTANIE ZASOBÓW

Krytycy wielodostępu głoszą, że nieefektywnie wykorzystuje się zasoby tych systemów. Jeśli przez "efektywność" rozumieją oni wydajne wykorzystanie centralnego procesora, pamięci głów­ nej oraz kanałów Wę/Wy, to wówczas takie krytyki są w znacznej mierze usprawiedliwione. Mierzony w tych określeniach, system zdalnego wprowadzania ciągu zadań obliczeniowych reprezentu­ je "najbardziej efektywny" system wielodostępny, a natomiast system czysto konwersacyjny jest jego "najmniej efektywną" odmianą. Lecz co to naprawdę znaczy?, i dlaczego jest to słu­ szne? Przed daniem odpowiedzi na to pytanie musimy problem przeanalizować bardziej szczegółowo.

1. Określenie problemu

W przepadku wydajności centralnego procesora chcemy mie­ rzyć ilość czasu, w ciągu którego centralny procesor pracuje nad jakimś problemem, w stosunku do całkowitego czasu, w ja­ kim jest on dostępny. Centralny procesor nie wnosi nic produk­ tywnego, gdy jest bezczynny, lub gdy wykonuje funkcje dodatkowe - ogólne /takie operacje systemu, które nie są bezpośrednio związane z rozwiązaniem problemu użytkownika jak: rozliczanie, planowanie, poprawianie błędów, przetwarzanie przerwań, wymia­ na programów/. Dlatego więc celem w optymalizowaniu wydajności centralnego procesora jest zmniejszenie czasu bezczynności oraz funkcji dodatkowych systemu. Jest to w pewnym sensie za­ mierzenie pozornie sprzeczne w samym sobie.

Wykorzystanie pamięci głównej wymaga zastosowania dwóch wy­ miarów: czasu i pojemności. W środowisku wielodostępu wiele programów jednocześnie ubiega się o miejsce w pamięci. Program - 8 3 - nie może być wykonywany, o ile nie jest umieszczony w pamięci operacyjnej /wykonawczej/, a niewiele jest pamięci dostatecz­ nie dużych by przechowywać wszystkie bezpośrednio potrzebne użytkownikom programy, nie mówiąc już o dodatkowym obszarze roboczym dla danych do tych programów. Tu wyjątki ograniczają się do niewielu systemów, które są zaprojektowane dla obsługi­ wania ograniczonej liczby użytkowników. Wszystkie programy tych użytkowników mogą być przechowywane w wydzielonych obszarach pamięci głównej /tu dobrym przykładem jest system IBM 7044 w Laboratoriach Badawczych firmy General Motors/. Wyjątkiem jest także niewielka liczba systemów, które by zapewnić znacznie większą pojemność pamięci operacyjnej wykorzystują wolniejsze

wielkie pamięci ferrytowe /np. LCS firmy IBM, system IBM 36O/.50 RUSH w firmie Allen-Babcock oraz system IBM 360/67 w Carnegie- Melon University/. Celem do którego dąży się w efektywnym wyko­ rzystywaniu pamięci,jest zmniejszenie nie wykorzystanych obsza­ rów oraz opóźnień spowodowanych przez wymianę programów lub stronicowanie. Inne, przedstawione w Tablicy 6, zasoby systemu wydają się obecnie być poza zasięgiem zainteresowania. Uwaga jest obecnie skupiona na wykorzystaniu centralnego procesora oraz pamięci, jako dwóch głównych czynników mających wpływ na wydajność sys­ temu. Rzeczywistym problemem w wykorzystaniu zasobów jest to, że istnieje szereg potencjalnych tzw. wąskich gardeł i.należy osiągnąć precyzyjną równowagę między nimi by zmaksymalizować ogólną wydajność systemu. Nigdy wcześniej nie wiadomo, jak dla danego systemu przedstawia się jego ściśle określony złożony zespół własności. Dotychczas nie opracowano teorii, by uproś­ cić rozwiązanie tego problemu, chociaż istnieje wiele częścio­ wych rozwiązań oraz prowadzi się bardzo intensywne badania, - 8 4 - które omówimy później. Najlepiej można zilustrować problem wy­ korzystania zasobów przez graficzne określenie jego elementów, z zamiarem przedstawienia zachodzących w systemie wzajemnych między nimi zależności*

Jeżeli konfigutacja systemu zawiera bardzo szybki centralny procesor oraz bardzo wolną pamięć główną, to wówczas system wykazuje w różnych momentach czasu skłonność oczekiwania na dostęp do pamięci. Jest to czywiste marnotrawstwo możliwości centralnego procesora /oraz innych elementów systemu/, nawet wówczas gdy wydajność samej pamięci może być "duża”. By zredu­ kować czas bezczynności centralnego procesora można dodać kil­ ka bardzo wielkich pamięci asynchronicznych /ferrytowych/, al­ bo można podstawić pamięć szybszą od obecnie stosowanej. Nawet wówczas wydajność niektórych innych zasobów systemu może prze­ kreślić uzyskane korzyści. Jest całkiem prawdopodobne, że za­ soby pamięci dodatkowych nie będą mogły sprostać wymaganiom w stosunku do przepływu danych, albo system centralny będzie w dalszym ciągu bezczynny przez większość czasu oczekując na We/Wy z terminala, albo że przeciążone łącza transmisji danych obniżą ogólną wydajność.

Systuacja ta wykazuje duże podobieństwo do tej, kiedy chce­ my "wycisnąć" maksimum wydajności z silnika samochodowego: wszystkie zasoby systemu /gaźnik, pompka paliwa, system zapło­ nowy, system chłodzenia itp./ muszą być pieczołowicie wyregulo­ wane by działały w całkowitej harmonii. W naszym przypadku sed­ nem problemu jest, by elementy systemu zostały pieczołowicie połączone, a następnie cały system musi być zestrojony, by za­ pewnić wydajne działanie danej instalacji. Zachodzi pytanie: - 8 5 -

jak to zrobić? V7 chwili obecnej dokonujemy analizy w ograniczo­ nym zakresie co i tak nie chroni nas od niemałej ilości dalszych "błahych" prób i błędów.

Przed chwilą przedstawiona analogia jest użyteczna dla dal­ szego rozeznania. I tak, samochód jest stosunkowo mało czuły na wahania w obciążeniu /liczba pasażerów/. Wystarcza tutaj jedno dostrojenie w kategoriach wydajności, dla zmieniających się wa­ runków obciążenia. Samochód także może być uprzednio dostrojony do specjalnych zastosowań, takich jak jazdy dalekodystansowe lub wyścigi. Z drugiej strony, system wielodostępny jest bardzo czuły na wahania obciążenia /znów, liczba "pasażerów"/ i optimum jego wydajności może wymagać pewnej liczby podstrojeń, gdzie każde z nich jest włączane przy. innych warunkach obciążenia. Co więcej, system uniwersalny musi móc się przystosować do długich zadań, krótkich, do szybkich zadań, oraz do pośrednich, ale bez konie­ czności jego przestrajania dla każdego rodzaju zastosowań.

Z punktu widzenia optymalizacji wykorzystania zasobów, ideal­ ny system wielodostępny - byłby to taki system, który mógłby się sam organizować /samoorganizujący/. Dla danej jakiejkolwiek zmiar- ny środowiskowejs wewnętrznej czy zewnętrznej, winien on okreś­ lić najlepszą z możliwych kombinację dostępnych zasobów, celem zastosowania w zmienionym środowisku. Powinien on także określić koszt samoprzystosowania się /poprzez programowane przełączanie/ do nowej sytuacji. Koszt tej zmiany winien być porównywany przez system do jej wartości /w sensie odnoszonych korzyści/ i powi­ nien on na to odpowiednio reagować. Wszystko to, oczywiście, nie powinno powodować straty czasu na czynności dodatkowe - wlicza­ nego w koszty ogólne. - 86 -

Wróćmy do początkowych obserwacji i postawionego zagadnienia. Wszystkie systemy wielodostępne cierpią na pewien stopień nies­ prawności, sięgając od zdalnych systemów przetwarzania partlowe- go, których to najmniej dotyczy, aż do systemów konwersacyjnych, które są tym najbardziej dotknięte. Go to oznacza, i kiedy jest to prawdziwe? W zasadzie oznacza to, źe systemy ukierunkowane na przetwarzanie partiowe, czy to wielodostępne czy też nie, charak­ teryzują się większym wykorzystaniem centralnego procesora. Jed­ nocześnie czas nadliczbowy systemu - przeznaczony na funkcje ogól­ ne - jest mniejszy. Ten przypadek przedstawia plątaninę powiąza­ nych czynników: system przetwarzania partiowego posiada inne ce­ le niż system konwersacyjny; wielodostęp jest obecnie wdrażany na nieodpowiednim sprzęcie; stan umiejętności w zakresie wielo- dostępu nie jest taki jak byśmy w to czasami chcieli wierzyć, a z pewnością nie posługiwaliśmy się nira tak długo jak przetwarza­ niem partic-ym. Te wyżej przedstawione- pytania będziemy w dal­ szym ciągu badać.

2. Wykorzystanie centralnego procesora

Statystyki dotyczące wykorzystania centralnego procesora cza­ sami wprowadzają w błąd,- nawet wtedy, gdy są lepiej przygotowane do wykorzystania. By zilustrować te statystyczne dziwactwa poda­ my kilka przykładów. Najpierw na temat pewnych systemów przetwa­ rzania partiowego, które nie są wielodostępne, następnie na te­ mat tego samego rodzaju systemów wielodostępnych, a na koniec na temat wielodostępnych systemów konwersacyjnych.

Przegląd sześciu instalacji komputerów drugiej generacji IBM dla celów przetwarzania partiowego wykazuje ogólne wykorzystanie i systemu, włączając w to przebiegi produkcyjne, kompilacje prog- - 87 -

Tablica 6 WZAJEMNE ZALEŻNOŚCI MlgDZY ZASOBAMI SYSTEMU

Wykorzystanie Centralny kanału procesor

Multi­ pleksery Pamięć i bufory główna

Łącza Pamięć transmisji dodatkowa, danych irzeciorzędna

Mechanizm Terminale dostępu do pamięci -88- ramów, ich sprawdzanie oraz powtórzenie przebiegów, wynoszące od 4-1% do 77%* przy średniej wynoszącej 61%^ /Tablica 7/* W tych liczbach jest ukryty czas na czynności dodatkowe, ponie­ waż nie był on specjalnie mierzony. Wydruki dla operatora, czas zakładania taśm oraz inne operacje ręczne, w ciągu których sys­ temy były bezczynne, zajęły od dużej ilości - 58% - do małej -

25% - ogólnego czasu, przy średniej wynoszącej 58%.

Systemy przetwarzania partiowego III generacji na ogół wyko­ nują znacznie więcej funkcji niż ich odpowiedniki XI generacji. Przejęły one wiele operacji poprzednio przeprowadzanych przez człowieka - operatora - i starają się w miarę możliwości utrzy- mać wszystkie zasoby systemu przez cąły czas w ruchu, celem zmniejszenia czasu bezczynności zarówno systemu jak i podsyste­ mu. By zwiększyć wykorzystanie maszyny poprzez równoczesne ’'nie­ przerwane” przetwarzanie stosują one wieloprogramowość oraz wieloprzetwarzanie, zalety dostępne w obecnie oferowanym sprzę­ cie. Odbija się to na zwiększonych kosztach ogólnych oprogramo­ wania, co z kolei rokując nadzieje na przyszłość zmniejszyło koszt ogólny instalacji. Pomierzenie tego kosztu — poprzez ok­ reślenie ilości czasu procesora poświęconego dla wykonywania funkcji ogólnych — jest co najmniej skomplikowanym zadaniem. Nie ma zgodności wśród fachowców, co szczególnie powinno być mierzone, ponieważ działalność ogólna w ramach tego samego sys­ temu operacyjnego różni się w zależności od żastosowania, a w samym zagadnieniu - w zależności od takiej czy innej wersji systemu. Użytkownicy powszechnie unikają wypowiedzi na ten te- A IBM Watson Research Center, "Control Program Structure” - re­ ferat przygotowany przez Billa Konigsdorfa na spotkanie sek­ cji nowojorskiej stowarzyszenia Association for Computing Machinery, czerwiec 4— 7, 1968. - 8 9 - mat, lecz odnosi się wrażenie, że ich działalność ogólna wynosi więcej niż to 'pomierzyli producenci. Jeden z obserwatorów stwier­ dził, że podczas gdy producenci na ogół wszędzie wypowiadają się, iż działalność ogólna wynosi od 5 do 20% czasu instalacji, to niektórzy z użytkowników szacują ją nawet w wysokości 30 do 40%. Jak dotychczas, użytkownicy są najwidoczniej bardziej zaintere­ sowani w wykonaniu zadań przez system, a działalność ogólna po prostu zmniejsza przerób systemu.

Systemy zdalnego przetwarzania partiowego reprezentują skoja­ rzenie wielodostępu 1 przetwarzania partiowego. Połączone tu zo­ stały zalety rozproszonego dostępu z zaletami sterowanego środo­ wiska. Przedsiębiorstwo North American Rockwell Corporation ko­ rzysta z- systemu IBM 360/30 RAX z 20 terminalami typu IBM 1050. System RAX jest eksploatowany w odcinkach czasu wynoszących cztery sekundy, przy czym w ciągu pierwszego przydzielanego przez system odcinka czasu jest się w stanie wykonać około 80% wszystkich zadań, w ten sposób utrzymując wymianę programów na bardzo niskim poziomie, a co za tym idzie działalność ogólna systemu nie wynosi "więcej niż 10%". Uniwersytet Michigan opra­ cował tymczasowy system wielodostępny - MTS - dla swojego kom­ putera IBM 360/6?, który początkowo pracował w szybkim systemie przetwarzania partiowego. Jedynym zastosowaniem wzajemnego od­ działywania jest tu wydawnictwo tekstów. W innych przypadkach jest to system tworzenia - kompilacji - przetwarzania zbiorów, gdzie zbiory mogą być tworzone przez wprowadzanie danych za po­ mocą terminala lub czytnika kart. System MIS nie znajduje róż­ nic między zadaniami z zakresu wzajemnego oddziaływania a zada­ niami z zakresu przetwarzania partiowego i ustawia wszystkie -90 - zadania w jedną kolejkę. Jedno ze źródeł informowało o niezado­ woleniu z tego stanu rzeczy, narzekając, że równoczesne opera­ cje z zakresu przetwarzania partiowego "za bardzo pochłaniają system". Uważano, że daleko lepsze byłoby przetwarzanie zadań partiowych jako drugorzędnych w stosunku do zadań z zakresu wzajemnego oddziaływania, ponieważ równoczesne operacje nad zadaniami parti owymi wydłużają czas odpowiedzi dla tych dru­ gich zadań. Ośrodek Obliczeniowy Trzech Uniwersytetów, który zabezpiecza zarówno wykonywanie prac w trybie wzajemnego od­ działywania jak i z zakresu zdalnego przetwarzania partiowego na komputerze IBM 360/75» pomierzył wykorzystanie centralnego procesora i stwierdził, że przeciętnie 80% cyklu pracy central­ nego procesora jest przeznaczane dla wykonywania ciągów zadań A obliczeniowych użytkowników. Ogłoszone wyniki badań nie wysz­ czególniają wykorzystania w poćzlsle na kategorie zadań.

W niewielu przypadkach pomierzono i ogłoszono wyniki doty­ czące wykorzystania centralnego procesora w wielodostępnych systemach konwersacyjnych. W jednym z badań przeprowadzonym w 2 firmie System Development Corporation wykazano, że w syste­ mie wielodostępnym drugiej generacji pn.J Q-3 2 około 32% całko­ witego czasu centralnego procesora jest przeznaczane na wykony-

^ David N. Freeman and Robert R. Pearson, "Efficiency Vs. Res- ponsivenness in a Multiple-Services Computer Facility, "Pro­ ceedings of 23rd National Conference. Association for Compu­ ting Machinery t /Princeton: Brandon/Systems Press « inc.1968» Publication No. P-68/ str. 25* 2 Warren J.Erikson, "An Analytical Cost Comparison of Computer Operating Systems" /Santa Monica: System Development Corpora­ tion, czerwiec 1987» TM-3525/» str. 69« - 91 - wenie programów. Jest to system, który nie posiada nakładanego ozasu wymiany oraz wprowadzania/wyprowadzania. W sprawozdaniu z tych samych badań ogłoszono, że system CTSS w MIT, oparty na zmodyfikowanym komputerze IBM 7094, poświęca na czynności wyko- nawoze około 58% czasu centralnego procesora. /Liczby podane w badaniach były wyrażone w ’’procentach całkowitego czasu central­ nego procesora” dla przypadku systemu w System Development Cor­ poration, a natomiast dla systemu CTSS - ”w sekundach na Jedno wzajemno oddziaływanie”. Wyciąganie tutaj wzajemnych porównań może prowadzić do błędnych wniosków, ponieważ dane dla systemu CTSS nie obejmowały czasu bezczynnego /.

ROZDZIAŁ CZASU CP W DWÓCH SYSTEMACH WIELODOSTĘPNYCH II GENERACJI

| Syoton jj Wymiana j We/Wy. j Ogólny { nieproduk j wYkonanioj l i i ! I SDC-TSS i 24% i 6% { 13% j 43% j 32% i i S i » t MAC—CTSS}. 39% ! 20% | 3% ! 82% { 38% j

ii Czas bezczynności wyniósł dodatkowo 25% całkowitego czasu.

Statystyki dotyczące wydajności wielodostępnych systemów konwersacyjnych na komputerach trzeciej generacji właściwie nie istnieją. Czas przeznaczony na działalność ogólną w takich systemach Jak IBM/360/6? TSS, GE 645 MULTICS oraz SDS Sigma 7 UTSM Jest według słów użytkowników "nadzwyczaj duży”. Mówi się- o wydajności tak niskiej, Jak 10%, lub Jeszcze niższej. -92-

Tablica 7 PRZEKROJE WYKORZYSTANIA SYSTEMÓW

NA PODSTAWIE DANYCH Z SZEŚCIU INSTALACJI KOMPUTEROWYCH

Zakres prac ręcznych zawiera: 1. Ustawianie: przygotowanie przebiegu, takie Jak załadować nie taśm, kart, formularzy papierowych* 2. Diagnostyka dla klientów: analiza dokonywana przez opera­ tora błędów oraz konsoli problemów związanych z zadaniem. V 3* Konserwacja pozaplanowa: czas, w którym komputer był nie­ dostępny z powodu złego działania* 4* Bezczynność: czas, w którym komputer nie był obsłużony przez operatora* ......

Zakres prac zautomatyzowanych zawiera:

1. Produkcja: operacje, których wynikiem Jest wytworzenie na przykład listy płac, stanu magazynu lub odpowiedzi dla obliczeń naukowych itp* 2* Sprawdzanie: operacja, w której zostaje sprawdzona część lub cały program. 3* Składanie programu: czas potrzebny do przetłumaczenia pro­ gramu na Język maszyny* 4. Powtórka /powtórzenie przebiegu/: czas wymagany dla prze­ biegu ciągu zadań, których wykonanie uprzednio nie powio­ dło się z powodu błędów operatora lub programisty. 5* Wydruk: czas potrzebny dla wydrukowania instrukcji dla operatora na bezpośrednio podłączonej drukarce lub elek- . ' • • ■ '■ ' trycznej maszynie do pisania. - 93;-

3 * Wykorzystanie pamięci

Kluczem do efektywnego wykorzystania pamięci jest rotacja poprzez pamięć wykonawczą maksymalnej ilości programów użyt­ kowników, tak aby czas bezczynności centralnego procesora był jak najmniejszy oraz by była obsłużona cała zbiorowość użyt­ kowników, •

Oczywistym, przyjętym tutaj, założeniem jest to, że pamięć wykonawcza nie"jest na tyle duża, by w niej umieścić jedno­ cześnie wszystkie programy bezpośrednich użytkowników. Wyni­ kiem tego jest, jak to wcześniej wykazywaliśmy, hierarchia urządzeń pamięci- i ostatnio opracowane systemy stosują koncep^- cję pamięci wirtualnej, objawiającą się w mechanizmie stro­ nicowania. Oddalamy tutaj wszelką dyskusję na temat systemów nie stosujących stronicowania dla następujących powodów:

1/ koszt obecnie stosowanych pamięci oraz logika ich adreso­ wania nie pozwalają na opracowanie i używanie wystarczają­ co dużych pamięci, by mogły one zawierać wszystkie programy potrzebne dużym zbiorowiskom użytkowników;

2/ z powodu tych samych zastrzeżeń wymiana całych programów ■' użytkowników jest właściwie marnotrawstwem i prawdopodob­ nie nigdy nie zoptymalizuje wykorzystania systemu;

3/ jedynie systemy stronicujące posiadają potencjalne możli­ wości znacznego wzrostu wydajności......

Oezywiście mogą zaistnieć sytuacje, w których systemy stosu­ jące stronicowanie będą posiadały mniejszą wydajność niż ich mniej skomplikowani, poprzednicy, lecz odczuwamy, że stroni­ cowanie reprezentuje najlepsze ogólne rozwiązanie problemu - 94- - przydziału pamięci 1 bardzo się przyczyni do rozwiązania pod­ stawowego problemu wykorzystania zasobów systemu.

Dla przypomnienia określamy, że system stosujący stroni­ cowanie jest to taki system, w którym pamięć wykonawcza jest przydzielana w każdej chwili czasu odcinkom kilku programów. Odcinki jakiegokolwiek programu załadowane do pamięci celem obsługi przez centralny procesor w przydzielonym odcinku cza­ su są dynamicznie przenoszone do następnych stronic pamięci.

Wydaje się, że w odniesieniu do metody stronicowania is­ tnieje sześć obszarów problemowych: częstotliwość stronico­ wania, popyt w stosunku do stronic związanych /"spokrewnio­ nych”/, metody wyzwalania stronic, rozmiar stronic, funkcje ogólne systemu związane ze stronicowaniem, wybór pamięci do­ datkowej. Dwa ostatnie zagadnienia zostaną omówione tylko w aspekcie powiązania z czterema poprzednimi. a. Częstotliwość stronicowania

Jak to wykazano, częstotliwość, z jaką stronice są wymienia­ ne między pamięcią główną a dodatkową, zależy od wielkości pa­ mięci głównej, od liczby umieszczonych w niej zadań oraz od tego, jaka część każdego z zadań znajduje się w pamięci głów­ nej.

Gdyby pamięci były na tyle duże, iż pozwalałoby to na wyko­ nywanie wszystkich zadań od razu, nie występowałaby w ogóle czynność stronicowania. Ponieważ nie ma to miejsca oraz ponie­ waż czas bezczynności centralnego procesora będzie na ogół ro­ snąć, jak ilość czynnych zadań będzie się zmniejszać, często- - 95 - ■ tliwość stronicowania albo zapotrzebowanie na określoną czę­ stotliwość , będzie miała tendencję do wzrastania w miarę jak pamięć maleje. Istotnie, większa pamięć fyrrytowa pozwala na to, by w danym momencie było czynnych więcej zadań, osłabia­ jąc w ten sposób wpływ na wydajność ze strony większych opóź­ nień spowodowanych stronicowaniem /przy pomiarze wykorzysta­ nia centralnego procesora/. Powstaje niebezpieczeństwo, że mała pamięć będzie prowadzić do systemu z ograniczonym stro­ nicowaniem, gdzie przy zapotrzebowaniu częstotliwości stro­ nicowania w setkach stronic na sekundę ilość czasu, jakim dysponuje kanał wymiany, będzie większa niż ilość czasu, ja­ ki centralny procesor może poświęcić na wspomaganie kanału, i wówczas żądania stronicowania Mzaleją” system*

Mając pewną pamięć o stałej wielkości, chcemy zbadać jaki jest wpływ zmieniającej się liczby czynnych zadań na system.

0 ile w ciągu pewnego okresu czasu występuje zbyt mało czyn­ nych zadań, to wówcza3 nie można uniknąć bezczynności cen­ tralnego procesora, gdyż nie zachodzi wystarczająca ku temu ilość żądań wykonania /z powodu stronicowania i operacji We/ Wy/. 0 ile występuje zbyt wiele czynnych zadań, każde z nich ma wówczas mniejszy udział w pamięci i wykazuje tendencję częstszego żądania stronic, co z kolei może znów prowadzić do systemu z ograniczonym stronicowaniem.

Na koniec, częstość występowania żądań stronic, które zgła­ sza jakieś zadanie, jest zależna od liczby stronic tego zada­ nia już rezydujących w pamięci głównej. 0 ile w jakimś okreś­ lonym odcinku czasu /obsługi przez centralny procesor/ zada­ nie rozpoczyna się pod nieobecność stronic jego programu w - 96 - pamięci i każda stronica jest wprowadzana do pamięci dopiero na żądanie, to wówczas częstotliwość stronicowania jest duża tylko do momentu aż pewna część programu będzie już rezydowa­ ła w pamięci, a wtedy częstotliwość stronicowania zmaleje. Ta wartość progowa obecności programu w pamięci jest zmienna w zależności od rozpatrywanego systemu. Badania przeprowadzo­ ne w System Development Corporation wykazały, że omawiana war tośó progowa wynosi dla systemu Q-3 2 od 15 ńo 18 stronic /co stanowi w przybliżeniu połowę programu/, a wstępne badania nad systemem TSS/360 'firmy IBM, przeprowadzone w Lincoln Labo ratory oraz w IBM, wykazały, że dla tego systemu wynosi ona blisko 40 stronic. Oba systemy jako urządzenie do wymiany stronic używały pamięci bębnowej.

STOSUNEK REZYDUJĄCEJ W PAMI?CI GŁÓWNEJ CZ$!&CI PROGRAMU DO CZASU

Liczba rezydujących próg stronic

Czas liczony od początku odcinka czasu /obsługi przez centralny procesor/ - 97 - b. Popyt w stosunku do stronic związanych

Przy stosowaniu taktyki stronicowania, na żądanie, stro­ nica zostaje wprowadzona do pamięci głównej tylko wówczas, gdy rezydująca w pamięci głównej stronica odwołała się do niej. Inne taktyki w tym zakresie, które klasyfikujemy jako stronicowanie owiązane, usiłują odrobić stracony z powodu braku stronicy czas ładując do pamięci głównej stronicę, do której najprawdopodobniej nastąpi odwołanie, zanim to odwo­ łanie wystąpi. Przyjmując, że zachowanie się programu nie jest w pełni przypadkowe, trzeba założyć,' że w każdej chwili w trakcie jego wykonywania każda ze stronic będzie się częś­ ciej odwoływać do niektórych stronic niż do innych. Stąd, sko­ ro jakaś stronica została wprowadzona do pamięci głównej, po- - winniśmy być w stanie przewidzieć, jakich dalszych stronic będzie ona najprawdopodobniej potrzebować, z którymi jest związana, zanim się zakończy odcinek czasu obsługi przez cen­ tralny procesor. Uprzedni wybór i załadowanie właściwej stro­ nicy wyeliminuje opóźnienie spowodowane wprowadzeniem stroni­ cy do pamięci głównej. Niewłaściwy wybór da w wyniku żądanie stronicowania i oczywiście wyższy koszt wskutek obecności w pamięci głównej niepotrzebnej stronicy.

Jedno z badań, przeprowadzonych w Uniwersytecie Michigan, na zainstalowanym tam ukierunkowanym na pamięć bębnową sys­ temie IBM J60/67, wykazało, że zasadnicza wyższość stronico­ wania na żądanie nad pełną wymianą polega na tym, że zacho­ dzi prawdopodobieństwo, iż w ciągu określonego odcinka czasu nie. wystąpią odwołania do wszystkich strpnic programu, Wed- - 98 -

ług tego badania, stronicowanie na żądanie aż do momentu, kiedy zgrubsza zostało załadowane dwie trzecie programu, przypada mniejszy koszt czasu i obszaru pamięci niż dla wy­ miany /patrz Tablica 8/, Stronicowanie związane miało prze­ wagę nad wymianą aż do momentu, kiedy wystąpiły odwołania A do blisko czterech piątych, wszystkich stronic w programie .

Inne badanie, przeprowadzone w Uniwersytecie Camegie- Mellon na systemie IBM 360/67, wykazało, że ’’stronicowanie związane” jest, ogólnie biorąc, koniecznością dla systemów korzystających w mechanizmie stronicowania z pamięci bębno­ wych. Powyższe badanie także rozważało możliwość użycia bar­ dzo dużych pamięci ferrytowych /np. LCS z firmy IBM/ jako urządzenia stronicującego0 Analiza, która wnikała w opóźnie­ nia obrotowe /spowodowane obrotem bębna/, nieodłączne dla pa­ mięci bęonowych, jak również w wykorzystanie kanału wymiany, na koniec postawiła wniosek, że stronicowanie z bardzo dużej pamięci ferrytowej /jak np. LCS firmy IBM/ jest znacznie wy­ dajniejsze niż stronicowanie na żądanie, wykonywane za pomo­ cą pamięci bębnowej - w stosunku względnym wydajności jak cztery do jednego. Także takie stronicowanie pozwala na bez­ pośrednie wykonywanie programów i tym samym eliminuje niektó­ re z potrzeb w zakresie stronicowania. Pracownicy badawczy uniwersytetu obliczyli, że im jest większa częstotliwość stronicowania, tym "bardziej maszyna jest elastyczna” , przy czym koszt systemu z pamięcią typu LCS jest 7 do 12 procent większy niż odpowiedniego systemu ukierunkowanego na pamięci bębnowe.

^ Tad Brian Pinkerton, Program Behavior and Control in Virtual Storage Computer Systems/Ann Arbor: University of Michigan» Office of Research Administration, Technical Report 4-/. - 99»-

Tablica 8 WZGLĘDNE KOSZTY WYMIANY I STRONICOWANIA

KOSZT POJEM­ W ymiana NOŚCI CZASU PAMIĘCI W ODNIE- 80 SIENIU DO TAK- 70 60 WYMIANY 50

40

30

20

10

PROCENT STRONIC PROGRAMU, DO KTÓRYCH WYSTĄPIŁO ODWOŁANIE W CI^GU JEDNEGO ODCINKA CZASU /OBSŁUGI PRZEZ CP/. - 100 -

Krótko mówiąc, jeśli na załadowanie jednej stronicy z urzą­ dzenia pamięci dodatkowej do pamięci ferrytowej potrzeba t mi­ lisekund oraz jeśli jakieś zadanie załadowuje w odcinku czasu obsługi przez centralny procesor n stronic, to wówczas do za­ dania musi być przydzielona ilość pamięci ferrytowej wynoszą­ ca:

n/ft + .1 /-1? stronic - milisekund aby przesłać ściśle stronice tego zadania z urządzenia pamięci dodatkowej. /Wstępnie system rezerwuje obszar pamięci o wiel­ kości jednej stronicy w przedziale czasu t. Gdy wystąpi zapo­ trzebowanie na drugą stronicę, zarezerwowany w przedziale cza­ su t obszar pamięci wyniesie wówczas: obszar zarezerwowany dla pierwszej stronicy plus obszar zarezerwowany dla drugiej stro­ nicy. Gdy system zażąda i-tej stronicy, to wówczas w przedzia­ le czasu t zostaje zarezerwowany obszar pamięci odpowiadający wielkością i+1 stronicom. Ostatecznie suma żądań w stosunku do pamięci w przedziale czasu t wynosi: > I i • t = t. i=1 tL Tablica 9 przedstawia krzywe charakteryzujące koszty stronico­ wania pamięci dla systemu na komputerze IBM 360/67, przyjmując

że czas t dla pamięci bębnowej wynosi 21 milisekund /gdzie:

17 ms - przeciętny czas dostępu plus 4 ms - czas przesyłania/ oraz przyjmując czas t dla bardzo dużej pamięci ferrytowej ty­ pu LCS w wielkości 2,5 milisekundy. Wielkość stronicy wynosi 1.024 słów i dla uproszczenia założono, że nie ma trudności z -i dostępem do pamięci bębnowej .

Richard K.Fikes, Hugh C.Lauer and Albin L.Vareha, Jr.,"Steps Toward a General-Purpose Time-Sharing System Using Large Ca­ pacity Core Storage and TSS/560,"Proceedings of 23rd Nations Conference, Association for Computing Machinery/Princeton: Brandon/ System Press, Inc., 1968, Ho. P-68/ str.7-18 - 101

Należy zauważyć, ż© podwojenie odcinka czasu zmniejsza o połowę koszt zarezerwowanej pamięci w danym odcinku czasu. Faktyczny koszt załadowania do pamięci n stronic jest stały, lecz koszty względne zależą od wielkości odcinka czasu obsłu­ gi przez centralny procesor. Należy także zauważyć, że podwo­ jenie liczby stronic, które mają być załadowane do pamięci głównej w danym odcinku czasu zwiększa czterokrotnie koszt pamięci zarezerwowanej, ponieważ funkcja kosztu jest wielomia­ nem drugiego stopnia wyrażenia n*

W badaniach symulacyjnych, mających na celu porównanie wpływu wywieranego na wykorzystanie centralnego procesora przez stronicowanie z pamięci dyskowej, bębnowej oraz z urzą­ dzenia pamięci masowej, korzystano ze średniej wielkości sys­ temu komputerowego: RCA Spectra 70/46. Stronicowanie przy współpracy z pamięcią dyskową dało w wyniku wykorzystanie cen­

tralnego procesora 25 do 30 procent, stronicowanie z pamięcią bębnową zwiększyło wykorzystanie 45 do- 50 procent, natomiast stronicowanie z pamięcią masową dało w wyniku wykorzystanie sięgające do około 60 procent. Czasy odpowiedzi terminali wy­

kazywały podobne wahania, wynosiły one średnio 6 sekund dla

stronicowania z pamięcią dyskową, 1^5 do 2 sekund dla stroni­

cowania z pamięcią bębnową, a 0 ,7 sekundy dla stronicowania z pamięcią masową. Po porównaniu kosztów i wydajności, z po­ wyższych badań wysnuto wniosek, że dla systemu średniej wiel­ kości najlepszą ogólną równowagę wszystkich parametrów zapew­ ni nia współpraca z pamięcią bębnową .

G.Oppenheimer and N.Weizer, "Resource Management for a Medium Scale Time-Sharing Operating System" Communications of the ACM. May 1968, str. 313-522. — 102 —

Należałoby także zauważyć, że wszystkie te badania przedsta­ wiały rozwiązania obwarowane zastrzeżeniami. Nie usiłowały one podać mających uniwersalne zastosowanie wskazówek w zakresie schematów przydziału pamięci lub w zakresie* konfiguracji sprzętu. To, co one rzeczywiście przedstawiły, to było wykaza­ nie korzyści wynikających z symulacji i analizy w porównywa­ niu różnych strategii w ściśle określonej sytuacji. c. Algorytmy zamiany stronic

Gdy nadchodzi moment załadowania nowej stronicy, system musi zdecydować gdzie ją umieścić. 0 ile istnieją w danej chwili stronice pamięci nie wykorzystywane, to zadanie jest wówczas proste: system wybiera jedną z tych dostępnych stro­ nic i na jej miejsce ładuje stronicę zawierającą zadanie. Lecz ze wzrostem obciążenia pamięci głównej wszystkie obszary pamięci mogą być zajęte tak, że niektóre stronice muszą być przesunięte. By ułatwić wybór stronic, które mają być prze­ mieszczone, system musi utrzymywać wykaz łączników by zacho­ wać ślad tych stronic, które były wykorzystane tylko do odczy­ tu w czasie ich pobytu w pamięci głównej i dlatego są czyste, oraz tych, w których system zapisał nową informację, czyli zaśmieconych. Algorytm stronicowania powinien zawsze wybierać do zamiany stronicę czystą - chodzi o uniknięcie kosztu prze­ pisania stronicy do pamięci dodatkowej. 0 ile nie są dostępne czyste stronice, wówczas będzie wybrana zaśmiecona, przepisa­ na za pomocą mechanizmu stronicowania, a następnie na nią zos­ tanie nałożona nowa stronica /w pamięci głównej/. Stronice na­ leżące do innych zadań niż aktualnie obsługiwane przez central- Tablica 9 CZYNNIKI WPŁYWAJĄCE NA KOSZTY STRONICOWANIA

s./atJZ . £ Koszt • q

Wydatek 70 csasu-po je- mności na pamięć za- 60 zerowaną 50

40

Stronice - 30 milisekundy na odcinek czasu 20

10

5 10 1 Liczba stronic załadowanych v; ciągu trwania odcinka czasu. Wielkość stronicy: 1024 słowa. PB^ = stronicowanie z pamięcią bębnową; odcinek czasu » *100 ms PB2 = stronićowanie z pamięcią bębnov/ą; odcinek czasu - 200 ms PB^ st stronicowanie z pamięcią bębnową; odcinek czasu = 400 ms Pp/j =s stronicowanie z b. dużą pamięcią ferrytową; odc.ęz.= 100 ms P?2 — stronicowanie z b. dużą pamięcią ferrytową; odc.cz.~ 200 ms = stronicowanie z b. dużą pamięcią ferrytową; odc.cz.s= 400 mą - 104 - ny procesor powinny być, o ile to możliwe, wymienione. Jedna z technik programowania, która już się okazała efektywna w -zmniejszaniu liczby zaśmieconych stronic, wytworzonych w cią- - gu odcinka czasu obsługi przez centralny procesor, reprezen­ towana jest przez tzw, program "ponownie wprowadzany".W cza­ sie wykonywania taki program nie modyfikuje sam siebie, w związku z tym może być użyty ponownie rezydując w pamięci

■ głównej bez konieczności załadowania świeżej jego kopii lub wymiany zaśmieconych stronic.

Algorytm stronicowania i wersji wyzwalania w systemie TSS/

360 jest uruchamiany na końcu każdego odcinka czasu obsługi przez centralny procesor by oczyścić /wyzerować/ stronice pa­ mięci głównej. Wyrzuca on /wyzerowuje/ wszystkie stronice "po­ ufne" /nie będące własnością wspólną/, które zostały załado­ wane w c^ągu odcinka czasu; tylko stronice zaśmiecone zosta­ ją przepisane do pamięci dodatkowej. System TSS przyjmuje, że w większości przypadków stronice pamięci głównej wykorzysty­ wane przez jakieś zadanie będą potrzebne systemowi zanim dla wspomnianego zadania rozpocznie się następny odcinek czasu obsługi przez centralny procesor. Dlatego nie powinno się tu stosować bardziej wypracov/anego /i przez to droższego/ mecha­ nizmu wyzwalania stronic.

Mechanizm wyzwalania stronic, początkowo zaproponowany dla systemu MULTICS, przyjął założenie, że istnieje duże prawdo- podobieństwo iż stronica, do ’której się często lub ostatnio odwoływano, będzie ponownie wywołana, a nie ta, w stosunku uo której nie miało to miejsca. System nadzoruje, kiedy i jak często występują odwołania do każdej ze stronic. System prze' - 105 - prowadza to za pomocą rejestru zapisującego wywołania posz­ czególnych stronic. Skoro tylko liczba dostępnych stronic pa­ mięci spada poniżej uprzednio ustalonego minimum system wy­ rzuca dostateczną liczbę najmniej wywoływanych oraz najdaw­ niej wywoływanych stronic, by uzupełnić zaopatrzenie w stro­ nice.

Metoda stosowana przez system TSS jest prosta lecz kosz­ towna w tym, że mogą tu być potrzebne dodatkowe operacje stronicowania celem ponownego wprowadzenia do pamięci głów­ nej stronic, co do których wstępnie przyjęto, iż minął już ich okres wykorzystania. Metoda stosowana przez system MUL- TICS jest bardziej czuła na zachowanie się zadania, lecz op­ łaca to kosztem ogólnym dodatkowej funkcji okresowego bada­ nia wszystkich stronic pamięci celem prowadzenia historii każdej indywidualnej stronicy. Jedno ze źródeł ocenia, że me­ toda ta o ile byłaby używana w systemie IBM 360/67, posiada­ jącym 2.000 stronic w bardzo dużej pamięci ferrytowej typu LCS, wiązałaby 14 procent czasu centralnego procesora przy badaniu przeprowadzanym dokładnie dwa razy na sekundę. d. Rozmiar stronicy i wynikające z niego konsekwencje

Jak mała powinna być stronica? Do chwili obecnej specjal­ nie tym się nie zajmowano, jako parametrem w badaniach nad wykorzystaniem zasobów systemu, ponieważ konstruktorzy sprzę­ tu zazwyczaj ustalają rozmiar stronicy już we wczesnych eta­ pach działania. Jednakże wiele osób badających do zagadnienie poczyniło pev»ne godne uwagi spostrzeżenia na ten temat. Po - 106 - pierwsze, stronice o zmiennych rozmiarach byłyby bardziej ko­ rzystne niż stronice o stałych rozmiarach, a to celem korzys­ tania z takich nieodłącznych struktur programu jak zawarte na jednej stronicy pętle i podprogramy. Lecz wydaje się, że dzi­ siejsza technologia nie jest w stanie poradzić sobie z prob­ lemem przemieszczania stronic o różnych rozmiarach. Dlatego więc jesteśmy ograniczeni, co najmniej chwilowo, do stronic o stałych rozmiarach. Po drugie, dla danego stałego limitu po­ jemności pamięci istnieje możliwość podziału na małą ilość du­ żych stronic, na dużą ilość małych stronic, lub na mieszankę różnych rozmiarów /ip. komputery Gon troi lata 3300 oraz 3500 posiadają stronice o wielkości 2.048 słów, lecz w wyniku czterech dopu­ szczalnych rozmiarów stronic pozwalają na przydziały pół-stro- nic i ćwierć-stronic/. Wydaje się uzasadnione, że w wyniku stosowania dużych stronic zmniejszy się działalność stronico­ wania; wówczas próg występujący na krzywej przedstawionej w wykresie na stronie 96 ukazałby się na niższym poziomie, na­ wet chociaż ten sam procent programu musiałby być obecny w pamięci głównej, system żądałby mniejszej ilości stronic.Lecz chociaż częstotliwość stronicowania byłaby mniejszą wydłużył­ by się czas zajętości kanału dla tych większych stronic. I na odwrót, stosowanie małych stronic będzie oznaczać częstsze stronicowanie a krótsze okresy zajętośęi kanału. Jak już wcze­ śniej wzmiankowano, stosowanie stronic o mniejszych rozmiarach spowoduje tendencję zmniejszania się nie wykorzystanego obsza­ ru pamięci, lecz koszty ogólne związane ze stronicowaniem zmieniają się w stosunku odwrotnym do rozmiaru stronicy. - 107 -

System MJLTICS był początkowo zaprojektowany w ten sposób, iż pozwalał na użytkowanie dwóch rozmiarów stronic: 64 słowa i 1*024 słowa. Intencją tu było wprowadzenie większej liczby użytecznych stronic do pamięci głównej. Również, jak to wcześ­ niej wzmiankowano w dyskusji na temat metod wyzwalania stro­ nic, był on tak zaprojektowany, że nadzorował wykorzystanie stronic. Same te dwa czynniki projektowe podwoiły czas prze­ twarzania zużywany na operacje stronicowania. Obecnie system posiada jeden rozmiar stronic /1.024 słów/, a stronice do usu­ wania /wyzwalania/ są wybierane niemal w sposób przypadkowy, a mianowicie: jeśli wzrosła liczba błędów zgłaszanych z powo­ du brakujących stron, to zostało to więcej niż skompensowane / . . . skróceniem wymaganego czasu przetwarzania. Początkowy projekt systemu był bardzo wyszukany i złożony, lecz obecnie znajduje się w eksploatacji prostszy schemat systemu i działa on lepiej.

4. Kroki w kierunku lepszego wykorzystania

Obecne intensywne zajęcie się problemem wykorzystania cen­ tralnego procesora i pamięci niewątpliwie da w wyniku skokowy wzrost wydajności systemów wdrażanych na bieżąco dostępnym sprzęcie. Co najmniej jedną z wypróbowanych dróg zwiększenia wykorzystania sprzętu jest utrzymywanie puli ciągów zadań ob­ liczeniowych typu partiowego, które mogą być przetwarzane wów­ czas, kiedy żądania ze strony ludzi są tak małe, iż zasoby sy­ stemu stoją bezczynne. /Po większej części do chwili obecnej nie powiodły się badania i doświadczenia na temat tego, by lu­ dzką wydajność traktować jako jeden z elementów całego proble­ mu; wykorzystanie sprzętu może być i będzie ulepszone, lecz - 108 - nie należy tego robić kosztem zasobów ludzkich, którym poświę­ cona jest większość dalszych rozważań tego rozdziału/.

Jest jednak sprawą wątpliwą, by uniwersalna architektura komputera, taka jak obecnie jest przedstawiana, skłaniała się do jakiegoś poważnego ‘’przełomu" w kierunku całkowitego efek­ tywnego wykorzystania zasobów dla systemów wielodostępnych. Musimy liczyć na to, że wyspecjalizowana architektura dokona znacznych ulepszeń, jako że informowaliśmy na podstawie na­ szych uprzednich wiadomości, iż systemy wielodostępne są obec­ nie wdrażane na żle dopasowanym do ich funkcji sprzęcie. Pod­ stawą dla wygłaszania takich deklaracji jest fakt, że kilka przedsiębiorstw, które z powodzeniem wdrożyły systemy wielo­ dostępne na istniejącym sprzęcie, projektuje nowe systemy oprogramowania. Systemy te będą wymagały specjalnie dla nich zaprojektowanych systemów komputerowych.

Na przykład Call-A-Computer sformułowało nowe wymagania techniczne dla następnego systemu i przedłożyło je wszystkim większym producentom komputerów celem ściągnięcia ofert. Wy­ magane są następujące cechy funkcjonalne w zakresie wielo- przetwarzania:

Środowisko łączności, które obsłuży wielorakie ■ szybkości, formaty oraz połączenia dla przypadko­ wego /dowolnego/ środowiska terminali.

Środowisko obliczeniowe tylko dla wykonywania szybi i dokładnie obliczeń dla wieloskładnikowych zadań» realizowane poprzez wieloprogramowość i stronico­ wanie.

* ■ Środowisko swobodnego dostępu, mające zapewnić chwi­ lowe szybkie przesyłanie i dostęp oraz pamięć maso­ wą, a wszystko to ma posiadać budowę modułową celem dalszej rozbudowy.

Przedsiębiorstwo Call-A-Computer jest w zasadzie przeświadczo­ ne, że obecny sprzęt by osiągnąć uniwersalność idzie na kompro­ mis we wszystkich tych aspektach. Lecz przedsiębiorstwo na ko­ niec stwierdziło, że oferty "z szuflady" jakie otrzymało po prostu nie nadają się do jego zainteresowań.

Jako inny przykład, Ford Motor Company zaprojektowało nowy system wielodostępny, który nosi pewne cechy podobieństwa do systemu Burroghs 8502. Będzie on się składać z szeregu zawiera­ jącego maksymalnie do 16 procesorów /centralne procesory oraz jednostki sterowania We/Wy/, połączonych z pamięcią główną o pojemności 4 miliony słów, podzieloną na stronice po 1000 słów każda. Przedsiębiorstwo zaprojektowało stronicującą pamięć bęb­ nową z taką logiką adresowania, która eliminuje opóźnienia w dostępie przez rozpoczynanie przesyłania - bez względu na pozy­ cję bębna - z lub do odpowiedniego indeksowanego adresu pamię­ ci, wykorzystując do tego celu automatyczną logikę tzw. "owi­ jania" /automatic wrap-around logie/. Także opracowuje się "wy­ soce wyszukany" system zarządzania zbiorem, celem wdrożenia dy­ namicznej struktury danych. Obecnie istniejący system Forda wy­ kazuje podwojenie wykorzystania co każde 11 miesięcy przez os­ tatnie trzy lata. Zespół ekonomiczny przedsiębiorstwa /przeciw­ nicy proponowanego systemu/, korzystając z najbardziej ostroż­ nych założeń jakie można było obronić, przewidywał, że nowy sy­ stem będzie rocznie odzyskiwał dwukrotną wartość wymaganej nań - 110 -

. inwestycji /przy czym koszty dla użytkowników zmaleją w sto­ sunku dziesięć do jednego/.

Takie przykłady, jak podano wyżej, mające z pewnością ce- ' *- ..i. . i '-y chy "świeżego tropu", wskazują na rosnące u użytkowników i projektantów świadomość podstawowych niedostatków, nawet w komputerach trzeciej generacji, dla realizacji ekonomicznych ‘ i sprawnych systemów wielodostępnych. Jeszcze co najmniej przez kilka nadchodzących lat będziemy korzystali ze standar- dowych systemów trzeciej generacji, a wielodostęp będzie w dalszym ciągu na nich wdrażany, lecz niemniej przeto powstał ' ruch w kierunku tworzenia systemów, które poświęcą uniwersał- ność na korzyść specjalizacji, by wyjść naprzeciw surowym wy­ maganiom środowiska wielodostępu.

Na koniec poruszymy w tym odcinku sprawę mierzenia w obec­ nej chwili wydajności systemu. Jest to, jak widzieliśmy w roZ' dziale trzecim, mały problem sam w sobie /szczególnie jeśli powiązany z rozliczaniem za korzystanie z systemu, co omówimj w następnym odcinku/. Kiedy jest tylko jeden użytkownik sys­ temu komputerowego, płaci on po prostu za wszystkie zasobyt obojętnie czy z nich korzysta, czy nie. V/ wypadku istnienia wielu użytkowników wydawałoby się celowym obciążać każdego • nich proporcjonalnie do korzystania z zasobów systemu w okr« lonym odcinku czasu. Niestety, większość zasobów nie posiada dołączonego licznika, który by ułatwił pomiar wykorzystania. Oprogramowanie systemu musi dla każdego użytkownika obliczać mierzalną równowartość wykorzystania centralnego procesoraf pamięci, kanałów i innych zasobów. Z konieczności pochłania to pewien mały procent dostępności systemu. Możemy tylko wal1' 111 - skować, że dla systemu wielodostępnego pożądaną cechą sprzętu - dla celów dokładności i zmniejszenia kosztów ogólnych - by­ łaby zdolność izolowania i precyzyjnego mierzenia przyrostów wykorzystania zasobów. Taka zdolność prowadziłaby nie tylko do sprawiedliwego programu rozliczania, lecz także do lepszego rejestrowania wydajności, a na koniec i do lepszego zrównowa­ żenia systemu /ostateczne zestrojenie systemu/. Pośrednią ko­ rzyścią z takiego rejestrowania wydajności będzie poprawienie niezawodności sprzętu. Koszt dodatkowych układów powinien być niewielki. Jednakże w momencie pisania sprawozdania nie są prowadzone żadne poważniejsze badania na tym polu, nawet pomi­ mo tego, iż realizacja omawianej zdolności może okazać się obo­ wiązkowa dla przyszłego sprzętu wieloprogramowego i wieloprze- twarzaniowego.

B. WYJŚCIE NAPRZECIW POTRZEBOM UŻYTKOWNIKÓW

Ustaliliśmy wcześniej, że systemy wielodostępne i przetwa­ rzania partiowego mają różne cele. Ogólnie biorąc, systemy przetwarzania partiowego usiłują zmaksymalizować przerób, zde­ finiowany jako liczba prac zakończonych w danym okresie czasu. Przy minimalizacji ludzkiej interwencji i przy odpowiednim składaniu i planowaniu strumienia prac, nowoczesne systemy przetwarzania partiowego mogą efektywnie zrównoważyć wykorzys­ tanie dostępnych zasobów maszyny w elastycznym lecz mocno kon­ trolowanym środowisku. Celem tutaj jest osiągnięcie maksimum ekonomicznego wykorzystania komputera* Z drugiej strony sys­ temy wielodostępne włączają ludzi jako integralną część' cał­ kowitego systemu i usiłują zmaksymalizować inny rodzaj "prze­ robu": ludzką wydajność. Zezwalając na ludzką interwencję - 112 -

/zwykle jest ona nie tylko dozwolona ale konieczna/, oraz za­ pewniając wielokrotny jednoczesny dostęp, takie systemy z ko­ nieczności poświęcają w pewnym stopniu efektywne wykorzysta­ nie zasobów sprzętu, by wyjść naprzeciw ludzkim potrzebom w mniej ściśle zdefiniowanym środowisku. f • • ■ i Jeżeli ludzka wydajność posiada wartość oraz jeżeli syste- my wielodostępne mogą zwiększyć tę wartość, to wówczas dodat­ kowe koszty poniesione na bardziej złożony sprzęt i oprogra­ mowanie /jak również wchodzące w grę koszty mniej efektywnego wykorzystania zasobów maszyny/ mogą być w wystarczającym lub więcej niż wystarczającym stopniu skompensowane, by uza­ sadnić stosowanie systemu wielodostępnego. Na przykład jaka jest wartość programowania w bezpośredniej łączności z maszy­ ną, jak to praktykowano w System Development Corporation? Ja­ ka jest wartość bezpośredniego /natychmiastowego/ obliczania emisji obligacji w obliczu dynamicznego rynku pieniężnego, jak to praktykowano w First National City Bank? Jaka jest wal- tość bezpośredniego projektowania konstrukcji przez inżynie­ rów przy pomocy graficznych monitorów ekranowych, lub jaka jest wartość pomocy w ustalaniu diagnozy pacjentów w szpita­ lach? W każdym z tych przykładów, obojętnie jaka jest ich wartość, mierzalna lub nie, ma się o niej oczywiście wyższe

. mniemanie niż o koszcie jej zapewnienia. Możemy rozróżnić co najmniej dwa zasadnicze czynniki w formowaniu hipotezy odno­ szącej się do wielodostępnego wykorzystania komputerów w po­ mnożeniu ludzkiej efektywności: terminowość i wydajność. - 113 -

Terminowość: Istnieją dwa aspekty terminowości, które wydają się być podstawowe w wielodostępie - szybkość odpowiedzi oraz krótki cykl całkowity. W powyżej zacytowanych przykładach kró­ tki cykl przetwarzania w możliwie jak najpóźniejszym momencie /by zapewnić dopływ najświeższych danych oraz by pozwolić na perrautacje wejść/ jest niewątpliwie czynnikiem krytycznym dla obliczenia emisji obligacji. Podobnie szybkie odpowiedzi w sytuacji wzajemnego oddziaływania, jak na przykład bezpoś­ rednie programowanie lub projektowanie konstrukcji, wydają się przyczyniać do szybszej i lepszej pracy.

Wydajność: Tutaj znów wchodzą w grę co najmniej dwa czynniki - nastawienie się do pracy i jakość pracy. Nieliczne studia, jakie były do tej chwili przeprowadzone nad tymi zagadnienia­ mi, wskazują że zachodzi zjawisko "pociągania” przez wielo- dostęp bardzo dodatniego nastawienia się do pracy. Ostanie badania przeprowadzone przez System Development Corporation postawiły hipotezę, że wielodostęp prowadzi do stosowania lep­ szej techniki rozwiązywania problemów, jeśli nie do lepszego wytworu końcowego.

Jednakże istnieje szereg przeszkód na drodze do osiągnię­ cia ludzkiej efektywności i zadowolenia. Problemy te powsta­ ją przy usiłowaniu wyjścia naprzeciw potrzebom użytkownika w zakresie krótszego czasu odpowiedzi, niezależności oprogramo­ wania od rodzaju maszyny, łatwiejszego dostępu poprzez języki oraz oprogramowanie terminala, szkolenia i dokumentacji, dos­ tępu priorytetowego oraz sprawiedliwego rozliczania.

H.Sackman and Michael Gold, "Time-Sharing Versus Batch Pro­ cessing: An Experimental Inquiry into Human Problem-Solving" /Santa Monica: System Development Corporation, czerwiec 1968, SP-3110/. - 114 -

1. Czas odpowiedzi

Większość wielodostępnych systemów wzajemnego oddziaływa­ nia jest zaprojektowana w taki sposób, by zapewnić odpowiedzi w ciągu od dwóch do pięciu sekund. Systemy nie pracujące w trybie wzajemnego oddziaływania posiadają mniej surowe wymaga­ nia w stosunku do czasu odpowiedzi* Problem czasu odpowiedzi powstaje wówczas, gdy system się nasyca i nie może nadążyć za żądaniami zgłaszanymi przez użytkowników. Kiedy zachodzi taki przypadek, czas odpowiedzi się wydłuża i jest zmienny w zależ­ ności od liczby bezpośrednich użytkowników systemu.

Robert L. Patrick przedstawił graficznie "wartość" czasu odpowiedzi1, tak jak to jest pokazane na Tablicy 10 a i b. Na wykresie a widać, że krótki czas odpowiedzi jest wysoce opłacalny, tak jak to ma miejsce w przypadku maklera giełdowe­ go, który szybko reaguje na pytania-klienta. Jak wynika z wyk­ resu b, krótki czas odpowiedzi nie przedstawia specjalnych zalet, tak jak ma to miejsce w przypadku, obliczania listy płac. Jesteśmy szczególnie zainteresowani wykresem a.

Czas odpowiedzi był modelowany przez Scherr'a jako funkcja liczby użytkowników bezpośrednio współpracujących z komputerem' Przeprowadził on modelowanie dla systemu CTSS /komputer IBM 7094/ w MIT. Wynik modelowania jest przedstawiony na Tablicy 10 c. Jak to przedstawia wykres, o ile do systemu jest podłą­

czonych bezpośrednio mniej niż 30 użytkowników, to wówczas przeciętny czas odpowiedzi wynosi poniżej dziesięć sekund.

1 "So You Want to Go On-Line", "Datamation, październik 1963» str. 25-2 7 . 115

Powyżej 50 użytkowników system nasyca się i czas odpowiedzi zbliża się do liniowej zależności od liczby, użytkowników. Każdy dodatkowy użytkownik zwiększa przeciętny czas odpowiedzi o stały przyrost.

Inne systemy wielodostępne będą miały inne krzywe wydaj­ ności czasu odpowiedzi, lecz problem przedstawia się identycz­ nie dla wszystkich systemów: w pewnym momencie, dla pewnej li­ czby użytkowników, czas odpowiedzi staje się niemożliwy do utrzymania w swej dotychczasowej wielkości.

Badania przeprowadzone w System Development Corporation przez Sackmana i Golda uzależniają czas odpowiedzi od złożone­ go profilu użytkowników wielodostępu zestawionego na podstawie badań prowadzonych w Massachusetts Institute of Technology, System Development Corporation oraz Rand. W Tablicy 11 przed­ stawiono profil, który może być uważany jako typowy dla środo­ wiska naukowo-badawczego lub ukierunkowanego na programowanie.

Z tego badania wyciągnięto wniosek, że "rozwiązywanie prob­ lemów w konktekście człowiek-maszyna jest w przeważającej mie­ rze procesem kierowanym przez człowieka, obejmującym w więk­ szości wypadków obserwacje własne lub porozumiewanie się czło­ wieka z człowiekiem. W takim kontekście symbioza człowiek-ma­ szyna jest koncepcją semantycznie wprowadzającą w błąd. Tego rodzaju dane opisowe sugerują, że użytkownik formułuje i w sposób fantazyjny szczegółowo opisuje rozwiązania problemów przy pulpicie swojego terminala, oraz że komputer jest przede wszystkim używany do posłusznego wdrażania, sprawdzania i we- A ryfikacji ludzkich pomysłów" Badanie podsumowuje podstawowe

A "Time-Sharing Versus Batch Processing", str. 5, 7. - 116 -

Tablica 10 WARTO&Ó CZASU ODPOWIEDZI ORAZ WPŁYW OBCIĄŻENIA

Opła­ Opła­ calność calność

a/ b/

"Wartość" czasu odpowiedzi

Liczba wzajemnie oddziaływujących użytkowników

c/ Czas odpowiedzi w zależności od liczby użytkowników - 117 - różnice zachodzące między rozwiązywaniem problemów w eystemie bezpośredniej łączności z komputerem a rozwiązywaniem proble­ mów w systemie pośrednim /off-line/ stwierdzając, że tryb przetwarzania partiowęgo sprzyja większej wydajności ekonomi­ cznej komputera - średnio o 4-0% - podczas gdy wielodostęp sprzyja bardziej efektywnemu i bardziej zadawalającemu wykony­ waniu pracy przez ludzi, przy czym wytwory końcowe są wyższej Jakości a średnia wartość czasu pracy człowieka zmniejsza się o 25% przy przekładaniu pierwszeństwa użytkownika. Dalej suge­ ruje się, źe szybka reakcja systemu Jest prawdopodobnie głów­ ną przyczyną wysokich kosztów sprzętu w wielodostępie. Natych­ miastowe zwrotne przekazywanie pośrednich wyników może nakła­ niać użytkownika do wyszukiwania wielu dowolnych dróg rozwią­ zywania problemu, co skłania ku większemu korzystaniu z kom­ putera, a tym samym powoduje wzrost zużycia czasu maszyny w stosunku do trybu partiowęgo rozwiązywania problemów. Będzie ono także nakłaniać do zwiększenia prawdopodobieństwa znale­ zienia "najlepszego" rozwiązania w wypadku, gdy istnieje kil­ ka rozwiązań. Inną wskazaną interesującą możliwością było za­ gadnienie opóźnionej /celowo/ odpowiedzi: ponieważ czas 10 se­ kund, Jaki upływa między ukazaniem się wyjścia z komputera a następnym kolejnym wejściem wprowadzanym przez człowieka /po­ zycja 5 w Tablicy/, nie zapewnia wiele czasu na twórcze myśle­ nie, być może bardziej spokojne tempo przy konsoli terminala - wymuszone przez opóźniony czas odpowiedzi - przyniosłoby ko­ rzyści tym zastosowaniom, w których w grę wchodzą spontanicz­ ne myślenie oraz twórcze rozwiązywanie problemów. Wydaje się, że w tych dziedzinach należałoby przeprowadzić znacznie więcej badań. 118 -

2 . Niezależność oprogramowania od maszyny

Żądanie uniezależnienia oprogramowania od maszyny opiera się na założeniu, że im mniej uwagi musi użytkownik poświę­ cić "nawykom" sprzętu i technikom oprogramowania, tym więcej ma on czasu na skoncentrowanie się na swoim problemie oraz na środkach niezbędnych dla jego rozwiązania.

Zakładając, że nie ma dwóch systemów o identycznych ce­ chach charakterystycznych /o ile te systemy, oczywiście, nie są identyczne/, najwyższą niezależność osiągnęłoby się czy­ niąc wszystkie specyficzne cechy niedostrzegalnymi dla użyt­ kownika. Z konieczności oznacza to ustanowienie uniwersalnego standardowego /znormalizowanego/ języka rozkazowego oraz stan­ dardowych translatorów języków. Takie standardy obecnie nie istnieją i być może nigdy nie będą istniały.

Problem niezależności oprogramowania staje się szczególnie ostry, gdy w tym samym miejscu są w użyciu dwa /lub więcej/ systemy wielodostępne, lub gdy użytkownicy przenoszą się z jednego systemu na drugi. W takim przypadku brak niezależnoś­ ci powoduje tendencję do powstania bałaganu. Każdy system po­ siada jemu właściwy protokół dla ustanawiania z nim łączności: dla sprawdzania kwalifikacji użytkownika w zakresie dostępu do systemu i żądanych zbiorów,dla wywoływania programów i tai dalej. Dodatkowy wzrost bałaganu mogą spowodować różnice w terminalach. Na przykład konsola z dalekopisem różni się zna­ cznie w wyglądzie, funkcjach i logice od konsoli z graficzni monitorem ekranowym. Niewiele można dzisiaj zdziałać w kie# ku usunięcia tych różnic w sprzęcie. - 119 -

Brak niezależności systemu podwójnie utrudnia konwersję V i aktualizację. Prawdopodobnie każdy z użytkowników zgodzi się z przedsiębiorstwem, które oświadczyło: "Nie możemy tole­ rować sytuacji, w której każdy program, zarówno wykonawczy jak i użytkownika, musiałby być modyfikowany z chwilą, kie­ dy chcemy dodać nowy dysk, nowy terminal, albo nową procedu­ rę łączności ... system wielodostępny musi izolować użytkow­ nika od specyficznych właściwości dysków, bębnów, zbiorów da­ nych, łączy transmisji oraz zdalnych terminali". Może się oka­ zać, że jedynym obecnie możliwym do przyjęcia podejściem do zagadnienia zatuszowania kaprysów systemu jest narzucenie wspólnego, jeśli nie uniwersalnego, języka rozkazowego mię­ dzy użytkownikami a resztą systemu.

3. Łatwiejszy dostęp

W końcu użytkownik instalacji wielodostępnej żąda obsługi jego szczególnych potrzeb bez rozważania oraz wchodzenia w złożone zagadnienia sprzętu i oprogramowania systemu. Na przy­ kład nie powinien on uprzednio ściśle określać umiejscowienia i wielkości zbioru, który zamierza wytworzyć. Przyczyną, dla której musi on to robić w niektórych dzisiejszych systemach jest to, iż początkowy projekt systemu nie dopuszczał dynami­ cznego rozszerzania zbiorów. Tego rodzaju oprogramowanie jest ukierunkowane na system, w przeciwieństwie do oprogramowania ukierunkowanego na użytkownika. Idealną byłaby sytuacja, w której system przydzielałby automatycznie obszary pamięci oraz tworzył strukturę zbioru gdy użytkownik po prostu zażą­ da "otwarcia" uprzednio niezdefiniowanego zbioru. W razie po­ trzeby byłaby przydzielana dodatkowa pojemność pamięci, a WSTĘPNY ZARYS CECH CHARAKTERYSTYCZNYCH Tablica 11 UŻYTKOWNIKA WIELODOST$FU

Chronometraż i tempo

1. Dosyć często zachodzi przypadek, że użytkownik wielodostępu korzysta z terminala tylko raz dziennie i to nie co dzień; ta reguła podlega jednak licznym wyjątkom dla indywidual­ nych użytkowników oraz między różnymi użytkownikami.

2. Typowy użytkownik spędza podczas każdego posiedzenia od pół godziny do godziny przy swojej konsoli; ta reguła podlega tak­ że dużym wahaniom, zarówno dla poszczególnego użytkownika jak i między użytkownikami.

3. W przybliżeniu 5% całego czasu pracy spędza typowy użytkow­

nik przy konsoli łącząc się z komputerem, podczas gdy 95% czasu pracy spędza on zdała od konsoli.

4-. Średnie tempo wprowadzania przez użytkownika informacji zazwyczaj wynosi jedno żądanie co każde pół minuty, pod­ czas gdy przeciętne tempo wyprowadzania informacji z termi­ nala wynosi zgrubsza jedną na minutę.

5. Połowę tego czasu będzie on zamieszczał nowy rozkaz, rozpo­

czynając w około 10 sekund od otrzymania kompletnego wyj­ ścia z komputera. Jedynie w stosunkowo rzadkich przypadkach będzie on czekał aż minutę zanim ponowi żądanie po otrzyma­ niu wyjścia z komputera.

6 . Stosunek czasu człowieka do czasu centralnego procesora

jest zazwyczaj rzędu jak 1 :100; oznacza to, że człowiek 121 -

Tablica 11 ciąg dalszy

poświęcając w przybliżeniu 100 sekund czasu wiąże tym jed­ ną sekundę czasu operowania komputera na programie użytkow­ nika.

Efektywność systemu

7. Użytkownicy wprowadzający zadania wymagające stosunkowo ma­ łej ilości obliczeń tracą coraz bardziej poczucie dobrej obsługi ze strony systemu, jeśli czas odpowiedzi komputera

wydłuża się powyżej 10 sekund oraz o ile wzrasta nieregular- ność i niepewność odnośnie czasu odpowiedzi komputera. Użytkownicy wprowadzający problemy wymagające dużej ilości

obliczeń tolerują dłuższe przerwy, aż do 10 minut dla naj­ większych. prac.

8. Skoro obciążenie systemu wzrasta wraz z rosnącą liczbą użytkowników, wzrasta również czas odpowiedzi, a na wyso­ kich poziomach obciążeń zarówno efektywność centralnego sys­ temu jak i wydajność użytkownika wykazują tendencję do po­ garszania się.

Różnice indywidualne

9. Komputer jest na ogół bardziej gadatliwy niż człowiek. Każ­ demu wierszowi informacji wprowadzanej przez człowieka to­ warzyszy, zrubsza mówiąc, około dwa wiersze informacji wyj­ ściowej z komputera. Nowi użytkownicy mają tendencję do większej gadatliwości. Ze wzrostem doświadczenia ukazują się bardziej zwięzłe odpowiedzi. 122 -

Tablica 11 ciąg dalszy

10. Odnosi się wrażenie, że programiści używają, przeciętnie biorąc, większych programów wynikowych oraz więcej czasu komputera niż nie-programiści.

11. Skoro centralny system "dojrzewa” , a użytkownicy nabiera­ ją doświadczenia, ujawnia się tendencja w programach wy­ nikowych, że rosną one w wielkości i złożoności, nato­ miast u doświadczonych użytkowników ujawnia się tendencji wymagania większej ilości czasu komputera oraz wymagania większego udziału w pojemności systemu. Doświadczeni użyt­ kownicy są bardziej biegli w eksploatowaniu zasobów cen­ tralnego systemu.

Źródło: H.Sackman and Michael Gold, "Time-Sharing vs. Batch

Processing", str. 6 . - 1 2 3 - struktura zbioru byłaby dynamicznie modyfikowana w oparciu o historię korzystania z niego, częstotliwości dostępu oraz rodzaju przetwarzania. Tego rodzaju wyszukane techniki zarzą­ dzania zbiorami znajdują się w zasięgu dzisiejszej technolo­ gii, lecz z powodu ich złożoności i dużego zapotrzebowania na pojemność pamięci żadna z nich nie została dotychczas wdrożona. a. Języki zastosowań

Inną drogą ułatwienia dostępu jest stosowanie języka do dialogu między człowiekiem a maszyną. Użytkownikom coraz wię­ cej udostępnia się języki ukierunkowane na zastosowania, cho­ ciaż v/ dalszym ciągu musi on w zasadzie "programować1' w każdym z tych języków. Ma to, oczywiście, miejsce dlatego, ponieważ te języki są ukierunkowane na procedurę a nie na problem. Użyt­ kownik musi określić procedurę, która gdy się według niej pos­ tępuje, wyprodukuje rozwiązanie jego problemu. Inaczej mówiąc, musi on uprzednio wiedzieć, jak rozwiązać problem. Pomimo że nad językami ukierunkowanymi problemowo dyskutuje się od lat, musimy się jednemu z nich przyjrzeć. Tak długo, jak kurczowo trzymamy się języków ukierunkowanych na procedury, moglibyśmy co najmniej oczekiwać zdolności operowania dużymi i skompliko­ wanymi programami poprzez terminale systemu wielodostępnego. Niestety, jedną z wad niektórych dzisiejszych systemów' jest to, że przewiduje się korzystanie z nich jako z egzotycznych kalkulatorów biurkowych, a nie są one zaprojektowane do wytwa­ rzania, sprawdzania i modyfikowania dużych systemów wielopro- gramowych. Są one tak długo użyteczne, dopóki rozwiązanie pro­ blemu nie wymaga złożonych programów z towarzyszącymi im duży­ mi zbiorami. - 124- -

Jak stwierdzili nasi pracownicy naukowi, wśród użytkowników, z którymi przeprowadzono wywiad, istnieje jednomyślność, że zwiększenie liczby języków jest rzeczą dobrą i konieczną. Wie- lodostęp pozwala wielkiej liczbie użytkowników uczestniczyć w dialogu człowiek-maszyna, a różnorodność języków zastosowań po­ zwala im na przeprowadzenie tego dialogu w ich własnych specy­ ficznych gwarach. Odpowiedzialność za jakieś powstałe nieporo­ zumienie nie ponosi programowanie, lecz sama dziedzina zastoso­ wań /po prostu nie może zachodzić jakaś względnie duża, logicz­ nie powiązana, wymiana informacji między fizykiem, inżynierem budowlanym oraz technikiem Sił Powietrznych - "Air Force". Od­ powiedź na pytanie: "Dlaczego nie programujemy w języku, któ­ rym mówimy?" może być obecnie w każdy wypadku wyrażona jako niezdolność do zwięzłego i łatwego zdefiniowania problemu tech­ nicznego przy pomocy tego, co jest niesprecyzowanym językiem. Próbujcie na przykąad wyrazić procedurę, która wytworzyłaby

automatycznie figurę przedstawioną na Tablicy 6 . Podzbiory ję­ zyka angielskiego wysoce wyspecjalizowane jako gwary fachowe dążą do precyzyjnego określania i wskutek tego lepiej się nada­ ją do użycia w językach zastosowań.

Względnie starym przykładem jest dziedzina zastosowań stero­ wania numerycznego. Westinghouse wkrótce zaofiaruje do sprzeda­ ży CAMP: jest to pakiet programów sterowania numerycznego ukie­ runkowany na korzystanie z terminala /nie do pracy w trybie wza­ jemnego oddziaływania/. Information NetWork Corporation ofiaro­ wuje na szerszą skalę odpłatne usługi wielodostępowe z językami przykrojonymi do indywidualnych potrzeb. Każdy z tych specjal­ nych języków jest wdrażany posiadając na zapleczu pojedynczy podstawowy język zastosowań. Podobny pakiet języków, zbudowany - 125 - w oparciu o technikę programowania słownika, zaofiaruje wkrót­ ce firma IBM. Oczywiście zarówno INC jak i IBM ponownie odkry­ ły koncepcję "makro", według której języki gwarowe można budo­ wać stosując łączenie specjalizowanych słowników z zestawem pierwotnych rozkazów następnie wiązanych w łańcuch celem ufor­ mowania dogodnych superrozkazów we właściwym dialekcie. Nie chcąc być cynicznym,stwierdzamy że wspomniana technika w swej prostszej formie była od lat z powodzeniem stosowana przez programistów w językach montujących /typu assembler/ i nie ma przyczyn, by uważać, że ta sama technika nie może być stosowa­ na z tymi samymi korzyściami w językach wyższego szczebla. Oczywiście tu koszty będą wyższe, ponieważ będzie potrzeba znacznie więcej kompilatorów celem przeszukania jednego z kil­ ku wbudowanych słowników. Każdy z wariantów powoduje zwiększe­ nie zapotrzebowania na pamięć.

Interesujące jest to, że jeden z badaczy przewiduje odżycie objaśniających procesorów języka dla zastosowań w wielodostę- pie. /Kompilatory tłumaczą wyrażenia języka na sekwencje roz­ kazów wykonywanych przez maszynę, podczas gdy program objaś­ niający symuluje bezpośrednie wykonanie wyrażeń języka źródło­ wego/ . Aktualnym przykładem tego typu programów objaśniających Jest system JOSS eksploatowany w firmie RAND oraz system DISCOM, znajdujący się w fazie eksperymentu jako element wie­ lodostępnego ośrodka obliczeniowego w Argonne. b. Języki rozkazowe

Nasz wywiad z użytkownikami i projektantami ujawnił niezbyt zaskakujące żądanie: zapotrzebowanie na prostszy język sterowa­ n a posiadający taką strukturę rozkazów, przez którą użytkownik - 126 - uzyskuje płaszczyznę styku ze wszystkimi innymi programami sys­ temu i użytkownika. Jednym ze sposobów uproszczenia takiego ję­ zyka jest wstępne ustawienie wszystkich parametrów wyrażeń ro­ zkazowych w każdej instalacji /terminala/ na wartość: "brak". Wówczas jeśli użytkownik ominie parametry w jakimkolwiek wyra­ żeniu, system podstawia wcześniej określone wartości w brakują­ ce pozycje, jak na przykład ma to miejsce w przypadku systemu operacyjnego MASTER w komputerach Control Data 3300 i 3500. Innym sposobem jest zapewnienie zdolności wytwarzania "makro- rozkazów", znowu wewnątrz samego języka rozkazowego. Wówczas I użytkownik i projektanci mogą zdefiniować takie sekwencje rozkazów, które przewiduje się że będą często używane. Mogą oni z każdej takiej sekwencji ustanowić nowy rozkaz. Tak samo jak w przypadku języków zastosowań, koszt dopuszczenia makro- rozkazów jest zależny od dodatkowej pamięci, niezbędnej do ich przechowywania łącznie z ich oznaczeniami, od dodatkowego cza­ su potrzebnego do przeszukiwania dłuższej listy legalnych nazw rozkazów oraz od dodatko?/ego czasu i pojemności pamięci potrze­ bnych dla rozwinięcia makrorozkazu na jego elementarne rozkazy celem dalszego przetwarzania.

c. Dokumentacja

Dostęp do systemu oznacza także roboczą wiedzę o systemie. Do takiego zaznajomienia się może dojść albo przez szkolenie za pomocą systemu, lub za pomocą instruktora, albo - co jest znacznie powszechniejsze - poprzez zapoznanie się z dokumenta­

cją systemu. Należy tu stwierdzić, że sama dokumentacja rzadko jest w pełni zadawalająca. - 127 -

"Trzy lub cztery godziny instruktażu wystarczą by zdo­ być ogólne pojęcie o uproszczonych językach stosowa­ nych w większości systemów wielodostępnych, lecz nie wystarczą by się nauczyć głębszych aspektów tych języ­ ków. Pomoc w programowaniu jest zapewniana drogą tele­ foniczną, lecz trudno w ten sposób sprawdzać programy i usuwać z nich błędy. Można mieć nadzieję, że podręcz­ niki programowania powinny zapewnić potrzebną pomoc w tym zakresie. Przeglądałem te podręczniki dla czterech różnych systemów wielodostępnych i zaledwie jeden mógł­ bym zaklasyfikować jako odpowiedni. ... Żaden z nich nie zawierał całości podstawowych informacji uproszczo­ nych językach tych systemów. Ani jeden z podręczników nie zawierał ... alfabetycznego indeksu" ^.

Jeden ze sprzedawców usługowego wielodostępu, Call-A-Computer, polecił swoją dokumentację dla użytkownika całkowicie ponownie napisać nieprogramiście usiłując w ten sposób wyjść lepiej na­ przeciw potrzebom swoich użytkowników. Odgłosy od użytkowników na temat tego nowego materiału wskazują na to, iż z pewnością opłaciło się ponieść ten wysiłek.

Dostęp priorytetowy i jego rozliczanie

Dostęp priorytetowy oznacza "dostanie się" do systemu, kiedy jest on zajęty, ściśle określonej grupy priorytetowych użytkowni­ ków. Ważność jest tu przypisywana użytkownikowi, który po prostu nusi uzyskać w każdej chwili dostęp do systemu by z kolei zado-

'l Bryan Wikinson, "Some Problems with Time-Sharing", Datamation, May 1968, str. 4-5. - 128 - wolić swoich klientów. Priorytet może być przyznawany jakiejś poszczególnej funkcji /wszyscy analitycy papierów wartościo­ wych mają stały dostęp/, albo poszczególnemu szczeblowi /wszys­ cy wiceprezydenci mają stały dostęp/. Albo do tego celu może być przeznaczony osobny terminal w "wydzielonym” systemie, po­ przez który jest zagwarantowany priorytetowy dostęp. Dostęp priorytetowy jest problemem, który został częściowo rozwiązany przez stosowanie algorytmów planujących, uwzględniających prio­ rytety zewnętrzne. Niemniej jednak ostateczne przyjęcie jakiej­ kolwiek struktury priorytetów leży w ręku użytkownika, który musi płacić za obsługę i będzie albo zadowolony, albo będzie utyskiwać.

Odłóżmy na chwilę sprawę priorytetów. Jest zrozumiałe, że każdy z użytkowników systemu wielodostępnego płaci bezpośrednio lub pośrednio za następujące pozycje:

Czas centralnego procesora; Użytą pojenmość-czas pamięci głównej; Użytą pojemność-czas pamięci dodatkowej i trzeciorzędnej; Czas urządzeń zewnętrznych; Czas kanału We/Wy; Czas łączy transmisji i multipleksora; Czas terminala; Koszty utrzymania w dobrym stanie /konserwacji/ i koszty ogólne; Koszuy oprogramowania, włączając pakiety koncesjonowane. - 129 -

Użytkownik płaci bezpośrednio za te pozycje, dla których system potrafi pomierzyć aktualne wykorzystanie. Ażeby system się opła­ cił, pozostałe pozycje muszą obciążać pośrednio całą zbiorowość użytkowników. Jest pewne, że każda procedura rozliczania, która usiłuje uwzględnić wszystkie wyżej wymienione czynniki, może urosnąć do takich rozmiarów, iż stanie się poważną częścią fun­ kcji ogólnych systemu. Dlatego, jak już wcześniej wspominaliś­ my, dla obecnie dostępnego sprzętu należy wybrać jakiś kompro­ mis między skomplikowaniem rozliczania a przybliżeniem do rze­ czywistości.

Im bardziej procedura rozliczania może się zbliżyć do pomierze­ nia dokładnego zużycia wszystkich zasobów systemu, tyn bardziej sprawiedliwy będzie koszt ponoszony przez użytkownika, który jest wyrażany opłatą za bieżąco świadczone usługi.

Niektóre ze współczesnych usług wielodostępnych opierają opłaty tylko na wykorzystaniu centralnego procesora /jak na przykład Allen-Babcock/ lub na czasie podłączenia terminala do systemu /Bolt, Beranek and Newman, Data NetWork, IBM Gall 360/3ASIC/. | takich wypadkach, w których opłaty opierają się na czasie pod­ łączenia terminala, jest sprawą jasną, że użytkownik, który pra­ cuje szybko przy swoim terminalu i uzyskuje dużą ilość wykona­ nych obliczeń, otrzymuje więcej za swoje pieniądze mierząc w kategoriach wyjścia z komputera niż użytkownik, który często się zastanawia nad tym co robić dalej.Dla pierwszego użytkowni­ ka jest korzystne by należał do usług o takich jednolitych opła­ tach. Drugi użytkownik powinien należeć do usług, za które opła­ ty są oparte na bardziej sprawiedliwych zasadach, gdyż w ten - 130 - sposób będzie on bardziej bliski ponoszenia opłat za rzeczywis­ te wykorzystanie zasobów systemu. Wśród przedsiębiorstw usługo­ wych, które obciążają za pewnego rodzaju połączenie czasu korzy­ stania z centralnego procesora, czasu przyłączenia terminala oraz korzystania z czasu i pojemności pamięci dodatkowej, znaj­ dują się między innymi: Applied Logic Corporation, Call-A-Com- puter, Com-Skare, Dial-Data, General Electric, ITT Data Servi­ ces, Interactive Data Services /White, Weid/, Mc-Donnell Auto­ mation, Rapidata oraz Tymshare.

Koszty priorytetu wchodzą ponownie na pierwszy plan, kiedy użytkownik musi mieć zagwarantowany dostęp do systemu bez wzglę­ du na stan jego obciążenia. Tutaj opłata zwykle jest powiązana z hierarchią priorytetów. Żądając natychmiastowego dostępu, użyt­ kownik musi być gotów ponieść koszt ewentualnego usunięcia nie­ których innych użytkowników; jego zadanie lub zadania prioryte­ towe będą przypisane do jednej z kolejek wysokiego szczebla w hierarchii wielorakich kolejek. /Priorytet nie ma żadnego znacze­ nia w prostej taktyce planowania cyklicznej obsługi zadań, ponie­ waż wszyscy użytkownicy w kolejce posiadają jednakowy priorytet/. Ponieważ, jak dotychczas, nie jest określona właściwa wartość dostępu do zasobów systemu, równolegle do hierarchii kolejek mo­ żna zbudować ruchomą skalę opłat, tak aby zadania o wysokim prio­ rytecie były rozliczane według wysokich stawek za pierwszeństwo obsługi, a zadania o niskim priorytecie - według niskich stawek za rzadszą obsługę.

Rozliczanie i opłaty za priorytet w ostatnich kilku latach zwracają coraz większą uwagę, ponieważ coraz więcej organizacji styka się z tym zagadnieniem. Ostatnio ukazał się doskonały - 131 - przegląd tego problemu , który proponuje trójwymiarową siatkę opłat, opartą ma wielkości wykorzystania zasobów, na względnym obciążeniu systemu oraz na pewnej miarze wartości lub użytecz­ ności zastosowania dla użytkownika. Jeden z wniosków wydaje się być niewątpliwy: pomiar zasobów systemu, taktyki nadawania priorytetu oraz teoria rozliczania musi byv. i stanie się bar­ dziej złożona jak tylko użytkownicy zaczną sobie lepiej uświa­ damiać użyteczność komputera. Tendencja w kierunku złożoności jest już widoczna w dzisiejszych systemach wielodostępnych, które obliczają opłaty na podstawie ’’formuły". Ma to miejsce w przypadku systemu MLTLTICS, nowo zainstalowanego systemu UNIVAC 1108 w JPL i w innych przypadkach.

C. NIEZAWODNOŚĆ

Niezawodność jest jednym z najbardziej oczywistych problemów we współczesnych systemach wielodostępnych. Awarie systemów wys­ ypują stosunkowo często, szczególnie w początkowych miesiącach eksploatacji, kiedy to awarie mogą występować kilka razy dzien­ nie. Po usunięciu usterek częstotliwość występowania awarii ule­ ga zmniejszeniu do jednej na tydzień lub mniej. Chociaż nawet użytkownik może tego natychmiast nie odczuje, wynikiem takich awarii może być utrata danych przechowywanych w systemie i zbio­ rach użytkownika. Sprzęt łączności czasami zniekształca dane. Sprzęt i oprogramowanie, które w laboratorium były "w pełni sprawdzone", okazują się nieoperatywne lub co najmniej niewydaj- ne w warunkach eksploatacji.

1 Daniel S.Diamond and Lee L.Selwyn, "Considérations for Compu­ ter Utility Pricing Policies", Proceedings, Association for Computing Machinery, 19 6 8 , str. 189-20Ô. - 1J2 -

1. Oprogramowanie

Najważniejszym zagadnieniem w dyskusji nad niezawodnością jest oprogramowanie systemu. Program wykonawczy systemów wielo­ dostępnych jest jednym z najbardziej skomplikowanych programów, jakie można napisać dla komputera« Świadczą o tym opóźnienia w dostawie, zmniejszone zdolności wykonawcze gdy dostawa następu­ je w terminie oraz problemy wydajności podczas bieżącej eksplo­ atacji. Złożoność systemu, jak to już wcześniej zaznaczono, pro­ wadzi do trudności w usunięciu błędów, któro są dalej sprzężone z takimi czynnikami jak:

Terminale We/Wy oraz łącza często muszą być symulowane,'po­ nieważ są one niedostępne aż do momentu instalacji.

W systemach wieloprogramowości i wieloprzetwarzania program wykonawczy może być sprawdzony tylko w małym stopniu aż do momentu, kiedy rozpocznie się rzeczywista integracja oraz sprawdzanie systemu.

Z powodu występowania w systemie w sposób przypadkowy wielo­ rakich jednoczesnych ciągów zadań, sekwencje zdarzeń są nie do przewidzenia i dlatego nie mogą być odtworzone, gdy wys­ tąpi błąd.

Po zainstalowaniu i "doszlifowaniu" system nie może zostać wyłączony z powodu poszukiwań nieuchwytnych błędóv?.

Zawikłana infrastruktura łączności i sterowania między pod­ programami programu wykonawczego prawdopodobnie odzwiercie­ dli wniesione poprawki przez zmiany w wydajności w dowolnych miejscach systemu.

-i James Martin, Design of Real-Time Computer Systems /Englewood Cliffs: Prentice-Hall, Inc.,1907/, str. 571-373. - 133 «

Stąd wynika, ż© usuwanie błędów jest procesem sprawdzania podprogramu, podsystemu oraz na koniec systemu i sprawdzania po zainstalowaniu. Symulacja jako narzędzie do usuwania błę­ dów jest użyteczna aż do pewnego momentu. Narzędzie to musi być wolne od błędów i nawet wówczas może się zdarzyć, że nie jest ono w stanie wiernie symulować ostatecznego składnika lub środowiska.

"Tradycyjnie dla skontrolowania i przebadania systemów wielo-terminalowych przyjęto metodę "biegu z przeszko­ dami" na miejscu zainstalowania ... tradycyjnym podej­ ściem jest wykonanie tej pracy jak najlepiej z małą liczbą terminali. Następnie system instaluje się u klienta z większą liczbą terminali, lecz prawdopodobnie nie maksymalną. Usuwanie błędów i sprawdzanie przepro­ wadza się na miejscu u klienta tak długo aż jest on zadowolony z jakości wykonania systemu ... oczywistym rozwiązaniem jest tu wykonan:'e prawidłowo pracy na miej­ scu zainstalowania. Jest to wymaganie pierwszoplanowe. Systemy wielodostępne muszą być wyważone odnośnie wyma­ gań ich zasobów /pamięć, pojemność dysków, dostęp do kanałów danych itd./ tak samo precyzyjnie jak koło za- macnov. e maszyny w fabryce. Symulacja całego systemu jest skutecznym narzędziem dla sprawdzania i usuwania błędów we wczesnych etapach planowania i projektowania".^

Nawet rozległa kontrola przed zainstalowaniem nie zagwaran­ tuje wolnego od błędów systemu. Skoro system już zostanie za­ instalowany i eksploatowany, ścieżki logiczne systemu zosta-

E.W.Pullen and D.F.Shuttee, "MUSEs A Tool for Testing and Debugging a Multi-Terminal Programming System", Proceedings, 22§Q,SPring Joint Computer Conference. str. Ś-91 /uwypuklono” -agadnienie/. “ “— ~~ - 134 - ną wypróbowane "w ogniu" oraz w kombinacjach, które nie mogły­ by być wyczerpująco przebadane w czasie sprawdzania.

Jeden ze sprzedawców przyznał bez skrępowania, że system można najlepiej wypróbować dopuszczając doń rzeczywistych, żywych użytkowników, ponieważ stawiają oni systemowi żądania i korzys­ tają z niego w różne sposoby, których być może projektanci nie przewidyv?ali. Istnieje większe prawdopodobieństwo, iż przy­ padkową "awarię" systemu spowoduje naiwny użytkownik niż zręcz­ ny programista systemowy, który celowo szuka okazji do uszko­ dzeń systemu /w ramach jego sprawdzania/. Programista systemowy przyjmuje pewne rzeczy jako same przez się zrozumiałe oraz robi założenia oparte na znajomości przedmiotu, podczas gdy użytkow­ nik nie rozpoczyna pracy z tym samym zasobem wiedzy lub wyro­ bionych sądów.

Jednym z narzędzi, które byłoby pomocne w rozwiązaniu prob­ lemu niezawodności oprogramowania, mógłby być język wyższego szczebla specjalnie zaprojektowany dla budowy programów syste­ mowych. Byłby to "kompilator systemowy", analogiczny do "kom­ pilatora kompilatorów", który opracowano w ciągu kilku ostat­ nich lat. Taki język, wśród innych przymiotów, powinien posia­ dać zdolność definiowania tablic systemu oraz odpowiednich wy­ rażeń dla odwoływania się i manipulowania tymi tablicami. Pewien krok w tym kierunku reprezentuje język JOVIAL ze swymi operatorami "bitowymi" i "bajtowymi" oraz ze swymi zdolnościa­ mi opisywania bazy danych, jak również język QSPL w Berkley. Tego rodzaju język powinien zmniejszyć liczbę wyrażeń, jakie mają być przebadane w czasie sprawdzania, powinien umożliwić zatrudnienie zmniejszonej liczby osób przy rzeczywistym wdra­ - 135 -

żaniu systemu, oraz powinien pomóc przyspieszyć tworzenie opro­ gramowania systemu. Wszystkie te momenty, o. ile.zostaną urzeczy­ wistnione, powinny ułatwić rozwiązanie problemów powstałych przy projektowaniu, wytwarzaniu i sprawdzaniu docelowego systemu«,

Innym narzędziem dla sprawdzania systemu jest obecnie badany pod nadzorem Agencji Przodujących Projektóv? Badawczych /Advan­ ced Research Projects Agency, w skrócie: ARPA/ Departamentu Ob­ rony Stanów Zjednoczonych A.P. tzw. program zatwierdzający. Te­ go rodzaju program ma za zadanie badać strumienie logiczne sprawdzanego systemu, przyjmując iź jest on szeregiem “logicz­ nych twierdzeń", któro albo można matematycznie udowodnić, albo nie. 0 ile wszystkie logiczne twierdzenia systemu dają się udo­ wodnić , to wówczas system winien być zatwierdzony jako wolny od błędów logicznych. Jeśli którekolwiek z twierdzeń zawierałoby usterki logiczne, to wówczas nie powiodą się próby systemu ze zidentyfikowaną mylną sekwencją zdarzeń logicznych. Oczywiście, sprawdzanie niezawodności w rzeczywistym środowisku systemu po­ winno w dalszym ciągu mieć miejsce, lecz wiele tzw. prostych błędów byłoby wyłapanych przez program zatwierdzający. Sam pro­ gram zatwierdzający musi oczywiście być wolny od błędów.

2. Sprzęt

Każda generacja komputerów przedstawia sobą ulepszoną nieza­ wodność części składowych. Mimo to podwajanie części składowych, a nawet całych systemów, jest stale jeszcze uważane jako naj­ lepsza metoda uniknięcia braku obsługi ze strony systemu w wy­ padku wystąpienia awarii. "Jeśli się uznało, że nigdy nie moż- ba być odpowiedzialnym za wstystkie nieprzewidziane przypadki, - 136 - to wówcza3 przy projektowaniu centralnego procesora, jak również innych części systemu, należy uwzględnić minimalizację strat w wypadku wystąpienia awarii* Jest to raczej zdolność osłabiania skutków awarii a nie zabezpieczenia przed awaria* W tym przypad­ ku część składowa powodująca awarię zostaje wyizolowana z syste­ mu. Również każda część programu wykonawczego systemu, która zostaje uszkodzona, podlega ponownemu załadowaniu. W tym pro­ cesie muszą być zminimalizowane uszkodzenia, jakich doznają A czynne programy” .

Obecna technologia sprzętu zapewnia pewne środki protekcji pamięci. Programy wykonawcze systemu zapewniają dodatkowe zabez­ pieczenia w formie okresowych punktów powrotu oraz "fotografii" systemu dla jego regeneracji. Ma to na celu zmniejszenie strat czasu i danych w wypadku, gdy konieczna jest regeneracja. W ty­ powych przypadkach taka możliwość restartu systemu od punktu powrotu regeneruje system z awarii przez "powrót" do momentu w czasie przed awarią, kiedy to była znana i została zapisana os­ tatnia prawidłowa "fotografia" systemu oraz jego stan. 0 ile, jednakże, procedura regeneracji nie jest starannie opracowana, to zbiory dany,ch systemu mogą w wyniku jej działania zostać beznadziejnie zagmatwane.

W niektórych, jeśli nie w większości, systemach wielodostęp­ nych zadaniem podlegającym samoczynnej regulacji jest ciągły stan pogotowia w stosunku do potencjalnych niesprawności sprzę­ tu. W tym celu stosuje się procedury diagnostyczne, uruchamiane możliwie jako programy drugorzędne - o niskim priorytecie.

A Thomas N.Pyke, Jr., "Time-Shared Computer Systems", Advances in Computers. Franz L. Alt, ed., Vol. 8 /New York: Academic Press, /t9677* str. 16. - 137 -

Programy te badają marginalną sprawność części składowych sys­ temu i usiłują wyizolować przypadki niesprawności, o których zawiadamiają operatora za pomocą odpowiednich komunikatów. Większość użytkowników zgadza się z twierdzeniem, że potrzebne są bardziej wyróżniające procedury diagnostyczne, najlepiej takie, które łącznie z programem wykonawczym koordynowałyby strumienie informacji w systemie tak, by mogły one omijać usz­ kodzone elementy w wypadku gdy istnieje możliwość wyboru kilku dróg strumienia informacji.

Poza centralnym systemem sprzętu drugim głównym źródłem problemów niezawodności jest system łączności. Dane i komuni­ katy mogą zostać przekłamane w trakcie przesyłania z powodu zakłóceń na łączach, lub z powodu - jak poprzednio - niespraw­ nego działania części składowych. By zmniejszyć tego rodzaju efekty stosuje się różne układy wykrywania i korekcji błędów. Tradycyjne mechanizmy kontroli parzystości nie zawsze są odpo­ wiednie poza centralnym procesorem komputera, ponieważ inny sprzęt w systemie może stosować niezgodne układy parzystości, lub w ogóle ich nie używać. Połączone techniki sprzętu i opro­ gramowania, jak na przykład stosowane pełne łącza dupleksowe pracujące z weryfikacją zwrotną przekazywanych sygnałów, wyda­ ją się sprawnie pracować w systemach z rozproszonymi koncentra­ torami łącz, w których małe komputery kierują stykiem z termi­ nalami i zapewniają łączność z bardzo dużym centralnym kompu­ terem. Tego rodzaju podejście pozwala na umieszczenie w kon­ centratorach łączy większości działalności ogólnej związanej

2 kierowaniem i kontrolowaniem komunikatów, w ten sposób uwal­ niając czas centralnego komputera dla rozwiązywania problemów. - 138 -

Bez koncentratorów łączy /które równie dobrze mogą wykonywać inne funkcje/ centralny komputer wykorzystując te połączone techniki układowe i programowe zapłaciłby znacznym wydatkiem czasu na zarządzanie łącznością z terminalami.

Według wszelkiego prawdopodobieństwa, w żadnym z systemów wielodostępnych nigdy nie zostaną w pełni usunięte wszystkie błędy. ?o prostu nigdy nie zostaną przebadane wszystkie możli­ we warunki obciążenia, przepływu danych, liczby użytkowników, rodzajów zastosowań i tak dalej. Tak samo, system nigdy nie może zostać w pełni unieruchomiony ponieważ “Im bardziej wcho­ dzimy w systemy pracujące na bieżąco oraz w systemy o bezpoś­ rednim dostępie, tym bardziej komputery upodobniają się do telefonu lub energii elektrycznej: użytkownik nie jest w sta- nie przetrzymać przerwy w obsłudze ..." .

D. POUFNOŚĆ

Trzeci Nowy Międzynarodowy Słownik Webster'a podaje następują­ ce definicje /Webster's Third New International Dictionary/:

Poufne: Zamierzone lub ograniczone w wykorzystaniu dla ściśle określonej osoby, lub grupy, lub kategorii osób; niedostępne dla ogółu. e Poufność: Odosobnienie, odizolowanie lub niezależność od nieupoważnionego wglądu lub obserwacji.

A zatem problem poufności polega na ograniczeniu dostępu do systemu wyłącznie dla grona upoważnionych użytkowników, na

A Pier A.Abetti w dyskusji panelowej pt.: "Have We Barely Scratched the Surface?", The General Electric Forum, Winter 1967-68, str. 28. - 139 - ochronie informacji /programów i danych/ przed zarówno zamie­ rzonym jak i niezamierzonym dostępem ze strony innych użytkow­ ników /lub ze strony operatorów systemu/. Problem ten polega także na zmniejszeniu wielkości straty lub rozmiarów zniszcze­ nia informacji przez awarię systemu lub nieprawidłowe postępo­ wanie ludzi. Aspekty awarii systemu omawialiśmy pod tematem niezawodności.

1. Dostęp upoważniony

Najbardziej powszechną metodą ograniczenia dostępu jest przydzielanie cechy tożsamości oraz hasła, które użytkownik ma stosować w czasie procedury zgłaszania się do systemu. W codziennej praktyce oznacza to tylko, że ktoś zna odpowiednie hasło. W rzeczywistości może się okazać, że wielokrotnie uży­ wane ha3ła przekreślą pożądaną poufność. Zaproponowano kilka metod celem polepszania tej sytuacji. Między innymi wchodzą tu w rachubę? urządzenia rozpoznawania wzorów, które mogą rozpoznać odciski palców; kody uzależnione od czasu, które zmieniają hasło użytkownika po upływie pewnego czasu; osobis­ te klucze dostępu do pewnych informacji; oraz urządzenia roz- A poznawania głosu . Do dodatkowych środków ochrony przed nie­ upoważnionym korzystaniem z systemu można zaliczyć fizyczne ograniczenie dostępu do terminali /na przykład w przypadku usług odpłatnych tylko upoważnieni użytkownicy będą posiadali terminale w swoich biurach/ oraz przeprowadzaną przez system weryfikację zgłaszających się użytkowników, który stwierdza czy użytkownik posiada zezwolenie na korzystanie z danego terminala. Użytkownik ze swej strony chce mieć pewność, że

"The Next Generation", Datamation. January 19&7, str. 33 - 140 - nie przesyła danych do nieupoważnionej konsoli. Być może, że dla tego celu potrzebna byłaby identyfikacja procesora, wcho­ dząca w skład procedury zgłaszania się do systemu.

2. Ochrona informacji

Od chwili, kiedy dane zostaną wprowadzone do systemu, och­ rania się je przez wykrywanie i zabranianie nieupoważnionego do nich dostępu, jak również zabezpiecza się je przed przy­ padkowym lub zamierzonym zniszczeniem.

Podany dalej wykaz przedstawia w streszczeniu zagadnienie 1 ochrony informacji przed nieupoważnionym dostępem:

Rodzaje zagrożeń poufności informacji /wyciąg/

Istota Skutki infiltracji Środki

Przypadkowa Złe funkcjonowanie kom­ Zastrzeżona infor­ putera; błędy użytkow­ macja wyprowadzana ników; niepsrawdzone na niewłaściwych programy. terminalach, wy­ drukach itd. Rozmyślna Podłączanie się do prze­ Ujawnienie zainte­ /bierna/ wodów; przechwytywanie resowania użytkow­ przy pomocy indukcji nika rodzajami in­ elektromagnetycznej, formacji; ujawnie­ badanie kopii wydruków nie zawartości in­ itd. formacji.

H.E.Petersen and R.Turn, "System Implications of Information Privacy” , Proceedings. 1967 Spring Joint Computer Conference» str. 291-292: ------141 -

/ciąg dalszy tablicy ze strony 140/

Istota infiltracji Środki Skutki

Rozmyślna Wkraczanie do zbiorów? przez: Ujawnienie łub /czynna/ ''Wertowanie” /uzyskanie pra­ modyfikacja wowitego dostępu celem zada­ ściśle określo­ wania nieupoważnionych py­ nej informacji tań/; w wyniku infil­ tracji. "Podszywanie 3lę” /uzyskanie tożsamości i/lub hasła innego uży tkownika/; "Działalność między wierszami” /korzystanie z terminala w mo­ mentach, gdy prawowity użyt­ kownik przerywa pracę/; "Penetracja z podstawianiem” /przechwytywanie łączności prawowitego użytkownika i podstawianie informacji/; Inne środki /przy pomocy pro­ gramistów systemowych, opera­ torów, personelu utrzymujące­ go - konserwatorów itp./„

Jak widać z powyższego wykazu, problem ochrony informacji przed wtargnięciem dotyka wszystkich aspektów systemu: sprzę­ tu zdalnego, sieci łączności, sprzętu centralnego, oprogramo­ wania systemu oraz programów użytkownika, a także uczciwości praktycznie biorąc całego personelu systemowego. Wydaje się Wysoce nieprawdopodobne by kiedykolwiek można było opracować system, który nie dałoby się spenetrować; jak przekonaliśmy - 142 - się w rozdziale III, najlepszą rzeczą, jaką współczesna tech­ nologia oferuje w tym zakresie, jest w zasadzie taktyka zamy­ kania rzucających się w oczy szczelin, przez które mogłaby przeciekać informacja /protekcja pamięci, prymitywne kontro­ lowanie dostępu, niezabezpieczenie fizyczne itp./ dająca nie­ wielką nadzieję - przynajmniej dla krótkich przebiegów - na ochronę przed określonym i znanym infiltratorem. Przyjmując taką pesymistyczną postawę przedkładamy nod rozwagę ostatni a wykaz środków dla zwiększenia ochrony informacji:

Program wykonawczy musi wykonywać bez wyjątku wszystkie operacje wejścia/wyjścia, włączając odczyty zegara i łączność z konsolą.

Program wykonawczy musi być pieczołowicie zaprojektowany by ograniczyć liczbę krytycznych /podatnych na błędy/ kodowań; procesory przerwań muszą być zatwierdzone jako wolne od błędów dla wszystkich możliwych wejść i ozaśów.

Program wykonawczy musi być odpowiednio sprawdzony. Nie­ które jego części muszą rozmyślnie i okresowo naruszać, powiedzmy, protekcję granic pamięci, by weryfikować właś­ ciwe działanie systemu.

Program wykonawczy musi utrzymywać programy użytkownika w pewnych granicach gdy są one wykonywane.

Reguły zabezpieczania nie mogą być zawieszone v: trakcie usuwania błędów lub sprawdzania programów*

A Bernadrd Peters, ’’Security Considerations in a Multi-Progra- mmed Computer System” , Proceedings, 1967 Spring Joint Compu­ ter Conference, str. 285-286. " - 145 -

Badanie wskaźników zabezpieczenia musi być niezawodne. Wskaźnik jednobitowy jest nie do przyjęcia już choćby dlatego, że zwykły błąd parzystości unieważnia wskaź­ nik /szczególnie w przypadku, gdy program wykonawczy nie jest świadom tego iż wskaźnik nie jest już prawid­ łowy/.

S. ZARZĄDZANIE DANYMI

W kontekście systemów wielodostępnych uwidaczniają się czte­ ry aspekty problemu zarządzania danymi /czyli kierowania prze­ pływem danych/: wspólne zbiory dla wielu użytkowników; bardzo duże zbiory dla poszczególnych zastosowań; łączność i współwy- mienność /zgodność/ między zbiorami; oraz techniki utrzymywania i odzyskiwania /regeneracji/ zbiorów. Zarządzanie danymi jest przedmiotem godnym osobnych rozważań i dlatego inne sprawozdania Ptogramu Badawczego Diebolda szczegółowo zajmują się tym zagad­ nieniem. Tutaj zajmujemy się tymi aspektami problemu zarządza­ nia danymi, które są szczególnie kłopotliwe w środowisku syste­ mów wielodostępnych - chociaż nie ograniczają się tylko do tego środowiska.

1. Wspólne zbiory

Około roku temu na Konferencji Kierownictwa BEMA Charles W. Adams oświadczył, co następuje:

"Istnieje szeroko rozpowszechnione rozumowanie, że w wielodostępie największą wagę posiada udział w ary­ tmetycznych i logicznych zdolnościach komputera ... - 144 -

Znacznie ważniejszym aspektem wielodostępu, szczegól­ ni e z punktu widzenia działacza gospodarczego, jest to, iż pozwala on na wspólne jednoczesne korzystanie ze zbiorów wielu użytkownikom. Przede wszystkim zna­ czenie mają zalety ekonomiczne wspólnego korzystania ze zbiorów; wysoką wartość ekonomiczną posiada bez­ pośrednio współpracujące wyposażenie do przechowywa­ nia informacji. Jednakże często jeszcze większe zna­ czenie posiada zdolność scentralizowania i ujednoli­ cenia danych dotyczących całej organizacji. Dane muszą być stale aktualne, a jednak zawsze dostępne, by spro­ stać potrzebom jednostek w organizacji nawet gdy jej struktura jest zdecentralizowana".

Tam,gdzie użytkownicy wzajemnie oddziaływają na to same zasto­ sowania, bazę danych , oraz na system zbiorów, zarządzanie zbio­ rami w systemie jest znacznie bardziej złożonym problemom niż tam, gdzie wielu użytkowników oddziaływaje na niezależne zasto­ sowania. W przypadku zastosowania, w którym chodzi o zapytania i wyszukiwanie informacji - to znaczy tam, gdzie wspólny zbiór jest tylko odczytywany - problem sprowadza się zazwyczaj do dziedziny toorii kolejek. Zapytania użytkowników muszą po pros­ tu oczekiwać w kolojce na dostęp do zbioru /co podlega wyjątkom w zależności od priorytetu oraz jest zależne od techniki dostę­ pu/. Z punktu widzenia projektanta systemu sprawa nie wygląda tak prosto, gdy w jakimś zastosowaniu' w grę wchodzi aktualiza­ cja przez użytkownika informacji zawartej w zbiorze, kasowanie

A "News Roundup", Modern Data Systems. February 1968, str. 14. - 145 - starych danych, zamieszczanie nowych danych, modyfikacja aktual­ nych danych. Przy założeniu, że każdy z użytkowników, gdy zadaje pytanie, żąda informacji z ostatniej chwili, jedyną obecnie wy­ konalną metodą zapewnienia takiej informacji jest wyłączenie wszystkich zapytań odnoszących się do właśnie aktualizowanego rekordu lub zbioru. Takie zapytania muszą czekać, aż zostanie zakończony proces aktualizacji przetwarzanych rekordów danych. /Gdy w rachubę wchodzą wielorakie zbiory, to jak zobaczymy, pro­ blem jest jeszcze poważniejszy/. Rozwiązanie tego problemu przez wyłączenie pewnych zapytań nie jest złe i prawdopodobnie pozos­ tanie jedynym możliwym do przyjęcia rozwiązaniem mechanizmu uaktualniania wspólnych zbiorów.

Sednem problemu wspólnych zbiorów jest niepewność odnośnie wieku i ważności informacji. Przypuśćmy, że użytkownik A przed­ stawia zapytanie i wyszukuje dane X, Podczas gdy użytkownik A bierze pod uwagę dane X, użytkownik B wprowadza jakąś transak­ cję, która dane X zmienia na dane Xt Zwykle użytkownicy A i B bezpośrednio nic nie wiedzą o swojej działalności i dlatego użytkownik A znajduje się wówczas w sytuacji, w której podejmu­ je pewn9 decyzje w oparciu o informacje, które - bez jego wie­ dzy - straciły-na wartości, a być może stały się całkowicie bezużyteczne. Jedynym wyjściem z tego kłopotliwego położenia, o którym nic nie wiemy, jest by system wskazał użytkownikowi A iż jego zapytanie zostało unieważnione. Wymaga to, by system był przez cały czas "świadom” , którymi danymi użytkownik się interesuje /opierając się na ostatnim zapytaniu/ i by albo wys­ iał automatycznie nową informację do każdego użytkownika, który otrzymał obecnie już przestarzałe dane, albo by wysyłał alarm żądający od tych samych użytkowników ponowienia zapytania. - 146 -

W rzeczywistości jest to tylko częściowe rozwiązanie. Rozwiązu­ je ono jedynie problem zapytań, które system otrzymał w ostat­ niej chwili. Jak wygląda ta sprawa dla użytkownika, który przedstawił systemowi zapytanie pół godziny temu, następnie ko­ lejno zadał kilka dalszych zapytań /przy czym w międzyczasie miało miejsce podjęcie pewnego rodzaju decyzji lub rozwiązanie problemu/ i obecnie część zbioru, do którego skierował zapyta­ nia przed 30 minutami, przechodzi modyfikację? Czy to oznacza, że cała jego działalność w ciągu ostatniej pół godziny zostaje unieważniona? Czy system powinien mu zwrócić uwagę, że w wyniku wcześniejszego zapytania otrzymał dane obecnie już bezużytecz­ ne? Czy system z tego powodu powinien nawet zachowywać historię zapytań każdego z użytkowników? By odpowiedzieć na te pytania należy przeprowadzić ocenę wartości samej informacji«/W rozdzia­ le V bada się to zagadnienie/. Te aspekty problemu wspólnych zbiorów z pewnością zależą od istoty zastosowań, lecz wydaje się, że nikt bezpośrednio nie przedstawiał tego problemu. Suge­ rowałoby to iż nie jest to prawdziwy problem, albo że nie na­ tknięto się nań zbyt często by go wyłonić. Odnosimy wrażenie, że zachodzi ten ostatni przypadek, oraz oczekujemy, że w ciągu najbliższych pięciu lat nabierze on rozgłosu skoro tylko wejdą w życie bardziej wyszukane systemy wspólnych zbiorów.

2. Bardzo duże zbiory

Ogólną niedomogą większości dawniejszych systemów wielodos­ tępnych była niezdolność do tworzenia i manipulowania bardzo dużymi zbiorami danych. Na przykład obsługa wielodostępna fir­ my General Electric początkowo ograniczała wielkość zbiorów użytkowników do 6.144 znaków, świeższa wersja zezwalała na co - 147 - najmniej dv/a razy większą pojemność pamięci. Jednakże nawet systemy, które pozwalają na niezwyczajną /według obecnych norm/ pojemność zbiorów dla jednego użytkov7nika - rzędu, powiedzmy, miliona znaków - będą daleko za małe w stosunku do narastają­ cych potrzeb. Towarzystwa naftowe już w tej chwili utrzymują nadzwyczaj wielkie zbiory danych o ujęciach ropy naftowej, a towarzystwa ubezpieczeniowe korzystają z olbrzymich zbiorów danych dotyczących ich klientów. Ściśle mówiąc, jesteśmy przed dniem, w którym będą miały zastosowanie zbiory o pojemności mi­ liarda znaków.

Przyjmując, że jest dostępny sprzęt,w którym można umieścić bardzo duże zbiory /stacja komórek danych IBM 2321 posiada po­ jemność 400 milionów’ bajtów, lecz wolny dostęp/, oraz przyjmu­ jąc, że możemy wymyślić taką superstrukturę, która w ten spo­ sób organizuje zbiory iż można w nich umieszczać dane /techni­ ki podziału, metody katalogowania, taktyki badania zbiorów - zostały już od lat wypróbowane/, to wówczas stajemy przed naj- V7ażniejszą kwestią bardzo dużych zbiorów/ wielodostępnych: czas dostępu. Użytkownik pracujący w trybie wzajemnego oddziaływa­ nia chce otrzymać odpowiedź na swoje zapytani© .iuż obecnie, w ciągu kilku sekund, a nie w ciągu kilku minut. Dzisiejsze tech­ niki adresowania oraz środki przechowywania informacji po pros­ tu nie nadają się dobrze do natychmiastowego wyszukiwania infor­ macji z bardzo dużych zbiorów w środowisku wielodostępnym.

Ponieważ nie przewiduje się, by urządzenia pamięci - znów wchodzi w grę hierarchia pamięci - przeszły przez nagły prze­ łom w szybkości, pojemności, lub cechach funkcjonalnych przed końcowymi latami siedemdziesiątymi, natychmiastowe rozwiązanie - 148 - problemu czasu dostępu może tylko wyjść od strony techniki ad­ resowania. Nawet wówczas, gdy wskutek pewnych innowacji wypro­ dukuje się bardzo duże, bardzo szybkie i ekonomiczne pamięci, to i wtedy pewne nowe zastosowania mogą być może narzucić na­ wet większe wymagania w stosunku do wielkości zbiorów, by w ten sposób skutecznie zniwelować postęp w technologii pamięoi.

Jednym z potencjalnych rozwiązań jest pamięć asocjacyjna, lub adresowana na zawartość. Rosnące znaczenie bardzo dużych zbiorów ożywiło badania w tej dziedzinie, które w ciągu ostat­ niej dekady raz kontynuowano a potem z kolei wstrzymywano. Pamięć asocjacyjna nie będzie posiadała konwencjonalnie formu­ łowanych adresów. "Odwołanie się do pamięci jest dokonywane przez określenie wszystkich lub którejkolwiek skojarzonej ko­ mórki /z innymi komórkami/, przy czym wzmiankuje się wszystkie komórki, które są skojarzone z tym polem.... W pamięci konwen­ cjonalnej skojarzenie zachodzi między fizycznym adresem a jego zawartością. Jednakże odwołanie się do pamięci może tylko nas­ tąpić przez określenie adresu, nie można bowiem bezpośrednio żądać dostępu do wszystkich komórek, których zawartość wynosi np. zero! Do prawdziwie asocjacyjnej pamięci dostęp dokonuje się przez określenie którejkolwiek komórki z N komórek uczest- niczących w asocjacji." Prostym przykładem adresowania na za­ wartość jest książka telefoniczna. Tutaj asocjacja /skojarze­ nie/ - związek między dwoma pozycjami - zachodzi między nazwis­ kiem każdego abonenta a jego numerem telefonu, chociaż nawet

^ Wiliam L.Ash and Edgar H.Sibley, "TRAMP": An Interpretive Associative Processor with Deductive Capabilities", Procee­ dings, ACM National Conference. 1968, str. 143. - 149 - książka jest zamierzona jako urządzenie do tłumaczenia jedno­ kierunkowego /dane jest nazwisko, po prostu należy określić odpowiadający mu numer - działanie w odwrotnym kierunku nie posiada cech skojarzenia i wymaga przeszukiwania pozycji za pozycją/. W prowadzonych w chwili obecnej badaniach przede wszystkim przebadano możliwość wdrożenia tej koncepcji na sprzęcie i w dalszym ciągu w wyniku tych badań nie uzyskano ekonomicznie wykonalnej pamięci. Jak dotychczas, jedyną prak­ tyczną odpowiedzią na problem szybkiego dostępu do niezwyk­ le dużych zbiorów jest w dalszym ciągu wdrażanie oprogramowa­ nia w formie skojarzonych struktur danych.

3. Znaczenie powiązań między zbiorami

Pierwszorzędne znaczenie ma tutaj duża baza danych,w której pojedyncza transakcja wpływa na jeden zbiór, co z kolei wpły­ wa na związane z nim inne zbiory informacji. Taka "potokowa aktualizacja" jest skomplikowanym zadaniem nawet w niektórych systemach przetwarzania partiowego, jeśli do tego dodamy wie­ lu użytkowników, z których każdy jednocześnie oddziaływuje na różne zbiory, to wówczas problem łączności między zbiorami staje się niezwykle złożony. Jeśli system ponosi dodatkowe brzemię działania "na bieżąco" /real-time/, to wówczas łącz­ ność między zbiorami jest dodatkowo ograniczona surowymi wyma­ ganiami w stosunku do czasu. Problem aktualizacji wielorakich zbiorów może być postawiony następująco: jeśli zachodzi jakaś transakcja, która zmienia stan informacji w danym zbiorze, to zapytania dotyczące tego zbioru muszą być wstrzymane przez sys­ tem aż do momentu, gdy wszystkie związane zbiory zostaną zmody­ fikowane celem odzwierciedlenia tej zmiany. Jedyną możliwością - 150 - wyboru, lub sankcją, jest dostęp do przestarzałej informacji* Jak już poruszaliśmy to zagadnienie w odcinku dotyczącym "wspólnych zbiorów", wysoka cena takiej sankcji zmienia się w zależności od istoty wchodzącego w rachubę zastosowania. Na przykład wartość aktualnej informacji jest oczywiście wyższa w wojskowych systemach dowodzenia i sterowania niż w syste­ mach sterowania zapasami dla produkcji, ponieważ w pierwszym przypadku stawka jest bardzo wysoka w określeniach ostateczne­ go przeżycia narodu. Dlatego zasadniczą cechą łączności między zbiorami jest czas dostępu w stosunku do aktualnej informacji. W tych przypadkach, gdzie aktualna informacja posiada najwyż­ sze znaczenie, zazwyczaj użytkownik odczuwa zwiększony czas dostępu i na odwrót, czas dostępu może być bardzo krótki, jeś­ li wczorajsza informacja /lub z ubiegłej nocy, albo z ostat­ niej godziny/ jest praktycznie biorąc tak samo dobra jak przed chv/ilą odczytana.

Współwymienność także posiada duże znaczenie dla powiązań między zbiorami. Jest to kij, który posiada dwa końce: współ­ wymienność zbiorów między systemami wielodostępnymi, oraz współwymienność zbiorów między systemem przetwarzania partio­ wego a systemem wielodostępnym. Pierwszy problem posiada duże znaczenie gdy się przechodzi z zewnętrznych usług systemu wie­ lodostępnego do systemu wewnętrznego, lub może on się wysunąć na czoło o ile korzysta się z kilku usług wielodostępnych. Zbiory wytworzone przez system IBM $60 są po prostu niezrozu­ miałe dla komputera PDP—10 i na odwrót. Czytelnik może tu pod­ stawić swoich ulubionych produc.entów oraz numery modeli sprzę­ tu. Drugi problem staje się oczywisty gdy zbiory wytworzone - 151 - przez system wielodostępny zostają poddane przetwarzaniu poś­ redniemu /off-line/ w systemie przetwarzania partiowego, albo gdy system przetwarzania partiowego tworzy zbiory, które będą używane w systemie wielodostępnym. 0 ile nie będą przedsięwzię­ te odpowiednie środki ostrożności w trakcie projektowania, to dwa różne programy wykonawcze, nawet na tym samym komputerze, zazwyczaj będą oczekiwały różnych struktur i formatów zbiorów. 0 ile stosuje się w tym przypadku różne komputery, to wówczas problem ten się zwielokrotnia.

Jeśli zbiory wytworzone w jednym systemie nie mogą być od­ czytane z pamięci lub ze środka łączności przez drugi system, to w takim przypadku chodzi o problem współwymienność! /zgod­ ności/ sprzętu a nie oprogramowania. Dla celu pośredniego tłu­ maczenia może być potrzebny specjalny procesor. Wszystkie inne przypadki są wariantami na temat obcych formatów. Można je roz­ wiązać przez wprowadzenie "wstępnych procesorów zbiorów" /lub "procesorów końcowych"/, które przeformowują początkową struk­ turę zbioru na strukturę rozpoznawalną przez system docelowy, lub można je rozwiązać przez modyfikowanie /jeśli nie zaprojek­ towanie/ każdego systemu w taki sposób, by wykrywał on i akcep­ tował format zbiorów z każdego innego systemu, lub przez za­ projektowanie od samego początku "uniwersalnej" struktury zbio­ rów, w miarę konieczności z dobrze określonymi specjalnymi wa­ riantami. Omawiane zadanie może być trudne, lecz nie do nie- przezwyciężenia.

Ostatnim aspektem tych rozważań na temat powiązań między zbiorami jest problem płaszczyzny styku /interface/ między sie­ ciami komputerów. Łączność między bazami danych a komputerami - 152 - jest żywotnym składnikiem każdej sieci systemu informacji. Pew­ na liczba takich sieci znajduje się w opracowaniu, ponieważ kilka organizacji przedłożyło koncepcję publicznej sieci kompu­ terowej. Agencja Przodujących Projektów Badawczych /ARPA/ two­ rzy sprzężoną sieć kilku systemów wielodostępnych, którą wspie­ rała finansowo /patrz Tablica 12/. Sieć ta będzie mieszaniną różnorodnych, dużych i małych»maszyn drugiej i trzeciej genera­ cji, reprezentujących kilku producentów. Computer Sciences Corporation buduje nieco podobną ogólnonarodową sieć, lecz uży­ wa do tego celu jednolitych komputerów regionalnych /UNIYAC 1108/. Wydawnictwa gospodarcze oraz publikacje różnych przedsię­ biorstw informują nas regularnie o innych bliskich realizacji sieciach komputerów. Piśmiennictwo jest już od dawna lekceważo­ ne, lecz stanie się nieczytelnym gryzmołem, o ile nie zostaną przedsięwzięte pewne kroki celem zapewnienia normalizacji. Nie wystarcza przyjęcie kodu ASCII /American Standard Code for In­ formation Interchange/, prędzej czy później muszą zostać usta­ nowione normy dla formatów danych i komunikatów celem współpra­ cy między komputerami, oraz musi zostać ustanowiony protokół łączności. Użytkownik powinien być odizolowany od tych wewnę­ trznych problemów i nie należy mu narzucać żadnych warunków w tym względzie.

4. Regeneracja

"Regeneracja" w tutaj użytym znaczeniu jest zdolnością od­ tworzenia systemu do stanu działania po pewnym zdarzeniu, któ­ re spowodowało częściowe jego niedziałanie. Zakres takiego przypadku może sięgać od błędu parzystości do awarii systemu, i w wyniku może powstać stan wyrażający się bądź to małą przer- - 153 - wą w obsłudze bądź nawet katastrofą. Zamierzeniem zdolności regeneracji danych jest w każdym przypadku uchronienie użyt­ kownika przed utratą informacji. /Wprowadziliśmy ten przed­ miot przy omawianiu niezawodności i odłożyliśmy pełniejsze je­ go omówienie do niniejszego odcinka celem przedstawienia go w kontekście zarządzania danymi/.

Klasycznym przykładem tego problemu jest użytkownik, który spędził długie godziny przy swoim terminalu tworząc zbiór dla dalszego wykorzystania i gdy zbliżał się do zakończenia sys­ tem uległ awarii. Gdy system doprowadzono do porządku, zbiór użytkownika tajemniczo zniknął. Chociaż taka sytuacja zdarza się w obecnych systemach znacznie rzadziej, jest to godne za­ pamiętania doświadczenie dla wielu użytkowników i z pewnością przedstawia potrzebę istnienia zdolności odpowiedniej regene­ racji.

Jak już wcześniej to omawiano, współczesne systemy wielo­ dostępne posiadają pewną formę zdolności restartu. Technika ’'fotografowania” stanu systemu wydaje się być stosunkowo sku­ teczna dla odtwarzania programów i ograniczonej ilości danych, lecz system zarządzania danymi nie może w sposób ciągły two­ rzyć kopii zbiorów, gdy zachodzą w nich zmiany, dla przypusz­ czalnego późniejszego wykorzystania. Ostatnio stała się popu­ larna technika zwana kopiowaniem przyrostów w zbiorach. Kopiuje się okresowo tylko te części zbiorów, które się zmie­ niły od momentu ostatniej "fotografii” systemu. Powstała teo­ ria, która twierdzi iż zbiór może zostać odtworzony po katas­ trofie przez wzięcie jego starszej kopii i kolejne nanoszenie - 154 - zmian w rekordach, w ten sposób rekonstruując jego genealogię. Krytycznym punktem w tej metodzie jest to, że sam system za- rządania danymi oraz jego rekordy we wszystkich zbiorach po­ winny przetrwać katastrofę nieuszkodzone, by mogły przystąpić do zadania odtwarzania uszkodzonych zbiorów.

Innym ważnym aspektem zdolności regeneracji systemu jest koordynacja restartu naruszonych programów i zregenerowanych zbiorów. Na przykład jeśli kompilator FORTRAN został przerwa­ ny przez awarię, to jego zbiór wejściowy musi zostać "przesu­ nięty” do ostatniego znanego prawidłowego badanego przez kom­ pilator miejsca a przebieg logiki kompilatora musi restarto­ wać w odpowiadającym temu miejscu momencie czasu. Podobne wy­ magania mają miejsce w przypadku zbiorów wyjściowych dla wy- listowania i dla wytworzonych kodów, jak również dla prowizo­ rycznych zbiorów tablic, etykiet itp. W obliczu takich kompli­ kacji, oczywiście z punktu widzenia projektanta systemu, naj­ łatwiejszą techniką regeneracji jest żądać, by każdy użytkow­ nik rozpoczynał swoją pracę od punktu wyjściowego, skreślając zaszłości.

5. Utrzymanie

Problem utrzymania zbiorów polega w zasadzie na usuwaniu z nich zdezaktualizowanych danych. Większość systemów dokonuje tego przez żądanie od użytkowników określenia czasu "życia” ich zbiorów /"nie niszczyć zbioru do takiej a takiej daty"/, lub zapisując częstotliwość korzystania /zbiory "często" uży­ wane pozostają czynne, podczas gdy zbiory najmniej używane, o ile nie są zabezpieczone w jakiś inny sposób, mają tendencję - 155 - do "wypadania" z systemu/, albo przez połączenie obu tych me­ tod. Użytkownicy, którzy są ludźmi i cierpią na omylną pamięć, mogą doznać przykrego zawodu, gdy żądają dostępu do zbioru, który, ku ich przerażeniu, został wczoraj wymazany z systemu /zgodnie z harmonogramem, jeśli się patrzy na to od strony sy­ stemu/. W systemach bardziej uwzględniających taką ewentual­ ność obecnie praktykuje się wcześniejsze komunikowanie właści­ cielom zbiorów terminu wymazania, tak że użytkownik może żądać, o ile to konieczne, wstrzymania wyroku dla jego zbioru.

Proces kasacji jest złem koniecznym, ponieważ środki pamię­ ci o skończonej pojemności nie mogą pomieścić stale rosnącej liczby zbiorów. Stare zbiory, które już nie są użyteczne, mu­ szą ustąpić miejsca nowym zbiorom. W typowych przypadkach, stare zbiory, które muszą być zatrzymane z powodu ich wartości historycznej, rezydują w archiwum na taśmach magnetycznych. W każdym przypadku problem utrzymania zbiorów wydaje się być mniej palący niż inne aspekty zarządzania danymi, chociaż na­ wet użytkownicy od czasu ¿0 czasu bezpośrednio się z nim sty­ kają. Problem ten jest co najmniej częściowo rozwiązany.

Obecnie powinno być widoczne, że to co uważaliśmy jako wy­ dzielone aspekty zarządzania danymi, w rzeczywistości się na­ kłada na siebie, formując zbiór powiązanych ze sobą problemów, li ciągu najbliższych kilku lat waga zarządzania danymi znacz­ nie wzrośnie, jako problemu samego dla siebie, a nie jako częś­ ci systemów wielodostępnych, jak tylko komputery będą stosowa­ ne do problemów cechujących się stale rosnącą pojemnością da­ nych. I rzeczywiście należy przyjąć, że w chwili obecnej nie można przewidzieć wszystkich najważniejszych kierunków działa­ nia, zmierzającego do skutecznego zarządzania danymi w przysz­ łoś ci. TABLICA 12 PROPONOWANA SIEĆ ARPA

/ W ST.ZJEDNOCZONYCH A.P. /

M.I.T.

Uniwersytet I Uniwers Cornegie - Mellon Stanford

System Development Corporatin

WSPÓLNE Ł£CZA "TKLPAK" TERMINAL UŻYTKOWNIKA WIELODOSTĘPNY OŚRODEK OBLICZENIOWY PROCESOR KOMUNIKATÓW NA PŁAS2CZYŻNIE STYKU

SYSTliV.?>V( - 157 -

V. INFORMACJA A WIEL-ODOSTgP

Niniejszy rozdział można uważać jako esej na temat wielodos- tępu. Podnosi on pewne pytania, na które trzeba odpowiedzieć, oraz atakuje niektóre "pewniki", niekwestionowane od dłuższego czasu.

Zagadnienie wygody i wydajności zasługuje na bliższe przyj­ rzenie się, zaczynając od przytoczonej wypowiedzi Xemeny'ego, zacytowanej w rozdziale II? "Mówiąc prosto, przy przetwarzaniu partiowym problemy użytkownika są rozwiązywane w sposób wygod­ ny dla komputera, podczas gdy w systemach wielodostępnych kom­ puter pracuje dla wygody użytkownika". Czy wszystko w dalszym

ciągu przedstawia się tak prosto? Czy w dalszym ciągu istnieje bezpośredni konflikt między wydajnością człowieka a maszyny? Odpowiadamy na oba pytania: - prawdopodobnie nie* Z jednej strony, nastanie zdalnych systemów przetwarzania partiowego unieważniło w pewnej mierze tę koncepcję przez zapewnienie do­ stępu do komputera według wygody użytkownika, zachowując wy­ dajność maszyny typową dla przetwarzania partiowego. Z drugiej strony, współczesne systemy wielodostępne częściowo zaprzecza­

ją wskazywanej w drugiej części cytatu małej wydajności maszy­ ny lepiej wykorzystując zasoby maszyny za pomocą ulepszonych technik przydziału i planowania. Jest to pożądane nie tylko ze względu na sam centralny system, lecz także ze względu na użyt­ kowników. Bardziej wydajne wykorzystanie centralnego systemu przysparza korzyści użytkownikom w formie lepszej obsługi przy ich terminalach. Im mniejsza jest wydajność systemu, tym dłu­ żej będzie trwało zakończenie zadań przy terminalach, a nawet - 158 - przy każdym z terminali może powstać kolejka użytkowników. Wy­ dajności ludzi i maszyny są ze sobą bezpośrednio związane.

Do czego naprawdę używamy wielodostępu? Wydaje się, że ist­ nieją tylko dwa podstawowe zastosoxvania: systemy informujące oraz rozwiązywanie problemów. Oba zastosowania mają do czynie­ nia z informacją, pierwsze w sposób stosunkowo bierny, drugie w sposób bardziej czynny. Zrobimy teraz chwilową dygresję, by rozważyć istotę i wartość samej informacji.

Jedna z definicji informacji określa, że jest to przekazana albo odebrana ’wiadomość, dotycząca szczególnego zdarzenia lub okoliczności. Mówiąc ściśle, informacja jest określeniem obej­ mującym ludzkie postrzeganie i przyswajanie faktów przedstawia­ nych w naszym przypadku przez dane. Znaczenie tu posiada ludz­ kie pojmowanie wzajemnych zależności, wyrażanych lub nie, mię­ dzy przedstawianymi danymi a innymi elementami jakiejś sytuacji lub problemu. Dla naszych celów będziemy uważali informację ja­ ko wiadomość wcieloną do zestawu przekazywanych danych, które są postrzegane i tłumaczone przez ludzkiego odbiorcę.

Jednym z przymiotów informacji jest jej ilość: liczba wia­ domości zawartych w przekazywanych danych. /Często mylnie bie­ rzemy ilość danych za miarę ilości informacji/. Inną cechą in­ formacji jest jej jakość, która jest związana z dokładnością i trafnością przekazywanych danych. Ponadto, często mylimy prawidłowe dane z "dobrą" informacją. Ostatnią cechą, którą będziemy uwzględniać, jest zależność informacji od czasu. Nie­ które informacje tracą na wartości z upływem czasu, podczas

gdy dane /które mogą być, albo nie, powiązane z czasowymi pun- - '159 - ktami odniesienia/ są niezależne od czasu. Na przykład nie przy­ dałaby się do niczego informacja dla NORAD/ /North American Air Defense Command: Północno-Amerykańskie Dowództwo Obrony Powie­ trznej/, że miasto Nowy Jork zostało starte z powierzchni o go­ dzinie 10,30 po południu w zeszłą sobotę. By móc skutecznie wy­ pełniać swoją misję, NORAD musi dosyć wcześnie otrzymać infor­ mację o penetracji przestrzeni powietrznej nad kontynentem, by mogło odpowiednio zareagować. Tego rodzaju informacja musi być nie tylko dokładna i rzetelna, lecz posiada wartość jedynie do pewnego momentu czasu, po którym nic nie wnosi do sytuacji.

Tak więc wartość informacji jest mierzona jej przydatnością dla użytkownika. Z kolei jej przydatność /użyteczność/ jest mierzona przez liczbę zawartych wiadomości, jej dokładność i trafność, a także jej odpowiedniość w czasie. Informacja może mieć wartość natychmiastową, albo długoterminową, albo obie te / wartości.

A więc do czego naprawdę używamy wielodostępu? W przydku systemu informującego używamy go dla rozpowszechniania danych* by informować użytkowników. Wydaje się, że jest to całkiem pro­ ste i tego rodzaju zastosowania istnieją z powodzeniem już od pewnego czasu. Możemy się jednak zapytać, czy właśnie komputer wielodostępny jest koniecznie odpowiednim narzędziem do tego celu. Być może, że operowany ręcznie system przesyłania zdjęć mikrofilmowych mógłby uskutecznić taniej i lepiej niż komputer wiele zastosowań wyszukiwania informacji, być może, że nawet i szybciej. Przypadek rozwiązywania problemów za pomocą wielo­ dostępu, drugi rodzaj zastosowań, nie jest tak prosty i nie os­ tatnią z przyczyn tego stanu rzeczy jest brak zrozumienia isto- - 160 ty samego procesu rozwiązywania problemu. /Będziemy uważali, że podejmowanie decyzji nie wykazuje zasadniczych różnic w stosunku do rozwiązywania problemu/. Inną formalną dygresją jest tutaj rozważenie przyjętego celu połączonego rozwiązywania problemu przez człowieka i maszynę, oraz rozważenie istoty wzajemnie od­ działywujących zależności między człowiekiem a maszyną.

Sam człowiek posiada taką cechę, którą możemy scharakteryzo­ wać przez objaw typu "Aha!": mając przebłysk intuicji, udając przeczucie, robiąc mądre przypuszczenie. Wszystko to zależy od zrozumienia przez niego nowych zależności wśród elementów infor­ macji, które uprzednio wydawały się być niezależne od siebie /albo powiązane w pewien nie dający się określić sposób/, i ta­ kie zrozumienie często wydaje się intuicyjnie. Z drugiej strony komputer posiada stosunkowo nieomylną pamięć /chociaż ograniczo­ ną/ oraz zdolność bardzo szybkiego wykonywania operacji na bar­ dzo wielkich ilościach danych. Może on wyrzucać różne asortymen­ ty symboli ułożone w niemal każdy dający się wyrazić format, przedstawiając obrazowo wyniki żądanych operacji na danych, ce­ lem ich wykorzystania przez człowieka. Zamierzeniem "bioelektro- nicznego" współuczestnictwa człowieka i maszyny jest spowodować) by te dwa zespoły zdolności wpływały na zadania z zakresu podej­ mowania decyzji w taki sposób, aby ich łączna zdolność była nie­ co większa niż suma oddzielnych zdolności.

Robert Fano z MIT wielodostęp widzi jako środek do skończe­ nia z poglądem, iż podejmowanie decyzji i rozwiązywanie proble­ mów jest głównym zagadnieniem. Wyłożył on to następująco w przeprowadzonym przez nas wywiadzie: - 161 -

"To poważne zagadnienie jest jednym z oelów. Istnie­ ją dwie skrajności w wachlarzu możliwości, w kierun­ ku których zdąża nasza społeczność: a/ *1984* - sy­ tuacja, kiedy grupa elitarna będzie sprawowała kon­ trolę nad informacją poprzez scentralizowane zdol­ ności przetwarzania informacji /następstwo rozwojo­ we partiowego sposobu przetwarzania/, prowadzące do władzy w ręku niewielu; b/ sytuacja, w której każda jednostka w naszej społeczności będzie miała do dyspozycji narzędzia niezbędne dla rozwiązywania za­ wiłości współczesnej kultury /następstwo rozwojowo wielodostępu/. Rzeczywisty wybór kierunku znajduje się blisko jednej i drugiej skrajności. Zakres wybo­ ru jest mały, z małymi możliwościami na kompromis".

"Ta druga skrajność jest celem, w kierunku którego powinniśmy zmierzać. Wielodostęp jest techniką i być może wcale nie tak dobrą - która to ułatwia. Wielodostęp jest rzeczywiście źle dobraną nazwą. Celem nie jest dostęp do jednego czy wielu proceso­ rów /taka jest obecna technika/, a raczej celem jest zapewnienie dla możliwie wielkiej liczby ludzi in­ formacji, narzędzi do przetwarzania informacji oraz łączności".

Czy wielodostęp zrealizował dwa następujące cele: 1/ wzmożenie zdolności symbiozy człowieka i maszyny, oraz 2/ znaczne rozszerzenie udzielania informacji? Przynajmniej do tej pory - nie. - 162 -

Jeśli chodzi o pierwszy z celów, to okazuje się, że w więk­ szości przypadków zastosowanie dialogu wzajemnego oddziaływania między człowiekiem a maszyną polega na niczym więcej, niż na przyspieszonej sekwencji ciągów zdań przetwarzania partiowego. W typowych przypadkach użytkownik wie, co chce robić, zanim usiądzie przy konsoli 1 raczej nie fantazjując, wprowadza krót­ kie ciągi zadań/które w rzeczywistości są bardzo krótkimi/, o krótkim cyklu obliczeniowym. Być może, że w trakcie tego proce­ su zmienia on, tu czy tam, swoje parametry, lecz mógłby on to robić stosując partiowy sposób przetwarzania /jak dotychczas, lepiej, że komputer musi to dla niego robić/. Gdzie tu jest do­ brodziejstwo dla rozwiązywania problemów? Z pewnością dostęp dla wielu i zmniejszony ogólny czas człowieka są cennymi osiąg­ nięciami, lecz co słychać z zamierzeniem "rozszerzenia ludzkiego intelektu"? Sam stopień wzajmnego oddziaływania nie wydaje się być wystarczający. Wyczuwalne różnice-między zdalnym przetwarza­ niem partiowym a obliczeniami wykonywanymi w trybie konwersacyj- nym są, jak dotąd, różnicami w stopniu, a nie w rodzaju, ściśle mówiąc, są to różnice w stopniu wygody, elastyczności i szybko­ ści.

Jeśli chodzi o drugi cel, istnieją pewne wątpliwości, czy wielodostęp spowodował styczność z komputerami znacznie więk­ szej liczby ludzi, niż mogłyby tego dokonać inne formy dostępu do mocy obliczeniowej. Lecz dostęp do komputera nie jest sam w sobie gwarancją, że użytkownik uzyska szczególnie do czegoś potrzebną informację, nie mówiąc już o ściśle określonym prob­ lemie lub decyzji. W każdej swej, formie wielodostęp jest tylko środkiem, narzędziem za pomocą którego jednostka może się zbli­ - 163 -

żyć do ostatecznego celu, jakim jest otrzymanie właściwej infor­ macji, we właściwym czasie, dla jej uwieńczonego powodzeniem wy­ korzystania. Mogą też istnieć inne środki, które nie powinny być odruchowo eliminowane, po prostu dlatego, że konkurują z kompu­ terem. Będąc jeszcze początkach swego rozwoju, mimo to wielodostęp niesie nadzieję realizacji dwóch celów, które dlań wyznaczyliśmy I tak, wielodostęp może zapewnić lepszą informację, lub lepsze narzędzia przetwarzania informacji, dla większej liczby ludzi - gdzie i kiedy to jest potrzebne - a więc może on spełnić pożyte­ czną rolę w naszym coraz bardziej skomplikowanym życiu, zarówno zbiorowym jak i indywidualnym. W dalszym ciągu właściwe są tu pewne słowa przestrogi:

"W dzisiejszym świecie, opanowanym przez rządy, korporacje oraz inne wielkie bezosobowe organizacje, jednostki czują się coraz bardziej bez znaczenia. Jeśli uwieńczone powodze­ niem wzajemne oddziaływanie człowieka i maszyny ułatwia zes­ łanie człowieka na te marginesowe pozycje, to w takim razie musi być traktowane z najwyższą ostrożnością. Jeśli jednak taka symbioza może dopomóc człowiekowi do wyzwolenia jego największego potencjału, to wówczas należy energicznie dążyć do jej osiągnięcia .

Być może byliśmy nieco krótkowzroczni, poświęcają tak wiele uwagi wewnętrznym sprawom technicznym, takim jak wykorzystanie centralnego procesora, w czasie gdy wokół nas istnieją bardziej pilne potrzeby, czekające na przemyślane zastosowanie tej techno logii. Trzeba tu powiedzieć, że jeszcze musimy dużo się nauczyć na temat całego potencjału wielodostępu, nie mówiąc już o jego

Thomas* Pyke, Jr., "Time-Shared Computer Systems", str* 41. - 164 -

SŁOWNICZEK

/W nawiasie podano odpowiedniki terminów w języku angielskim, użyte w zeszycie nr E 65 Programu Badawczego Diebolda/ brak stronicy /page fault/ - mechanizm przerwań /pracy central­ nego procesora/ celem przeniesienia stronic programu z pa­ mięci dodatkowej do pamięci głównej, w której mogą być wy­ konywane. Patrz również: ,łstronicowanie". ciąg zadań obliczeniowych /job/ - jeden lub więcej programów. czas oczekiwania /turnaround time/ -.całkowity czas, jaki upły­ wa od wprowadzenia ciągu zadań obliczeniowych do otrzymania wyników. czas odpow* edzi /response time/ - ilość czasu, jaka jest potrzeb­ na systemowi na zapoczątkowanie odpowiedzi na rozkaz lub za­ pytanie użytkownika. hasło /password/ - zespół kodów dostępu, które wyznaczają różne poziomy dostępu dozwolone dla jakiegoś zbioru. hierarchia czasu przebiegu /run-time hierarchy/ - metoda plano- nowania obsługi przez centralny procesor, uwzględniająca ustalony lub przewidywany czas przebiegu ciągu zadań oblicze­ niowych. hierarchie priorytetów /priority.hierarchies/ - metoda planowa­ nia obsługi przez centralny procesor, według której różne kategorie użytkowników lub zadań zostają przypisane do róż­ nych kolejek, przy czym każda z kolejek ma wyznaczony sto­

pień priorytetu /w obsłudze przez centralny procesor/. - 165 -

kolejki /queues/ - patrz: "ustawianie kolejek". metoda cyklicznej obsługi zadań /round robin method, round robin scheduling/ - rodzaj planowania pracy centralnego procesora, w którym obsługa przez centralny procesor jest po prostu przydzielana w sposób cykliczny wszystkim czyn­ nym zadaniom. odcinek czasu obsługi /quantum, time slice/ - krótkotrwały okres czasu, w ciągu którego centralny procesor jest do dyspozycji jednego użytkownika. I planowanie cyklicznej obsługi zadań /round robin scheduling/ - patrz: "metoda cyklicznej obsługi zadań". pula rekordów /record pool/ - utrzymywany przez system opera­ cyjny wykaz dostępnych obszarów w pamięci o dostępie przy­ padkowym. segmentacja /segmenting/ - rodzaj wymiany, w której wymianie podlega nie cały program, a tylko jego część. stronicowanie /paging/ - rozszerzenie wymiany, polegające na tym, że pamięć wykonawcza jest przydzielana w wymiennych od­ cinkach, zwanych stronicami, częściom kilku programów w każ­ dej chwili czasu. Załadowane do pamięci odcinku programu są wówczas dynamicznie przemieszczane do dostępnych stronic. 0 ile stosuje się taktykę stronicowania na żądanie, jakaś stronica tylko wówczas zostaje wprowadzona do pamięci głów- nQDt gdy faktycznie nastąpiło do niej odwołanie /"żądanie/ przez stronicę rezydującą w pamięci głównej. W przeciwień­ stwie do tego stronicowanie związane /lub przewidujące/ - 166 -

usiłuje zmniejszyć opóźnienia przez załadowanie stronicy lub stronic, do których najprawdopodobniej nastąpi odwołanie, na chwilę przed wystąpieniem tego odwołania - przewidując w mo­ mencie wprowadzania stronicy, które dalsze stronice są z nią związane /spokrewnione/. stronicowanie na żądanie /demand paging/ - patrz: "stronicowanie . stronicowanie związane /affinity paging/ - patrz: "stronicowanie".

środowisko /programu/ /environment /of a program// - wymagane dla wykonania programu podprogramy oraz obszar roboczy pamię­ ci /operacyjnej/, jak również zapisany dla poprzedniego częś­ ciowego wykonania stan rejestrów maszyny, o ile program zos­ tał przerwany i "zachowany" celem późniejszego wykonania. taktyka cyklicznej obsługi zadań /round robin policy/ - patrz: "metoda cyklicznej obsługi zadań".- ustawianie kolejek /queueing/ - proces formowania kolejek z oczekujących na wykonanie zadań obliczeniowych. wydzielanie /partitioning/ - technika przydzielania pamięci, według której ściśle określone obszary pamięci głównej są zarezerwowane dla ściśle określonych zadań. Najprostsze wy­ dzielanie polega na podziale pamięci na dwa obszary: pier- wszy - dla programów pierwszoplanowych /"foreground"/ lub wykonywanych w trybie bezpośrednim /on-line/; a drugi - dla programów drugorzędnych /"background"/ lub dla przetwarza­ nia partiowego. - 167 - wymiana /swapping/ - technika przydzielania pamięci, według któ­ rej program umieszczony w pamięci dodatkowej może się zmienić miejscami z programem rezydującym w pamięci głównej. wzajemne oddziaływanie /interaction/ - wprowadzenie i wykonanie zadania oraz reakcja /odpowiedź/ ze strony tego zadania. zadanie /task/ - program lub podzespół programu. zadania bierne /inactive tasks/ - zadania, które nie rezydują w pamięci wykonawczej /operacyjnej/. zadania czynne /active tasks/ - zadania, które rezydują w pa­ mięci wykonawczej /operacyjnej/. zagęszczenie pamięci /core compaction/ - proces przebiegający w pamięci głównej, a polegający na określonym przemieszcza­ niu rezydujących w niej programów celem połączenia w jedną całość dostępnego obszaru pamięci głównej. - 168 -

ZAŁĄCZNIK

Niniejszy załącznik opracowano korzystając z wzorcowego wywia­ du telefonicznego. Celem jego jest przedstawienie skróconego zestawienia przebadanych przypadków, a także celem jest pod­ kreślenie poprzednich dyskusji na temat dziedzin problemowych oraz występujących trendów. Przy wyborze nie korzystano z żad­ nej szczególnej metody poza chęcią przedstawienia dostatacznie reprezentatywnego przekroju odpłatnych /handlowych/ usług z za­ kresu wielodostępu, łącznie z dodaniem kilku uniwersytetów dla porównania i przeciwstawienia.

Pytania zostały sformułowane w sposób nie budzący wątpliwości, ponieważ były one zamierzone jako naprowadzające. W ich wyniku, przy okazji, napotkano na uwieńczoną powodzeniem taktykę wymi­ jających odpowiedzi. Pytanie nr 10 nie ma zastosowania w wywia­ dach z uniwersytetami i dlatego w tych przypadkach zostało po prostu ominięte.

• • ~ | Otrzymane odpowiedzi nie usiłowano osądzić lub ocenić. Ogólnie biorąc potwierdzają one wnioski niniejszego sprawozdania. Oczy­ wiście Czytelnik ma swobodę w ich interpretacji oraz w wyborze wniosków. - 169 -

A. IBM Cali 360/BASIC CP: IBM 360/50 P1: Mierzy się wykorzystanie których zasobów systemu i jak? 0: Czas podłączenia terminala i wykorzystania CP /wyłączy­ wszy czas wymiany/; czas jest mierzony przez procedurę chronometrażu z zaokrągleniem do najbliższej jednej dziesiątej sekundy.

P2: Jakie uzyskuje się wykorzystanie zasobów? 0: Jest to informacja zastrzeżona. Posiadamy własny prog­ ramowy system wykonawczy, zbudowany od samego początku.

P3: Jakie są-wąskie gardła systemu? 0: Klienci chcą, by system wyglądał jak Model 85 i chcą by był tylko do ich dyspozycji - przy tym za & 10,00 na godzinę. /Czy nie za mała moc obliczeniowa CP?/.

P4: Jak zapewniacie zakres usług obliczeniowych? 0: W chwili obecnej tylko obliczenia typu konwersacyjne- go, za pomocą języka BASIC.

P5i Jak można by scharakteryzować zastosowania waszych użytkowników? 0: Rozwiązywanie problemów; analiza obwodów elektrycz­ nych, programowanie liniowe, analiza ścieżki kryty­ cznej, zastosowania finansowe itd.

P6: Czy wydajność użytkownika różni się w stosunku do środowiska przetwarzania partiowego? 0: Zachodzi znaczne zwiększenie skuteczności ludzkiego działania. W typowych przypadkach użytkownicy uzysku- - 170 -

ją średnio 385 procent zwrotu nakładów /koszt termina­ la plus koszt ludzi/.

P7s Jaka jest maksymalna wielkość zbioru u użytkownika? 0; Każdy program jest ograniczony do 4-52 instrukcji plus 7.167 zmiennych o ograniczonej wielkości /wewnątrz w programie/. Każdy zbiór jest ograniczony do maksimum 16K słów. Jednakże nie ma ograniczenia odnośnie licz­ by programów i zbiorów, które może użytkownik posiadać.

P8s Gzy wasz system zapewnia możliwość dynamicznego rozwi­ nięcia zbiorów? 0: Nie.

P9s Czy wielu użytkowników może jednocześnie korzystać wspólnie z jednego zbioru? Os Jeszcze nie.

PIO: Go według was jest waszą główną zaletą w stosunku do konkurencji? 0: Dobra struktura cen za usługi, solidny /niezawodny/ system oraz szeroki wachlarz usług dla klientów. - 171 -

ITT Data Services /RTS/

CP: IBM 360/65

P1: Mierzy się wykorzystanie których zasobów systemu i jak? 0: Czas CP /łącznie z oczekiwaniem We/Wy/, czas podłącze­ nia, oraz wykorzystania pamięci dodatkowej* Wydajność systemu mierzy się stosując zegar i procedury chrono- metrażowe.

P2: Jakie uzyskuje się wykorzystanie zasobów? 0: Jest to informacja zastrzeżona. Jak w każdym systemie, w czasie pełnego obciążenia tworzy się kolejka.

P3: Jakie są wąskie gardła systemu? 0: Moc CP z powodu specjalnej mieszaniny ciągów zadań ob­ liczeniowych, oraz przesyłanie danych. Potrzebna jest bardziej liniowa hierarchia pamięci.oraz potrzeba wię­ cej kanałów.

P4-: Jaki zapewniacie zakres usług obliczeniowych? 0: Obliczenia typu konwersacyjnego oraz drugorzędne prze­ twarzanie partiowe /może być wprowadzane do przetwarza­ nia poprzez zdalne terminale/.

P5? Jak można scharakteryzować zastosowania waszych użyt­ kowników? 0: Bardzo duże programy lub programy, które wymagają bar­ dzo dużych baz danych.

P6: Czy wydajność użytkownika różni się w stosunku do śro­ dowiska przetwarzania partiowego? 0: Tu wszystko sprowadza się do wygodnej dostępności. - 172 -

P7: Jaka jest maksymalna wielkość zbioru u użytkownika? 0: Jeden zbiór logiczny może posiadać pojemność maksymal­ nie 100 cylindrów na dysku, co wynosi około 3 miliony bajtów.

P8: Czy wasz system zapewnia możliwość dynamicznego rozwi­ nięcia zbiorów? 0: Nie, chociaż system przydziela automatycznie jeden cy­ linder, jeśli użytkownik nie określa wielkości zbioru.

P9: Czy wielu użytkowników może jednocześnie korzystać wspólnie z jednego zbioru? 0: Tak, lecz użytkownicy muszą wprowadzać swoje własne metody niedopuszczania do zbiorów.

P10: Co według was jest waszą główną zaletą w stosunku do konkurencji? 0: Zdolność manipulacji na bardzo dużych programach oraz na bardzo dużych bazach danych, a także współwymienność z IBM /użytkownik ma zapewniony dostęp do kompilacji w 0S/360 itd./. - 173 -

Call-A-Computer

CP: GE 225 P1: Mierzy się wykorzystanie których zasobów systemu i jak? O: Zegarowy czas podłączenia terminala oraz czas CP, oraz wykorzystywaną każdego miesiąca pojemność pamięci dys­ kowej. Specjalny program analizujący określa wykorzysta­ nie łączy, strumieni ruchu w ciągu dnia, który program użytkownika ile zużywa pojemności systemu itd.

P2: Jakie uzyskuje się wykorzystanie zasobów? 0: W czasie dużego ruchu CP jest wykorzystany w około 60 do 65 procent, dyski około 80 procent, a Datanet~30 około 75 do 80 procent.

P3: Jakie są wąskie gardła systemu? 0:. Za mała pojemność pamięci dyskowej - trzeba tu zaznaczyć, że obecnia instalujemy nowy system, -który powinien być bardziej elastyczny dla wszelkiego rodzaju potrzeb w za­ kresie łączności. Jest on zbudowany w oparciu o CP typu IC 7000, pamięć dyskową IBM 2314, duży procesor PDP-8 dla sterowania łącznością /z mniejszymi PDP-8, które go wspomagają/ oraz specjalnie zaprojektowany procesor We/Wy dla zarządzania wieloma kanałami.

P4: Jaki zapewniacie zakres usług obliczeniowych? 0: W chwili obecnej tylko obliczenia typu konwersacyjnego. Nowy system prawdopodobnie będzie oferował pełny zakres zdalnych usług obliczeniowych.

P5: Jak można by scharakteryzować zastosowania waszych użyt­ kowników? - 174 -

O: Są one skrajnie różne, pokrywając szeroki zakres. Zauwa­ żyliśmy trend w kierunku zastosowań, które bardziej są przetwarzaniem danych niż ściśle rozwiązywaniem problemów.

P6: Czy wydajność użytkownika różni się w stosunku do środo­ wiska przetwarzania partiowego? O: Ludzie nowatorscy, twórczy /około 65 procent/użytkowni­ ków/ poczynili duże postępy w tym, jak eksploatować sys­ tem; rutyniarze /około 35 procent/ korzystają z systemu w sposób utarty zwyczajem, zrutynizowany.

P7: Jaka jest maksymalna wielkość zbioru u użytkownika? 0: Nie ma ustalonych granic; wiązanie w łańcuch w języku BASIC zezwala na łączenie maksymalnie do 30 zbiorów /każdy po 6.144 znaków/, a wiązanie w łańcuch w języku FORTRAN pozwala na łączenie maksymalnie do 50 zbiorów /ograniczonych do tej samej wielkości/. Prawdopodobnie w nowym systemie nie będzie żadnych ograniczeń w tym względzie.

P8: Czy wasz system zapewnia możliwość dynamicznego rozwi­ nięcia zbiorów? 0: Obecny system - nie. Nowy system - tak.

P9* Czy wielu użytkowników może jednocześnie korzystać wspólnie z jednego zbioru? 0: Tak, lecz nie istnieje mechanizm niedopuszczania do zbioru. W nowym systemie też ta sprawa nie jest jeszcze rozwiązana. - 175 -

P10: Co według was jest waszą główną zaletą w stosunku do konkurencji?

0: Zdolności zastąpienia /w wypadku awarii lokalnych sys­ temów/ oferowane przez ogólnokrajową sieć obliczeniową, zdolność obsługi towarzyst /przedsiębiorstw/ ogólnokra­ jowych w skali całego kraju, bardzo duża biblioteka procedur dla poszczególnych zastosowań oraz sposób, w jaki ulepszyliśmy języki i dodaliśmy do nich cechy zo­ rientowane na poszczególnych użytkowników. Wysłuchiwa­ liśmy często naszych użytkowników, ulepszaliśmy oprogra­ mowanie i zapewnialiśmy narzędzia, których potrzebowali. Nowy system zaofiaruje jedyną w swym rodzaju konfigura­ cję wielodostępu, specjalnie ukierunkowaną na jej elas­ tyczność, przy szczególnym uwzględnieniu łączności. - 176 -

D. Computer Network Corporation

CP: Podwójny B-5500 P1: Mierzy się wykorzystanie których zasobów systemu i jak? 0: Czas zegarowy CP, czas podłączenia terminala, wykorzys­ tanie We/Wy.

P2: Jakie uzyskuje się wykorzystanie zasobów? 0: Jest to informacja zastrzeżona.

P3: Jakie są wąskie gardła systemu? 0: Czas cyklu CP jest trochę za długi - powinien być bardziej zbliżony do jednej mikrosekundy. Potrzebujemy, i dostanie­ my, komputer dla obsługi prac pierwszoplanowych w zakresie transmisji danych.

P4: Jaki zapewniacie zakres usług obliczeniowych? 0: Obliczenia typu konwersacyjnego.oraz zdalne wprowadzanie ciągów zadań obliczeniowych /wykonywanych jako drugorzęd­ ne zadania z zakresu przetwarzania partiowego/.

Jak można by scharakteryzować zastosowania waszych użyt­ kowników? 0; Głównie w "górnym końcu" zakresu rynku popytu na wielo- dostęp: są to użytkownicy potrzebujący bardzo dużych pa­ mięci ferrytowych oraz małej liczby zastosowań o bardzo dużych bazach danych. Największy wzrost przewidujemy w zastosowaniach gospodarczych oraz w bazach danych.

P6: Czy wydajność użytkownika różni się W stosunku do środo­ wiska przetwarzania partiowego? 0: Przede wszystkim w dwóch dziadzinach: ludzie robią rzeczy, które przedtem nie były wykonalne, oraz zaznacza się zwię- - 177 -

kazanie wydajności personelu produkcyjnego. Jeśli właści­ wie stosowane, to jest to jedno z najlepszych narzędzi, jakie wprowadzono.

P7: Jaka jest maksymalna wielkość zbioru u użytkownika? 0: Jest ona ograniczona jedynie przez pojemność dysków, nie ma ściśle określonego maksimum.

P8: Czy wasz system zapewnia możliwość dynamicznego rozwinię­ cia zbiorów? 0: Nie.

P9: Czy wielu użytkowników może jednocześnie korzystać wspól­ nie z jednego zbioru? 0* Tak, lecz nie istnieje mechanizm niedopuszczania do zbio­ ru, który by pozwolił na uniknięcie kolizji przy zapisie.

P10: Co według was jest waszą główną zaletą w stosunku do konkurencji? 0: Posiadamy język wzajemnego oddziaływania, oparty o COBOL, dla opracowywania programów w dziedzinach gospodarczych; jest to, o ile nam wiadomo, jedyny w swym rodzaju język w tej dziedzinie. Także zaliczyć tu trzeba zaletę zdolnoś­ ci zastąpienia lokalnych systemów przez sieć komputerów. - 178 -

E. McDonnell Automation Company

CP: GE-415 P1: Mierzy się wykorzystanie których zasobów systemu i jak? 0: Wykorzystanie CP według zegara, czas kanałów We/Wy, czas podłączenia terminala, pojemność pamięci dyskowej. Proce­ dury systemu zapisują takie rzeczy, jak liczbę wymian stronic pamięci na jeden ciąg zadań obliczeniowych, sek­ wencję operacji wykonywanych dla każdego ciągu zadań oraz obciążenie systemu w ciągu, całego dnia.

P2: Jakie uzyskuje się wykorzystanie zasobów? 0: Jest to informacja zastrzeżona.

P3: Jakie są wąskie gardła systemu? 0: Są one w większości przypadków związane z czasem dostępu do oaraięci dyskowej. Jeden z dysków jest używany jako urządzenie do wymiany; drugi zawiera strumienie We/Wy oraz bibliotekę.

P4: Jaki zapewniacie zakres usług obliczeniowych? 0: Na systemie 420 tylko obliczenia typu konwersacyjnego /może on generować zbiory dla dalszego przetwarzania partiowego/. Inne systemy zapewniają zdalne przetwarzanie partiowe.

P5: Jak można by scharakteryzować zastosowania waszych użyt­ kowników? 0: W większości przypadków są to rozwiązywania problemów naukowych i inżynieryjnych, lecz obecnie ma także miej­ sce kilka zastosowań gospodarczych i handlowych. - 179 -

P6: Czy wydajność użytkownika różni się w stosunku do środo­ wiska przetwarzania partiowego? 0: Wielu użytkowników, którzy poprzednio nie mieli dostępu do komputera, obecnie mają zapewniony taki dostęp. Także mogą oni uzyskać większą ilość wykonanej pracy na jednos­ tkę czasu.

P7: Jaka jest maksymalna wielkość zbioru u użytkownika? 0: Około 42.000 słów na jeden zbiór, lecz użytkownik może posiadać wiele zbiorów.

P8: Czy wasz system zapewnia możliwość dynamicznego rozwnię- cia zbiorów?

0: Tak, i odbywa się to w pełni automatycznie.

P9: Czy wielu użytkowników może jednocześnie wspólnie korzys­ tać z jednego zbioru? 0: Tak, lecz tylko jeden może dokonywać zapisu w danej chwili czasu.

P10: Co według was jest waszą główną zaletą w stosunku do konkurencji? 0: Obszerny zbiór programów dla poszczególnych zastosowań oraz usługi oferowane klientom. Interactive Data Service /White, Weld/

CP: SDS-940 P1: Mierzy się wykorzystanie których zasobów systemu i jak? 0: Czas CP według zegara, czas podłączenia terminalu, oraz wykorzystanie pamięci dla przechowywania zbiorów.

P2s Jakie uzyskuje się wykorzystanie zasobów? 0: Jest to informacja zastrzeżona.

P3: Jakie są wąskie gardła 3ystemu? 0: Potrzebujemy szybszych pamięci dyskowych dla naszych zbio­ rów danych oraz szybszego urządzenia dla wymiany niż pa­ mięć bębnowa.

P4: Jaki zapewniacie zakres usług obliczeniowych? 0: Tylko obliczenia typu konwersacyjnego.

P5: Jak można by scharakteryzować zastosowania waszych użyt­ kowników? 0: Przede wszystkim zorientowane na zagadnienia finansowe.

P6: Czy wydajność użytkownika różni się w stosunku do środo­ wiska przetwarzania partiowego? 0: Przede wszystkim w tym sensie, że analitycy finansów robią takie rzeczy, których nigdy przedtem nie robili.

P7: Jaka jest maksymalna wielkość zbioru u użytkownika? 0: Maksymalnie do 36.864 słów.

P8: Czy wasz system zapewnia możliwość dynamicznego rozwinię­ cia zbiorów? 0: Tak, do granic wyznaczonych przez system. - 181 -

P9: Czy wielu użytkowników może jednocześnie wspólnie korzys­ tać z jednego zbioru? 0: Tak, dla dostępu przy odczycie. Tylko właściciel zbioru może coś wpisywać do zbioru i dla tego celu musi on dekla­ rować przez jakiś czas ‘'poufność" tego zbioru.

P1o: Co według was jest waszą główną zaletą w stosunku do konkurencji? 0: Usługi oferowane środowisku finansowemu są jedyne w swym rodzaju, a także, między innymi, pracujemy nad bardziej naturalnymi językami wzajemnego oddziaływania. - 182 -

G. Dartmouth College

CP: GE-635 P1s Mierzy się wykorzystanie których zasobów systemu i jak? 0: Czas CP według zegara, czas pamięci ferrytowej w sekun­ dach, czas podłączenia urządzeń zewnętrznych.

P2: Jakie uzyskuje się wykorzystanie zasobów? 0: Jeszcze nie dysponujemy wyczerpującymi danymi na ten temat.

P3: Jakie są wąskie gardła systemu? 0: Po pierwsze, bęben używany do stronicowania jest za wol­ ny; po drugie, czas poszukiwań na dysku jest za długi.

P4: Jaki zapewniacie zakres usług obliczeniowych? 0: Typu konwersacyjnego oraz drugorzędne przetwarzanie partiowe - ale nie zdalne, chociaż użytkownicy mogą sprawdzać swoje karty sterujące dla zadań z zakresu przetwarzania partiowego w trybie wzajemnego oddziały­ wania.

P5: Jak można by scharakteryzować zastosowania waszych użyt­ kowników? 0: Przede wszystkim prace studentów oraz badania naukowe.

P6: Czy wydajność użytkownika różni się w stosunku do środo­ wiska przetwarzania partiowego? 0: Dla większości użytkowników nie ma podstawy porównania - wprowadzono ich od razu do wielodostępu. - 183 -

P7: Jaka jest maksymalna wielkość zbioru u użytkownika? 0: Każda kategoria użytkowników jest przedmiotem oddzielne­ go, arbitralnie przyjętego maksimum; w ostateczności jes­ teśmy jedynie ograniczeni fizyczną pojemnością urządzeń

pamięci.

P8: Czy wasz system zapewnia możliwość dynamicznego rozwinię­ cia zbiorów? 0: Tak.

P 9 : Czy wielu użytkowników może jednocześnie wspólnie korzys­ tać z jednego zbioru? 0: Tak, lecz dostęp celem zapisu jest ograniczony do jednego użytkownika w danej chwili czasu - wówczas cały zbiór jest zamknięty dla innych, celem honorowania żądań zapisu. - 184 -

H. University of Michigan CP: Podwójny IBM 360/67 P1: Mierzy się wykorzystanie którychzasobów systemu i jak? 0: Mierzymy wykorzystanie tak wielu zasobów, iż zbyt długo trwałoby je wszystkie tu wymieniać. Programy systemu w sposób ciągły nadzorują i zapisują na taśmie działalność systemu celem późniejszej analizy.

P2: Jakie uzyskuje się wykorzystanie zasobów? 0: Jeśli chodzi o CP, to światło "oczekiwania" CP na konso­ li nigdy się nie zapala w warunkach bardzo dużego obcią­ żenia; wykorzystanie to wynosi aż do około 90 procent, włączając w to funkcje ogólne - i jednakże jest to sporo.

P3: Jakie są wąskie gardła systemu? 0: Istnieją różne. Programowanie na systemie przebiega w sposób ewolucyjny i wykrywamy - poważne problemy dokonując wglądu w najdłuższe wewnętrzne kolejki. Jednym z począt­ kowych problemów był czas dostępu do dysku; został on załatwiony i dziś są inne wąskie gardła. Jutro znowu powstaną inne.

P4: Jaki zapewniacie zakres usług obliczeniowych? 0: W chwili obecnej usługi z zakresu wzajemnego oddziaływa­ nia ze zdolnością zdalnego wprowadzania zadań, z tym że te ostatnie są składane do przebiegu w środku nocy. Nowy system /wieloprzetwarzaniowy/ zapewni pełny zakres usług.

P5: Jak można by scharakteryzować zastosowania waszych użyt­ kowników? 0: Prace studentów /głównie naukowe i inżynieryjne/ oraz badania nad wielodostępem. - 185 -

P6: Gzy wydajność użytkownika różni się w stosunku do środowis­ ka przetwarzania partiowego? 0: W wielodostępie użytkownicy mogą otrzymać więcej wykonanej pracy przy mniejszych nakładach, uwzględniając koszt pro­ gramistów oraz eksploatację partiową w ośrodkach zamknię­ tych.

P7: Jaka jest maksymalna wielkość zhioru u użytkownika? 0: Dziesięć tysięcy wierszy 4-0-znakowych na jeden zbiór, lecz użytkownik może łączyć kaskadowo zbiory bez ograniczeń,

P8: Gzy wasz system zapewnia możliwość dynamicznego rozwinię­ cia zbiorów? 0: Tak. 0 ile użytkownik tego nie określi, system początkowo przydziela dwie stronice, a następnie automatycznie zwięk­ sza ich ilość, aż do wartości granicznej, jeśli jest to potrzebne.

P9* Gzy wielu użytkowników może jednocześnie wspólnie korzys­ tać z jednego zbioru? 0: Tak, dla odczytu; nie, dla zapisu. Tylko właściciel zbioru może coś w nim zapisywać lub go modyfikować. Dostęp do od­ czytu jest określany przez właściciela; może on być dla wszystkich /publiczny/, lub dla nikogo /poufny/, lub może być zapewniony dla któregokolwiek członka innej grupy pro­ jektowej. University of California - w Berkeley CP: Prototyp SDS -940 P1: Mierzy się wykorzystanie których zasobów systemu i jak? 0: Dodatkowo, poza regularnymi pomiarami, mierzy się czas zegarowy CP, czas podłączenia terminala, przechowywanie zbiorów. Posiadamy zespół specjalnych rejestrów, liczni­ ków uwarunkowanych czasowo, które albo mogą być nastawio­ ne na pewną wartość i zliczać w dół do zera /generując, przerwanie/, albo nastawione na zero i zliczać górę /kon­ trolowane przez próbkowanie/.

P2: Jakie uzyskuje się wykorzystanie zasobów? 0: W środowisku doświadczalnym zmienia się ono znacznie, lecz ogólnie moglibyśmy je podsumować jako ’’pełne’1.

P3: Jakie są wąskie gardła systemu? 0: Głównie obszar przesyłania programów /stronicowanie/ - na początku odcinka czasu obsługi załadowujemy zestaw stronic roboczych dla każdego programu, w ten sposób przesyłamy ogromne ilości informacji. Mogłoby to dziać się szybciej.

P4: Jaki zapewniacie zakres usług obliczeniowych? 0: Tylko obliczenia typu konwersacyjnego.

P5: Jak można by scharakteryzować zastosowania waszych użyt­ kowników? 0: Prace eksperymentalne w zakresie wielodostępu, symulacje, nowe języki wzajemnego oddziaływania. - 187 -

P6: Czy wydajność użytkownika różni się w stosunku do środo­ wiska przetwarzania partiowego?

O: Użytkownicy są wysoce przychylnie nastawieni w stosunku do wielodostępu. Nie chcieliby odejść gdzie indziej, jeśli nie mieliby zapewnionych takich samych możliwości - to nie jest dowcip. Tak samo praca jest wykonywana około dziesięć razy szybciej.

P7: Jaka jest maksymalna wielkość zbioru u użytkownika? O: Posiadamy bardzo duże pojemności zbiorów, rzędu setek tysięcy słów.

P8: Czy wasz system zapewnia możliwość dynamicznego rozwi­ nięcia zbiorów? O: Tak. System automatycznie przydziela początkową przes­ trzeń dla zbioru i rozszerza ją w miarę potrzeby.

P9: Czy wielu użytkowników może jednocześnie korzystać wspólnie z jednego zbioru? O: Tak, dla jednoczesnego dostępu celem odczytu. Tylko jeden użytkownik może w jednej chwili czasu zapisywać informacje do zbioru; wszystkie inne żądania zapisu są ustawiane w kolejkę.

"Zespół" z.853/72 n.850 A-88 .

' ■ ■ ' i * “-Kr'-:'' \\ f / -

?

1 v\ . * • ' . • • V .. ■ v ’• ' ‘ ' „, ,t - :■ " i f '-, V • V ¡$$|

■/i

:

t V A*

’.t; iśf