Giáo trình Hệ điều hành: Phần 2 (Năm 2015)
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Giáo trình Hệ điều hành: Phần 2 (Năm 2015) HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ---------------------------- TỪ MINH PHƯƠNG GIÁO TRÌNH Hệ điều hành Hà nội 2015 Quản lý bộ nhớ CHƯƠNG 3: QUẢN LÝ BỘ NHỚ Bộ nhớ là tài nguyên quan trọng thứ hai sau CPU trong một hệ thống máy tính. Bộ nhớ bao gồm các byte hoặc các từ được đánh địa chỉ. Đây là chỗ chứa các tiến trình và dữ liệu của tiến trình. Việc quản lý và sử dụng bộ nhớ hợp lý ảnh hưởng tới tốc độ và khả năng của toàn bộ hệ thống tính toán, do vậy, quản lý bộ nhớ là một chức năng quan trọng của hệ điều hành. Các công việc liên quan tới quản lý bộ nhớ bao gồm quản lý bộ nhớ trống, cấp phát bộ nhớ trống cho các tiến trình và giải phóng bộ nhớ đã cấp phát, ngăn chặn việc truy cập trái phép tới các vùng bộ nhớ, ánh xạ giữa địa chỉ lôgic và địa chỉ vật lý. Trong trường hợp yêu cầu về bộ nhớ của các tiến trình lớn hơn dung lượng bộ nhớ vật lý, hệ điều hành cho phép trao đổi thông tin giữa đĩa và bộ nhớ hoặc tổ chức bộ nhớ ảo để thoả mãn nhu cầu các tiến trình. Trong chương này ta sẽ xem xét những kiểu tổ chức hệ thống và cách thức khác nhau để quản lý bộ nhớ. Các kiểu tổ chức được xem xét từ đơn giản như hệ thống đơn chương trình cho tới phức tạp hơn - đa chương trình. 3.1. ĐỊA CHỈ VÀ CÁC VẤN ĐỀ LIÊN QUAN Có thể hình dung bộ nhớ máy tính như một chuỗi các ô nhớ được đánh địa chỉ bắt đầu từ 0. Đơn vị đánh địa chỉ có thể là từ máy (words) nhưng thường là byte. Trong quá trình thực hiện tiến trình, CPU đọc các lệnh từ bộ nhớ và thực hiện các lệnh này. Các lệnh có thể có yêu cầu đọc, xử lý và ghi dữ liệu ngược vào bộ nhớ. Để có thể thực hiện các lệnh và xử lý dữ liệu, cả dữ liệu và lệnh đều phải được gán địa chỉ. CPU sử dụng địa chỉ để xác định lệnh và dữ liệu cụ thể. 3.1.1. Vấn đề gán địa chỉ Chương trình máy tính thường không được viết trực tiếp trên ngôn ngữ máy, trừ thế hệ máy tính đầu tiên, mà viết trên một ngôn ngữ bậc cao hoặc trên hợp ngữ. Các chương trình nguồn phải qua một quá trình dịch và liên kết trước khi trở thành chương trình có thể tải vào và thực hiện. Quá trình đó được biểu diễn trên hình 3.1. Ở mỗi giai đoạn, địa chỉ được biểu diễn theo một cách khác nhau. Khi viết chương trình, chúng ta sử dụng địa chỉ dưới dạng các tên (ví dụ tên biến, tên hàm) theo quy ước của ngôn ngữ lập trình. Khi dịch, chương trình dịch biến đổi mã nguồn của từng mô đun (từng file mã nguồn) thành mã máy và thay đổi tên thành địa chỉ. Do không biết vị trí chính xác của mô đun được dịch trong chương trình nên chương trình dịch chỉ có thể ánh xạ tên thành các địa chỉ tương đối tính từ đầu mô đun chương trình được dịch. Liên kết là quá trình kết hợp các mô đun chương trình, bao gồm cả các mô đun chứa các hàm thư viện, thành chương trình hoàn chỉnh, còn gọi là các mô đun tải được. Chương trình liên kết biết vị trí chính xác các mô đun trong chương trình, do vậy chương trình liên kết có thể gán địa chỉ trong phạm vi toàn chương trình, thay vì trong từng mô đun như chương trình dịch. Sau khi liên kết xong, ta được chương trình có thể tải vào bộ nhớ để thực hiện. Để thực hiện một chương trình, hệ điều hành đọc chương trình từ đĩa vào bộ nhớ và tạo ra tiến trình tương ứng. Vị trí mà chương trình sẽ được tải vào trong bộ nhớ là có thể thay đổi 92 Quản lý bộ nhớ và thường không biết trước. Chẳng hạn, mặc dù địa chỉ đầu của bộ nhớ là 00000, địa chỉ đầu của tiến trình hoàn toàn có thể khác 00000 và thậm chí có thể thay đổi trong quá trình thực hiện tiến trình. Do đó, khi viết chương trình, lập trình viên chưa biết và chưa thể gán địa chỉ cho các lệnh cũng như dữ liệu. Các chương trình dịch và liên kết cũng không biết địa chỉ chính xác khi thực hiện công việc của mình. Mã nguồn mô Mã nguồn đun khác (prog.c) (printf.c) Chương trình Chương trình dịch dịch Mô đun object Mô đun object (printf.obj) (prog.obj) Thư viện hóa Thư viện Chương trình (*.lib) 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ớ Hình 3.1. Quá trình tạo và tải chương trình vào bộ nhớ Như vậy, hệ điều hành cần có khả năng gán địa chỉ và ánh xạ các địa chỉ này tuỳ thuộc vào vị trí tiến trình trong bộ nhớ. Khả năng sử dụng những vùng nhớ không cố định cho tiến trình và ánh xạ địa chỉ là một yêu cầu rất quan trọng đối với hệ điều hành khi thực hiện chức năng quản lý bộ nhớ. Ngoại lệ. Trong một số hệ điều hành đơn giản, như hệ điều hành CP/M, một số dạng chương trình như chương trình kiểu .com luôn được tải vào một vị trí xác định trong bộ nhớ (vị trí 100h). Với chương trình và hệ thống kiểu này, địa chỉ được xác định ngay từ lúc viết mã nguồn trên hợp ngữ, hoặc trong quá trình dịch và liên kết. 93 Quản lý bộ nhớ 3.1.2. Địa chỉ lô gic và địa chỉ vật lý Do vị trí tiến trình trong bộ nhớ có thể thay đổi, cần phân biệt hai loại địa chỉ: địa c ...
Tìm kiếm theo từ khóa liên quan:
Giáo trình Hệ điều hành Hệ điều hành Quản lý bộ nhớ ảo Quản lý không gian lưu trữ của file An toàn bảo mật hệ thống file Ánh xạ địa chỉTài liệu cùng danh mục:
-
Giáo trình Lý thuyết hệ điều hành: Phần 1 - Nguyễn Kim Tuấn
110 trang 434 0 0 -
Lecture Operating systems: Lesson 24 - Dr. Syed Mansoor Sarwar
29 trang 359 0 0 -
Bài giảng Xử lý sự cố phần mềm - Bài 4 Xử lý sự cố sử dụng Internet
14 trang 316 0 0 -
Lecture Operating systems: Lesson 21 - Dr. Syed Mansoor Sarwar
22 trang 309 0 0 -
3 trang 280 0 0
-
Làm việc với Read Only Domain Controllers
20 trang 268 0 0 -
80 trang 258 0 0
-
Lecture Operating systems: Lesson 13 - Dr. Syed Mansoor Sarwar
31 trang 255 0 0 -
Giáo trình Nguyên lý các hệ điều hành: Phần 2
88 trang 254 0 0 -
175 trang 252 0 0
Tài liệu mới:
-
Khảo sát tình trạng dinh dưỡng trước mổ ở người bệnh ung thư đại trực tràng
9 trang 20 0 0 -
94 trang 18 0 0
-
Tham vấn Thanh thiếu niên - ĐH Mở Bán công TP Hồ Chí Minh
276 trang 19 0 0 -
Kết hợp luân phiên sóng T và biến thiên nhịp tim trong tiên lượng bệnh nhân suy tim
10 trang 18 0 0 -
Đề thi giữa học kì 1 môn Ngữ văn lớp 9 năm 2024-2025 có đáp án - Trường THCS Nguyễn Trãi, Thanh Khê
14 trang 20 0 0 -
Đánh giá hiệu quả giải pháp phát triển thể chất cho sinh viên Trường Đại học Kiến trúc Hà Nội
8 trang 18 0 0 -
Tỉ lệ và các yếu tố liên quan đoạn chi dưới ở bệnh nhân đái tháo đường có loét chân
11 trang 19 0 0 -
39 trang 18 0 0
-
Đề thi học kì 1 môn Tiếng Anh lớp 6 năm 2024-2025 có đáp án - Trường TH&THCS Quang Trung, Hội An
6 trang 18 1 0 -
Tôm ram lá chanh vừa nhanh vừa dễRất dễ làm, nhanh gọn mà lại ngon. Nhà mình
7 trang 18 0 0