11.1 節講解內存和I/O 的硬件機制,主要涉及內存空間、I/O 空間和MMU。
11.2 節講解Linux 的內存管理、內存區域的分佈、常規內存與高端內存的區別。
11.3 節講解Linux 內存存取的方法,主要涉及內存動態申請以及通過虛擬地址存取物理地址的方法。
小結:
今天看到了 內存池的相關概念,這個對於我來說,是一個要重點學習的東西。
其實也就幾個函數:
創建內存池:
mempool_t *mempool_create(int min_nr, mempool_alloc_t *alloc_fn,
mempool_free_t *free_fn, void *pool_data);
分配和回收對象
void *mempool_alloc(mempool_t *pool, int gfp_mask);
void mempool_free(void *element, mempool_t *pool);
釋放內存池
void mempool_destroy(mempool_t *pool);