五分钟带你了解《操作系统原理》
前言:
- (1)計算機系統的層次結構
- (2)硬件環境
- (3)操作系統結構
- (1)進程
- (2)進程狀態
- (3) 中斷優先級和中斷屏蔽
- 頁式存儲管理
在生活中常聽說過這種話,如果想做為一個編程高手學習操作系統是必要的,現在我國大多都屬于應用層面的開發,操作系統層面開發少至要少,為了成為真正的高手給大家每天 分享一個操作系統知識,每天一小步就是夢想的一大步。
誰都知道計算機系統是由 硬件和軟件組成的,計算機硬件的每一次革新都伴隨著操作系統的發展。
操作系統的發展大致分為4個階段。 第一代的 電子管計算機誕生于 20世紀40年代,當時操作系統尚未出現,程序員直接與硬件打交道; 第二代的 晶體管計算機始于 20世紀50年代,為了提高計算資源的使用效率,減少空閑時間,提出了單道批處理系統; 20世紀60年代,隨著小規模 集成電路的發展,出現了多道批操作系統,以進一步提高資源的使用效率; 20世紀70年代, 大規模集成電路飛速發展,操作系統百家爭鳴,涌現出UNIX、DOS、Windows、Mac OS、Linux等著名的操作系統。
01
第四代操作系統
20世紀70年代,隨著大規模集成電路的發展,微處理器的性能日益強大,計算機逐漸從大型機發展為微型機,操作系統的發展也進入了個人計算機和工作站時代。兩款著名的操作系統占領了大部分PC市場:微軟公司編寫的MS-DOS操作系統主要運行在IBM個人計算機和使用英特爾處理器的計算機中;UNIX則主要運行在使用摩托羅拉處理器的大型個人計算機中。
02
國產操作系統
我國最早的操作系統可以追溯到20世紀70年代末,在40多年的發展歷史中,涌現出多種國產操作系統,大體可將其分成自主研發與基于Linux內核兩大類。
自主研發操作系統是指一個從無到有構建出來的操作系統。早期的國產操作系統COSIX及最初的麒麟操作系統均采取了自主研發的策略,除產品的規格定義參照國際標準外,整個操作系統均由中國開發人員進行開發,不依賴已有成果。這類型操作系統的知識產權完全自主可控,但由于“閉門造車”的開發方式,受開發團隊的限制,使系統容易存在漏洞;同時,由于市場規模較小,會出現軟件生態薄弱等問題,除中科方德外,當前大多數國產操作系統已不再采取自主研發的方式。
由于開源操作系統內核Linux的出現,越來越多的廠商選擇基于Linux內核或基礎發行版進行研發,實現自主可控的目標。與Windows操作系統存在斷供風險不同,Linux內核由GPL v2許可證授權,因此任何人都可以使用Linux內核,對其進行運行、復制、修改、分發,甚至是盈利,這為基于Linux的國產操作系統提供了自主可控的基礎。同時,操作系統廠商需要對Linux內核進行深入的分析與研究,對代碼有一定的把握,可以對其進行定制及安全增強,防止后門的出現。
一、概念:
- (1)計算機系統的層次結構
- (2)硬件環境
- (3)操作系統結構
- (1)進程
- (2)進程狀態
- (3) 中斷優先級和中斷屏蔽
- 頁式存儲管理
(1)什么是操作系統
在回答這個問題之前,我們先來了解一下什么是計算機系統。計算機系統是按用戶的要求接收和存儲信息、自動進行數據處理并輸出結果信息的系統。
計算機系統由硬件系統和軟件系統組成。軟硬件系統的組成部分就是計算機系統的資源,當不同的用戶使用計算機時都要占用系統資源并且有不同的控制需求。
操作系統就是計算機系統的一種系統軟件,由它統一管理計算機系統的資源和控制程序的執行。
操作系統的設計目標一是使計算機系統使用方便。二是使得計算機系統能高效地工作。
(2)操作系統的形成
早期沒有操作系統→原始匯編系統→管理程序→操作系統 可以看到,操作系統是隨著計算機硬件的發展和應用需求的推動而形成的。
(3)操作系統的類型
按照操作系統提供的服務,大致可以把操作系統分為以下幾類:
批處理操作系統、分時操作系統、實時操作系統、網絡操作系統和分布式操作系統。其中批處理操作系統、分時操作系統、實時操作系統是基本的操作系統。
批處理操作系統按照用戶預先規定好的步驟控制作業的執行,實現計算機操作的自動化。又可分為批處理單道系統和批處理多道系統。單道系統每次只有一個作業裝入計算機系統的主存儲器運行,多個作業可自動、順序地被裝入運行。批處理多道系統則允許多個作業同時裝入主存儲器,中央處理器輪流地執行各個作業,各個作業可以同時使用各自所需的外圍設備,這樣可以充分利用計算機系統的資源,縮短作業時間,提高系統的吞吐率。
分時操作系統,這種系統中,一個計算機系統與許多終端設備連接,分時系統支持多個終端用戶,同時以交互方式使用計算機系統,為用戶在測試、修改和控制程序執行方面提供了靈活性。分時系統的主要特點是同時性、獨立性、及時性和交互性。
實時操作系統能使計算機系統接收到外部信號后及時進行處理,并在嚴格的規定時間內完成處理,且給出反饋信號。它是較少有人為干預的監督和控制系統。實時系統對可靠性和安全性要求極高,不強求系統資源的利用率。
網絡操作系統可以把若干計算機聯合起來,實現各臺計算機之間的通信及網絡中各種資源的共享,像我們現在使用的Windows ,UNIX和Linux等操作系統都是網絡操作系統。
分布式操作系統的網絡中各臺計算機沒有主次之分,在任意兩臺計算機間的可進行信息交換和資源共享。這一點上分布式操作系統和網絡操作系統差別不大,他們的本質區別在于:分布式操作系統能使系統中若干計算機相互協作完成一個共同的任務。這使得各臺計算機組成一個完整的,功能強大的計算機系統。
(4)操作系統的功能
從資源管理的觀點出發,操作系統功能可分為五大部分:處理器管理、存儲管理、文件管理、設備管理和作業管理。
二、OS結構:
- (1)計算機系統的層次結構
- (2)硬件環境
- (3)操作系統結構
- (1)進程
- (2)進程狀態
- (3) 中斷優先級和中斷屏蔽
- 頁式存儲管理
計算機系統系統是由硬件系統和軟件系統兩部分組成,操作系統是軟件系統的一個組成部分,它是直接在硬件系統的硬件的基礎上工作的,所以在研究操作系統之前,先必須對計算機系統的結果有一個基本的了解
(1)計算機系統的層次結構
現在的通用計算機系統是由硬件和軟件組成的一種層次結構,最內層是硬件系統,最外層是使用計算機系統的人,人與硬件系統之間是軟件系統。(2)硬件環境
CPU和外設的并行工作I/O中斷的作用存儲結構主存儲器是CPU能訪問的唯一的存儲空間,任何程序和數據都必須被封入主存儲器之后,CPU才能對它進行操作主存儲器以“字節(BYTE)”為單位進行編址,若干字節組成一個“字(WORD)”。中央處理器可以按地址讀出主存儲器中的一個字節或一個字的內容。
輔助存儲器解決了主存儲器容量不足,以及主存儲器無法保存信息的問題。輔助存儲器的優點是容量大且能永久保存信息,缺點是無法被中央處理器直接訪問,必須通過輔助存儲器才能訪問。
中央處理器存儲信息的速度依次為:存取寄存器中的信息速度最快;通過系統總線存取主存儲器的速度居中;使用輔助存儲器的信息速度最慢。
寄存器用來存放臨時的工作信息和系統必須的控制信息。
主存儲器中存放操作系統的核心部分,以及當前需執行的程序和數據。
輔助存儲器是存放操作的核心部分和其他程序和數據。
磁盤的信息可隨機存取,磁帶上的信息只能順序存取。
硬件保護:在資源共享的計算機系統中,只有有了必要的保護措施,才能使個別的錯誤不致影響其他程序。
(3)操作系統結構
層次結構的最大特點是把整體問題局部化。把一個大型復雜的操作系統分解成若干單向依賴的層次,由各層的正確性來保證整個操作系統的正確性。
采用層次結構,能使結構清晰,便于調試,有利于功能的增、刪和修改,正確性容易得到保證,也提高了系統的可維護性和可移植性。
操作系統的一種層次結構如下圖:
作業管理
文件管理
設備管理
存儲管理
處理器管理
硬件
三、多道程序:
- (1)計算機系統的層次結構
- (2)硬件環境
- (3)操作系統結構
- (1)進程
- (2)進程狀態
- (3) 中斷優先級和中斷屏蔽
- 頁式存儲管理
(1)進程
進程的定義:把一個程序在一個數據集上的一次執行稱為一個 “進程”進程是由程序、數據集和進程控制塊三部分組成的。我們舉一個例子,比如在有一個用戶程序notepad.exe(記事本),當它存放在磁盤上時,就是一個程序,在windows操作系統下運行它時,就會在內存中建立一個記事本程序的進程,而我們在記事本中編輯的當前文字就是這個進程的數據集,操作系統會為當前的進程設置一個進程控制塊。如果我們再打開一個記事本程序的窗口,就會建立另一個進程,此時運行的是同一個程序,但存在兩個進程,第二個窗口中的編輯內容就是第二個進程的數據集。進程與程序的區別及關系。程序是靜止的,進程是動態的。進程包括程序和程序處理的對象(數據集),進程能得到程序處理的結果。進程和程序并非一一對應的,一個程序運行在不同的數據集上就構成了不同的進程。通常把進程分為“系統進程”和“用戶進程”兩大類,把完成操作系統功能的進程稱為系統進程,而完成用戶功能的進程則稱為用戶進程。
(2)進程狀態
通常,根據進程執行過程不同時刻的狀態,可歸納為三種基本狀態:
等待態 :等待某個事件的完成;
就緒態 :等待系統分配處理器以便運行;
運行態 :占有處理器正在運行。
(3) 中斷優先級和中斷屏蔽
1、 中端優先級是硬件設計時確定的。中斷裝置按預定的順序來響應同時出現的中斷事件,這個預定的順序稱為“中斷優先級”。中斷優先級是按中斷事件的重要性和緊迫程度來確定的 ,是由硬件設計師固定下來的。一般情況下,優先級的高低順序依次為: 硬件故障中斷 、 自愿中斷 、 程序性中斷 , 外部中斷 和 輸入輸出中斷 。
2、中斷的嵌套處理
3、中斷屏蔽的作用。中斷優先級只是規定了中斷裝置響應同時出現的中斷的次序,當中斷裝置響應了某個中斷后中斷處理程序在進行處理時,中斷裝置也可能去響應另一個中斷事件。因此會出現優先級低的中斷事件的處理打斷優先級高的中斷事件的處理,使得中斷事件的處理順序與響應順序不一致,而且會形成多重嵌套處理,使多現場保護、程序返回等工作變的復雜。
中斷屏蔽技術就是為了解決上述問題而提出的在一個中斷處理沒有結束之前不響應其他中斷事件,或者只響應比當前級別高的中斷事件。于是,當中斷裝置檢查到有中斷事件后,便去查看PSW中中斷屏蔽標志,如果沒有屏蔽就響應該中斷;否則,暫時不響應該中斷,待屏蔽標志消除后再響應。自愿中斷是不能屏蔽的。
四、存儲管理:
- (1)計算機系統的層次結構
- (2)硬件環境
- (3)操作系統結構
- (1)進程
- (2)進程狀態
- (3) 中斷優先級和中斷屏蔽
- 頁式存儲管理
操作系統的存儲管理如同一個大地主,管著一個大莊園,當有農戶需要租用田地時,地主就給分配一塊地讓他種(用戶區分配)。等到地里長出了果實,結果出來后,地主還得來收回這塊地(去配)。
為了管好這片田地,地主還要管好莊園的門,凡是要進去種地的,都得由地主根據他的需要讓他到位置確定實際的田地上去干活。(把邏輯地址轉換成物理地址)
莊園里還有一些大家共同可以使用的地方,比如地主的花園,工具房等,大家可以進去,也可以使用,但是不許改變任何現有的東東,還有,每個農戶只能在自己的地里刨食吃,如果有人膽敢到別人地里或地主的花園里摘花偷食,可要當心他們養的狼狗跳出來哦。(共享和保護)
當然,再大的地也是不夠多的,地主為了多賺些錢,當所有的地都租出去的時候,他想辦法把有些種田人暫時不種的那塊地里的東東連地皮一起挖出來放到倉庫里先堆著。把地騰出來租給別人種(這一招可夠絕的,不過地主說啦,這就是“虛擬存儲”。)
頁式存儲管理
1、如何分頁和分塊
頁式存儲管理中有兩個名詞:“ 頁 ”和“ 塊
”,其中的“塊”是針對硬件來說的,就是把存儲器分成若干相等大小地區,每個區就稱為一個塊。對應的,在程序中,邏輯地址進行“分頁”,其大小和每個塊相一致。
事實上,頁面的大小是由塊的大小決定的。對于程序來說,其邏輯地址還是和原來一樣采用連續的地址。只是 按照塊的位數取其前面數位作為頁號 .
分配空間時,根據作業長度可以確定它的頁面數,根據這個頁面數在主存中分配相應的塊數,只要是空閑塊就可以放入,即使不是相鄰的。并把分配情況記在“頁表”中,根據頁表可以找到相對應的頁號與塊號,就得出絕對地址了。
2、采用頁式管理,使主存空間充分利用,也不必為了得到連續空間而進行移動。 可以提高系統的效率。
3、頁表的構造與作用
每個被裝入主存的作業都有一張 頁表
,指出該作業邏輯地址中的頁號與所占用的主存塊號之間的對應關系。頁表的長度由作頁擁有的頁面數決定,行號對應為頁號,行中記錄的是主頁中的塊號。
頁表是硬件進行地址轉換的依據,每執行一條指令時按邏輯地址中的頁號查找頁表并轉換成絕對地址。
在多道程序設計系統中,進入主存的每個作業都有一張頁表,由一個硬件“頁表控制寄存器”來記錄每個作業的頁表所在位置和長度以便作業轉換時同時轉換頁表。
4、快表的構造與作用
快表
就是頁表的一部分克隆,每行中有頁號及其對應的塊號,整個快表存放在一個小容量的高速緩存中,訪問時快表和內存同時進行查找,因為快表速度很快,而常用的頁都登記在快表中,因此可以大大加快執行速度。
5、采用頁式管理的地址轉換過程
(為什么不直接用塊分配表來記錄而要用位示圖呢,因為主存塊很多,這樣可以節省空間,提高效率。位示圖就是用一個位(0或1)來表示一個塊的使用狀態,一個字32位,可以表示32塊。按順序排列,只需一小段內存就可以記錄主存中大量的塊狀態)
6、利用位示圖實現頁式存儲空間的分配和回收
頁式存儲管理把主存空間分成大小固定的許多塊,在裝業作業時,如何知道主存中哪些塊已使用,哪些還未用,可以用位示圖來表示。
塊號=字號×字長+位號
字號=[i/字長](即塊號i除以字長取整)
尾號=i mod 字長(即塊號i除以字長取余)。
今天就寫到這里了這只是簡單的介紹,后面會一個層面的解析,有感興趣的可以加群分享一些編程知識:
總結
以上是生活随笔為你收集整理的五分钟带你了解《操作系统原理》的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文字识别之检测部分
- 下一篇: 奔驰S400豪华型升级后排电动腿托系统,