Bài giảng Nguyên lý hệ điều hành (Bài giảng tuần 9) - Nguyễn Hải Châu
lượt xem 4
download
Trong bài giảng này cung cấp cho người học các kiến thức về hệ vào/ra trong hệ điều hành. Các nội dung chính được trình bày trong bài giảng gồm có: Phần cứng, giao diện vào/ra với ứng dụng, hệ vào/ra của nhân, chuyển yêu cầu vào/ra thành thao tác phần cứng, streams, các vấn đề về hiệu năng. Mời các bạn tham khảo.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Nguyên lý hệ điều hành (Bài giảng tuần 9) - Nguyễn Hải Châu
- Nguyên lý hệ điều hành Hệ vào/ra Nguyễn Hải Châu Phần cứng Khoa Công nghệ Thông tin Giao diện vào/ra với ứng dụng Hệ vào/ra của nhân Trường Đại học Công nghệ Chuyển yêu cầu vào/ra thành thao tác phần cứng Streams 1 Các vấn đề về hiệu năng 2 Phần cứng vào/ra Cấu trúc bus của máy PC z Có rất nhiều loại thiết bị vào/ra z Các khái niệm chung z Port (cổng vào/ra) z Bus z Controller z Các vi lệnh điều khiển thiết bị vào/ra z Thiết bị vào/ra có địa chỉ được sử dụng bởi: z Các lệnh vào/ra trực tiếp z Vào/ra thông qua ánh xạ bộ nhớ 3 4 Một số địa chỉ vào/ra của PC Polling z Xác định trạng thái của thiết bị: z command-ready (lệnh sẵn sàng?) z busy (bận?) z Error (lỗi?) z Thực hiện vòng lặp chờ bận để chờ vào/ra với thiết bị 5 6 1
- Chu kỳ vào/ra với ngắt Interrupts (ngắt) z Thiết bị vào/ra kích hoạt đường yêu cầu ngắt CPU z Bộ thao tác ngắt nhận ngắt z CPU có thể bỏ qua hoặc làm trễ việc xử lý một số ngắt z Vector ngắt giúp CPU tìm được hàm xử lý ngắt z Dựa trên độ ưu tiến z Một số ngắt là không che được (unmaskable) 7 8 z Cơ chế ngắt có thể dùng cho exceptions Bảng vector ngắt của BXL Intel Truy cập bộ nhớ trực tiếp z Thuật ngữ: Direct memory access (DMA) z Được sử dụng để tránh lập trình vào/ra với dung lượng dữ liệu lớn z Phần cứng cần có: Bộ điều khiển DMA z CPU truyền dữ liệu trực tiếp giữa bộ nhớ và thiết bị vào/ra 9 10 Quá trình 6 bước thực hiện vào/ra theo DMA Giao diện vào/ra với ứng dụng z Các hàm hệ thống vào/ra của một thiết bị được đóng gói trong các class chung z Tầng điều khiển thiết bị (device-driver layer) che đi sự khác biệt giữa các bộ điều khiển vào/ra z Có nhiều loại thiết bị căn cứ theo các tiêu chí: z Character-stream / block z Sequential / random-access z Sharable / dedicated z Speed of operation 11 z read-write / read only / write only 12 2
- Cấu trúc vào ra của nhân Đặc tính các thiết bị vào/ra 13 14 Các thiết bị block và character Các thiết bị mạng z Các thiết bị block (ví dụ đĩa cứng): z Có thể là thiết bị block hoặc character z Các lệnh làm việc: read, write, seek z Có thể thực hiện vào/ra theo chế độ raw I/O hoặc z Unix và Windows NT/9i/2000 có giao diện lập thông qua truy cập hệ thống tệp z Có thể truy cập qua tệp memory-mapped (ánh xạ trình socket bộ nhớ) z Tách biệt giao thức mạng với các thao tác mạng z Các thiết bị character (ví dụ bàn phím, chuột, z Có tính năng select cổng COM): z Các lệnh làm việc: get, put z Nhiều cách tiếp cận vào/ra (pipes, FIFOs, z Bổ sung thư viện cho phép làm việc theo dòng streams, queues, mailboxes) (line) 15 16 Đồng hồ (clock) và timer Vào/ra blocking và nonblocking z Cung cấp thông tin về giờ hiện tại, giờ đã trôi z Blocking – Tiến trình treo đến khi vào/ra hoàn qua, timer thành z Dễ hiểu, dễ sử dụng z Nếu phần cứng clock/timer lập trình được:Có z Không đủ đối với một số loại yêu cầu vào/ra thể tạo ngắt định kỳ (Cần cho các hệ time- z Nonblocking – Hàm vào/ra trả lại kết quả sharing) ngay không cần vào/ra hoàn thành z Giao diện NSD, copy dữ liệu có buffered vào/ra z Được cài đặt qua kỹ thuật đa luồng z Trả lại ngay số byte được đọc/ghi 17 18 3
- Vào/ra không đồng bộ Hệ vào/ra của nhân z Asynchronous (không đồng bộ): Tiến trình z Lập lịch chạy trong khi vào/ra đang được thực hiện z Một số yêu cầu vào/ra được phục vụ thông qua hàng chờ vào/ra của từng thiết bị z Khó sử dụng z Một số HĐH cố gắng đảm bảo tính công bằng z Hệ vào/ra gửi tín hiệu cho tiến trình khi vào/ra hoàn thành z Tạo vùng đệm lưu dữ liệu trong bộ nhớ khi truyền dữ liệu giữa các thiết bị: z Khắc phục sự khác nhau về tốc độ của các thiết bị z Khắc phục sự khác nhau về độ dài gói dữ liệu z Để duy trì ngữ nghĩa copy 19 20 Tốc độ truyền dữ liệu của các thiết bị trên Sun Enterprise 6000 Hệ vào/ra của nhân z Caching – Bộ nhớ tốc độ cao chứa các bản copy của dữ liệu z Dữ liệu luôn là bản copy z Cải thiện đáng kể hiệu năng hệ thống z Spooling –Lưu dữ liệu ra (output) cho một thiết bị z Sử dụng khi thiết bị chỉ phục vụ được một yêu cầu tại một thời điểm z Ví dụ: Máy in 21 22 Hệ vào/ra của nhân Xử lý lỗi z Cung cấp khả năng sử dụng “độc quyền” một z HĐH có thể khôi phục lỗi gây ra do đọc đĩa, thiết bị thiết bị chưa sẵn sàng, ghi lỗi... z Hàm hệ thống: cấp phát và giải phóng thiết bị z Cơ chế chống bế tắc z Khi có lỗi vào/ra: Hàm điều khiển trả lại mã lỗi z Hệ thống có log ghi lại các lỗi vào/ra 23 24 4
- Cấu trúc dữ liệu của nhân Cấu trúc vào/ra trong nhân UNIX z Nhân giữ các thông tin trạng thái cho các thành phần của hệ vào/ra, bao gồm bảng các mở tệp, kết nối mạng, trạng thái các thiết bị character z Nhiều cấu trúc dữ liệu phức tạp để lưu vết các vùng đệm, cấp phát bộ nhớ, các khối nhớ rỗi... z Một số HĐH sử dụng phương pháp hướng đối tượng và message-passing để cài đặt hệ vào/ra 25 26 Chuyển đổi yêu cầu vào/ra Thực hiện một yêu cầu vào/ra thành thao tác phần cứng z Giả sử một tiến trình đọc tệp từ đĩa cứng. Các bước thực hiện như sau: z Xác định thiết bị chứa tệp z Biến đổi tên tệp thành dạng biểu diễn của tệp trên thiết bị z Đọc dữ liệu (vật lý) từ đĩa vào vùng đệm z Cho phép tiến trình được đọc dữ liệu từ vùng đệm z Trả lại điều khiển cho tiến trình 27 28 STREAMS Cấu trúc STREAMS z STREAM – kênh liên lạc full-duplex giữa một tiến trình của NSD và một thiết bị z Một STREAM gồm có: - STREAM head dùng để giao tiếp với tiến trình của NSD - driver end giao tiếp với thiết bị - n STREAM module giữa head và end (n≥0). z Mỗi module có một read queue và một write queue z Message passing được sử dụng để truyền 29 30 thông giữa các queue 5
- Truyền thông giữa các máy tính Hiệu năng z Vào/ra là yếu tố chính ảnh hưởng đến hiệu năng của hệ thống: z Yêu cầu CPU thực hiện mã vào/ra của driver, mã vào/ra của kernel z Thực hiện Context switch khi có ngắt z Copy dữ liệu z Truyền dữ liệu mạng 31 32 Cải tiến hiệu năng Chức năng các thiết bị z Giảm số lượng các context switches z Giảm copy dữ liệu z Giảm số lần ngắt bằng cách truyền lượng lớn dữ liệu trong mỗi lần vào/ra, dùng controller thông minh... z Sử dụng DMA z Cân bằng tải giữa hiệu năng CPU, bộ nhớ, bus, và vào/ra để đạt thông lượng tốt nhất 33 34 Các vấn đề cần nhớ z Giao diện vào/ra với ứng dụng z Hệ vào/ra của nhân HĐH z Streams z Các vấn đề về hiệu năng hệ thống chịu ảnh hưởng của vào/ra 35 6
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Nguyên lý hệ điều hành: Chương 6 - Phạm Quang Dũng
6 p | 184 | 17
-
Bài giảng Nguyên lý hệ điều hành - Nguyễn Hải Châu
10 p | 183 | 15
-
Bài giảng Nguyên lý hệ điều hành (Bài giảng tuần 10) - Nguyễn Hải Châu
8 p | 119 | 12
-
Bài giảng Nguyên lý hệ điều hành: Chương 11 - Phạm Quang Dũng
12 p | 107 | 11
-
Bài giảng Nguyên lý hệ điều hành: Chương 7 - Phạm Quang Dũng
11 p | 152 | 10
-
Bài giảng Nguyên lý hệ điều hành (handout): Chương 5 - Phạm Đăng Hải
15 p | 60 | 9
-
Bài giảng Nguyên lý hệ điều hành: Chương 3 - Phạm Quang Dũng
8 p | 78 | 9
-
Bài giảng Nguyên lý hệ điều hành (Bài giảng tuần 8) - Nguyễn Hải Châu
7 p | 115 | 9
-
Bài giảng Nguyên lý hệ điều hành (Bài giảng tuần 6) - Nguyễn Hải Châu
10 p | 118 | 9
-
Bài giảng Nguyên lý hệ điều hành: Chương 8 - Phạm Quang Dũng
13 p | 88 | 7
-
Bài giảng Nguyên lý hệ điều hành: Chương 4 - Phạm Quang Dũng
7 p | 83 | 7
-
Bài giảng Nguyên lý hệ điều hành: Chương 9 - Phạm Quang Dũng
11 p | 85 | 6
-
Bài giảng Nguyên lý hệ điều hành: Chương 10 - Phạm Quang Dũng
7 p | 82 | 6
-
Bài giảng Nguyên lý hệ điều hành (Bài giảng tuần 3) - Nguyễn Hải Châu
8 p | 110 | 5
-
Bài giảng Nguyên lý hệ điều hành (Bài giảng tuần 1) - Nguyễn Hải Châu
6 p | 71 | 5
-
Bài giảng Nguyên lý hệ điều hành (Bài giảng tuần 2) - Nguyễn Hải Châu
6 p | 106 | 4
-
Bài giảng Nguyên lý hệ điều hành (Bài giảng tuần 4) - Nguyễn Hải Châu
10 p | 85 | 4
-
Bài giảng Nguyên lý hệ điều hành: Chương 13 - Phạm Quang Dũng
6 p | 60 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn