計算機操作系統綜述相關知識
計算機操作系統綜述相關知識
計算機操作系統或許你天天都有用到,但是你了解操作系統的基本概念嗎?下面由學習啦小編為大家整理了計算機操作系統綜述的相關知識,希望對大家有幫助!
計算機操作系統綜述
1.計算機系統主要由四個基礎部分組成:處理器、存儲器、輸入輸出(IO)模塊和系統總線。
處理器:控制計算機的操作,執行數據的處理,通常指CPU。在處理中含有寄存器,寄存器相對內存來說容量很小,但存取速度相當快,可以用來暫存指令和數據等。寄存器有多種不同的分類。如地址寄存器和指令寄存器等。地址寄存器存放下一步需要從存儲器中讀取的存儲器地址,指令寄存器存取當前正在執行的程序指令。
存儲器:分為內存和外存。主要用于存儲數據和程序,通常都是易失的(計算機關機后數據丟失),因此也是數據臨時性的存放場所。
輸入輸出模塊:在計算機和外部環境之間移動數據,外部環境包括各種設備(如硬盤、磁盤和各種終端等)。輸入模塊是把人們所熟悉的某種信息形式變換為及其內部所能接收和識別的二進制信息形式。輸出設備把計算機處理結果變化為人和其他機器設備所能接收和識別的信息形式。注意:IO模塊也可以直接和處理器交換數據。也可以直接與內存交換數據,此時,IO模塊對存儲器發出讀命令或寫命令,從而免去了處理器負責數據交換的任務。這種操作叫做直接內存存儲(DMA)。
系統總線:是計算機系統各部件之間進行數據傳送的公共通路。
2.指令的執行
在不考慮中斷的情況下,指令的執行包括兩個階段:處理器從存儲器中取指令階段和處理器執行指令階段。去取指令階段和執行指令階段構成一個指令周期。寄存器中的程序計算器保存下一次要取的指令地址,每次取到的指令放在指令寄存器,處理器解釋指令并執行對應的操作。
中斷:中斷是處理器中斷當前正在執行的程序指令,是其他模塊(IO模塊、存儲器)中斷處理器正常處理過程的機制。主要目的是提高處理器的效率。原因是因為其他模塊在執行過程中比處理器慢很多,導致在處理器在執行過程中如果遇到與其他的模塊進行交互(因為其他模塊可能需要進行自己的特有某些操作,如打印機打印操作過程中,此時是不需要處理器在一直處理等待狀態的...),有很長時間實際上是處于等待狀態而未得到充分利用。
中斷請求:是其他模塊向處理器發送的用于希望處理器中斷當前處理器正在執行的指令,轉而執行此外部模塊的中斷程序,并且處理器負責將正在執行的程序掛起。當中斷處理完成后,處理器恢復執行。
考慮到中斷階段,指令的執行周期變為了取指令階段、執行階段和中斷階段。
3. 中斷處理流程:
其他模塊設別控制器或其他系統硬件產生一個中斷信號給處理器 >> 處理器結束當前指令的執行 >> 處理器發送中斷應答信號 >> 處理器將程序狀態字和程序計數器壓入控制棧 >> 根據中斷,處理器加載新的程序計數器 >> 保存剩余的處理狀態信息 >> 處理器處理中斷程序 >> 中斷處理完成后,處理器恢復處理狀態信息 >> 處理器恢復老的程序狀態字和程序計算器 >> 處理器繼續執行原來的程序指令
4. 存儲器的存儲結構
存儲器的設計主要要在三個方面做出協調:容量、速度和價格。存儲器的層次結構是依據局部性原理:處理器訪問存儲器時,無論是存取指令還是存取數據,所訪問的存儲單元都趨于聚集在一個較小的連續單元中。也就是說位于被訪問字附件的數據在近期被訪問到的概率比較大。局部性又包括三種不同的類型:時間局部性——如果一個信息項正在被訪問,那么在近期它很可能還會被再次訪問。空間局部性——在最近和將來用到的信息很可能與現在使用的信息在空間商地址上是臨近的。順序局部性——在典型程序中,除轉移類指令外,大部分指令是順序執行的。
二級存儲器:與一級存儲器相對,二級存儲器是外部的非易失性,外部的或可移動的。二級存儲設備容量上更大,讀取更慢但相對更便宜。
高速緩存:介于處理器和內存中間的高速小容量的存儲器,和內存一起構成一級存儲器。高速緩存存儲器和內存之間的信息調度和傳送是由硬件自動進行的。高速緩存有時也分為一級高速緩存、二級高速緩存...每級高速緩存都比前一級存取速度慢但容量大。高速緩存是為了解決處理器處理速度遠快于內存的速度而出現的,其基本原理還是局部性原理。高速緩存包含一部分內存數據的副本,此后處理器讀取數據時,首先從高速緩存中判斷是否存在,若有則直接從高速緩存中傳送過去,若沒有則從內存中以一定長度的塊數據先讀入高速緩存,然后再從高速緩存中傳到處理器。
補充:關于計算機操作系統概念的一些疑點和難點
并行性與并發性的區別和聯系
并行性和并發性是既相似又有區別的兩個概念。并行性是指兩個或多個事件在同一時刻發生。并發性是指兩個或多個事件在同一時間間隔內發生。
在多道程序環境下,并發性是指在一段時間內,宏觀上有多個程序在同時運行,但在單處理器系統中每一時刻卻僅能有一道程序執行,故微觀上這些程序只能是分時地交替執行。倘若在計算機系統中有多個處理器(CPU),則這些可以并發執行的程序便被分配到多個處理器上,實現并行執行,即利用每個處理器來處理一個可并發執行的程序。
特權指令與非特權指令
所謂特權指令是指有特殊權限的指令,由于這類指令的權限最大,如果使用不當,將導致整個系統崩潰。比如:清內存、置時鐘、分配系統資源、修改虛存的段表或頁表、修改用戶的訪問權限等。如果所有的程序都能使用這些指令,那么你的系統一天死機《回就不足為奇了。為了保證系統安全,這類指令只能用于操作系統或其他系統軟件,不直接提供給用戶使用。因此,特權指令必須在核心態執行。實際上,CPU在核心態下可以執行指令系統的全集。形象地說,特權指令就是那些兒童不宜的東西,而非特權指令則是老少皆宜。
為了防止用戶程序中使用特權指令,用戶態下只能使用非特權指令,核心態下可以使用全部指令。當在用戶態下使用特權指令時,將產生中斷以阻止用戶使用特權指令。所以把用戶程序放在用戶態下運行,而操作系統中必須使用特權指令的那部分程序在核心態下運行,保證了計算機系統的安全可靠。從用戶態轉換為核心態的唯一途徑是中斷或異常。
訪管指令與訪管中斷
訪管指令是一條可以在用戶態下執行的指令。在用戶程序中,因要求操作系統提供服務而有意識地使用訪管指令,從而產生一個中斷事件(自愿中斷),將操作系統轉換為核心態,稱為訪管中斷。訪管中斷由訪管指令產生,程序員使用訪管指令向操作系統請求服務。
為什么要在程序中引入訪管指令呢?這是因為用戶程序只能在用戶態下運行,如果用戶程序想要完成在用戶態下無法完成的工作,該怎么辦?解決這個問題要靠訪管指令。訪管指令本身不是特權指令,其基本功能是讓程序擁有“自愿進管”的手段,從而引起訪管中斷。
當處于用戶態的用戶程序使用訪管指令時,系統根據訪管指令的操作數執行訪管中斷處理程序,訪管中斷處理程序將按系統調用的操作數和參數轉到相應的例行子程序。完成服務功能后,退出中斷,返回到用戶程序斷點繼續執行。