io wyk10

background image

System wejścia-wyjścia

System wejścia-wyjścia

Trzy rodzaje urządzeń wejścia

Trzy rodzaje urządzeń wejścia

-

-

wyjścia:

wyjścia:





Urządzenia pamięci (dyski, taśmy)

Urządzenia pamięci (dyski, taśmy)





Urządzenia przesyłania danych (karty sieciowe,

Urządzenia przesyłania danych (karty sieciowe,

modemy)

modemy)





Urządzenia komunikacji z człowiekiem (klawiatury,

Urządzenia komunikacji z człowiekiem (klawiatury,

myszy, monitory)

myszy, monitory)

background image

Różnice między urządzeniami we-wy

Różnice między urządzeniami we-wy





Urządzenie znakowe

Urządzenie znakowe

-

-

przesyła bajty (znaki) z osobna jeden za

przesyła bajty (znaki) z osobna jeden za

drugim (terminal)

drugim (terminal)

Urządzenie blokowe

Urządzenie blokowe

-

-

przesyła jednorazowo całe bloki (dysk)

przesyła jednorazowo całe bloki (dysk)





Dostęp sekwencyjny

Dostęp sekwencyjny

-

-

dane przesyłane kolejno w sposób

dane przesyłane kolejno w sposób

uporządkowany (modem)

uporządkowany (modem)

Dostęp swobodny

Dostęp swobodny

-

-

można mieć dostęp do danych w różnych

można mieć dostęp do danych w różnych

miejscach, niekoniecznie kolejno (CD

miejscach, niekoniecznie kolejno (CD

-

-

ROM)

ROM)





Przesyłanie synchroniczne

Przesyłanie synchroniczne

-

-

taktowane zegarem (taśma)

taktowane zegarem (taśma)

przesyłanie asynchroniczne

przesyłanie asynchroniczne

-

-

w nieokreślonych chwilach

w nieokreślonych chwilach

czasu, sterowane startem i stopem (klawiatura)

czasu, sterowane startem i stopem (klawiatura)





Urządzenie dzielone

Urządzenie dzielone

-

-

przez kilka procesów (dysk)

przez kilka procesów (dysk)

Wyłączne

Wyłączne

-

-

tylko dla jednego użytkownika (taśma)

tylko dla jednego użytkownika (taśma)





Szybkość działania

Szybkość działania

-

-

od B/s do GB/s

od B/s do GB/s





Kierunek przesyłania

Kierunek przesyłania

-

-

czytanie, pisanie lub czytanie i pisanie

czytanie, pisanie lub czytanie i pisanie

background image

Sterowanie urządzeniami wejścia-wyjścia

Sterowanie urządzeniami wejścia-wyjścia

Przekazywanie poleceń z procesora do sterownika:

Przekazywanie poleceń z procesora do sterownika:

Sterownik posiada rejestry do pamiętania danych i sygnałów

Sterownik posiada rejestry do pamiętania danych i sygnałów

sterujących. Procesor pisze i czyta do rejestrów w sterowniku.

sterujących. Procesor pisze i czyta do rejestrów w sterowniku.





Procesor posiada specjalne rozkazy do pisania i czytania

Procesor posiada specjalne rozkazy do pisania i czytania

portów,

portów,





Operacje we

Operacje we

-

-

wy odbywają się w pamięci

wy odbywają się w pamięci

-

-

rejestry są

rejestry są

odwzorowywane w przestrzeni adresowej procesora.

odwzorowywane w przestrzeni adresowej procesora.

W komputerach IBM PC zastosowane są obydwie metody:





Dla kontrolera grafiki

Dla kontrolera grafiki

-

-

ekran odwzorowany w pamięci

ekran odwzorowany w pamięci





Dla portów szeregowych

Dla portów szeregowych

-

-

rejestry we

rejestry we

-

-

wy i bufory

wy i bufory

background image

Port wejścia-wyjścia

Port wejścia-wyjścia





Stan (czytane przez procesor: zakończenie wykonywania

Stan (czytane przez procesor: zakończenie wykonywania

polecenia, dostępność

polecenia, dostępność

bajtu

bajtu

do czytania, błąd urządzenia)

do czytania, błąd urządzenia)





