設計乙個實現適應演算法的程式(作業系統)

2025-03-24 21:40:21 字數 3285 閱讀 4024

1樓:匿名使用者

我也在找這個問題,哥們咱們是不是乙個地方的?

【高分懸賞】用c/c++語言設計乙個適應演算法(最先、最佳或最壞適應演算法)

2樓:

考的是記憶體的動態劃分割槽域內容,很好寫啊。

1.可以用數字來模擬記憶體區域劃分情況,比如建乙個100大小的陣列(結構為struc (區號,值),值為0表示空閒,值為1表示佔用,初始化幾個已確定佔有的分割槽,分割槽一,1-5 佔有,6-12 空閒,。。並建立空閒區域表,很簡單,從頭到尾對陣列掃瞄下就知道了。

2.最先適應:從記憶體開始位址找到第乙個大於請求大小的連續空閒區域,如請求5個空間,那就在剛開始6-12空閒處建立分割槽二 ,6-11 ,佔用。

3.最佳適應:指所有空閒塊最適應請求大小的那塊,min(空閒塊大小-請求大小)

4.最壞:指適應請求大小,且最大的那塊空閒區域。

演算法與程式的關係

3樓:法律顧問李公尺

程式包含演算法,演算法就是程式的靈魂,乙個需要實現特定功能的程式,實現它的演算法可以有很多種,所以演算法的優劣決定著程式的好壞。程式設計師很熟練的掌握了程式設計語言的語法,進行程式設計,軟體開發的時候就是設計好的演算法,加上軟體工程的 理論才能做出較好的系統。

演算法是指解決問題的一種方法或乙個過程。

演算法是若干指令的有窮序列,滿足性質:

1)輸入:由外部提供的量作為演算法的輸入。

2)輸出:演算法產生至少乙個量作為輸出。

3)確定性:組成演算法的每條指令是清晰,無歧義的。

4)有限性:演算法中每條指令的執行次數是有限的,執行每條指令的時間也是有限的。

3.程式是演算法用某種程式設計語言的具體實現。

程式可以不滿足演算法的性質。

例如作業系統,是乙個在無限迴圈中執行的程式,因而不是乙個演算法。

作業系統的各種任務可看成是單獨的問題,每乙個問題由作業系統中的乙個子程式通過特定的演算法來實現。該子程式得到輸出結果後便終止。

4樓:匿名使用者

演算法與程式:

1).乙個程式不一定滿足有窮性。例作業系統,只要整個系統不遭破壞,它將永遠不會停止,即使沒有作業需要處理,它仍處於動態等待中。因此,作業系統不是乙個演算法。

2).程式中的指令必須是機器可執行的,而演算法中的指令則無此限制。

3).演算法代表了對問題的解,而程式則是演算法在計算機上的特定的實現。乙個演算法若用程式設計語言來描述,則它就是乙個程式。

5樓:網友

都不對!

演算法是演算法,程式是程式。

演算法是解決問題的方法,用計算機的語言描述出來,就是程式。

這有點像哲學問題。

設計乙個n個併發程序共享m個系統資源的程式以實現銀行家演算法(急!!!急!!!**等)

6樓:147順

很難啊,不會。自個做去!!!

急~~超急~~請於2011·1·5十點前告訴我 作業系統課程設計 設計乙個按優先數排程演算法實現處理機排程的程式

7樓:網友

這個怎麼來告訴你,,課程設計。

8樓:網友

早點幹嘛去了。 非要等到剩幾分鐘了才開始寫作業。

9樓:限界字

知道嗎 我今年作業系統掛了 啊。。。

首次適應演算法是什麼

10樓:果鵬翼

分割槽分配演算法(partitioning placement algorithm)

最佳適應演算法(best fit):

它從全部空閒區中找出能滿足作業要求的、且大小最小的空閒分割槽,這種方法能使碎片儘量小。為適應此演算法,空閒分割槽表(空閒區鏈)中的空閒分割槽要按大小從小到大進行排序,自表頭開始查詢到第乙個滿足要求的自由分割槽分配。該演算法保留大的空閒區,但造成許多小的空閒區。

首次適應演算法(first fit):

從空閒分割槽表的第乙個表目起查詢該表,把最先能夠滿足要求的空閒區分配給作業,這種方法目的在於減少查詢時間。為適應這種演算法,空閒分割槽表(空閒區鏈)中的空閒分割槽要按位址由低到高進行排序。該演算法優先使用低址部分空閒區,在低址空間造成許多小的空閒區,在高位址空間保留大的空閒區。

迴圈首次適應演算法(next fit):

該演算法是首次適應演算法的變種。在分配記憶體空間時,不再每次從表頭(鏈首)開始查詢,而是從上次找到空閒區的下乙個空閒開始查詢,直到找到第乙個能滿足要求的的空閒區為止,並從中劃出一塊與請求大小相等的記憶體空間分配給作業。該演算法能使記憶體中的空閒區分佈得較均勻。

作業系統的乙個題目

11樓:網友

首次適應演算法要求空閒分割槽按位址遞增的次序排列,在進行記憶體分配時,總是從空閒分割槽表首開始順序查詢,直到找到第乙個能滿足其大小要求的空閒分割槽為止。然後,再按照作業大小,從該分割槽中劃出一塊記憶體空間分配給請求者,餘下的空閒分割槽仍留在空閒分割槽表中。

最佳適應演算法要求空閒分割槽按大小遞增的次序排碧手列,在進行記憶體分配時,總是從空閒分割槽表首開始順序查詢,直到找到第乙個能滿足其大小要求的空閒分割槽為止。如果該空閒分割槽大於作業的大小,則與首次適應演算法相同,將剩餘空閒指爛區仍留在空閒區表中。

解:若採用首次適應演算法,在申請96k儲存區時,選中的是4號分割槽,進行分配後4號分割槽還剩下122k;接著申請20k,選中1號分割槽,分配後剩下12k;最後申請200k,現有的五個分割槽都無法滿足要求,該作業等待。顯然採唯慧漏用首次適應演算法進行記憶體分配,無法滿足該作業序列的需求。

這時的空閒分割槽表如下表所示。

採用首次適應演算法分配後的空閒分割槽表。

分割槽號 大小 起始位址。

1 12k120k

2 10k 150k

3 5k 200k

4 122k 316k

5 96k 530k

若採用最佳適應演算法,在申請96k儲存區時,選中的是5號分割槽,5號分割槽大小與申請空間大小一致,應從空閒分割槽表中刪去該表項;接著申請20k時,選中1號分割槽,分配後1號分割槽還剩下12k:最後申請200k,選中4號分割槽,分配後剩下18k。顯然採用最佳適應演算法進行記憶體分配,可以滿足該作業序列的需求。

為作業序列分配了記憶體空間後,空閒分割槽表如下表所示。

最佳適應演算法分配後的空閒分割槽表。

分割槽號 大小 起始位址。

1 12k 120k

2 10k 150k

3 5k 200k

4 18k 420k

12樓:網友

路過,很想幫你,但是太專業了,我也不會。很抱歉!!!

turbo c的乙個小程式設計

include void main int i,j for i i i for j j j printf c i j 把那個加一去掉,改成現在的樣子 printf 不勞而獲拉,哈哈!改一點點。分不要了,給樓上的吧,我只是過來開個玩笑!是不是第一道要求打出那些序列啊,那可以同時輸出到檔案啊,不用檔案也...

編寫乙個程式實現點 圓的繪製,要求如下

這麼專業的東西我不太會,雖然我過去也學過。建議你到比較專業一點的bbs走走。比如 程式設計師之家 等等。這裡的人多數都是複製答案的。在畫圖程式中繪製乙個圓,需要按住什麼鍵 摘要。在畫圖程式中繪製乙個圓,通常需要按住滑鼠左鍵並拖動來繪製。具體步驟如下 .開啟畫圖程式,選擇繪圖工具 通常為鉛筆或畫筆 .在工...

用c語言設計程式求,用C語言設計乙個程式,求12345n

include stdio.h include stdlib.h int main void for sum 0,t i 1 i n sum t i printf the result is d n sum return 0 include stdio.h int jiecheng int x ma...