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

Chương 2: Quản lý xuất nhập pdf

36 238 1

Đ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

Tiêu đề Chương 2: Quản lý xuất nhập
Trường học Trường Đại Học Công Nghệ Thông Tin - ĐHQG TP.HCM
Chuyên ngành Quản trị hệ thống và phần mềm
Thể loại Giáo trình
Năm xuất bản 2023
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 36
Dung lượng 454,08 KB

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

Nội dung

Chương 2: Quản lý xuất nhập„ Nhiệm vụ của bộ phận quản lý xuất nhập „ Các thiết bị xuất nhập „ Mô hình phân lớp trong quản lý xuất nhập „ Bộ điều khiển thiết bị device controller „ Trình

Trang 1

Chương 2: Quản lý xuất nhập

„ Nhiệm vụ của bộ phận quản lý xuất nhập

„ Các thiết bị xuất nhập

„ Mô hình phân lớp trong quản lý xuất nhập

„ Bộ điều khiển thiết bị (device controller)

„ Trình điều khiển thiết bị (device driver)

„ Quản lý lỗi và bảo vệ quá trình xuất nhập

Trang 2

Nhiệm vụ

„ Mục tiêu của bộ phận quản lý xuất nhập

„ Giới thiệu lớp trừu tượng và độc lập thiết bị

„ Che giấu các chi tiết kỹ thuật của các thiết bị phần cứng

„ Quản lý và sửa lỗi

„ Làm cho các thiết bị phần cứng đơn giản và dễ dùng.

„ Cho phép chia sẻ các thiết bị phần cứng

„ Xây dựng các cơ chế bảo vệ các thiết bị được chia sẻ

„ Điều phối thiết bị để phục vụ cho cùng lúc nhiều nhu cầu sửdụng

Trang 3

Ví dụ về các thiết bị xuất nhập

„ Các thiết bị giao tiếp:

„ Các thiết bị chỉ nhập : bàn phím, chuột, joystick…

„ Các thiết bị chỉ xuất : màn hình, máy in

„ Các thiết bị vừa nhập vừa xuất: card mạng

„ Các thiết bị lưu trữ

„ Thiết bị vừa xuất, vừa nhập: đĩa (cứng/mềm), băng từ

„ Thiết bị chỉ xuất: CD-ROM

Trang 4

Phân loại các thiết bị nhập xuất

„ Phân loại theo mục đích sử dụng:

„ Các thiết bị giao tiếp:

„ Các thiết bị chỉ nhập : bàn phím, chuột, joystick…

„ Các thiết bị chỉ xuất : màn hình, máy in

„ Các thiết bị vừa nhập vừa xuất: card mạng.

„ Các thiết bị lưu trữ

„ Thiết bị vừa xuất, vừa nhập: đĩa (cứng/mềm), băng từ

„ Thiết bị chỉ xuất: CD-ROM

„ Phân loại theo phương pháp truy xuất:

Trang 5

Phân loại các thiết bị nhập xuất (tt)

„ HĐH phải gom nhóm các thiết bị khác nhau thành những nhóm cơ bản để dễ dàng quản lý:

Trang 7

Các phương thức IO của Unix

„ fileHandle = open(pathName, flags, mode)

„ filehandle: là một số nguyên, dùng để thao tác với tập tin hay thiết bị

„ pathname: tên trong hệ thống file Trong Unix, các thiết bị đặtdưới thư mục /dev

„ E.g /dev/ttya là serial port đầu tiên, /dev/sda: là SCSI drive đầu tiên

„ flags: blocking hoặc là non-blocking …

„ mode: read only, read/write, append …

„ errorCode = close(fileHandle)

Trang 8

Các phương thức IO của Unix (tt)

„ byteCount = read(fileHandle, byte [] buf, count)

„ Đọc count bytes từ thiết bị và lưu trong buffer buf

„ Chương trình người dùng phải kiểm tra byteCount để biết sốbyte thật sự đọc được

„ byteCount < 0 thì là báo lỗi (xem mã lỗi)

„ byteCount = write(fileHandle, byte [] buf, count)

„ Ghi count byte từ buf vào thiết bị

„ Số byte thật sự ghi được lưu trong byteCount

„ byteCount âm là bị lỗi

Trang 10

Blocking vs Non-Blocking I/O

„ Blocking – ứng dụng dừng lại cho đến khi số count bytes

được đọc hoặc ghi

„ Ví dụ: Trong thiết bị mạng, nếu muốn ghi 1000 bytes, thì HĐH ghi tất cả các byte cho đến khi ghi hoàn tất

„ Nếu thiết bị không thể thực hiện lệnh ghi được (ví dụ hỏng dâynối), làm sao? Thì sẽ kết thúc và trả về số bytes đã ghi được

„ Nonblocking – HĐH đọc và ghi các bytes khi có thể,

không cần ứng dụng phải dừng lại.

Trang 11

Buffered vs Unbuffered I/O

