2015-10-28 21 views
5

Tôi đã nghiên cứu các chủ đề liên quan đến quản lý bộ nhớ. Tôi đang tự hỏi, liệu tôi đã hiểu nó một cách chính xác: Địa chỉ ảo có quy trình cụ thể không?

  • con trỏ địa chỉ

    (ảo) là quá trình
  • quá trình khác nhau có thể có con trỏ với cùng một địa chỉ cụ thể, nhưng những gợi ý được dịch sang địa chỉ vật lý khác nhau

Tôi có đúng về những tuyên bố này không? Nếu có, chúng có áp dụng cho kiến ​​trúc x86, x86-64 và ARMv7, ARMv8 không?

+0

Bạn đã đọc các wiki có liên quan trên [quy trình] chưa (https://en.wikipedia.org/wiki/Process_%28computing%29), [bộ nhớ ảo] (https://en.wikipedia.org/wiki/Virtual_memory), [không gian địa chỉ ảo] (https://en.wikipedia.org/wiki/Virtual_address_space) ....? –

+0

@BasileStarynkevitch Vâng, không phải tất cả chúng. Tuy nhiên, tôi không chắc chắn liệu tôi có hiểu nó một cách chính xác hay không. Nhìn vào câu trả lời, cả hai đều đang nói điều ngược lại. Và nếu ai đó trả lời câu hỏi, sau đó anh/cô ấy tuyên bố anh ta/cô ấy biết chủ đề. Vì vậy, chúng tôi đã có hai sự thật bây giờ :) – kravemir

Trả lời

8

Vâng, ngoại trừ:

quá trình khác nhau có thể có con trỏ với cùng một địa chỉ, nhưng những gợi ý được dịch sang địa chỉ vật lý khác nhau

trong khi đây là trường hợp chung, tất nhiên quá trình khác nhau có thể chia sẻ các trang được ánh xạ (xem trong bộ nhớ dùng chung) và sau đó con trỏ có thể trỏ đến cùng một dữ liệu, các trang được ánh xạ tới cùng một vị trí trong không gian địa chỉ ảo.

Nhưng có, đó là sự hiểu biết chính xác.

+3

Ngoài ra, bộ nhớ chia sẻ có thể được ánh xạ tới các địa chỉ khác nhau trong các quy trình khác nhau. –

+0

Chắc chắn, có thể, nhưng không phải. Ánh xạ các thư viện được chia sẻ chẳng hạn ... Tôi sẽ cải thiện từ ngữ. –

+0

Cảm ơn. Vì vậy, ít sửa chữa tuyên bố sẽ là: ** có thể ** được dịch :) – kravemir

Các vấn đề liên quan