Sterowanie (zapisywane przez procesor: rozpoczęcie polecenia,

Sterowanie (zapisywane przez procesor: rozpoczęcie polecenia,

zmiana trybu pracy urządzenia)

zmiana trybu pracy urządzenia)





Dane wejściowe (czytane przez procesor dane właściwe)

Dane wejściowe (czytane przez procesor dane właściwe)





Dane wyjściowe (zapisywane przez procesor dane dla

Dane wyjściowe (zapisywane przez procesor dane dla

urządzenia)

urządzenia)

Układ FIFO

Układ FIFO

-

-

„magazyn pośredni”

„magazyn pośredni”

-

-

buforuje dane, których

buforuje dane, których

komputer lub urządzenie nie może w danej chwili odebrać.

komputer lub urządzenie nie może w danej chwili odebrać.

STAN

STEROWANIE

DANE WE

DANE WY

FIFO

FIFO

background image

Odpytywanie (polling)

Odpytywanie (polling)

Procedura obsługi co pewien czas testuje stan urządzenia w celu

sprawdzenia jego gotowości do transmisji danych.

Ma sens wtedy, gdy urządzenie jest często gotowe do wykonania

operacji.

Zaleta

Zaleta

natychmiastowe wykonanie operacji we

natychmiastowe wykonanie operacji we

-

-

wy

wy

Do uzgadniania pomiędzy procesorem a urządzeniem w prostym

Do uzgadniania pomiędzy procesorem a urządzeniem w prostym

schemacie producent

schemacie producent

-

-

konsument wystarczą dwa bity:

konsument wystarczą dwa bity:





od strony procesora

od strony procesora bit gotowości polecenia

w rejestrze pleceń

w rejestrze pleceń

-

-

sygnalizujący kompletne polecenie dla urządzenia

sygnalizujący kompletne polecenie dla urządzenia





od strony urządzenia

od strony urządzenia

bit zajętości (

bit zajętości (

w rejestrze stanu),

w rejestrze stanu),

sygnalizujący że urządzenie jest zajęte pracą.

sygnalizujący że urządzenie jest zajęte pracą.

background image

Odpytywanie (polling)

Odpytywanie (polling)

Kolejność działań przy uzgadnianiu:

Kolejność działań przy uzgadnianiu:





Procesor realizuje aktywne czekanie, dopóki bit zajętości jest

Procesor realizuje aktywne czekanie, dopóki bit zajętości jest

ustawiony

ustawiony





Procesor ustawia bit pisania i wpisuje bajt danych do rejestru

Procesor ustawia bit pisania i wpisuje bajt danych do rejestru

danych wy.

danych wy.





Procesor ustawia bit gotowości polecenia

Procesor ustawia bit gotowości polecenia





Sterownik ustawia bit zajętości po zauważeniu bitu gotowości

Sterownik ustawia bit zajętości po zauważeniu bitu gotowości

polecenia

polecenia





Sterownik czyta rejestr poleceń, rozpoznaje polecenie pisania.

Sterownik czyta rejestr poleceń, rozpoznaje polecenie pisania.

Czyta bajt danych z rejestru i wykonuje na urządzeniu operację

Czyta bajt danych z rejestru i wykonuje na urządzeniu operację

wejścia

wejścia

-

-

wyjścia

wyjścia





Sterownik czyści bit gotowości polecenia, bit błędu, a na końcu

Sterownik czyści bit gotowości polecenia, bit błędu, a na końcu

bit zajętości

bit zajętości

I tak dla każdego

I tak dla każdego

bajtu

bajtu

danych

danych

background image

Przerwania

Przerwania

Jeśli urządzenie jest rzadko gotowe do działania, odpytywanie st

Jeśli urządzenie jest rzadko gotowe do działania, odpytywanie st

aje się

aje się

