1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Hệ điều hành: Chương 3 - Trần Công Án

36 94 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 36
Dung lượng 557,76 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Hệ điều hành: Chương 3 với mục tiêu giúp sinh viên hiểu rõ các loại thiết bị nhập xuất và các mô hình tổ chức, quản lý và cách thức truy xuất các thiết bị nhập xuất.

Trang 1

Hệ Điều Hành

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

Giảng viên

TS Trần Công Ántcan@cit.ctu.edu.vn

Khoa Công Nghệ Thông Tin & Truyền Thông

Đại học Cần Thơ

2018

Trang 2

Mục Tiêu

Giúp sinh viên hiểu rõ các loại thiết bị nhập xuất và các mô hình tổchức, quản lý và cách thức truy xuất các thiết bị nhập xuất

Trang 3

Nội Dung

Các khái niệm cơ bản

Mô hình tổ chức & Quản lý việc nhập xuất

Cài đặt hệ thống quản lý nhập xuất

Truy xuất hệ thống nhập xuất

Trang 4

Các khái niệm cơ bản

Các khái niệm cơ bản

Trang 5

Các khái niệm cơ bản

Các Khái Niệm Cơ Bản

I Chức năng chính của máy tính là nhập/xuất và tính toán

I Nhập (input): đọc/nhận dữ liệu từ thiết bị nhập vào.

I Xuất (output): ghi/xuất dữ liệu ra thiết bị xuất.

I I/O Port: điểm nối kết với thiết bị I/O với máy tính

I Bus: kênh vận chuyển dữ liệu giữa các thiết bị

I Controller: bộ điều khiển thiết bị, điều khiển các thiết bị I/O

I CPU gửi chỉ thị điều khiểnđến controller bằng 2 phương pháp:

I Chỉ thị I/O trực tiếp : ghi vào các thanh ghi của controller.

I Ánh xạ qua bộ nhớ : ghi vào vùng nhớ được ánh xạ.

Trang 6

Các khái niệm cơ bản

Cấu Trúc Bus Của Một Hệ Thống Máy Tính

expansion bus PCI bus

disk

disk disk

disk disk

disk disk disk SCSI controller

cache memory

processor

bridge/memory controller monitor

IDE disk controller expansion businterface

graphics controller

keyboard

parallel port serialport

Trang 7

Các khái niệm cơ bản

Các loại thiết bị nhập xuất

Các Loại Thiết Bị Nhập Xuất

I Các thiết bị I/Odạng khối (block):

I Nhập/Xuất dữ liệu theo đơn vị khối (VD: 512 bytes – 32KB ).

I Ví dụ: các ổ đĩa HDD, FDD, CDROM,

I Có thể sử dụng phương pháp ánh xạ bộ nhớ

I Các thiết bị dạng ký tự: (character):

I Nhập/Xuất dữ liệu theo từng byte ký tự

I Ví dụ: bàn phím, chuột, các cổng tuần tự (serial ports),

Trang 8

Các khái niệm cơ bản

Đặc tính của các thiết bị nhập xuất

Đặc Tính Các Loại Thiết Bị Nhập Xuất

I Tốc độ thiết bị: truyền dữ liệu, tìm kiếm, trì hoãn,

I Dung lượng lưu trữ, thời gian truy xuất một đơn vị dữ liệu

I Loại thiết bị: nhập, xuất, hay cả hai

I Đơn vị truyền dữ liệu: khối hay ký tự

I Trạng thái của thiết bị: lệnh đã hoàn thành, dữ liệu sẵn dùng, lỗi,

I Chế độ chia sẻ: chia sẻ hay tận hiến

I Chế độ truyền dữ liệu: đồng bộ hay bất đồng bộ

Trang 9

Các khái niệm cơ bản

Đặc tính của các thiết bị nhập xuất

Đặc Tính Của Một Số Loại Thiết Bị

terminal disk modem CD-ROM tape keyboard tape keyboard

CD-ROM graphics controller disk

read only write only read–write

latency seek time transfer rate delay between operations device speed

Trang 10

Mô hình tổ chức & Quản lý việc nhập xuất

Mô hình tổ chức &

Quản lý việc nhập xuất

Trang 11

Mô hình tổ chức & Quản lý việc nhập xuất

Bộ điều khiển thiết bị nhập xuất

Bộ Điều Khiển Thiết Bị (Controller)

I CPU điều khiển các thiết bị thông quabộ điều khiển thiết bị

I Mỗi controller có thể điều khiển nhiều thiết bị

I Mỗi cổng I/O có các thanh ghi cổng I/O(data in/out, status,

control), cho phép CPU gửi lệnh và tham số điều khiển đến thiết bị

I Khi một lệnh được controller chấp nhận, CPU có thể thực hiện cáccông việc khác mà không cần chờcác thiết bị

I Khi thiết bị thực hiện xong yêu cầu, controller sẽ báo hiệu cho CPUbằng một tín hiệu ngắt(interrupt)

I CPU lấy kết quả của thao tác I/O thông qua các thanh ghi cổng I/O

Trang 12

Mô hình tổ chức & Quản lý việc nhập xuất

Bộ điều khiển thiết bị nhập xuất

Một Số Địa Chỉ Cổng I/O

I/O address range (hexadecimal)

000–00F 020–021 040–043 200–20F 2F8–2FF 320–32F 378–37F 3D0–3DF 3F0–3F7 3F8–3FF

device DMA controller interrupt controller timer game controller serial port (secondary) hard-disk controller parallel port graphics controller diskette-drive controller serial port (primary)

Trang 13

Mô hình tổ chức & Quản lý việc nhập xuất

Bộ điều khiển thiết bị nhập xuất

Chu Kỳ I/O Dựa Trên Ngắt

device driver initiates I/O

CPU receiving interrupt, transfers control to interrupt handler

CPU resumes processing of interrupted task

CPU 1

I/O controller

CPU executing checks for interrupts between instructions

5 interrupt handler processes data, returns from interrupt

initiates I/O

3 2

4 7

input ready, output complete, or error generates interrupt signal

6

Trang 14

Mô hình tổ chức & Quản lý việc nhập xuất

Cơ chế nhập xuất

Cơ Chế Nhập Xuất

I Có 3 cơ chế nhập xuất:

1 Xuất nhập theo chương trình

2 Xuất nhập theo cơ chế ngắt

3 Truy xuất bộ nhớ trực tiếp (DMA)

Trang 15

Mô hình tổ chức & Quản lý việc nhập xuất

Cơ chế nhập xuất

Cơ Chế Nhập Xuất Theo Chương Trình

I CPU sẽkiểm tra định kỳ việc thực hiện yêu cầu

I/O của thiết bị sau khi đưa ra yêu cầu I/O

I Trình điều khiển thiết bịkhông sử dụng ngắtđể

báo hiệu cho CPU

I CPU có thể phải chờ và kiểm tralại

Trang 16

Mô hình tổ chức & Quản lý việc nhập xuất

Cơ chế nhập xuất

Cơ Chế Nhập Xuất Theo Ngắt

I CPUtrở lại làm việc ngaysau khi đưa ra yêu

cầu I/O

I Trình đ/khiển t/bị sẽ phát ra ngắtđể báo hiệu

cho CPU khi hoàn thành

Trang 17

Mô hình tổ chức & Quản lý việc nhập xuất

Cơ chế nhập xuất

Truy Xuất Bộ Nhớ Trực Tiếp DMA

IDE disk controller

DMA/bus/

interrupt

x memory CPU memory bus

PCI bus cache

1 device driver is told

to transfer disk data

to buffer at address X

2 device driver tells disk controller to transfer C bytes from disk to buffer

disk disk disk

Trang 18

Cài đặt hệ thống quản lý nhập xuất

Cài đặt hệ thống quản lý nhập xuất

Trang 19

Cài đặt hệ thống quản lý nhập xuất

Giao diện ứng dụng I/O

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

I Các lời gọi hệ thống thu gọn các hành xử (behaviors) của thiết bị theomột số ít dạng tổng quát, che đi các khác biệt của phần cứng khácnhau

I Lớp trình điều khiển thiết bị sẽ che dấu sự khác biệtgiữa các bộ điềukhiển thiết bị ra khỏi nhâncủa hệ điều hành

I Các thiết bị I/O trong hệ thống khác nhau theo theo nhiều tiêu chí:

I Luồng ký tự (character stream) hay khối (block)

I Truy xuất tuần tự (sequential) hay ngẫu nhiên (random)

I Đồng bộ (synchronous) hay bất đồng bộ (asynchronous)

I Chia sẻ (sharable) hay tận hiến (dedicated)

I Đọc (read), ghi (write) hay cả hai

Trang 20

Cài đặt hệ thống quản lý nhập xuất

Giao diện ứng dụng I/O

Kiến trúc nhân I/O

