Chương trình được HĐH đưa vào bộ nhớ, sau đó tạo tiến trình để thực hiện Input queue – Là hàng chờ các tiến trình trên đĩa đang chờ được đưa vào bộ nhớ để thực hiện Các chương trình của NSD phải qua một số bước chuẩn bị trước khi được thực hiện 3 Các bước xử lý chương trình NSD 4 Chuyển đổi địa chỉ Có 3 cách chuyển đổi địa chỉ lệnh và dữ liệu của chương trình vào bộ nhớ: Không gian địa chỉ logic (ảo) và địa chỉ vật lý (địa chỉ thật) Để quản lý bộ nhớ một cách hoàn. | Nguyên lý hệ điều hành Nguyễn Hải Châu Khoa Công nghệ thông tin Trường Đại học Công nghệ Quản lý bộ nhớ 2 Giới thiệu Chương trình được HĐH đưa vào bộ nhớ sau đó tạo tiến trình để thực hiện Input queue - Là hàng chờ các tiến trình trên đĩa đang chờ được đưa vào bộ nhớ để thực hiện Các chương trình của NSD phải qua một số bước chuẩn bị trước khi được thực hiện Chuyển đổi địa chỉ Có 3 cách chuyển đổi địa chỉ lệnh và dữ liệu của chương trình vào b ộ nhớ Không gian địa chỉ logic ảo và địa chỉ vật lý địa chỉ thật Khi dịch chương trình compile-time Sinh mã có địa chỉ cố định phải dịch lại nếu cần thay đổi địa chỉ. Khi nạp chương trình load-time Phải sinh mã có thể định vị lại nếu như địa chỉ bộ nhớ không được biết ở thời điểm dịch chương trình Khi thực hiện chương trình execution-time Ánh xạ địa chỉ khi chương trình được thực hiện nếu như tiến trình có thể chuyển giữa các segment bộ nhớ. Cần có hỗ trợ từ phần cứng ví dụ thanh ghi base và limit Để quản lý bộ nhớ một cách hoàn chỉnh cần có hai cách nhìn địa chỉ khác nhau Địa chỉ logic Logical address - sinh bởi CPU còn gọi là địa chỉ ảo virtual address . Địa chỉ vật lý Physical address còn gọi là địa chỉ thật - sinh bởi đơn vị quản lý bộ nhớ Địa chỉ thật và ảo giống nhau trong lược đồ ánh xạ địa chỉ compile-time và load-time và khác nhau trong execution-time . 1 Đơn vị quản lý bộ nhớ MMU Là thiết bị phần cứng dùng để ánh xạ địa chỉ ảo sang địa chỉ vật lý Trong MMU có thanh ghi relocation định vị lại dùng để tính toán địa chỉ thực vật lý từ địa ảo của một tiến trình của NSD Chương trình của NSD làm việc trên địa chỉ ảo và không bao giờ biết địa chỉ vật lý Sử dụng thanh ghi relocation Nạp chương trình động Dynamic loading Các hàm thủ tục không được nạp cho đến khi được sử dụng được gọi đến Cách nạp động này sử dụng bộ nhớ hiệu quả hơn Các hàm thủ tục không dùng đến không bao giờ được nạp vào bộ nhớ Hữu ích khi có một đoạn mã lớn được sử dụng với tần suất thấp Không cần có các đặc điểm đặc biệt từ hệ điều hành về phần cứng .