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