Thông tin tài liệu
13 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ụ OS Hiệu suất I/O Khoa Công Nghệ Thông Tin, Đại Học Bách Khoa TP HCM Thiết bị phần cứng I/O Các thiết bị I/O khác biệt nhiều mặt (hình dáng, kích thước, chức năng, tốc độ,…) ⇒ cần có phương thức quản lý, điều khiển tương ứng khác Các phương thức tạo nên lớp I/O subsystem kernel Kết nối hệ thống máy tính thiết bị I/O – Port (connection point) – Bus (daisy chain, shared direct access) Điều khiển – Controller (device controller, SCSI host adapter) Giao tiếp CPU thiết bị I/O – I/O port: dùng lệnh I/O để tác động trực tiếp lên ghi (dữ liệu, trạng thái, lệnh) controller – Memory-mapped I/O Khoa Công Nghệ Thông Tin, Đại Học Bách Khoa TP HCM Cấu trúc bus PC Khoa Công Nghệ Thông Tin, Đại Học Bách Khoa TP HCM Một số port PC Khoa Công Nghệ Thông Tin, Đại Học Bách Khoa TP HCM Các chế thực I/O (1) Cơ chế polling (busy waiting) hay programmed I/O – Kiểm tra trạng thái thiết bị muốn thực I/O ready busy error – Tiêu tốn thời gian lặp quay vòng để kiểm tra trạng thái (busy-wait) thực I/O Khoa Công Nghệ Thông Tin, Đại Học Bách Khoa TP HCM Các chế thực I/O (2) Cơ chế I/O dùng ngắt quãng (interrupt-driven I/O) – CPU có ngõ Interrupt Request (IR), kích hoạt thiết bị I/O – Nếu có ngắt xảy (IR = active) ⇒ chuyển quyền điều khiển cho trình phục vụ ngắt (interrupt handler) – Các ngắt che (maskable) không che (non-maskable) – Hệ thống có bảng vector ngắt chứa địa trình phục vụ ngắt – Cơ chế ngắt dùng xử lý kiện khác 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 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 Bảng vector ngắt Pentium processor Khoa Công Nghệ Thông Tin, Đại Học Bách Khoa TP HCM Các chế thực I/O (3) Cơ chế I/O dùng direct memory access (DMA) – Các chế polling interrupt-driven I/ không thích hợp thực di chuyển khối lượng lớn liệu – Cơ chế DMA cần có phần cứng hỗ trợ đặc biệt, DMA controller – Cơ chế DMA thực truyền liệu trực tiếp thiết bị I/O nhớ mà không cần can thiệp CPU Khoa Công Nghệ Thông Tin, Đại Học Bách Khoa TP HCM bước thực DMA Khoa Công Nghệ Thông Tin, Đại Học Bách Khoa TP HCM Giao diện I/O cấp ứng dụng Mục tiêu: OS cung cấp giao diện I/O chuẩn hóa, cho ứng dụng – Ví dụ: ứng dụng in tài liệu 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 I/O system call OS Trình điều khiển thiết bị (device driver) cầu nối kernel điều khiển thiết bị (device controller) Đặc tính thiết bị đ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 (graphics controller) Khoa Công Nghệ Thông Tin, Đại Học Bách Khoa TP HCM Cấu trúc I/O cấp kernel Khoa Công Nghệ Thông Tin, Đại Học Bách Khoa TP HCM Đặc tính thiết bị I/O Khoa Công Nghệ Thông Tin, Đại Học Bách Khoa TP HCM 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 character Socket interface Unix, Windows/NT,… – Clock timer Cung cấp thời gian tại, timer Có thể lập trình Khoa Công Nghệ Thông Tin, Đại Học Bách Khoa TP HCM System calls Blocking: process bò suspended I/O hoàn tất – Dễ dàng sử dụng – Không hiệu số trường hợp Nonblocking: process tiếp tục thực thi sau lệnh gọi I/O – Ví dụ: data copy (buffered I/O) – Thường thực với multithreading – Khó kiểm soát kết thực I/O Asynchronous: process thực thi lúc hệ thống thực I/O – Khó sử dụng – I/O subsystem báo hiệu cho process I/O hoàn tất Khoa Công Nghệ Thông Tin, Đại Học Bách Khoa TP HCM I/O subsystem kernel Định thời yêu cầu I/O – Các yêu cầu I/O xếp hàng hàng đợi thiết bị – Bảo đảm công bằng, hiệu suất cao Đệm liệu (buffering): lưu liệu tạm thời nhớ thực I/O – Giải trường hợp chênh lệch tốc độ, kích thước liệu thực I/O Caching Spooling Xử lý 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 Công Nghệ Thông Tin, Đại Học Bách Khoa TP HCM Chu kỳ yêu cầu I/O User Kernel Hardware Khoa Công Nghệ Thông Tin, Đại Học Bách Khoa TP HCM Hiệu suất I/O Hiệu suất I/O ảnh hưởng lớn đến hiệu suất toàn hệ thống I/O gây tải cao – CPU thực lệnh điều khiển device driver, kernel I/O code – Chuyển ngữ cảnh I/O interrupt, chi phí copy liệu gửi nhận – Network traffic gây tốc độ context-switch cao Tăng hiệu suất I/O – Giảm số lần chuyển ngữ cảnh, giảm thiểu trình copy liệu (bằng caching,…) – Giảm số lần ngắt quãng (truyền khối liệu lớn, dùng controller thông minh, dùng chế polling,…) – Sử dụng DMA Khoa Công Nghệ Thông Tin, Đại Học Bách Khoa TP HCM Ví dụ: remote login subdaemon for the remote login session I/O system call to send the character to the remote machine Khoa Công Nghệ Thông Tin, Đại Học Bách Khoa TP HCM ... thi lúc hệ thống thực I/O – Khó sử dụng – I/O subsystem báo hiệu cho process I/O hoàn tất Khoa Công Nghệ Thông Tin, Đại Học Bách Khoa TP HCM I/O subsystem kernel Định thời yêu cầu I/O – Các yêu... in tài liệu 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 I/O system call OS Trình điều khiển thiết bị (device driver) cầu nối kernel điều khiển thiết bị (device... cấp thời gian tại, timer Có thể lập trình Khoa Công Nghệ Thông Tin, Đại Học Bách Khoa TP HCM System calls Blocking: process bị suspended I/O hoàn tất – Dễ dàng sử dụng – Không hiệu số trường
Ngày đăng: 13/05/2014, 00:22
Xem thêm: Input, Output System