Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 80 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
80
Dung lượng
700,46 KB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG BÀIGIẢNGMÔNHỆĐIỀU HÀNH Giảng viên: ThS Nguyễn Thị Ngọc Vinh Bộ mơn: Khoa học máy tính- Khoa CNTT1 Học kỳ/Năm biên soạn: I/ 2009 - 2010 CHƯƠNG 3: QUẢN LÝBỘNHỚ www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MƠN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang NỘI DUNG Địa vấn đề liên quan Một số cách tổ chức chương trình Các yêu cầu quản lýnhớ Phân chương nhớ Phân trang nhớ Phân đoạn nhớBộnhớ ảo www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang I ĐỊA CHỈ VÀ CÁC VẤN ĐỀ LIÊN QUAN Vấn đề gán địa chỉ: Khi viết chương trình, sử dụng địa dạng tên (biến, hàm) Khi dịch, chương trình dịch ánh xạ tên theo địa tương đối tính từ đầu file obj(biến, hàm) Chương trình liên kết ánh xạ tiếp địa thành địa tương đối tính từ đầu chương trình Mã nguồn mơ đun khác (printf.c) Mã nguồn (prog.c) Chương trình dịch Chương trình dịch Mơ đun object (printf.o) Mơ đun object (prog.o) Thư viện hóa Thư viện (*.lib) HDH đọc chương trình vào nhớ để thực hiện; vị trí nhớ khơng biết trước => HDH cần có khả gán địa www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MƠN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Chương trình liên kết Mơ đun tải (prog.exe) Chương trình tải (hệ điều hành) Tiến trình nhớ Trang I ĐỊA CHỈ VÀ CÁC VẤN ĐỀ LIÊN QUAN Địa logic: Gán cho lệnh liệu không phụ thuộc vào vị trí cụ thể tiến trình nhớ Chương trình ứng dụng nhìn thấy làm việc với địa logic Là địa tương đối tức phần tử chương trình gán địa tương đối vị trí www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MƠN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang I ĐỊA CHỈ VÀ CÁC VẤN ĐỀ LIÊN QUAN Địa vật lý: Là địa xác nhớ máy tính Các mạch nhớ sử dụng để truy nhập tới chương trình liệu Địa logic chuyển thành địa vật lýnhờ khối ánh xạ địa www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang II MỘT SỐ CÁCH TỔ CHỨC CHƯƠNG TRÌNH Tải trình thực Hàm chưa bị gọi chưa tải vào nhớ Chương trình load vào nhớ chạy Khi có lời gọi hàm: Chương trình kiểm tra hàm tải vào chưa Nếu chưa, chương trình tiến hành tải sau ánh xạ địa hàm vào khơng gian chung chương trình thay đổi bảng địa để ghi lại ánh xạ Lập trình viên đảm nhiệm, HDH cung cấp hàm thư viện cho tải động www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MƠN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang II MỘT SỐ CÁCH TỔ CHỨC CHƯƠNG TRÌNH Liên kết động thư viện dùng chung Liên kết tĩnh: hàm thư viện liên kết ln vào chương trình Lãng phí không gian đĩa MEM Trong giai đoạn liên kết, không kết nối hàm thư viện vào chương trình mà chèn thơng tin hàm thư viện (stub) Mơ đun khác (printf.c) Mã nguồn (prog.c) Chương trình dịch Chương trình dịch Mơ đun object (printf.o) Mơ đun object (prog.o) Thư viện hóa Chương trình liên kết Mơ đun tải (prog.exe) Thư viện dùng chung (*.dll) Chương trình tải động (hệ điều hành) Chương trình tải (hệ điều hành) Tiến trình nhớ www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MƠN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang II MỘT SỐ CÁCH TỔ CHỨC CHƯƠNG TRÌNH Liên kết động thư viện dùng chung Các modul thư viện liên kết trình thực hiện: Không giữ modul thư viện mà tiến trình giữ stub chứa thơng tin modul thư viện Khi stub gọi, kiểm tra modul tương ứng có nhớ chưa Nếu chưa, tải phần lại dùng Lần cần sử dụng, modul thư viện chạy trực tiếp Mỗi modul thư viện có chứa MEM Cần hỗ trợ từ HDH www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MƠN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang III CÁC YÊU CẦU QUẢN LÝBỘNHỚ Cấp phát lại Cần có khả tráo đổi tiến trình vào ngồi MEM để tối đa sử dụng vi xử lý Không thể yêu cầu tiến trình chuyển lại vào MEM phải vào chỗ dùng trước bị chuyển www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MƠN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 10 VI CẤP PHÁT KHUNG TRANG Giới hạn khung HDH cấp phát khung cho tiến trình? Khi số lượng khung tối đa cấp cho tiến trình giảm tới mức đó, lỗi thiếu trang diễn thường xuyên => Đặt giới hạn tối thiểu khung cấp phát cho tiến trình Khi số lượng khung cấp cho tiến trình tăng tới mức việc tăng thêm khung cho tiến trình không làm giảm đáng kể tần suất thiếu trang => Cấp phát số lượng khung cố định số lượng khung thay đổi www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MƠN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 66 VI CẤP PHÁT KHUNG TRANG 1.1 Cấp phát số lượng khung cố định Cấp cho tiến trình số lượng cố định khung để chứa trang nhớ Số lượng xác định vào thời điểm tạo tiến trình khơng thay đổi trình tiến trình tồn Cấp phát nhau: Các tiến trình cấp số khung tối đa Số lượng xác định dựa vào kích thước MEM mức độ đa chương trình mong muốn Cấp phát khơng nhau: Các tiến trình cấp số khung tối đa khác Cấp số khung tỉ lệ thuận với kích thước tiến trình Có mức ưu tiên www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 67 VI CẤP PHÁT KHUNG TRANG 1.2 Cấp phát số lượng khung thay đổi Số lượng khung tối đa cấp cho tiến trình thay đổi q trình thực Việc thay đổi phụ thuộc vào tình hình thực tiến trình Cho phép sử dụng nhớ hiệu phương pháp cố định => Cần theo dõi xử lý thơng tin tình hình sử dụng nhớ tiến trình www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 68 VI CẤP PHÁT KHUNG TRANG Phạm vi cấp phát khung Cấp phát tồn thể: Cho phép tiến trình đổi trang vào khung (khơng bị khóa), kể khung cấp phát cho tiến trình khác Cấp phát cục bộ: Trang đổi vào khung cấp cho tiến trình Phạm vi cấp phát có quan hệ mật thiết với số lượng khung tối đa: Số lượng khung cố định tương ứng với phạm vi cấp phát cục Số lượng khung thay đổi tương ứng với phạm vi cấp phát toàn thể www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MƠN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 69 VII TÌNH TRẠNG TRÌ TRỆ (thrashing) Là tình trạng đổi trang liên tục không đủ nhớ Thời gian đổi trang tiến trình lớn thời gian thực Xảy khi: Kích thước nhớ hạn chế Tiến trình đòi hỏi truy cập đồng thời nhiều trang nhớ Hệ thống có mức độ đa chương trình cao www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MƠN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 70 VII TÌNH TRẠNG TRÌ TRỆ (thrashing) Kiểm sốt tần suất thiếu trang Khi tiến trình rơi vào tình trạng trì trệ, tần suất thiếu trang tăng đáng kể => sử dụng để phát giải vấn đề trì trệ Theo dõi ghi lại tần suất thiếu trang Có thể đặt giới hạn giới hạn cho tần suất thiếu trang tiến trình Tần suất vượt giới hạn trên: Cấp thêm cho tiến trình khung Nếu khơng thể tìm khung để cấp thêm, tiến trình bị treo bị kết thúc Tần suất thiếu trang thấp giới hạn dưới: thu hồi số khung tiến trình www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MƠN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 71 VIII QUẢN LÝBỘNHỚ TRONG INTEL PENTIUM Hỗ trợ chế quản lý nhớ: phân đoạn kết hợp với phân trang Không gian nhớ tiến trình bao gồm nhiều đoạn, đoạn có kích thước khác phân trang trước đặt vào nhớ Ánh xạ địa chỉ: giai đoạn Địa lô gic www.ptit.edu.vn Khối phân đoạn Địa tuyến tính Khối phân trang GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Địa vật lý Trang 72 VIII QUẢN LÝBỘNHỚ TRONG INTEL PENTIUM Phân đoạn Cho phép tiến trình có tối đa 16KB (hơn 16000) đoạn, đoạn có kích thước tối đa 4GB Không gian nhớ lô gic chia thành hai phần: Phần 1: dành riêng cho tiến trình, bao gồm tối đa 8KB đoạn Phần 2: dùng chung cho tất tiến trình, bao gồm HDH, gồm tối đa 8KB đoạn LDT(Local Descriptor Table) & GDT (Global Descriptor Table): chứa thông tin quản lý : Mỗi có kích thước byte: chứa địa sở giới hạn đoạn tương ứng www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MƠN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 73 VIII QUẢN LÝBỘNHỚ TRONG INTEL PENTIUM Phân đoạn Có ghi đoạn: cho phép tiến trình truy cập đồng thời đoạn Thông tin đoạn chứa ghi byte Địa logic gồm (selector, offset): Selector: chọn ô tương ứng từ hai bảng mô tả LDT, GDT s g p 13 bit bit bit S: số thứ tự đoạn G: cho biết đoạn thuộc GDT (g=0) hay LDT(g=1) P: cho biết chế độ bảo vệ (p=0 chế độ nhân, p=3 chế độ người dùng) Offset: độ dịch đoạn, kích thước 32bit www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MƠN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 74 VIII QUẢN LÝBỘNHỚ TRONG INTEL PENTIUM Phân đoạn Biến đổi địa logic thành địa tuyến tính: GDT LDT S=0 S=1 S Selector 6 6 8 0 Offset Selector Bảng mô tả Địa sở + Giới hạn Các trường khác 32-Bit địa tuyến tính Thanh ghi GDTR Thanh ghi LDTR Giới hạn Địa sở Giới hạn Địa sở Đoạn www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MƠN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 75 VIII QUẢN LÝBỘNHỚ TRONG INTEL PENTIUM Phân trang Hỗ trợ kích thước trang 4KB 4MB, tùy thuộc vào giá trị cờ kích thước trang Trang kích thước 4KB: tổ chức bảng trang thành mức Địa tuyến tính có kích thước 32 bit p1 p1 o 10 bit 10 bit 12 bit P1: cho phép tìm bảng trang mức hai P2: tìm tương ứng bảng trang mức kết hợp với độ dịch o tạo địa vật lý Trang kích thước 4MB: Bảng trang có mức P :10bit O: độ dịch, kích thước 22bit cho phép trỏ tới vị trí cụ thể trang nhớ 4MB www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 76 VIII QUẢN LÝBỘNHỚ TRONG INTEL PENTIUM Phân trang Biến đổi địa tuyến tính thành địa vật lý với kích Địa tuyến tính thước trang 4KB 31 22 P1 12 21 11 P2 O 12 Bảng trang mức 10 Bảng trang mức 10 Trang 4KB Địa vật lý Khoản mục Khoản mục 32 CR3 (PDBR) www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MƠN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 77 VIII QUẢN LÝBỘNHỚ TRONG INTEL PENTIUM Ánh xạ địa Địa logic Segment Selector Offset Không gian địa tuyến tính Địa tuyến tính P1 Bảng mơ tả tồn thể (GDT) P2 Bảng trang mức Đoạn Segment Descriptor O Không gian địa vật lý Bảng trang mức Địa vật lý Khoản mục Địa tuyến tính Khoản mục Địa sở đoạn Trang Phân đoạn www.ptit.edu.vn Phân trang GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MƠN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 78 IX QUẢN LÝBỘNHỚ TRONG WINDOWS XP Cho phép tiến trình sử dụng nhớ ảo tới 4GB 2GB dùng riêng cho tiến trình 2GB sau dùng chung cho hệ thống Bộnhớ ảo thực kỹ thuật nạp trang theo nhu cầu đổi trang Kích thước trang nhớ 4KB Tổ chức bảng trang mức Nạp trang theo cụm: xảy thiếu trang, nạp cụm gồm số trang nằm sau trang bị thiếu www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MƠN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 79 IX QUẢN LÝBỘNHỚ TRONG WINDOWS XP Kiểm soát số lượng trang: gán cho tiến trình số lượng trang tối đa tối thiểu Số lượng trang tối đa tối thiểu cấp cho tiến trình thay đổi tùy vào tình trạng nhớ trống HDH lưu danh sách khung trống, sử dụng ngưỡng an toàn Số khung trống ngưỡng: HDH xem xét tiến trình thực Tiến trình có số trang lớn số lượng tối thiểu bị giảm số trang đạt tới số lượng tối thiểu Tùy vào vi xử lý, Windows XP sử dụng thuật toán đổi trang khác www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 80 ... www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 13 III CÁC YÊU CẦU QUẢN LÝ BỘ NHỚ Cấu trúc logic & cấu trúc vật lý Cấu trúc vật lý: mức: Bộ nhớ chính:... tổ chức chương trình Các yêu cầu quản lý nhớ Phân chương nhớ Phân trang nhớ Phân đoạn nhớ Bộ nhớ ảo www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MƠN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang... giới hạn Bộ nhớ CPU Địa lô gic yes < + Địa vật lý no Lỗi truy cập nhớ www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MƠN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 24 IV PHÂN CHƯƠNG BỘ NHỚ Ánh