操做系統:概述

基本特徵

併發

併發是指在同一時間段內能夠同時運行多個程序,並行是指在同一時刻可以同時執行多指令。git

並行依靠硬件完成,例如多核處理器或分佈式操做系統github

併發依靠操做系統引入進程與線程來完成緩存

 

共享

同一個進程內的線程共享系統中的資源併發

共享有兩種方式:同時共享互斥共享異步

互斥共享的資源稱爲臨界資源,臨界資源在一個時刻只能被一個進程訪問,多個進程訪問同一個臨界資源時須要用同步機制。分佈式

 

虛擬

虛擬是指將一個物理實體虛擬成多個邏輯實體性能

虛擬技術有兩種:時分複用空分複用spa

時分複用:將一個時間段劃分紅多個時間片,每一個進程輪流佔用一個時間片,達到進程併發。操作系統

空分複用:將物理內存空間虛擬成地址空間,每一個進程有本身的地址空間,地址空間的頁映射成物理內存。線程

 

異步

異步是指進程的執行斷斷續續,以不可知的速度向前推動。

 

基本功能

進程管理

進程結構、進程控制、進程同步、進程通訊、死鎖、進程調度

 

內存管理

存儲器層次、連續分配存儲方式、分頁存儲、分段存儲、段頁式存儲、虛擬內存

 

設備管理

完成用戶的I/O請求,儘可能下降I/O設備與CPU處理效率間的巨大差別

主要包括:I/O系統層次、緩存管理、設備分配、磁盤I/O

 

文件管理

文件的邏輯結構、目錄管理、文件共享、文件保護

 

磁盤管理

磁盤空間的分配、磁盤空間的管理、提升磁盤I/O速度

 

系統調用

 若是一個進程在用戶態須要使用內核態的功能,就進行系統調用從而陷入內核,由操做系統代爲完成。

 

大內核與微內核

大內核

大內核是指將整個操做系統功能做爲一個總體放到內核中

因爲各部分之間直接共享信息,所以效率很高

 

微內核 

因爲操做系統不斷複雜,所以將一部分操做系統功能移出內核,從而下降內核的複雜性。移出的部分根據分層的原則劃分紅若干服務,相互獨立。

在微內核結構下,操做系統被劃分紅小的、定義良好的模塊,只有微內核這一個模塊運行在內核態,其他模塊運行在用戶態。

由於須要頻繁地在用戶態和核心態之間進行切換,因此會有必定的性能損失。

 

 

中斷分類

外中斷

不是由CPU指令執行引發的,例如等待I/O

 

異常

由CPU指令執行的內部事件引發的,例如地址非法、算術溢出等

 

陷入

在用戶程序中進行系統調用

 

參考資料

https://cyc2018.github.io/CS-Notes/

相關文章
相關標籤/搜索