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