1. 程式人生 > >作業系統中長期排程、中期排程和短期排程之間的區別

作業系統中長期排程、中期排程和短期排程之間的區別

這裡寫圖片描述

在許多程序或執行緒都準備使用CPU進行任務處理時,就會存在資源競爭和分配的問題。一般都會將程序或執行緒先放在一個緩衝池中,等待合適的時機排程程式從中選擇一個程序或執行緒進行交給CPU進行處理。

這裡寫圖片描述

如上圖所示,在排程中,分為長期、中期和短期三種。

長期排程,又稱為作業排程或高階排程,這種排程將已進入系統並處於後備狀態的作業按某種演算法選擇一個或一批,為其建立程序,並進入主機,當該作業執行完畢時,還負責回收系統資源,在批處理系統中,需要有作業排程的過程,以便將它們分批地裝入記憶體,在分時系統和實時系統中,通常不需要長期排程。它的頻率比較低,主要用來控制記憶體中程序的數量。

中期排程,又稱為交換排程。它的核心思想是能將程序從記憶體或從CPU競爭中移出,從而降低多道程式設計的程度,之後程序能被重新調入記憶體,並從中斷處繼續執行,這種交換的操作可以調整程序在記憶體中的存在數量和時機。其主要任務是按照給定的原則和策略,將處於外存交換區中的就緒狀態或等待狀態的程序調入記憶體,或把處於記憶體就緒狀態或記憶體等待狀態的程序交換到外存交換區。

短期排程,又稱為程序排程、低階排程或微觀排程。這也是通常所說的排程,一般情況下使用最多的就是短期排程。它的主要任務是按照某種策略和演算法將處理機分配給一個處於就緒狀態的程序,分為搶佔式和非搶佔式。

可以從下圖中清晰的看到這些排程之間的區別。

這裡寫圖片描述

從另一個角度來說,短期排程執行的頻率最高。短期排程在記憶體作業中選擇就緒執行的作業,併為他們分配CPU。中期排程作為一種中等程度的排程程式,尤其被用於分時系統,一個交換方案的實施,將部分執行程式移出記憶體,之後,從中斷處繼續執行,從而改善程序組合或者因記憶體要求的改變引起了可用記憶體的過度使用而需要釋放記憶體。長期排程確定哪些作業調入記憶體以執行. 它們主要的不同之處是它們的執行的頻率。短期排程必須經常呼叫一個新程序,由於在系統中,長期排程處理移動的作業時,並不頻繁被呼叫,可能在程序離開系統時才被喚起。

相關推薦

/dev/sys/devices /sys/dev 之間區別

/dev,裝置檔案儲存目錄,應用程式通過對這些檔案的讀寫和控制,可以訪問實際的裝置; /sys/devices 目錄,按照裝置掛接的匯流排型別,組織成層次結構,儲存了系統所有的裝置;是檔案系統管

作業系統中長期排程中期排程短期排程之間區別

在許多程序或執行緒都準備使用CPU進行任務處理時,就會存在資源競爭和分配的問題。一般都會將程序或執行緒先放在一個緩衝池中,等待合適的時機排程程式從中選擇一個程序或執行緒進行交給CPU進行處理。 如上圖所示,在排程中,分為長期、中期和短期三種。 長期排

作業系統中的頁面置換演算法磁碟排程演算法

頁面置換演算法:http://blog.csdn.net/y920312/article/details/47780253 頁面置換演算法小總結: 1.Optimal(最佳置換演算法)    最長時間內不被訪問,也就是說找最後面的。 2.FIFO(先進先出演算法)    按

控件組件插件的區別

靜態 編輯 ron 例子 文本 允許 strong 軟件 一點 (1)組件:首先最廣的應該是組件。凡是在軟件開發中用到了軟件的復用,被復用的部分都可以稱為組件。 (2)插件:插件是組件中中的一種,凡是在應用程序中已經預留接口的組件就是插件。可以拿IE插件作為例子,IE中之所

SQL中inner joinouter joincross join的區別

tab 卡爾 ner 進行 from oss sql right ble 缺省情況下是inner join,開發中使用的left join和right join屬於outer join,另外outer join還包括full join.下面我通過圖標讓大家認識它們的區別。現

HIVE—索引分區分桶的區別

處理 拆分 功能 分布 哈希函數 對比 part 一致性 進一步 一、索引 簡介 Hive支持索引,但是Hive的索引與關系型數據庫中的索引並不相同,比如,Hive不支持主鍵或者外鍵。 Hive索引可以建立在表中的某些列上,以提升一些操作的效率,例如減少MapRedu

