24/05/2018, 17:05

Bộ nhớ ảo

Trong hệ thống máy tính, bộ nhớ ảo (tiếng Anh: virtual memory) là một kĩ thuật cho phép một chương trình ứng dụng tưởng rằng mình đang có một dải bộ nhớ liên tục (một không gian địa chỉ), trong khi thực ra phần bộ nhớ này có thể bị phân mảnh trong bộ nhớ vật ...

Trong hệ thống máy tính, bộ nhớ ảo (tiếng Anh: virtual memory) là một kĩ thuật cho phép một chương trình ứng dụng tưởng rằng mình đang có một dải bộ nhớ liên tục (một không gian địa chỉ), trong khi thực ra phần bộ nhớ này có thể bị phân mảnh trong bộ nhớ vật lý và thậm chí có thể được lưu trữ cả trong đĩa cứng. So với các hệ thống không dùng kĩ thuật bộ nhớ ảo, các hệ thống dùng kĩ thuật này cho phép việc lập trình các ứng dụng lớn được dễ dàng hơn và sử dụng bộ nhớ vật lý thực (ví dụ RAM) hiệu quả hơn.

Lưu ý rằng khái niệm "bộ nhớ ảo" không chỉ có nghĩa "sử dụng không gian đĩa để mở rộng kích thước bộ nhớ vật lý" - nghĩa là chỉ mở rộng hệ thống bộ nhớ để bao gồm cả đĩa cứng. Việc mở rộng bộ nhớ tới các ổ đĩa chỉ là một hệ quả thông thường của việc sử dụng các kĩ thuật bộ nhớ ảo. Trong khi đó, việc mở rộng này có thể được thực hiện bằng các phương pháp khác như các kĩ thuật overlay hoặc chuyển toàn bộ các chương trình cùng dữ liệu của chúng ra khỏi bộ nhớ khi các chương trình này không ở trạng thái hoạt động. Định nghĩa của "bộ nhớ ảo" có nền tảng là việc định nghĩa lại không gian địa chỉ bằng một dải liên tục các địa chỉ bộ nhớ ảo để "đánh lừa" các chương trình rằng chúng đang dùng các khối lớn các địa chỉ liên tục.

Tất cả các hệ điều hành không chuyên hiện đại đều sử dụng các kĩ thuật bộ nhớ ảo cho các ứng dụng thông thường như các chương trình soạn thảo văn bản, chơi nhạc, xem phim, phần mềm kế toán, v.v.. Các hệ điều hành cổ hơn như DOS và Microsoft Windows[1] của thập kỷ 1980, hay các hệ điều hành dành cho máy tính lớn (mainframe computer) của thập kỉ 1960, nói chung không có các chức năng bộ nhớ ảo - các ngoại lệ nổi bật là Atlas, B5000 và Lisa của Apple Computer.

Các hệ thống nhúng và các hệ thống máy tính chuyên biệt đòi hỏi thời gian phản ứng rất nhanh và/hoặc rất ổn định có thể không chọn cách dùng bộ nhớ ảo do yếu tố tất định thấp.

0