Bài giảng Hệ điều hành: Chương 9 - Thoại Nam, Lê Ngọc Minh
lượt xem 6
download
Bài giảng "Hệ điều hành - Chương 9: I/O System" cung cấp cho người học các kiến thức: Thiết bị phần cứng I/O, giao diện I/O cung cấp ứng dụng, các dịch vụ của OS, hiệu suất I/O. Mời các bạn cùng tham khảo nội dung chi tiết.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Hệ điều hành: Chương 9 - Thoại Nam, Lê Ngọc Minh
- 09. I/O System Thieátbò phaàn cöùng I/O Giao dieän I/O caáp öùng duïng Caùc dòch vuï cuûa OS Hieäu suaát I/O Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM -XIII.1- Thieát bò phaàn cöùng I/O Caùc thieát bò I/O raát nhieàu, ña chuûng loaïi, khaùc bieät veà nhieàu maët (hình daùng, kích thöôùc, chöùc naêng, toác ñoä,…) ⇒ caàn coù caùc phöông thöùc quaûn lyù, ñieàu khieån töông öùng khaùc nhau. Caùc phöông thöùc naøy taïo neân lôùp I/O subsystem cuûa kernel. Ñieåm “hoäi tuï” chung cho caùc thieát bò I/O – Port – Bus (daisy chain, shared direct access) – Controller (device controller, SCSI host adapter) Cô cheá giao tieáp giöõa CPU vaø thieát bò I/O – Duøng leänh I/O ñeå taùc ñoäng tröïc tieáp leân caùc thanh ghi (döõ lieäu, traïng thaùi, leänh) cuûa controller. – Memory-mapped I/O Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM -XIII.2- CuuDuongThanCong.com https://fb.com/tailieudientucntt 1
- Caáu truùc Bus trong PC Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM -XIII.3- Moät soá “port” trong PC Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM -XIII.4- CuuDuongThanCong.com https://fb.com/tailieudientucntt 2
- Caùc cô cheá thöïc hieän I/O Cô cheá polling (busy-waiting) – Kieåm tra traïng thaùi cuûa thieát bò khi muoán thöïc hieän I/O Ready hoaëc Busy hoaëc Error – Tieâu toán thôøi gian laëp quay voøng ñeå kieåm tra traïng thaùi (busy-wait) vaø thöïc hieän I/O. Cô cheá ngaét quaõng (interrupt) – CPU coù moät ngoõ Interrupt Request (IR), ñöôïc kích hoaït bôûi thieát bò I/O. – Neáu coù ngaét xaûy ra (IR = active) ⇒ chuyeån quyeàn ñieàu khieån cho trình ñieàu khieån ngaét (interrupt handler) – Caùc ngaét coù theå bò che (maskable) hoaëc khoâng bò che (non-maskable) – Heä thoáng coù moät baûng vector ngaét chöùa ñòa chæ caùc trình phuïc vuï ngaét (interrupt routine). – Cô cheá ngaét cuõng coù theå duøng xöû lyù caùc söï kieän khaùc trong heä thoáng (loãi chia cho 0, loãi vi phaïm vuøng nhôù,...) Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM -XIII.5- Chu kyø I/O vôùi ngaét quaõng Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM -XIII.6- CuuDuongThanCong.com https://fb.com/tailieudientucntt 3
- Baûng vector ngaét treân Pentium Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM -XIII.7- Caùc cô cheá I/O (t.t) Cô cheá DMA (Direct Memory Access) – Caùc cô cheá polling vaø interrupt, goïi chung laø programmed I/O, khoâng thích hôïp khi thöïc hieän di chuyeån khoái löôïng lôùn döõ lieäu. – Cô cheá DMA caàn coù phaàn cöùng hoã trôï ñaëc bieät, ñoù laø DMA controller – Cô cheá DMA thöïc hieän truyeàn döõ lieäu tröïc tieáp giöõa thieát bò I/O vaø boä nhôù maø khoâng caàn söï can thieäp cuûa CPU. Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM -XIII.8- CuuDuongThanCong.com https://fb.com/tailieudientucntt 4
- 6 böôùc thöïc hieän DMA Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM -XIII.9- Giao dieän I/O caáp öùng duïng Muïc tieâu: OS cung caáp moät giao dieän I/O chuaån hoùa, thuaàn nhaát cho caùc öùng duïng. – Ví duï: moät öùng duïng in taøi lieäu ra maùy in maø khoâng caàn bieát hieäu maùy in, ñaëc tính maùy in,... Giao dieän laøm vieäc ñoù laø caùc I/O system call cuûa OS. Trình ñieàu khieån thieát bò (device driver) seõ laø caàu noái giöõa kernel vaø caùc boä ñieàu khieån thieát bò (device controller). Ñaëc tính cuûa thieát bò raát ña daïng – Character-stream vs. Block – Sequential vs.Random-Access – Sharable vs. Dedicated – Toác ñoä truy xuaát – Read-write, Read Only, Write-Only. Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM -XIII.10- CuuDuongThanCong.com https://fb.com/tailieudientucntt 5
- Caáu truùc I/O caáp kernel Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM -XIII.11- Ñaëc tính cuûa caùc thieát bò I/O Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM -XIII.12- CuuDuongThanCong.com https://fb.com/tailieudientucntt 6
- Caùc dòch vuï I/O Giao dieän chuaån cho nhoùm thieát bò coù lieân quan – Thieát bò khoái (block device) Disk Caùc taùc vuï: read, write, seek – Thieát bò kí töï (character device) Keyboard, mouse, serial port, line printer,... Taùc vuï: get, put – Thieát bò maïng (network device) Block hoaëc character. Socket Interface treân Unix, Windows/NT,... – Clock vaø Timer Cung caáp thôøi gian hieän taïi, timer Coù theå laäp trình ñöôïc. Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM -XIII.13- Caùc kieåu truy xuaát I/O Blocking - process bò suspended cho ñeán khi I/O hoaøn taát. – Deã daøng söû duïng. – Khoâng hieäu quaû trong moät soá tröôøng hôïp. Non-blocking – process seõ tieáp tuïc thöïc thi ngay sau leänh goïi I/O. – Ví duï: data copy (buffered I/O) – Thöôøng hieän thöïc vôùi multi-threading. – Khoù kieåm soaùt keát quaû thöïc hieän I/O. Asynchronous – process vaãn thöïc thi trong luùc heä thoáng ñang thöïc hieän I/O. – Khoù söû duïng. – I/O subsystem baùo hieäu cho process khi I/O hoaøn taát. Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM -XIII.14- CuuDuongThanCong.com https://fb.com/tailieudientucntt 7
- Boä phaän I/O subsystem ôû kernel Ñònh thôøi caùc yeâu caàu I/O – Caùc yeâu caàu I/O xeáp haøng taïi caùc haønh ñôïi cuûa moãi thieát bò – Baûo ñaûm coâng baèng, hieäu suaát cao. Ñeäm döõ lieäu (buffering) – löu döõ lieäu taïm thôøi trong boä nhôù khi thöïc hieän I/O – Giaûi quyeát tröôøng hôïp cheânh leäch toác ñoä, kích thöôùc döõ lieäu khi thöïc hieän I/O Caching Spooling Xöû lyù loãi (error handling) – OS can recover from disk read, device unavailable, transient write failures – Most return an error number or code when I/O request fails – System error logs hold problem reports Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM -XIII.15- Chu kyø cuûa moät yeâu caàu I/O Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM -XIII.16- CuuDuongThanCong.com https://fb.com/tailieudientucntt 8
- Hieäu suaát thöïc hieän I/O Hieäu suaát I/O aûnh höôûng raát lôùn ñeán hieäu suaát toaøn heä thoáng. Toác ñoä I/O thöôøng raát chaäm. – Yeâu caàu CPU thöïc hieän caùc leänh ñieàu khieån cuûa device driver, cuûa kernel I/O code. – Chuyeån ngöõ caûnh vì caùc I/O interrupt, chi phí copy döõ lieäu göûi nhaän. Rieâng caùc thieát bò maïng thì phuï thuoäc vaøo baêng thoâng cuûa maïng maùy tính. Taêng hieäu suaát thöïc hieän I/O – Giaûm soá laàn chuyeån ngöõ caûnh, giaûm thieåu quaù trình copy döõ lieäu (baèng caching,...) – Giaûm soá laàn ngaét quaõng (truyeàn khoái döõ lieäu lôùn, duøng caùc boä controller thoâng minh, duøng cô cheá polling,...) – Söû duïng DMA neáu coù theå. Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM -XIII.17- Ví duï giao tieáp qua maïng Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM -XIII.18- CuuDuongThanCong.com https://fb.com/tailieudientucntt 9
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Hệ điều hành: Chương 1 - ThS. Hà Lê Hoài Thương
39 p | 182 | 33
-
Bài giảng Hệ điều hành - Chương 1: Giới thiệu hệ điều hành
32 p | 167 | 16
-
Bài giảng Hệ điều hành: Chương 9 - ĐH Bách khoa TP HCM
56 p | 116 | 13
-
Bài giảng Hệ điều hành: Chương 2 - Trần Công Án (ĐH Cần Thơ)
39 p | 137 | 11
-
Bài giảng Hệ điều hành - Chương 5: Quản lý vào ra
30 p | 166 | 10
-
Bài giảng Hệ điều hành: Chương 1 - Phan Xuân Huy
25 p | 143 | 9
-
Bài giảng Hệ điều hành: Chương 1C - Cấu trúc hệ điều hành
22 p | 133 | 9
-
Bài giảng Hệ điều hành: Chương 2 - Hà Duy An (ĐH Cần Thơ)
45 p | 106 | 9
-
Bài giảng Hệ điều hành: Chương 1 - Nguyễn Phan Trung
43 p | 122 | 9
-
Bài giảng Hệ điều hành: Chương 2 - ThS. Hà Lê Hoài Trung
20 p | 123 | 9
-
Bài giảng Hệ điều hành: Chương 2 - ThS. Phan Đình Duy
36 p | 79 | 7
-
Bài giảng Hệ điều hành: Chương 1 - TS. Ngô Hữu Dũng
60 p | 122 | 7
-
Bài giảng Hệ điều hành: Chương 1 - Đặng Minh Quân
23 p | 75 | 6
-
Bài giảng Hệ điều hành: Chương 1 - ThS. Huỳnh Triệu Vỹ
156 p | 78 | 5
-
Bài giảng Hệ điều hành - Chương 1: Tổng quan hệ điều hành (Lương Minh Huấn)
109 p | 46 | 5
-
Bài giảng Hệ điều hành: Chương 1 - ĐH Bách khoa TP Hồ Chí Minh
26 p | 119 | 5
-
Bài giảng Hệ điều hành: Chương 2 - ĐH Công nghệ thông tin
36 p | 68 | 3
-
Bài giảng Hệ điều hành - Chương 1: Mở đầu
13 p | 86 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn