Nguyên tắc quản lý bộ nhớ được sử dụng bởi Linux


Câu trả lời:


7

Linux sử dụng cả hai. Nó sử dụng phân đoạn để ánh xạ tất cả không gian địa chỉ có sẵn trong khi cung cấp các quyền truy cập khác nhau: về cơ bản là hạt nhân và chế độ xem không gian người dùng. Bạn có thể grep mã nguồn Linux cho KERNEL_DS (phân đoạn dữ liệu kernel) cho một số ví dụ.

Phân trang sau đó được sử dụng để triển khai bộ nhớ ảo (Grep cho "struct gdt_page" trong kernel, cho điểm bắt đầu)


6

Quản lý bộ nhớ trong Linux hoạt động độc quyền bằng cách phân trang.

Linux hỗ trợ cả các trang "nhỏ" (thường là 4kB) và "lớn" (2M). Cái trước "chỉ hoạt động" mà bạn không biết hoặc làm bất cứ điều gì đặc biệt, và cái sau cần được đối xử đặc biệt (phải được bảo lưu khi khởi động và được ánh xạ qua một thiết bị đặc biệt).

Bối cảnh duy nhất trong đó "phân đoạn" xuất hiện trong Linux là tòa nhà brk () được sử dụng để tăng phân đoạn dữ liệu của một quy trình (thông thường bạn sẽ không cần điều này, malloc thực hiện nó mà không cần bạn phải quan tâm). Nhưng dù bằng cách nào, bộ nhớ đến trong các trang và được quản lý trong các trang và nó không liên quan gì đến phân đoạn x86.


Phân khúc X86 đã lỗi thời khi i386 ra mắt. Linux chưa bao giờ sử dụng phân đoạn để quản lý bộ nhớ. Một số dẫn xuất như ELKS và (có thể) uClinux có thể.
LawrenceC
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.