To tylko jedna z 6 stron tej notatki. Zaloguj się aby zobaczyć ten dokument.
Zobacz
całą notatkę
Systemy operacyjne / Zarz ą dzanie urz ą dzeniami zewn ę trznymi 1 Zarz ą dzanie urz ą dzeniami zewn ę trznymi Podstawową funkcją kaŜdego SO jest obsługa fizycznych UZ . Podsystem zarz ą dzania UZ powinien zapewniać: • niezaleŜność od kodów znaków • niezaleŜność od urządzeń we/wy • wydajność • jednolite traktowanie urządzeń W SK wyróŜnia się kilka poziomów obsługi UZ : 1. poziom fizyczny - bezpośrednia manipulacja rejestrami UZ , obsługa przerwań, inicjowanie transmisji 2. poziom wywoła ń systemowych ( dyrektyw ) - komunikacja z programami obsługi UZ ( device driver ) 3. poziom usług ( File Manager , Explorer , File Control Service i tp.) oferujący jednolity sposób dostępu. Systemy operacyjne / Zarz ą dzanie urz ą dzeniami zewn ę trznymi 2 Programy obsługi UZ ( Pou ) Def. Program obsługi UZ ( device driver ) jest zbiorem funkcji i danych umo Ŝ liwiaj ą cych bezpośredni dostęp do urządzenia. Wła ś ciwo ś ci : • Pu mogą komunikować się z UZ jedynie przy pomocy Pou • Pou są integralną częścią j ą dra , przy czym dołączenie nowego Pou do SO moŜe odbywać się: statycznie ( poprzez utworzenie nowego j ą dra ) dynamicznie • komunikacja jądra z Pou jest realizowana przy pomocy standardowego zestawu procedur , który jest wspólny dla wszystkich Pou • wszystkie UZ są traktowane jako pliki ( SU ) • jedynie Pou mają moŜliwość reakcji na przerwania sprz ę towe generowane przez UZ Systemy operacyjne / Zarz ą dzanie urz ą dzeniami zewn ę trznymi 3 Sposób dost ę pu do UZ Dostęp do UZ jest realizowany na analogicznych zasadach jak do plików . Odbywa się to w następujących krokach: 1. naleŜy otworzyć urz ą dzenie przy uŜyciu funkcji open () podając jako parametr nazw ę urz ą dzenia z katalogu /dev . W przypadku pomyślenego zakończenia funkcja ta zwraca deskryptor pliku fd 2. następnie moŜna wykonać Ŝądaną operacje we/wy jak np. write () , read () , ioctl () . W trakcie wykorzystywania tych funkcji urządzenie jest identyfikowane przez deskryptor pliku fd 3. po wykorzystaniu urządzenia naleŜy go zamknąć uŜywając funkcji close () Systemy operacyjne / Zarz
(…)
… z dodatkowym sprzętem elektronicznym (dyski, taśmy,
czujniki, kontrolery),
• urządzenia komunikacyjne (karty sieciowe, sterowniki linii cyfrowych,
modemy).
RóŜnice w zarządzaniu urządzeniami wejścia-wyjścia
Zestaw procedur Pou
xx_init();
xx_open();
xx_close();
xx_read();
xx_write();
xx_strategy();
xx_intr();
xx_ioctl();
xx_select();
Systemy operacyjne / Zarządzanie urządzeniami zewnętrznymi
• złoŜoność…
… uŜytkownika) UZ są traktowne jak pliki, a
zatem wszelkie zlecenia wykonania operacji we/wy przechodzą przez
FS.
Po odnalezieniu przez FS węzła (i-node) odpowiadającego plikowi
reprezentującemu UZ, są odczytywane informacje w nim zawarte, a więc:
• rodzaj urządzenia: blokowe, znakowe
• nr podprogramu obsługi: major, minor number
Tablice przełączające Pou (Device Switch Tables)
3. po wykorzystaniu urządzenia naleŜy go zamknąć uŜywając funkcji
close()
W SO istnieją dwa rodzaje tablic dzięki którym następuje przełączenie na
określony Pou, a mianowicie:
• tablice dla urządzeń znakowych
• tablice dla urządzeń blokowych
4
Systemy operacyjne / Zarządzanie urządzeniami zewnętrznymi
5
Systemy operacyjne / Zarządzanie urządzeniami zewnętrznymi
6
Typy urządzeń wejścia/wyjścia
• Indeksem do tych tablic jest nr główny…
… bezpośrednio urządzeniami,
dodanie kontrolerów i modułów wejścia/wyjścia,
dodanie przerwań kontrolerów,
DMA
Idea działania DMA
• moduły DMA kontrolują wymianę danych pomiędzy pamięcią główną
a urządzeniami wejścia/wyjścia,
• praca procesora przerywana dopiero po przesłaniu całego bloku
danych,
• wykorzystuje wykradanie cykli procesorowi,
• procesor pauzuje jeden cykl szyny systemowej,
• nie ma przerwań…
… zewnętrznymi
14
Szeregowanie dostępu do pamięci dyskowej
Modele organizacji
wejścia/wyjścia
Czas wyszukiwania - (seek time) czas ustawienia głowicy na docelowej
ścieŜce,
Opóźnienie rotacyjne - (rotational delay, latency) czas ustawienia
głowicy na początku docelowego sektora,
Czas dostępu – (access time) czas wyszukiwania + opóźnienie rotacyjne
• to czas wyszukiwania decyduje o wydajności
• duŜa rola dyskowej…
… (major number), który
wskazuje na odpowiedni wiersz tablicy.
• Wiersz zawiera nazwę oraz zestaw wskaźników do procedur Pou. W
zaleŜności od rodzaju wywołania systemowego we/wy jest
wybierany wskaźnik do odpowiadającej mu procedury Pou.
Procedura ta jest wywoływana i jest jej przekazywany jako argument
nr pomocniczy (minor number).
• do komunikacji z uŜytkownikiem (drukarki, terminale),
• do komunikacji…
... zobacz całą notatkę
Komentarze użytkowników (0)