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