Philosophy : Demand paged virtual memory (architecture independent)
But, architecture-dependent mapping is needed
Linux Paging Notion
Linux Paging Implementation
- read then page fault (segmentation fault) start end area
- write code is fault so OS read commision
- also fault because because r/w no physical in frame then replacement
KMA: dynamic memory allocation in head (3gb) by malloc. in kernel (1gb) memory allocation
because kernel cannot use malloc
- contiguous page frame allocator : alloc_pages()
- noncontiguous page fram allocator : vmalloc()
- memory object allocators : the slab alloctor
- kmem_cache_alloc : congifuous allocation of kernel objects
- kmalloc() : contiguous allocation of arbitrary length up to 128kb