分區(qū)式存儲(chǔ)管理源代碼
一、可變分區(qū)存儲(chǔ)管理的基本策略
1)不預(yù)先劃分幾個(gè)固定分區(qū),分區(qū)的建立是在作業(yè)的處理過程中進(jìn)行的,各分區(qū)的大小由作業(yè)的空間需求量決定。
2)采用指針方式將各個(gè)空閑分區(qū)鏈接而成的鏈表,用以記錄主存分配現(xiàn)狀。
3)分配與回收算法按空閑分區(qū)鏈接方式的不同分類,有最佳、最壞、首次和下次適應(yīng)四種算法。
二、程序模擬的設(shè)計(jì)
1、基本思想
采用事件驅(qū)動(dòng)模型。事件有:
1)申請(qǐng)主存事件,表示一個(gè)作業(yè)創(chuàng)建時(shí)提出的主存資源要求;
2)釋放主存事件,表示一個(gè)作業(yè)結(jié)束時(shí)其占用主存被回收。
2、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)
......
typedef struct Event_DataType{事件數(shù)據(jù)類型的定義intEventType事件的類型 申請(qǐng)ASK或釋放RELEASE
int OccurTime 事件發(fā)生的時(shí)間
char JobName 申請(qǐng)主存或被回收主存的作業(yè)名
int JobId 進(jìn)入系統(tǒng)的作業(yè)在作業(yè)表中相應(yīng)表項(xiàng)的編號(hào)
int SizeOfMemoryForAsk 作業(yè)申請(qǐng)占用主存的尺寸
int OccupyTimeOfMemoryForAsk 作業(yè)申請(qǐng)占用主存的時(shí)間長度
int WaitFlag 該事件是否等待過TRUE或FALSE
標(biāo)簽:
分區(qū)
存儲(chǔ)管理
分
源代碼
上傳時(shí)間:
2014-12-20
上傳用戶:cc1015285075