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

Môi trường lập trình kiểu kernel – mode

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 (73.08 KB, 3 trang )

Môi trường lập trình kiểu Kernel – Mode

Môi trường lập trình kiểu
Kernel – Mode
Bởi:
Khoa CNTT ĐHSP KT Hưng Yên
Hình 3-1 minh họa một số những thành phần tạo ra hệ điều hành XP Microsoft
Windows. Mỗi thành phần hàm dịch vụ nó có tên bắt đầu với một tiền tố đặc biệt 2- ký
tự, 3- ký tự:
• Quản lý vào/ra (Tiền tố Io) chứa đựng nhiều hàm dịch vụ mà những trình điều
khiển sử dụng, và đó là điều mà tôi bàn luận trong cuốn sách này.
Mô đun Cấu trúc Quá trình (Tiền tố Ps ) tạo ra và quản lý những luồng kiểu nhân. Một
trình điều khiển WDM bình thường có lẽ đã sử dụng Một luồng độc lập để nhiều lần
cắt ngọn Một thiết bị không có khả năng của việc phát sinh những ngắt, và (cho) những
mục đích khác.
• Quản lý bộ nhớ ( Tiền tố Mm) điều khiển những bảng trang mà định nghĩa ánh
xạ (của) những địa chỉ ảo lên trên bộ nhớ vật lý.
• Thi hành ( Tiền tố Ex) cung cấp quản lý tất cả các dịch vụ đồng bộ hóa. Tôi sẽ
bàn tới các vấn đề thực hiện các chỉ lệnh ở chương tiếp theo, bao hàm những
dịch vụ đồng bộ hóa.
• Quản lý đối tượng ( Tiền tố Ob ) cung cấp kiểm soát tập trung qua nhiều đối
tượng dữ liệu mà khi Windows XP hoạt động. Những điều khiển WDM tin cậy
trong quản lý đối tượng để làm cho một tính thử lại mà ngăn ngừa một đối
tượng không biến mất trong khi người nào đó vẫn còn sử dụng nó và để chuyển
đổi phần đối tượng qua con trỏ tới những đối tượng đại diện.
• Bảo mật tham chiểu mà hình ( Tiền tố Be) cho phép điều khiển hệ thống tập tin
thực hiện những sự kiểm tra bảo mật. Một vài điều khiển khác thì phân phối
với những sự liên quan bảo mật trước thời gian một yêu cầu vào/ra đạt đến điều
khiển WDM, vì vậy Tôi đang bàn luận những hàm đó trong sách này.
• Thành phần " thư viện thực thi " ( Tiền tố Rtl) chứa đựng những chương trình
thông dụng, như danh sách và những thủ tục quản lý chuỗi, những trình điều


khiển Kernel - mode có thể sử dụng thay vì ANSI- tiêu chuẩn bình thường
những thủ tục thư viện. Phần lớn, thao tác những hàm này hiển nhiên thông qua
những tên của nó và những hiểu biết của bạn khi sử dụng chúng.
1/3


Môi trường lập trình kiểu Kernel – Mode

• Windows XP thi hành những ngôn ngữ API của Kernel - mode được gọi khi sử
dụng những tên thủ tục mà bắt đầu với tiền tố Zw. Những tài liệu DDK dung
một vài ký hiệu hàn ZwXxx, Tức là là thứ mà gắn liền với nơi đăng ký và sự
truy nhập hồ sơ. Những hàm đó được bàn luận trong chương này.
• Nhân XP Windows ( Tiền tố Ke ) là tất cả sự đồng bộ hóa mức thấp (của)
những hoạt động giữa những luồng và những bộ xử lý xuất hiện. KeXxx được
bàn tới trong chương tiếp theo.
• Nhiều lớp dưới của hệ điều hành, nó có tác dụng hỗ tợ hệ thống khi về chế độ
nghỉ ngơi, là lớp trừu tượng hóa phần cứng ( hay HAL, tiền tố Hal). Tất cả
những thành phần hệ điều hành của máy tính được liên kết với nhau trong
HAL. HAL gọi ngắt trong những quá trình làm việc, để kết nối các thiết bị vào/
ra và những thiết bị lưu trũ khác. Thay vì việc kết nối trực tiếp tới phần cứng
của máy tính, điều khiển WDM gọi là những hàm trong HAL để thực hiện.

Hình 3-1. Tổng quan của Kernel – mode hỗ trợ những thủ tục

Sử dụng các thư viện chức năng chuẩn Run-Time
Windows NT, kiến trúc sư ưa thích mà không sử dụng trình điều khiển run_time các thư
viện được cung cấp bởi nhà cung cấp của chương trình biên dịch C. Trong một phần,
ban đầu không chấp nảy sinh từ thời gian rất đơn giản. Windows NT đã được thiết kế
tại một thời gian khi không có ANSI tiêu chuẩn cho những gì thuộc một hàm chuẩn thư
viện và khi rất nhiều trình biên dịch tồn tại, với mỗi ý tưởng riêng của những gì bao gồm

sự bình tĩnh và độc đáo riêng chuẩn chất lượng.

2/3


Môi trường lập trình kiểu Kernel – Mode

Yếu tố khác là thư viện chuẩn run_time đôi khi dựa vào khởi tạo rằng có thể xảy ra chỉ
trong một người sử dụng chế độ-ứng dụng và đôi khi được triển khai thực hiện trong
một sợi-đa-không an toàn hay không an toàn cách.

Một Nhắc nhở về những tác dụng phụ
Các "functions" mà bạn sử dụng trong một trình điều khiển được định nghĩa là macros
trong DDK tiêu đề file. Ví dụ, các mã sau đây:
int a = 2, b = 42, c;
c = min(a++, b);
Cơ bản bạn có thể không biết khi nào các DDK sẽ sử dụng một macro và nó sẽ khi tuyên
bố một thực tế hàm bên ngoài. Đôi khi một dịch vụ hàm sẽ là một nền tảng vĩ mô cho
một số hàm và một cuộc gọi các nền tảng. Hơn nữa, Microsoft là miễn phí để thay đổi
ý nghĩa của nó trong tương lai. Do đó, bạn nên làm theo quy định này khi lập trình cho
trình điều khiển WDM : Không bao giờ sử dụng một biểu hiện có phản ứng phụ như là
một đối số cho một hạt nhân-chế độ dịch vụ hàm

3/3



×