25/4/08

Quy hoạch bộ nhớ trong Windows

Hệ điều hành Windows sẽ đặt tên các ký tự cho các loại ổ đĩa luận lý như thế nào? (chẳng hạn ta thường gọi là ổ C, ổ D...). Có thể thay đổi các ký tự được gán đó cho trùng nhau khi cài đồng thời vài hệ điều hành Windows trên một máy tính hay không. Cộng thêm một thủ thuật nữa cho việc tối ưu tập tin hoán đổi...là những gì có ở bài viết này.

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, 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ó.

Tiến trình CPU xử lý với dữ liệu như sau:

  1. Tìm kiếm dữ liệu trong 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). Cache có thể gồm nhiều cấp độ: mức L1, L2 và L3.
  2. Nếu cache không có dữ liệu cần thiết, CPU sẽ tìm đến bộ nhớ chính (RAM) gắn trên bo mạch chủ.
  3. 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 ổ 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 nhất 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 nhất. Thông thường bộ nhớ chính sẽ được nạp toàn bộ dữ liệu mà được dự đoán rằng sẽ được sử dụng trong phiên làm việc đó.

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 vật lý lớn đến một tới hạn nhất định thì hệ điều hành 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 (tuy nhiên để cài được HĐH 64bit cần đến các CPU hỗ trợ 64bit).

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).

Bản chất hoạt động của một tiến trình cần sử dụng đến bộ nhớ hoán đổi như sau:

  1. Hệ điều hành cần chuẩn bị một lượng bộ nhớ để thực thi một phần mềm mới được kích hoạt. Chúng kiểm tra lượng bộ nhớ còn sẵn sàng trong RAM xem có đủ không. Nếu đủ, chúng bắt đầu làm việc bình thường.
  2. Nếu thấy RAM không còn đủ lượng bộ nhớ cần thiết, hệ điều hành sẽ chuyển một phần dữ liệu đang được lưu trữ trên RAM vào tập tin hoán đổi được đặt trên đĩa cứng hoặc các loại thiết bị lưu trữ dữ liệu khác. 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)
  3. 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 ổ 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).

Đâ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. Những lời quảng cáo này hiệu quả đến nỗi rất nhiều người đã tin tưởng vào nó như một phần mềm thần diệu giúp cho hệ thống của họ - nhất là các hệ thống máy tính có một lượng RAM thấp.

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 (cũng có phần mềm không lỗi, mà do những người lập trình đã không chú ý giải phóng lượng bộ nhớ chiếm dụng sau khi đã thực thi xong). 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, điều đó khiến cho việc thực thi các ứng dụng cũ bị chậm đi so với trước đó.

Thủ thuật: Nếu như một hệ thống có hai ổ 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 ổ 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. Cụ thể hơn: Nếu hệ điều hành hiện tại đang sử dụng ổ cứng thứ nhất, thì bạn đặt tập tin hoán đổi lên ổ cứng thứ hai (và ngược lại).

Việc chuyển đổi tập tin hoán đổi này thực hiện như sau: Ở Windows XP, vào System Properties -> Advanced ->Performance Options->Advanced->Change, ở đây chọn vào phân vùng ở ổ đĩa cứng thứ hai, thiết đặt tham số dung lượng thấp nhất và cao nhất của pagefile.sys. Khởi động lại hệ thống, rồi vào lại như bước trên để bỏ qua tập tin pagefile.sys ở phân vùng cài đặt hệ điều hành đi là tập tin hoán đổi đã được chuyển sang phân vùng mới (thực chất có thể thực hiện việc bỏ qua từ lần đầu tiên, nhưng thực hiện ở sau lần khởi động lại để đảm bảo ổn định).

Lưu ý rằng không được áp dụng thủ thuật này cho các hệ thống chỉ có một ổ cứng duy nhất, bởi chuyển tập tin sang một phân vùng khác với phân vùng cài đặt hệ điều hành sẽ khiến cho kim từ của ổ cứng phải di chuyển các đoạn xa hơn khi vừa đọc dữ liệu, vừa thực hiện hoán đổi ở tập tin này.

Chế độ "ngủ đông"

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 dữ liệu chứa trên RAM trong thời điểm đó sẽ được ghi lại thành một tập tin trên ổ 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).

Sau khi "thức dậy" trong chế độ ngủ đông, hệ điều hành sẽ đọc tập tin hibernate để nạp ngược trở lại RAM, và hệ thống sẽ có thể khởi động một cách nhanh nhất, nếu tính thời gian so với việc tắt máy và khởi động hệ thống thông thường thì việc đưa máy tính vào chế độ ngủ đông, sau một thời gian, bật trở lại sẽ nhanh hơn.

Nhưng việc ngủ đông này không nên được lạm dụng liên tục. Trong quá trình làm việc, nếu như các phần mềm bắt đầu chiếm dụng bộ nhớ quá nhiều, những lỗi hệ thống không được loại bỏ...hoặc khi bạn cài đặt một phần cứng mới, thì nhất thiết hệ thống phải được khởi động lại để sang một chế độ thiết lập mới.

Hành động “ngủ đông” của hệ điều hành hoàn toàn khác so với các chế độ 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 ổ 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ừ ổ 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 ổ 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 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 ổ cứng làm việc nhanh hơn so với sự đáp ứng dữ liệu khi đọc đĩa từ các ổ đĩa quang (CD-ROM, DVD...), nên nếu giả lập một đĩa quang với dữ liệu trên đĩa cứng sẽ có thuật lợi hơn với các ứng dụng cần thiết.

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 (ghi/đọc/xoá) đượ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 nguôn ngữ khác (chẳng hạn chữ "Đ" trong tiếng 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ẻ (tức là chúng không thể có loại phân vùng được gán ký tự AB hay đại loại như thế). Nhưng tên của

Để 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à ổ 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 ổ 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 ổ 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 như sau:

Các phân vùng (partition) củ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 tự động gán ký tự tiếp theo sau các phân vùng của ổ cứng đã được gán tên.

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 ổ 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 - mục hỗ trợ của các hệ điều hành Windows

Trương Mạnh An (2008)

Không có nhận xét nào :

Đăng nhận xét

Hoan nghênh bạn chia sẻ/góp ý/phản hồi để bài viết được phổ biến hoặc hoàn thiện hơn!
- Nếu bạn thấy thích bài viết và muốn chia sẻ tới mọi người, xin vui lòng bấm nút "Like" và các nút chia sẻ tương ứng.
- Nếu bạn không có các tài khoản Blogger/WordPress... để phản hồi/bình luận bạn có thể chọn trong "Nhận xét với tư cách" phần "Ẩn danh" (Anonymous).
- Blog còn có các bài viết khác mà có thể bạn sẽ quan tâm, được liệt kê tại Mục lục.