作業系統的作業排程和程序排程演算法
最高響應比優先法(HRRN,Highest Response Ratio Next)是對FCFS方式和SJF方式的一種綜合平衡。FCFS方式只考慮每個作業的等待時間而未考慮執行時間的長短,而SJF方式只考慮執行時間而未考慮等待時間的長短。因此,這兩種排程演算法在某些極端情況下會帶來某些不便。HRN排程策略同時考慮每個作業的等待時間長短和估計需要的執行時間長短,從中選出響應比最高的作業投入執行。這樣,即使是長作業,隨著它等待時間的增加,W / T也就隨著增加,也就有機會獲得排程執行。這種演算法是介於FCFS和SJF之間的一種折中演算法。
演算法原理
其中T為該作業估計需要的執行時間,W為作業在後備狀態佇列中的等待時間。每當要進行作業排程時,系統計算每個作業的響應比,選擇其中R最大者投入執行。
演算法優點:由於長作業也有機會投入執行,在同一時間內處理的作業數顯然要少於SJF法,從而採用HRRN方式時其吞吐量將小於採用SJF 法時的吞吐量。
演算法缺點:由於每次排程前要計算響應比,系統開銷也要相應增加。
相關推薦
作業系統的作業排程和程序排程演算法
最高響應比優先法(HRRN,Highest Response Ratio Next) 最高響應比優先法(HRRN,Highest Response Ratio Next)是對FCFS方式和SJF方式的一種綜合平衡。FCFS方式只考慮每個作業的等待時間而未考慮執行時間的長短,而SJF方式只考慮執行時間而未考慮
第一章 1.4作業系統作業排程和程序排程
1.作業系統兩級排程 前言 包括長期排程和短期排程。長期排程是作業排程,以小時為單位,短期排程是程序排程,以毫秒為單位。現代作業系統不產生長期不被排程和經常被排程的程序。程序排程是作業系統對程序就緒佇列的排程。高效能運算機中的任務排程是任務怎樣劃分,哪一個任務安排到哪一個處
一頓飯讓你學會作業排程和程序排程
場景:畢業師兄請我們去鳳雛吃飯。 流程:菜由後廚做好,然後由服務員端上飯桌,接著我們吃飯。 服務員排程演算法:後廚的菜做好,由服務員選擇端哪個菜上桌,這個服務員是兼洗碗的,她今天晚上還有個約會,所以她希望儘早地把碗刷完去約會,所以她的排程演算法是,看哪個菜比較快吃掉,就先上
作業系統:先來先服務FCFS和短作業優先SJF程序排程演算法
目的:陸續整理近一年的學習收穫 先來先服務FCFS和短作
【作業系統 】先來先服務FCFS和短作業優先SJF程序排程演算法
1.先來先服務FCFS和短作業優先SJF程序排程演算法 2.時間片輪轉RR程序排程演算法 3.預防程序死鎖的銀行家演算法 4.動態分割槽分配演算法 5.虛擬記憶體頁面置換演算法 6.磁碟排程演算法 void FCFS() { /* 1. 找
《作業系統》 先來先服務FCFS和短作業優先SJF程序排程演算法相關計算及實驗
為了和FCFS排程演算法進行比較,我們仍利用FCFS演算法中所使用的例項,並改用SJ(P)F演算法重新排程,再進行效能分析。由上圖中的(a)和(b)可以看出,採用SJ(P)F演算法後,不論是平均週轉時間還是平均帶權週轉時間,都有較明顯的改善,尤其是對短作業D,其週轉時間由原來的(用FCFS演算法時)1
1】先來先服務FCFS和短作業優先SJF程序排程演算法
// 作業系統_實驗一.cpp : 定義控制檯應用程式的入口點。 // /* //實驗題目:先來先服務FCFS和短作業優先SJF程序排程演算法 *******概念******* 1. 先來先服務FCFS: 2. 短作業優先SJF: 3. 高階排程:根據某種演算法,在外存中把處於後備佇列中的那些作業調入記憶體,
作業系統記憶體,磁碟排程,程序排程演算法
頁面置換:在地址對映過程中,若在頁面中發現所要訪問的頁面不再記憶體中,則產生缺頁中斷(page fault)。當發生缺頁中斷時作業系統必須在記憶體選擇一個頁面將其移出記憶體,以便為即將調入的頁面讓出空間。 典型的置換演算法有四種,如下所示: OPT:最佳替換演算法(optional repla
作業系統中常用的程序排程演算法
1、先來先服務排程演算法 先來先服務(FCFS)排程演算法是一種最簡單的排程演算法,該演算法既可用於作業排程,也可用於程序排程。當在作業排程中採用該演算法時,每次排程都是從後備作業佇列中選擇一個或多
作業系統中長期排程、中期排程和短期排程之間的區別
在許多程序或執行緒都準備使用CPU進行任務處理時,就會存在資源競爭和分配的問題。一般都會將程序或執行緒先放在一個緩衝池中,等待合適的時機排程程式從中選擇一個程序或執行緒進行交給CPU進行處理。 如上圖所示,在排程中,分為長期、中期和短期三種。 長期排
頁面置換、作業排程、程序排程小剖析
頁面置換、作業排程和程序排程他們之間有很多相似的地方,作業跟程序排程之間尤為相似,之前一直搞不清他們之間的區別跟聯絡,你是不是也跟我有一樣的感受呢?看完這篇文章或許會讓你對他們有更清晰的認識。
linux CPU隔離和程序排程優先順序設定
CPU隔離和程序排程優先順序設定的相關知識: 1. uboot 啟動引數中增加 ”isolcpus=1“ , 計數從0開始 表示隔離第2個CPU, 系統啟動後,程式不能在第2個CPU上執行。 如果要使用隔離的CPU,需要在程式碼中新增如下程式碼。
Spark資源排程和任務排程
轉自:https://blog.csdn.net/lhworldblog/article/details/79300025 一、前述 Spark的資源排程是個很重要的模組,只要搞懂原理,才能具體明白Spark是怎麼執行的,所以尤其重要。 自願申請的話,本文分粗粒度和細粒度模式分別介紹。
LTE總結1.使用者連線與上行排程和下行排程
以下是我個人對LTE的理解: 首先,對於手機來說,支援我們上網的是流量,而這個網路就是所謂的4G網路。無論是聯通還是移動來說,都是LTE,只不過一個使用的FDD模式,一個使用TDD模式。那麼我們手機如何進行通訊的?這個框架弄清楚就可以大致瞭解LTE裡面的架構了。
作業系統3 ————PCB和程序控制
作業系統3 ————程序控制塊(PCB)詳解 一.目錄 二. 程序控制塊 1.概述 程序控制塊(Processing Control Block),是作業系統核心中一種資料結構,主要表示程序狀態,其作用是使一個程式成為一個能夠獨立執行的基本單位,並且可以併發執
quartznet任務排程和訊息排程(JAVA與C#版對比)
quartznet任務排程和訊息排程 1. 作用 自動執行任務。 2. 下載地址 NET版本 JAVA版本 1下載 http://quartznet.sourceforge.net/downlo
作業系統的程序排程方法和磁碟臂排程演算法
一、先來先服務和短作業(程序)優先排程演算法 1.先來先服務排程演算法 先來先服務(FCFS)排程演算法是一種最簡單的排程演算法,該演算法既可用於作業排程,也可用於程序排程。當在作業排程中採用該演算法時,每次排程都是從後備作業佇列中選擇一個或多個最先進入該佇列的作業,
作業系統:程序排程演算法詳解之FCFS和SPF篇
前言: 在學習作業系統的時候,總是可以聽到一些與“排程”相關的東西。記得剛學計算機作業系統的時候,總是覺得除錯是一個很高大上的東西,不敢太深入地去接觸。這可能是因為學生時代的我在演算法方面並不強,
作業系統程序排程演算法實現2
實驗三 程序排程 一、實驗目的 1、 理解有關程序控制塊、程序佇列的概念。 2、 掌握程序優先權排程演算法和時間片輪轉排程演算法的處理邏輯。 二、實驗內容與基本要求 1、 設計程序控制塊PCB的結構,分別適用於優先權排程演算法和時間片輪轉排程演算法。 2、 建立程序就緒佇列。 3、 編制
作業系統程序排程演算法
一、先來先服務和短作業(程序)優先排程演算法 1.先來先服務排程演算法 先來先服務(FCFS)排程演算法是一種最簡單的排程演算法,該演算法既可用於作業排程,也可用於程序排程。當在作業排程中採用該演算法時,每次排程都是從後備作業佇列中選擇一個或多個最先進入該佇列的作業,將它們調入記憶體,為它們