jquery中appendprepend, beforeafter方法的區別(一)

mod serve com oos 兄弟節點 sha pos 插入 5% 原文:http://blog.csdn.net/woosido123/article/details/64439490 在 jquery中append() 與 prepend()是在元素內插

JavaScript中in操作符(for..in)Object.keys()Object.getOwnPropertyNames()的區別

定義 typeerror 轉換 異常 error: pan 不同 html gree   ECMAScript將對象的屬性分為兩種:數據屬性和訪問器屬性。每一種屬性內部都有一些特性,這裏我們只關註對象屬性的[[Enumerable]]特征,它表示是否通過 for-in 循環

SQL夯實基礎(一):inner joinouter joincross join的區別

創建 color varchar mage bubuko where 是你 cross http 一、數據構建 先建表,再說話 create database Test use Test create table A ( AID int identity(1

http1.0http1.1http2.0的區別

tom 等待 數量級 我們 一個個 虛擬 不支持 pac 數量 http1.1和http1.0的區別 http1.1默認持久連接,即它默認就支持長連接,而http1.0需要使用keep-alive參數來告知服務器端要建立一個長連接。http是基於TCP/IP協議的,每次建

HTTP1.0HTTP1.1 HTTP2.0 的區別

ppi 響應消息 ans 配置文件 獲取 差量更新 ip地址 並行執行 bag 文章轉自(https://mp.weixin.qq.com/s/GICbiyJpINrHZ41u_4zT-A) 作者 | 一只好奇的茂 地址 | http://www.jianshu.

一張圖看懂AI機器學習深度學習的區別

視覺 無限 into target 圖像 每一個 形狀 多倫多 智力 AI(人工智能)是未來,是科幻小說,是我們日常生活的一部分。所有論斷都是正確的,只是要看你所談到的AI到底是什麽。   例如,當谷歌DeepMind開發的AlphaGo程序打敗韓國職業圍棋高手Lee Se

vue 中router.gorouter.pushrouter.replace的區別

記錄 out 整數 添加 history 它的 lac 的區別 意思 router.go(n) 這個方法的參數是一個整數,意思是在 history 記錄中向前或者後退多少步,類似 window.history.go(n) router.push(location) 想要

遞歸遞推叠代的區別

fibonacci stop 循環計算 span 函數 bubuko 計算 log ati 遞歸:函數本身調用自己,實現自身循環。例如:求斐波那契數 一列數的規則如下: 1、1、2、3、5、8、13、21、34...... 求第30位數是多少,

word-wrapwhite-spaceword break的區別

src over word-wrap 也會 img lips 邊界 com 分享圖片 一、 先說white-space: white-space規定了代碼中對空格的處理:有幾個可選值:normal,nowrap,pre,pre-wrap,pre-line: white-sp

Python中復制深拷貝淺拷貝的區別

ron 一份 謝謝 操作 完成 函數 技術 也會 python解釋器 深拷貝定義(deepcopy) 在Python中,由於一切皆對象,所以任何變量都可以被引用,也即可以被賦值給任何變量。但是在Python中,給變量賦值,是區分的,一般情況下,Python中的變量賦值都是淺

簡單工廠模式工廠模式抽象工廠模式區別

下面例子中滑鼠,鍵盤,耳麥為產品,惠普,戴爾為工廠。 簡單工廠模式(面向單個產品,不符合開閉原則,要點:產品面向介面) 簡單工廠模式不是 23 種裡的一種,簡而言之,就是有一個專門生產某個產品的類。 比如下圖中的滑鼠工廠,專業生產滑鼠,給引數 0,生產戴爾滑鼠,給引數

eclipse maven buildmaven cleanmaven installmaven test的區別 精析

    1.情景展示   選中maven專案,右鍵-->Run As或Debug As-->maven buid,maven install,maven test有什麼區別? 2.區別說明   6 Maven  clean--&

Python的例項方法類方法靜態方法之間區別與聯絡

Python的例項方法、類方法和靜態方法 class Test: def test1(self): print('test......') @classmethod def test2(cls): print('test2......c

Spring BootSpring MVC Spring 有什麼區別

SpringFrame       SpringFramework 最重要的特徵是依賴注入。所有 SpringModules(多模組) 不是依賴注入就是 IOC 控制反轉。       當我們恰當的使用 DI 或者是 IOC 的時候,我