內存控制塊OS_MEM的結構
為了使系統能夠感知和有效地管理內存分區,μc/os-ii給每個內存分區定義了一個叫做內存控制塊(os_mem)的數據結構。系統就用這個內存控制塊來記錄和跟蹤每個內存分區的狀態。內存控制塊的結構如下:
當應用程序調用函數osmemcreate()建立了一個內存分區之后,內存控制塊與內存分區和內存塊之間的關系如圖所示。
從圖(b)中可知,內存控制塊的內存分區指針osmemaddr指向了內存分區,內存分區中的各個內存塊又組成了一個單向鏈表,內存控制塊的鏈表指針osmemfreelist就指向了這個單向鏈表的頭。
內存控制塊的其他三個變量分別記錄了分區中內存塊的長度、總數目以及現在還未被分配的內存塊數目。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論