mouse device driver • • •

• • •

• • •

PCI bus device driver

floppy device driver

ATAPI device driver

SCSI

device

controller

keyboard device controller

mouse device controller

PCI bus device controller

floppy device controller

ATAPI device controller

SCSI

devices keyboard mouse PCI bus

disk drives

floppy-ATAPI devices (disks, tapes, drives) kernel I/O subsystem

Trang 21

Cài đặt hệ thống quản lý nhập xuất

Giao diện ứng dụng I/O

Thiết bị dạng khối và ký tự

I Thiết bị dạng khối: bao gồm các ổ đĩa

I Đơn vị đọc/ghi là khối (block)

I Các lệnh bao gồm: read , write , seek

I Vào/Ra: thô (raw I/O) hay thông quan hệ thống tập tin

I Có thể sử dụng kỹ thuật memory-mapped file

I Thiết bị dạng ký tự: bao gồm bàn phím, chuột, cổng tuần tự

I Đơn vị đọc/ghi: byte

I Các lệnh bao gồm: get , put

I Các thư viện hàm có thể hỗ trợ đọc/ghi theo hàng (line)

Trang 22

Cài đặt hệ thống quản lý nhập xuất

Giao diện ứng dụng I/O

Nhập/Xuất Nghẽn và Không Nghẽn

I Lời gọi I/O nghẽn (I/O blocking call)

I Tiến trình sẽ bị nghẽn sẽ bị treo sau khi thực hiện lời gọi I/O cho đến khi thao tác I/O hoàn thành

I Dễ hiểu và dễ sử dụng

I Lời gọi I/O không nghẽn (I/O non-blocking call)

I Tiến trình sẽ tiếp tục thực thi sau khi phát ra lời gọi I/O

I Tiến trình sẽ kiểm tra việc hoàn thành của thao tác I/O bằng cách

I Một biến thể của lời gọi I/O không nghẽn là lời gọi I/O dị bộ

(asynchronous): tiến trình sẽ được báo hiệu khi thao tác I/O hoàn thành thông qua các biến chia sẻ , các trigger hay các hàm callback

Trang 23

Cài đặt hệ thống quản lý nhập xuất

Hệ thống con I/O trong nhân (Kernel I/O subsystem)

Hệ Thống Con I/O Trong Nhân

I Cung cấp các dịch vụ liên quan đến I/O

I Định thời (scheduling)

I Một số yêu cầu I/O được xếp trong hàng đợi của từng thiết bị

I Có nhiều chiến lược: công bằng hay ưu tiên

I Trữ đệm (buffering): lưu dữ liệu trong bộ nhớ khi chuyển dữ liệu giữacác thiết bị

I Để đối phó với sự bất đối xứng về tốc độ giữa các thiết bị

I Để đối phó với sự bất tương xứng về kích thước đơn vị truyền nhận VD: khi truyền nhận dữ liệu qua mạng, một message có thể được chia thành nhiều gói ⇒ bên nhận cần có bộ đệm để “trữ” các gói

Trang 24

Cài đặt hệ thống quản lý nhập xuất

Hệ thống con I/O trong nhân (Kernel I/O subsystem)

Hệ Thống Con I/O Trong Nhân

I Trữ tạm (caching): bộ nhớ truy xuất nhanh, dùng để lưu bản saocủa

dữ liệu

I Mục đích: tăng hiệu năng

I Thường kết hợp với một giải thuật “dự đoán”

I Spooling: là bộ đệm lưu trữ tạm dữ liệu xuất đến thiết bị

I Được sử dụng trong trường hợp thiết bị chỉ có thể phục vụ 1 yêu cầu tại 1 thời điểm

I Ví dụ, hệ thống spooling của máy in lưu trữ các tài liệu đang được yêu cầu in

Trang 25

Cài đặt hệ thống quản lý nhập xuất

arm assembly

rotation

Trang 26

Cài đặt hệ thống quản lý nhập xuất

Hệ thống vào ra đĩa

Vấn Đề Truy Cập Đĩa

I Vai trò của hệ điều hành là tăng hiệu năng sử dụng phần cứng:

I Tăng băng thông: lượng dữ liệu đọc/ghi trên một đơn vị thời gian

I Giảm thời gian truy cập đĩa

I Thời gian truy cập = thời gian định vị + độ trễ quay

I Thời gian định vị (seek time): thời gian dịch chuyển đầu đọc tới cylinder chứa sector cần đọc

