1071
Comment:
|
1063
|
Deletions are marked like this. | Additions are marked like this. |
Line 8: | Line 8: |
* Demand paging of executable files: When you execute a program, only a portion (how many bytes?, Is tunneable?) of it is loaded into memory. If the procesor attemps to execute code that is not in memory a page fault is generated and a page is loaded from the executable file. | * Demand paging of executable files: When you execute a program, only a portion of it is loaded into memory. If the procesor attemps to execute code that is not in memory a page fault is generated and a page is loaded from the executable file. On memory pressure, the pages are freed without disk access. |
Line 10: | Line 10: |
* Demand paging on the heap: I'm not sure here, but I think that the kernel defer the allocation after a brk() system call and do it when the process try to access to that pages. | * Demand paging on the heap: The kernel defer the allocation after a brk() system call and do it when the process try to access to that pages. |
I think that demand paging it's an interesting topic, so I will try to write some ideas.
Concept
It's a dynamic memory allocation technique that consist of deferring page frame allocation until the last possible moment, for example, when a process attemps to access a page that is not present in RAM.
Different areas where demand paging apply
- Demand paging of executable files: When you execute a program, only a portion of it is loaded into memory. If the procesor attemps to execute code that is not in memory a page fault is generated and a page is loaded from the executable file. On memory pressure, the pages are freed without disk access.
- Demand paging of regular files: This apply only to mmap()ed files. Only the active pages of the file are resident on memory. On memory pressure modified pages will be written in the file (MAP_SHARED) or in the swap area (MAP_PRIVATE).
- Demand paging on the heap: The kernel defer the allocation after a brk() system call and do it when the process try to access to that pages.