Người dùng sử dụng một ngôn ngữ lập trình để viết (code) một phần mềm. Để có thể thực thi, anh ta tiến hành biên dịch (Compile) phần mềm đó. Không gian địa chỉ của phần mềm sau khi được chuyển đổi bởi trình biên dịch thuộc loại nào?
Trả lời:
Đáp án đúng: B
Sau khi biên dịch, phần mềm được chuyển đổi sang dạng mã máy (machine code) nhưng vẫn chưa được nạp vào bộ nhớ vật lý để thực thi. Các địa chỉ trong mã này là địa chỉ tương đối (relocatable address). Khi chương trình được nạp vào bộ nhớ, các địa chỉ này sẽ được điều chỉnh để trở thành địa chỉ vật lý (physical address).
* **Symbolic address:** Địa chỉ tượng trưng, thường được sử dụng trong mã nguồn trước khi biên dịch.
* **Relocatable address:** Địa chỉ tương đối, được sử dụng sau khi biên dịch và trước khi nạp vào bộ nhớ.
* **Physical address:** Địa chỉ vật lý, là địa chỉ thực tế trong bộ nhớ.
* **Logical address:** Địa chỉ logic, là địa chỉ được sinh ra bởi CPU, không nhất thiết phải là địa chỉ vật lý thực tế. Trong nhiều hệ thống, địa chỉ logic được chuyển đổi thành địa chỉ vật lý thông qua MMU (Memory Management Unit).
Như vậy, đáp án đúng là B. Relocatable address.
50 câu hỏi 60 phút





