【Linux】malloc和free底層的簡單實現!!!

從操作系統角度來看,進程分配內存有兩種方式,分別由兩個系統調用完成:brk和mmap(當然在這裏是不考慮共享內存) brk是將數據段(.data)的最高地址指針_edata往高地址推; mmap是在進程的虛擬地址空間中(堆和棧中間,稱爲文件映射區域的地方)找一塊空閒的虛擬內存。 注: 在開闢空間的時候只是在進程的虛擬地址空間內開闢指定大小的內存,但是並沒有實際在物理內存上面開闢空間,只有當對開闢的
相關文章
相關標籤/搜索