Bài giảng Hệ điều hành - Chương 9: I/O system - Lê Ngọc Minh

Thiết bị phần cứng I/O

? Các thiết bị I/O rất nhiều, đa chủng loại, khác biệt về

nhiều mặt (hình dáng, kích thước, chức năng, tốc độ, )

cần có các phương thức quản lý, điều khiển tương

ứng khác nhau. Các phương thức này tạo nên lớp I/O

subsystem của kernel.

? Điểm “hội tụ” chung cho các thiết bị I/O

– Port

– Bus (daisy chain, shared direct access)

– Controller (device controller, SCSI host adapter)

? Cơ chế giao tiếp giữa CPU và thiết bị I/O

– Dùng lệnh I/O để tác động trực tiếp lên các thanh ghi (dữ

liệu, trạng thái, lệnh) của controller.

– Memory-mapped I/O

Các cơ chế thực hiện I/O

? Cơ chế polling (busy-waiting)

– Kiểm tra trạng thái của thiết bị khi muốn thực hiện I/O

? Ready hoặc Busy hoặc Error

– Tiêu tốn thời gian lặp quay vòng để kiểm tra trạng thái

(busy-wait) và thực hiện I/O.

? Cơ chế ngắt quãng (interrupt)

– CPU có một ngõ Interrupt Request (IR), được kích hoạt bởi

thiết bị I/O.

– Nếu có ngắt xảy ra (IR = active) chuyển quyền điều

khiển cho trình điều khiển ngắt (interrupt handler)

– Các ngắt có thể bị che (maskable) hoặc không bị che

(non-maskable)

– Hệ thống có một bảng vector ngắt chứa địa chỉ các trình

phục vụ ngắt (interrupt routine).

– Cơ chế ngắt cũng có thể dùng xử lý các sự kiện khác

trong hệ thống (lỗi chia cho 0, lỗi vi phạm vùng nhớ,.)

 

Bài giảng Hệ điều hành - Chương 9: I/O system - Lê Ngọc Minh trang 1

Trang 1

Bài giảng Hệ điều hành - Chương 9: I/O system - Lê Ngọc Minh trang 2

Trang 2

Bài giảng Hệ điều hành - Chương 9: I/O system - Lê Ngọc Minh trang 3

Trang 3

Bài giảng Hệ điều hành - Chương 9: I/O system - Lê Ngọc Minh trang 4

Trang 4

Bài giảng Hệ điều hành - Chương 9: I/O system - Lê Ngọc Minh trang 5

Trang 5

Bài giảng Hệ điều hành - Chương 9: I/O system - Lê Ngọc Minh trang 6

Trang 6

Bài giảng Hệ điều hành - Chương 9: I/O system - Lê Ngọc Minh trang 7

Trang 7

Bài giảng Hệ điều hành - Chương 9: I/O system - Lê Ngọc Minh trang 8

Trang 8

Bài giảng Hệ điều hành - Chương 9: I/O system - Lê Ngọc Minh trang 9

Trang 9

pdf 9 trang duykhanh 3860
Bạn đang xem tài liệu "Bài giảng Hệ điều hành - Chương 9: I/O system - Lê Ngọc Minh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Hệ điều hành - Chương 9: I/O system - Lê Ngọc Minh

Bài giảng Hệ điều hành - Chương 9: I/O system - Lê Ngọc Minh
 09. I/O System
‰ Thiết bị phần cứng I/O 
‰ Giao diện I/O cấp ứng dụng
‰ Các dịch vụ của OS
‰ Hiệu suất I/O
 Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XIII.1-
 Thiết bị phần cứng I/O 
‰ Các thiết bị I/O rất nhiều, đa chủng loại, khác biệt về
 nhiều mặt (hình dáng, kích thước, chức năng, tốc độ,) 
 ⇒ cần có các phương thức quản lý, điều khiển tương
 ứng khác nhau. Các phương thức này tạo nên lớp I/O 
 subsystem của kernel.
‰ Điểm “hội tụ” chung cho các thiết bị I/O
 –Port 
 – Bus (daisy chain, shared direct access)
 – Controller (device controller, SCSI host adapter)
‰ Cơ chế giao tiếp giữa CPU và thiết bị I/O
 – Dùng lệnh I/O để tác động trực tiếp lên các thanh ghi (dữ
 liệu, trạng thái, lệnh) của controller.
 – Memory-mapped I/O
 Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XIII.2-
 1
Cấu trúc Bus trong PC 
 Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XIII.3-
Một số “port” trong PC
 Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XIII.4-
 2
 Các cơ chế thực hiện I/O 
‰ Cơ chế polling (busy-waiting)
 – Kiểm tra trạng thái của thiết bị khi muốn thực hiện I/O 
 ƒ Ready hoặc Busy hoặc Error
 – Tiêu tốn thời gian lặp quay vòng để kiểm tra trạng thái
 (busy-wait) và thực hiện I/O.
