計算機操作系統學習(一)操作系統基本概念

概念、特徵、系統調用、中斷

操作系統基本概念

  • 操作系統是指控制和管理整個計算機系統的硬件和軟件資源,併合理的組織調度計算機的工作和資源的分配,以提供給用戶和其他軟件方便的接口和環境。它是計算機系統的最基本的系統軟件。
  • 也是系統軟硬資源的管理控制中心,它以儘量合理有效的方法組織多個用戶(進程)共享計算機的各種資源並提供使用接口。

操作系統的四個特徵:

1. 併發:
併發是指宏觀上在一段時間內能同時運行多個程序,而並行則指同一時刻能運行多個指令。並行需要硬件支持,如多流水線、多核處理器或者分佈式計算系統;操作系統通過引入進程和線程,使得程序能夠併發運行。
2. 虛擬:
虛擬技術把一個物理實體轉換爲多個邏輯實體。主要有兩種虛擬技術:時分複用技術和空分複用技術。
3. 共享:
共享是指系統中的資源可以被多個併發進程共同使用;有兩種共享方式:互斥共享和同時共享。
互斥共享的資源稱爲臨界資源,例如打印機等,在同一時間只允許一個進程訪問,需要用同步機制來實現對臨界資源的訪問。
4. 異步:
異步指進程不是一次性執行完畢,而是走走停停,以不可知的速度向前推進

操作系統的基本功能:

  • 進程管理(進程控制、進程同步、進程通信、死鎖處理、處理機調度等)
  • 內存管理(內存分配、地址映射、內存保護與共享、虛擬內存等)
  • 文件管理(文件存儲空間的管理、目錄管理、文件讀寫管理和保護等)
  • 設備管理(緩衝管理、設備分配、設備處理、虛擬設備等)

系統調用:

如果一個進程在用戶態需要使用內核態的功能,就進行系統調用從而陷入內核,由操作系統代爲完成。
Linux 的系統調用主要有以下這些:

Task Commands
進程控制 fork(); exit(); wait();
進程通信 pipe(); shmget(); mmap();
文件操作 open(); read(); write();
設備操作 ioctl(); read(); write();
信息維護 getpid(); alarm(); sleep();
安全 chmod(); umask(); chown();

操作系統的運行機制:

  • 兩種指令:特權指令和非特權指令
  • 兩種處理狀態:核心態(管態)和用戶態(目態)
  • 兩種程序:內核程序(運行在覈心態)和應用程序(運行在用戶態)

特權指令:只能由操作系統使用、用戶程序不能使用。例如:啓動I/O,內存清零,修改程序狀態字,設置時鐘,允許/禁止中斷,停機

非特權指令:用戶程序可以使用。例如:控制轉移,算術運算,訪管指令,取數指令

特權指令只能在核心態下運行,內核程序只能在核心態下運行。

內核:

  1. 大內核:將操作系統的主要功能都作爲系統內核,運行在覈心態。
    缺點:由於各模塊共享信息,因此有很高的性能,但是結構混亂,難以維護。

  2. 微內核:由於操作系統不斷複雜,因此將一部分操作系統功能移出內核,從而降低內核的複雜性。移出的部分根據分層的原則劃分成若干服務,相互獨立。
    在微內核結構下,操作系統被劃分成小的、定義良好的模塊,只有微內核這一個模塊運行在內核態,其餘模塊運行在用戶態。
    因爲需要頻繁地在用戶態和核心態之間進行切換,所以會有一定的性能損失。

中斷:

分類:

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

  2. 內中斷: ①異常: 由 CPU 執行指令的內部事件引起,如非法操作碼、地址越界、算術溢出等。②陷入: 在用戶程序中使用系統調用。

用戶態與核心態的轉換:

  • 中斷是實現用戶態到核心態的唯一途徑。
  • 核心態到用戶態的切換是通過執行一個特權指令,將程序狀態字(PSW)的標誌位設爲 “用戶態”。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章