Hệ điều hành Windows đã phát triển thành một nền tảng điện toán doanh nghiệp mạnh mẽ, được sử dụng từ môi trường desktop hằng ngày cho đến các nền tảng server quy mô trung tâm dữ liệu. Kiến trúc của Windows đã trưởng thành để cung cấp tính ổn định và bảo mật hệ thống. Mặc dù Windows thường được biết đến như một hệ điều hành desktop, nhưng các phiên bản server của nó lại được ứng dụng rộng rãi trong các trung tâm dữ liệu doanh nghiệp.
Kiến trúc tổng thể
Windows được thiết kế dựa trên hai thành phần chính:
-
User Mode (Chế độ người dùng):
Là nơi các tiến trình do người dùng khởi tạo chạy. Các tiến trình này chạy với đặc quyền thấp, không thể can thiệp trực tiếp vào các tiến trình cấp hệ thống. Thông qua các API, user mode cho phép ứng dụng yêu cầu truy cập vào tài nguyên hệ thống. Mỗi tiến trình trong user mode có không gian bộ nhớ riêng, ngăn chặn việc một ứng dụng có thể xâm nhập vào tiến trình khác, từ đó đảm bảo tính ổn định và an toàn.
-
Kernel Mode (Chế độ nhân):
Là nơi các tiến trình cốt lõi của hệ điều hành chạy với đặc quyền cao nhất, quản lý CPU và bộ nhớ. Các tiến trình kernel mode chạy trong cùng một không gian bộ nhớ, giúp tăng hiệu quả nhưng cũng tiềm ẩn rủi ro – một tiến trình bị lỗi có thể ảnh hưởng toàn bộ hệ thống. Để giảm thiểu rủi ro này, Windows yêu cầu driver và file hệ thống quan trọng phải có chữ ký số hợp lệ (Kernel Mode Code Signing).

User Mode chi tiết
Trong user mode, các loại tiến trình bao gồm:
Khi ứng dụng trong user mode cần tài nguyên hệ thống (như ghi file, kết nối mạng), Windows sẽ cho phép chuyển ngữ cảnh sang kernel mode để thực thi, sau đó quay trở lại user mode. Cơ chế này được kiểm soát bởi lớp giao tiếp kernel nhằm ngăn truy cập trực tiếp.
Kernel Mode chi tiết
Trong kernel mode, các thành phần chính bao gồm:
Một số thành phần quan trọng:
-
Ntdll.dll, Kernel32.dll, Advapi32.dll, User32.dll, Gdi32.dll – các thư viện lõi hỗ trợ API hệ thống