Tải bản đầy đủ (.ppt) (31 trang)

Chương 13 Quản lý thiết bị nhập xuất

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (525.46 KB, 31 trang )


BÀI TẬP LỚN
MÔN LÝ THUYẾT HỆ ĐIỀU HÀNH
Thành viên nhóm:

Bùi Khắc Hoài Nam

Nguyễn Hữu Hoài Nhân

Tạ Quang Vinh

Nguyễn Vũ Hoàng

Nguyễn Tăng Trường

Lê Đình Trung

Trần Ngọc Toàn

Trần Thị Mỹ Kiều

Mai Viết Việt

Trần Phúc Thịnh

Lê Minh Thắng

Chương 13: Quản Lý Nhập Xuất

Tổng Quát


Phần Cứng I/O

Ứng Dụng Giao Diện I/O

Hệ Thống Con I/O Của Nhân

Chuyển Đổi I/O Đến Phần Cứng

Streams

Năng Lực

Tóm tắt

Mục Đích

Nắm được các cơ sở của phần cứng I/O.

Biết được các dịch vụ I/O được cung cấp bởi hệ điều
hành.

Hiểu cách hệ điều hành làm cầu nối giữa giao diện phần
cứng và giao diện ứng dụng.

Biết các khía cạnh về chức năng của I/O và các nguyên
lý thiết kế hệ điều hành để cải tiến chức năng I/O.

Tổng Quát

Máy tính có 2 công việc chính : nhập xuất và xử lý.


Vai trò của hệ điêu hành trong máy tính là quản ly, điều
khiển nhập xuất và hoạt động nhập xuất

Cách điều khiển các thiết bị được nối kết tới máy tính là
mối quan tâm chủ yếu của người thiết kế hệ điều hành.

Công nghệ thiết bị I/O thể hiện hai xu hướng trái ngược
nhau:

Tăng sự chuẩn hoá phần mềm và giao diện phần cứng.

Tăng sự đa dạng của các thiết bị I/O.

Device drive(trình điều khiển) Để hợp nhất các thiết bị
mới vào máy tính và hệ điều hành

Phần cứng nhập xuất

Phần cứng I/O được chia làm 3 loại phổ biến

Thiết bị giao diện người dùng (màn hình, bàn phím,
chuột, máy in )

Thiết bị lưu trữ ( đĩa, băng từ, card giao tiếp )

Thiết bị truyền : như modem )

Các thiết bị giao tiếp với máy bằng một điểm nối
kết (cổng-port) ví dụ : cổng tuần tự,usb…


Một bus là một tập hợp dây dẫn truyền thông tin
giữa máy tính và các thiết bị nhập xuất. Ví dụ:
PCI bus, SCSI bus

Kiến trúc PC thông thường

I/O hardware

Các lệnh vào ra điều khiển các thiết bị vào ra

Môt cổng I/O thông thường có 4 thanh ghi, đó là status,
control,data-in, và thanh ghi data-out.

Địa chỉ các cổng thiết bị nhập xuất trên PC

Polling( thăm dò)

Polling giúp CPU xác định được trạng thái cua thiết bi

Busy bit : bít bận

Command-ready bit : bit sẵn sàng nhận lệnh

Là một vòng lặp byte đợi vào ra từ thiết bị: Nó ở trong một vòng lặp,
đọc thanh ghi trang thái cho đến khi bit bận. Ví dụ đọc trạng thanh
ghi trạng thái của cổng tuần tự( serial port đê tránh tràn bộ đệm gây
ra việc mất dữ liệu).

Nếu bộ điều khiên và thiết bị nhanh thì phương pháp này là một

phương pháp phù hợp nhưng nếu chờ đợi lâu nó sẽ chuyển sang
một tác vụ khác. polling sẽ không hiệu quả khi được lặp lại nhiều
lần, hiếm khi tìm một thiết bị sẳn sàng trong lần thăm dò đầu tiên,
trong khi cần dùng CPU để xử lý cho các công việc khác ( bộ điều
khiển phần cứng nên có một cơ chế báo trạng thái lỗi cho bus).

