WYKORZYSTYWANIE SYSTEMÓW

Systemy takie są wykorzystywane do nauczania wspomaganego kompute­rem i kierowania nauczaniem, dialogowo wspomaganego sterowania eksperymentem badawczym, programowa­nego nauczania i projektowania, rozwiązywania złożonych problemów metodami heurystycznymi itp. Najczęściej sto­sowanymi maszynami cyfrowymi w systemach konwersa- cyjnych są minikomputery o dużych szybkościach działa­nia, z zewnętrzną pamięcią masową o dużej pojemności oraz z ograniczoną liczbą terminali.W strukturze systemów wielodostępnych na plan pier­wszy wybijają się te cechy, które wynikają z konieczności podziału mocy obliczeniowej procesora między aktywnych użytkowników oraz podziału pamięci operacyjnej między równouprawnionych użytkowników. Po spełnieniu pod­stawowych wymagań technicznych, dotyczących głównie pojemności i modułowości pamięci operacyjnej, a także szybkości operacyjnej oraz możliwości wykorzystywania multipleksorowych i selektorowych kanałów transmisji danych, problem właściwego rozdziału zasobów systemu między jego użytkowników jest zadaniem systemu operacyjnego. Podział mocy obliczeniowej systemu polega na cykli­cznym oddawaniu procesora kolejnemu użytkownikowi dla realizacji jego zadań na przeciąg stałego odcinka czasu (cyklu podstawowego). Sposób ten zwany jest segmenta­cją czasu.

DŁUGI CZAS REALIZACJI

Charakterystycznym elementem systemów interakcyj­nych jest względnie długi czas realizacji programów użyt­kowych, z uwagi na częste ich zawieszanie. Element ten powoduje wzrost strat wynikających z nieefektywnego wykorzystywania pamięci komputera.Ze względu na metody translacji języków dialogowych na język maszynowy wyróżnia się systemy dialogowe interpretacyjne i kompilacyjne. Pierwsze z nich wyróżniają się łatwą diagnozą błędów formalnych ze względu na to, iż każdy rozkaz jest analizowany oddzielnie. W systemach dialogowych typu kompilacyjnego stosowana jest tzw. translacja inkrementalna, która uwzględnia wymagania dotyczące możliwości wprowadzania zmian w programie źródłowym w trakcie jego realizacji. Projektowanie i budowa tego typu systemów są przedsięwzięciami długotrwałymi.Systemy konwersacyjne, zwane też wspomagającymi, mają pewne cechy systemów uwarunkowanych czasowo oraz interakcyjnych. Ich praca polega na wzajemnym wspomaganiu partnerów w procesie rozwiązywania prob­lemów. Zakres ewentualnego wspomagania użytkownika przez system rozszerza się w miarę upływu czasu, w któ­rego ramach wzrasta liczba programów i procedur zgro­madzonych w pamięciach komputera.

ORGANIZACJA PRACY

Z punktu widzenia organizacji pracy w klasie systemów uwarunkowanych czasowo wyróżnia się dwie podklasy:   systemy automatyczne, w których dane przesyłane są bezpośrednio między elementami systemu pod nadzorem procesora sterującego;     systemy półautomatyczne, w których kluczowe decy­zje podejmuje człowiek i przekazuje do systemu w ramach interakcyjnego współdziałania z komputerem.Komputery wykorzystywane w systemach uwarunko­wanych czasowo charakteryzują się organizacją słowową oraz krótkim słowem, w ich zestawach zaś spotkać można złożone układy WE-WY oraz specjalizowane urządzenia zewnętrzne. Wśród nich najczęściej występują konwer­tery A/C i C/A, komutatory sygnałów oraz układy zegarowe. Systemy interakcyjne to takie, w których użytkownik wprowadza do komputera zarówno dane, jak i programy, a ponadto prowadzona jest dwustronna wymiana informacji między użytkownikiem a systemem. W tym obszarze można się spotkać z systemami w pełni dialogowymi, w których użytkownik może modyfikować swój program w trakcie jego realizacji, a system może zażądać dodatko­wych informacji w tym samym czasie. Obok takich roz­wiązań można spotkać systemy zwane półdialogowymi, w których nie jest możliwa ingerencja użytkownika w prze­bieg programu.

CHARAKTERYSTYCZNY ELEMENT