I Độ trễ quay (rotational latency): thời gian chờ đợi tại track chứa sector cần đọc cho đến khi sector xuất hiện dưới đầu đọc

⇒ Để giảm thời gian truy cập: cực tiểu hóa thời gian định vị

Trang 27

Cài đặt hệ thống quản lý nhập xuất

Hệ thống vào ra đĩa

Điều Phối Truy Cập Đĩa

I Một số thuật toán điều phối truy cập đĩa:

I FCFS (First Come First Served)

I SSTF (Shortest Seek Time First)

I SCAN

I LOOK

I Các ví dụ dựa trên giả thuyết:

I Các yêu cầu truy cập các sector tại các cylinder: 98, 183, 37, 122, 14,

124, 65,67

I Đầu đọc đang ở cylinder 53

Trang 28

Cài đặt hệ thống quản lý nhập xuất

Hệ thống vào ra đĩa

FCFS - First Come First Served

Yêu cầu đến trước sẽ được phục vụ trước (98, 183, 37, 122, 14, 124, 65,67)

45

85 146

85 108 110

59 2

P

= 630

Trang 29

Cài đặt hệ thống quản lý nhập xuất

Hệ thống vào ra đĩa

SSTF - Shortest Seek Time First

Chọn truy cập có thời gian định vị nhỏ nhất tính từ vị trí hiện tại (98, 183,

37, 122, 14, 124, 65,67)

12 2 30 23

84

24 2

59

P

= 236

Trang 30

Cài đặt hệ thống quản lý nhập xuất

14

65

24 2

59

P

= ???

Trang 31

Cài đặt hệ thống quản lý nhập xuất

Hệ thống vào ra đĩa

LOOK

Một sự cải tiến của SCAN: Đầu đọc không di chuyển tới các cylindersngoà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(98, 183, 37, 122, 14, 124, 65,67)

/

P

= ???

Trang 32

Truy xuất hệ thống nhập xuất

Truy xuất hệ thống nhập xuất

Trang 33

Truy xuất hệ thống nhập xuất

Các chương trình thực hiện nhập xuất

Các Chương Trình Thực Hiện Nhập Xuất

I Chương trình người dùng: thực hiện yêu cầu I/O thông qua các giaodiện (lời gọi hệ thống) của thành phần quản lý thiết bị I/O của HĐH

I Trình điều khiển thiết bị I/O độc lập(I/O subsystem của HĐH): cungcấp giao diện đồng nhất cho các thiết bị I/O

I Trình điều khiển thiết bị (device driver): cung cấp một tập giao diệncho phép tương tác với từng thiết bị I/O (cung cấp bởi nhà sx t/bị)

I Mức cao: được truy cập thông qua các lời gọi hệ thống, cài đặt một số lệnh chuẩn như open() , close() , read() , write() ,

I Mức thấp: được thực hiện như một thủ tục ngắt (interrupt).

Trang 34

Truy xuất hệ thống nhập xuất

Tổ chức hệ thống nhập xuất

Tổ Chức Hệ Thống Nhập Xuất

I Hệ thống quản lý nhập xuất được chia thành 5 lớp:

1 Tiến trình người dùng: thực hiện các yêu cầu I/O, định dạng nhập xuất.

2 Trình điều khiển thiết bị I/O độc lập của HĐH: đặt tên, bảo vệ, tổ chức khối, bộ đệm, .

3 Trình điều khiển thiết bị mức cao: thiết lập các giá trị thanh ghi, kiểm tra trạng thái thiết bị,

4 Trình điều khiển thiết bị mức thấp: kích hoạt ngắt khi thao tác I/O hoàn thành.

5 Phần cứng (bộ điều khiển thiết bị, thiết bị): thực hiện thao tác I/O.

Trang 35

Truy xuất hệ thống nhập xuất

Tổ chức hệ thống nhập xuất

Chu Kỳ I/O Dựa Trên Ngắt

send request to device driver, block process if appropriate

monitor device, interrupt when I/O completed

process request, issue commands to controller, configure controller to block until interrupted

request I/O system call

no yes

I/O completed, input data available, or output completed user

process

kernel I/O subsystem

kernel I/O subsystem

device driver

device controller

time

interrupt handler

transfer data (if appropriate) to process, return completion

return from system call

interrupt device-controller commands

can already satisfy request?

thiết bị phần cứng

device driver mức thấp

device driver mức cao

trình đkhiển thiết bị độc lập chương trình người dùng

Ngày đăng: 30/01/2020, 02:37

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm