Driver là gì?

Một phần của tài liệu thiết kế xây dựng thiết bị usb dongle - bảo vệ phần mềm có bản quyền (Trang 108 - 109)

: Driver và các khái niệm liên quan

1.Driver là gì?

Driver trong thực tế thƣờng đƣợc hiểu là bộ phận dùng để điều khiểngiao tiếp giữa ứng dụng và thiết bị thông qua hệ điều hành (Windows).

Hình 0-1 – Mô hình giao tiếp Driver và thiết bị

Driver thƣờng vận hành giống nhƣ các dịch vụ trên hệ thống. Chẳng hạn nhƣ:

Chạy ẩn trong hệ thống, tách biệt với tiến trình của ứng dụng, và có thể đƣợc truy cập bởi nhiều ngƣời dùng.

Có chu kỳ sống lâu dài.

Driver có chu kỳ sống bằng với thiết bị. Driver đƣợc khởi động khi Windows phát hiện ra một thiết bị mới đƣợc gắn vào và driver sẽ đƣợc tắt đi khi thiết bị đƣợc rút ra. Hồi đáp các yêu cầu truy xuất I/O (Input/Output) từ bên ngoài.

Các yêu cầu truy xuất thƣờng đƣợc tạo ra bởi các ứng dụng từ Windows, hoặc thỉnh thoảng bởi các driver khác.

Không có giao diện ngƣời dùng.

Ngƣời dùng thƣờng tƣơng tác với driver bằng cách trực tiếp dùng các ứng dụng để tạo ra các lệnh yêu cầu truy xuất I/O.

Driver đƣợc thực thi trong một không gian địa chỉ khác với địa chỉ của ứng dụng tạo ra các lệnh yêu cầu truy xuất I/O.

109 Giao tiếp giữa dịch vụ của nhân hệ điều hành Windows và thiết bị thông qua các giao diện lập trình đặc biệt đƣợc gọi là DDI.

Các driver đều dựa vào các mô hình truy xuất I/O của Windows, chúng khác với các mô hình truy xuất mà ứng dụng và các dịch vụ thƣờng dùng.

Các driver có thể giao tiếp trực tiếp với các thành phần khác trong kernel.

Các driver kernel-mode thƣờng chạy toàn bộ trong chế độ kernel của nhân hệ điều hành. Còn driver UMDF phải giao tiếp với một driver kernel-mode bên dƣới mới có thể vận chuyễn đƣợc dữ liệu vào ra thiết bị.

Một phần của tài liệu thiết kế xây dựng thiết bị usb dongle - bảo vệ phần mềm có bản quyền (Trang 108 - 109)