一个封锁操作被对 wsacancelblockingcall 的调用中断_操作系统概论
操作系統概述
OS基本概念
對用戶和程序猿提供接口
- 命令接口
- 聯機命令接口(交互式命令接口) 向計算機輸入一條指令,它會先解析命令然后執行這條指令,完成后可在輸入下一條指令。這種操作的好處在于人機交互性強。比如:你安排一件事他做一件。
- 脫機命令接口(批處理命令接口)
向計算機輸入多條指令,他會按照某種你給的邏輯順序執行指令,直到全部指令執行結束。在執行指令的過程中不能干預計算機。比如:你給他一堆事,他做完了找你匯報結果。 - 程序接口
專門為程序員提供的一套接口,由一組系統調用(廣義指令)組成,程序員通過程序調用,請求操作系統提供服務。比如:C語言中的打印函數 printf,這個函數在底層實現的時候,就是操作系統通過系統調用支配顯示器,把你要打印的輸出到顯示器上。
對硬件功能擴展
這個就不說了吧,沒有操作系統裸機功能特別的底下,所以操作系統是對硬件功能的擴展
對系統資源的管理
操作系統對系統資源的管理主要有以下四個方面,這四個方面也是學習操作系統的主要內容 + 處理機管理 對處理機管理最基本的單位是進程或者線程的管理,這一方面主要在第二章去學習。 + 存儲管理 存儲管理是為了給多道程序運行提供存儲環境,提高內存的利用率。主要包括內存分配與回收、地址映射、內存保護與共享、內存擴充等。這一方面主要在第三章去學習。 + 文件管理 計算機中的信息主要都是以文件的方式存儲,對文件的管理主要包括對文件存儲空間的管理、目錄管理、文件讀寫管理與保護。這一方便在第四章去學習。 + 設備管理 提高設備利用率,包括緩存管理、設備分配、設備處理、虛擬設備等等,這一方面在第五章去學習。
OS的發展與特征
發展
批處理操作系統
單道批處理
將一組程序一條一條的給處理機,處理機一條一條的執行。具有順序性、自動性。但是CPU運行的速度非常快,而當一條指令在讀取信息與輸出信息的情況下,CPU處于空閑狀態,這是一種資源浪費。為了解決這一問題,出現了多道批處理系統。
多道批處理
允許多個程序同時進入內存,并且允許他們在CPU上交替執行(宏觀上程序是并行的,微觀上程序是串行的)。這種方式CPU資源利用率調高了很多,但是用戶響應時間長,不支持人機交互。 放圖理解
分時操作系統
把CPU的運行時間劃分成很小的時間片,按照時間間隔輪流執行各個程序,如果一個時間片的時間到了以后,程序沒有執行完成,那么也不執行了。等待下一次時間片到來繼續執行。相當于多個用戶使用一臺主機設備。分時操作系統具有:同時性、交互性、獨立性、及時性。分時操作系統不僅解決了CPU利用率的問題還解決了人機交互問題,但是分時操作系統不能夠優先處理緊急的任務。 拓展:分時操作系統其實使用了時分復用技術,(百度百科:時分復用技術(time-division multiplexing, TDM)是將不同的信號相互交織在不同的時間段內,沿著同一個信道傳輸;在接收端再用某種方法,將各個時間段內的信號提取出來還原成原始信號的通信技術。這種技術可以在同一個信道上傳輸多路信號。)說實話看了幾遍大致理解了,舉個例子一個廁所供10個人使用,每個人用5分鐘,那么先讓第一個人用一分鐘,以此類推,第11分鐘再讓的一個人使用一分鐘等五十分鐘過去了,就運行結束,增加了用戶的體驗性,不用等那么久。
實時操作系統
為了解決分時操作系統不能優先解決緊急的問題,出現了實時操作系統。遇到某個緊急情況的時候,不需要按時間片選排隊,直接執行該程序。既有及時性與可靠性。 + 硬實時操作系統:在規定的時間內必須執行完某段程序,如果執行不完,會造成嚴重的后果。比如:導彈系統 + 軟實時操作系統:能夠偶偶的超時完成程序不會造成太大的影響。
網絡和分布操作系統
這個暫時不懂
特征
并發
- 定義:
- 并發:兩個或者多個事件在同一時間間隔內發生。
- 并行:兩個或者多個事件在同一時刻內發生
- 并發行是指計算機系統中同時存在多個程序,比如你先吃飯,然后看電視;并行性是指計算機系統又有同時處理多個事件的能力,比如你邊看電視邊吃飯。
共享
- 定義:共享是指系統中資源可以供多個并發執行的程序使用。比如打印機設備
- 互斥共享:在一段時間內只允許一個進程訪問資源
- 同時訪問:可同是允許多個進程使用資源
虛擬
- 虛擬的本質就是把物理的實體轉換成邏輯上的對應物
- 時分復用技術:把處理器的執行時間換成多個時間片,每個時間片內執行一個進程,片選時間到了,不管進程是否執行完畢,都去下一個進程。循環執行。
- 空分復用技術:把內存劃分成多個存儲區域(C、D、E、F盤面)
異步
- 多道程序環境允許多個程序并發進行,但由于資源有限并不是一貫到底的,而是一個進程走走停停,以不可預知的速度向前執行。
- 簡單理解就是一個進程,要運行多次才能允許完畢,得到結果。
四者關系
- 并發與共享是操作系統最基本的特征,二者互為條件存在。
- 資源共享是以程序的程序的并發為條件,程序不允許并發就不會存在資源共享。
- 如果系統不能夠對資源進行有效的管理,則一定會影響程序的程序的并發
OS的運行機制
機制的組成
- CPU的兩種狀態:內核態(核心態)、用戶態(管態)
- 兩個程序:內核程序、應用程序
- 兩種指令:特權指令、非特權指令
機制之間的關系
- 內核態是用戶態的管理者
- 內核態下運行內核程序,用戶態下運行于程序
- 內核態下和內核程序中都可以執行特權指令
- 內核程序可以通過特權指令管理應用程序
CPU什么時候轉變狀態
- 系統調用:這是用戶進程主動要求切換到內核態的一種方式,用戶進程通過系統調用申請操作系統提供的服務程序完成工作。
- 異常:這是用戶進程主動要求切換到內核態的一種方式,用戶進程通過系統調用申請操作系統提供的服務程序完成工作。
- 外圍設備中斷請求:當外圍設備完成用戶請求的操作之后,會向CPU發出相應的中斷信號,這時CPU會暫停執行下一條將要執行的指令
中斷和異常
作用
- 中斷:也稱為外中斷,來自CPU執行指令意外發生的事情。
- 異常:稱為內中斷,來自CPU執行指令內部的事件
區別
- 中斷
- 外中斷(強迫中斷)
- 外設請求
- 人的干預
- 內中斷
- 自愿中斷
- 指令中斷
- 強迫中斷
- 硬件故障
- 軟件故障
- 自愿中斷
- 外中斷(強迫中斷)
如何處理中斷與異常
- 硬件完成
- 關中斷
- 保存斷點
- 引出中斷服務程序
- 中斷程序完成
- 保存現場和屏蔽字
- 開中斷
- 執行中斷服務程序
- 關中斷
- 恢復現場與屏蔽字
- 硬件完成
- 開中斷
- 中斷恢復
系統調用
概念
- 是指用戶在程序中調用操作系統所提供的一些子功能,可以視為特殊的公共子程序。
操作系統提供系統調用命令分類
- 設備管理:完成設備的請求或者釋放,以及設備啟動等功能
- 文件管理:完成文件的讀、寫、創建、刪除
- 進程控制:進程的創建、撤銷 、阻塞、喚醒
- 進程通信:完成進程之間的消息傳遞
- 內存管理:內存的分配、回收等
過程
- 用戶態,用戶的進程執行
- 用戶態,請求使用系統調用
- 內核態,執行系統調用
- 返回給用戶態
OS體系結構
大內核
- 組成
- 用戶態:應用程序
- 內核態:1、進程管理;2、存儲管理;3、設備管理 |1、時鐘管理;2、中斷管理;3、原語
- 優點:高性能,因為很多東西都在內核態完成,不需要在內核態與用戶態之間頻繁的轉換
- 缺點:結構混亂、難以維護
微內核
- 組成
- 用戶態:應用程序|1、進程管理;2、存儲管理;3、設備管理
- 內核態:1、時鐘管理;2、中斷管理;3、原語
- 優點:結構簡單,容易維護
- 缺點:性能低
總結
以上是生活随笔為你收集整理的一个封锁操作被对 wsacancelblockingcall 的调用中断_操作系统概论的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python绘制3d坐标轴_python
- 下一篇: python处理json_Python处