Charakterystycznym elementem w architekturze kompute­rów wykorzystywanych w tej klasie systemów są bardzo rozbudowane pamięci zewnętrzne (masowe).Systemy uwarunkowane czasowo są budowane z myślą o rozwiązaniach, które umożliwiają szybką rejestrację zda­rzeń i danych, ich przetwarzanie oraz przekazywanie oto­czeniu otrzymanych wyników. Systemy te są stosowane głównie do sterowania procesami technologicznymi, gdzie abonentami nie są ludzie, ale urządzenia pomiarowe, regulacyjne i sterujące.Zasada pracy systemów uwarunkowanych czasowo jest podobna do pracy systemów zapytaniowych w trybie wie­lozadaniowym. Ze względu na dużą dynamikę zmian zachodzących w otoczeniu czas reakcji opisywanych systemów musi być bardzo krótki, chociaż może być zróż­nicowany. W związku z tym systemy te są wyposażone w rozbudowane układy przerywania programów przez syg­nały zewnętrzne. Oprócz systemów stosowanych do sterowania otocze­niem budowane są także systemy przetwarzania na bie­żąco, w których obliczenia i przetwarzanie informacji na­dążają za działaniem pewnego systemu fizycznego. Najczę­ściej rezultaty pracy takich systemów mają postać sygna­łów alarmowych, wydruków informacyjnych lub wskazó­wek dla operatora.

INICJACJA ZADANIA

Dotyczy ona także wyboru momentu zainicjowania realizacji swojego zadania, a także przerwania lub zakończenia współpracy z systemem. Użytkownicy systemów konwencjonalnych pozbawieni są takich możliwości, albowiem dyrygentem procesu realiza­cji zadań użytkowych jest system operacyjny, który – zgodnie z ustalonymi zasadami – steruje przebiegiem wykonywania się programów wprowadzonych do pamięci komputera w formie wsadu.Systemy zapytaniowe – to systemy budowane dla dużej liczby użytkowników, których zadania oraz czasy komuni­kacji z systemem angażują jego zasoby na bardzo krótkie okresy. Typowym przedstawicielem dla tej klasy systemów może być system rezerwacji miejsc, w którym użytkownicy formułują swoje żądania nie w postaci programów, lecz parametrów do programów przechowywanych w pamię­ciach komputera. Parametry te mają charakter zwrotnic programów stałych .Rozwiązanie to pozwala na skrócenie czasu obsługi jednego zgłoszenia średnio do 1 s, a czasu komunikowania się użytkownika z systemem do ok. 15-20 s. Ten sposób pracy systemu wielodostępnego jest zwany także wieloprocesowym lub wielozadaniowym.

WYRÓŻNIAJĄCY ELEMENT

Dzięki nim użytkownik jest zwolniony od obowiązku ścisłego formalizowania programowego swoich potrzeb i zadań, a także stosowania stałych forma­tów dla ujęcia wykorzystywanych danych. W odróżnieniu od systemów bez wielodostępu (tzw. systemów cyfrowych ze współdostępem), w których użytkownicy mogą wyko­rzystywać podzbiory jednego lub wielu centralnych (a więc obcych) zbiorów danych, w systemach wielodostęp­nych użytkownik ma możliwość posiadania własnych, otwartych zbiorów. Może on także budować, modyfiko­wać, sprawdzać i wykorzystywać własne programy, a więc mieć wpływ na formę i charakter wykorzystywanego oprogramowania. W systemach konwencjonalnych użyt­kownik może korzystać z zasobów centralnego zbioru oprogramowania, w którym poszczególne programy są przypisane określonym użytkownikom. Istotnym elementem wyróżniającym systemy wielodo­stępne jest także swoboda dostępu do wszystkich zaso­bów i funkcji systemu za pomocą ich terminali. Swoboda ta jest rozumiana jako możliwość rozwiązywania wszyst­kich zadań obliczeniowych użytkownika za pomocą jed­nego systemu cyfrowego.

SYSTEMY WIELODOSTĘPNE

Stystemy te, zwane także abonenckimi, zaczęły się pojawiać w latach sześćdziesiątych jako rozwiązania umożliwiające wielu użytkownikom zdalne wykorzystywa­nie mocy obliczeniowej centralnego systemu cyfrowego. Zastosowane w nich rozwiązania pozwoliły wyeliminować zasadniczą wadę systemów przetwarzania partiowego, jaką jest długi czas realizacji zadania użytkowego. Ważną rolę w rozpowszechnieniu systemów abonenckich ode­grało stworzenie warunków bezpośredniego kontaktu użytkownika z systemem, a zwłaszcza korzystania z cen­tralnej pamięci o dużej pojemności i możliwości rozbudo­wanego oprogramowania systemowego. Nie bez znacze­nia był także fakt, że w procesach eksploatacji systemy wielodostępne okazały się bardziej niezawodne, uniwer­salne oraz elastyczne w porównaniu z systemami prze­twarzania partiowego i systemami klasycznymi. Szczegól­nie mocno podkreśla się charakter form użytkowania systemu cyfrowego, biorąc pod uwagę takie elementy jak: środki wspomagające wykorzystywanie stacji abonenc­kich, zbiory danych i ich biblioteki oraz programy i języki komunikacji.

