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ồ

pdf41 trang | Chuyên mục: Hệ Điều Hành | Chia sẻ: dkS00TYs | Lượt xem: 2559 | Lượt tải: 4download
Tóm tắt nội dung Bài giảng Hệ điều hành - Phạm Đăng Hải - Chương 5: Quản lý vào ra, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
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:

  • pdfBài giảng Hệ điều hành - Phạm Đăng Hải - Chương 5 Quản lý vào ra.pdf