JavaScript is required

Vào thời điểm nào sau đây tiến trình chỉ thao tác trên địa chỉ ảo, không bao giờ thấy được các địa chỉ vật lí:

A.
Thời điểm biên dịch
B.
Thời điểm nạp
C.
Thời điểm xử lí
D.
Câu a,b là đúng
Trả lời:

Đáp án đúng: C


Tiến trình chỉ thao tác trên địa chỉ ảo (virtual address) trong suốt quá trình thực thi. Địa chỉ ảo được ánh xạ tới địa chỉ vật lý (physical address) bởi Memory Management Unit (MMU) và hệ điều hành. Do đó, tiến trình không bao giờ trực tiếp thấy địa chỉ vật lý. Quá trình này diễn ra liên tục từ khi tiến trình bắt đầu xử lý (sau khi biên dịch và nạp) đến khi kết thúc. Vậy nên đáp án C đúng nhất, vì "thời điểm xử lý" bao hàm toàn bộ quá trình tiến trình hoạt động. * **Thời điểm biên dịch:** Compiler tạo ra mã đối tượng sử dụng địa chỉ tương đối hoặc địa chỉ ảo. Tuy nhiên, địa chỉ vật lý vẫn chưa được xác định tại thời điểm này. * **Thời điểm nạp:** Loader nạp chương trình vào bộ nhớ và có thể thực hiện việc điều chỉnh địa chỉ (relocation) để chương trình có thể chạy ở một vị trí cụ thể trong bộ nhớ. Tuy nhiên, tiến trình vẫn làm việc với địa chỉ ảo. * **Thời điểm xử lý:** Trong quá trình thực thi (xử lý), tiến trình chỉ thao tác với địa chỉ ảo. MMU sẽ ánh xạ địa chỉ ảo này sang địa chỉ vật lý thực tế. Vì vậy, đáp án C chính xác nhất.

Câu hỏi liên quan