Xem mẫu

  1. 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
  2. CHƢƠNG 3: QUẢN LÝ BỘ NHỚ www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH Trang 2 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
  3. NỘI DUNG 1. Địa chỉ và các vấn đề liên quan 2. Một số cách tổ chức chƣơng trình 3. Các yêu cầu quản lý bộ nhớ 4. Phân chƣơng bộ nhớ 5. Phân trang bộ nhớ 6. Phân đoạn bộ nhớ 7. Bộ nhớ ảo www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH Trang 3 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
  4. I. ĐỊA CHỈ VÀ CÁC VẤN ĐỀ LIÊN QUAN  Vấn đề gán địa chỉ: Mã nguồn mô Mã nguồn  Khi viết chƣơng trình, sử dụng địa chỉ đun khác (printf.c) (prog.c) dƣới dạng tên (biến, hàm) Chương trình Chương trình  Khi dịch, chƣơng trình dịch ánh xạ các dịch dịch tên đó theo địa chỉ tƣơng đối tính từ Mô đun object (printf.o) Mô đun object (prog.o) đầu file obj(biến, hàm) Thư viện hóa  Chƣơng trình liên kết ánh xạ tiếp địa Chương trình chỉ đó thành địa chỉ tƣơng đối tính từ Thư viện (*.lib) liên kết đầu chƣơng trình Mô đun tải  HDH đọc chƣơng trình vào bộ nhớ được (prog.exe) để thực hiện; vị trí trong bộ nhớ Chương trình tải (hệ điều không biết trƣớc hành) Tiến trình trong => HDH cần có khả năng gán địa chỉ bộ nhớ www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH Trang 4 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
  5. 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 Trang 5 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
  6. 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 Trang 6 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
  7. 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 Trang 7 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
  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  Liên kết tĩnh: các hàm và thƣ viện đƣợc Mô đun khác (printf.c) Mã nguồn (prog.c) liên kết luôn vào chƣơng trình Chương trình Chương trình  Lãng phí không gian cả trên đĩa và dịch dịch MEM trong Mô đun object (printf.o) Mô đun object (prog.o)  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à Thư viện hóa Chương trình liên kết chỉ chèn các thông tin về hàm thƣ viện đó (stub) Thư viện dùng chung (*.dll) Mô đun tải được (prog.exe) Chương trình tải Chương trình tải động (hệ điều (hệ điều hành) hành) Tiến trình trong bộ nhớ www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH Trang 8 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
  9. 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 Trang 9 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
  10. 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 Trang 10 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
  11. 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 Trang 11 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
  12. 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 Trang 12 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
  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 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 Trang 13 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
  14. 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 Trang 14 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
  15. 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 Trang 15 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
  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:  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 Trang 16 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
  17. 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 Trang 17 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
  18. 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 Trang 18 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
  19. 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 Trang 19 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
  20. 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 Trang 20 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
nguon tai.lieu . vn