Font size
WorksheetsMerry Driver Go Round
Total questions: 45
Worksheet time: 15mins
Đâu KHÔNG là một kiểu kiến trúc hệ điều hành?
Layered
Micro
Marco
Hybrid
HAL là viết tắt của...
(a)
Windows NT Kernel là một ví dụ cho kiểu kiến trúc hệ điều hành nào?
monolithic
micro
hybrid
layered
Hệ điều hành là một tập các ... thực hiện quản lý các ... và tài nguyên hệ thống
chương trình / ứng dụng
phần mềm / tác vụ
phần mềm hệ thống / ứng dụng
phần mềm hệ thống / đối tượng
Rings trong hệ điều hành là các lớp ... cho phép triển khai ... và chia sẻ tài nguyên hiệu quả
phân quyền / phân quyền tối thiểu
ứng dụng / quản trị ứng dụng
giao thức / vận chuyển thông tin
bảo vệ / phân quyền tối thiểu
Trong hệ điều hành có bao nhiêu rings?
4+1
3+1
4
3
Đâu là thứ tự khởi tạo một process?
tải chương trình vào memory -> tạo stack, heap -> tạo thread -> scheduler chạy
tải chương trình vào memory -> tạo stack, heap -> tạo process control block -> tạo program counter -> tạo thread -> scheduler chạy
tải chương trình vào memory -> tạo stack, heap -> tạo process control block -> tạo thread -> scheduler chạy
tải chương trình vào memory -> tạo stack, heap -> tạo process control block -> tạo program counter -> scheduler chạy
Một đối tượng hoạt động trong bộ nhớ, thực hiện các công việc được chỉ định, được chạy bởi scheduler được gọi là gì?
program
process
thread
application
[CHỌN NHIỀU] Đâu là các trạng thái của process trong Windows
zombie
orphan
terminated
suspend
[CHỌN NHIỀU] Đâu là những thành phần được chia sẻ giữa các thread?
state
code segment
data segment
stack
System call là gì?
Các lời nhắc hệ thống, được gửi từ kernel mode tới user mode hoặc từ ngược lại
Các lời nhắc giữa các process với nhau
Các lời nhắc hệ thống, được gửi từ user mode xuống kernel mode
Các lời nhắc hệ thống, được gửi giữa các thành phần trong kernel với nhau
Tín hiệu được gửi từ phần cứng để báo cho hệ thống biết về một hoạt động IO cần xử lý được gọi là gì?
Software interrupt
Hardware interrupt
Interprocess communication (IPC)
Signal
ACID là viết tắt của...
Atomicity
Correlation
Incremental
Durability
Atomicity
Concurrency
Iterrative
Durability
Atomicity
Conductivity
Isolation
Dynamic
Atomicity
Consistency
Isolation
Durability
[ENGLISH] Hiện tượng thứ tự thực hiện process/thread không theo ý muốn dẫn đến sai sót dữ liệu được gọi là
(a)
[ENGLISH] Hiện tượng 2 thread/process cùng truy cập vào một critical section để đọc/ghi dữ liệu được gọi là ...
(a)
[ENGLISH] Hiện tượng 2 đối tượng chờ đợi lẫn nhau trên cùng một tài nguyên được gọi là (a)
BSOD là viết tắt của ...
(a)
IRP được sinh ra từ đâu?
IO Manager
Memory Manager
User application
Syscall
[CHỌN NHIỀU] Những nhận nào sau đây đúng về driver?
là một phần mềm
là phần cứng hệ thống
có thể là software driver hoặc device driver
bắt buộc phải có ít nhất một device object đi kèm
[CHỌN NHIỀU] Những nhận định nào sau đây đúng về Bus driver?
Gần với HAL nhất
Là Function driver
Là Device Driver
Tương tác với Bus
[CHỌN NHIỀU] Những nhận định nào sau đây đúng?
Các filter driver không có khả năng xử lý IRP
Device node có một hoặc nhiều device object
Một device được quản lý bởi một driver
Một device object được quản lý bởi một driver
[CHỌN NHIỀU] Khi kết nối một thiết bị mới vào máy tính, điều gì xảy ra?
Nếu có driver tương ứng trước đó, PnP Manager thực hiện load driver và tạo device object tương ứng
Nếu không có driver tương ứng, PnP Manager thực hiện tải driver từ Windows Store
Nếu không có registry key tương ứng với thiết bị, PnP Manager thực hiện tìm kiếm file cài đặt driver phù hợp trong hệ thống
Nếu không nhận diện được thiết bị, hệ thống sẽ yêu cầu người dùng cài đặt driver chủ động
Đâu là file mang thông tin và chỉ dẫn cài đặt driver?
*.sys
*.cat
*.cer
*.inf
Driver với altitude nào sẽ được load cuối cùng?
1345
1234
1345.123
1345.134
[CHỌN NHIỀU] Đâu là hàm bắt buộc phải có của một driver?
DriverEntry
DriverUnload
AddDevice
Cleanup
[ENGLISH] Các thủ tục được gọi để xử lý các IRP được gọi là...
(a)
Đâu là hướng xử lý đúng khi DriverEntry thất bại?
Gọi DriverUnload
Giải phóng tài nguyên đã cấp phát, trả mã lỗi phù hợp
Trả mã lỗi hoặc throw exception phù hợp
Gọi KeBugCheck với mã lỗi phù hợp
Device object là gì?
Một thiết bị vật lý được kết nối vào hệ thống
Một đại diện cho mội đối tượng vật lý trong hệ thống, được driver quản lý
Một đại diện cho mội đối tượng trong hệ thống, được driver quản lý
Một thiết bị vật lý hoặc một ứng dụng trong hệ thống, được driver quản lý
Khi nào có thể throw exception?
Khi trong một abitrary thread
Khi trong một non-abitrary thread
Khi trong DriverEntry
Khi trong DriverUnload
[CHỌN NHIỀU] Paged-memory có thể sử dụng được khi IRP ở mức nào?
PASSIVE_LEVEL
APC_LEVEL
DISPATCH_LEVEL
HIGH_LEVEL
Vai trò của MDL là gì?
Trỏ đến vùng nhớ dưới kernel mà user mode process có thể ghi vào được
Trỏ tới vùng nhớ trên user mode mà kernel mode có thể lưu vào được
Ánh xạ vùng nhớ tại kernel mode và user mode
Trỏ tới vùng nhớ dưới kernel mode mà sau đó sẽ được copy lên user mode
Phương thức truyền dữ liệu giữa user mode và kernel mode trong đó dữ liệu được copy qua lại giữa buffer của hai không gian được gọi là?
System buffer
IOCTL
MDL
Buffered IO
Phương thức giao tiếp trong đó thông tin được biểu diễn được dưới dạng một lệnh điều khiển đi kèm với một tín hiệu hệ thống chuẩn khác được gọi là gì?
Buffered IO
Direct IO
IOCTL
IRP
Để sử dụng Direct IO cho giao tiếp trực tiếp qua IRP, nhận định nào dưới đây là đúng?
Gán cờ DO_DIRECT_IO cho Driver Object
Cung cấp một buffer giao tiếp thông qua ReadFile và truy cập thông qua MDL tại kernel
Cung cấp một buffer giao tiếp thông qua DeviceIoControl và truy cập thông qua MDL tại kernel
Gán cờ DO_DIRECT_IO cho Device Object và cung cấp một buffer giao tiếp thông qua DeviceIoControl
Khi nào sử dụng pDeviceObject->AssociatedIrp->SystemBuffer ?
Khi pDeviceObject->Flags có giá trị DO_BUFFERED_IO
Khi muốn đọc dữ liệu đầu vào từ DeviceIoControl
Khi muốn ghi dữ liệu đầu ra cho DeviceIoControl
Khi muốn ghi dữ liệu đầu vào thông qua DispatchRead của IRP_MJ_READ
Marco FILE_WRITE_ACCESS có ý nghĩa gì?
Kernel được đọc dữ liệu trong buffer của user thông qua IOCTL
Kernel được ghi dữ liệu vào buffer của user thông qua IOCTL
Kernel được đọc dữ liệu trong buffer của user thông qua IRP
Kernel được ghi dữ liệu vào buffer của user thông qua IRP
Khi một IOCTL được gán cờ METHOD_IN_DIRECT, làm thế nào để ghi dữ liệu trả cho user?
Sử dụng MDL và ghi vào output buffer người dùng cung cấp
Sử dụng System Buffer và ghi vào input buffer người dùng cung cấp
Sử dụng System Buffer và ghi vào output buffer mà người dùng cung cấp
Không thể trả dữ liệu cho người dùng
Nếu một IOCTL được xác định cờ METHOD_OUT_DIRECT, làm thế nào để đọc dữ liệu đầu vào?
Sử dụng MDL và đọc input buffer người dùng cung cấp
Sử dụng System Buffer và đọc input buffer người dùng cung cấp
Sử dụng MDL và đọc output buffer người dùng cung cấp
Sử dụng System Buffer và đọc output buffer người dùng cung cấp
[CHỌN NHIỀU] Để thực hiện đồng bộ hóa cho một vùng code ghi dữ liệu, có thể sử dụng phương thức nào sau đây?
Mutex
FastMutex
Spinlock, tùy thuộc mức IRQL
Semaphore với count = số biến cần bảo vệ trong vùng code ghi dữ liệu
Dispatcher object nào sẽ giải phóng thread gửi signal tới nó, sau đó tự động trở về trạng thái non-signaled?
Notification event
Fast Mutex
Synchronized event
Mutex
Khi sử dụng kỹ thuật dynamic struct allocation để cấp phát bộ nhớ động lưu dữ liệu có độ dài không xác định trước, giá trị offset có ý nghĩa gì?
Xác định khoảng cách từ struct base tới vị trí kết thúc ghi dữ liệu
Xác định khoảng cách từ struct base tới vị trí bắt đầu ghi dữ liệu
Xác định khoảng cách từ vị trí bắt đầu ghi dữ liệu tới vị trí kết thúc ghi dữ liệu
Xác định khoảng cách từ struct end tới vị trí bắt đầu ghi dữ liệu
Vì sao không sử dụng FastMutex để khóa các vùng đọc/ghi dữ liệu?
FastMutex hoạt động ở IRQL=DISPATCH_LEVEL
Các hoạt động đọc/ghi dữ liệu hoạt động ở IRQL=DISPATCH_LEVEL
FastMutex hoạt động ở IRQL<=APC_LEVEL
Các hoạt động đọc/ghi dữ liệu hoạt động ở IRQL<=APC_LEVEL
Vì sao không được gây page fault khi ở IRQL >= DISPATCH_LEVEL?
Do Memory Manager chỉ có thể hoạt động ở IRQL <= APC_LEVEL
Do khi này KeBugCheck sẽ được gọi gây BSOD
Do việc tìm page để swap vào bộ nhớ gây tràn stack frame
Do khi này IRQL sẽ đột ngột giảm
Trong cùng mức IRQL, nếu một IRP được gửi tới trong khi một IRP khác đang được xử lý, hệ thống sẽ...
Tạo một system thread mới để xử lý IRP này
Lên một Deferred Procedure Call (DPC) cho IRP này
IRP mới sẽ bị bỏ qua
IRP hiện tại sẽ bị block
Stack location cho biết gì?
Program counter hiện tại
Instruction đang được thực hiện
Vị trí của IRP trong device node
Vị trí của Driver trong Driver stack
