Sự khác biệt giữa bộ nhớ ảo và bộ nhớ cache

Trong thế giới của máy tính, bộ nhớ đặt giới hạn mà chúng ta căn cứ nếu chúng ta có thể chạy chương trình đó hay không. Nếu bạn không may mắn có kinh nghiệm về DOS, thì bạn sẽ biết nguyên nhân của giới hạn bộ nhớ 640k. Ngày nay, bộ nhớ dường như gần như vô hạn và thực tế không ai nhận được thông điệp 'không đủ bộ nhớ' của năm. Làm thế nào mà họ hoàn thành nó?

Câu trả lời cho điều đó là một quy trình quản lý bộ nhớ rất thông minh. Bằng cách đặt một số phần nên có trong bộ nhớ trong đĩa cứng của bạn, chúng có thể mở rộng dung lượng bộ nhớ của máy tính vượt ra ngoài những gì được cài đặt; đây được gọi là bộ nhớ ảo. Vì vậy, giả sử rằng máy tính của bạn chỉ có 1GB bộ nhớ và bạn khởi chạy một vài chương trình có tổng mức tiêu thụ bộ nhớ vào khoảng 1,5 GB. Không có bộ nhớ ảo, bạn không được phép làm điều đó. Nhưng với bộ nhớ ảo, hệ điều hành chỉ định một phần của đĩa cứng là một phần của bộ nhớ và giữ dữ liệu ở đó. Vì vậy, trong ví dụ trên, giả sử bộ nhớ ảo cũng là 1GB. Bộ nhớ thực 1GB + Bộ nhớ ảo 1GB = Bộ nhớ hệ thống 2GB. Theo cách đó, mặc dù bộ nhớ của bạn bị hạn chế, bạn vẫn có thể sử dụng các ứng dụng mở rộng bộ nhớ.

Có một bất lợi cho bộ nhớ ảo mặc dù. Đọc dữ liệu từ đĩa cứng chậm hơn đáng kể so với đọc từ bộ nhớ. Vì vậy, càng nhiều thông tin được lưu trữ trong đĩa cứng của bạn, hệ thống của bạn càng trở nên chậm chạp khiến nó có vẻ chậm chạp.

Mặt khác, bộ nhớ cache không mở rộng lượng bộ nhớ bạn có, nó chỉ làm giảm lượng thời gian cần thiết để truy cập dữ liệu. Để bạn có thể hiểu khái niệm một cách dễ dàng, hãy nói rằng bộ xử lý là một sinh viên làm báo cáo. Bất cứ khi nào anh ta cần dữ liệu, anh ta đi đến giá sách (giá sách là bộ nhớ và sách là dữ liệu) và lấy ra một cuốn sách và mang nó trở lại ghế của mình. Anh ta đọc nó sau đó anh ta trả nó về giá sách trước khi tiếp tục với báo cáo của mình. Nếu bạn là sinh viên, sẽ rất tốn thời gian nếu bạn phải đứng lên và lấy một cuốn sách mỗi khi bạn cần một mẩu dữ liệu. Thực tế một học sinh sẽ lấy một vài cuốn sách từ giá sách và đặt nó lên bàn. Vì vậy, nếu anh ta cần thông tin trong cuốn sách mà anh ta đã sử dụng gần đây, nó chỉ nằm trong tầm tay và anh ta không phải đứng và đi để lấy nó.

Trong ẩn dụ này, bảng là bộ nhớ cache của chúng tôi. Bất cứ khi nào bộ xử lý sử dụng dữ liệu, nó sẽ đặt dữ liệu gần đây nhất mà nó sử dụng vào bộ nhớ đệm để truy cập nhanh trong trường hợp cần thiết lại. Mặc dù vậy, bộ nhớ cache rất hạn chế, giống như một bảng có không gian hạn chế, do đó, dữ liệu không được truy cập lâu nhất sẽ được trả về bộ nhớ để giải phóng bộ đệm cho dữ liệu gần đây hơn.

Tìm hiểu thêm về Bộ nhớ cache và Bộ nhớ ảo.