Có phải bạn vẫn đang cảm thấy xa lạ với khái niệm bộ nhớ ảo? Trong bài viết này, chúng tôi sẽ giải thích ngắn gọn nó là gì và cách nó hoạt động như thế nào.
Bộ nhớ ảo là gì?
Bộ nhớ ảo là một vùng thuộc không gian lưu trữ của bộ nhớ phụ hệ thống máy tính (chẳng hạn như ổ cứng HDD hoặc SSD). Nó hoạt động như thể là một phần của RAM hoặc bộ nhớ chính hệ thống.
Lý tưởng nhất là khi dữ liệu cần thiết để chạy các ứng dụng được lưu trữ trong RAM, nơi mà chúng có thể được CPU truy cập nhanh chóng. Nhưng khi chạy các ứng dụng nặng, hoặc khi chạy nhiều ứng dụng cùng một lúc, RAM của hệ thống có thể bị đầy.
Để khắc phục sự cố này, một số dữ liệu lưu trữ trong RAM không được sử dụng tích cực có thể được tạm thời chuyển sang bộ nhớ ảo (nằm trên ổ cứng hoặc thiết bị lưu trữ khác). Điều này giúp giải phóng không gian trong RAM, sau đó có thể được sử dụng để chứa dữ liệu mà hệ thống cần truy cập sắp xảy ra.
Bằng cách hoán đổi dữ liệu giữa RAM và bộ nhớ ảo khi không cần thiết, và trở lại từ bộ nhớ ảo sang RAM khi cần, hệ thống có thể tiếp tục hoạt động trơn tru với lượng RAM vật lý ít hơn nhiều so với yêu cầu khác.
Bộ nhớ ảo cho phép hệ thống chạy các ứng dụng lớn hơn hoặc chạy nhiều ứng dụng hơn cùng lúc mà không bị hết RAM. Cụ thể, hệ thống có thể hoạt động như thể tổng tài nguyên RAM của nó bằng: dung lượng RAM vật lý + dung lượng RAM ảo.
Tại sao cần có Bộ nhớ ảo?
Đơn giản vì RAM vật lý rất đắt đỏ nên bộ nhớ ảo được phát triển, mỗi GB trên RAM đắt hơn nhiều so với các phương tiện lưu trữ như ổ cứng HDD và SSD. Vì lý do đó, sử dụng kết hợp RAM vật lý và bộ nhớ ảo sẽ ít tốn kém hơn nhiều so với việc trang bị hệ thống RAM máy tính nhiều hơn.
Nhờ việc sử dụng bộ nhớ ảo (hoặc tăng bộ nhớ ảo) không bị phát sinh thêm chi phí (vì sử dụng không gian lưu trữ hiện có), nó cung cấp một cách để máy tính sử dụng nhiều bộ nhớ hơn so với khả năng thực tế trên hệ thống.
Mặt khác, tất cả các hệ thống máy tính đều có giới hạn về dung lượng RAM vật lý có thể được lắp đặt (do phần cứng và phần mềm quy định), sử dụng bộ nhớ ảo cho phép hệ thống tiếp tục hoạt động vượt quá giới hạn RAM vật lý đó. Đây thực sự là một lợi ích rất đáng nói của bộ nhớ ảo.
So sánh Bộ nhớ ảo và Bộ nhớ vật lý
Như chúng tôi vừa trình bày ở trên, RAM đắt tiền hơn bộ nhớ ảo, vậy nếu trên lý thuyết thì máy tính nên được trang bị càng ít RAM và càng nhiều bộ nhớ ảo càng tốt. Nhưng trên thực tế, đặc điểm của bộ nhớ ảo khác với bộ nhớ vật lý. Và sự khác biệt chính giữa chúng là RAM có tốc độ nhanh hơn rất nhiều so với bộ nhớ ảo.
Vì vậy, hệ thống có 2GB RAM vật lý + 2GB bộ nhớ ảo chắc chắn sẽ không mang lại hiệu suất như hệ thống tương tự có 4GB RAM vật lý. Để hiểu rõ hơn là tại sao, hãy đi tới phần tìm hiểu cách thức hoạt động của bộ nhớ ảo.
Bộ nhớ ảo hoạt động như thế nào?
Khi một ứng dụng (bao gồm cả hệ điều hành) đang chạy, nó sẽ lưu trữ vị trí của các luồng chương trình và các dữ liệu khác tại một địa chỉ ảo, trong khi dữ liệu thực sự được lưu trữ tại một địa chỉ vật lý trong RAM. Nếu tiếp theo, dung lượng RAM đó cần gấp hơn bởi một tiến trình khác, thì dữ liệu có thể được hoán đổi khỏi RAM và đi vào bộ nhớ ảo.
Trách nhiệm theo dõi tất cả dữ liệu này khi chúng được hoán đổi giữa bộ nhớ vật lý và bộ nhớ ảo thuộc về trình quản lý bộ nhớ của máy tính. Trình quản lý bộ nhớ duy trì một bảng ánh xạ các địa chỉ ảo được sử dụng bởi hệ điều hành và các ứng dụng tới các địa chỉ thực mà dữ liệu thực sự được lưu trữ. Khi dữ liệu được hoán đổi giữa RAM và bộ nhớ ảo, bảng sẽ được cập nhật để một địa chỉ ảo nhất định luôn trỏ đến vị trí thực tế chính xác.
Máy tính chỉ có thể chạy các luồng và thao tác với dữ liệu được lưu trữ trong RAM chứ không phải bộ nhớ ảo. Và phải mất một khoảng thời gian không đáng kể để hoán đổi dữ liệu cần thiết vào RAM. Do đó, việc sử dụng bộ nhớ ảo sẽ ảnh hưởng đến hiệu suất.
Hoán đổi làm hiệu suất bị ảnh hưởng, hệ thống có 4GB RAM sẽ mang lại hiệu suất cao hơn hệ thống có 2GB RAM và 2GB bộ nhớ ảo. Vì lý do đó, người ta nói rằng bộ nhớ ảo chậm hơn RAM.
Thêm một vấn đề tiềm ẩn với bộ nhớ ảo, là nếu dung lượng RAM hiện tại quá nhỏ so với dung lượng bộ nhớ ảo thì hệ thống có thể dành một phần lớn tài nguyên CPU để trao đổi dữ liệu qua lại. Để ngăn chặn sự cố đó, thông thường cần phải giảm số lượng ứng dụng đang chạy đồng thời, hoặc đơn giản là tăng dung lượng RAM trong hệ thống.
Các hệ điều hành, như hầu hết các phiên bản Windows, thường khuyến nghị người dùng không tăng bộ nhớ ảo vượt quá 1,5 lần dung lượng RAM vật lý hiện có. Vì vậy, một hệ thống có RAM 4GB nên có bộ nhớ ảo không vượt quá 6GB.
Để giảm thiểu ảnh hưởng đến hiệu suất do hoán đổi giữa bộ nhớ vật lý và bộ nhớ ảo, cách tốt nhất là sử dụng thiết bị lưu trữ nhanh nhất được kết nối với hệ thống, nhằm để lưu trữ bộ nhớ ảo và định vị vùng lưu trữ bộ nhớ ảo trên phân vùng của chính nó.
Hướng dẫn cách tăng Bộ nhớ ảo trong Hệ thống
Hầu hết các hệ điều hành đều cho phép người dùng tăng bộ nhớ ảo từ một trang cấu hình.
- Trong Windows, người dùng cũng có thể cho phép hệ thống quản lý động lượng bộ nhớ ảo được cung cấp.
- Tương tự, trong macOS, người dùng có thể sử dụng bảng tùy chọn để phân bổ bộ nhớ ảo.
Ưu điểm và Nhược điểm của Bộ nhớ ảo
Mặc dù với công nghệ ngày càng phát triển, RAM hiện nay đã tương đối rẻ so với giá thành tại thời điểm bộ nhớ ảo lần đầu tiên được phát triển, nhưng bộ nhớ ảo vẫn cực kỳ hữu ích và nó vẫn được sử dụng trong nhiều, hay có lẽ là hầu hết các hệ thống máy tính.
Ưu điểm của Bộ nhớ ảo
- Cho phép nhiều ứng dụng hơn chạy cùng lúc.
- Cho phép chạy các ứng dụng lớn hơn trong các hệ thống không có đủ RAM vật lý để chạy chúng.
- Cung cấp cách tăng bộ nhớ ít tốn kém hơn so với việc mua thêm RAM vật lý.
- Cung cấp cách tăng bộ nhớ trong một hệ thống có mức dung lượng RAM tối đa mà phần cứng và hệ điều hành có thể hỗ trợ.
Nhược điểm của Bộ nhớ ảo
- Không mang lại được hiệu suất tương tự như RAM vật lý.
- Có thể ảnh hưởng tiêu cực đến hiệu suất tổng thể của một hệ thống.
- Chiếm một phần dung lượng lưu trữ, mà vốn được sử dụng để lưu trữ dữ liệu lâu dài.
Lời cuối cùng trước khi kết thúc bài viết, nếu bạn có bất kỳ thắc mắc hay góp ý về nội dung chúng tôi đã đề cập trong “Bộ nhớ ảo là gì? Đánh giá ưu và nhược điểm của Bộ nhớ ảo“, hãy chia sẻ ý kiến của bạn bằng khung bình luận bên dưới nhé.
Chúc bạn một ngày tốt lành !!!
1 comment
Vẫn chưa hiểu lắm về nguyên lí hoạt động của bộ nhớ ảo!