Filozofia jest sztuką życia. Cyceron

Obsluga wejscia wyjscia KIA PRz

Obsluga wejscia wyjscia KIA PRz, Materiały, III semestr, Systemy operacyjne- materiały, egzamin, SO egz, SO egz, ...

[ Pobierz całość w formacie PDF ]
¤ Cele podsystemu wejĻcia/wyjĻcia:
Î udostħpnienie jednakowych metod dostħpu do urzĢdzeı
Î niezaleŇnoĻę programw od urzĢdzenia we/wy
Î zwiħkszenie wydajnoĻci
¤ Podstawowe wþaĻciwoĻci urzĢdzeı:
Î jednostki przesyþania danych (bajty, bloki)
Î sposb dostħpu (sekwencyjny, swobodny)
Î organizacja przesyþu (synchroniczna lub asynchroniczna)
Î wspþdzielenie (dostħp wyþĢczny lub wsplny)
Î prħdkoĻę przesyþu danych
Î operacje uprzywilejowane (odczyt, zapis, inne)
Î bþħdy przy wykorzystaniu urzĢdzeı
Î kody znakw
¤ W starszych systemach przesyþanie danych zwiĢzane z pracĢ
urzĢdzeı zewnħtrznych byþo sterowane przez jednostkħ
centralnĢ (
polling
). UniemoŇliwiaþo to wykonywanie w tym
samym czasie obliczeı programu i operacji wejĻcia/wyjĻcia
¤ Typowe sposoby koordynowania pracy jednostki centralnej i
urzĢdzeı wejĻcia-wyjĻcia:
Î Przesyþanie danych sterowane przerwaniami
Î Przesyþanie danych na zasadzie bezpoĻredniego dostħpu do
pamiħci (DMA)
¤ Procedura przesyþania danych
1. Procesor ustawia odpowiednie rejestry kontrolera urzĢdzenia, po czym
wznawia normalnĢ pracħ.
2. Kontroler bada zawartoĻę rejestrw. JeĻli, na przykþad zostanie
rozpoznane polecenie czytania, to sterownik zainicjuje przesyþanie
danych z urzĢdzenia do swojego bufora.
3. Gdy przesyþanie danych zostanie zakoıczone, kontroler za pomocĢ
przerwania informuje CPU, Ňe zakoıczyþ operacjħ.
4. Procesor wstrzymuje bieŇĢcĢ pracħ i rozpoczyna procedurħ obsþugi
przerwania.
5. Procedura obsþugi przerwania przesyþa dane z lokalnego bufora
kontrolera do pamiħci gþwnej.
6. Nastħpuje pobranie zapamiħtanego adresu powrotnego i wznowienie
przerwanych obliczeı, tak, jakby przerwania nie byþo.
wykonywanie
procesu
uŇytkownika
procesor
obsþuga
przerwaı
wejĻcia-wyjĻcia
bezczynne
urzĢdzenie
wejĻcia-
wyjĻcia
przesyþajĢce
zamwienie
wejĻcia-wyjĻcia
przesþanie
wykonane
zamwienie
wejĻcia-wyjĻcia
przesþanie
wykonane
 n
