Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 38 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
38
Dung lượng
1,66 MB
Nội dung
BÀI GIẢNG NGUYÊN LÝ HỆ ĐIỀU HÀNH Chư ng 12: Hệ thống vào-ra Bộ mơn Khoa học máy tính Khoa Công nghệ thông tin Nội dung chươ ng 12 ■ Phần cứng vào-ra ■ Giao I/O Hardware diện vào-ra ứng dụng Application I/O Interface ■ Hệ thống vào-ra Kernel I/O Subsystem ■ Chuyển yêu cầu vào tới thao tác phần cứng Transforming I/O Requests to Hardware Operations ■ Streams ■ Performance 12.2 Mục tiêu ■ Khám phá cấu trúc I/O subsystem HĐH ■ Thảo luận nguyên lý phần cứng vào-ra phức tạp ■ Cung cấp chi tiết khía cạnh hiệu phần cứng phần mềm vào-ra 12.3 Mở đầ u ■ Hai cơng việc máy tính: ● Vào-ra ● Xử lý ■ Trong nhiều trường hợp, cơng việc vào-ra ● duyệt trang web, chỉnh sửa file ■ Vai trò HĐH vào-ra máy tính quản lý điều khiển thiết bị vào-ra hoạt động vào-ra ■ Các thiết bị vào-ra đa dạng chức tốc độ ● cần phương pháp điều khiển khác nhau, tạo thành hệ thống vào-ra (I/O subsystem) kernel 12.4 12.1 I/O Hardware ■ Có vơ số loại thiết bị vào-ra ■ Các khái niệm chung: ● Port: cổng giao tiếp thiết bị vào-ra với máy tính, vd: serial, parallel, usb, PS/2 ports… ● Bus (daisy chain or shared direct access): tập dây dẫn truyền thông tin thành phần máy tính thiết bị vào-ra, vd: PCI bus, SCSI bus ● Controller (host adapter): tập hợp thiết bị điện tử điều khiển cổng, bus, thiết bị vào-ra; controller có hay nhiều ghi dành cho tín hiệu liệu điều ển; vd: serial-port controller chip 12.5 I/O hardware (tiếp) ■ Bộ điều khiển thiết bị (device controller) hỗ trợ giao thức kết nối, buffering, caching… ■ Các lệnh vào-ra (I/O instructions) ều ển thi ết b ị ■ Các thiết bị có đị a chỉ, đượ c sử dụng bởi: ● Các lệnh vào-ra trực tiếp: chuyển liệu qua cổng vào-ra ● Vào-ra theo đồ nhớ (Memory-mapped I/O) ■ Có điều khiển thiết bị hỗ trợ kỹ thuật vào- trên: ● graphics controller có cổng vào-ra cho hoạt độ ng điều khiển bản, đồ ng thời có vùng nhớ ánh xạ lớn để lưu nội dung hình ● tiến trình ghi liệu lên vùng nhớ trên, controller tạo ảnh hình theo liệu ● ghi hàng triệu byte lên vùng nhớ nhanh nhiều so với thực hàng triệu lệnh vào-ra trực tiếp 12.6 Cấu trúc bus PC thông thườ ng 12.7 Một số đị a cổng vào-ra thiết bị PC 12.8 Polling - thăm dò lần lượ t ■ CPU cần xác đị nh trạng thái thiết bị ⇒ thực Polling ● Command-ready: controller sẵn sàng thực lệnh ● Busy: controller bận ● Error ■ Là vòng lặp busy-wait đợ i vào-ra từ thi ết b ị: ● đọc ghi trạng thái lặp lặp lại bit busy = để thực tiếp lệnh vào-ra; ● vd: đọ c trạng thái serial port để tránh tràn buffer gây m ất d ữ li ệu ■ Nói chung hoạt độ ng polling có hi ệu qu ả, ch ỉ khơng hiệu đượ c cố gắng thực lặp lại nhiều l ần mà tìm thấy thiết bị sẵn sàng ● Giải pháp: Mỗi controller nên có chế báo trạng thái rỗi cho CPU 12.9 Interrupts - Ngắt ■ Thiết bị vào-ra yêu cầu ngắt CPU Th ực xong m ỗi l ệnh, CPU đọ c dòng yêu cầu ngắt (trên CPU) chứa ngắt đế n ■ Các ngắt là: ● Ngắt khơng che đượ c (non-maskable): báo trình tr ạng l ỗi ph ải x lý ngay, vd: lỗi chia 0, lỗi stack, page fault ● Ngắt che đượ c (maskable): bị bỏ qua ho ặc b ị hoãn x lý, vd: ng gây thiết bị ■ Khi có ngắt: ● CPU lưu trạng thái làm việc, vd: đ/c trở về, g/t th ời ● Nhảy đế n thườ ng trình xử lý ngắt (có đị a xác đị nh b ộ nh ớ) ● Trình xử lý ngắt (Interrupt handler) xác đị nh nguyên nhân ng ắt, x lý thực lệnh trở từ ngắt ● CPU khôi phục trạng thái trướ c ngắt 12.10 12.3 Kernel I/O Subsystem ■ Kernel I/O Subsystem cung cấp nhiều dịch v ụ liên quan đế n vào-ra: scheduling, buffering, caching, spooling, error handling… ■ I/O Scheduling ● Lập lịch yêu cầu vào-ra nhằm xác đị nh m ột th ứ t ự th ực hi ện chúng h ợp lý ● Thực lập lịch vào-ra cách trì queue chứa yêu c ầu cho thiết bị ● HĐH cố gắng đạ t tối ưu: cải thiện hiệu hệ th ống, gi ảm th ời gian đáp ứng trung bình… ■ Buffering – chứa liệu nhớ v ẫn truy ền liệu thiết bị ● Để giải vấn đề không khớp tốc độ thiết bị ● Để giải vấn đề khơng khớp kích thước liệu truy ền gi ữa thi ết b ị 12.24 Bảng trạng thái thiết bị 12.25 ... dụng (pipes, FIFOs, streams, queues, mailboxes) 12.20 Clocks Timers ■ Cung cấp thời gian tại, thời gian trôi qua, thiết lập định thời (khởi hành động X thời điểm T) ■ Programmable interval timer... 12.13 Direct Memory Access (DMA) ■ Được sử dụng để tránh phải sử dụng vào-ra chương trình (programmed I/O) lượng liệu cần chuyển lớn ■ Cần có DMA controller (DMAC) ■ Chuyển liệu trực tiếp thiết... tác chỉnh s ửa x lý buffer; vd: ấn phím backspace, ký tự trướ c bị vứt kh ỏi dòng vào (input stream) 12.19 Các thiết bị mạng ■ Hầu hết HĐH cung cấp giao diện vào-ra dùng riêng cho mạng, khác với