Ánh xạ không gian địa chỉ kernel liên quan đến không gian địa chỉ ảo - một câu hỏi dựa trên văn bản của Robert Love


7

Trong phiên bản thứ 3 của Linux Kernel Development (LKD), chương 12 dưới Khu, Robert Love nói:

Cụ thể, Linux phải đối phó với hai thiếu sót về phần cứng liên quan đến việc giải quyết bộ nhớ:

  1. Một số thiết bị phần cứng có thể thực hiện DMA (truy cập bộ nhớ trực tiếp) chỉ một số địa chỉ bộ nhớ nhất định.

  2. Một số kiến ​​trúc có thể giải quyết một cách vật lý số lượng bộ nhớ lớn hơn hầu như chúng có thể giải quyết. Do đó, một số bộ nhớ không được ánh xạ vĩnh viễn vào không gian địa chỉ kernel.

Những câu hỏi của tôi:

  1. Đầu tiên là được, anh ta có ý gì bởi 2?
  2. Có phải ông muốn nói: Một số kiến ​​trúc có thể giải quyết lượng bộ nhớ vật lý lớn hơn so với chúng có thể giải quyết các địa chỉ ảo?
  3. Làm thế nào mà có thể? Tôi nghĩ không gian địa chỉ ảo lớn hơn bộ nhớ vật lý hoặc ít nhất (nếu có) bằng bộ nhớ vật lý.
  4. Ngoài ra, không phải vì VAS (không gian địa chỉ ảo) lớn hơn bộ nhớ vật lý, một số bộ nhớ không được ánh xạ vĩnh viễn vào KAS (không gian địa chỉ kernel).

Nhưng tôi đoán rằng chỉ có bộ nhớ vật lý được ánh xạ vào KAS. Hãy cho tôi biết ý nghĩa của anh ấy ở điểm số 2 ở trên và những giả định sai nào tôi đang thực hiện ở đây.

Câu trả lời:


4

Mở rộng địa chỉ vật lý (PAE) nghe giống hệt như những gì anh ấy đề cập đến.

CPU 32 bit chỉ có thể ánh xạ bộ nhớ ~ 4gb, ngay cả khi hệ thống có nhiều hơn. Nhưng với PAE, bạn có thể sử dụng> 4gb, mặc dù chỉ có 4gb trong số đó được ánh xạ bất kỳ lúc nào (một quy trình duy nhất sẽ không bao giờ có thể sử dụng> 4gb).

Vì vậy, về cơ bản khi kernel thay đổi quá trình đang chạy tích cực, nó sẽ ánh xạ lại bộ nhớ ảo vào bộ nhớ vật lý mà quá trình đó hiện đang sử dụng.

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.