Bài giảng Hệ điều hành: Chương 4 do TS. Ngô Hữu Dũng biên soạn nhằm mục đích phục vụ cho việc giảng dạy. Nội dung bài giảng gồm có: Căn bản về thiết bị I/O, các dịch vụ I/O của hệ điều hành, phần cứng nhập xuất I/O Hardware
đọc 12 byte Hệ thống trả data sẵn sàng , ko chờ cho new data OS trả lỗi “no data” Ví dụ, hệ thống POSIX ( Linux , OS X, … ) trả lỗi EAGAIN đọc file mở để đọc non-blocking IO ko có data sẳn có để đọc … 1.14 Quản lý thiết bị Các thiết bị - device Bộ điều khiển thiết bị - device controller Trình điều khiển thiết bị - device driver 1.15 Các thiết bị cần có phần mềm điều khiển - gọi device driver Trình đk thiết bị cho phép có interface đồng với kernel , che dấu chi tiết riêng biệt thiết bị Vd : kernel thực ghi data vào đĩa => ko quan tâm đến chi tiết loại đĩa ( đĩa từ hay flash memory ) Device drivers implement mechanism (cách để tương tác với thiết bị), not policy (ksoat truy suất thiết bị ) 1.16 Trong nhiều OS, Linux , Unix, BSD, OS X , Windows NT , thiết bị giao tiếp qua interface dạng file 1.17 Trình điều khiển thiết bị (device driver) giao tiếp với device controller để điều khiển thiết bị Một device controler hardware ( và/hoặc firmware ) điều khiển hoạt động thiết bị device controler - Nó kiểm sốt việc ánh xạ vào vị trí vật lý sinh ngắt để thông báo cho cpu kiện, sử dụng DMA để chuyển block data devive system memory 1.18 1.19 Kernel IO Subsystem Kernel cung cấp nhiều dịch vụ liên quan đến IO : định thời biểu, vùng đệm buffering , vùng lưu trữ cache , spooling , quản lý lỗi , Bảo vệ IO ,… 1.20 Lập lịch IO Các ứng dụng phát yêucầu (system call ) IO phải chờ đến lượt thực IO trật tự tư nhiên lựa chọn tốt cho hiệu chung toàn hệ thống=> lập lịch cải thiện hiệu toàn hệ thống , giảm tg chờ trung bình để thực IO cách đưa trật tự tối ưu 1.21 Lập lịch IO Vd : Suppose that a disk arm is near the beginning of a disk and that three applications issue blocking read calls to that disk Application requests a block near the end of the disk, application requests one near the beginning, and application requests one in the middle of the disk The operating system can reduce the distance that the disk arm travels by serving the applications in the order 2, 3,1 Rearranging the order of service in this way is the essence of I/O scheduling 1.22 Lập lịch IO • OS sử dụng hàng đợi lưu request cho thiết bị Khi ứng dụng phát IO system call, yêu cầu đưa vào hàng đợi thiết bị Bộ lập lịch xếp lại trật tự hàng đợi để tăng hiệu hệ thống thời gian chờ tb ứng dụng 1.23 Buffering , caching , spooling Spooling Spool buffer lưu kết xuất device, máy in, đảm bảo dòng data khơng đan xen Vd ,Tại thời điểm máy in phục vụ tác vụ, nhiều ứng dụng mong muốn in song song đảm bảo kết xuất chúng ko bị trộn lẫn vào OS giải vấn đề cách chặn kết xuất máy in Mỗi kết xuất ứng dụng đẩy vào file riêng Khi ứng dụng kết thúc in, hàng đợi spooling hệ thống đẩy file chờ in máy in, lần file 1.27 IO protection Để ngăn ngừa user thực thao tác IO ko hợp lệ, OS thiết lập lệnh IO lệnh đặc quyền ( privileged instructions ) => User ko trực tiếp đưa lệnh IO, chúng phải thực thông qua OS Vd : user program thực thi system call yêu cầu OS thực IO thay cho OS kiểm tra xem yêu cầu có hợp lệ ko, hợp lệ OS thực yêu cầu IO Kết trả cho user 1.28 ... thiết bị Các thiết bị - device Bộ điều khiển thiết bị - device controller Trình điều khiển thiết bị - device driver 1.15 Các thiết bị cần có phần mềm điều khiển - gọi device driver Trình... dạng file 1.17 Trình điều khiển thiết bị (device driver) giao tiếp với device controller để điều khiển thiết bị Một device controler hardware ( và/hoặc firmware ) điều khiển hoạt động thiết... phải chờ đến lượt thực IO trật tự tư nhiên lựa chọn tốt cho hiệu chung toàn hệ thống=> lập lịch cải thiện hiệu tồn hệ thống , giảm tg chờ trung bình để thực IO cách đưa trật tự tối ưu 1.21 Lập