Bài giảng môn Hệ điều hành: Chương 3 - GV. Nguyễn Thị Ngọc Vinh
lượt xem 51
download
Bài giảng môn Hệ điều hành - Chương 3: Quản lý bộ nhớ giới thiệu đị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.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng môn Hệ điều hành: Chương 3 - GV. Nguyễn Thị Ngọc Vinh
- 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 Trang 2 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng môn Hệ Điều Hành
26 p | 557 | 67
-
Bài giảng môn Hệ điều hành: Chương 2 - GV. Nguyễn Thị Ngọc Vinh
66 p | 259 | 55
-
Bài giảng môn Hệ điều hành: Chương 4 - GV. Nguyễn Thị Ngọc Vinh
93 p | 245 | 45
-
Bài giảng môn Hệ điều hành: Chương 1 - GV. Nguyễn Thị Ngọc Vinh
24 p | 258 | 35
-
Bài giảng môn Hệ điều hành - Chương 2: Quản lý tiến trình
419 p | 105 | 20
-
Bài giảng Nhập môn Hệ điều hành: Giới thiệu môn học - Nguyễn Xuân Vinh
9 p | 223 | 18
-
Bài giảng môn Hệ điều hành - Chương 4: Quản lý hệ thống file
240 p | 140 | 13
-
Bài giảng môn Hệ điều hành - Chương 1: Tổng quan về hệ điều hành
98 p | 65 | 11
-
Bài giảng môn Hệ điều hành: Hệ thống quản lý tập tin
59 p | 89 | 10
-
Bài giảng môn Hệ điều hành - Chương 3: Quản lý bộ nhớ
226 p | 43 | 9
-
Bài giảng môn Hệ điều hành: Thành phần bảo vệ và bảo mật
48 p | 77 | 9
-
Bài giảng môn Hệ điều hành - Chương 5: Quản lý vào ra
41 p | 51 | 8
-
Bài giảng môn Hệ điều hành: Tổng quan hệ điều hành
41 p | 50 | 8
-
Bài giảng Nhập môn Hệ điều hành Unix (Bài giảng tuần 1) – Nguyễn Hải Châu
6 p | 220 | 8
-
Bài giảng Nhập môn Hệ điều hành Unix (Bài giảng tuần 3) – Nguyễn Hải Châu
5 p | 110 | 3
-
Bài giảng Nhập môn Hệ điều hành Unix (Bài giảng tuần 9) – Nguyễn Hải Châu
2 p | 80 | 3
-
Bài giảng Nhập môn Hệ điều hành Unix (Bài giảng tuần 5) – Nguyễn Hải Châu
4 p | 95 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn