xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

資源簡(jiǎn)介

計(jì)算機(jī)操作系統(tǒng)的動(dòng)態(tài)分區(qū)分配與回收實(shí)驗(yàn)的Python實(shí)現(xiàn)代碼。

資源截圖

代碼片段和文件信息

from?random?import?randint

class?storage(object):
????def?__init__(selfsize):
????????self.memory_size?=?size

#首次適應(yīng)算法
class?OS_1(object):
????storageUnit?=?storage(12)
????temp?=?storageUnit.memory_size
????memory_list?=?[0?for?i?in?range(temp)]??#物理存儲(chǔ)單元,初始化為0
????memory_addr?=?[0?for?i?in?range(temp)]?#記錄每個(gè)單元是否使用初始化為0
????memory_block?=?[]

????#分配內(nèi)存部分
????def?allocate_unit(selfneed_size):
????????size_count?=?0
????????record?=?0
????????flag?=?True
????????memory_list?=?[]
????????for?addr?in?range(self.storageUnit.memory_size):
????????????if?self.memory_addr[addr]?==?0:
????????????????if?flag:
????????????????????record?=?addr?#記錄開始地址來便儲(chǔ)存某物
????????????????????flag?=?False
????????????????size_count?+=?1
????????????????if?size_count?==?need_size:#當(dāng)前存儲(chǔ)塊滿足所需大小時(shí),進(jìn)行存儲(chǔ)
????????????????????for?i?in?range(size_count):
????????????????????????self.memory_list[size_count+i]?=?chr(1111)
????????????????????????self.memory_addr[record+i]?=?1?#標(biāo)記
????????????????????????memory_list.append(record+i)?#塊內(nèi)空間
????????????????????self.memory_block.append(memory_list)#記錄塊
????????????????????break
????????????else:#不滿足時(shí),重新尋找新的內(nèi)存塊,last_count重置為0
????????????????size_count?=?0
????????????????flag?=?True
????????if?size_count?????????????print(‘!!分配內(nèi)存失敗!!沒有足夠內(nèi)存分配給該作業(yè)!‘)

????#回收部分
????def?reclaim_unit(selfidentifier):
????????if?identifier?>?len(self.memory_block):
????????????print(‘error?input‘)
????????????exit(1)
????????for?addr?in?self.memory_block[identifier]:
????????????self.memory_addr[addr]?=?0
????????self.memory_block.remove(self.memory_block[identifier])

????#存儲(chǔ)顯示部分
????def?memoryView(self):
????????print(‘當(dāng)前的內(nèi)存存儲(chǔ)情況為:‘)
????????for?count?in?range(len(self.memory_block)):
????????????start?=?self.memory_block[count][0]
????????????end?=?self.memory_block[count][len(self.memory_block[count])-1]
????????????lenth?=?len(self.memory_block[count])
????????????print(‘分區(qū):‘count‘\t‘‘大小:‘lenth‘\t‘‘地址:‘start‘~‘end)

#循環(huán)首次適應(yīng)算法
class?OS_2(object):
????storageUnit?=?storage(12)
????temp?=?storageUnit.memory_size
????memory_list?=?[0?for?i?in?range(temp)]??#物理存儲(chǔ)單元,初始化為0
????memory_addr?=?[0?for?i?in?range(temp)]?#記錄每個(gè)單元是否使用初始化為0
????memory_block?=?[]
????memory?=?0#標(biāo)記上次分配地址塊的位置

????def?allocate_unit(selfneed_size):
????????size_count?=?0
????????record?=?0
????????flag?=?True
????????memory_list?=?[]
????????for?addr?in?range(self.storageUnit.memory_size):
????????????location?=?(self.memory?+?addr)?%?self.storageUnit.memory_size
????????????if?self.memory_addr[location]?==?0:
????????????????if?flag:
????????????????????record?=?location?#記錄開始地址來便儲(chǔ)存某物
?????????????

評(píng)論

共有 條評(píng)論