Tải bản đầy đủ (.pdf) (156 trang)

Bài giảng Hệ thống máy tính: Chương 8 - TS. Trần Thị Minh Khoa

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 (2.39 MB, 156 trang )

Chap8: QL NHẬP XUẤT & QL HỆ THỐNG FILES

(I/O management & File System management)

GV: TS. Trần Thị Minh Khoa


()(6t)
I/O management (Stalling Chap11 + Siberchattz Chap 13)








I/O request packets (IRPs).
I/O hardware
I/O management
Plug and Play (PnP)

File System management (Stalling Chap12 + Siberchattz
Chap 11&12)



2


OS Architecture



3


I/O Goals
Cung cấp I/O thích hợp cho các ứng dụng
Cung cấp 1 framework (khuôn khổ) làm việc như sau:










4

Linh động load/unload drivers
Hỗ trợ quản lý năng lượng để hệ thống hoặc thiết bị có thể tự
bật chế độ tiết kiệm năng lượng
Phân lớp driver
I/O khơng đồng bộ
Bảo vệ an tồn


Overview of the Windows I/O Model
Tất cả các yêu cầu I/O đến driver đều được gởi dưới dạng
I/O request packets (IRPs)

Hoạt động I/O được phân lớp
Trình quản lý I/O xác định một tập các công việc chuẩn
(standard routines) mà drivers có thể hỗ trợ








5

Yêu cầu
Tuỳ chọn


I/O Request Packets (IRPs)
Với mỗi yêu cầu I/O từ user-mode, trình quản lý I/O cấp
một IRP từ hệ thống bộ nhớ không phân trang
Dựa vào việc xử lý tập tin và chức năng I/O được y/c từ
user, trình ql I/O chuyển IRP tới việc phân phối driver
thích hợp




6



Structure of an IRP.

7


Major and Minor IRP
Major function
IRP_MJ_CLOSE,IRP_MJ_CREATE,IRP_MJ_DEVICE_CONTROL
,IRP_MJ_INTERNAL_DEVICE_CONTROL,IRP_MJ_PNP,IRP_M
J_POWER,IRP_MJ_READ..



 Minor Function

IRP_MN_START_DEVICE,IRP_MN_QUERY_ID,IRP_MN_EJEC
T....
8


I/O hardware

9


I/O hardware



Controller có một hay nhiều registers chứa data và các control

signal
CPU giao tiếp với controller bằng cách đọc và ghi từng bit
trong các register
 The I/O instruction
 memory-mapped I/O (the device-control registers are
mapped into the address space of the processor)

10


I/O hardware
Các thiết bị thông dụng: keyboards, displays, disks, mice,
printers, scanners,
Các thiết bị trên system board: timers, graphics chips, audio
chips.




11


I/O hardware


Có 2 dạng thiết bị I/O
 character devices– thiết bị dòng ký tự, chuyển từng byte một
 Cung cấp truy suất unstructured, không địa chỉ
 Modem, printer, scanner, mouse
 block devices – thiết bị khối, chuyển từng khối các bytes (block)

 Block có kích thước cố định (51232768 bytes). Các block
được đánh số  có thể truy suất lặp lại một khối dữ liệu bằng
việc chỉ định truy suất block thứ n
 Đĩa từ, tape

12


I/O hardware

13


I/O hardware


Blocking IO: nghĩa là tiến trình người dùng sẽ bị block ( wait ) cho đến khi
thao tác IO hoàn tất.
Nếu bạn đang đọc 1500 byte từ một thiết bị, thao tác đọc sẽ bị khóa cho
đến khi data đã sẳn sàng.



Non-blocking I : nghĩa là một lời gọi hệ thống IO sẽ ko đặt tiến trình vào
trạng thái sleep khi chờ IO. Tiến trình sẽ nhận được thơng báo rằng IO
chưa sẵn sàng.
Nếu bạn đang đọc 1500 byte từ một thiết bị, và khi chỉ 12 byte đã đọc
xong, thao tác đọc của tt sẽ đọc được 12 byte. Hệ thống sẽ trả về data khi
nó đã sẵn sàng , nhưng sẽ ko chờ cho new data. OS có thể trả về lỗi “no
data”.



14

Ví dụ, các hệ thống POSIX ( Linux , OS X, … ) trả về lỗi EAGAIN khi đọc file đã mở
để đọc non-blocking IO và ko có data sẳn có để đọc. ….


Device management




Các thiết bị - device
Bộ điều khiển thiết bị - device controller
Trình điều khiển thiết bị - device driver

15


Device management


Các thiết bị cần có phần mềm điều khiển - gọi là device driver
 Trình đk thiết bị cho phép chúng ta có một interface đồng
nhất với kernel , che dấu đi những chi tiết riêng biệt của
thiết bị
 Vd : kernel thực hiện ghi data vào đĩa => ko quan tâm đến
chi tiết của loại đĩa ( đĩa từ hay flash memory )
 Device drivers implement mechanism (cách để tương tác với

thiết bị), not policy (ksoat ai truy suất thiết bị ) .

Note: Trong nhiều OS, như Linux , Unix, BSD, OS X , Windows NT , các thiết bị
được giao tiếp qua interface dạng file.
16


Device management


Trình điều khiển thiết bị (device driver) giao tiếp với device
controller để điều khiển thiết bị
 Một device controler là hardware ( và/hoặc là firmware )
điều khiển hoạt động của thiết bị .
 device controler - Nó kiểm sốt việc ánh xạ vào vị trí vật lý và
sinh ra ngắt để thông báo cho cpu về các sự kiện, sử dụng
DMA để chuyển các block data giữa device và system
memory.

17


18


Plug and Play

19



Driver Support for Plug and Play

20


Devnodes


devnode is made up of at least two, and sometimes more, device objects[PDO and FDO]



A physical device object (PDO) that the PnP manager instructs a bus driver to create when
the bus driver reports the presence of a device on its bus during enumeration A functional
device object (FDO) that is created by the driver, which is called a function driver, that the
PnP manager loads to manage a detected device.

21


Device Enumeration

22


Device Enumeration in devicemanager

23



Driver Installation

24


Adding a PnP Device to a Running System –step1


user plugin device ->bus driver enumerates device ->bus driver notifies ->pnp obtains
information via IRP_MN_QUERY_DEVICE_RELATIONS=>The function driver for the bus
device handles the IRP.

25


×