Bài giảng Hệ điều hành - Phạm Đăng Hải - Chương 5: Quản lý vào ra
Thiết bị vào ra
Đa dạng, nhiều loại thiết bị, mỗi loại có nhiều kiểu khác nhau
Quan điểm kỹ thuật: là các thiết bị với bộ VXL, motor, các
linh kiện khác
Quan điểm lập trình: Giao diện như phần mềm để nhận lệnh,
thực hiện và trả kết quả về
Phân loại thiết bị ngoại vi
Thiết bị khối (Đĩa từ, băng từ)
Thông tin được lưu trữ có kích thước cố định và địa chỉ riêng
Có thể đọc ghi một khối độc lập với khối khác
Tồn tại thao tác định vị thông tin (seek )
Thiết bị ký tự (Máy in, Bàn phím, chuột,.)
Chấp nhận luồng ký tự, không có cấu trúc khối
Không có thao tác định vị thông tin
Loại khác: Đồng hồ
kiện gây ngắt vào ô nhớ cố định 2 Ghi nhận trạng thái của tiến trình bị ngắt 3 Chuyển địa chỉ của chương trình xử lý ngắt vào thanh ghi con trỏ lệnh Sử dụng bảng vector ngắt 4 Thực hiện chương trình xử lý ngắt 5 Khôi phục lại tiến trình bị ngắt 15 / 41 Chương 5: Quản lý vào ra 2. Dịch vụ vào ra của hệ thống Nội dung chính 1 Nguyên tắc quản lý chung 2 Dịch vụ vào ra của hệ thống 3 Hệ thống vào ra đĩa 16 / 41 Chương 5: Quản lý vào ra 2. Dịch vụ vào ra của hệ thống 2.1 Vùng đệm 2 Dịch vụ vào ra của hệ thống Vùng đệm (Buffer) Quản lý lỗi vào ra Kỹ thuật SPOOL 17 / 41 Chương 5: Quản lý vào ra 2. Dịch vụ vào ra của hệ thống 2.1 Vùng đệm Khái niệm chung Đặc trưng của thiết bị ngoại vi: hoạt động chậm Kích hoạt thiết bị Chờ đợi thiết bị đạt được trạng thái h/đọng thích hợp Chờ đợi các thao tác vào ra được thực hiện Đảm bảo hiệu năng của hệ thống cần Giảm số lượng thao tác vào ra, làm việc với từng khối dữ liệu Thực hiện song song thao tác vào ra với các thao tác khác Thực hiện trước các phép truy nhập Vùng đệm: Vùng nhớ trung gian, làm nơi lưu trữ thông tin trong các thao tác vào ra 18 / 41 Chương 5: Quản lý vào ra 2. Dịch vụ vào ra của hệ thống 2.1 Vùng đệm Phân loại vùng đệm 1 Vùng đệm vào Có thể thự hiện ngay phép truy nhập dữ liệu Ví dụ đọc đĩa Vùng đệm ra Thông tin được đưa ra vùng đệm, khi nào vùng đệm đầy sẽ đưa ra thiết bị 19 / 41 Chương 5: Quản lý vào ra 2. Dịch vụ vào ra của hệ thống 2.1 Vùng đệm Phân loại vùng đệm 2 Vùng đệm gắn với thiết bị Được xây dựng khi mở thiết bị/file Phục vụ riêng cho thiết bị bị xóa khi đóng thiết bị Thích hợp khi các thiết bị có cấu trúc bản ghi vật lý khác nhau Vùng đệm gắn với hệ thống Xây dựng khi khởi tạo hệ thống, không gắn với thiết bị cụ thể Tồn tại trong suốt quá trình hoạt động của hệ thống Mở file/thiết bị ⇒ Gắn với một vùng đệm có sẵn Khi đóng file/thiết bị⇒ vùng đệm được trả về hệ thống Thích hợp khi các thiết bị có cấu trúc bản ghi vật lý chung Tránh việc tạo xóa vùng đệm nhiều lần Vùng đệm trở thành các tài nguyên găng ⇒ phải điều độ 20 / 41 Chương 5: Quản lý vào ra 2. Dịch vụ vào ra của hệ thống 2.1 Vùng đệm Phân loại vùng đệm 3 Vùng đệm trung chuyển Vùng đệm vào Vùng đệm ra Vùng đệm xử lý Vùng đệm vòng tròn Vùng đệm vào Vùng đệm ra Vùng đệm xử lý 21 / 41 Chương 5: Quản lý vào ra 2. Dịch vụ vào ra của hệ thống 2.2 Quản lý lỗi vào ra 2 Dịch vụ vào ra của hệ thống Vùng đệm (Buffer) Quản lý lỗi vào ra Kỹ thuật SPOOL 22 / 41 Chương 5: Quản lý vào ra 2. Dịch vụ vào ra của hệ thống 2.2 Quản lý lỗi vào ra Đặt vấn đề Lỗi luôn có thể xảy ra tại mọi bộ phận của hệ thống Phần cứng: Intel 486? Phần mềm: Win 98 ? Thiết bị ngoại vi: Hay gặp lỗi do tác động của môi trường Xử lý lỗi ⇒ Trách nhiệm của hệ thống Được quan tâm ngay tại giai đoạn thiết kế, chế tạo Kiểm tra chẵn/lẻ Tổng kiểm tra Các phép kiểm tra do phần cứng/phần mềm đảm nhiệm Yêu cầu sử dụng linh hoạt các phép kiểm tra 23 / 41 Chương 5: Quản lý vào ra 2. Dịch vụ vào ra của hệ thống 2.2 Quản lý lỗi vào ra Xử lý lỗi Phát hiện lỗi, hệ thống cố gắng khắc phục bằng cách t/hiện lại nhiều lần Nếu lỗi ổn định ⇒Cố gắng khôi phục lại thông tin ban đầu Trường hợp lưu trữ, để đảm bảo chất lượng thông tin Thiết bị điều khiển đọc lại kết quả vừa lưu trữ So sánh với thông tin gốc/So sánh 2 tổng kiểm tra Kết quả báo cho hệ thống để có xử lý tương ứng ⇒Lặp lại thao tác/ Thông báo lỗi Thiết bị vào ra thường cung cấp mã trả về (return code) Phân tích và đánh giá dựa trên mã nhận được 24 / 41 Chương 5: Quản lý vào ra 2. Dịch vụ vào ra của hệ thống 2.3 Kỹ thuật SPOOL 2 Dịch vụ vào ra của hệ thống Vùng đệm (Buffer) Quản lý lỗi vào ra Kỹ thuật SPOOL 25 / 41 Chương 5: Quản lý vào ra 2. Dịch vụ vào ra của hệ thống 2.3 Kỹ thuật SPOOL Kỹ thuật SPOOL (Simultaneous peripheral operation on-line) Trên phương diện lập trình, thiết bị vào ra là Trạm nhận các yêu cầu từ chương trình và thực hiện Trả các mã trạng thái để hệ thống phân tích Vậy có thể dùng phần mềm mô phỏng các thiết bị vào ra Thiết bị vào ra có thể coi như tiến trình Được điều độ theo quy tắc quản lý tiến trình Mục đích Mô phỏng quá trình điều khiển, quản lý thiết bị ngoại vi Kiểm tra hoạt động của các thiết bị đang chế tạo Tạo hiệu ứng sử dụng song song cho các thiết bị chỉ tuần tự 26 / 41 Chương 5: Quản lý vào ra 2. Dịch vụ vào ra của hệ thống 2.3 Kỹ thuật SPOOL Kỹ thuật SPOOL: Ví dụ máy in ảo P1 P2 Virtual printer Printer daemon 27 / 41 Chương 5: Quản lý vào ra 3. Hệ thống vào ra đĩa 1 Nguyên tắc quản lý chung 2 Dịch vụ vào ra của hệ thống 3 Hệ thống vào ra đĩa 28 / 41 Chương 5: Quản lý vào ra 3. Hệ thống vào ra đĩa 3.1 Cấu trúc đĩa từ 3 Hệ thống vào ra đĩa Cấu trúc đĩa từ Điều phối truy nhập đĩa 29 / 41 Chương 5: Quản lý vào ra 3. Hệ thống vào ra đĩa 3.1 Cấu trúc đĩa từ Cấu trúc Mô hình hóa như mảng một chiều các khối logic Khối logic là đơn vị trao đổi nhỏ nhất Ánh xạ liên tiếp các khối logic tới các sector của đĩa Khối 0 là sector đầu mặt 0 rãnh/Cylinder ngoài cùng Ánh xạ theo trật tự: Sector → Header → Track/Cylinder Ít phải dịch chuyển đầu từ khi đọc các sector kế tiếp nhau 30 / 41 Chương 5: Quản lý vào ra 3. Hệ thống vào ra đĩa 3.1 Cấu trúc đĩa từ Vấn đề truy nhập đĩa Hệ điều hành có trách nhiệm sử dụng hiệu quả phần cứng Với đĩa: Thời gian truy nhập nhanh và băng thông cao Băng thông được tính dựa trên Tổng số bytes đã trao đổi Khoảng thời gian từ y/cầu dịch vụ đầu cho tới khi hoàn thành Thời gian truy nhập gồm 2 phần Thời gian định vị (seek time) Thời gian dịch chuyển đầu từ tới cylinders chứa sector cần truy nhập Độ trễ quay (Rotational latency) Thời gian chờ đợi để đĩa quay tới sector cần truy nhập Mục đích: cực tiểu hóa thời gian định vị Thời gian định vị ≈khoảng cách dịch chuyển Hàng đợi yêu cầu Đĩa và bộ đ/khiển sẵn sàng, y/cầu truy nhập đc thực hiện ngay Đĩa/bộ đ/khiển chưa sẵn sàng, yêu cầu đc đặt trong hàng đợi Hoàn thành một yêu cầu truy nhập đĩa, lựa chọn y/cầu nào? 31 / 41 Chương 5: Quản lý vào ra 3. Hệ thống vào ra đĩa 3.2 Điều phối truy nhập đĩa 3 Hệ thống vào ra đĩa Cấu trúc đĩa từ Điều phối truy nhập đĩa 32 / 41 Chương 5: Quản lý vào ra 3. Hệ thống vào ra đĩa 3.2 Điều phối truy nhập đĩa Các thuật toán Tồn tại một số thuật toán điều phối dịch vụ cho yêu cầu vào ra đĩa 1 FCFS:First Come First Served 2 SSTF: Shortest Seek Time First 3 SCAN 4 C-SCAN: Circular SCAN 5 LOOK/C-LOOK Giả thiết Các yêu cầu truy nhập 98, 183, 37, 122, 14, 124, 65, 67 Đầu đọc đang ở cylinder 53 33 / 41 Chương 5: Quản lý vào ra 3. Hệ thống vào ra đĩa 3.2 Điều phối truy nhập đĩa FCFS Truy nhập theo trật tự yêu cầu ⇒Không hiệu quả Yêu cầu truy nhập cylinder : 98, 183, 37, 122, 14, 124, 65, 67 0 14 37 53 65 67 98 122 124 183 199 45 85 146 85 108 110 59 2 ∑ = 630 34 / 41 Chương 5: Quản lý vào ra 3. Hệ thống vào ra đĩa 3.2 Điều phối truy nhập đĩa SSTF Chọn truy nhập có t/gian định vị từ vị trí hiện tại nhỏ nhất ⇒Có thể tồn tại y/c phải đợi vô hạn do y/c mới x/hiện gần đầu đọc hơn (tương tự SJF ) Yêu cầu truy nhập cylinder : 98, 183, 37, 122, 14, 124, 65, 67 0 14 37 53 65 67 98 122 124 183 199 12 2 30 23 84 24 2 59 ∑ = 236 53→37→14→65→67→ . . . 35 / 41 Chương 5: Quản lý vào ra 3. Hệ thống vào ra đĩa 3.2 Điều phối truy nhập đĩa SCAN Đầu từ dich chuyển từ cylinder ngoài cùng đến cylinder trong cùng và quay ngược lại. Phục vụ cho các yêu cầu gặp trên đường đi Yêu cầu truy nhập cylinder : 98, 183, 37, 122, 14, 124, 65, 67 0 14 37 53 65 67 98 122 124 183 199 Đầu từ đang dich về phía cylinder 0 15 23 14 65 2 31 24 2 59 36 / 41 Chương 5: Quản lý vào ra 3. Hệ thống vào ra đĩa 3.2 Điều phối truy nhập đĩa C-SCAN Nguyên tắc: Xử lý các cylinders như một danh sách nối vòng: Cylinder ngoài cùng nối tiếp với cylinder trong cùng Đầu từ d/chuyển từ cylinder ngoài cùng đến cylinder trong cùng Phục vụ cho các yêu cầu gặp trên đường đi Khi tới Cylinder trong cùng, quay ngược lại Cylinder ngoài cùng Không phục vụ cho các yêu cầu gặp trên đường đi Nhận xét: Thu được thời gian đợi đồng nhất hơn thuật toán SCAN Khi đầu đọc đạt tới một phía của đĩa (cylinders trong cùng, ngoài cùng), mật độ các yêu cầu xuất hiện ở phía bên kia sẽ lớn hơn so với vị trí hiện tại (do vừa đi qua). Các yêu cầu này cũng đợi lâu hơn ⇒ Quay ngay lập tức về phía bên kia 37 / 41 Chương 5: Quản lý vào ra 3. Hệ thống vào ra đĩa 3.2 Điều phối truy nhập đĩa C-SCAN: Ví dụ Yêu cầu truy nhập cylinder : 98, 183, 37, 122, 14, 124, 65, 67 0 14 37 53 65 67 98 122 124 183 199 38 / 41 Chương 5: Quản lý vào ra 3. Hệ thống vào ra đĩa 3.2 Điều phối truy nhập đĩa LOOK/ C-LOOK Phiên bản của SCAN/C-SCAN: Đầu đọc không di chuyển tới các cylinders ngoài/trong cùng mà chỉ đến các y/cầu xa nhất về 2 phía rồi quay lại ngay Yêu cầu truy nhập cylinder : 98, 183, 37, 122, 14, 124, 65, 67 0 14 37 53 65 67 98 122 124 183 199 39 / 41 Chương 5: Quản lý vào ra 3. Hệ thống vào ra đĩa 3.2 Điều phối truy nhập đĩa Vấn đề lựa chọn thuật toán SSTF: Phổ biến, hiệu quả hơn FCFS SCAN/C-SCAN hoạt động tốt hơn cho hệ thống có nhiều yêu cầu truy nhập đĩa Không gặp vấn đề "starrvation: chờ đợi quá lâu" Hiệu quả của các thuật toán phụ thuộc mạnh về số lượng và kiểu các yêu cầu Yêu cầu truy xuất đĩa bị ảnh hưởng mạnh bởi các phương pháp phân phối đĩa cho file Phân phối liên tục: đưa ra các y/cầu truy xuất lân cận nhau Phân phối liên kết/ chỉ mục: có thể gồm các khối được phân bố rộng rãi trên đĩa Thuật toán điều phối truy nhập đĩa có thể được viết như những modul riêng biệt của HĐH cho phép có thể thay thế bởi các thuật toán khác khi cần thiết Cả SSTF và LOOK đều có thể là lựa chọn hợp lý cho thuật toán mặc định 40 / 41 Chương 5: Quản lý vào ra Kết luận 1 Nguyên tắc quản lý chung Giới thiệu Ngắt và xử lý ngắt 2 Dịch vụ vào ra của hệ thống Vùng đệm (Buffer) Quản lý lỗi vào ra Kỹ thuật SPOOL 3 Hệ thống vào ra đĩa Cấu trúc đĩa từ Điều phối truy nhập đĩa 41 / 41
File đính kèm:
- Bài giảng Hệ điều hành - Phạm Đăng Hải - Chương 5 Quản lý vào ra.pdf