黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

Linux學(xué)習(xí)筆記5——虛擬內(nèi)存

系統(tǒng) 2418 0

一、為什么要有虛擬內(nèi)存

  虛擬內(nèi)存的提出,是為了禁止用戶直接訪問物理存儲設(shè)備,有助于系統(tǒng)穩(wěn)定。

?

二、為什么一個程序不能訪問另外一個程序的地址指向的空間

  1:每個程序的開始地址0x80084000

  2:程序中使用的地址不是物理地址,而是邏輯地址(虛擬內(nèi)存).
?????? 邏輯地址僅僅是編號.編號使用int 4字節(jié)整數(shù)表示.
?????? 2^32=4294967296=4G
????? ?每個程序提供了4G的訪問能力

?

三、內(nèi)存映射

  邏輯地址與物理地址關(guān)聯(lián)的過程是內(nèi)存映射。

  虛擬地址與物理地址映射的時候有一個基本單位:至少會映射4K。

  段錯誤:無效訪問. 那段內(nèi)存沒有映射,訪問的內(nèi)存超出了系統(tǒng)所給這個程序的內(nèi)存空間。

  合法訪問:比如malloc分配的空間之外的空間可以訪問,但訪問非法。因是越界訪問

?

四、虛擬內(nèi)存的分配

  分配釋放內(nèi)存:???int brk(void *end);   //分配空間,釋放空間

         ?void *sbrk(int size);  //返回空間地址

  應(yīng)用:1.使用sbrk分配空間

  ? ??????2.使用sbrk得到?jīng)]有映射的虛擬地址.
?      第一次調(diào)用sbrk,sbrk(0)得到的是沒有映射的虛擬首地址。

  ? ??????3.使用brk分配空間

  ? ??????4.使用brk釋放空間

?

  sbrk(int? size):如果是第一次運行,則返回沒有映射的空閑空間首地址,同時產(chǎn)生一個數(shù)據(jù):指向地址

???? ?sbrk與brk后臺系統(tǒng)維護一個指針,指針默認(rèn)是null。

???? ?調(diào)用sbrk,判定指針是否是0,是:得到大塊空閑空間的首地址初始化指針.同時把指針+size????

?????? ???????????????????????????????? 否:返回指針,并且把指針位置+size

Linux學(xué)習(xí)筆記5——虛擬內(nèi)存


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發(fā)表我的評論
最新評論 總共0條評論