hosithai15

cau15. Phân tích mô hình hoạt động, cấu trúc thành phần quản lý bộ nhớ của Linux.

a. Mô hình hoạt động của Linux:

Sự hoạt động và nhiệm vụ của các thành phần trong Linux:

- Linux là hệ điều hành phân tầng. Lớp trong cũng là Hardware cung cấp những dịch vụ cho hệ điều hành.

- Nhân (Kernel) tương tác trực tiếp với phần cứng và cung cấp các dịch vụ cho chương trình người sử dụng (User Program).

- Những chương trình người sử dụng không cần biết bất kỳ điều gì về phần cứng. Chúng chỉ cần biết làm thế nào để tương tác với Kernel và tác động lên Kernel để chương trình người sử dụng không phụ thuộc vào phần cứng và dễ dàng linh động với hệ thống mới.

- User Programs tương tác với Kernel qua một bộ tiêu chuẩn "System Call". Những System Call yêu cầu các dịch vụ được cung cấp bởi Kernel. Các dịch vụ như: Truy cập một file, thay đổi quyền sở hữu một file hoặc một thư mục, ...

- Linux Kernel: Đây là phần chính nhất, Kernel tách biệt và dàn xếp việc truy cập tới các tài nguyên phần cứng, bao gồm CPU.

- Hardware: Hệ thống (phụ) này bao gồm hầu hết các thiết bị phần cứng được cài đặt trong Linux; Ví dụ: CPU, bộ nhớ, ổ đĩa, và thiết bị mạng đều là thành phần của hệ thống (phụ) này.

b. Cấu trúc thành phần quản lý bộ nhớ của Linux:

- Quản lý bộ nhớ trong Linux gồm:

•    Quản lý bộ vật lý:

Linux ngăn cách bộ nhớ vật lý làm 3 vùng khác nhau là:

- Zone_DMA

- Zone_Normal

- Zone_Highmem

Bộ quản lý bộ nhớ vật lí chính trong nhân Linux là bộ cấp phát trang

Bộ cấp phát slab, được sử dụng để cấp phát bộ nhớ cho cấu trúc dữ liệu nhân,và bộ đệm trang sử dụng cho việc cất giữ những trang thuộc về các tập tin.

•    Quản lý bộ nhớ ảo:

Bộ nhớ ảo là một kĩ thuật cho phép xử lí mọi chương trình không được nạp toàn bộ vào bộ nhớ vật lí. Bộ nhớ ảo mô hình hóa bộ nhớ như một bảng lưu trữ rất lớn và đồng nhất, tách biệt hẳn khái niệm bộ nhớ logic và bộ nhớ vật lí.

Quản lý bộ nhớ ảo cung cấp:

- Không gian địa chỉ lớn:

- Sự bảo vệ:

- Ánh xạ bộ nhớ:

- Phân bố vùng nhớ vật lí khá rõ ràng:

-  Chia sẻ bộ nhớ ảo:

 Cấu trúc thành phần quản lý bộ nhớ của Linux: Cấu trúc MM:

MM chịu trách nhiệm điều khiển tiến trình truy xuất tài nguyên bộ nhớ phần cứng. Bản thân CPU cũng có một hệ thống quản lý bộ nhớ vật lý mà cho phép ánh xạ giữa bộ nhớ tiến trình với bộ nhớ vật lý. MM phải lưu trữ ánh xạ này cho từng tiến trình. Thêm vào đó MM còn cho phép swap (trao đổi); nó sẽ di chuyển những trang bộ nhớ không dùng xuống ổ cứng cho phép máy tính cá nhân dùng bộ nhớ RAM còn trống.

MM có 3 module:

- Module phụ thuộc kiến trúc: mã gọi các lệnh của hệ thống quản lý bộ nhớ của CPU

- Module độc lập kiến trúc: ánh xạ cho từng tiến trình và swap bộ nhớ ảo. Nó cũng quyết định xem phải chuyển (rời bỏ) trang nào, nhập vào trang nào. Các lập trình viên Linux không thiết kế 1 module policy riêng vì policy cho MM sẽ không thay đổi.

- System call cho phép các tiến trình tác động lên MM bao gồm xin cấp phát vùng nhớ.

Bạn đang đọc truyện trên: TruyenTop.Vip

Tags: