Quy hoạch bộ nhớ trong Windows

Sử dụng bộ nhớ trong hệ điều hành

Bộ xử lý trung tâm (CPU) là thiết bị xử lý chung cho các tác vụ của một máy tính (xem thêm CPU), trong quá trình làm việc của CPU luôn cần xử lý với dữ liệu, nói một cách đơn giản hơn thì CPU làm việc với các dữ liệu và lệnh đưa vào để biến chúng thành kết quả một cách trực tiếp hoặc thông qua các thiết bị khác hỗ trợ cùng xử lý với nó.

Trong quá trình xử lý với dữ liệu, quy trình sử dụng dữ liệu bắt đầu từ chính bộ nhớ đệm (cache) gần nó nhất (cache có thể nằm trong CPU ngày nay, nằm gần nó với các CPU gắn trên thẻ cắm một hàng slot 1 hoặc trên bo mạch chủ trong các thời gian trước đây). Nếu cache không có dữ liệu cần thiết, CPU sẽ tìm đến bộ nhớ chính (RAM). Nếu vẫn chưa thấy, chúng tìm trên các bộ nhớ chậm hơn như trên ổ đĩa cứng và các thiết bị nhớ còn lại.
CPU làm việc hoàn toàn theo sự quản lý của hệ điều hành, do đó việc tìm kiếm và xử lý trên phụ thuộc vào hệ điều hành. Hệ điều hành có thể quy hoạch bộ nhớ cho hệ thống sao cho mọi quá trình làm việc của CPU là tối ưu cho đến thời điểm ra đời của hệ điều hành và năng lực, tập lệnh của CPU.

Sử dụng bộ nhớ chính

Bộ nhớ chính (RAM) là nơi hệ điều hành sử dụng cho toàn bộ các quá trình chuẩn bị dữ liệu cho CPU sử dụng nhằm đảm bảo cho hệ thống làm việc một cách nhanh và tối ưu. Thông thường bộ nhớ chính sẽ được nạp toàn bộ dữ liệu mà được dự đoán.

Tuỳ theo dung lượng bộ nhớ chính hiện có mà hệ điều hành có thể thực hiện việc lưu dữ liệu lên chúng ở mức độ nào. Mọi hệ điều hành đều có một yêu cầu tối thiểu về kích thước của bộ nhớ chính mà nếu như không đạt thông số này thì hoặc hệ điều hành không thể làm việc được, hoặc là chúng hoạt động rất chậm và thường xuyên xảy ra lỗi.
Tuy nhiên, nếu như dung lượng RAM quá lớn thì hệ điều hành có thể không quản lý được chúng, chẳng hạn các hệ điều hành Windows phiên bản thông dụng (32 bit) chỉ hỗ trợ giới hạn dưới 3 GB dung lượng bộ nhớ chính. Điều này liên quan đến việc cấp phát các địa chỉ bộ nhớ giới hạn trong 32 bit, các hệ điều hành Windows phiên bản 64 bit hoàn toàn khắc phục được giới hạn này nếu bạn dùng tới 4 GB dung lượng RAM trở lên.

Sử dụng bộ nhớ hoán đổi

Sử dụng bộ nhớ hoán đổi là hình thức hệ điều hành sử dụng các bộ nhớ chậm hơn thay cho bộ nhớ chính.
Hệ điều hành Windows sẽ sử dụng các dạng bộ nhớ còn lại để chứa một phần dữ liệu của bộ nhớ chính lên nó dưới dạng tập tin (file) gọi là tập tin hoán đổi (swap file). Theo mặc định tập tin này sẽ được đặt cùng phân vùng với hệ điều hành. Ở Windows 9X tập tin này có tên: win386.swp (trong thư mục WINDOWS), ở họ windows NT nó có tên pagefile.sys (nằm trên phân vùng cài đặt hệ điều hành, không nằm trong thư mục Windows giống như họ Win9X).
Nếu một tác vụ bất kỳ cần đến một lượng bộ nhớ trống (để cho chúng làm việc) lớn hơn so với lượng bộ nhớ trống còn lại, hệ điều hành sẽ chuyển một phần dữ liệu trên RAM vào tập tin hoán đổi. Những dữ liệu được chuyển sang tập tin hoán đổi thường là các dữ liệu ít được CPU sử dụng hơn trong RAM (hoặc vẫn thuộc dạng nạp sẵn mà chưa sử dụng đến). Nếu như tác vụ đang thực hiện đó cần đến dữ liệu đã được chuyển sang tập tin hoán đổi thì hệ điều hành lại đọc dữ liệu từ tập tin này. Như vậy cho thấy rằng nếu như hệ thống có một lượng RAM nhỏ thì có những thời điểm hoạt động rất chậm, hệ thống truy xuất dữ liệu tại ổ đĩa cứng liên tục (thể hiện qua đèn báo truyền dữ liệu qua IDE trên thùng máy nhấp nháy liên tục).

Nếu như một hệ thống có hai ổ đĩa cứng vật lý trở lên, có thể di chuyển tập tin hoán đổi sang một phân vùng của ổ đĩa cứng còn lại (không cài hệ điều hành) để tối ưu hơn bởi khi này hệ điều hành có thể đồng thời truy xuất các dữ liệu khác trong các thư mục chứa phần mềm và hệ điều hành, đồng thời đọc/ghi trên tập tin hoán đổi.

