Tải bản đầy đủ (.docx) (27 trang)

Nghiên cứu tìm hiểu về quản lý thiết bị ngoại vi trong HĐH Windows

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 (920.51 KB, 27 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN

------------

BÁO CÁO BÀI TẬP LỚN
Học phần : Nguyên lý hệ điều hành
Chủ đề: Nghiên cứu tìm hiểu về quản lý thiết bị ngoại vi trong
HĐH Windows
Giáo viên hướng dẫn: Nguyễn Bá Nghiễn
Nhóm sinh viên thực hiện :

Lớp : 20212IT6025002

Khóa: K15

Nhóm :1

Hà Nội – Năm 2022

1|Page


MỤC LỤC

2|Page


LỜI NÓI ĐẦU
Ngày nay khoa học kỹ thuật trên thế giới nói chung, ở Việt Nam nói riêng
đang trên đà phát triển mạnh mẽ và không ngừng nâng cao phát triển về mọi


mặt. Đặc biệt là ngành công nghệ thông tin. Để đáp ứng nhu cầu ngày càng cao
của con người, máy tính đã khơng ngừng được chỉnh lí và hồn thiện. Cùng với
đó là sự đóng góp quan trọng, không thể thiếu của các thiết bị ngoại vi.
Mục tiêu báo cáo thực nghiệm:
- Trình bày, minh họa được các phương thức và công cụ quản lý thiết bị
ngoại vi trong HĐH Windows.
- Liên hệ so sánh với nguyên lý quản lý thiết bị ngoại vi đã học.
Nội dung về Quản lí các thiết bị ngoại vi trong Windows bao gồm các
chương:
Chương I: Nguyên tắc tổ chức và quản lí thiết bị trong Windows.
Chương II: Hệ thống vào/ra, quản lí thiết bị Windows.
Chương III: Các kĩ thuật áp dụng.
Chương IV: Cơng cụ quản lí thiết bị trong windows
Chương V: Kết luận
Chương VI: Tài liệu tham khảo
Phụ lục: Danh mục hình vẽ
Trong q trình làm bài, nhóm tuy đã rất cố gắng nhưng chắc chắn khơng
tránh khỏi những thiếu sót, rất mong nhận được sự giúp đỡ của thầy để bài viết
hoàn thiện hơn.
Xin chân thành cảm ơn!

3|Page


I. NGUYÊN TẮC TỔ CHỨC VÀ QUẢN LÍ THIẾT BỊ

Thiết bị ngoại vi là tên chung nói đến một số loại thiết bị bên ngoài thùng máy
được gắn kết với máy tính với tính năng nhập xuất (I/O) hoặc mở rộng khả
năng lưu trữ (như một dạng bộ nhớ phụ).
Thiết bị ngoại vi của máy tính có thể là:

- Thiết bị cấu thành lên máy tính và khơng thể thiếu được ở một số loại máy
tính.
- Thiết bị có mục đích mở rộng tính năng hoặc khả năng của máy tính.
Quản lý thiết bị là q trình quản lý việc thực hiện, vận hành và bảo trì một
thiết bị vật lý hoặc ảo. Nó là một thuật ngữ rộng bao gồm các cơng cụ và quy
trình quản trị khác nhau để bảo trì và duy trì máy tính, mạng, thiết bị di động
hoặc thiết bị ảo.
1. Yêu cầu của quản lí thiết bị
Chức năng của các thiết bị ngoại vi là đảm nhiệm việc truyền thông tin qua
lại giữa các bộ phận của hệ thống. Do đó, yêu cầu của hệ điều hành là tìm
phương pháp tổ chức và truy nhập thơng tin trên các thiết bị.
Ngồi các thiết bị chuẩn có tính bắt buộc (màn hình, bàn phím, máy in…)
thì các hệ thống máy tính phải có khả năng kết nối với số lượng tuỳ ý các thết bị
ngoại vi bổ sung. Các thiết bị này có thể khác nhau về bản chất và nguyên lý
hoạt động, vì vậy mà hệ điều hành cần phải tìm cách quản lý, điều khiển và khai
thác các thiết bị một cách có hiệu quả.
CPU không làm việc trực tiếp với các thiết bị ngoại vi do đó cần phải tổ
chức các thiết bị sao cho CPU không phụ thuộc vào sự biến động của các thiết
bị.

4|Page


2. Nguyên tắc tổ chức quản lí thiết bị
Nguyên tắc cơ bản để tổ chức và quản lý thiết bị dựa trên cơ sở: CPU
chỉ điều khiển các thao tác vào/ ra chứ không trực tiếp thực hiện các thao tác
này. Để đảm bảo được các nguyên tắc này, các thiết bị không được gắn trực
tiếp vào CPU mà gắn với các thiết bị đặc biệt – thiết bị quản lý. Một thiết bị
quản lý có thể kết nối với nhiều thiết bị vào/ra.
Thiết bị quản lý đóng vai trị như một máy tính chun dụng có nhiệm

vụ điều khiển các thiết bị kết nối với nó và gọi kênh vào/ ra. Mỗi kênh
vào/ra có ngơn ngữ và hệ lệnh riêng. Chúng hoạt động độc lập với nhau, độc
lập với CPU và độc lập với các thành phần khác trong hệ thống.

5|Page


II. HỆ THỐNG VÀO/RA, QUẢN LÍ THIẾT BỊ TRONG WINDOWS

1. Các thành phần trong hệ thống I/O Windows
Hệ thống Windows I / O bao gồm một số thành phần điều hành cũng
như trình điều khiển thiết bị, được thể hiện trong hình 1.

Hình 1. Các thành phần hệ thống I/O Windows
Trình quản lý I / O là trung tâm của hệ thống I / O. Nó kết nối các ứng
dụng và thành phần hệ thống với các thiết bị ảo, logic và vật lý, đồng thời
xác định cơ sở hạ tầng hỗ trợ ổ đĩa thiết bị.
Trình điều khiển thiết bị thường cung cấp giao diện I / O cho một loại
thiết bị cụ thể. Trình điều khiển thiết bị nhận các lệnh được chuyển đến
chúng bởi trình quản lý I / O hướng đến thiết bị mà họ quản lý và chúng
thơng báo cho trình quản lý I / O khi các lệnh đó hồn tất. Trình điều khiển
thiết bị thường sử dụng trình quản lý I / O để chuyển tiếp các lệnh I / O tới
các trình điều khiển thiết bị khác dùng chung trong việc triển khai giao diện
hoặc giao diện của thiết bị.

6|Page


Trình quản lý PnP làm việc chặt chẽ với trình quản lý I / O và một
loại trình điều khiển thiết bị được gọi là trình điều khiển bus để hướng dẫn

việc phân bổ tài nguyên phần cứng cũng như phát hiện và phản hồi khi xuất
hiện và gỡ bỏ các thiết bị phần cứng. Trình quản lý PnP và trình điều khiển
bus chịu trách nhiệm tải trình điều khiển của thiết bị khi thiết bị được phát
hiện. Khi một thiết bị được thêm vào hệ thống khơng có trình điều khiển
thiết bị thích hợp, thành phần Plug and Play điều hành sẽ gọi đến các dịch vụ
cài đặt thiết bị của trình quản lý PnP ở chế độ người dùng.
Trình quản lý nguồn cũng làm việc chặt chẽ với trình quản lý I / O để
hướng dẫn hệ thống, cũng như các trình điều khiển thiết bị riêng lẻ, thơng
qua chuyển trạng thái nguồn.
Quy trình hỗ trợ Cơng cụ quản lý Windows, được gọi là nhà cung cấp
WMI của Mơ hình trình điều khiển Windows (WDM), cho phép trình điều
khiển thiết bị gián tiếp hoạt động như nhà cung cấp, sử dụng nhà cung cấp
WMI WDM làm trung gian để giao tiếp với dịch vụ WMI đang được sử
dụng.
Các thanh ghi đóng vai trị như một cơ sở dữ liệu lưu trữ mô tả về các
thiết bị phần cứng cơ bản được gắn vào hệ thống cũng như cấu hình và khởi
tạo trình điều khiển.
Các tệp INF, được chỉ định bởi phần mở rộng .inf, là các tệp cài đặt
trình điều khiển. Tệp INF là liên kết giữa một thiết bị phần cứng cụ thể và
trình điều khiển đảm nhận quyền kiểm sốt chính của thiết bị. Chúng được
tạo thành từ các lệnh giống tập lệnh mô tả thiết bị mà chúng tương ứng, vị trí
nguồn và đích của tệp trình điều khiển, các sửa đổi thanh ghi cài đặt trình
điều khiển bắt buộc và thơng tin phụ thuộc vào trình điều khiển. Tín hiệu số
mà Windows sử dụng để xác minh rằng tệp trình điều khiển đã vượt qua
kiểm tra bởi Phịng thí nghiệm Chất lượng Phần cứng Microsoft Windows
(WHQL) được lưu trữ trong tệp .cat.
Lớp trừu tượng phần cứng (HAL) cách ly trình điều khiển khỏi các chi
tiết cụ thể của bộ xử lý và bộ điều khiển ngắt bằng cách cung cấp các API
che giấu sự khác biệt giữa các nền tảng. Về bản chất, HAL là trình điều
khiển bus cho tất cả các thiết bị trên bo mạch chủ của máy tính mà các trình

điều khiển khác không điều khiển.

7|Page


a.

Trình quản lí I/O (I/O Manager)

Trình quản lý I/O là cốt lõi của hệ thống I/O vì nó xác định
khn khổ hoặc mơ hình có trật tự, trong đó các yêu cầu I/O được gửi đến
trình điều khiển thiết bị. Hệ thống I/O được điều khiển theo gói. Hầu hết các
yêu cầu I/O được thể hiện bằng một gói yêu cầu I/O (IRP), gói này đi từ
thành phần hệ thống I/O này sang thành phần hệ thống I / O khác. (I/O
nhanh là ngoại lệ; nó khơng sử dụng IRP.) Cho phép một chuỗi ứng dụng
riêng lẻ quản lý nhiều yêu cầu I/O đồng thời. IRP là một cấu trúc dữ liệu
chứa thơng tin mơ tả hồn tồn một u cầu I/O.
b.

Trình quản lý I/O tạo IRP đại diện cho hoạt động I/O, chuyển
một con trỏ tới IRP đến đúng trình điều khiển và xử lý gói tin khi hoạt động
I/O hồn tất. Ngược lại, một trình điều khiển nhận IRP, thực hiện hoạt động
mà IRP chỉ định và chuyển IRP trở lại người quản lý I/O, để hoàn thành
hoặc được chuyển cho một trình điều khiển khác để xử lý thêm.
c.

Ngồi việc tạo và loại bỏ IRP, trình quản lý I / O cung cấp mã
chung cho các trình điều khiển khác nhau và trình điều khiển gọi để thực
hiện xử lý I/O của chúng. Bằng cách hợp nhất các tác vụ chung trong trình
quản lý I/O, các trình điều khiển riêng lẻ trở nên đơn giản và gọn nhẹ hơn.

Ví dụ, trình quản lý I/O cung cấp một chức năng cho phép một trình điều
khiển gọi các trình điều khiển khác. Nó cũng quản lý bộ đệm cho các yêu
cầu I/O, cung cấp hỗ trợ thời gian chờ cho trình điều khiển và ghi lại hệ
thống tệp có thể cài đặt được tải vào hệ điều hành. Có gần một trăm quy
trình khác nhau trong trình quản lý I/O có thể được gọi bởi trình điều khiển
thiết bị.
d.

Giao diện mơ-đun thống nhất mà trình điều khiển có cho phép
trình quản lý I/O gọi bất kỳ trình điều khiển nào mà không yêu cầu bất kỳ
kiến thức đặc biệt nào về cấu trúc hoặc chi tiết bên trong của nó. Hệ điều
hành xử lý tất cả các yêu cầu I/O; trình điều khiển chuyển đổi các yêu cầu từ
các yêu cầu được thực hiện thành một tệp ảo thành các yêu cầu dành riêng
cho phần cứng. Các trình điều khiển cũng có thể gọi lẫn nhau (sử dụng trình
quản lý I/O) để đạt được quá trình xử lý độc lập, phân lớp đối với một yêu
cầu I/O.
e.

Bên cạnh việc cung cấp các chức năng mở, đóng, đọc và ghi
thơng thường, hệ thống Windows I/O cung cấp một số tính năng nâng cao,
chẳng hạn như I/O không đồng bộ, trực tiếp, đệm và phân tán / tập hợp.
f.

8|Page


2. Giao diện hệ thống I/O Windows
3.
4.
5.

6.
7.
8.
9.
10.
11.
12.
13.
14.
15. Hình 2. Giao diện hệ thống I/O Windows

9|Page


16.Các đối tượng
a. Driver Object (Đối tượng trình điều khiển)

17. Một đối tượng trình điều khiển đại diện cho một trình điều khiển đã
được tải:
18.- Tên được hiển thị trong khơng gian tên Trình quản lý đối tượng
trong thư mục \Drivers.
19.- Một trình điều khiển tham chiếu vào đối tượng trình điều khiển của
nó bằng các con trỏ đến các chức năng I / O của nó, ví dụ: open, read,
write.
20.
a. Device Object (Đối tượng thiết bị)

21.Một đối tượng thiết bị đại diện cho một phiên bản của thiết bị:
22.- Các đối tượng thiết bị được liên kết trong một danh sách ngồi đối
tượng trình điều khiển.

23.- Trình điều khiển tạo các đối tượng thiết bị để đại diện cho giao diện
với thiết bị logic, do đó, mỗi đối tượng thường có một tên duy nhất
hiển thị trong thư mục \Devices.
24.

- Đối tượng thiết bị trỏ trở lại đối tượng Trình điều khiển.
25.

a. File Object (Đối tượng tệp)

26. Đại diện cho phiên bản đang mở của một thiết bị (các tệp trên ổ đĩa là
thiết bị ảo):
27.- Ứng dụng và trình điều khiển "mở" thiết bị theo tên.
28.- Tên được phân tích cú pháp bởi Trình quản lý đối tượng.
29.- Khi mở thành cơng, trình quản lý đối tượng tạo một đối tượng tệp để
đại diện cho phiên bản đang mở của thiết bị và một tệp xử lý trong
bảng xử lý quy trình.
30.
31.
10 | P a g e


32.Đối tượng tệp liên kết đến đối tượng thiết bị của “thiết bị” được mở.
33.Đối tượng tệp lưu trữ thông tin bổ sung:
34.- Phần bù tệp cho truy cập tuần tự.
35.- Đặc điểm mở tệp (ví dụ: xóa khi đóng).
36.- Tên tệp.
37.- Quyền truy cập được cấp.

11 | P a g e



38.Xử lí vào/ra
a. Vào ra đồng bộ và khơng đồng bộ

39.I/O đồng bộ
40. Hầu hết các hoạt động I/O mà các ứng dụng đưa ra là đồng bộ. Luồng
ứng dụng đợi trong khi thiết bị thực hiện truyền dữ liệu và trả về mã trạng thái
khi q trình vào/ra hồn tất. Sau đó, chương trình có thể tiếp tục và truy cập dữ
liệu được truyền ngay lập tức.
41. Các hàm ReadFile() và WriteFile() của Windows được thực thi đồng
bộ. Chúng hoàn thành một thao tác I/O trước khi trả lại quyền kiểm sốt cho
người gọi.
42.I/O khơng đồng bộ
43. Cho phép ứng dụng đưa ra yêu cầu I/O và sau đó tiếp tục thực thi
trong khi thiết bị truyền dữ liệu. Nó có thể cải thiện thơng lượng của ứng dụng
vì nó cho phép chuỗi ứng dụng tiếp tục với cơng việc khác trong khi hoạt động
I/O đang diễn ra. Phải chỉ định cờ FILE_FLAG_OVERLAPPED khi gọi hàm
CreateFile(). Lập trình phải cẩn thận không truy cập bất kỳ dữ liệu nào từ hoạt
động I/O cho đến khi trình điều khiển thiết bị kết thúc quá trình truyền dữ liệu.
Phải đồng bộ hóa việc thực thi của nó với việc hồn thành yêu cầu I / O bằng
cách báo hiệu khi I/O đã hoàn tất.
44. Các hoạt động I/O được cấp cho trình điều khiển thay mặt cho ứng
dụng được thực hiện là không đồng bộ. Khi một yêu cầu I/O đã được bắt đầu,
trình điều khiển thiết bị sẽ quay trở lại hệ thống I/O. Hệ thống I/O trả về ngay
lập tức cho người gọi hay không phụ thuộc vào việc tệp được mở cho I/O đồng
bộ hay không đồng bộ. Hình 3 minh họa luồng điều khiển khi một thao tác đọc
được bắt đầu. Nếu quá trình chờ được thực hiện, phụ thuộc vào cờ chồng lên
nhau trong đối tượng tệp, thì nó sẽ được thực hiện ở chế độ hạt nhân bởi hàm
NtReadFile().

45. Kiểm tra trạng thái của I / O không đồng bộ đang chờ xử lý bằng hàm
Windows HasOverlappedIoCompleted().

12 | P a g e


46.

47.Hình 3. Kiểm sốt luồng cho một hoạt động I / O.
48.

13 | P a g e


a. Fast I/O (Vào/ra nhanh)

Fast I / O là một cơ chế đặc biệt cho phép hệ thống I/O bỏ qua việc
tạo IRP và thay vào đó đi trực tiếp vào ngăn xếp trình điều khiển hệ thống tệp
để hồn thành yêu cầu I / O. Trình điều khiển ghi các điểm vào I/O nhanh bằng
cách nhập chúng vào một cấu trúc được trỏ tới bởi con trỏ
PFAST_IO_DISPATCH trong đối tượng trình điều khiển của nó.
b.

Lệnh !Drvobj kernel debugger có thể liệt kê các quy trình I / O nhanh
mà trình điều khiển đăng ký trong đối tượng trình điều khiển của nó. Tuy nhiên,
thơng thường chỉ có các trình điều khiển hệ thống tệp mới có thể sử dụng cho
các quy trình I / O nhanh chóng. Đầu ra sau đây hiển thị bảng I / O nhanh cho
đối tượng trình điều khiển hệ thống tệp NTFS:
c.


d.
e.

Hình 4. Bảng I / O nhanh cho đối tượng trình điều khiển
hệ thống tệp NTFS.

14 | P a g e


f. Vào/ra tệp được ánh xạ và bộ nhớ đệm tệp
g.

I / O tệp được ánh xạ đề cập đến khả năng xem tệp nằm trên đĩa.

Một chương trình có thể truy cập tệp dưới dạng một mảng lớn mà
không cần đệm dữ liệu hoặc thực hiện vào/ra đĩa. Truy cập và quản lý bộ nhớ
sử dụng cơ chế phân trang để tải trang chính xác từ tệp đĩa. I/O tệp được ánh xạ
có trong chế độ người dùng thơng qua các hàm Windows CreateFileMapping()
và MapViewOfFile().
h.

Hệ thống tệp sử dụng trình quản lý bộ đệm (cache manager) để ánh xạ
dữ liệu tệp trong bộ nhớ ảo nhằm cung cấp thời gian phản hồi tốt hơn cho các
chương trình liên kết I/O.
i.

j.
k. Vào/ra tệp được ánh xạ và bộ nhớ đệm tệp

Windows hỗ trợ loại I / O hiệu suất cao đặc biệt này, có sẵn thơng qua

các hàm Windows ReadFileScatter() và WriteFileGather(). Các hàm này cho
phép ứng dụng phát ra một lần đọc hoặc ghi nhiều bộ đệm bằng một yêu cầu
I/O.
l.

Để sử dụng I / O phân tán / tập hợp, tệp phải được mở cho I / O không
được lưu trong bộ nhớ cache, bộ đệm người dùng đang được sử dụng phải được
phân trang và I/O phải là khơng đồng bộ.
m.

n.
o. Các gói u cầu vào/ra (I/O Request Packets- IRPs)

Gói yêu cầu I / O (IRP) là nơi hệ thống I / O lưu trữ thông tin cần thiết
để xử lý một yêu cầu I / O.
p.

q. * Một IRP bao gồm:
r.

- Đối tượng tệp mà I / O được hướng tới.

s.

- Đặc điểm I / O (ví dụ: đồng bộ, khơng đệm).

t.

- Byte offset.


u.

- Độ dài.

v.

- Vị trí đệm.
15 | P a g e


Trình quản lý I / O định vị trình điều khiển để cung cấp IRP bằng cách
làm theo các liên kết: File Object -> Device Object -> Driver Object. Hình 5
cho thấy một yêu cầu I / O mẫu thể hiện mối quan hệ giữa IRP và các đối tượng
tệp, thiết bị và trình điều khiển.
w.

x.
y.1. Ứng dụng

ghi một tệp
vào máy in,
chuyển một
xử lý cho đối
tượng tệp.
z.
2.
Trình quản lý
I / O tạo IRP
và khởi tạo vị
trí ngăn xếp

(IRP stack
location) đầu
tiên.

aa.

ab.
3. Trình quản lý I / O sử dụng đối tượng trình điều khiển
để định vị quy trình gửi WRITE và gọi nó, chuyển IRP.

ac.

ad.

Hình 5. u

cầu I/O (IRP).
ae.

16 | P a g e


af. Dữ liệu IRP
ag. * IRP bao gồm hai phần:
ah.

am.

- Phần cố định (tiêu đề - header):
ai.


+ Loại và kích thước của yêu cầu.

aj.

+ Yêu cầu Đồng bộ hay không đồng bộ.

ak.

+ Con trỏ tới bộ đệm cho I / O được đệm.

al.

+ Thông tin trạng thái (thay đổi theo tiến trình của u cầu).

- Một hoặc nhiều vị trí ngăn xếp:
an.

+ Function code.

ao.

+ Các tham số cụ thể của hàm.

ap.

+ Con trỏ tới đối tượng tệp của người gọi.

Trong khi hoạt động, các IRP được lưu trữ trong chuỗi hàng đợi. Hệ
thống I/O có thể giải phóng mọi các IRP cịn tồn đọng nếu chuỗi chấm dứt.

aq.

ar. Quản lí bộ đệm IRP

I/O được đệm: Trình quản lý I / O phân bổ một bộ đệm có kích thước
bằng với bộ đệm của người gọi. Đối với các hoạt động ghi, trình quản lý I / O
sao chép dữ liệu bộ đệm của người gọi vào bộ đệm được cấp phát khi tạo IRP.
Đối với các hoạt động đọc, trình quản lý I / O sao chép dữ liệu từ bộ đệm được
cấp phát vào bộ đệm của người dùng khi IRP hồn thành và sau đó giải phóng
bộ đệm được cấp phát.
as.

Direct I/O: Trình quản lý I / O lưu trữ mô tả của bộ nhớ dưới dạng
danh sách bộ mô tả bộ nhớ (MDL). Một MDL chỉ định bộ nhớ vật lý được
chiếm bởi một bộ đệm. Các thiết bị thực hiện truy cập bộ nhớ trực tiếp (DMA)
chỉ yêu cầu mô tả vật lý của bộ đệm, do đó MDL là đủ cho hoạt động của các
thiết bị đó. (Các thiết bị hỗ trợ DMA truyền dữ liệu trực tiếp giữa thiết bị và bộ
nhớ của máy tính mà khơng cần sử dụng CPU.)
at.

Neither I/O: Trình quản lý I / O không thực hiện bất kỳ quản lý bộ
đệm nào. Thay vào đó, quản lý bộ đệm được để cho trình điều khiển thiết bị
quyết định, có thể chọn thực hiện thủ cơng các bước mà trình quản lý I / O thực
hiện với các loại quản lý bộ đệm khác.
au.

17 | P a g e


av.

III. CÁC KỸ THUẬT ÁP DỤNG

1. Kỹ thuật vùng đệm
a. Khái niệm và mục đích của vùng đệm

Vùng đệm là vùng nhớ trung gian dùng làm nơi lưu trữ thông tin tạm
thời trong các thao tác vào/ra.
b.
c.

Để thực hiện các thao tác vào/ra, hệ thống cần phải thực hiện các bước

d.

- Kích hoạt thiết bị.

e.

- Chờ thiết bị đạt trạng thái nhất định.

f.

- Chờ thao tác vào ra được thực hiện.

sau:

Việc chờ đợi các thiết bị đạt trạng thái thích hợp chiếm một thời gian
lớn trong tổng thời gian thực hiện thao tác vào/ra. Vì vậy, để đảm bảo tốc độ
hoạt động chung của toàn hệ thống, thao tác vào/ ra cần phải sử dụng vùng đệm
nhằm mục đích:

g.

h.
i.


j.

- Giảm số lượng thao tác vào/ra vật lí.
- Cho phép thực hiện song song các thao tác vào/ra với các thao tác xử
thông tin khác nhau.
- Cho phép thực hiện trước các phép nhập dữ liệu.

k.
l. Phân loại vùng đệm

Có nhiều phương pháp tổ chức vùng đệm khác nhau nhưng nói chung
có thể chia chúng thành 3 loại:
m.

n.
o.

Vùng đệm trung chuyển:

Tổ chức vùng nhớ:
p. Hệ thống tổ chức 2 vùng nhớ riêng biệt:
q. - Vùng nhớ vào: Vùng nhớ vào chỉ dùng để nhập thông tin.
r. - Vùng nhớ ra: Vùng nhớ để ghi thông tin.
18 | P a g e



s. Tương ứng trong hệ thống có 2 lệnh để đưa thông tin vào và lấy thông

tin ra (read/write).
t.

Cách thức hoạt động
u. Vùng đệm vào: Trong chương trình ứng dụng, ngay sau khi khi mở

file, thông tin sẽ được chuyển đến vùng nhớ vào. Khi gặp lệnh đọc(read)
thông tin sẽ được chuyển tới các địa chỉ tương ứng nêu trong chương trình
ứng dụng, mỗi giá trị sẽ được lưu trong hai nơi bộ nhớ. Sau khi giá trị cuối
cùng của vùng đệm được lấy ra vùng đệm trở nên rỗng và hệ thống tổ chức
nhập thông tin mới vào thời điểm sớm nhất có thể. Để giảm thời gian chờ
đợi, hệ thống có thể tổ chức nhiều vùng đệm vào, khi hết thông tin ở một
vùng đệm hệ thống sẽ chuyển sang vùng đệm kế tiếp.
v. Vùng đệm ra: Đối với vùng đệm ra, thông tin cũng được xử lý tương

tự nhưng theo trình tự ngược lại. Lệnh ghi (write) không đưa trực tiếp thông
tin thiết bị mà đưa vào vùng đệm ra. Khi một vùng đệm ra đầy hệ thống sẽ
chuyển sang làm việc với vùng đệm kế tiếp đồng thời tổ chức đưa thông tin
từ vùng đệm trước ra thiết bị.
w.

Ưu, nhược điểm
x. - Ưu điểm:
y.

+ Có hệ số song song cao, phổ dụng.


z.

+ Cách thức tổ chức đơn giản.

aa. - Nhược điểm:
ab.

+ Tốn bộ nhớ.

ac.

+ Kéo dài thời gian trao đổi thông tin.

ad.
ae.
af.
ag.
ah.
ai.
19 | P a g e


aj.

Vùng đệm xử lý

ak.

Tổ chức vùng nhớ

al. Chỉ có một vùng bộ nhớ xử lý cả thông tin vào và thông tin ra.

am.

Cách thức hoạt động

an. Thông tin vào ra được xử lý trong cùng một vùng bộ nhớ, thông tin

khơng cần lưu trữ ở nhiều vị trí khác nhau trong bộ nhớ. Trong trường hợp
này, lệnh đọc xác định địa chỉ thông tin chứ không cần cung cấp giá trị thông
tin như vùng đệm trung chuyển.
ao.

Ưu, nhược điểm
ap. - Ưu điểm:
aq.

+ Tiết kiệm không gian nhớ.

ar.

+ Rút ngắn thời gian trao đổi thông tin ở bộ nhớ trong.

as. - Nhược điểm:
at.

+ Tốc độ giải phóng vùng đệm chậm.

au.


+ Hệ số song song thấp.

av.

+ Không phổ dụng.

aw.

+ Phương pháp tổ chức vùng đệm phức tạp.

ax.

Vùng đệm vòng tròn

ay.

Tổ chức bộ nhớ
az. Tổ chức thành 3 vùng đệm:

bd.

ba.

- Vùng đệm để đưa thông tin vào.

bb.

- Vùng đệm để đưa thông tin ra.

bc.


- Vùng đệm để xử lí thơng tin.

Cách thức hoạt động
be. Trong cách tổ chức này: vùng đệm làm việc với 3 vùng đệm: một

vùng đệm để đưa thông tin vào, một vùng đệm để đưa thông tin ra, một vùng
đệm xử lý. Sau một khoảng thời gian nhất định chức năng của các vùng đệm
20 | P a g e


trao đổi vòng tròn cho nhau. Vùng đệm vào thành vùng đệm xử lý, vùng
đệm xử lý thành vùng đệm ra, vùng đệm ra thành vùng đệm vào.
bf. Loại vùng đệm này được gắn với từng file cụ thể hoặc gắn với toàn bộ

hệ thống.
bg.

Ưu nhược điểm
bh. - Ưu điểm:
bi.

+ Thời gian xử lý ngắn.

bj.

+ Hiệu quả xử lý cao.

bk.


+ Tránh được việc phải thực hiện tạo các vùng đệm nhiều lần.

bl. - Nhược điểm:
bm.

+ Lãng phí bộ nhớ.

bn.

+ Dễ xảy ra tranh chấp.
bo.

2. Xử lý lỗi:
Bất kỳ một thành phần nào của hệ thống cũng có thể thực hiện công
việc một cách không chuẩn.Khi hoạt động, các thiết bị vào/ra là bộ phận bộc lộ
thiếu sót rõ nhất.
a.

Phương pháp chủ yếu áp dụng trong chống lỗi vào/ra là giao trách
nhiệm phát hiện lỗi cho hệ thống chứ không phải người sử dụng. Vì nguyên
nhân sinh ra lỗi là rất nhiều nên hệ thống phải thực hiện linh hoạt các phép kiểm
tra thiết bị (sử dụng cả phần cứng và phần mềm). Các công đoạn kiểm tra được
chú ý ngày từ giai đoạn thiết kế và chế tạo thiết bị. Khi phát hiện lỗi, hệ thống
cố gắng khắc phục bằng các thực hiện lại nhiều lần thao tác vào/ra. Nếu lỗi vẫn
ổn định thì cố gắng khơi phục thơng tin ban đầu, trong trường hợp khơng thể
khắc phục thì hệ thống báo lỗi cho người sử dụng tự giải quyết.
b.

Để đảm bảo độ chính xác của thơng tin lưu trữ, nhiều thiết bị tổ chức
đọc lại thông tin ngay sau khi ghi và so sánh kết quả đọc với thông tin gốc hoặc

so sánh tổng kiểm tra tính được khi đọc với tổng kiểm tra tính được theo thơng
tin gốc. Sau khi thực hiện kiểm tra và so sánh thì các thiết bị điều khiển vào/ra
c.

21 | P a g e


này sẽ thông báo lỗi cho hệ thống và hệ thống chịu trách nhiệm thực hiện các
tác động tương ứng.
Ngoài ra, trước và sau trao đổi vào/ra hệ thống cũng có những thao tác
kiểm tra đối với kênh vào/ra và phân tích kết quả xem đã có đủ điều kiện truy
nhập thiết bị hay chưa.
d.

Ngoài ra, các mã sửa sai thường được áp dụng giúp hệ thống khắc
phục các lỗi dữ liệu thường gặp, đặc biệt là đối với thông tin lưu trữ dài hạn
e.

f.

3. Kỹ thuật SPOOL
Thông thường các thiết bị vào/ra được xem xét như những công cụ kỹ
thuật để nhận các chương trình kênh và dữ liệu, đồng thời là nơi gửi các mã
trạng thái cho hệ thống phân tích. Nhưng trên thực tế mọi chương trình và dữ
liệu của nó đều hoạt động hồn tồn tương tự như thiết bị vào ra có thực. Như
vậy có thể dùng tiến trình để mơ phỏng hoạt động vào/ra và ngược lại, mọi thiết
bị đều có thể coi như các tiến trình. Trong nhiều trường hợp hệ thống đã mơ
phỏng hoạt động vào/ra bằng con đường chương trình. Các chương trình này có
thể hoạt động song song và tn thủ theo ngun tắc của quản lí tiến trình.
a.


Trên phương diện lập trình thì thiết bị vào/ra là các trạm nhận các yêu
cầu từ chương trình và thực hiện trả về các mã trạng thái để hệ thống phân tích.
b.

Vậy có thể dùng phần mềm mơ phỏng thiết bị vào/ra, thiết bị vào/ra
có thể được coi như các tiến trình.
c.

Việc mô phỏng thiết bị ngoại vi đã làm xuất hiện thiết bị ảo. Mỗi thiết
bị ngoại vi cộng với chương trình mơ phỏng tương ứng sẽ tạo ra một thiết bị
hoàn toàn khác trong tay người sử dụng.
d.

e.
f. Khái niệm kĩ thuật SPOOL

Kỹ thuật SPOOL mô phỏng các thiết bị chỉ được phép khai thác trong
chế độ tuần tự bằng các thiết bị ảo và cung cấp cho các tiến trình có u cầu.
Các tiến trình sẽ gửi thơng tin của mình ra thiết bị ảo giống như đối với thiết bị
g.

22 | P a g e


thật và vào thời điểm thích hợp, thơng tin từ thiết bị ảo sẽ được chuyển sang
thiết bị thật.
h.
i. Ứng dụng của kĩ thuật SPOOL:
j.


- Mơ phỏng q trình điều khiển, quản lý thiết bị ngoại vi.

k.

- Kiểm tra hoạt động của các thiết bị đang chế tạo.

- Tạo ra hiệu ứng sử dụng song song các thiết bị chỉ được phép khai
thác trong chế độ tuần tự.
l.

- SPOOL được sử dụng rộng rãi thay thế nhiều loại thiết bị khơng có
khả năng sử dụng chung để nâng cao khả năng hoạt động song song của các tiến
trình. Ngồi ra đối với các thiết bị phụ thuộc tốc độ thông tin đầu vào, các tiến
trình sẽ nhận được những SPOOL thích hợp để đảm bảo hoạt động bình thường.
m.

n.
o. Ví dụ về việc sử dụng kĩ thuật SPOOL

Máy in là một thiết bị chỉ có thể hoạt động trong chế độ chuẩn tuần tự.
Khi có nhiều tiến trình cùng có nhu cầu sử dụng máy in thì hệ thống khơng thể
cấp phát cho nó tất cả các tiến trình có nhu cầu. Vì như vậy máy in sẽ khơng thể
hoạt động được. Đối với trường hợp này, hệ thống sẽ mô phỏng các máy in ảo và
cung cấp cho mỗi tiến trình một máy in ảo. Các tiến trình sẽ gửi thơng tin của
mình ra máy in ảo như máy in thật. Như vậy, các tiến trình có thể hoạt động song
song mà không cần xếp hàng chờ đợi tài nguyên máy in.
p.

q.


23 | P a g e


IV. CƠNG CỤ QUẢN LÍ THIẾT BỊ TRONG WINDOWS

1. Driver Verifier Manager
Trình xác minh trình điều khiển (Driver Verifier Manager), bao gồm
một số tùy chọn để kiểm tra tính đúng đắn của các hoạt động liên quan đến I /
O:
a.

b.
c. Hình 6. Trình xác minh trình điều khiển
d. Special Pool (Lỗi màn hình xanh): Bộ nhớ được trả về để cấp phát bộ nhớ

trình điều khiển bị ràng buộc với các vùng không hợp lệ để bắt bộ đệm chạy
quá tải và chạy ngầm.
e. Force IRQL checking (Buộc kiểm tra IRQL): Phát hiện trình điều khiển

truy cập bộ nhớ đã phân trang khi hệ thống ở trạng thái không thể chịu được lỗi
trang.
f. Low Resource Simulation (Mô phỏng tài nguyên thấp): Việc cấp phát bộ

nhớ trình điều khiển khơng thành công ngẫu nhiên.
g. Pool Tracking : Liên kết bộ nhớ với trình điều khiển đã cấp phát nó để giúp

xác định rò rỉ
h. I/O verification (Xác minh I / O): Đảm bảo rằng các lệnh I / O được định


dạng và xử lý đúng cách
24 | P a g e


i. DMA checking: Trình quản lý I / O cung cấp một số chức năng mà trình

điều khiển sử dụng để lập lịch và điều khiển các hoạt động DMA và tùy chọn
này cho phép kiểm tra việc sử dụng đúng các chức năng và bộ đệm mà trình
quản lý I / O cung cấp cho các hoạt động DMA.
2. Device Manager
Trình quản lý thiết bị là một Control Panel applet trong hệ điều hành
Microsoft Windows. Nó cho phép người sử dụng có thể xem và quản lý các
phần cứng gắn kết vào máy tính. Khi một bộ phận của phần cứng khơng làm
việc thì phần cứng bị lỗi tương ứng sẽ được làm nổi bật để người sử dụng dễ
dàng phát hiện và xử lý. Danh sách các phần cứng có thể sắp xếp theo nhiều
kiểu khác nhau.
a.

Mở cửa sổ Device Manager qua Run: Windows + R mở cửa sổ. Nhập
devmgmt.msc trong hộp Run và nhấn OK.
b.

c.

d.
e.

Với mỗi thiết bị, người sử dụng có thể:

f.


- Cập nhật trình điều khiển cho phần cứng

g.

- Hoạt hóa hoặc vơ hiệu hóa thiết bị

h.

- Báo cáo hệ điều hành để bỏ qua các thiết bị trục trặc

i.

- Hiển thị các thông tin kĩ thuật khác
j.

25 | P a g e


×