PRZENIKALNOŚĆ

Przenikalność – to cecha, która charakteryzuje zakres udostępnienia użytkownikowi możliwości wynikających z istoty architektury logicznej systemu cyfrowego w wyko­rzystywanym oprogramowaniu. Dzięki niej można bez szczegółowej analizy dowiedzieć się, czy np. oprogramo­wanie umożliwia stosowanie działań arytmetycznych w zmiennym przeciwniku na liczbach nieznormalizowanych, w przypadku gdy struktura logiczna i techniczna sprzętu daje możliwości takich operacji. Wyżej wymieione cechy oprogramowania systemów cyfrowych mają charakter uniwersalny i dotyczą wszyst­kich programów, niezależnie od tego, w jakiego rodzaju systemach są wykorzystywane. Jednakże bliższe zapo­znanie się z oprogramowaniem systemów wielodostęp­nych pozwala stwierdzić, że w stosunku do rozwiązań pracujących tradycyjnie lub wykorzystujących różne tryby pracy wsadowej te pierwsze mają bardziej rozbudowane oprogramowanie zarządzające, symulujące oraz diagno­styczne. Równocześnie w systemach tych skromniej są reprezentowane programy użytkowe oraz kompilatory języków asemblerowych.Drugą istotną cechą odróżniającą oprogramowanie systemów wielodostępnych od wsadowych jest szerokie stosowanie problemowego języka programowania. Wyni­ka to między innymi stąd, że wiele użytkowo eksploato­wanych systemów wielodostępnych dostosowane jest do potrzeb różnych klas użytkowników. Dlatego też systemy te często nazywane są systemami zorientowanymi na użytkownika.

PRZYSTOSOWALNOŚĆ

Przystosowalność – to cecha określająca zdolność dostosowania programu do potrzeb użytkownika bez konieczności zmiany otoczenia. Różnica między przenoś­nością a przystosowałnością zawiera się w tym, że pier­wsza dotyczy łatwości zmian otoczenia programu, a druga   jego algorytmu. Stąd też można czasami spotkać się z pojęciem elastyczności programu, które określa zakres możliwości wprowadzania zmian do programu.Kolejną istotną cechą oprogramowania systemów cyf­rowych jest ich rozszerzalność, która określa rodzsj i cha­rakter możliwości rozbudowy wykorzystywanego opro­gramowania w miarę jego eksploatacji. Często cecha ta jest rozumiana w sensie zbliżonym do elastyczności, ale z reguły odnosi się to do przypadków różnych konfiguracji tego samego sprzętu cyfrowego. Osiągnięcie wysokiego poziomu rozszerzalności opro­gramowania jest w dużym stopniu możliwe dzięki nadaniu mu struktury modularnej. W strukturze tej każdy element (moduł) oprogramowania powinien mieć ściśle określone zadania funkcjonalne oraz sposób łączenia z innymi modu­łami. Przestrzeganie tej zasady ułatwia budowę elemen­tów złożonych, ich dokumentowanie oraz konserwację.

FIRMOWE OPROGRAMOWANIE

Mówiąc o opro­gramowaniu firmowym w tym obszarze, mamy na myśli oprogramowanie pochodzące jedynie z pierwszych dwóch źródeł. Oczywiście, omówiony wyżej podział należy traktować umownie, albowiem w wielu przypadkach mogą się poja­wić poważne wątpliwości dotyczące zasadności umie­szczenia określonego programu w jednej z wymienionych grup. Niezależnie jednak od stosowanych podziałów, oprogramowanie systemów cyfrowych powinny charakte­ryzować określone cechy, z których niektóre mają charak­ter obligatoryjny, a inne – opcjonalny. Do takich cech należy przenośność, czyli możliwość odwzorowania funk­cji i własności programów w różnych systemach cyfro­wych. Cecha ta jest określana czasami jako miara łat­wości przeniesienia programu do działania w innym środowisku. Na ogół cecha ta nie dotyczy systemów ope­racyjnych. W literaturze fachowej można spotkać określe­nie niezależności oprogramowania od maszyny jako synonimu przenośności. W bardziej szczegółowych opra­cowaniach podkreśla się, że wzmiankowana niezależność dotyczy głównie takich parametrów jak długość słową. wielkości liczb, form przedstawienia znaków itp.