作者wheels ()
看板Grad-ProbAsk
標題Re: [理工] [OS] memory , internal fragment 觀念
時間Fri Aug 19 00:37:52 2011
※ 引述《metalalive (想玩音樂)》之銘言:
: 請教一下恐龍本中只有說明
: contiguous memory-allocation 有 external fragmentaion 的問題
: ( ex. first-fit , best-fit ... etc. )
: 有查過習題解答 8.5 裡面的敘述如下
: Contiguous memory allocation scheme suffers from external
: fragmentation as address spaces are allocated contiguously and
: holes develop as old processes dies and new processes are initiated.
: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
: ?? 這段敘述無法理解 @@
洪逸上課有提到過有些書會用hole來替代fragmentation
我猜想它是想表達contiguous memory allocation scheme在
"記憶體位址是被連續配置"且"那些剩餘的零碎記憶體要在舊的process結束
且將要配置新的process時才能被利用"這個概念裡,
也就是沒有利用dynamic binding支援解決外部碎裂的情況下(ex. compaction技術),
將會suffers from external fragmentation
: 那它到底有無 internal fragmentation 的問題?
contiguous的allocation天生是沒有internal fragmentation的!
但是如果因為一些過小的free block仍然留在available list裡,
有可能能造成search time增加及記錄成本可能大於可用空間價值的情況,
在這種情況底下有可能會採用一個作法就是:
"讓OS規定一個值,只要配置後若剩下的free block會小於此值將整塊分配給它"這個策略
如果有採用這個策略的話才會造成internal fragmentation的產生
: 還有 segmentation 有無 internal fragmentation 的問題?
paging會有內部碎裂,無外部碎裂;
segment無內部碎裂,會有外部碎裂。
原因是每個segment都是切成使用者角度來看的,
像是一個process可切成code segment, data segment, stack segment三個部分來配置,
所以大小不一定都相同,也就會有external fragmentation的產生了。
: 不知道在課本哪一段有相關的敘述??
: 找不到在哪裡
: 感謝 @@
我還沒看課本XD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.24.150.81
推 jackbll:推 講的真仔細 08/19 23:27
推 metalalive:感謝用心講解 @@b 08/23 00:10