„ Trong trường hợp buffer dữ liệu của thiết bị quá nhỏ, để không phải chờ quá lâu khi thực hiện IO

„ buffered I/O cho phép kernel copy lại dữ liệu

„ Bên write(): cho phép ứng dụng tiếp tục ghi dữ liệu

„ Bên read(): khi thiết bị báo có dự liệu đến, kernel chép dữ liệuvào buffer Khi tiến trình gọi read(), kernel chỉ việc copy từ

buffer

„ Khuyết điểm buffered I/O?

„ Thêm chi phí để thực hiện copy

Chậm trễ việc gửi dữ liệu

Trang 12

Synchronous vs Asynchronous I/O

„ Synchronous I/O: các xử lý khác của ứng dụng của người dùng cuối sẽ dừng lại để chờ các thao tác xuất nhập của

nó hoàn tất.

„ Asynchronous I/O: các xử lý khác của ứng dụng có thể thực thi song song với các thao tác xuất nhập

Trang 13

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

Hầu hết HĐH chia thành 3 nhóm thiết bị:

„ Thiết bị đọc theo kí tự (character device)

„ Dùng cho các thiết bị tuần tự (v.d USB port, bàn phím,

modem)

„ Thiết bị mạng

„ Dùng cho các card mạng (v.d Ethernet card)

„ Thiết bị theo block:

„ Dùng cho các bộ lưu trữ lớn (v.d.ổ đĩa và CDROM)

„ Phương thức read/write sẽ khác nhau với từng loại

Trang 14

Thiết bị xuất nhập theo kí tự

„ HĐH đọc và ghi theo chuỗi các byte

„ System call write() sẽ ghi từng byte ra thiết bị

„ System call read() sẽ đọc từng byte ra thiết bị

„ Không có điều khiển tỉ lệ read/write, bên gửi có thể gọi system

„ call write() 1 lần 1000 bytes, bên nhận có thể gọi read 1000 lần,

„ mỗi lần đọc 1 byte

Trang 16

Thiết bị đọc theo block

„ HĐH đọc và ghi thiết bị theo các block

„ Mỗi block kích thước xác định (thông thường 1KB - 8KB)

„ Người dùng chỉ có thể read/write các block cùng kích thước

„ Không giống thiết bị khác, thiết bị đọc ghi theo block hỗ trợ

Trang 17

„ Đơn vị của con trỏ file là byte, chứ không phải block

„ Di chuyển con trỏ file:

„ absoluteOffset = lseek(fileHandle, offset, whence);

„ whence xác định vị trí cột mốc, đầu file, cuối file…

„ Vị trí hiện hành được trả về, <0 là lỗi

„ Vị trí hiện hành là 1 số nguyên tính theo byte, có thể là bội số

Trang 19

Thiết bị xuất nhập

„ Bàn phím: Thiết bị nhập chuẩn

„ Bố trí theo cấu trúc “QWERTY”

„ Tốc độ nhập dữ liệu chậm (<10 ký tự/giây)

„ Thi ết bị trỏ/định vị: Thiết bị nhập chuẩn

Trang 21

Thiết bị xuất nhập

„ Đĩa từ : Đĩa mềm (floppy disk), đĩa cứng (hard disk):

„ Thiết bị xuất nhập theo khối (sector)

„ Dung lượng tuỳ thuộc vào số head,track,sector

„ Tốc độ truy cập phụ thuộc vào tốc độ quay và mật độ dữ liệutrên đĩa

Trang 22

„ Đồng hồ hệ thống (clock) và bộ định giờ (timer)

„ Cung cấp thời gian hệ thống để giúp đồng bộ hoá các hoạt động trên máy tính.

Trang 23

Bộ điều khiển thiết bị

„ Mỗi đơn vị nhập xuất thường gồm 2 thành phần:

„ Thành phần cơ: Bản thân thiết bị

„ Thành phần điện: bộ điều khiển (controller)

„ Bộ điều khiển:

„ Chức năng: Trung gian giao tiếp giữa thiết bị và HĐH

„ Phương tiện giao tiếp: Thông qua bus - hệ thống mạch truyền

dẫn

„ Công việc:

„ Nhận lệnh từ HĐH để thực hiện và báo hiệu cho HĐH khi tác

vụ hoàn tất

Trang 24

Các thiết bị xuất nhập và bus hệ thống

Trang 25

Địa chỉ giao tiếp thiết bị

„ HĐH giao tiếp với thiết bị thông qua địa chỉ xuất nhập của bộ điều khiển:

Trang 26

Mô hình phân lớp trong quản lý xuất nhập

„ Hệ thống xuất nhập được tổ chức theo từng lớp, mỗi lớp có 1 chứcnăng nhất định và có sự hỗ trợ liên hoàn lẫn nhau:

Trang 27

Phần mềm độc lập thiết bị

„ Chức năng:

„ Tạo ra giao tiếp chung cho tất cả các thiết bị.

„ Bảo vệ thiết bị

„ Cung cấp khối dữ liệu độc lập thiết bị

