设计一个按优先数调度算法实现处理器调度的程序_计算机中的程序都是怎么运行的,来深入了解一下吧...
在現代計算機操作系統中,總是會保持多道程序環境。一個作業被提交后,通常經過作業調度和進程調度后,才能獲得處理機。有時為提高內存利用率,還會設置中程調度。那我們先來了解一下處理機調度的層次吧。
高級調度,又稱作業調度,它的調度對象是作業。主要是根據某種算法,決定使外存上的哪幾個作業調入內存,然后創建進程、分配資源,等待處理機。高級調度一般不放入分時系統和實時系統。
低級調度,又稱進程調度,主要對象是進程。根據某種算法,決定就緒隊列上的哪個進程獲得處理機。低級調度是最基本的一種調度,批處理系統、實時、分時系統中都必須配置。
中級調度,又稱內存調度。主要是將暫時不能運行的進程調至外存等待,等他們舉辦運行條件時在決定是否調入內存。這里主要介紹處理機調度,中級調度會在后續介紹存儲器時詳細講解。
這三種調度中,進程的運行頻率最高,所以低級調度運行最多、占時最少的。作業調度周期最長,基本上好幾分鐘一次。中程調度介于上述兩者之間。
操作系統的設計中,是要有明確的目標,而它們的目的也不一樣,處理機調度算法是為了提高資源利用率、保證各進程之間的公平性和平衡性,還有必要時的策略強制執行。批處理系統追求的是平均最低周轉時間、系統吞吐量、處理機利用率高。分時系統的首要目的是響應時間快,用戶請求服務與系統響應時間相適應。實時系統的目標是,保證任務開始執行的最短時間和完成的最遲時間,系統中的進程的可預測性。
接下來就詳細說明一下作業調度和進程調度。
作業作為一個比程序更大的概念,不僅包含了通常的程序和數據,還應配有一份作業說明書。在批處理系統中,作業是基本單位。而我們為了管理和調度作業,就設置了一個作業控制塊,作為作業在系統中存在的標志,保存有系統對作業進行管理和調度所需的全部信息。
作業運行也分為三個階段和三種狀態,通常需要經歷收容、運行和完成三個階段,所以也有后備狀態、運行狀態、完成狀態。
作業調度的主要工作其實很簡單,判斷并決定從后備隊列中選取多少作業進入內存,并根據系統的多道程序度進行抉擇。還需要選擇接納哪些作業,這取決于所采用的調度算法,比如常用的短作業優先算法,還有響應比高者優先算法等,小編會在后續文章中詳細介紹。
進程調度,它的主要任務有三個:保存處理機的現場信息、按某種算法選取進程、把處理器分配給進程。為了實現進程調度,在進程調度機制中,具備了三個基本部分:排隊器、分配器、上下文切換器。而關于進程調度的方式,也引入了搶占方式和非搶占方式加強控制。非搶占方式,把處理機分配給進程后就只能等待進程完成,及其不利于分時方式和實時方式,所以就引入了搶占方式,根據它的主要原則分為:優先權、短進程優先和時間片原則。
這些大概就是操作系統調度的大體框架了,下一篇文章會詳細介紹調度算法的內容。
總結
以上是生活随笔為你收集整理的设计一个按优先数调度算法实现处理器调度的程序_计算机中的程序都是怎么运行的,来深入了解一下吧...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NumberFormat和Decimal
- 下一篇: SQL语言基础:触发器相关知识介绍