操作系统第一章知识点小结
第一章 操作系統概述
1.1操作系統的概念,功能和目標
資源管理者(接下來的4給章節就是對這四個功能的詳細學習)
處理機處理: 處理機管理因為是為進程分配處理機資源,也稱為進程管理。
存儲器管理: 存儲器管理的對象是主存,也稱內存。它的主要功能包括分配和回收主存空間、提高主存利用率、擴充主存、對主存信息實現有效保護。
文件管理: 主要涉及文件的邏輯組織和物理組織,目錄的結構和管理。所謂文件管理,就是操作系統中實現文件統一管理的一組軟件、被管理的文件以及為實施文件管理所需要的一些數據結構的總稱
設備管理:
1.緩沖管理
為達到緩解CPU和I/O設備速度不匹配的矛盾,達到提高CPU和I/O設備利用率,提高系統吞吐量的目的,許多操作系統通過設置緩沖區的辦法來實現。
2.設備分配
設備分配的基本任務是根據用戶的I/O請求,為他們分配所需的設備。如果在I/O設備和CPU之間還存在設備控制器和通道,則還需為分配出去的設備分配相應的控制器和通道。
3.設備處理
設備處理程序又稱設備驅動程序。其基本任務是實現CPU和設備控制器之間的通信。
4.設備獨立性和虛擬設備
用戶向系統申請和使用的設備與實際操作的設備無關
向用戶提供服務:
命令接口: (允許用戶直接使用)
1.聯機命令接口(交互式命令接口):一組聯機命令,終端處理程序、命令解釋程序,比如CMD中的指令 time指令
2.脫機命令接口:比如.bat文件,把指令列成指令清單,一次執行
程序接口: (允許用戶通過程序間接使用)
由一組系統調用組成,(程序接口=系統調用)
GUI: 圖形用戶接口
1.2標題操作系統的特征(4個哦)
并發(concurrence) : 指兩個或多個事件在同一時間間隔內發生。在多道程序環境下,并發是指宏觀上在一段時間內有多道程序在同時運行,而微觀上這些程序是在交替地執行。
資源共享(resource—sharing) : 指多個并發進程共享計算機系統中的資源。被共享的資源可以是諸如CPU、內存、磁盤和打印機等硬件資源;也可以是軟件資源,如文件和數據。
虛擬(virtual): 所謂虛擬是指把一個物理上的實體,映射為若干個邏輯上的對應物。前者是實的,實際存在的;后者是虛的,只是用戶的一種感覺。例如,在多道程序系統中,雖然只有一個CPU,但通過分時使用后給用戶的感覺是每道程序都有一個CPU在為之服務。亦即多道程序設計技術可把一臺物理CPU虛擬為多臺邏輯上的CPU。
時分復用共享:當一種資源在時間上復用時,不同的程序或用戶輪流使用它。比如分時操作系統下的CPU
**空分復用共享:**讓同一個頻段在不同的空間內得到重復利用。虛擬磁盤技術:一臺電腦上只有一個硬盤,使用虛擬磁盤技術可以將一個硬盤虛擬為多個硬盤。例如電腦上的C、D、E、F盤
異步(asynchronism): 指一組事件在多次出現時,它們出現的時間和次序沒有一定規律。在多道程序環境下,異步是指每道程序均以人們不可預知的速度向前推進。
1.3操作系統的發展與分類
每個新出現的操作系統都是為了解決上一代操縱系統的缺點
手工操作系統階段: 特點:一道程序獨占機器且有人工干預的情況。
單道批處理系統
單道批處理系統引入了脫機輸入/輸出技術(用磁帶完成),但是每次只能往內存中輸入一道程序,監督程序(這是操作系統的雛形)負責控制程序的輸入輸出。
過程:多個用戶把程序寫在紙帶上,然后通過外圍機錄入到磁帶中,監督程序會控制程序的輸入和輸出,每次只允許計算機內存中存在一道用戶程序。
流程大概這樣:這個磁帶的功能,也被映射到了緩沖技術的思想上。
由于磁帶錄入到處理器中的速度比紙帶快得多,所以單道批處理系統一定程度上緩和了人機速度矛盾,資源利用率有所提升,
主要優點: 緩和了一定程度的人機速度矛盾,資源利用率有所提升。
主要缺點: 內存中僅能有一道用戶程序運行,只有該程序運行結束后才能調入下一道程序,CPU有大量的空閑時間是在等待I/O完成,資源利用率依然很低。
在這里要解釋一下,什么叫"CPU有大量的時間是在空閑等待I/O完成",I/O其實就是輸入/輸出(Input/Output)。這句話的意思就是,程序在輸入輸出的時候,什么事情都不做,必須等輸入輸出完成,該程序才做接下來的事情。
舉個現實的例子:你去買宵夜,你和奶茶小販說:"老板,我要一杯奶茶"后,你就在那里等,而不是去買其他的東西。
在這里,你就是CPU,奶茶小販就是輸出設備,而你向奶茶小販說了你的需求(這就是CPU要輸出設備做的事)后,你沒做其他的事情,而是站在那里等,那這個等的時間就是空閑時間,其實你可以在這個空閑時間做其他事情。
多道批處理系統(操作系統正式誕生)
每次往計算機內存中輸入多道程序,并引入了中斷技術,由操作系統負責管理這些程序的并發運行。
過程:和單道批處理系統差不多,只不過是可以向計算機內存中調入多道程序,讓他們在計算機內存中并發運行。
主要優點:多道程序并發運行,共享計算機資源,資源利用率大幅提升,CPU和其他資源保存"忙碌"狀態的時間增長。
主要缺點:用戶響應時間長,沒有人機交互功能(用戶提交自己的作業之后只能等待計算機處理完成,中間不能控制自己作業的執行)
這里舉個例子說說:為什么多道批處理系統能使資源利用率大幅提升呢?
假如現在計算機中有3個設備,輸入設備、CPU、輸出設備,他們分別負責輸入、計算、輸出。
那現在有3個作業,每個作業需要1s輸入,1s計算,1s輸出。
假如采用單道批處理系統。那過程將如下圖。
可以看出,
輸入設備的工作區間為[0,1],[3,4],[6,7]。
CPU的工作區間為[1,2],[4,5],[7,8]。
輸出設備的工作區間為[2,3],[5,6],[8,9]。
這些設備的工作區間都沒有重疊。
整個過程用了9s。
假如采用多道批處理系統。那過程將如下圖。
可以看出,
輸入設備的工作區間為[0,3]。
CPU的工作區間為[1,4]。
輸出設備的工作區間為[2,5]。
這些設備的工作區間有重疊,而且在[2,3]時,輸入設備,CPU,輸出設備都在工作。
整個過程用了5s。
從對比可以看出,多道批處理系統能使資源利用率大幅提升,也提升了工作效率。
分時操作系統
概述:計算機以時間片為單位輪流為各個用戶/作業服務,各個用戶可通過終端與計算機進行交互。T=QN(Q為時間片,往往時間片是固定的,N為用戶數,用戶數越多,響應時間越長)
(時間片就是一個很短的時間,比如50ms)
圖示如下:
用戶請求可以被即時響應,解決了人機交互問題,允許多個用戶使用一臺電腦,并且用戶對計算機的操作相互獨立,感受不到別人的存在。
主要缺點:不能優先處理一些緊急任務,操作系統對各個用戶/作業都是完全公平的,循環地為每一個用戶/作業服務一個時間片,不區分任務的緊急性(有時候我們需要某個作業被馬上執行,比如導彈發射,如果不能實時操作,必將產生災難性的后果)
實時操作系統
為了解決分時操作系統不區分任務的緊急性的問題,實時操作系統誕生了。
在實時操作系統的控制下,計算機系統接收到外部信號后能及時進行處理,并且要在嚴格的時限內處理完事件, 實時操作系統的主要特點是及時性和可靠性。
主要優點: 能優先響應一些緊急任務,某些緊急任務不需要時間片排隊。
當然,實時操作系統也分為2類:
硬實時系統(必須在絕對嚴格的規定時間內完成處理,如導彈控制系統、自動駕駛系統)
軟實時系統(能偶爾違反時間規定,如12306火車訂票系統,有時候票的余量是不準確的,但是也不妨礙系統的正常運行)
其他幾種操作系統
網絡操作系統:網絡操作系統伴隨著計算機網絡的發展而誕生,能把網絡中的各個計算機有機地結合起來,實現數據傳輸等功能,實現網絡中各種資源的共享(如文件共享)以及各臺計算機之間的通信。
分布式操作系統: 主要特點是分布性和并行性,系統之中的各臺計算機地位相同,任何工作都可以分布在這些計算機上,他們并行、協同完成這個任務。
個人操作系統: 如 Windows XP,windows 7,10,macOS,方便個人使用。
參考自:https://blog.csdn.net/qq_19018277/article/details/98206370
1.4操作系統的運行機制和體系結構
內核程序可以執行特權指令,也可以執行非特權指令。
指令的概念:
I/O指令是計算機指令系統的一部分,由CPU執行。在采用通道的計算機中,I/O指令不直接控制I/O數據的傳送,它只負責啟動、停止I/O的過程、查詢通道和I/O設備的狀態以及控制通道進行某些操作。
比如:cpu在執行一個接受數據的進程,當我傳輸到一半我想打游戲了,我點了停止傳輸,cpu就會發出一個I/O指令用來停止這個傳輸的進程,這就會用到中斷機制,把當前cpu運行的這個進程中斷掉,換到我打游戲的進程。
1) 時鐘管理
在計算機的各種部件中,時鐘是最關鍵的設備。時鐘的第一功能是計時,操作系統需要通過時鐘管理,向用戶提供標準的系統時間。另外,通過時鐘中斷的管理,可以實現進程的切換。諸如,在分時操作系統中,釆用時間片輪轉調度的實現;在實時系統中,按截止時間控制運行的實現;在批處理系統中,通過時鐘管理來衡量一個作業的運行程度等。因此,系統管理的方方面面無不依賴于時鐘。
2) 中斷機制
引入中斷技術的初衷是提高多道程序運行環境中CPU的利用率,而且主要是針對外部設備的。后來逐步得到發展,形成了多種類型,成為操作系統各項操作的基礎。例如,鍵盤或鼠標信息的輸入、進程的管理和調度、系統功能的調用、設備驅動、文件訪問等,無不依賴于中斷機制。可以說,現代操作系統是靠中斷驅動的軟件。
中斷機制中,只有一小部分功能屬于內核,負責保護和恢復中斷現場的信息,轉移控制權到相關的處理程序。這樣可以減少中斷的處理時間,提高系統的并行處理能力。
3) 原語
按層次結構設計的操作系統,底層必然是一些可被調用的公用小程序,它們各自完成一個規定的操作。其特點是:
它們處于操作系統的最底層,是最接近硬件的部分。
這些程序的運行具有原子性——其操作只能一氣呵成(這主要是從系統的安全性和便于管理考慮的)。
這些程序的運行時間都較短,而且調用頻繁。
通常把具有這些特點的程序稱為原語(Atomic Operation)。定義原語的直接方法是關閉中斷,讓它的所有動作不可分割地進行完再打開中斷。
系統中的設備驅動、CPU切換、進程通信等功能中的部分操作都可以定義為原語,使它們成為內核的組成部分。
1.5中斷和異常
中斷是指 CPU 對系統發生某事件時的這樣一種響應:
CPU 暫停正在執行的程序,在保留現場后自動地轉去執行該事件的中斷處理程序;執行完后,再返回到原程序的斷點處繼續執行。
根據中斷時 CPU 的活動軌跡。還可進一步把中斷分為外中斷和內中斷。
通過判斷中斷信號來自CPU內部還是外部來判斷屬于哪種中斷
外中斷——就是我們指的中斷——是指由于外部設備事件所引起的中斷,如通常的磁盤中斷、打印機中斷等;
內中斷——就是異常——是指由于 CPU 內部事件所引起的中斷,如程序出錯(非法指令、地址越界)。內中斷(trap)也被譯為“捕獲”或“陷入”。
異常是由于執行了現行指令所引起的。由于系統調用引起的中斷屬于異常。
中斷則是由于系統中某事件引起的,該事件與現行指令無關。
中斷和異常
相同點:都是CPU對系統發生的某個事情做出的一種反應。
區別:中斷由外因引起,異常由CPU本身原因引起。
引入原因
中斷的引入——為了支持CPU和設備之間的并行操作
異常的引入——表示CPU執行指令時本身出現的問題
引發中斷或異常的事件
中斷——外部事件引起,正在運行的程序所不期望的
異常——內部執行指令引起
1.6系統調用
陷入指令(Traps),又叫做自陷指令或訪管指令,出現在計算機操作系統中,用于實現在用戶態下運行的進程調用操作系統內核程序,即當運行的用戶進程或系統實用進程欲請求操作系統內核為其服務時,可以安排執行一條陷入指令引起一次特殊異常。
陷入指令在計算機操作系統的中斷處理機制、系統調用機制中有重要作用。陷入處理機制需要開辟現場保護區,以保存發生系統調用時的處理器現場。
總結
以上是生活随笔為你收集整理的操作系统第一章知识点小结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 山西大学计算机科学技术学科评估排名,山西
- 下一篇: Android3d结构光,为什么3D结构