7.doc

(67 KB) Pobierz
W przypadku odpytywania Podejście tego typu określa się jako aktywne czekanie

Zadanie 1

Czym różni się interakcja jednostki centralnej z urządzeniem wejścia-wyjścia w trybie odpytywania i w trybie przerwań?

 

Najważniejszą różnicą między sterowaniem przerwaniami a odpytywaniem jest to, że w przypadku przerwań procesor nie musi monitorować w sposób ciągły stanu sterownika. Inicjalizuje on pracę sterownika, a o jej zakończeniu lub zaistnieniu określonego stanu informowany jest przez przerwanie, które zgłasza sterownik. Natomiast w odpytywaniu procesor jest odpowiedzialny zarówno za monitorowanie stanu sterownika (np. w celu stwierdzenia zakończenia operacji) jak i transfer danych. Procesor jest więc zobligowany do ciągłego lub okresowego sprawdzania rejestru stanu sterownika, co wymaga odpowiedniej konstrukcji modułu sterującego.

Tc — czas przetwarzania (obliczeń) przez procesor

Zadanie 2

Proszę dokonać porównania efektywności interakcji jednostki centralnej z urządzeniami wejścia-wyjścia w trybie odpytywania oraz w trybie sterowania przerwaniami.

 

Td — czas realizacji operacji wejścia-wyjścia przez sterowniki urządzeń

To — skumulowany narzut czasowy, wynikający ze zwłoki pomiędzy zgłoszeniem gotowości przez sterownik, a reakcją przez procesor

Tt — całkowity czas

 

W trybie odpytywania narzut czasowy To = Tp, gdzie

Tp — skumulowane opóźnienie w pętli odpytywania pomiędzy ustawieniem bitu gotowości, a odczytaniem rejestru stanu.

 

W trybie sterowania przerwaniami narzut czasowy To = Tb + Th + Tr, gdzie:

Tb — skumulowany czas oczekiwania na zwolnieni urządzenia,

Th — skumulowany czas obsługi przerwań,

Tr — skumulowany czas oczekiwania na przydział procesora po zakończeniu operacji

 

W systemie jednozadaniowym czas cyklu przetwarzania: Tt = Tc + Td + To

Ponieważ Tp < Th + Tb + Tr:

W systemie jednozadaniowym odpytywanie zapewnia większą efektywność nawet przy założeniu, że Tr = 0 i Tb = 0. Z punktu widzenie pojedynczego procesu odpytywanie zapewnia większą efektywność.

 

System wielozadaniowy

Rozważmy zbiór procesów współbieżnych P1, ..., Pn.

• Niech Tt,i, Td,i, Tc,i, Tp,i, Th,i, Tb,i i Tr,i oznaczają odpowiednie parametry czasowe procesu Pi.

• Całkowity czas przetwarzania zbioru procesów w trybie odpytywania:

Całkowity czas przetwarzania w trybie sterowania przerwaniami, przy założeniu, że:

- wariant optymistyczny

- wariant pesymistyczny

Ogólna efektywność przetwarzania w trybie sterowania przerwaniami w wariancie optymistycznym jest większa w porównaniu z trybem odpytywania wówczas, gdy

Ogólna efektywność przetwarzania w trybie sterowania przerwaniami w wariancie pesymistycznym jest większa w porównaniu z trybem odpytywania wówczas, gdy

 

Opis słowny:

Na potrzeby systemu wielozadaniowego analizowany jest łączny czas przetwarzania zbioru procesów.

W przypadku odpytywania nie ma jednoczesności przetwarzania, a więc czas ten jest sumą czasów przetwarzania poszczególnych procesów.

Analiza w trybie sterowania przerwaniami zrobiona jest przy założeniu, że łączny czas procesora, potrzebny do realizacji przetwarzania jest większy, niż łączny czas realizacji operacji wejścia-wyjścia. Zbiór zadań jako całość ograniczony jest więc procesorem.

W wariancie optymistycznym zawsze po wejściu w stan oczekiwania procesu zlecającego operację wejścia-wyjścia jest jakiś inny proces gotowy. Oznacza to, że w czasie, gdy proces oczekuje na dostępność urządzenia lub przydział procesora, procesor wykonuje inne zadanie. Jedynie sama obsługa przerwania angażuje procesor i w tym czasie nie może on wykonywać przetwarzania aplikacyjnego.

W wariancie pesymistycznym wszystkie procesy w tym samym czasie zlecają wykonanie operacji wejścia-wyjścia na tym samym urządzeniu, a urządzenie przydzielane jest temu procesowi, którego zlecenie jest najbardziej czasochłonne.

Czas skumulowanej obsługi przerwań, nawet w wariancie pesymistycznym, usiałby być znaczący, żeby kwestionować ogólną zasadność obsługi urządzeń wejścia-wyjścia sterowanej przerwaniami. Takie podejście mogłoby jedynie mieć sens w przypadku bardzo szybkich urządzeń, które potrafią zrealizować operację wejścia-wyjścia w czasie kilkunastu lub kilkudziesięciu cykli rozkazowych.

 

Zadanie 3

Jaki sposób realizacji buforowania byłby najlepszy w celu:

(a)dopasowania różnic szybkości pracy urządzeń,

(b)dopasowania jednostek transmisji danych w przypadku urządzeń przekazujących dane taką samą średnią szybkością,

(c)zagwarantowania semantyki kopii?

Proszę uzasadnić odpowiedź.

 

Dopasowanie różnic szybkości pracy urządzeń

W przypadku dużych tymczasowych rozbieżności w szybkości pracy urządzeń konieczny może być bufor cykliczny, w którym jest kilka pozycji. Producent zapełnia kolejne pozycje, a gdy dojdzie do końca, rozpoczyna ponownie od początku. Podobnie konsument pobiera dane z poszczególnych pozycji. W ten sposób niwelowany jest czas oczekiwania na odczyt danych przez urządzenie wolniejsze.

 

Dopasowanie jednostek transmisji danych w przypadku urządzeń przekazujących dane taką samą średnią szybkością

Wydaje mi się, że dobry będzie w tym przypadku bufor podwójny. Unika się w ten sposób zbędnych operacji wejścia-wyjścia. Dane gromadzone są w buforze w celu „uformowania” jednostki o właściwym rozmiarze, po czym następuje zamiana buforów i zaczyna się odczyt.

 

Zagwarantowanie semantyki kopii

Tu już nie wiem, ale raczej wystarczy jeden bufor. Dane są do niego zapisywane, po czym, jeżeli będzie to wymagane, można je odczytać. Nie potrzebny jest więc równoczesny zapis i odczyt danych z bufora.

 

...
Zgłoś jeśli naruszono regulamin