free 的本質是什麼?

時間 2021-05-09 16:37:49

1樓:Belleve

x86 CPU(以及大多數的其他 CPU)是有位址轉換的,每個程序所看到的虛擬位址(Virtual Address,x86 中是線性位址 Linear Address)和實體地址(Physical Address)之間通過頁表機制轉換。頁表可以看作乙個位址對映函式,每個程序都不一樣。如果乙個虛擬位址在頁表中沒有記錄,那麼訪問它就會得到異常。

對了,大多數 CPU 中的頁表還可以把記憶體讀寫對映到中斷,實現交換區。

對作業系統而言,記憶體分配就是記錄以下三個東西:實體地址的占用情況(某程序的)虛擬位址的占用情況

頁表對映

那麼對 malloc 而言,它最終(注意 libc 和作業系統都會做一定的記憶體管理,不是所有的 malloc 都會動頁表)做的事情是:

將某段實體地址標記為已占用

將某段虛擬位址標記為已占用

在頁表裡加一條對映

將某段虛擬位址標記為空閒

2樓:yang leonier

Windows NT系列作業系統中free的本質是一層層向下呼叫,最終呼叫NT核心的介面NtFreeVirtualMemory/ZwFreeVirtualMemory

Free monoid 的 free 是什麼意思?

提供乙個不進入範疇的想法。當然這個想法和範疇裡面的想法是一樣的。令 S 上的自由么半群是 F,考慮隨便乙個么半群 M,和隨便乙個對映 f S M,可以自然地誘導乙個 g F M 是么半群同態,簡單地來說就是把 F 元素裡面的每個 S 的字元 s 都替換為 f s 所謂自由是指可以自由指定S 中每個元...

本質的本質是什麼?

首先,本質表示事物內部或事物之間所固有的 內在的 穩定的聯絡。那麼這種聯絡的本質是什麼呢?好比人存在的意義是什麼?NaOH和HCl會反應,它們之間有某種聯絡,這種聯絡的本質是 未知 本質就是定義,即詞的定義,本質的本質就是定義的定義。詞是用來指稱人所感受的到世界的,這種指稱是人們 一部分人 共同約定...

本質的本質是什麼呢?

夕陽醉了 鬧不清楚啊。主觀只能無限接近的描述乙個客觀的東西。但永遠無法真正描述清楚。就像蘋果的顏色,基於眼睛看到後是紅色,如果用最精密的儀器看也許會看到更多的顏色。例如味道,我嘗是甜的,但也只是基於我自己的味蕾。也許它還有其它的味道,只是我受限於自己的味蕾所以嘗不出來。我們所說的一切都是基於我們的五...