‰ Cơ chế ngắt quãng (interrupt)
 – CPU có một ngõ Interrupt Request (IR), được kích hoạt bởi
 thiết bị I/O.
 – Nếu có ngắt xảy ra (IR = active) ⇒ chuyển quyền điều
 khiển cho trình điều khiển ngắt (interrupt handler)
 – Các ngắt có thể bị che (maskable) hoặc không bị che
 (non-maskable)
 – Hệ thống có một bảng vector ngắt chứa địa chỉ các trình
 phục vụ ngắt (interrupt routine).
 – Cơ chế ngắt cũng có thể dùng xử lý các sự kiện khác
 trong hệ thống (lỗi chia cho 0, lỗi vi phạm vùng nhớ,...)
 Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XIII.5-
 Chu kỳ I/O với ngắt quãng
 Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XIII.6-
 3
 Bảng vector ngắt trên Pentium
 Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XIII.7-
 Các cơ chế I/O (t.t)
‰ Cơ chế DMA (Direct Memory Access)
 – Các cơ chế polling và interrupt, gọi chung là
 programmed I/O, không thích hợp khi thực hiện di
 chuyển khối lượng lớn dữ liệu.
 – Cơ chế DMA cần có phần cứng hỗ trợ đặc biệt, đó là
 DMA controller
 – Cơ chế DMA thực hiện truyền dữ liệu trực tiếp giữa
 thiết bị I/O và bộ nhớ mà không cần sự can thiệp của
 CPU.
 Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XIII.8-
 4
 6 bước thực hiện DMA
 Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XIII.9-
 Giao diện I/O cấp ứng dụng
‰ Mục tiêu: OS cung cấp một giao diện I/O chuẩn hóa, 
 thuần nhất cho các ứng dụng. 
 – Ví dụ: một ứng dụng in tài liệu ra máy in mà không cần
 biết hiệu máy in, đặc tính máy in,...
‰ Giao diện làm việc đó là các I/O system call của OS.
‰ Trình điều khiển thiết bị (device driver) sẽ là cầu nối
 giữa kernel và các bộ điều khiển thiết bị (device 
 controller).
‰ Đặc tính của thiết bị rất đa dạng
 – Character-stream vs. Block
 – Sequential vs.Random-Access
 – Sharable vs. Dedicated
 – Tốc độ truy xuất
 – Read-write, Read Only, Write-Only.
 Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XIII.10-
 5
Cấu trúc I/O cấp kernel
 Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XIII.11-
Đặc tính của các thiết bị I/O 
 Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XIII.12-
 6
 Các dịch vụ I/O 
‰ Giao diện chuẩn cho nhóm thiết bị có liên quan
 – Thiết bị khối (block device)
 ƒ Disk
 ƒ Các tác vụ: read, write, seek
 – Thiết bị kí tự (character device)
 ƒ Keyboard, mouse, serial port, line printer,...
 ƒ Tác vụ: get, put
 – Thiết bị mạng (network device)
 ƒ Block hoặc character.
 ƒ Socket Interface trên Unix, Windows/NT,...
 – Clock và Timer
 ƒ Cung cấp thời gian hiện tại, timer
 ƒ Có thể lập trình được.
 Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XIII.13-
 Các kiểu truy xuất I/O 
‰ Blocking - process bị suspended cho đến khi
 I/O hoàn tất.
 – Dễ dàng sử dụng.
 – Không hiệu quả trong một số trường hợp.
‰ Non-blocking – process sẽ tiếp tục thực thi
 ngay sau lệnh gọi I/O.
 – Ví dụ: data copy (buffered I/O)
 – Thường hiện thực với multi-threading.
 – Khó kiểm soát kết quả thực hiện I/O.
‰ Asynchronous – process vẫn thực thi trong lúc
 hệ thống đang thực hiện I/O.
 – Khó sử dụng.
 – I/O subsystem báo hiệu cho process khi I/O hoàn tất.
 Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XIII.14-
 7
 Bộ phận I/O subsystem ở kernel
‰ Định thời các yêu cầu I/O
 – Các yêu cầu I/O xếp hàng tại các hành đợi của mỗi thiết bị
 – Bảo đảm công bằng, hiệu suất cao.
‰ Đệm dữ liệu (buffering) – lưu dữ liệu tạm thời trong bộ
 nhớ khi thực hiện I/O
 – Giải quyết trường hợp chênh lệch tốc độ, kích thước dữ
 liệu khi thực hiện I/O
‰ Caching
‰ Spooling
‰ Xử lý lỗ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 Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XIII.15-
 Chu kỳ của một yêu cầu I/O
 Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XIII.16-
 8
 Hiệu suất thực hiện I/O
‰ Hiệu suất I/O ảnh hưởng rất lớn đến hiệu suất
 toàn hệ thống. Tốc độ I/O thường rất chậm.
 – Yêu cầu CPU thực hiện các lệnh điều khiển của device 
 driver, của kernel I/O code.
 – Chuyển ngữ cảnh vì các I/O interrupt, chi phí copy dữ liệu
 gửi nhận. Riêng các thiết bị mạng thì phụ thuộc vào băng
 thông của mạng máy tính.
‰ Tăng hiệu suất thực hiện I/O
 – Giảm số lần chuyển ngữ cảnh, giảm thiểu quá trình copy 
 dữ liệu (bằng caching,...)
 – Giảm số lần ngắt quãng (truyền khối dữ liệu lớn, dùng các
 bộ controller thông minh, dùng cơ chế polling,...)
 – Sử dụng DMA nếu có thể.
 Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XIII.17-
 Ví dụ giao tiếp qua mạng
 Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XIII.18-
 9

File đính kèm:

  • pdfbai_giang_he_dieu_hanh_chuong_9_io_system_le_ngoc_minh.pdf