日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Operating System Concepts--chap9 Memory Management;

發布時間:2025/4/16 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Operating System Concepts--chap9 Memory Management; 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么80%的碼農都做不了架構師?>>> ??

這一章節的memory management內容覆蓋從bare-machine approach到paging和segmentation;

9.1 background
我們在編程時候所操作的地址--logical address和實際機器中的地址--physical address不是一樣的;
他們之間的mapping是通過Memory Management Unit來進行轉換,通常是通過[relocation,offset]這樣的典型組合來完成;
而且他們之間的binding,也有幾種情況:
1,compile time:在程序編譯的時候就bind,那么這個地址肯定是絕對地址;
2,load/execution time:load/execute程序的時候bind,這種情況普遍有個模式:Relocable Addr+offset的模式,程序操作offset,然后由系統來確認Relocable addr的值,在不同情況改變relocable addr那么程序就被在memory中移來移去;

定義:
logical address:由cpu產生的address
physical address:memory unit所見的address

dynamic loading:一個模塊知道被使用的時候才會被load
dynamic linking:推遲link,但是需要os的支持,因為link會需要考慮process的protection,

9.2 swapping
swapping:針對process而言,執行的時候swap進內存,不執行的時候swap出去;
一些基于優先級的算法來支持swapping

9.3 continuous memory allocation
就是給定一塊內存,比如256M,來支持alloc/free;
《the art of computer programming》給出著名的heap算法
1,把內存用鏈表串起--開始的時候就一個節點,隨著分配和釋放,連續內存被打散,形成鏈表;
2,另外用hash表來索引節點,[key,value]--[內存塊大小,內存塊的地址],hash表有多個,以size大小分類--1k-2k的一類,2k-4k的一類,4k-8k的一類...
我們需要alloc內存出來時迅速定位到hash表,然后選擇best fit的模塊進行分類;
分配時如果已有內存塊大于所需,就裂開,
free時,如果歸還內存前后有free的內存,就merge

最大問題是:external fragmentation,可能剩余10M內存,但是都是零碎的小塊,無法alloc出一個1m的空間;

由于游戲開發中,內存有一定的規律,比如在ps3中管理顯存,就可以根據游戲需要,特殊處理render target,resolve buffer這類問題,
利用游戲的特性來進行優化,而不是單純的去做支持general的工作;會很大程度上降低這個工作;

9.4 paging
paging--允許process的logical address是連續的,但是physical address是不連續的;非常牛逼的做法;
基本概念
physical memory被分成大小一樣的一塊塊,called frame
logical memory分成大小一樣的一塊塊,叫page
page靈活的map到frame中,邏輯地址中連續的page,在physical memory中就是可以分散的分配的;

requirements
需要page table,frame table
而且在真正訪問內存的時候,需要做邏輯地址向物理地址的轉換,這會大大降低速度,硬件的支持不可避免;
TLB作為page table的cache出現,加快邏輯物理轉換速度;

more:
可以有多級page table,shared page table。。。

9.5 segmentation
segmentation:支持用戶角度對內存的劃分;
比如我們coding時候常說的:stack,heap,全局區等等;
以segmentation table做管理,以[base,offset]對來索引,可以區域保護和共享,享受external fragmentation;

9.6 segmentation with paging
把segmentation架在paging上,通過segmentation的[base,offset]地址訪問到page的[page_number,offset]再到physical memory;
很靈活很牛逼,有硬件支持也很快,intel 80386這么干的;
?


原文鏈接: http://blog.csdn.net/ccanan/article/details/1575551

轉載于:https://my.oschina.net/dtec/blog/44686

總結

以上是生活随笔為你收集整理的Operating System Concepts--chap9 Memory Management;的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 少妇一晚三次一区二区三区 | 色在线免费视频 | 少妇欧美激情一区二区三区 | 亚洲永久 | 久久久亚洲成人 | 名校风暴在线观看免费高清完整 | 日韩精品视频免费播放 | 超碰96在线| 中文字幕av在线 | 老湿机69福利区午夜x片 | 国模杨依粉嫩蝴蝶150p | 国产精品尤物 | 欧洲成人一区二区三区 | 免费三级网站 | 久久久久一区二区三区四区 | 欧美性猛交99久久久久99按摩 | 国产裸体视频 | 我想看一级黄色片 | 少妇一级淫片免费播放 | 亚洲精品久久久久久久久久吃药 | 色香蕉在线视频 | 性色av一区| 亚洲热视频 | 少妇无码一区二区三区 | www.欧美日韩 | 国产精品无码久久久久一区二区 | 亚洲AV无码国产精品午夜字幕 | 国产毛片在线 | 国产精品久久久久久白浆 | 中国第一毛片 | 亚洲国语| 日韩欧美一区二区三区久久婷婷 | 爱爱短视频 | 免费人成年激情视频在线观看 | 久久国产精品久久精品国产 | av中文字幕免费在线观看 | 村上里沙番号 | 吊视频一区二区三区 | 日本激情免费 | 国产福利在线观看 | 天天想你在线观看完整版电影免费 | 精品国产999 | 成人网免费视频 | 欧美日韩国产一区二区在线观看 | 亚洲天堂一二三 | 97超碰网| 精品少妇人妻av一区二区 | 爱av在线| 日本一区视频在线 | 国内久久精品视频 | 欧美在线中文 | 国产亚洲久久 | 日韩在线播放中文字幕 | 射区导航 | 日韩在线www | 8x国产一区二区三区精品推荐 | 欧美精品做受xxx性少妇 | 午夜视频福利在线观看 | 国产欧美日韩亚洲 | 国外亚洲成av人片在线观看 | 91麻豆视频网站 | 91久久在线观看 | 天天躁日日躁狠狠躁av麻豆男男 | 人妻饥渴偷公乱中文字幕 | 成年人黄色片 | 999热精品| 欧美一级黑人 | 日韩社区 | av中文网站 | 人体写真 福利视频 | 欧美精品一二三四区 | 精品一区二区三区在线观看 | 亚洲欧美日韩一区二区三区在线观看 | 夜夜操操操 | 精品韩国一区二区三区 | 精品影视一区二区 | 欧美综合激情 | 在线观看www. | 韩国精品视频在线观看 | 黄色大片91 | 亚洲熟妇丰满大屁股熟妇 | 爆操巨乳美女 | 亚洲黄色免费视频 | 粉嫩aⅴ一区二区三区 | 日本一二三区在线 | 日本女人hd| 国产精品久久在线 | 国产黄a | 野外一级片| 久久av无码精品人妻出轨 | 先锋影音av资源网 | 女生毛片 | 国产中文字幕在线 | 夜色综合 | 美美女高清毛片视频免费观看 | 日韩av综合网 | 国产无遮挡又黄又爽又色视频 | 岛国免费视频 | 大学生高潮无套内谢视频 |