Bài giảng Hệ điều hành - Chương 5: Quản lý vào ra cung cấp cho người học các kiến thức: Các nguyên lý của phần cứng vào/ra, các nguyên lý của phần mềm vào/ra, quản lý một số thiết bị thông dụng. Mời các bạn cùng tham khảo nội dung chi tiết.
Trang 1B môn K thu t máy tính & m ng – Khoa CNTT ộ ỹ ậ ạ H đi u hành 5 ệ ề 1
Trang 2B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
QU N LÝ VÀO RA Ả
Các nguyên lý c a ph n c ng vào/raủ ầ ứ
Các nguyên lý c a ph n m m vào/raủ ầ ề
Qu n lý m t s thi t b thông d ngả ộ ố ế ị ụ
Trang 3B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
B đi u khi n thi t b (device controller)ộ ề ể ế ị Các phương th c giao ti p v i controller ứ ế ớ Truy nh p tr c ti p b nh (Direct ậ ự ế ộ ớ
Memory Access DMA)
Trang 4B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Trang 5B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Khoa CNTT
H đi u hành ệ ề 5 5
Các thi t b vào/ra đ ế ị ượ ế ố ớ ệ c k t n i v i h
th ng thông qua các b đi u khi n thi t b ố ộ ề ể ế ị (controllers)
Trang 6B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Có th chia thi t b vào/ra thành hai lo i: ể ế ị ạ
Trang 7B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Khoa CNTT
H đi u hành ệ ề 5 7
M t thi t b kh i s l u tr thông tin theo ộ ế ị ố ẽ ư ữ
t ng kh i có kích thừ ố ướ ố ịc c đ nh, m i kh i ỗ ố
có m t đ a ch riêng ộ ị ỉ
Kích thướ ủc c a m t kh i thộ ố ường n m ằ
trong ph m vi t 512 byte t i 32768 bytes ạ ừ ớ
Có th đ c ho c ghi t ng kh i m t cách ể ọ ặ ừ ố ộ
đ c l p v i các kh i còn l i ộ ậ ớ ố ạ
Ví d : Các đĩa ụ ổ
Trang 8B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Trang 9B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Thành ph n đi n t đầ ệ ử ược g i là ọ b đi u ộ ề
khi n thi t b (device controller)ể ế ị ho c ặ b ộ
đi u h p (adapter), ề ợ nó thường có d ng ạ
m t v m ch (card) có th c m trên các khe ộ ỉ ạ ể ắ
m r ng ở ộ
Thành ph n c khí là b n thân thi t b ầ ơ ả ế ị
Trang 10B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Các v m ch đi u khi n thỉ ạ ề ể ường có m t ộ
c ng k t n i, t đó cáp s đổ ế ố ừ ẽ ược g n đ ắ ể
n i t i thi t b ố ớ ế ị
M t b đi u khi n có th x lý m t ho c ộ ộ ề ể ể ử ộ ặnhi u thi t b cùng lo iề ế ị ạ
Người ta thường chu n hoá giao di n ẩ ệ
gi a b đi u khi n và thi t b , đ tăng ữ ộ ề ể ế ị ể
kh năng tả ương thích gi a chúngữ
Trang 11B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Khoa CNTT
H đi u hành ệ ề 5 11
Nhi m v c a b đi u khi n thi t b là ệ ụ ủ ộ ề ể ế ị
chuy n đ i dãy bít n i ti p thành m t ể ổ ố ế ộ
kh i nhi u byte, và th c hi n vi c s a l i ố ề ự ệ ệ ử ỗ
n u c nế ầ
Đ u tiên, kh i các byte này s đầ ố ẽ ượ ắc l p
ghép l i t nhi u bít, t i m t vùng đ m ạ ừ ề ạ ộ ệ
bên trong b đi u khi nộ ề ể
Sau khi ph n checksum đã đầ ược ki m tra, ể
và không th y có l i, nó có th đấ ỗ ể ược sao
chép vào b nh chính ộ ớ
Trang 12B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Các ph ươ ng th c giao ti p v i ứ ế ớ
controller
M i b đi u khi n thi t b (controller) có ỗ ộ ề ể ế ị
m t vài thanh ghi dùng đ liên l c v i ộ ể ạ ớ
CPU
B ng cách ghi d li u vào các thanh ghi ằ ữ ệ
này, h đi u hành có th ra l nh cho thi t ệ ề ể ệ ế
b g i/nh n d li u, b t/t t thi t b ị ử ậ ữ ệ ậ ắ ế ị
Nh đ c d li u t các thanh ghi này, h ờ ọ ữ ệ ừ ệ
đi u hành có th bi t đề ể ế ược tr ng thái c a ạ ủ
thi t b , xem nó có s n sàng đ nh n l nh ế ị ẵ ể ậ ệ
Trang 13B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Trang 14B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Trang 15B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Trang 16B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
M t s controller và đ a ch c ng c a ộ ố ị ỉ ổ ủ
Trang 17B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Khoa CNTT
H đi u hành ệ ề 5 17
Trang 18
B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Cách 2: Ánh x thanh ghi t i b ạ ớ ộ
nhớ
M i thanh ghi đi u khi n đỗ ề ể ượ ấc c p m t ộ
đ a ch b nh duy nh t (đ a ch này s ị ỉ ộ ớ ấ ị ỉ ẽ
không dùng đ c p cho b nh ) ể ấ ộ ớ
Khi mu n truy nh p vào thanh ghi đi u ố ậ ề
khi n đó: Th c hi n gi ng nh truy nh p ể ự ệ ố ư ậvào m t ô nh thông thộ ớ ường
Trang 19B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Tránh được xung đ t gi a các ti n trình khi ộ ữ ế
th c hi n vào/ra mà không c n áp d ng thêm ự ệ ầ ụcác gi i pháp b o v khác (vì không gian ả ả ệ
nh c a các ti n trình đã đớ ủ ế ược h đi u hành ệ ề
b o v )ả ệ
Trang 20B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Nh ượ c đi m c a ph ể ủ ươ ng pháp ánh
x không gian vào/ra t i b nh ạ ớ ộ ớ
C n đầ ược trang b ph n c ng chuyên ị ầ ứ
d ng, thi t k ph n c ng s tr nên ph c ụ ế ế ầ ứ ẽ ở ứ
t p h nạ ơ
Trang 21B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Trang 22B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Truy nh p tr c ti p b nh ậ ự ế ộ ớ
(Direct Memory Access DMA)
Ví d :ụ Quá trình đ c d li u t thi t b vào ọ ữ ệ ừ ế ị
b nh khi không có DMA ộ ớ :
Controller s đ c m t kh i d li u t ẽ ọ ộ ố ữ ệ ừ
thi t b vào vùng đ m bên trong controllerế ị ệ
Sau khi ki m tra l i, controller s phát ể ỗ ẽ
sinh m t ng t g i t i CPU đ thông báo ộ ắ ử ớ ể
CPU s th c hi n l nh đ đ c d li u t ẽ ự ệ ệ ể ọ ữ ệ ừvùng đ m trên controller vào b nh ệ ộ ớ
Trang 23B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Khoa CNTT
H đi u hành ệ ề 5 23
Nh v y controller s đi u khi n quá ư ậ ẽ ề ể
trình đ c d li u t thi t b vào b đ m ọ ữ ệ ừ ế ị ộ ệ
c a nó, còn CPU s đi u khi n quá trình ủ ẽ ề ể
đ c d li u t b đ m c a controller vào ọ ữ ệ ừ ộ ệ ủ
b nh ộ ớ
Trang 24B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Quá trình đ c d li u t thi t b ọ ữ ệ ừ ế ị
vào b nh b ng DMA: ộ ớ ằ
Ph n c ng ph i đầ ứ ả ược trang b b đi u ị ộ ề
khi n DMA (DMA controller)ể
Controller s đi u khi n quá trình đ c d ẽ ề ể ọ ữ
li u t thi t b vào b đ m c a nóệ ừ ế ị ộ ệ ủ
B đi u khi n DMA s đi u khi n quá ộ ề ể ẽ ề ể
trình đ c d li u t b đ m c a controller ọ ữ ệ ừ ộ ệ ủ
vào b nhộ ớ
Trang 25B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Khoa CNTT
H đi u hành ệ ề 5 25
Trang 26B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Nh v y, nh có b đi u khi n DMA, CPU ư ậ ờ ộ ề ể
s không ph i t n nhi u th i gian cho vi c ẽ ả ố ề ờ ệ
th c hi n vào/ra n a ự ệ ữ
Trang 27B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Trang 28B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Bài 5.2 – Các nguyên lý c a ph n m m ủ ầ ề
vào/ra
M c đích c a ph n m m vào/ra ụ ủ ầ ề Các l p ph n m m vào/raớ ầ ề
Trang 29B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Khoa CNTT
H đi u hành ệ ề 5 29
Ph i đ m b o đả ả ả ược s đ c l p thi t b ự ộ ậ ế ị
(device independence) đ i v i các ph n m m ố ớ ầ ề
c p ngấ ười dùng, nghĩa là có th vi t chể ế ương trình đ truy nh p vào b t c thi t b vào/ra ể ậ ấ ứ ế ịnào, mà không ph i bi t trả ế ước thi t b ế ị
Ví d :ụ M t chộ ương trình mu n đ c d li u ố ọ ữ ệ
t m t file, nó có th đ c file đó mà không ừ ộ ể ọ
c n quan tâm file đó n m trên đĩa m m, đĩa ầ ằ ề
c ng, hay CDROMứ
Trang 30B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
DeviceIndependent I/O Software
Device drivers Interrupt handlers
Hardware
Trang 31B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Trang 32B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Các ch ươ ng trình đi u khi n thi t ề ể ế
b (Device Drivers) ị
M i thi t b vào/ra k t n i v i máy tính ỗ ế ị ế ố ớ
đ u c n t i các mã l nh đ c tr ng cho ề ầ ớ ệ ặ ư
thi t b đ đi u khi n nó. Các mã này đế ị ể ề ể ược
g i là ọ trình đi u khi n thi t b (device ề ể ế ị
driver)
Trình đi u khi n thi t b thề ể ế ị ường được vi t ế
b i nhà s n xu t và đở ả ấ ược phân ph i kèm ố
theo thi t b ế ị
Các h đi u hành thệ ề ường tích h p s n m t ợ ẵ ộ
s trình đi u khi n thi t b bên trong nóố ề ể ế ị
Trang 33B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Khoa CNTT
H đi u hành ệ ề 5 33
Trang 34B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
M i trình đi u khi n thi t b thỗ ề ể ế ị ường ch ỉ
dùng đ đi u khi n cho m t lo i thi t b , ể ề ể ộ ạ ế ị
ho c m t l p các thi t b có quan h g n ặ ộ ớ ế ị ệ ầ
gũi v i nhau ớ
Ví d : ụ M t trình đi u khi n đĩa SCSI ộ ề ể
thường đi u khi n đề ể ược nhi u lo i đĩa ề ạ
SCSI, v i các dung lớ ượng và t c đ khác ố ộ
nhau
Trang 35B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Khoa CNTT
H đi u hành ệ ề 5 35
Các h đi u hành thệ ề ường phân lo i các ạ
driver theo lo i c a thi t b ạ ủ ế ị
Có hai lo i thi t b ph bi n là thi t b ạ ế ị ổ ế ế ị
kh i và thi t b kí t , do đó cũng có hai lo i ố ế ị ự ạdriver tương ng là driver kh i và driver kí ứ ốtự
Trang 36B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Ph n m m vào/ra đ c l p thi t b ầ ề ộ ậ ế ị
(DeviceIndependent I/O Software)
Ch c năng c b n c a ph n m m đ c ứ ơ ả ủ ầ ề ộ
l p thi t b là th c hi n các ch c năng ậ ế ị ự ệ ứ
vào/ra chung cho m i thi t b , và cung c p ọ ế ị ấ
m t giao di n đ ng nh t cho các ph n ộ ệ ồ ấ ầ
m m c p ngề ấ ười dùng
Trang 37B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Khoa CNTT
H đi u hành ệ ề 5 37
Trang 38B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Bài 5.3 Qu n lý m t s thi t b thông ả ộ ố ế ị
d ng ụ
Qu n lý màn hìnhả
Qu n lý đĩa tả ừ
Qu n lý đĩa CDả
Trang 39B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
+ M ch đi u khi n màn hình (Video controller) ạ ề ể + B nh hi n th (Display Memory) ộ ớ ể ị
Trang 40B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Trang 41B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
CPU có th liên l c v i Display Memory ể ạ ớ
thông qua h th ng bus đ a ch , do đó có ệ ố ị ỉ
th tác đ ng t i vùng nh này b ng các ể ộ ớ ớ ằ
l nh truy nh p b nh thông thệ ậ ộ ớ ường
Trang 42B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Trang 43B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Trang 44B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Trang 45B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Trang 46B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Trang 47B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Trang 48B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Trang 49
B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
+ ES:BX = Đ a ch vùng nh s ch a d li u ị ỉ ớ ẽ ứ ữ ệ
K t qu : N u có l i thì ế ả ế ỗ CF=1, AH= Mã l i ỗ
Trang 50B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Ch c năng s 3: ứ ố ghi d li u t b nh vào sectorữ ệ ừ ộ ớ
+ ES:BX = Đ a ch vùng nh đang ch a d li u ị ỉ ớ ứ ữ ệ
K t qu : N u có l i thì ế ả ế ỗ CF=1, AH= Mã l i ỗ
Trang 51B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Trang 52B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Trang 53
B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Trang 54B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Trang 55
B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Khoa CNTT
H đi u hành ệ ề 5 55
Đ a ch ị ỉ Kích th ướ c N i dung ộ
1BEh 16 byte Thông tin v phân khu 1 ề
1CEh 16 byte Thông tin v phân khu 2 ề
1DEh 16 byte Thông tin v phân khu 3 ề
1EEh 16 byte Thông tin v phân khu 4 ề
1FEh 2 byte 55AA (K t thúc sector) ế
Trang 56B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Thông tin chi ti t (trong 16 byte) c a 1 phân khu: ế ủ
5 1 byte S hi u Head k t thúc ố ệ ế
6 2 byte S hi u sector và cylinder k t ố ệ ế
thúc
Trang 57B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Khoa CNTT
H đi u hành ệ ề 5 57
Trang 58
B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
+ ES:BX = Đ a ch b ng mô t các sector ị ỉ ả ả
K t qu : N u có l i thì ế ả ế ỗ CF=1, AH= Mã l i ỗ
Trang 59B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Khoa CNTT
H đi u hành ệ ề 5 59
B ng này có 4 trả ường, m i trỗ ường có kích
thước 1 byte và ch a các thông tin sau:ứ
Byte 1 Byte 2 Byte 3 Byte 4 sector1 S hi u ố ệ
track S hi u
ố ệ Head S hi u
ố ệ sector S byte/1 sector
Trang 60B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Trang 61B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
Khoa CNTT
H đi u hành ệ ề 5 61
Trang 62
B môn K thu t máy tính & m ng – ộ ỹ ậ ạ
H t Ph n 5 ế ầ