天天看點

計算機作業系統基本概述基本特征基本功能系統調用大核心和微核心中斷分類

基本特征

  1. 并發

并發是指宏觀上在一段時間内能同時運作多個程式,而并行則指同一時刻能運作多個指令。

并行需要硬體支援,如多流水線、多核處理器或者分布式計算系統。

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

  1. 共享

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

有兩種共享方式:互斥共享和同時共享。

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

  1. 虛拟

虛拟技術把一個實體實體轉換為多個邏輯實體。

主要有兩種虛拟技術:時(時間)分複用技術和空(空間)分複用技術。

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

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

  1. 異步

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

基本功能

  1. 程序管理

程序控制、程序同步、程序通信、死鎖處理、處理機排程等。

  1. 記憶體管理

記憶體配置設定、位址映射、記憶體保護與共享、虛拟記憶體等。

  1. 檔案管理

檔案存儲空間的管理、目錄管理、檔案讀寫管理和保護等。

  1. 裝置管理

完成使用者的 I/O 請求,友善使用者使用各種裝置,并提高裝置的使用率。

主要包括緩沖管理、裝置配置設定、裝置處理、虛拟裝置等。

系統調用

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

<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/tGPV0.png" width="600"/> </div><br>

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

Task Commands
程序控制 fork(); exit(); wait();
程序通信 pipe(); shmget(); mmap();
檔案操作 open(); read(); write();
裝置操作 ioctl(); read(); write();
資訊維護 getpid(); alarm(); sleep();
安全 chmod(); umask(); chown();

大核心和微核心

  1. 大核心

大核心是将作業系統功能作為一個緊密結合的整體放到核心。

由于各子產品共享資訊,是以有很高的性能。

  1. 微核心

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

在微核心結構下,作業系統被劃分成小的、定義良好的子產品,隻有微核心這一個子產品運作在核心态,其餘子產品運作在使用者态。

因為需要頻繁地在使用者态和核心态之間進行切換,是以會有一定的性能損失。

<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/2_14_microkernelArchitecture.jpg"/> </div><br>

中斷分類

  1. 外中斷
  1. 異常
  1. 陷入