0 計算機基礎 作業系統

2021-09-13 16:28:54 字數 1734 閱讀 2420

先來先服務(fcfs)

時間片輪轉

短作業優先(sjf)

優先權排程演算法(fpf):搶占式(來了更高優先權的程序時則擱置正在執行的程序)、非搶占式。

作業系統概念第七版中文版p284

先進先出(fifo-first in first out)-最基本的演算法:先被調入的頁先被調換出去

最佳排程演算法(opt-optimal replacement)-理想的、不切實際的演算法:調出的頁是將來最長時間不訪問的頁,實際環境根本無法知道之後會訪問哪一頁,通常用來作為評價其他置換演算法的標準。

最近最久未使用(lru-least recently used)-實踐中效果接近於opt:調出未使用時間最長的頁

近似lru:lru和opt演算法一樣,不存在belady異常(增加記憶體的幀數後,反而需要更多的置換次數),在實踐中是一種較為合理的演算法,但是lru基於棧結構,需要特殊的硬體支援,因此便有了下列。

附加引用位演算法:為記憶體內的每一幀設定乙個8位的標誌位。當某一幀被使用時,此幀的最高位被置為1,其它位後移。置換時置換出標誌位值最小的幀。

二次機會演算法(scr):基於fifo,為記憶體裡的每一幀設定乙個1位的標誌位。

當某一幀被使用時,將標識設定為1;

當某一幀按照fifo原則被選中替換時,判斷標誌位:

如果標識位是1,則將標誌位設為0,並將該幀放到佇列的尾部。

如果標識位是0,則寫出該幀。

時鐘演算法(clock):改進的二次機會。二次機會需要不斷的修改鍊錶,浪費時間,所以有了時鐘演算法。基於二次機會演算法的邏輯,但是所有幀圍成環形結構,只需要乙個指標指向最前面的幀。

增強型二次機會: 每一次置換需要一次寫出一次寫入。但是沒被修改過的幀是不必寫出的,所以應盡量避免換出修改過的幀。增強型二次機會演算法有兩個標誌位,乙個標誌是否最近使用過,乙個標誌是否修改過。置換原則為(0,0)、(0,1)、(1,0)、(1、1)。

最不經常使用(lfu- least frequently used):調出使用頻率最低的頁

最常使用(mfu- most frequently used)):調出使用頻率最高的頁(例如資料倉儲)

這兩種演算法的實現都很費時,且不能很好的近似opt,所以不常用。

程序間通訊分為兩類:共享記憶體,建立訊息傳遞系統。《作業系統概念第7版》p85

共享記憶體

共享記憶體:

訊號量:

建立訊號量的程序在建立的時候設定訊號量的id,其他程序可以通過id獲取訊號量,之後通過pv操作同步訊號量。pv是荷蘭語的縮寫:p(passeren)通過,訊號量減1;v(vrijgeven)釋放,訊號量加1.。

建立訊息傳遞系統

套接字(socket):

網路埠管道:匿名(普通)管道:

用於父子程序的通訊,只能單向通訊。父程序建立乙個管道後持有管道的入口和出口,fork子程序的時候,子程序也得到了管道的入口和出口。父子程序分別關閉管道的一端後就初始化了父到子或者子到父的管道。

命名管道(fifo):

突破匿名管道只能父子通訊的侷限,也是半雙工。

匿名管道位於記憶體,命名管道位於檔案系統

訊息佇列:

建立佇列的程序在建立的時候設定佇列的id,其他程序可以通過id獲取佇列,之後通過send和receive函式通訊。

訊號:kill -9 和 crtl+c都是一種訊號

計算機基礎 作業系統

作業系統是控制計算機整體執行的軟體。它為使用者提供了可以儲存和檢索檔案的方法,可與請求執行程式的介面,以及執行被請求程式所必須的環境。作業系統用來協調計算機內部活動以及與外部世界的通訊。將計算機硬體轉化為有用的工具。軟體型別 系統軟體提供了應用軟體所需要的基礎架構。作業系統元件 使用者介面 完成與使...

計算機基礎,作業系統

中文 日文 韓文 英文都是人類的語言 語言其實就是人用來溝通交流的媒介 語言就是一種事物與另外一種事物溝通表達的方式 工具 人與計算機之間溝通交流的媒介 人 程式語言 計算機 程式語言的本質就是一門語言 能夠與機器的對話的人 程式設計即程式設計師根據需求把自己的思想流程按照某種程式語言的語法風格編寫...

計算機基礎 作業系統環境

六 bios和引導 七 作業系統功能的歷史 八 把作業系統放在第一位 九 系統呼叫和程式語言的移植性 十 作業系統和高階程式語言使硬體抽象化 十一 windows作業系統的特徵 我們不介紹作業系統,我們主要來介紹一下硬體的識別。我們肯定都玩兒過遊戲,你玩兒遊戲前需要幹什麼?是不是需要先看一下自己的筆...