nieefektywne ( procesor większość czasu poświęca na aktywne czek

nieefektywne ( procesor większość czasu poświęca na aktywne czek

anie.

anie.

Mechanizm przerwań:

Mechanizm przerwań:





procesor ma końcówkę (nóżkę) badającą stan linii zgłaszania

procesor ma końcówkę (nóżkę) badającą stan linii zgłaszania

przerwań po wykonaniu każdego rozkazu.

przerwań po wykonaniu każdego rozkazu.





Jeśli procesor wykryje wystąpienie przerwania, to wykonuje

Jeśli procesor wykryje wystąpienie przerwania, to wykonuje

operacje zachowania stanu bieżącego procesu i przechodzi do

operacje zachowania stanu bieżącego procesu i przechodzi do

procedur obsługi przerwań.

procedur obsługi przerwań.





Po wykonaniu niezbędnych operacji procesor wraca do

Po wykonaniu niezbędnych operacji procesor wraca do

wykonywania przerwanego zadania

wykonywania przerwanego zadania





W nowoczesnych architekturach komputerów możliwa

W nowoczesnych architekturach komputerów możliwa

zaawansowana obsługa przerwań:

zaawansowana obsługa przerwań:

-

-

opóźnianie obsługi przerwania podczas działań krytycznych,

opóźnianie obsługi przerwania podczas działań krytycznych,

-

-

maskowanie przerwań (dwie linie przerwań

maskowanie przerwań (dwie linie przerwań

-

-

maskowalna

maskowalna

i

i

niemaskowalna

niemaskowalna

)

)

-

-

przerwania wielopoziomowe o różnym priorytecie

przerwania wielopoziomowe o różnym priorytecie

background image

Bezpośredni dostęp do pamięci

Bezpośredni dostęp do pamięci





Jest używany w celu uniknięcia transmisji bajt

Jest używany w celu uniknięcia transmisji bajt

-

-

po

po

-

-

bajcie

bajcie

(zwanego programowanym wejściem

(zwanego programowanym wejściem

-

-

wyjściem) dla urządzeń

wyjściem) dla urządzeń

transmitujących wielkie ilości danych (

transmitujących wielkie ilości danych (

np

np

dysk), co oszczędza

dysk), co oszczędza

wiele cykli procesora

wiele cykli procesora





Wiele procedur związanych z transmisją jest wtedy

Wiele procedur związanych z transmisją jest wtedy

wykonywana przez specjalizowany procesor

wykonywana przez specjalizowany procesor

-

-

sterownik

sterownik

bezpośredniego dostępu do pamięci (DMA

bezpośredniego dostępu do pamięci (DMA

controller

controller

)

)





Przed rozpoczęciem transmisji w trybie DMA, procesor

Przed rozpoczęciem transmisji w trybie DMA, procesor

zapisuje w pamięci blok sterujący DMA (wskaźnik do źródła,

zapisuje w pamięci blok sterujący DMA (wskaźnik do źródła,

adres docelowy, liczba bajtów do przesłania), następnie

adres docelowy, liczba bajtów do przesłania), następnie

przesyła do sterownika DMA adres tego bloku i przechodzi do

przesyła do sterownika DMA adres tego bloku i przechodzi do

wykonywania innych prac.

wykonywania innych prac.





Sterownik DMA wykonuje transmisję, przejmując w tym czasie

Sterownik DMA wykonuje transmisję, przejmując w tym czasie

sterownie szyną pamięci. Procesor nie ma wtedy dostępu do

sterownie szyną pamięci. Procesor nie ma wtedy dostępu do

pamięci, ale może korzystać z

pamięci, ale może korzystać z

cache

cache

i rejestrów.

i rejestrów.

background image

Wejście-wyjście z blokowaniem

Wejście-wyjście z blokowaniem





Blokowanie uwalnia procesor od aktywnego czekania

Blokowanie uwalnia procesor od aktywnego czekania

-

-

proces

proces

przenoszony jest do kolejki procesów czekających. Po

przenoszony jest do kolejki procesów czekających. Po

zakończeniu we

zakończeniu we

-

-

wy proces przechodzi do kolejki procesów

wy proces przechodzi do kolejki procesów

gotowych.

gotowych.





Niektóre procesy wymagają wejścia

Niektóre procesy wymagają wejścia

-

-

wyjścia bez blokowania,

wyjścia bez blokowania,

np

np

proces w którym sygnały z klawiatury lub myszy przeplatają

proces w którym sygnały z klawiatury lub myszy przeplatają

się z przetwarzaniem i wyświetlaniem na ekranie, albo czytanie

się z przetwarzaniem i wyświetlaniem na ekranie, albo czytanie

z dysku z dekompresją danych.

z dysku z dekompresją danych.





W aplikacjach wielowątkowych można zablokować pewne

W aplikacjach wielowątkowych można zablokować pewne

wątki, a inne zostawić aktywne.

wątki, a inne zostawić aktywne.

background image

Podsystem wejścia-wyjścia w jądrze

Podsystem wejścia-wyjścia w jądrze





Planowanie wejścia

Planowanie wejścia

-

-

wyjścia

wyjścia

ma na celu poprawę wydajności

ma na celu poprawę wydajności

systemu, polepszenie wspólnego korzystania z urządzeń przez

systemu, polepszenie wspólnego korzystania z urządzeń przez

procesy i zmniejszenie średniego czasu oczekiwania.

procesy i zmniejszenie średniego czasu oczekiwania.





Buforowanie

Buforowanie

-

-

dopasowanie prędkości „producenta” i

dopasowanie prędkości „producenta” i

„konsumenta” danych (podwójne buforowanie), dopasowanie

„konsumenta” danych (podwójne buforowanie), dopasowanie

urządzeń operujących na różnych wielkościach bloków danych

urządzeń operujących na różnych wielkościach bloków danych

(

(

np

np

pakiety sieci a bloki na dysku)

pakiety sieci a bloki na dysku)





Przechowywanie podręczne

Przechowywanie podręczne

(

(

caching

caching

)

)

-

-

zapamiętanie kopii

zapamiętanie kopii

danych w szybkiej pamięci podręcznej

danych w szybkiej pamięci podręcznej





Spooling

Spooling

-

-

użycie bufora do przechowywania danych

użycie bufora do przechowywania danych

przeznaczonych dla urządzenia, które nie dopuszcza

przeznaczonych dla urządzenia, które nie dopuszcza

przeplatania danych z różnych procesów (

przeplatania danych z różnych procesów (

np

np

drukarka)

drukarka)





Obsługa błędów

Obsługa błędów





Struktury danych jądra

Struktury danych jądra

-

-

jądro musi przechowywać

jądro musi przechowywać

informacje o stanie używanych składowych wejścia

informacje o stanie używanych składowych wejścia

-

-

wyjścia

wyjścia

background image

Podsystem wejścia-wyjścia w jądrze, cd

Podsystem wejścia-wyjścia w jądrze, cd

Podsystem nadzoruje:

Podsystem nadzoruje:





zarządzanie przestrzenią nazw plików i urządzeń,

zarządzanie przestrzenią nazw plików i urządzeń,





przebieg dostępu do plików i urządzeń,

przebieg dostępu do plików i urządzeń,





poprawność formalną operacji,

poprawność formalną operacji,





przydzielanie miejsca w systemie plików,

przydzielanie miejsca w systemie plików,





przydział urządzeń,

przydział urządzeń,





buforowanie,

buforowanie,

caching

caching

oraz

oraz

spooling

spooling

,

,





planowanie operacji wejścia

planowanie operacji wejścia

-

-

wyjścia

wyjścia





doglądanie stanu urządzeń, obsługę błędów, czynności

doglądanie stanu urządzeń, obsługę błędów, czynności

naprawcze po awarii.

naprawcze po awarii.





konfigurowanie i wprowadzanie w stan początkowy modułu

konfigurowanie i wprowadzanie w stan początkowy modułu

sterującego

sterującego

background image

Poprawianie wydajności wejścia-wyjścia

Poprawianie wydajności wejścia-wyjścia

Podsystem ma na celu:

Podsystem ma na celu:





zmniejszać liczbę przełączeń kontekstu,

zmniejszać liczbę przełączeń kontekstu,





zmniejszać liczbę kopiowań danych w pamięci podczas

zmniejszać liczbę kopiowań danych w pamięci podczas

przekazywania od urządzenia do aplikacji,

przekazywania od urządzenia do aplikacji,





zmniejszać częstość przerwań poprzez przesyłanie dużych

zmniejszać częstość przerwań poprzez przesyłanie dużych

porcji informacji, przez optymalizację sterowników i

porcji informacji, przez optymalizację sterowników i

stosowanie odpytywania, gdzie to korzystne,

stosowanie odpytywania, gdzie to korzystne,





zwiększać współbieżność poprzez stosowanie sterowników

zwiększać współbieżność poprzez stosowanie sterowników

pracujących w trybie DMA,

pracujących w trybie DMA,





realizować elementarne działania za pomocą sprzętu i pozwalać

realizować elementarne działania za pomocą sprzętu i pozwalać

na ich współbieżne wykonywanie w sterownikach,

na ich współbieżne wykonywanie w sterownikach,





równoważyć wydajność

równoważyć wydajność procesora, podsystemów pamięci,
szyny i operacji wejścia-wyjścia

background image

Elementy od których zależy wydajność dysku

Elementy od których zależy wydajność dysku

Czytanie lub pisanie wymaga ustawienia głowicy nad określoną

Czytanie lub pisanie wymaga ustawienia głowicy nad określoną

ś

cieżką i na początku konkretnego sektora. Potrzebny na to jest

ś

cieżką i na początku konkretnego sektora. Potrzebny na to jest

czas dostępu

czas dostępu

-

-

suma czasu przeszukiwania i opóźnienia

suma czasu przeszukiwania i opóźnienia

obrotowego

obrotowego





czas przeszukiwania (

czas przeszukiwania (

seek time

seek time

)

)

-

-

czas potrzebny na ustawienie

czas potrzebny na ustawienie

głowicy nad ścieżką

głowicy nad ścieżką





opóźnienie obrotowe (

opóźnienie obrotowe (

rotational latency

rotational latency

)

)

-

-

czas potrzebny na

czas potrzebny na

obrót właściwego sektora pod głowicę,

obrót właściwego sektora pod głowicę,

Czas przeszukiwania

Czas przeszukiwania

ma duży wpływ na wydajność.

ma duży wpływ na wydajność.

Możemy go optymalizować, ponieważ system operacyjny

Możemy go optymalizować, ponieważ system operacyjny

zarządza kolejką żądań dysku

zarządza kolejką żądań dysku

background image

Planowanie wejścia-wyjścia dla dysku

Planowanie wejścia-wyjścia dla dysku





FCFS

FCFS

-

-

(

(

first come

first come

,

,

first served

first served

)

)

żą

dania wejścia

żą

dania wejścia

-

-

wyjścia realizowane w kolejności zgłaszania. Algorytm

wyjścia realizowane w kolejności zgłaszania. Algorytm

sprawiedliwy, ale mało wydajny. Przy dużej liczbie zgłoszeń plan

sprawiedliwy, ale mało wydajny. Przy dużej liczbie zgłoszeń plan

owanie

owanie

zbliżone do losowego (najgorszego)

zbliżone do losowego (najgorszego)

t

r

background image

Planowanie wejścia-wyjścia dla dysku, cd

Planowanie wejścia-wyjścia dla dysku, cd





PRI (

PRI (

priority

priority

)

)

-

-

krótkie zadania wsadowe i interakcyjne mają

krótkie zadania wsadowe i interakcyjne mają

wyższy priorytet i pierwszeństwo w dostępie do dysku.

wyższy priorytet i pierwszeństwo w dostępie do dysku.

Rozwiązanie nieefektywne dla baz danych.

Rozwiązanie nieefektywne dla baz danych.





LIFO (

LIFO (

last in

last in

-

-

first out

first out

)

)

-

-

minimalizuje ruch głowicy (żądania

minimalizuje ruch głowicy (żądania

korzystają z ograniczonego obszaru na dysku). Możliwość

korzystają z ograniczonego obszaru na dysku). Możliwość

głodzenia procesów

głodzenia procesów





SSTF (

SSTF (

shortest seek time first

shortest seek time first

)

)

-

-

najmniejszy ruch głowicy od

najmniejszy ruch głowicy od

pozycji bieżącej. Zawsze minimalny czas przeszukiwania.

pozycji bieżącej. Zawsze minimalny czas przeszukiwania.

Możliwe głodzenie.

Możliwe głodzenie.

background image

Planowanie wejścia-wyjścia dla dysku, cd

Planowanie wejścia-wyjścia dla dysku, cd





SCAN

SCAN

głowica przesuwa się od jednej krawędzi dysku do drugiej,

głowica przesuwa się od jednej krawędzi dysku do drugiej,

lub do ostatniego

lub do ostatniego

żą

dania. Potem zmienia się kierunek przesuwania. Działa jak wind

żą

dania. Potem zmienia się kierunek przesuwania. Działa jak wind

a

a

-

-

najpierw

najpierw

zamówienia „w górę”, potem „w dół”. Najszybciej po sobie obsługi

zamówienia „w górę”, potem „w dół”. Najszybciej po sobie obsługi

wane żądania na

wane żądania na

skrajnych ścieżkach, a najpóźniej

skrajnych ścieżkach, a najpóźniej

-

-

po przeciwnej stronie dysku. Nie ma głodzenia

po przeciwnej stronie dysku. Nie ma głodzenia

t

r

background image

Planowanie wejścia-wyjścia dla dysku, cd

Planowanie wejścia-wyjścia dla dysku, cd





C

C

-

-

SCAN (

SCAN (

circular scan

circular scan

)

)

po obsłużeniu ostatniego zamówienia na końcu dysku, głowic

po obsłużeniu ostatniego zamówienia na końcu dysku, głowic

a wraca na

a wraca na

początek i zaczyna od zera.

początek i zaczyna od zera.





N

N

-

-

step

step

-

-

SCAN

SCAN

-

-

podział kolejki na

podział kolejki na

podkolejki

podkolejki

o długości N. Kolejne

o długości N. Kolejne

podkolejki

podkolejki

obsługiwane metodą SCAN do końca.

obsługiwane metodą SCAN do końca.





FSCAN

FSCAN

-

-

dwie kolejki, jedna realizowana, nowe żądania przychodzą do

dwie kolejki, jedna realizowana, nowe żądania przychodzą do

drugiej

drugiej

t

r

background image

Użytkowy interfejs we-wy

drivery urządzeń

Użytkowy interfejs we-wy

drivery urządzeń





Moduły sterujące

Moduły sterujące

-

-

wewnętrznie dostosowane są do

wewnętrznie dostosowane są do

konkretnych urządzeń, a zewnętrznie udostępniają pewien

konkretnych urządzeń, a zewnętrznie udostępniają pewien

standardowy interfejs

standardowy interfejs





standaryzacja pomaga producentom sprzętu tworzyć sterowniki

standaryzacja pomaga producentom sprzętu tworzyć sterowniki

do własnych urządzeń, widziane przez „obce” systemy

do własnych urządzeń, widziane przez „obce” systemy

operacyjne

operacyjne





Systemy muszą umożliwiać instalację sterowników do nowego

Systemy muszą umożliwiać instalację sterowników do nowego

sprzętu

sprzętu

background image

Zegary i czasomierze

Zegary i czasomierze

Spełniają trzy podstawowe funkcje:

Spełniają trzy podstawowe funkcje:





podawanie bieżącego czasu,

podawanie bieżącego czasu,





podawanie upływającego czasu,

podawanie upływającego czasu,





powodowanie wykonania określonej operacji w określonej

powodowanie wykonania określonej operacji w określonej

chwili

chwili

c

c

zasomierz programowalny

zasomierz programowalny

-

-

służy do pomiaru upływającego

służy do pomiaru upływającego

czasu i powodowania wykonania operacji w zadanym czasie

czasu i powodowania wykonania operacji w zadanym czasie





można go zaprogramować na określony czas, po którym

można go zaprogramować na określony czas, po którym

generuje on przerwanie

generuje on przerwanie





jest to też zegar systemowy do taktowania kwantów czasu (dla

jest to też zegar systemowy do taktowania kwantów czasu (dla

przydziału procesora)

przydziału procesora)

background image

Urządzenia sieciowe

Urządzenia sieciowe





Sieciowe wejście

Sieciowe wejście

-

-

wyjście różni się znacznie od dyskowego,

wyjście różni się znacznie od dyskowego,

pod względem wydajności i adresowania

pod względem wydajności i adresowania





Interfejs gniazda (

Interfejs gniazda (

socket

socket

)

)

-

-

aplikacje umożliwiają tworzenie

aplikacje umożliwiają tworzenie

gniazda, połączenie lokalnego gniazda ze zdalnym adresem,

gniazda, połączenie lokalnego gniazda ze zdalnym adresem,

nasłuchiwanie, przesyłanie i odbieranie pakietów za pomocą

nasłuchiwanie, przesyłanie i odbieranie pakietów za pomocą

połączenia

połączenia





funkcja

funkcja

wybierz

wybierz

zarządza gniazdami

zarządza gniazdami





W systemach Windows NT/2000

W systemach Windows NT/2000

-

-

interfejs do kontaktowania

interfejs do kontaktowania

się z kartą sieciową oraz interfejs do do protokołów sieciowych

się z kartą sieciową oraz interfejs do do protokołów sieciowych





W systemie

W systemie

Unix

Unix

-

-

półdupleksowe

półdupleksowe

potoki,

potoki,

pełnodupleksowe

pełnodupleksowe

kolejki FIFO,

kolejki FIFO,

pełnodupleksowe

pełnodupleksowe

strumienie, kolejki

strumienie, kolejki

komunikatów i gniazda

komunikatów i gniazda

background image

Gniazdo (socket)

Gniazdo (socket)

Wg.

Wg.

Wikipedii

Wikipedii

:

:

Gniazdo

Gniazdo

-

-

pojęcie abstrakcyjne reprezentujące dwukierunkowy

pojęcie abstrakcyjne reprezentujące dwukierunkowy

punkt końcowy połączenia. Dwukierunkowość oznacza możliwość

punkt końcowy połączenia. Dwukierunkowość oznacza możliwość

wysyłania i przyjmowania danych. Wykorzystywane jest przez

wysyłania i przyjmowania danych. Wykorzystywane jest przez

aplikacje do komunikowania się przez

aplikacje do komunikowania się przez

sie

sie

ć

w ramach komunikacji

ć

w ramach komunikacji

międzyprocesowej

międzyprocesowej

.

.

Gniazdo posiada trzy główne właściwości:

Gniazdo posiada trzy główne właściwości:

1.

1.

typ gniazda identyfikujący

typ gniazda identyfikujący

protokół wymiany danych

protokół wymiany danych

2.

2.

lokalny adres (np. adres

lokalny adres (np. adres

IP (protokół)

IP (protokół)

,

,

IPX

IPX

, czy

, czy

Ethernet

Ethernet

)

)

3.

3.

opcjonalny lokalny numer

opcjonalny lokalny numer

portu

portu

identyfikujący

identyfikujący

proces

proces

,

,

który wymienia dane przez gniazdo (jeśli typ gniazda

który wymienia dane przez gniazdo (jeśli typ gniazda

pozwala używać portów)

pozwala używać portów)

background image

Gniazdo może posiadać (na czas trwania komunikacji)
dwa dodatkowe atrybuty:
1. adres zdalny (np. adres IP (protokół), IPX, czy Ethernet)
2. opcjonalny numer portu identyfikujący zdalny proces

(jeśli typ gniazda pozwala używać portów)

Adres IP wyznacza węzeł w sieci,
numer portu określa proces w węźle,
a typ gniazda determinuje sposób wymiany danych.

Jeśli gniazdo używa numerów portów to lokalny numer portu
może zostać przydzielony automatycznie i nosi wtedy nazwę
efemerycznego numeru portu. Lokalny numer portu może też
zostać wymuszony przez wykonanie przypisania ( bind)
gniazdu numeru pożądanego przez twórcę aplikacji.

background image

Wejście-wyjście w różnych systemach operacyjnych

Wejście-wyjście w różnych systemach operacyjnych

MS

MS

-

-

DOS

DOS





Nazwy urządzeń zakończone dwukropkiem, np. A:, C:, PRN:

Nazwy urządzeń zakończone dwukropkiem, np. A:, C:, PRN:





Odwzorowane są na określone adresy portów za pomocą

Odwzorowane są na określone adresy portów za pomocą

tablicy urządzeń.

tablicy urządzeń.





System operacyjny może przypisać każdemu urządzeniu

System operacyjny może przypisać każdemu urządzeniu

dodatkowych funkcji,

dodatkowych funkcji,

np spooling

np spooling

dla drukarki

dla drukarki

UNIX

UNIX





Nazwy urządzeń są pamiętane w przestrzeni nazw systemu

Nazwy urządzeń są pamiętane w przestrzeni nazw systemu

plików (katalog /

plików (katalog /

dev

dev

/

/

devices

devices

)

)





W strukturze katalogowej zamiast numeru I

W strukturze katalogowej zamiast numeru I

-

-

węzła jest zapisany

węzła jest zapisany

numer urządzenia w postaci pary <starszy,młodszy>.

numer urządzenia w postaci pary <starszy,młodszy>.



Starszy

numer urządzenia identyfikuje moduł sterujący, który

numer urządzenia identyfikuje moduł sterujący, który

trzeba wywołać dla obsługi we

trzeba wywołać dla obsługi we

-

-

wy, a

wy, a młodszy jest

przekazywany do modułu sterującego jako indeks do tablicy
urządzeń.



Wpis w tablicy urządzeń zawiera adres portu lub adres
sterownika odwzorowany w pamięci

background image

Wejście-wyjście w różnych systemach operacyjnych

Wejście-wyjście w różnych systemach operacyjnych

UNIX

UNIX

-

-

cd

cd





Strumień

Strumień

-

-

kanał komunikacyjny pomiędzy procesem

kanał komunikacyjny pomiędzy procesem

użytkownika a urządzeniem

użytkownika a urządzeniem





Strumień składa się z:

Strumień składa się z:

-

-

głowy

głowy

-

-

interfejs z programem użytkownika,

interfejs z programem użytkownika,

-

-

zakończenia sterującego

zakończenia sterującego

-

-

interfejs z urządzeniem

interfejs z urządzeniem

-

-

modułów przetwarzających

modułów przetwarzających

-

-

filtrów na komunikatach

filtrów na komunikatach

płynących w strumieniu.

płynących w strumieniu.





Każdy ze składników strumienia zawiera co najmniej jedną

Każdy ze składników strumienia zawiera co najmniej jedną

parę kolejek: we i wy

parę kolejek: we i wy





Kontrola przepływu w strumieniu realizowana jest za pomocą

Kontrola przepływu w strumieniu realizowana jest za pomocą

buforów wejścia

buforów wejścia

-

-

wyjścia

wyjścia





We

We

-

-

wy na strumieniu jest asynchroniczne

wy na strumieniu jest asynchroniczne



Sterownik jest zawieszony do chwili pojawienia się danych



Gdy bufor jest pełny - utrata komunikatów

background image

Wejście-wyjście w różnych systemach operacyjnych

Wejście-wyjście w różnych systemach operacyjnych

Windows NT/2000

Windows NT/2000





Cache

Cache

manager

manager

-

-

zarządza całym podsystemem wejścia

zarządza całym podsystemem wejścia

-

-

wyjścia

wyjścia





Podsystem we

Podsystem we

-

-

wy traktuje

wy traktuje

File

File

System

System

Drivers

Drivers

tak samo jak

tak samo jak

Device Drivers

Device Drivers





Network Drivers

Network Drivers

-

-

sterowniki sieci

sterowniki sieci





Hardware Device Drivers

Hardware Device Drivers

-

-

dostęp do rejestrów urządzeń

dostęp do rejestrów urządzeń

wejścia

wejścia

-

-

wyjścia

wyjścia





Wejście

Wejście

-

-

wyjście może być

wyjście może być

asynchroniczne

asynchroniczne

i

i

synchroniczne

synchroniczne





System ma wbudowane mechanizmy do sygnalizowania

System ma wbudowane mechanizmy do sygnalizowania

zakończenia asynchronicznego wejścia

zakończenia asynchronicznego wejścia

-

-

wyjścia

wyjścia


Wyszukiwarka

Podobne podstrony:
io-wyk10
wyk10 prad
IO ALL
io wyk5
gprs t6 io pl 1013
io 8 z
ban-wyk10, UE Katowice FiR, bankowość
mik-wyk10, UE Katowice FiR, mikroekonomia
BD IO 3
IO zerówka opracowanie
aqua s io pl 1109
cz emm2 io pl 0407
acx201 io pl 1112
amd101 io pl 0510(2)
io w11 zasady projektowania opr
dok5, Prywatne, WAT, SEMESTR IV, IO, Zaliczenie IO
graphite io pl 1109

więcej podobnych podstron