Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Cao đẳng - Đại học Bài giảng hệ điều hành chương 3 quản lý bộ nhớ.pdf...

Tài liệu Bài giảng hệ điều hành chương 3 quản lý bộ nhớ.pdf

.PDF
80
260
143

Mô tả:

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG BÀI GIẢNG MÔN HỆ Đ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 2 NỘI DUNG 1. 2. 3. 4. 5. 6. 7. Địa chỉ và các 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ý bộ nhớ Phân chƣơng bộ nhớ Phân trang bộ nhớ Phân đoạn bộ 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 3 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 chỉ dƣới dạng tên (biến, hàm)  Khi dịch, chƣơng trình dịch ánh xạ các tên đó theo địa chỉ 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 chỉ đó thành địa chỉ 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 bộ nhớ để thực hiện; vị trí trong bộ nhớ không biết trƣớc => HDH cần có khả năng gán địa chỉ 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 được (prog.exe) Chương trình tải (hệ điều hành) Tiến trình trong bộ nhớ Trang 4 I. ĐỊA CHỈ VÀ CÁC VẤN ĐỀ LIÊN QUAN  Địa chỉ logic:  Gán cho các lệnh và dữ liệu không phụ thuộc vào vị trí cụ thể tiến trình trong bộ nhớ  Chƣơng trình ứng dụng chỉ nhìn thấy và làm việc với địa chỉ logic này  Là địa chỉ tƣơng đối tức là mỗi phần tử của chƣơng trình đƣợc gán một địa chỉ tƣơng đối đối với một vị trí nà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 5 I. ĐỊA CHỈ VÀ CÁC VẤN ĐỀ LIÊN QUAN  Địa chỉ vật lý:  Là địa chỉ chính xác trong bộ nhớ máy tính  Các mạch nhớ sử dụng để truy nhập tới chƣơng trình và dữ liệu  Địa chỉ logic đƣợc chuyển thành địa chỉ vật lý nhờ khối ánh xạ địa chỉ. 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 6 II. MỘT SỐ CÁCH TỔ CHỨC CHƢƠNG TRÌNH 1. Tải trong quá trình thực hiện  Hàm chƣa bị gọi thì chƣa tải vào bộ nhớ  Chƣơng trình chính đƣợc load vào bộ nhớ và chạy  Khi có lời gọi hàm:  Chƣơng trình sẽ kiểm tra hàm đó đƣợc tải vào chƣa.  Nếu chƣa, chƣơng trình sẽ tiến hành tải sau đó ánh xạ địa chỉ hàm vào không gian chung của chƣơng trình và thay đổi bảng địa chỉ để ghi lại các ánh xạ đó  Lập trình viên đảm nhiệm, HDH cung cấp các 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 7 II. MỘT SỐ CÁCH TỔ CHỨC CHƢƠNG TRÌNH 2. Liên kết động và thƣ viện dùng chung  Liên kết tĩnh: các hàm và thƣ viện đƣợc liên kết luôn vào chƣơng trình  Lãng phí không gian cả trên đĩa và MEM trong  Trong giai đoạn liên kết, không kết nối các hàm thƣ viện vào chƣơng trình mà chỉ chèn các thông tin về 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 được (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 trong 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 8 II. MỘT SỐ CÁCH TỔ CHỨC CHƢƠNG TRÌNH 2. Liên kết động và thƣ viện dùng chung  Các modul thƣ viện đƣợc liên kết trong quá trình thực hiện:  Không giữ bản sao các modul thƣ viện mà tiến trình giữ stub chứa thông tin về modul thƣ viện  Khi stub đƣợc gọi, nó kiểm tra modul tƣơng ứng đã có trong bộ nhớ chƣa. Nếu chƣa, thì tải phần còn lại và dùng.  Lần tiếp theo cần sử dụng, modul thƣ viện sẽ đƣợc chạy trực tiếp  Mỗi modul thƣ viện chỉ có 1 bản sao duy nhất chứa trong 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 9 III. CÁC YÊU CẦU QUẢN LÝ BỘ NHỚ 1. Cấp phát lại  Cần có khả năng tráo đổi các tiến trình vào và ra ngoài MEM để tối đa sử dụng vi xử lý  Không thể yêu cầu tiến trình đƣợc chuyển lại vào MEM thì phải vào đúng chỗ nó đã dùng trƣớc khi bị chuyển ra 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 III. CÁC YÊU CẦU QUẢN LÝ BỘ NHỚ 2. Bảo vệ  Mỗi tiến trình phải đƣợc bảo vệ khỏi các tham chiếu không mong muốn từ các tiến trình khác vào vùng nhớ dành cho mình  Mọi tham chiếu bộ nhớ của 1 tiến trình phải đƣợc kiểm tra lúc chạy  HDH không đoán trƣớc đƣợc mọi tham chiếu MEM => phần cứng VXL đảm nhiệm 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 11 III. CÁC YÊU CẦU QUẢN LÝ BỘ NHỚ 3. Chia sẻ  Nhiều tiến trình cần và đƣợc phép truy cập vào cùng 1 vùng nhớ  Các tiến trình đang cộng tác cần chia sẻ truy nhập tới 1 cấu trúc dữ liệu  => Phải cho phép truy cập tới các vùng chia sẻ 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 12 III. CÁC YÊU CẦU QUẢN LÝ BỘ NHỚ 4. Cấu trúc logic & cấu trúc vật lý  Cấu trúc logic:  MEM đƣợc cấu trúc 1 cách tuyến tính gồm các byte, còn chƣơng trình đƣợc tổ chức thành các modul  Phải đáp ứng để:  Các modul có thể đƣợc viết và thông dịch 1 cách độc lập  Mức độ bảo vệ có thể khác nhau  Modul có thể đƣợc chia sẻ giữa các 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 13 III. CÁC YÊU CẦU QUẢN LÝ BỘ NHỚ 4. Cấu trúc logic & cấu trúc vật lý  Cấu trúc vật lý:  2 mức:  Bộ nhớ chính: nhanh; chi phí cao, dung lƣợng ít  Bộ nhớ phụ: dung lƣợng lớn, cho phép lƣu chƣơng trình và dữ liệu trong thời gian dài  Hệ thống có trách nhiệm chuyển đổi thông tin giữa 2 mứ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 14 IV. KỸ THUẬT PHÂN CHƢƠNG BỘ NHỚ 1. Phân chƣơng cố định  Chia MEM thành các chƣơng với số lƣợng nhất định, không thay đổi, gán cho tiến trình 1 chƣơng chứa data, lệnh  Kích thƣớc các chƣơng bằng nhau:  Đơn giản  Kích thƣớc chƣơng trình > kích thƣớc chƣơng => không thể cấp phát  Gây phân mảnh trong 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 15 IV. KỸ THUẬT PHÂN CHƢƠNG BỘ NHỚ 1. Phân chƣơng cố định  Kích thƣớc các chƣơng khác nhau:  Chọn chƣơng có kích thƣớc nhỏ nhất: cần có hàng đợi lệnh cho mỗi chƣơng:   Giảm phân mảnh trong, tối ƣu cho từng chƣơng Hệ thống không tối ƣ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 16 IV. KỸ THUẬT PHÂN CHƢƠNG BỘ NHỚ 1. Phân chƣơng cố định  Kích thƣớc các chƣơng khác nhau:  Dùng hàng đợi chung cho mọi chƣơng:   Chƣơng sẵn có nhỏ nhất sẽ đƣợc cấp phát Khi 1 chƣơng đƣợc giải phóng: chọn tiến trình gần đầu hàng độ nhất và có kích thƣớc phù hợp nhất 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 17 IV. KỸ THUẬT PHÂN CHƢƠNG BỘ NHỚ 1. Phân chƣơng cố định  Ƣu điểm: đơn giản, ít xử lý  Nhƣợc điểm:  Số lƣợng chƣơng xác định tại thời điểm tạo hệ thống hạn chế số lƣợng tiến trình hoạt động  Kích thƣớc chƣơng thiết lập trƣớc: không hiệu quả 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 18 IV. KỸ THUẬT PHÂN CHƢƠNG BỘ NHỚ 2. phân chƣơng động  Kích thƣớc, số lƣợng và vị trí chƣơng đều có thể thay đổi  Khi có yêu cầu, HDH cấp cho tiến trình 1 chƣơng có kích thƣớc đúng bằng tiến trình đó  Khi tiến trình kết thúc sẽ tạo vùng trống trong MEM  Các vùng trống nằm cạnh nhau đƣợc nhập lại thành vùng lớn hơ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 19 IV. KỸ THUẬT PHÂN CHƢƠNG BỘ NHỚ 2. Phân chƣơng động  Tránh phân mảnh trong  Gây phân mảnh ngoài: dồn những vùng trống nhỏ thành lớn (nén)  Sử dụng các chiến lƣợc cấp chƣơng  Chọn vùng thích hợp đầu tiên  Vùng thích hợp nhất  Vùng không thích hợp nhất 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 20
- Xem thêm -

Tài liệu liên quan