Quy hoạch bộ nhớ trong Windows

Quy hoạch bộ nhớ trong Windows là hình thức để người sử dụng và hệ điều hành Windows quy hoạch để quản lý sử dụng đồng thời nhiều loại bộ nhớ.
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.
Các dạng bộ nhớ và thiết bị lưu trữ.
Bộ nhớ trong công nghệ máy tính là từ dùng cho các thiết bị có khả năng lưu trữ dữ liệu khi được cung cấp năng lượng hoặc khi ngừng cung cấp năng lượng cho chúng. Tuỳ theo từng dạng lưu trữ dữ liệu phụ thuộc vào năng lượng cung cấp cho thiết bị mà có thể chia ra theo các thể loại:
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.
Các vùng bộ nhớ ảo không mặc định.
Các vùng bộ nhớ ảo không mặc định là các vùng bộ nhớ, đường dẫn không phải do hệ điều hành Windows tạo ra trong quá trình cài đặt hoặc hoạt động, chúng hoàn toàn do người sử dụng tạo ra hoặc dùng một phần mềm của hãng thứ ba để thực hiện. Vùng bộ nhớ ảo thường dùng mở rộng thông số kỹ thuật mà các thiết bị thực không đáp ứng được hoặc không tối ưu so với các vùng bộ nhớ ảo tạo ra.
Gán ký tự các loại bộ nhớ hiện hữu.
Các bộ nhớ sử dụng trong Windows có thể đồng thời cùng hoạt động ở các phương thức khác nhau, phần bộ nhớ mà người sử dụng có thể can thiệp được từ các thiết bị nhập dữ liệu (bàn phím, chuột…) Windows sẽ gán cho chúng một ký tự để thuận tiện cho việc phân biệt, và sử dụng. (Lưu ý: Gán ký tự các bộ nhớ là một khái niệm khác với địa chỉ bộ nhớ)
Ký tự để gán được sử dụng các chữ cái viết hoa theo bảng chữ cái tiếng Anh, bắt đầu sử dụng từ chữ A trở đi và có thể được đặt đến ký tự cuối cùng trong bảng là Z. Không thể đổi các ký tự này sang các chữ cái của ngôn ngữ khác (chẳng hạn chữ Đ trong tiến Việt)
Mỗi vùng, loại bộ nhớ chỉ sử dụng duy nhất một ký tự đứng riêng lẻ.
Để ký hiệu các cách gán ký tự, hệ điều hành họ Windows quy ước như sau:
Việc gán ký tự cho các loại, dạng bộ nhớ chỉ có giá trị đối với từng hệ điều hành được cài đặt trên máy tính. Khi có nhiều hệ điều hành cùng cài đặt trên một máy tính thì các phần vùng bộ nhớ được gán với các tên khác nhau đối với riêng từng hệ điều hành. Chẳng hạn một phân vùng của ổ đĩa cứng có thể được gán ký tự D ở hệ điều hành này lại được gán ký tự C, E, F… ở hệ điều hành khác.
Thời điểm xuất hiện của các ký tự ảnh hưởng đến ký tự được gán. Nếu như một máy tính được gắn đồng thời hai đĩa cứng vật lý, hệ điều hành họ NT sẽ gán hai phân vùng đầu tiên trước lần lượt là C, D rồi lần lượt đến các phân vùng thứ hai, ba…của từng ổ đĩa. Nếu như sau quá trình cài đặt, người sử dụng mới gắn thêm một ổ đĩa cứng nữa thì các phân vùng sẽ gán nối tiếp theo sau ổ đĩa cuối cùng (sau cả ổ quang, do đó không thuận tiện với thói quen rằng các ổ đĩa quang thì được gắn các ký tự cuối cùng.
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.
Ký tự gán cho các dạng bộ nhớ còn lại.
Tất cả các dạng lưu trữ dữ liệu còn lại ngoài ổ mềm đều sử dụng ký tự bắt đầu từ chữ cái C trở đi lần lượt cho đến chữ Z. Phần dưới đây trình bày việc gán ký tự các loại bộ nhớ do hệ điều hành Windows tự động thực hiện ngay trong quá trình cài đặt hệ điều hành và lần khởi động đầu tiên sau khi cài đặt.
Thứ tự ưu tiên của việc gán bao gồm:
Các phân vùng "(partition)" của ổ đĩa cứng:
Các ổ đĩa quang:
Các dạng bộ nhớ còn lại :
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").