You Are Here : Home » , , » Virtual Memory 3: Virtual Memory là gì

Virtual Memory 3: Virtual Memory là gì

Như đã đề cập đến ở phần trước, đôi khi các hệ thống không có đủ RAM (4GB cho 32 bit Operating System), cho nên việc không có một cơ chế ở giữa để mapping địa chỉ process với địa chỉ memory sẽ khiến cho việc truy cập vào RAM gây ra crash hệ thống

Chính vì vậy chúng ta cần một Virtual Memory nằm giữa các chương trình và RAM. Mục tiêu của virtual memory sẽ giúp chúng ta map địa chỉ của các process với RAM một cách hiệu quả nhất.

Kể từ đây các thao tác trên process sẽ chỉ tác động trực tiếp tới Virtual Memory.

Giải quyết vấn đề thiếu bộ nhớ (RAM)

Giả sử bạn có 1GB RAM trong hệ thống, vậy thì 3GB thông tin còn lại sẽ được lưu trên ổ cứng (disk). Khi bạn truy cập đến một địa chỉ, việc đầu tiên là OS sẽ kiểm tra trên bảng mapping của VM để biết xem địa chỉ vật lý của vùng nhớ bạn muốn truy cập là ở đâu.


Trường hợp đẹp nhất là nó đang được load trên RAM, khi đó thì việc lấy và sử dụng dữ liệu hết sức đơn giản. Mapping giúp truy cập đến vùng nhớ vật lý, process sẽ lấy và sử dụng dữ liệu

Trường hợp kém đẹp hơn là bộ Mapping cho biết vùng nhớ bạn muốn truy cập đang nằm trên ổ cứng, chưa được load vào RAM. Lúc này VM sẽ làm công việc là đưa dữ liệu ít được sử dụng nhất ra khỏi RAM sang ổ cứng (disk) rồi đưa dữ liệu bạn muốn truy cập từ ổ cứng vào RAM cập nhật lại bảng Mapping, đồng thời trả lại dữ liệu cho bạn. Quá trình này sẽ tốn rất nhiều công đoạn và giảm tốc độ xử lý của hệ thóng.

Vì thế một trong những giải pháp để xử lý vấn đề máy chậm là mua thêm RAM

Giải quyết vấn đề thứ hai: tối ưu hóa bộ nhớ

Quay lại vấn đề thứ hai khi chúng ta có đầy đủ 4GB RAM nhưng hệ thống vẫn không thể load được hai chương trình có tổng bộ nhớ là 4GB.

Giờ đây giải pháp VM sẽ giúp chúng ta Map vùng nhớ của các process lên RAM một cách rất linh hoạt



Giải quyết vấn đề thứ 3: bảo vệ bộ nhớ

Giả sử bạn lại có 2 process chạy, process số 1 đang muốn truy cập vào địa chỉ 1024, process số 2 đến lượt mình chạy cũng muốn truy cập vào địa chỉ 1024. Với sự xuất hiện của VM thì các process có các vùng nhớ riêng biệt  trên RAM và không liên quan gì tới nhau.

Việc truy cập tới địa chỉ 1024 chỉ là thao tác trên virtual memory mà thôi. Dữ liệu sẽ được bảo toàn


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

Leave a Reply

Welcome to SpicyTweaks.

Copyright © Embedded System Study. Designed by Momizat Team. Powered to Blogger by SpicyTweaks.

Scroll to top