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:

;Phân chia theo năng lượng cung cấp:
* Nhóm bộ nhớ chỉ lưu trữ dữ liệu khi được cung cấp năng lượng. Nhóm này gồm: RAM, cache trong bộ xử lý…
* Nhóm bộ nhớ lưu trữ dữ liệu ngay cả khi ngừng cung cấp năng lượng. Nhóm này bao gồm: Các loại ổ đĩa (vật lý), ROM, …

;Phân chia theo hình thức sử dụng của Windows:
* Bộ nhớ chính: RAM
* Bộ nhớ lưu trữ cố định: Ổ đĩa cứng
* Bộ nhớ lưu trữ di động: Ổ đĩa mềm, ổ đĩa quang, ổ USB flash

### 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 [[Môi trường phát triển tích hợp|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.

;Phân vùng đĩa cứng ảo
:Tạo phân vùng ảo giống như các phân vùng trên ổ đĩa cứng mà có thể gán một ký tự lên nó (tạo ra một đường dẫn có thực) là một phương thức hữu hiệu cho một số công việc cần đến một phân vùng lý tưởng (có tốc độ đọc và ghi nhanh). Chúng có thể cần thiết và hiệu quả đối với một số ứng dụng cần đến đọc và ghi dữ liệu nhanh, chẳng hạn nơi chứa dữ liệu tạm thời cho các trình duyệt lướt web.
:Các phân vùng ảo được lấy một phần dung lượng của RAM do đó chúng có tốc đọc và ghi nhanh tương đương tốc độ của loại RAM trong hệ thống.

;Ổ đĩa quang ảo
:Ổ đĩa quang ảo là hình thức tạo ra một ổ đĩa quang không có thật mà hệ điều hành hoặc các phần mềm có thể coi chúng là một ổ đĩa quang vật lý thực sự. Do tốc độ làm việc của ổ đĩa cứng làm việc nhanh hơn so với các ổ đĩa quang, do đó nếu một phần mềm làm việc cần đến ổ đĩa quang để đọc dữ liệu (chẳng hạn một số game chỉ chạy khi có đĩa CD/DVD nằm trong ổ) nên người sử dụng đã tạo ra hoặc thông qua phần mềm của hãng thứ ba để tạo ra một ổ đĩa quang ảo mà các dữ liệu trong "đĩa quang" đó lại nằm trên ổ đĩa cứng.

## 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:
:Tên ký tự gán cho phân vùng, hoặc ổ đĩa + dấu hai chấm (:) + ký tự gạch chéo (\)
:Ví dụ:
::A:\ *ổ đĩa mềm được gán là A*
::C:\ *ổ đĩa khác (thường là ổ đĩa cứng), được gán là C.*

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 gán bắt đầu bằng chữ C trở đi cho đến hết các phân vùng có thể nhận biết được trong một hệ điều hành họ Windows. Điều này có nghĩa là một phân vùng được thiết lập ẩn hoặc có định dạng mà hệ điều hành không nhận biết được thì sẽ không được gán ký tự. Ví dụ: Trong hệ điều hành Windows 9X *(9X là viết tắt của các hệ điều hành: [[Windows 95]] các phiên bản, [[Windows 98]] các phiên bản và [[Windows Me]])* không thể sử dụng được các phân vùng định dạng NTFS chỉ phù hợp với hệ điều hành họ NT (NT/2000/XP/Vista) nên chúng sẽ không gán cho các phân vùng này.

**Các [[ổ đĩa quang]]**:
:Các ổ đĩa quang được tự động gán ký tự tiếp theo sau các phân vùng của ổ đĩa cứng đã được gán tên.

**Các dạng bộ nhớ còn lại **:
:Các dạng bộ nhớ còn lại bao gồm: Ổ đĩa gắn ngoài, ổ USB flash, các đầu đọc thẻ nhớ, các thiết bị ngoại vi khác cần truy xuất dữ liệu thông qua hệ điều hành Windows (máy ảnh số, camera, digital cam…). Đây là các dạng bộ nhớ không thường xuyên được kết nối với hệ điều hành
:Tất cả các dạng bộ nhớ này không có một quy ước nào đặc biệt, chúng lần lượt được hệ điều hành Windows gán các ký tự tiếp theo. Việc gán các ký tự cho các loại ổ đĩa này không được cố định, nếu cùng được xuất hiện trong một thời điểm thì các ký tự này được gán theo thứ tự tiếp theo nhau theo bảng chữ cá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*).

## Tham khảo
* **Help and Support** - có sẵn trong các hệ điều hành Microsoft Windows 

## Xem thêm
*Hệ điều hành
*Windows
*Ổ đĩa cứng

## Tham khảo