„ Cung cấp bộ đệm (buffer) để hỗ trợ cho quá trình

đồng bộ hoá hoạt động của hệ thống.

„ Định vị trí lưu trữ trên các khối thiết bị.

„ Cấp phát và giải phóng thiết bị.

Thông báo lỗi cho người dùng (nếu có).

Trang 28

Trình điều khiển thiết bị

„ Nhận yêu cầu từ phía lớp phần mềm độc lập thiết bị

„ Chuyển đổi yêu cầu trừu tượng này thành cụ thể

„ Điều phối yêu cầu này cho bộ điều khiển thiết bị (device

controller)

„ Giám sát thực hiện yêu cầu

„ Ví dụ:

„ HĐH muốn đọc tập tin io.sys trên đĩa ở thư mục C:\

„ Trình điều khiển đĩa phải hiểu là cần đọc khối nào

„ Trình điều khiển đĩa chuyển yêu cầu này cho bộ điều khiển đĩa

„ Bộ điều khiển đĩa phải kiểm tra hoạt động của motor đĩa, xácđịnh đầu đọc đã đúng vị trí chưa

Trang 29

Trình điều khiển thiết bị

Trang 30

Bộ kiểm soát ngắt (interrupt handler)

„ Tương tác giữa HĐH và các thiết bị phần cứng đều được thực hiệnthông qua cơ chế ngắt (interrupt)

„ Bộ kiểm soát ngắt sẽ tiếp nhận các ngắt từ HĐH và ứng dụng củangười dùng cuối

„ Dựa trên bảng “Interrupt vector” để phân phối các ngắt đến các bộđiều khiển thiết bị tương ứng

„ Quản lý và giám sát quá trình thực hiện ngắt

„ Nhận ngắt thông báo quá trình xuất nhập hoàn tất hoặc có lỗi xảy

ra trong quá trình xuất nhập từ bộ điều khiển thiết bị để chuyển lêncho HĐH

Trang 31

Bộ kiểm soát ngắt (interrupt handler)

Trang 32

Cơ chế truy cập bộ nhớ trực tiếp DMA (Direct Memory Access)

„ Xét quá trình đọc đĩa không có DMA:

„ HĐH chuyển yêu cầu đọc đĩa cho bộ điều khiển đĩa

„ Bộ điều khiển đọc tuần tự các khối trên đĩa

„ Đọc từng bit cho đến khi các khối được đưa vào bộ đệm của

bộ điều khiển đĩa

„ Bộ điều khiển đĩa tạo ngắt để báo qua CPU biết quá trình đọcđĩa hoàn tất

„ CPU lần lượt lấy từng byte dữ liệu từ bộ đệm của bộ điều

khiển đĩa để chuyển về bộ nhớ chính để thao tác

„ Nhận xét:

„ Lãng phí thời gian xử lý của CPU để chuyển dữ liệu từ bộ đệmcủa bộ điều khiển đĩa về bộ nhớ chính

Trang 33

Cơ chế DMA

„ HĐH gởi cho bộ điều khiển đĩa các thông số gồm: các khối cầnđọc + vị trí lưu trữ các khối này bên trong bộ nhớ chính (địa chỉDMA) + số byte cần đọc

„ Bộ điều khiển đĩa đọc các khối cần thiết lưu vào trong bộ đệmcủa nó

„ Sau khi đọc xong, bộ điều khiển chuyển lần lượt từng byte từ

bộ đệm của nó về địa chỉ DMA – nơi cần lưu trữ dữ liệu cầnthiết bên trong bộ nhớ chính

„ Bộ điều khiển đĩa tạo 1 ngắt để thông báo cho CPU biết quá

trình chuyển dữ liệu đã hoàn tất

Trang 34

Cơ chế DMA

Trang 35

Quản lý lỗi & bảo vệ xuất nhập thiết bị

„ Quá trình xử lý của người dùng cuối hay HĐH có thể vô tình hay cố ý thực hiện các lệnh/thao tác xuất nhập bất

hợp pháp gây hại cho hệ thống và thiết bị.

„ Cần định nghĩa trước và gán đặc quyền cho các lệnh xuất nhập của hệ thống dưới dạng các lời gọi hệ thống

(system call).

„ Giám sát quá trình xuất nhập của người dùng cuối.

„ Tất cả quá trình xuất nhập của ƯD phải được thực hiện thông qua các lời gọi hệ thống.

Trang 36

Quản lý lỗi & bảo vệ xuất nhập thiết bị

„ Khi gặp lỗi trong quá trình xuất nhập, các bộ điều khiển thiết bị sẽ trả về cho HĐH mã lỗi tương ứng

„ HĐH diễn dịch mã lỗi trả về để có phương án giải quyết thích hợp.

„ HĐH cũng diễn dịch và lưu vào nhật ký hệ thống (system log) các lỗi tương ứng để giúp người quản trị hệ thống

giám sát lỗi và phục hồi.

Ngày đăng: 08/08/2014, 08:22

TỪ KHÓA LIÊN QUAN

w