LỊCH SỬ
Vào khoảng cuối những năm1980, IBM và Microsoft cố gắng thay thế MS-DOS với một hệ điều hành mới là OS/2. Tuy nhiên diễn tiến không được tốt đẹp như mong muốn : OS/2 ra đời chậm trễ, không có tính tương thích cao và không phổ biến. IBM và Microsoft đổ lỗi lẫn nhau để cuối cùng sự hợp tác đi đến đỗ vỡ .
1988, Microsoft mời Dave Cutler (người phát triển VMS và VAX ở Digital ) làm thủ lĩnh để phát triển phần của họ trong dự án OS/2 thành một hệ điều hành hoàn toàn mới là Windows New Technology haty vắn tắt là WinNT.
Thoạt trông thì giao diện thân thiện của WinNT giống như họ Windows 9x, nhưng thực sự thì phần lõi bên trong của hệ điều hành được xây dựng hoàn toàn khác biệt. WinNT kết hợp chặt chẽ các tính năng bảo vệ phần cứng và bảo đảm an toàn người dùng, là một hệ điều hành có độ tin cậy cao.
MỤC TIÊU THIẾT KẾ
Microsoft công bố các mục tiêu thiết kế được đề ra cho WinNT bao gồm :
1. Có khả năng mở rộng (extensibility) : có thể nâng cấp dễ dàng nhờ vào kiến trúc phân lớp, thiết kế đơn thể
2. Dễ mang chuyển (portability) : có thể thi hành trên nhiều cấu hình phần cứng (bao gồm nhiều họ CPU khác nhau)
3. Có độ tin cậy cao (reliability) : có khả năng phục hồi lỗi, bảo đảm an toàn và bảo mật
4. Có tính tương thích mạnh (compatability) : có thể thi hành các ứng dụng MS-DOS, 16-bit Win, Win32, OS/2 & POSIX
5. Hiệu quả thực hiện tốt (performance) : bảo đảm thực hiện hiệu quả với các cơ chế quản lý nội bộ, IPC, hỗ trợ mạng và hỗ trợ đa xử lý.
CÁC THÀNH PHẦN HỆ THỐNG
1. HAL ( hardware abstraction layer) : Tầng cung cấp sự trừu tượng hoá phần cứng, che dấu các khác biệt của phần cứng nhắm đến khả năng dễ mang chuyển của WinNT
2. Hạt nhân (kernel) : là thành phần cốt lõi của WinNT. Chịu trách nhiệm điều phối tiến trình, cung cấp các cơ chế đồng bộ hoá, xử lý ngắt va xử lý ngoại lệ. Đây cũng là phần giao tiếp với HAL, chuyển các ngát phát sinh thành những tập chuẩn được qui định trước. Hạt nhân được thiết kế hướng đối tượng., sử dụng 2 tập đối tượng :
Các đối tượng điều phối và đồng bộ : events, mutants, mutexes, semaphores, threads và timers
Các đối tượng kiểm soát : procedure calls, interrupts, power status, processes, profiles
Tầng điều hành (Executive): cung cấp các dịch vụ cơ bản mà tất cả các hệ thống con khác nhau đều có thể sử dụng . Bao gồm :
Quản Lý Đối Tượng : cung cấp các phương thức chuẩn để thao tác đối tượng như create, open, close, delete, query name, parse, security
Quản Lý Tiến Trình: cung cấp các phương thức tạo và hủy tiến trình, tiểu trình
Quản Lý Bộ Nhớ Ảo Và Quản Lý Nhập Xuất : tích hợp chặt chẽ các chiến lược phân trang với điều phối đĩa
Hỗ Trợ Gọi Hàm Cục Bộ : tối ưu hoá cơ chế trao đổi thông điệp trên cơ sở chia sẻ bộ nhớ chung
Hỗ Trợ An Toàn Và Bảo Mật : cung cấp các dịch vụ kiểm tra , bảo vệ đối tượng trong thời gian thực thi.
3. Các hệ thống con (subsystems) : gồm những tiến trình hệ thống nhưng hoạt động trong chế độ user, chịu trách nhiệm tạo mội trường thuận lợi cho các ứng dụng thi hành. Đây là các lớp dịch vụ được xây dựng dựa trên nền tảng các dịch vụ gốc nhưng hướng về các ứng dụng vốn được phát triển trên cho các hệ điều hành khác. Mỗi hệ thống con cung cấp một API cho một hệ điều hành nào đó. Win32 là môi trường hoạt động chính, khi phát hiện một ứng dụng khác Win32, tiến trình tương ứng sẽ được chuyển sang hệ thống con thích hợp.
4. Các hệ thống bảo mật và an toàn
KIẾN TRÚC HỆ ĐIỀU HÀNH WindowsNT

