Tôi quan tâm đến cách các tệp Linux mmaps vào bộ nhớ chính (trong ngữ cảnh của tôi để thực thi, nhưng tôi đoán quy trình mmap cũng giống như để viết và đọc) và kích thước của nó sử dụng.
Vì vậy, tôi biết Linux sử dụng phân trang với kích thước trang 4kB thường (trong đó tôi có thể tìm thấy kích thước này ở đâu?). Nhưng chính xác điều này có ý nghĩa gì đối với bộ nhớ được phân bổ: Giả sử bạn có một tệp nhị phân có kích thước vài nghìn byte, hãy nói 5812B và bạn thực hiện nó. Điều gì xảy ra trong kernel: Nó có phân bổ 2 * 4kB và sau đó sao chép 5812B vào không gian này, làm lãng phí> 3KB bộ nhớ chính trong trang 2 không?
Sẽ thật tuyệt nếu có ai biết tệp trong nguồn kernel nơi xác định kích thước trang.
Câu hỏi thứ 2 của tôi cũng rất đơn giản Tôi đoán: Tôi giả sử 5812B là kích thước tệp. Có đúng không, kích thước này chỉ đơn giản là được lấy từ inode?