天天看點

計算機作業系統概述(一)

基本特征

并發

共享

虛拟

異步

基本功能

程序管理

記憶體管理

檔案管理

裝置管理

系統調用

宏核心和微核心

中斷分類

外中斷

異常

陷入

1.并發

  并發:宏觀上,一段時間能運作多個程式,實際上是時間片輪轉

  并行:同一時刻運作多個指令,需要硬體支援,如多流水線,多核處理器或分布式計算系統

  作業系統引入程序和線程,使程式能夠并發運作

2.共享

  共享:系統中的資源可以被多個并發程序共同使用

  互斥共享:互斥共享的資源稱為臨界資源,如列印機,在同一時間隻允許一個程序通路,需要同步機制來實作互斥通路

  同時共享

3.虛拟

  虛拟技術:把一個實體實體轉化為多個邏輯實體

  時分複用技術 && 空分複用技術

  多個程序在處理器上并發執行使用的時分複用技術,每個程序輪流占用處理器,每次執行一小個時間片并快速切換

  虛拟記憶體使用了空分複用技術,它将實體記憶體抽象為位址空間,每個程序都有各自的位址空間。位址空間的頁被映射到實體記憶體,位址空間的頁并不需要全部在實體記憶體中,當使用到一個沒有在實體記憶體的  頁時,執行頁面置換算法,将該頁置換到記憶體中。

4.異步

  異步:程序不是一次性執行完畢,而是走走停停,以不可知的速度向前推進。

  異步是相對同步而言的,同步就是等待,異步就是不等待。

程序管理:程序控制,程序同步,程序通信,死鎖處理,處理機排程

記憶體管理:記憶體配置設定,位址映射,記憶體保護與共享,虛拟記憶體

檔案管理:檔案存儲空間的管理,目錄管理,檔案讀寫管理和保護

裝置管理:完成使用者的I/O請求,友善使用者使用各種裝置,并提高裝置的使用率等。主要包括緩沖管理,裝置配置設定,裝置處理,虛拟裝置等。

  如果一個程序在使用者态需要使用核心态的功能,就進行系統調用進而陷入核心,由作業系統代為完成

計算機作業系統概述(一)

 linux的系統調用主要有以下這些:

Task

Commands

程序控制

fork(); exit(); wait();

程序通信

pipe(); shmget(); mmap();

檔案操作

open(); read(); write();

裝置操作

ioctl(); read(); write();

資訊維護

getpid(); alarm(); sleep();

安全

chmod(); umask(); chown();

  宏核心:将作業系統功能作為一個緊密結合的整體放到核心。由于各子產品共享資訊,是以有很高的性能。

  微核心:由于作業系統不斷複雜,是以将一部分作業系統功能移除核心,進而降低核心的複雜性。移出的部分根據分層的原則劃分成若幹服務,互相獨立。

  在微核心結構下,作業系統被劃分成小的、定義良好的子產品,隻有微核心這一個子產品運作在核心态,其餘子產品運作在使用者态。因為需要頻繁地在使用者态和核心态之間進行切換,是以會有一定地性能損失。

計算機作業系統概述(一)

 中斷分類

  外中斷:由CPU執行指令以外的事件引起,如I/O完成中斷,表示裝置輸入/輸出處理已經完成,處理器能夠發送下一個輸入/輸出請求。此外還有時鐘中斷、控制台中斷等。

  異常:由CPU執行指令以内的事件引起,如非法操作碼、位址越界、算術溢出等。

  陷入:在使用者程式中使用系統調用。

參考資料:https://github.com/CyC2018/CS-Notes/blob/master/notes/

繼續閱讀