CÁC MODULE QUẢN LÝ CỦA WindowsNT
Quản lý tiến trình
Một tiến trình trong WinNT có :
Một không gian địa chỉ ảo
PCB chứa các thông tin như độ ưu tiên của tiến trình và các thống kê điều phối
Một hay nhiều tiểu trình
Một tiển trình trong WinNT có :
Dòng xử lý và các thông tin kèm theo
Các trạng thái tiểu trình :
ready: chờ CPU
standby: là tiểu trình kế tiếp sẽ nhận CPU
running: đang xử lý
waiting: chờ tín hiệu (IO)
transition: chờ tài nguyên
terminated: kết thúc
Bộ điều phối sử dụng chiến lược điều phối ,multilevel feedback với 32 mức ưu tiên :
Các tiểu trình real time (16-31) : độ ưu tiên tĩnh
Các tiểu trình khác nhận độ ưu tiên động (0-15) được cập nhật tự động khi tiến trình tay đổi trạng thái, hay thay đổi tường minh do người dùng.
Quản lý bộ nhớ ảo
Giả sử phần cứng hỗ trợ :
-Cơ chế chuyển đổi địa chỉ virtual sang physical
-Cơ chế phân trang
Sử dụng kỹ thuật phân trang với trang kích thước 4K
Sử dụng 32 bits địa chỉ => không gian địa chỉ ảo 4G
Cấu trúc dữ liệu hỗ trợ chuyển đổi địa chỉ:
-Một thư mục trang (page directory) gồm 1024 phần tử (PDE’s) 4 bytes
-Mỗi PDE trỏ đến một bảng trang gồøm 1024 phần tử 4 bytes (PTE’s)
-Mỗi PTE trỏ đến một frame trong BNVL
Khi tiến trình khởi động, nó được cấp một workingset mặc định tối thiểu từ 30-50 trang (120-200K) . Sau đó chiến lược demand-paging được vận dụng để cấp phát các trang cho đến khi đạt workingset cực đại 1.4Mb. Khi cần thêm bộ nhớ, các trang yêu cầu thêm sẽ chỉ được nạp nếu bộ nhớ tự do còn lớn. Nếu không, trên máy cấu hình 1 CPU, 1 chiến lược thay thế trang xấp xỉ LRU được vận dụng để giải phóng bớt các trang của những tiến trình đã sử dụng quá workingset tối thiểu.
Hệ thống tập tin
WinNT hỗ trợ môi trường đa hệ thống tập tin với FA, HPFS và đặc biệt là hệ thống tập tin là NTFS với nhiều ưu điểm :
-Sử dụng địa chỉ 64-bit cluster : lo liệu được cho các đĩa cứng dung lượng lớn, ngay cả khi sử dụng cluster kích thước nhỏ (512)
-Có khả năng mở rộng kiểm soát an toàn cho mỗi tập tin
-Sử dụng tên file dai với UNICODE
-Ghi nhận lỗi trong các giao tác trong file \$LOGFILE
-Các cluster tự do được ghi nhận trong system file, \$BITMAP
-Các cluster hỏng được ghi nhận trong system file, \$BADCLUS
-Các cluster đang sử dụng được ghi nhận trong master file table
Mỗi file trong WinNT được mô tả bởi tối thiểu một mẫu tin trong Master file table (MFT)
-Kích thước mẫu tin trong MFT được đặc tả khi hệ thống được thiết lập, biến thiên từ 1K đến 4K.
-Tất cả các file đều được ánh xạ vào MFT, kể cả chính MFT
Mỗi mẫu tin trong MFT có một trường header và một hay nhiều attributes để mô tả cho tập tin tương ứng
-Mỗi attribute lại bao gồm header và data
-Nếu attribute nhỏ, nó được chứa ngay trong mẫu tin của MFT (ví dụ ‘file’ name, thông tin ngày giờ cập nhật…)
-Nếu attribute lớn (ví dụ nội dung file), số hiệu cluster chứa data sẽ được lưu trong mẫu tin.
Quản lý nhập xuất
Mô hình IO của WunNT được thiết kế theo kiến trúc tầng cho phép các trình điều khiển thiết bị riêng biệt thực hiện ở các tầng logic khác nhau của việc quản lý IO. Các trình điều khiển có thể được tải vào hay gỡ bỏ khỏi hệ thống một cách linh động tùy theo nhu cầu của người dùng. Mô hình phân lớp cho phép chèn các trình điều khiển thiết bị mới một cách dễ dàng.
Hỗ trợ mạng
NT hỗ trợ cả 2 mô hình kết nối mạng peer-to-peer và client-server
Một số protocol được hỗ trợ : SMB, NetBios, NetBeui, TCP/IP
Hỗ trợ xử lý phân tán
NT cũng hỗ trợ một số cơ chế để thực hiện xử lý phân tán như: named pipe, mailslot, winsock và RPC