Đây cũng là một nguyên lý để các phần mềm có công dụng như "giải phóng bộ nhớ hệ thống" đã làm. Đơn giản là phần mềm đó đã yêu cầu một lượng bộ nhớ RAM rất lớn (đến theo mức thiết đặt của người sử dụng) để hệ điều hành dồn các dữ liệu chưa sử dụng vào tập tin hoán đổi. Sau đó phần mềm này giải phóng toàn bộ bộ nhớ đã yêu cầu, và khi này lượng bộ nhớ vật lý trống tăng lên. Thực chất thì việc này cũng làm tăng đôi chút hiệu năng và giúp cho hệ điều hành không nạp một số phần dữ liệu sẽ không sử dụng, các phần dữ liệu của các phần mềm khác sau khi bị lỗi vẫn tồn tại. Nếu như sau khi thực hiện mà người sử dụng lại bắt đầu sử dụng các phần mềm trước đó đã dùng thì hệ điều hành lại đọc chúng từ tập tin hoán đổi để nạp ngược lại chúng vào RAM.
Hệ điều hành Windows họ NT (đại diện 9X chỉ có duy nhất trên Windows Me) còn sử dụng một dạng hoán đổi khác ở chế độ "ngủ đông" (hibernate). Trước khi chuyển sang chế độ ngủ đông, toàn bộ nội dung của RAM trong thời điểm đó sẽ được ghi lại thành một tập tin trên ổ đĩa cứng có tên hiberfil.sys và có dung lượng đúng bằng dung lượng của RAM hệ thống. Tập tin này không có chức năng như tập tin pagefile.sys, có nghĩa là nếu không cần sử dụng chế độ "ngủ đông" thì bạn có thể tắt chức năng này (trong Power Option trong Control Panel, vào tab Hibernate và bỏ chọn ở ô Enable Hibernate) để xoá tập tin này (chú ý chúng là tập tin ẩn) để tiết kiệm dung lượng bộ nhớ (một số hệ điều hành tự xoá chúng sau khi không kích hoạt chức năng này).

Hành động "ngủ đông" của hệ điều hành hoàn toàn khác so với các chế độ stand by. Trang thái này ghi lại toàn bộ quá trình làm việc hiện tại của hệ điều hành lên ổ đĩa cứng, sau đó người sử dụng có thể tắt máy, rút điện. Khi phục hồi lại trạng thái trước khi ngủ đông, hệ điều hành lại nạp ngược lại từ ổ đĩa cứng vào RAM. Do đó hành động "ngủ đông" không phù hợp nếu như bạn mới lắp thêm một thiết bị phần cứng mới hoặc cài đặt phần mềm mà cần thiết phải khởi động lại hệ thống để thiết lập chế độ làm việc mới.

Ký tự gán cho ổ đĩa mềm

Hệ điều hành Windows các phiên bản (và MS-DOS) đều dành riêng hai ký tự để gán cho ổ đĩa mềm là A và B. Điều này có nghĩa là cho dù không có đĩa mềm nào thì các dạng bộ nhớ còn lại không được gán các ký tự này.

Thay đổi các ký tự đã được gán

Mặc dù Windows tự động gán các ký tự bộ nhớ nhưng trong một số phiên bản của hệ điều hành Windows có thể cho phép người sử dụng đổi tên các ký tự được gán cho các vùng bộ nhớ. Ví dụ trong Windows XP, người sử dụng có thể quy hoạch lại cách gán ký tự bằng tiện ích Disk Management của Windows họ NT. Việc quy hoạch lại thường là giúp cho các phân vùng không bị đổi tên trong các lần cài đặt hệ điều hành hoặc giúp đồng nhất ký tự được gán ở các hệ điều hành khác nhau được cài đặt cùng trên một máy tính. Khi này tất cả các shortcut sẽ được đồng nhất và sử dụng được trên đồng thời các hệ điều hành mà không gặp lỗi.
Tuy nhiên, việc thay đổi các ký tự được gán cho các phân vùng của ổ đĩa cứng lại không thực hiện tại một số phân vùng có liên quan đến hệ điều hành: Chẳng hạn đối với chính phân vùng cài đặt hệ điều hành sẽ không đổi được ký tự, phân vùng chứa các tập tin khởi động hệ điều hành và phân vùng chứa tập tin swap. Thông thường thì với việc cài đặt theo mặc định (không lựa chọn lại so với đề nghị của hệ điều hành) hoặc trên một máy tính chỉ cài đặt duy nhất một hệ điều hành thì các phân vùng như trên sẽ chứa đầy đủ: Các tập tin phục vụ khởi động, tập tin hoán đổi bộ nhớ, và hệ điều hành sẽ cùng nằm tại một phân vùng đầu tiên và được gán tên là C.
Việc tiến hành thay đổi ký tự gán có thể thực hiện trong Disk Management khi nhấp chuột phải vào phân vùng cần đổi ký tự và chọn vào mục "Change Drive Letter an Patths…". Bạn có thể thay đổi thành tên của bất kỳ một ký tự nào chưa được sử dụng (trừ A, B) hoặc có thể bỏ tên ký tự của chúng (khi này phân vùng sẽ trở thành ẩn với hệ thống – nhưng đừng nên lạm dụng điều này bởi có thể thực hiện điều đó thông qua một phương thức khác đơn giản hơn và không làm mất một phân vùng trong hệ điều hành - chẳng hạn có thể dùng TeawkUI).