n
¤ Przeznaczony dla blokowych urzĢdzeı wejĻcia-wyjĻcia
¤ DMA Î
Direct Memory Access
¤ Kontroler urzĢdzenia przesyþa bezpoĻrednio caþy blok danych miħdzy
wþasnym buforem a pamiħciĢ Î bez interwencji procesora.
¤
Przerwanie wypada jeden raz na caþy blok danych, a nie po przesþaniu
kaŇdego bajtu
¤ Przebieg procedury przesþania danych:
1. Przy ŇĢdaniu przesþania danych ustalany jest bufor dla operacji. MoŇe to byę pusty
bufor wejĻciowy lub peþny bufor wyjĻciowy.
2. Adres bufora umieszcza siħ w rejestrach kontrolera DMA, po czym za
poĻrednictwem rejestru kontrolnego kontroler dostaje polecenie wykonania operacji
wejĻcia-wyjĻcia.
3. Po zakoıczeniu kontroler wysyþa przerwanie do procesora.
n
n
nn
nn
n
PROGRAMOWY
STEROWNIK URZġDZENIA
PROCEDURA
WE/WY
PROCEDURA
OBSýUGI
URZġDZENIA
ņġDANIE
WE/WY
PROCEDURA
PRZERWANIA
PROCES
UņYTKOWNIKA
SYSTEM
OPERACYJNY
n
n
¤ Programy realizujĢ dostħp nie do rzeczywistych urzĢdzeı, lecz
tzw.
n
(
n
), bez uwzglħdniania
fizycznych charakterystyk konkretnych urzĢdzeı.
¤ Korzystanie ze strumienia:
Î otwarcie strumienia (wpis w tablicy strumieni wykorzystywanych
przez proces)
Î Wykonanie operacji we/wy
Î Zamkniħcie strumienia
¤ Przykþad:
char buf[7]=ÑABCDEFÑ;
FILE*str = fopen(ÑPRN:Ñ,ÑwtÑ); /* lub ÑC:\TEST.TXTÑ itp. */
if(!str) {
printf("BþĢd otwarcia !");
return 0;}
fwrite(buf, 6, 1, str);
fclose(str);
¤ Parametry:
Î identyfikator strumienia
Î rodzaj operacji (odczyt, zapis, formatowanie)
Î iloĻę przesyþanych danych
Î adres obszaru danych
Î znacznik zakoıczenia
¤ Niektre systemy dopuszczajĢ dwa rodzaje obsþugi we/wy:
Î z blokowaniem (proces czeka na zakoıczenie operacji)
Î bez blokowania (proces kontynuuje dziaþanie, zakoıczenie operacji jest sygnalizowane)
¤ Algorytm procedury we/wy:
procedure ProceduraWEWY(strumieı, operacja, iloĻę_danych,
adres_danych, znacznik_zakoıczenia)
begin
szukaj urzĢdzenia w tablicy strumieni procesu;
sprawdŅ zgodnoĻę parametrw z deskryptorem urzĢdzenia;
if zþe parametry then zakoıcz z bþħdem;
umieĻę parametry w bloku zamwieı WE/WY
;
doþĢcz blok zamwieı do kolejki zamwieı urzĢdzenia;
end;
n
n
IDENTYFIKATOR
LISTA ROZKAZìW
STAN URZġDZENIA
TABLICE
KONWERSJI
ZNAKìW
BLOKI ZAMìWIEİ
WE/WY
¤ Realizacja zamwieı z kolejki
¤ Algorytm (
Operacja wejĻcia
)
forever
begin
repeat until sĢ zamwienia;
wybierz blok z kolejki;
inicjuj operacjħ WE na podstawie danych z bloku;
czekaj na wykonanie operacji;
sprawdŅ status bþħdu;
[konwertuj znaki]
[umieĻę dane pod adresem docelowym]
[ustaw znacznik zakoıczenia]
usuı
blok z kolejki
end;
OPERACJA
ILOĺĘ
ADRES
ID PROCESU
ZNACZNIK
ZAKOİCZENIA
DESKRYPTOR
URZġDZENIA
n
¤ Dane wejĻciowe sĢ pobierane przez system i umieszczane w
, skĢd mogĢ byę pobrane przez proces uŇytkownika.
Faktyczny dostħp do urzĢdzenia jest realizowany w momencie
oprŇnienia bufora.
¤ Dane wyjĻciowe umieszczane sĢ w
, zaĻ
system operacyjny wysyþa je do urzĢdzenia dopiero po zapeþnieniu
bufora
.
N
N
N
N
¤
nn
[ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • happyhour.opx.pl
  • Tematy

    Cytat


    Facil(e) omnes, cum valemus, recta consili(a) aegrotis damus - my wszyscy, kiedy jesteśmy zdrowi, łatwo dajemy dobre rady chorym.
    A miłość daje to czego nie daje więcej niż myślisz bo cała jest Stamtąd a śmierć to ciekawostka że trzeba iść dalej. Ks. Jan Twardowski
    Ad leones - lwom (na pożarcie). (na pożarcie). (na pożarcie)
    Egzorcyzmy pomagają tylko tym, którzy wierzą w złego ducha.
    Gdy tylko coś się nie udaje, to mówi się, że był to eksperyment. Robert Penn Warren