Chương III: QUẢN LÝ BỘ NHỚ

Quản lý bộ nhớ là một trong những nhiệm vụ quan trọng và phức tạp nhất của hệ điều hành. Bộ phận quản lý bộ nhớ xem bộ nhớ chính như là một tài nguyên của hệ thống dùng để cấp phát và chia sẻ cho nhiều tiến trình đang ở trong trạng thái active. Các hệ điều hành đều mong muốn có nhiều hơn các tiến trình trên bộ nhớ chính. Công cụ cơ bản của quản lý bộ nhớ là sự phân trang (paging) và sự phân đoạn (segmentation) | Đối với các chương trình dạng COM, cả ba đoạn của chương trình là code, data và stack đều chứa trong cùng một đoạn 64 KB. Chương trình COM trên RAM là hình ảnh chính xác của nó trên đĩa. Do đó ngay sau khi chương trình COM được nạp vào bộ nhớ RAM thì tất cả các thanh ghi đoạn đều chứa cùng một giá trị, đó chính là địa chỉ đoạn của một đoạn nhớ (64 KB) chứa các đoạn của chương trình, trong quá trình hoạt động của chương trình giá trị các thanh ghi đoạn không thay đổi, ngoại trừ thành ghi đoạn ES có thể thay đổi. Đối với các chương trình dạng EXE ba đoạn của chương trình là code, data và stack có thể được nạp vào ba đoạn bộ nhớ khác nhau, và có thể một đoạn của chương trình, tuỳ theo kích thước của nó, mà nó có thể được nạp vào nhiều hơn một đoạn bộ nhớ. Do đó ngay sau khi chương trình được nạp vào bộ nhớ các thanh ghi đoạn đều được khởi tạo bằng các giá trị khác nhau (có thể DS = ES), đó chính là địa chỉ đoạn của các đoạn bộ nhớ chứa các đoạn chương trình tương ứng. Trong quá trình hoạt động của chương trình có thể giá trị của thanh ghi CS bị thay đổi. Chương trình dạng EXE trên bộ nhớ RAM không phải là hình ảnh trung thực của nó ở trên đĩa mà nó được mã hoá theo một cách nào đó. Hình sau đây minh họa cho điều này.

Không thể tạo bản xem trước, hãy bấm tải xuống
TÀI LIỆU MỚI ĐĂNG
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.