Interrupts (ngắt)

Khái niêm: ngắt là Cơ chế phần cứng cho phép một
thiết bị thông báo tới CPU

Phần cứng CPU có một dây dẫn gọi là dòng yêu cầu
ngắt (interrupt-request line) chứa các ngắt đến

Khi xuất hiên thông báo yêu cầu ngắt:

CPU lưu một lượng nhỏ trạng thái như giá trị hiện
hành của con trỏ lệnh và nhảy tới thủ tục của bộ quản
lý ngắt(interrupt-handler) tại địa chỉ cố định trong bộ
nhớ

Bộ quản lý ngắt xác định nguyên nhân gây ra ngắt,
thực hiện xử lý cần thiết, thực thi chỉ thị từ ngắt để trả
về CPU trạng thái thực thi trước khi ngắt.

Hinh 2 Chu kỳ nhập/xuất xử lý ngắt

DMA((direct memory-access-
DMA).


Khái niệm: chuyển một số công việc
truyền dữ liệu lớn ( như ổ đĩa) tới một bộ
điều khiển có mục đích đặc biệt

Chuyển dữ liệu trực tiếp vào ra mà không
cần CPU

Hình 3 Các bước trong việc truyền
dữ liệu của DMA

Ứng dụng giao diên nhập/xuất
Sự khác nhau của các thiết bị nhâp xuất được lưu trong
kermel module được gọi là device driver.( điều khiển thiết
bị)

Điều khiển thiết bị là để che đi sự khác biệt giữa các bộ
điều khiển thiết bị từ hệ thống I/O con của nhân

Một thiết bị được cho có thể có nhiều loại khác nhau:

Dòng ký tự hay khối

Truy xuất tuần tự hay ngẫu nhiên

Đồng bộ hay bất đồng bộ

Có thể chia sẻ hay chuyên dụng

Tốc độ hoạt động


Đọc – ghi, chỉ đọc hay chỉ ghi

Hình 4: Các đặc điểm của các thiết
bị nhập xuất

Thiết bị vào ra theo khối và ký tự

Thiết bị I/O theo khối giữ lại tất cả các khía cạnh
cần thiết cho việc điều khiển đĩa truy cập và khối
khác theo định hướng thiết bị.

Các lệnh read (),write() và seek()

Dạng nguyên bản của I/O hay truy cập tập tin hệ thông

Truy nhâp file theo Phân vùng bộ nhớ

Thiết bị ký tự bao gồm keybroards, chuôt, cổng
tuần tự

Các hàm get() ,put()
Những lớp thư viện ở trên cho phép chỉnh sữa và
xử lý bộ đêm . Ví du khi gõ backspace, xóa ký tự
trước đó ra khỏi dòng

Network Devices

Khối và ký tự đều có một giao diện riêng

Unix và Windows NT/9x/2000 sử dụng các giao diện

socket (*) (được dùng như một giao diện cho một ứng
dụng nền quan trọng )

Phân chia thủ tục mạng từ các thao tác mạng

Lời gọi Select() sẽ trả về 3 con trỏ tới 3 tập các socket
có thể dọc, ghi dữ liệu và các exceptional conditions chờ
xử lý

Nhiều phương pháp tiếp cận khác nhau(pipes, FIFOs,
streams, queues, mailboxes)


Đồng hồ và bộ tính giờ

Cung cấp ba chức năng cơ bản

Cho thời gian hiện tại

Cho thời gian đã qua

Đặt một giờ để kích hoạt hoạt động X vào thời gian T

Programmable interval timer được sử dụng cho việc
tính toán thời gian và định kỳ ngắt

Các lời gọi hệ thống ioctl(). Cho phép một ứng dụng để
truy cập các tính năng mà có thể được thực hiện bất kỳ
điều khiển thiết bị, mà không cần phải phát ra một lời gọi
hệ thống mới


Trên nhiều máy tính, tỷ lệ gián đoạn tạo ra bởi đồng hồ
phần cứng là từ 18 đến 60 nhịp (tick) trong một giây

Blocking and Nonblocking I/O

Blocking - quá trình bị tạm ngưng cho đến khi
I/O hoàn thành dễ sử dụng và dễ hiểu

Không đáp ứng được một số trường hợp

Nonblocking – lặp lai lời gọi nhiều nhất có thể sử
dụng trong giao diện người sử dụng, lưu dữ liệu
vào bộ đệm ( nhâp du liêu từ bàn fim, xử lý trên
màn hình

Một thay thế cho lời gọi nonblocking là
ansynchronous- trả về giá trị ngay lâp tức mà
không cần I/O kết thúc

Hình 5

Hệ thống con nhâp xuất của nhân

Phần nhân cung cấp nhiều tiện ích liên quan đến
nhập xuất: định biểu thời gian nhâp xuất vùng
đệm, vùng lưu trữ, vùng chứa, đặt trước thiết bị
và quản lí lỗi.

Định biểu tập hợp các yêu cầu nhâp xuât: xác

định săp xếp thực thi chúng sao cho hợp lí.

Cách thức : duy trì hàng đợi cho mỗi thiết bị

Chức năng

Có thể cải tiến hiệu năng hệ thống

Có thể chia sẻ truy xuất thiết bị đồng đều giữa các quá trình

Giảm thời gian chờ đợi


Hệ thống con nhập xuất của nhân
(tiếp)

Vùng đệm:

Vùng đệm là một vùng bộ nhớ lưu trữ dữ liệu
trong khi chúng được chuyển giữa hai thiết bị
hay giữa thiết bị và ứng dụng

3 lý do để thực hiện vùng đệm:

Không khớp tốc độ giữa các thiết bị

Làm thích ứng giữa các thiết bị có kích thước
truyền dữ liệu khác nhau.

Bảo vệ “ngôn ngữ sao chép” cho nhập/xuất ứng

dụng.

Hệ thống con nhập xuất của nhân
(tiếp)

Vùng lưu trữ: (cache) là một vùng bộ nhớ nhanh quản lý
các bản sao dữ liệu. Vùng lưu trữ giữ vừa đủ một bản
sao trên thiết bị lưu trữ.

Vùng chứa: là một vùng đệm giữ dữ liệu xuất cho một
thiết bị như máy in (mà không thể chấp nhận các dòng
dữ liệu đan xen nhau.)

Đặt trước thiết bị:

Phân phối và thu hồi các thiết bị cho tiến trình

Ngăn chặn deaklock( tắc ngẽn).

Quản lí lỗi:

Hệ điều hành cung cấp sử dung bộ nhớ bảo vệ có thể chống
lai nhiều lỗi phân cứng

Trả về một mã lỗi khi yêu cầu vào ra lỗi

Hệ thống con nhập xuất của nhân
(tiếp)

Sự bảo vệ I/O : Lỗi liên quan chặt chẽ đến

vấn đề bảo vệ

Để làm I/O cho một chương trình người
dùng thực hiện một cuộc gọi hệ thống để
yêu cầu hệ điều hành thực hiện I/O trên
tên của nó.

Tóm lược

Hệ thống thay thế I/O giám sát các thủ tục này:

Quản lý các không gian tên cho tập tin và các thiết bị.

Kiểm soát truy cập vào các file và các thiết bị.

Hoạt động kiểm soát (ví dụ, một modem không thể
tìm kiếm ()).

Hồ sơ-hệ thống phân bổ không gian
Thiết bị phân bổ

Đệm, bộ nhớ đệm, và cuộn

I / O lập lịch trình

Tình trạng thiết bị giám sát, xử lý lỗi, và phục hồi thất
bại

Chuyển yêu cầu vào ra tới hoạt
động nhâp xuất


Cách đọc môt tâp tin từ đĩa

Xác định thiết bị chứa file

Dịch tên tương ứng với thiết bị

Đọc dữ liệu từ đĩa vào bộ đệm

Trả điêu khiên cho tiên trình

×