中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Utility之內存尺寸的示例分析

發布時間:2021-12-22 09:59:42 來源:億速云 閱讀:154 作者:小新 欄目:互聯網科技

小編給大家分享一下Utility之內存尺寸的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

雖然現在64位處理器越來越多,而且VxWorks也從6.9開始提供64位處理器的支持,但是目前VxWorks更多的應用場景還是32位的。那么VxWorks在32位處理器上最多可以使用多少內存呢?

32位系統的尋址范圍是232 = 4G,但至少得給外設預留部分空間,因此可使用的內存范圍肯定要小于4GB了。做個實驗:X86的設備上,插一個4GB的內存條

Utility之內存尺寸的示例分析

使用LOCAL_MEM_AUTOSIZE模式

Utility之內存尺寸的示例分析

啟動VxWorks,內存尺寸顯示為3071MB

Utility之內存尺寸的示例分析

看一下內存的Top點在哪,可由函數sysPhysMemTop()獲得,是3GB=3072MB

Utility之內存尺寸的示例分析

少的那一個MB去哪了?原來X86的內存是從0x100000開始算的

Utility之內存尺寸的示例分析

那這3071MB都可以隨便使用嗎?當然不是

內存的大致布局如下

Utility之內存尺寸的示例分析

挨個看一下

在LOCAL_MEM_LOCAL_ADRS和RAM_LOW_ADRS之間的區域,VxWorks系統存儲了一些特定的數據

Utility之內存尺寸的示例分析

例如Boot line,在LOCAL_MEM_LOCAL_ADRS+ BOOT_LINE_OFFSET

Utility之內存尺寸的示例分析

從RAM_LOW_ADRS開始,存放的就是VxWorks系統鏡像。編譯時,鏡像尾部會加入一個全局變量end,因此可以通過end來計算鏡像的尺寸

Utility之內存尺寸的示例分析

其實這個尺寸在編譯時就確定了,只不過因為對齊的關系,略有偏差

Utility之內存尺寸的示例分析

從內存頂部往下看,有兩塊預留區域。上面一塊預留給EDR機制,其尺寸默認是24KB (PM_RESERVED_MEM = 6*VM_PAGE_SIZE)

Utility之內存尺寸的示例分析

下面一塊是用戶保留區,其尺寸是USER_RESERVED_MEM

Utility之內存尺寸的示例分析

這個區域的起始位置,可以由函數sysMemTop()獲得

Utility之內存尺寸的示例分析

可以看到與sysPhysMemTop()值相同,那是因為在當前鏡像里這倆保留區域默認都沒有使能,因此尺寸還都是0

而end與sysMemTop()之間的區域,又可以分為三塊

從end開始,存放WDB內存池,占用的空間WDB_POOL_SIZE默認是(sysMemTop()-end)/16

Utility之內存尺寸的示例分析

WDB之后,就是系統內存池,其尺寸KERNEL_HEAP_SIZE默認是(sysMemTop()-FREE_MEM_START_ADRS)/3*2 = WDB_POOL_SIZE*10

Utility之內存尺寸的示例分析

最后剩下的一塊,是預留給RTP或共享庫或共享數據區的,當它們加載時,再進行動態映射。其尺寸,就是(sysMemTop()-end)再減去WDB內存池和系統內存池,因此默認等于WDB_POOL_SIZE*5

那系統內存池的最大尺寸到底可以是多少?那就把另外幾個可選區域都去掉:WDB內存池、RTP、用戶保留區、EDR區域。系統內存池就是(sysPhysMemTop()-end):3GB減去RAM_LOW_ADRS之前的幾個MB,再減去系統鏡像的幾個MB

Utility之內存尺寸的示例分析

以上是“Utility之內存尺寸的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

弥渡县| 河间市| 金坛市| 措勤县| 灵武市| 临漳县| 乌兰浩特市| 临颍县| 尤溪县| 吴旗县| 砀山县| 河北省| 崇阳县| 奇台县| 稷山县| 钦州市| 高台县| 金乡县| 密云县| 焦作市| 澄城县| 平陆县| 建宁县| 太湖县| 汉川市| 灌阳县| 略阳县| 陆丰市| 蕲春县| 鄂托克旗| 平阴县| 汪清县| 高淳县| 光泽县| 天长市| 交城县| 革吉县| 益阳市| 秦皇岛市| 读书| 文昌市|