1、按優先權調度算法,實現處理器調度。 2、主存儲器空間的分配和回收 在可變分區管理方式下,采用最先適應算法實現主存空間的分配和回收。
標簽: 調度算法
上傳時間: 2015-04-23
上傳用戶:zhanditian
TC 2.0 挖地雷 關于TC2.0版的挖地雷 1、整個游戲基于事件驅動的工作方式,這一點和windows應用程序是相通的。在程序的主 干中,不停的捕捉鼠標事件,再通過一個函數: Bool analysis(CPoint point, ClickInfor infor) 來分析鼠標事件作用在哪個對象上(游戲中的元素,比如按鈕、菜單、地雷單元格都是 作為一個對象來看待),然后把鼠標事件分配到相應的對象上。不同的對象,對鼠標事件 有自己的事件處理函數,比如菜單的事件處理函數有兩個:單擊菜單項和鼠標焦點落在 菜單項上。菜單對象能夠依據analysis傳給它的擊鍵信息,來判斷到底調用哪個事件處 理函數。(在windows編程中,其實也是給對象或控件寫事件處理函數)。 當然了,我這個程序中事件處理機制是非常基礎和簡單的,因為用的是TC2.0的編譯器, 所以很多東西要自己寫,會麻煩一些。 ………………詳細情況見包內文檔!
上傳時間: 2013-12-24
上傳用戶:佳期如夢
分區式存儲管理源代碼 一、可變分區存儲管理的基本策略 1)不預先劃分幾個固定分區,分區的建立是在作業的處理過程中進行的,各分區的大小由作業的空間需求量決定。 2)采用指針方式將各個空閑分區鏈接而成的鏈表,用以記錄主存分配現狀。 3)分配與回收算法按空閑分區鏈接方式的不同分類,有最佳、最壞、首次和下次適應四種算法。 二、程序模擬的設計 1、基本思想 采用事件驅動模型。事件有: 1)申請主存事件,表示一個作業創建時提出的主存資源要求; 2)釋放主存事件,表示一個作業結束時其占用主存被回收。 2、數據結構設計 ...... typedef struct Event_DataType{事件數據類型的定義intEventType事件的類型 申請ASK或釋放RELEASE int OccurTime 事件發生的時間 char JobName 申請主存或被回收主存的作業名 int JobId 進入系統的作業在作業表中相應表項的編號 int SizeOfMemoryForAsk 作業申請占用主存的尺寸 int OccupyTimeOfMemoryForAsk 作業申請占用主存的時間長度 int WaitFlag 該事件是否等待過TRUE或FALSE
上傳時間: 2014-12-20
上傳用戶:cc1015285075
程序運行時,首先提示“請輸入資源分配表文件的文件名:”;再提示“請輸入進程等待表文件的文件名:”。 輸入兩個文件名后,程序將讀入兩個文件中的有關數據,并按照死鎖檢測算法進行檢測。
上傳時間: 2013-12-07
上傳用戶:杜瑩12345
.數據結構 假設有M個進程N類資源,則有如下數據結構: MAX[M*N] M個進程對N類資源的最大需求量 AVAILABLE[N] 系統可用資源數 ALLOCATION[M*N] M個進程已經得到N類資源的資源量 NEED[M*N] M個進程還需要N類資源的資源量 2.銀行家算法 設進程I提出請求Request[N],則銀行家算法按如下規則進行判斷。 (1)如果Request[N]<=NEED[I,N],則轉(2);否則,出錯。 (2)如果Request[N]<=AVAILABLE,則轉(3);否則,出錯。 (3)系統試探分配資源,修改相關數據: AVAILABLE=AVAILABLE-REQUEST ALLOCATION=ALLOCATION+REQUEST NEED=NEED-REQUEST (4)系統執行安全性檢查,如安全,則分配成立;否則試探險性分配作廢,系統恢復原狀,進程等待。 3.安全性檢查 (1)設置兩個工作向量WORK=AVAILABLE;FINISH[M]=FALSE (2)從進程集合中找到一個滿足下述條件的進程, FINISH[i]=FALSE NEED<=WORK 如找到,執行(3);否則,執行(4) (3)設進程獲得資源,可順利執行,直至完成,從而釋放資源。 WORK=WORK+ALLOCATION FINISH=TRUE GO TO 2 (4)如所有的進程Finish[M]=true,則表示安全;否則系統不安全。
上傳時間: 2014-01-05
上傳用戶:moshushi0009
數據結構 假設有M個進程N類資源,則有如下數據結構: MAX[M*N] M個進程對N類資源的最大需求量 AVAILABLE[N] 系統可用資源數 ALLOCATION[M*N] M個進程已經得到N類資源的資源量 NEED[M*N] M個進程還需要N類資源的資源量 2.銀行家算法 設進程I提出請求Request[N],則銀行家算法按如下規則進行判斷。 (1)如果Request[N]<=NEED[I,N],則轉(2);否則,出錯。 (2)如果Request[N]<=AVAILABLE,則轉(3);否則,出錯。 (3)系統試探分配資源,修改相關數據: AVAILABLE=AVAILABLE-REQUEST ALLOCATION=ALLOCATION+REQUEST NEED=NEED-REQUEST (4)系統執行安全性檢查,如安全,則分配成立;否則試探險性分配作廢,系統恢復原狀,進程等待。 3.安全性檢查 (1)設置兩個工作向量WORK=AVAILABLE;FINISH[M]=FALSE (2)從進程集合中找到一個滿足下述條件的進程, FINISH[i]=FALSE NEED<=WORK 如找到,執行(3);否則,執行(4) (3)設進程獲得資源,可順利執行,直至完成,從而釋放資源。 WORK=WORK+ALLOCATION FINISH=TRUE GO TO 2 (4)如所有的進程Finish[M]=true,則表示安全;否則系統不安全。
上傳時間: 2013-12-24
上傳用戶:alan-ee
操作系統銀行家算法實習程序,可以輸入資源和進程信息,計算安全序列,能否為某個請求分配資源
上傳時間: 2015-04-29
上傳用戶:Andy123456
支持多個進程并發運行的簡單進程管理模擬系統。本系統的同步機構采用的信號量上的P,V操作的機制;控制機構包括阻塞和喚醒操作;時間片中斷處理程序模擬的時間片中斷;進程調度程序負責為各進程分配處理機。
上傳時間: 2013-12-26
上傳用戶:huannan88
Linux下使用c語言實現的內存管理模擬器 假設有臺計算機物理內存大小為4MB,每個內存頁大小為4k。采用分頁機制,使用二級頁表,第一級為頁目錄,共有1024項,每個頁目錄項指向一個頁表,每個頁表項指向一個實際的物理頁面,每個頁表共有1024個頁表項。假設頁目錄和頁表不占用內存空間。 系統中還有一個交換設備,采用分塊管理機制,每塊大小為4K,共1024個。有一系列內存訪問指令,系統根據內存訪問指令的內存虛地址訪問內存。如果頁目錄項為空,則分配一個頁表,并將相關值存入頁目錄項,如果頁表項為空,則請求分配一個內存頁,如果沒有空閑內存,則使用頁面置換算法換出一個內存頁到交換設備上。如果頁表項表明內存頁在交換設備上,則先請求一個物理內存頁,然后從交換設備上讀入內存內容,釋放交換設備上的磁盤塊。
上傳時間: 2015-05-01
上傳用戶:ardager
模擬頁式虛擬存儲管理中缺頁中斷理想型淘汰算法1. 隨機確定內存大小,頁面數,進程的個數,每個進程的頁數,給進程分配的頁面數。要求計算缺頁次數,缺頁率,被淘汰的序列。
上傳時間: 2015-05-02
上傳用戶:秦莞爾w