Bài giảng Hệ điều hành: Chương 4 - TS. Ngô Hữu Dũng

28 6 0
Bài giảng Hệ điều hành: Chương 4 - TS. Ngô Hữu Dũng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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

HỆ ĐIỀU HÀNH (OPERATING SYSTEM CONCEPTS) Wiley - Operating System Concepts(Silberschatz).9th Giới thiệu môn học  Mục tiêu môn học  Vai trò HĐH  Nguyên lý hoạt động HĐH đa nhiệm  Nội dung  Phần 1: Tổng quan (Overview)  Phần 2: Quản lý tiến trình (Process Management)  Phần 3: Quản lý nhớ (Memory Management)  Phần 4: Quản lý I/O (I/O Management)  Phần 5: Quản lý hệ thống file (Storage Management) 1.2 I/O Management CHƯƠNG 4: QUẢN LÝ I/O 1.3 Nội dung  Căn thiết bị I/O  Các dịch vụ I/O hệ điều hành 1.4 Phần cứng nhập xuất I/O Hardware 1.5 Phần cứng nhập xuất I/O Hardware  Controller có hay nhiều register chứa data control signal  CPU giao tiếp với controller cách đọc ghi bit register  The I/O instruction  memory-mapped I/O (the device-control registers are mapped into the address space of the processor) 1.6 Phần cứng nhập xuất I/O Hardware Giao tiếp hardware CPU :  Polling – thăm dò : CPU định kỳ sau thời gian đọc bit trạng thái để biết thiết bị hoàn tất thao tac nhập/xuất chưa  Interrupt – ngắt: thiết bị thông báo cho CPU hồn tất thao tác nhập/xuất  DMA – truy suất nhớ trực tiếp 1.7 Phần cứng nhập xuất I/O Hardware 1.8 Phần cứng nhập xuất I/O Hardware  Các thiết bị thông dụng : keyboards, displays, disks, mice, printers, scanners,  Các thiết bi system board : timers, graphics chips, audio chips  Có dạng thiết bị IO  block devices  character devices 1.9 Phần cứng nhập xuất I/O Hardware  thiết bị dòng ký tự (character devices) chuyển byte một, ngược lại thiết bị khối (block devices) chuyển đơn vị khối byte  Khối byte (block ) có kích thước cố định Kích thước block từ 512 byte đến 32768 byte Các block đánh số => truy suất lặp lại khối data việc định truy suất block N  Đĩa từ tape : thiết bị block Đĩa từ truy suất ngẫu nhiên, tape truy suất 1.10 Phần cứng nhập xuất I/O Hardware  Blocking IO : nghĩa tiến trình người dùng bị block ( wait ) thao tác IO hoàn tất Nếu bạn đọc 1500 byte từ thiết bị, thao tác đọc bị khóa data sẳn sàng  Non-blocking IO : nghĩa lời gọi hệ thống IO ko đặt tiến trình vào trạng thái sleep chờ IO Tiến trình nhận thông báo IO chưa sẵn sàng Nếu bạn đọc 1500 byte từ thiết bị, 12 byte đọc xong, thao tác đọc tt đọ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  Buffer vùng nhớ lưu data trình data di chuyển thiết bị hay thiết bị ứng dụng  Lý : Lý : Tốc độ không phù hợp sản xuất tiêu thụ dòng data Vd : liệu chuyển từ modem vào đĩa Tốc độ lệch hàng ngàn lần Một buffer tạo nhớ, để lưu byte nhận từ modem Khi buffer chứa toàn data chuyển đến, thao tác toàn data buffer ghi vào đĩa … 1.24 Buffering , caching , spooling Lý : chênh lệch thiết bị có kích thước data-transfer khác VD : Such disparities are especially common in computer networking, where buffers are used widely for fragmentation and reassembly of messages At the sending side, a large message is fragmented into small network packets The packets are sent over the network, and the receiving side places them in a reassembly buffer to form an image of the source data Lý 3: sử dụng buffering để hỗ trợ copy semantics cho ứng dụng IO 1.25 Buffering , caching , spooling  Caching : nhớ có tốc độ truy suất cao , lưu giữ data Truy suất cached hiệu truy suất data gốc Vd, lệnh tt thực thi lưu đĩa, cache nhớ , copy lần vào nhớ cache primary secondary CPU  Cache buffer khác mục đích sử dụng 1.26 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 ... đọ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...  Phần 4: Quản lý I/O (I/O Management)  Phần 5: Quản lý hệ thống file (Storage Management) 1.2 I/O Management CHƯƠNG 4: QUẢN LÝ I/O 1.3 Nội dung  Căn thiết bị I/O  Các dịch vụ I/O hệ điều hành... tác đọc tt đọ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

Ngày đăng: 08/05/2021, 11:26

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan