Trong quá trình viết (code) một phần mềm, người lập trình sử dụng nhiều không gian địa chỉ cho lệnh và dữ liệu. Những không gian địa chỉ này sẽ được chuyển đổi thành “địa chỉ tái định vị” vào thời điểm nào?
Trả lời:
Đáp án đúng: A
Địa chỉ tái định vị là địa chỉ được điều chỉnh hoặc thay đổi trong quá trình nạp chương trình vào bộ nhớ. Điều này là cần thiết vì vị trí thực tế mà chương trình được nạp vào bộ nhớ có thể không giống với vị trí mà nó được biên dịch cho. Do đó, quá trình nạp chương trình sẽ thực hiện việc tái định vị địa chỉ để đảm bảo chương trình có thể chạy đúng cách tại vị trí mới.
* **Thời gian biên dịch chương trình:** Tại thời điểm biên dịch, trình biên dịch tạo ra mã đối tượng (object code) với các địa chỉ tương đối hoặc tượng trưng. Chưa có địa chỉ vật lý cụ thể nào được gán.
* **Thời gian nạp chương trình:** Quá trình nạp chương trình sẽ gán các địa chỉ vật lý thực tế cho các địa chỉ tương đối hoặc tượng trưng này. Đây chính là thời điểm địa chỉ tái định vị được xác định.
* **Thời gian thực thi chương trình:** Trong quá trình thực thi, chương trình sử dụng các địa chỉ vật lý đã được tái định vị để truy cập bộ nhớ.
* **Biên dịch, nạp và thực thi chương trình:** Mặc dù cả ba giai đoạn đều quan trọng, nhưng việc tái định vị địa chỉ xảy ra chủ yếu trong quá trình nạp.
Vì vậy, đáp án chính xác là B.
50 câu hỏi 60 phút





