日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

计算机操作系统——处理机调度算法

發布時間:2024/7/19 windows 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算机操作系统——处理机调度算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

計算機操作系統——處理機調度算法


一、處理機調度的層次和調度算法的目標

1.處理及調度的層次

  • 高級調度:(周期較長,大約幾分鐘一次) 又稱為長程調度作業調度 調度對象:作業 功能:根據算法決定將外存中處于后備隊列的作業調入內存,然后為它們創建進程(建立PCB)、分配必要的資源,使它們獲得競爭處理及的權利,作業調度時會建立相應的PCB,作業調出時才撤銷PCB。
    主要用于:多道批處理系統
  • 中級調度: 又稱為內存調度 調度對象:進程 功能:提高內存利用率和系統吞吐量,把內存中暫時不能運行的進程,調至外存等待,此時的進程處于掛起狀態。當它們具備運行條件并且內存有空間時,中級調度來決定把外存的哪些就緒進程重新調入內存
  • 低級調度:(最基本的調度,使用頻率最高,分時系統在10~100ms進行一次進程調度) 又稱為進程調度短程調度 調度對象:進程(或內核級線程) 功能:根據某種算法,決定哪個進程獲得處理機,并由分派程序將處理機分配給被選中的進程
  • 2.處理機調度算法目標

  • 處理機調度算法的共同目標
    (1)資源利用率 CPU的利用率: (2)公平性:讓所有進程獲得合理的CPU時間,盡量不產生饑餓現象
    (3)平衡性
    (4)策略強制執行

  • 批處理系統的目標
    (1)平均周轉時間短
    周轉時間=等待時間+執行時間=完成時刻-到達時刻
    平均周轉時間=各進程周轉時間之和/進程的個數
    帶權周轉時間=周轉時間/CPU提供服務的時間
    (2)系統吞吐量高 吞吐量:單位時間內系統完成的作業數,它與批處理作業的平均長度有關
    (3)處理機利用率高

  • 分時系統的目標
    (1)響應時間按快
    (2)均衡性

  • 實時系統的目標
    (1)截止時間的保證
    (2)可預測性


  • 二、 非搶占式調度算法

    1.先來先服務調度算法(FCFS,First-Come-First-Served)

    • 算法規則:按照作業/進程到達的先后順序進行服務
    • 優點:公平,實現簡單
    • 缺點:帶權周轉時間長,對長作業有利,短作業不利

    例題詳解:(解題方式我習慣于用數軸表示,也可以畫表格,但是感覺不如數軸看著形象)

    2.短作業優先調度算法(SJF,Short-Job-First)

    • 算法規則:最短的進程/作業優先得到服務
    • 該算法也有搶占式
    • 優點:減少了平均等待時間和平均周轉時間
    • 缺點:對短作業有利,長作業不利,容易產生饑餓現象;必須預知作業的運行時間;人——機無法實現交互;未考慮作業的緊迫程度,不能保證緊迫性作業及時得到處理。

    例題詳解:

    3.高響應比優先調度算法(HRRN,Highest-Response-Ratio-Next)

    - 算法規則:每次調度時先計算響應比,選擇響應比最高的進行服務

    • 優點:避免了長作業饑餓的問題,集合了SJF和FCFS的優點

    響應比大的優先調度(不值得等待的進程優先調度)
    響應比越小,等得越值得

    例題詳解:


    三、搶占式調度算法

    進程調度的機制:(1)排隊器(2)分派器(3)上下文切換器
    進程調度方式:搶占式、非搶占式
    搶占式的剝奪原則:(1)優先權原則 (2)短進程優先原則 (3)時間片原則


    1.輪轉調度算法(時間片輪轉)

    輪轉調度算法:
    (1)基本原理:將所有就緒進程按FCFS排成一個就緒隊列,系統設置每隔一定時間便產生一次中斷,去激活進程調度程序進行調度,把CPU分配給隊首進程,并令其執行下一個時間片…
    (2)切換機制:
    a.若一個時間片尚未用完,正在運行的進程便已經完成,就立即激活調度程序,將它從就緒隊列中刪除,再調度就緒隊列中隊首的進程進行,并啟動一個新的時間片。
    b.在時間片用完時,如果進程尚未運行完成,調度程序將把它送往就緒隊列的末尾。

    時間片大小的確定:
    (1)時間片太小:增加系統的開銷
    (2)時間片太大:時間片輪轉便退化為FCFS算法,無法滿足交互式用戶需求

    時間片輪轉調度算法常用于分時操作系統,更注重“響應時間”,因而此處不計算周轉時間


    2.優先級調度算法

    (分為搶占式和非搶占式)
    優先級類型:
    (1)靜態優先級
    (2)動態優先級


    3.多級反饋隊列調度算法

    調度機制

    • 首先設置多級就緒隊列
      每個就緒隊列分配不同的時間片,優先級高的為第一隊列,時間片最小,隨著就緒隊列級別的降低,時間片逐漸增大
    • 每個進程按照先來先服務調度算法
      一個進程就緒后進入第一級隊列末尾
    • 當有一個優先級更高的進程就緒時,可以搶占CPU,被強占進程回到原來一級的就緒隊列末尾。
    • 當第一級別隊列空時,就去調度第二隊列,…以此類推。
    • 當時間片結束后,進程放棄CPU,轉入下一級隊列。

    多級反饋隊列示意圖:

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的计算机操作系统——处理机调度算法的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。