Mặc dù câc tiến trình win32 có thể sử dụng đến 4GB bộ nhớ RAM, nhưng câc giới hạn phần cứng hiện nay ngăn cản hầu hết câc mây tính chứa nhiều bộ nhớ. Để mở rộng giới hạn bộ nhớ năy câc vi xử lý đê đưa ra câc mô hình quản lý bộ nhớ khâc
nhau nhằm mở rộng khả năng quản lý bộ nhớ của vi xử lý cũng như cung cấp nhiều hơn không gian bộ nhớ cho câc tiến trình. Vi xử lý 80386 đê sử dụng mô hình bộ nhớ ảo.
Với vi xử lý 80386 không gian bộ nhớ được chia thănh câc phđn đoạn (segmentation), mỗi phđn đoạn lại được chia thănh câc phđn trang (paging), câc phđn trang đều có kích thước bằng nhau vă bằng 4Kb. CPU cũng như hệ điều hănh sử dụng câc trang bộ nhớ để chứa code vă data của câc tiến trình, trong trường hợp năy câc tiến trình cũng được chia thănh câc trang có kích thước bằng câc trang bộ nhớ.
Trong mô hình bộ nhớ ảo CPU không nạp tất cả câc trang của tiến trình văo bộ nhớ RAM mă chỉ nạp câc trang cần thiết ban đầu, câc trang còn lại sẻ được nạp sau đó nếu cần. CPU dùng câc bảng trang (PCT: Page Control Table) để theo dõi một trang của tiến trình lă đê được nạp văo bộ nhớ RAM hay chưa. Khi có một trang mới của tiến trình được nạp văo bộ nhớ hoặc khi có một trang của tiến trình bị đưa ra lại đĩa thì hệ thống phải thực hiện việc cập nhật lại PCT.
Khi có yíu cầu nạp một trang tiến trình mới văo bộ nhớ nhưng trín bộ nhớ không còn trang trống thì CPU cùng với hệ điều hănh sẽ tìm một trang tiến trình năo đó không thực sự cần thiết tại thời điểm hiện tại, thường lă trang ít được sử dụng gần đđy nhất, để đưa ra đĩa (swap out), để lấy khung trang trống đó nạp trang tiến trình vừa yíu cầu, trang tiến trình bị đưa ra đĩa năy sẽ được CPU vă hệ điều hănh nạp văo lại bộ nhớ (swap in) tại một thời điểm thích hợp sau năy. Câc trang bị swap out thường được chứa trong một tập tin năo đó trín đĩa cứng, vă được gọi lă câc tập tin swap. Trong windows95 câc tập tin swap không bị giới hạn kích thước. Khi người sử dụng khởi động một ứng dụng thì windows95 sẽ khởi tạo một tập tin swap có kích thước ban đầu bằng kích thước của ứng dụng để sẵn săng chứa câc trang của ứng dụng khi câc trang năy bị CPU swap out ra đĩa.
Windows95 thiết kế câc tập tin swap theo kiểu động, tức lă kích thước của nó có thể thay đổi tuỳ theo số trang mă nó chứa. Nếu có nhiều trang bị swap out thì kích thước của nó tăng lín, nếu câc trang trong nó được swap in văo lại bộ nhớ RAM thì kích thước của nó sẽ tự động giảm xuống.
I.6. Hệ điều hănh Windows 2000
I.6.1. Giới thiệu về hệ điều hănh Windows 2000
Windows 2000 được thiết kế để chạy trín câc kiến trúc phần cứng khâc nhau như: Câc hệ thống dựa trín nền Intel CISC vă RISC, Alpha AXP, Motorola PowerPC, .... Nó được viết bởi C vă C++, ngôn ngữ assembly chỉ được sử dụng để viết câc thănh phần giao tiếp trực tiếp với phần cứng, mê ngôn ngữ assembly không chỉ tồn tại trong kernel vă HAL mă nó còn tồn tại trong phần kernel mode của hệ thống con Win32, vă trong một văi thư viện của user mode.
Windows 2000 lă hệ điều hănh đa xử lý (multiprocess) 32 bít, được xđy dựng để quản lý câc hệ thống mạng mây tính, nó hỗ trợ cả 2 mô hình mạng: client/server
(server-based) vă peer-to-peer.
Windows 2000 được xđy dựng dựa trín Windows NT 4.0, nó cung cấp nhiều công cụ tốt hơn để quản lý Internet vă câc dịch vụ trín Internet.
Windows 2000 lă một họ gồm có 4 sản phẩm, một cho client vă ba cho server: Client: Windows 2000 Professional; Server: Windows 2000 Server, Windows 2000 Advanced Server, Windows 2000 datacenter Server
Câc sản phẩm trín khâc nhau ở câc điểm sau:
• Số câc processor được hỗ trợ.
• Số lượng bộ nhớ vật lý được hỗ trợ.
• Số câc kết nối mạng hiện tại được hỗ trợ.
• Câc dịch vụ có trong câc sản phẩm server không có trong sản phẩm client.
Câc file chính của Windows 2000 bao gồm:
• Ntoskrnl.exe: Thănh phần Executive vă Kernel của hệ điều hănh.
• Ntkrnlpa.exe: Thănh phần Executive vă Kernel với sự hỗ trợ để mở rộng bộ nhớ vật lý, nó cho phĩp địa chỉ hoâ bộ nhớ vật lý lín đến 64GB.
• Hal.dll: Lớp phần cứng trừu tượng.
• Win32k.sys: Bộ phận kernel mode của hệ thống con Win32.
• Ntdll.dll: Hỗ trợ sự điều phối để thực hiện câc hăm.
• Kernel32.dll, Advapi32.dll, User32.dll, Gdi32.dll: Câc file chính của hệ thống con Win32 DLLs.