Bài giảng Hệ điều hành: Chương 6 - ThS. Nguyễn Thị Hải Bình

47 89 0
Bài giảng Hệ điều hành: Chương 6 - ThS. Nguyễn Thị Hải Bình

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chương 6 giúp người học hiểu về Quản lý bộ nhớ. Nội dung trình bày cụ thể gồm có: Các loại địa chỉ; Không gian địa chỉ; Hoàn chuyển; Cấp phát liên tục; Phân trang; Phân đoạn. Mời các bạn cùng tham khảo nội dung chi tiết.

QUẢN LÝ BỘ NHỚ GV Nguyễn Thị Hải Bình Khoa CNTT, ĐH Giao thông vận tải Email: calmseahn@gmail.com Website: calmseahn.weebly.com Multistep processing of a user program KẾT BUỘC ĐỊA CHỈ (ADDRESS BINDING) • Q trình kết buộc thị liệu chương trình với địa cụ thể nhớ thực thời điểm sau: • Thời điểm biên dịch • Nếu thời điểm biên dịch biết tiến trình nằm đầu nhớ, trình biên dịch sinh mã với địa tuyệt đối • Nếu cần thay đổi địa phải biên dịch lại • Thời điểm tải • Trình biên dịch sinh mã với địa định vị lại • Nếu cần thay đổi địa chỉ, cần tải lại chương trình • Thời điểm thực thi • Được sử dụng trường hợp tiến trình di chuyển từ vùng nhớ sang vùng nhớ khác • Đòi hỏi phần cứng đặc biệt KHƠNG GIAN ĐỊA CHỈ LOGIC VÀ ĐỊA CHỈ VẬT LÝ • Địa logic (logical address): • Sinh CPU Còn gọi địa ảo (Virtual address) • Cấp phát cho biến biên dịch chương trình • Địa vật lý (physical address): • Là địa cụ thể nhớ • Được cấp phát cho biến thực chương trình • Địa logic vật lý giống trường hợp kết buộc địa thời điểm biên dịch thời điểm tải; khác trường hợp kết buộc thời điểm thực thi • Kết buộc địa (binding) ánh xạ (mapping) từ không gian địa sang không gian địa khác Logical address space for process A Three process sharing the physical address space ĐƠN VỊ QUẢN LÝ BỘ NHỚ • Thuật ngữ: Memory Management Unit (MMU) • Là thiết bị phần cứng dùng để ánh xạ địa ảo sang địa vật lý • Trong MMU, có ghi relocation (thanh ghi định vị lại) để tính tốn địa vật lý từ địa ảo • Chương trình người dùng làm việc địa ảo địa vật lý CÁC CẤU TRÚC CƠ BẢN CỦA CHƯƠNG TRÌNH • Có nhiều phương pháp tổ chức chương trình nhớ để thực • Các phương pháp khác kiểu định vị chương trình nhớ thời điểm thực ánh xạ địa tương đối thành địa tuyệt đối • Cấu trúc chương trình thể cách quản lý nhớ logic hình ảnh nhớ vật lý thực • Các dạng cấu trúc gồm: Cấu trúc tuyến tính, cấu trúc động, Overlay, phân đoạn, phân trang CÁC CẤU TRÚC CƠ BẢN CỦA CHƯƠNG TRÌNH • Cấu trúc tuyến tính • Cấu trúc động • Cấu trúc overlay • Cấu trúc phân đoạn • Cấu trúc phân trang CẤU TRÚC TUYẾN TÍNH • Là cấu trúc mà sau biên dịch, modul tập hợp thành chương trình hồn thiện (một modul nhất), chứa đầy đủ thơng tin để chương trình thực (trừ liệu vào) • Mọi biến ngồi gán địa cụ thể • Khi thực cần định vị chương trình lần vào nhớ 10 SƠ ĐỒ PHÂN TRANG • Bộ nhớ vật lý chia thành khung trang (frame) có kích thước cố định • Bộ nhớ logic chia thành trang (page) • Kích thước trang khung trang • Trước thực thi, trang tiến trình nằm ổ đĩa tải vào khung trang chưa sử dụng nhớ • Địa CPU tạo chia thành hai phần: địa trang (p) địa tương đối trang (d) • Địa trang dùng làm mục đến bảng trang • Bảng trang lưu trữ địa sở trang nhớ vật lý • Địa sở cộng với địa tương đối trang tạo địa vật lý 33 34 SƠ ĐỒ PHÂN TRANG • Ưu điểm • Cho phép khơng gian địa logic tiến trình khơng nằm liên tục nhớ vật lý • Khắc phục tượng phân mảnh ngồi • Nhược điểm • Cần có thiết bị vật lý hỗ trợ định vị trang 35 SƠ ĐỒ PHÂN TRANG • Các giải pháp nạp trang • Nạp tất trang chương trình vào nhớ từ đầu • Giải pháp nạp trước: Cho phép người sử dụng tạo chương trình nhớ logic với kích thước tùy ý Do phải dự báo trang cần thiết chuẩn bị sử dụng trình thực • Nạp trang theo yêu cầu: Trang nạp xuất yêu cầu truy cập liệu trang 36 SƠ ĐỒ PHÂN TRANG • Các giải pháp thay trang: • FIFO: Trang nạp trước thay trước • LRU(Last Recently Used): Thay trang có lần sử dụng cuối cách thời điểm đổi trang lâu • LFU(Last Frequently Used): Thay trang có tần suất sử dụng thấp • Thuật tốn tối ưu: Thay trang không sử dụng khoảng thời gian dài 37 SƠ ĐỒ KẾT HỢP PHÂN TRANG VÀ PHÂN ĐOẠN • Chương trình biên dịch theo sơ đồ phân đoạn có bảng quản lý đoạn chung • Mỗi đoạn biên tập theo sơ đồ phân trang • Mỗi đoạn có bảng quản lý trang riêng 38 BỘ NHỚ ẢO • Bộ nhớ ảo (Virtual memory) kỹ thuật cho phép xử lý chương trình khơng nạp tồn vào nhớ vật lý • Bộ nhớ ảo mơ hình hóa nhớ bảng lưu trữ lớn đồng nhất, tách biệt hẳn với khái niệm nhớ logic nhớ vật lý • Người sử dụng nhìn thấy làm việc khơng gian địa ảo, việc chuyển đổi sang nhớ vật lý hệ điều hành thực 39 CÀI ĐẶT BỘ NHỚ ẢO • Bộ nhớ ảo cài đặt dựa vào hai kỹ thuật: Phân trang theo yêu cầu phân đoạn theo yêu cầu • Kỹ thuật phân trang theo yêu cầu áp dụng phổ biến • Sử dụng kỹ thuật phân trang kết hợp với kỹ thuật swapping • u cầu có cớ chế phần cứng để phân biệt trang nhớ ngồi • Bảng trang: Phản ánh tình trạng trang nhớ hay nhớ ngồi • Bộ nhớ ngồi: Lưu trữ trang không nạp vào nhớ 40 HIỆN TƯỢNG LỖI TRANG • Khi hệ thống truy xuất đến trang, trang chưa nạp vào nhớ làm phát sinh lỗi trang • Hệ điều hành xử lý lỗi theo bước sau: Kiểm tra địa truy nhập có nằm vùng địa hợp lệ không Nếu yêu cầu không hợp lệ, kết thúc công việc Ngược lại, trang yêu cầu chưa nằm nhớ HĐH tải trang vào nhớ Tìm frame trống Yêu cầu đọc trang mong muốn từ ổ đĩa vào frame tìm thấy Cập nhật bảng trạng thái tiến trình bảng phân trang Khởi động lại thị bị ngắt lỗi trang 41 THAY THẾ TRANG • Khi hệ thống nhận yêu cầu nạp trang vào nhớ, khơng trang trống nhớ trong, hệ thống cần thực việc thay trang • Các thuật tốn thay trang áp dụng sơ đồ quản lý nhớ kiểu phân trang • FIFO • LRU • LFU • Thuật tốn tối ưu 42 BÀI TẬP • Cho chuỗi tham chiếu 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 3, 1, 2, 0, 1, 7, 0, • Bộ nhớ có frame • Nếu sử dụng thuật tốn FIFO có lỗi trang • Nếu sử dụng thuật toán LRU (Least Recently Used) có lỗi trang 43 FIFO 44 LRU 45 BÀI TẬP • Cho chuỗi tham chiếu 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, • Nếu nhớ có frame Sử dụng thuật tốn FIFO có lỗi trang • Nếu nhớ có frame Sử dụng thuật tốn FIFO có lỗi trang • Tìm hiểu “nghịch lý Belady” 46 BÀI TẬP • Giả sử nhớ phân thành phân vùng có kích thước 100KB, 500K, 200K, 300K 600K ( theo thứ tự ), cho biết tiến trình có kích thước 212K, 417K, 112K 426K ( theo thứ tự ) cấp phát nhớ nào, sử dụng : a) Thuật toán First fit b) Thuật toán Best fit c) Thuật toán Worst fit 47 ... thực người dùng • Kích thước chương trình lớn • Người dùng phải nắm rõ cấu trúc chương trình cơng cụ điều khiển nhớ hệ điều hành 14 CẤU TRÚC OVERLAY • Các modul chương trình sau biên dịch chia... định vị tiến trình khơi phục trạng thái hoạt động 27 Hệ điều hành 150KB Tiến trình 40KB Tiến trình 80KB Hệ điều hành 150KB Bộ nhớ tự 120KB Hệ điều hành 150KB Tiến trình 30KB Bộ nhớ tự 90KB Tiến... lớn mức chương trình tương ứng 16 CẤU TRÚC OVERLAY • Để tạo thành chương trình overlay, người sử dụng cần cần cung cấp thơng tin mức cho trình biên dịch thơng qua sơ đồ overlay • Khi thực chương

Ngày đăng: 11/01/2020, 00:00

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan