Asynchroniczne wejcie-wyjcie w systemie Linux.pdf

(836 KB) Pobierz
46235658 UNPDF
Uniwersytet Warszawski
Wydziaª Matematyki, Informatyki i Mechaniki
Jerzy Szczepkowski
Nr albumu: 189202
Asynchroniczne wej±cie-wyj±cie w
systemie Linux
Praca magisterska
na kierunku INFORMATYKA
Praca wykonana pod kierunkiem
dr Janiny Mincer-Daszkiewicz
Instytut Informatyki
Wrzesie« 2004
Prac¦ przedkªadam do oceny
Data
Podpis autora pracy:
Praca jest gotowa do oceny przez recenzenta
Data
Podpis kieruj¡cego prac¡:
Streszczenie
W niniejszej pracy przedstawione s¡ zagadnienia zwi¡zane z operacjami asynchronicznego od-
czytu i zapisu realizowanymi przez systemy operacyjne. Opisana jest implementacja operacji
asynchronicznych w j¡drze systemu Linux 2.6 oraz zaprezentowane s¡ ªaty na j¡dro Linuksa
rozszerzaj¡ce ich funkcjonalno±¢ oraz poprawiaj¡ce wydajno±¢.
Sªowa kluczowe
Linux 2.6, asynchroniczne wej±cie-wyj±cie, operacje asynchroniczne, epoll, poll,
ªata na j¡dro, implementacja systemu plików
Klasykacja tematyczna
D. Software
D.4 Operating Systems
D.4.3 File Systems Management
Spis tre±ci
1. Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.1. Struktura pracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2. Zagadnienie asynchronicznego wej±cia-wyj±cia . . . . . . . . . . . . . . . . . 11
2.1. Wst¦p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2. Charakterystyka AIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3. Zastosowania AIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.1. Przykªad serwera sieciowego . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4. Implementacje AIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.1. Poziom realizacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.2. Operacje synchroniczne i asynchroniczne . . . . . . . . . . . . . . . . . 14
2.4.3. Po±rednie kopiowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4.4. Nieblokowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4.5. Powiadamianie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4.6. Szeregowanie operacji . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3. Przegl¡d interfejsów AIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1. Wst¦p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2. POSIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2.1. Wady i zalety . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.3. Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3.1. Przykªad zastosowania . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.3.2. Wady i zalety . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.4. Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4.1. Wady i zalety . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.5. FreeBSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.5.1. Wady i zalety . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4. Mechanizmy j¡dra Linuksa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.1. Wst¦p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2. ata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2.1. Wersja zachowawcza . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2.2. Wersja odwa»na . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.3. Dziaªanie AIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3.1. Kontekst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3.2. Synchronizacja dost¦pu . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3.3. Operacje plikowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3.4. Dziaªanie udost¦pnianych funkcji systemowych . . . . . . . . . . . . . 31
3
Zgłoś jeśli naruszono regulamin