日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

操作系统学习笔记 第一章:操作系统概述(王道考研)

發布時間:2023/11/28 生活经验 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 操作系统学习笔记 第一章:操作系统概述(王道考研) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文章基于 2019 王道考研 操作系統
考試復習推薦資料:操作系統復習總結 - 百度文庫 (baidu.com)


需要相關電子書的可以關注我的公眾號BaretH后臺回復操作系統

后續章節陸續推出…


一、操作系統概述

    • 1.1 操作系統的概念、功能、目標
      • 1.1.1 基本概念
      • 1.1.2 功能和目標
    • 1.2 操作系統四大特征
    • 1.3 操作系統的發展和分類
    • 1.4 操作系統運行機制和體系結構
      • 1.4.1 運行機制
      • 1.4.2 操作系統內核
      • 1.4.3 大內核、微內核
    • 1.5 中斷和異常
      • 1.5.1 中斷機制的誕生
      • 1.5.2 中斷的概念、作用及分類
      • 1.5.3 中斷實現并發執行的詳細過程舉例
      • 1.5.4 中斷機制的基本原理
    • 1.6 系統調用
      • 1.6.1 什么是系統調用&作用
      • 1.6.2 系統調用和庫函數的區別
      • 1.6.3 系統調用執行過程


1.1 操作系統的概念、功能、目標

1.1.1 基本概念

在信息化時代,軟件是計算機系統的靈魂,而作為軟件核心的操作系統,已與現代計算機系統密不可分、融為一體。計算機系統自下而上可大致分為4部分:硬件、操作系統、應用程序用戶;操作系統管理各種計算機硬件,為應用程序提供基礎,并充當計算機硬件與用戶之間的中介。

綜上所述,操作系統( Operating System,OS)是指控制和管理整個計算機系統的硬件與軟件資源,合理地組織、調度計算機的工作與資源的分配,進而為用戶和其他軟件提供方便接口與環境的程序集合。操作系統是計算機系統中最基本的系統軟件。

操作系統定義的核心

  • 計算機的管理者和控制者——管理和控制計算機軟件和硬件資源,合理組織計算機系統工作流程
  • 其他軟件的運行平臺和服務接口——系統服務,用戶使用接口

1.1.2 功能和目標

操作系統的目標是方便性、有效性可擴充性,具體實現體現在以下幾個方面

1?? 系統資源的管理者

操作系統作為系統資源的管理者主要提供四大功能:處理機管理、存儲器管理、文件管理、設備管理,目的是為了保證系統資源的安全高效使用

2?? 用戶與計算機硬件間的接口

為了讓用戶方便、快捷、可靠地操縱計算機硬件并運行自己的程序,操作系統還提供了用戶接口。操作系統提供的接口主要分為兩類:一類是命令接口,用戶利用這些操作命令來組織和控制作業的執行;另一類是程序接口,編程人員可以使用它們來請求操作系統服務

命令接口 主要分為兩種:聯機命令接口 和 脫機命令接口

  • 聯機命令接口(交互式命令接口)

    交互式:輸入一行命令,系統執行相應的命令

  • 脫機命令接口(批處理命令接口)

    多條命令以文件的方式存儲在一起,調用時一條一條的執行

程序接口 是只能由用戶通過程序間接使用的接口,由一組系統調用組成,用戶通過在程序中使用這些系統調用來請求操作系統為其提供服務,如使用各種外部設備、申請分配和回收內存及其他各種要求

別稱:程序接口=系統調用=系統調用指令=廣義指令

當前最為流行的是圖形用戶界面(GUI),即圖形接口。GUI最終是通過調用程序接口實現的,用戶通過鼠標和鍵盤在圖形界面上單擊或使用快捷鍵,就能很方便地使用操作系統。嚴格來說,圖形接口不是操作系統的一部分,但圖形接口所調用的系統調用命令是操作系統的一部分

3?? 對硬件機器進行拓展

沒有任何軟件支持的計算機稱為裸機,它僅構成計算機系統的物質基礎,而實際呈現在用戶面前的計算機系統是經過若干層軟件改造的計算機。裸機在最里層,其外面是操作系統。操作系統所提供的資源管理功能和方便用戶的各種服務功能,將裸機改造成功能更強、使用更方便的機器:因此,我們通常把覆蓋了軟件的機器稱為擴充機器或虛擬機



1.2 操作系統四大特征

操作系統是一種系統軟件,但與其他系統軟件和應用軟件有很大的不同,它有自己的特殊性即基本特征。操作系統的基本特征包括并發、共享、虛擬和異步。

1?? 并發

并發是指兩個或多個事件在同一時間間隔內發生。操作系統的并發性是指計算機系統中同時存在多個運行的程序,因此它具有處理和調度多個程序同時執行的能力。在操作系統中,引入進程的目的是使程序能并發執行。

注意同一時間間隔(并發)和同一時刻(并行)的區別:

  • 并發是指在多道程序環境下,一段時間內宏觀上有多道程序在同時執行,而在每個時刻,單處理機環境下實際僅能有一道程序執行,因此微觀上這些程序仍是分時交替執行的。操作系統的并發性是通過分時得以實現的
  • 并行性是指系統具有同時進行運算或操作的特性,在同一時刻能完成兩種或兩種以上的工作。并行性需要有相關硬件的支持,如多流水線或多處理機硬件環境

2?? 共享

資源共享即共享,是指系統中的資源可供內存中多個并發執行的進程共同使用。共享可分為以下兩種資源共享方式:互斥共享方式(打印機)和同時共享方式(磁盤、內存)

共享和并發的關系:并發和共享是操作系統兩個最基本的特征,兩者之間互為存在的條件:①資源共享是以程序的并發為條件的,若系統不允許程序并發執行,則自然不存在資源共享問題;②若系統不能對資源共享實施有效的管理,則必將影響到程序的并發執行,甚至根本無法并發執行。

3?? 虛擬

虛擬是指把一個物理上的實體變為若干邏輯上的對應物。物理實體(前者)是實的,即實際存在的;而后者是虛的,是用戶感覺上的事物。用于實現虛擬的技術,稱為虛擬技術。操作系統中利用了多種虛擬技術來實現虛擬處理器、虛擬內存和虛擬外部設備等。

  • 虛擬處理器技術是通過多道程序設計技術,采用讓多道程序并發執行的方法,來分時使用個處理器的。此時,雖然只有一個處理器,但它能同時為多個用戶服務,使每個終端用戶都感覺有一個中央處理器(CPU)在專門為它服務。利用多道程序設計技術把一個物理上的CPU虛擬為多個邏輯上的CPU,稱為虛擬處理器
  • 類似地,可以采用虛擬存儲器技術將一臺機器的物理存儲器變為虛擬存儲器,以便從邏輯上擴充存儲器的容量。當然,這時用戶所感覺到的內存容量是虛的。我們把用戶感覺到(但實際不存在)的存儲器稱為虛擬存儲器
  • 還可采用虛擬設備技術將一臺物理IO設備虛擬為多臺邏輯上的IO設備,并允許每個用戶占用一臺邏輯上的IO設備,使原來僅允許在一段時間內由一個用戶訪問的設備(即臨界資源變為在一段時間內允許多個用戶同時訪問的共享設備

因此,操作系統的虛擬技術可歸納為:時分復用技術,如處理器的分時共享;空分復用技術,如虛擬存儲器。

虛擬和并發的關系:

4?? 異步

多道程序環境允許多個程序并發執行,但由于資源有限,進程的執行并不是一貫到底的,而是走走停停的,它以不可預知的速度向前推進,這就是進程的異步性



1.3 操作系統的發展和分類

1?? 手共操作階段

2?? 批處理階段—單道批處理系統

3?? 批處理階段—多道批處理系統

4?? 分時操作系統

5?? 實時操作系統

6?? 其他



1.4 操作系統運行機制和體系結構

1.4.1 運行機制

計算機系統中,通常CPU執行兩種不同性質的程序:一種是操作系統內核程序;另一種是用戶自編程序(即系統外層的應用程序,或簡稱“應用程序”)。對操作系統而言,這兩種程序的作用不同,前者是后者的管理者,因此“管理程序”(即內核程序)要執行一些特權指令,而“被管理程序”(即用戶自編程序)出于安全考慮不能執行這些指令。所謂特權指令,是指計算機中不允許用戶直接使用的指令,如IO指令、置中斷指令,存取用于內存保護的寄存器、送程序狀態字到程序狀態字寄存器等的指令。在具體實現上,將CPU的狀態劃分為用戶態(目態)和核心態(又稱管態、內核態)??梢岳斫鉃镃PU內部有一個小開關,當小開關為1時,CPU處于核心態,此時CPU可以執行特權指令;當小開關為0時,CPU處于用戶態,此時CPU只能執行非特權指令。用戶自編程序運行在用戶態,操作系統內核程序運行在核心態。

前提知識:什么是指令?

指令是處理器CPU能識別、執行的最基本命令;與高級語言的“代碼”是不同的,CPU看不懂這些高級語言程序的含義,為了讓這些程序能夠順利執行,就需要把它們“翻譯”成CPU能懂的機器語言,即一條條“指令”(這個“翻譯”的過程稱為“編譯”)。所謂執行程序,其實就是CPU根據一條條指令的指示來執行一個個具體的操作。

1?? 兩種指令

2?? 兩種處理器狀態

3?? 兩種程序

1.4.2 操作系統內核

在軟件工程思想和結構程序設計方法影響下誕生的現代操作系統,其結構從最先的無結構操作系統模塊化操作系統結構再到如今的分層操作系統結構。在分層結構中,操作系統的各項功能分別被設置在不同的層次上,每層包含各種模塊,如下圖所示。層間模塊可以隨意互相調用,層間模塊調用需要遵循單向調用原則,即只能高層模塊調用低層模塊。

一些與硬件關聯較緊密的模塊,如時鐘管理中斷處理、設備驅動等處于最低層。其次是運行頻率較高的程序,如進程管理、存儲器管理和設備管理等。這兩部分內容構成了操作系統的內核,該內容的指令操作工作在核心態。

內核是計算機上配置的底層軟件,是計算機功能的延伸。不同系統對內核的定義稍有區別,大多數操作系統內核包括4方面的內容:時鐘管理、中斷處理、原語、對系統資源進行管理的功能

1.4.3 大內核、微內核

操作系統的體系結構是一個開放的問題,隨著發展,操作系統分層式的結構中的內核部分也逐漸劃分為兩種形式——微內核大內核

大內核與微內核



1.5 中斷和異常

1.5.1 中斷機制的誕生

在操作系統中引入核心態和用戶態這兩種工作狀態后,就需要考慮這兩種狀態之間如何切換,操作系統內核工作在核心態,而用戶程序工作在用戶態。系統不允許用戶程序實現核心態的功能,而它們又必須使用這些功能。因此,需要在核心態建立一些“門”,以便實現從用戶態進入核心態在實際操作系統中,CPU運行上層程序時唯一能進入這些“門”的途徑就是通過中斷或異常。

因此引入了中斷機制,實現了多道程序并發執行,本質就是因為發生中斷就因為著操作系統介入,開展管理工作。發生中斷或異常時,運行用戶態的CPU會立即進入核心態,這是通過硬件實現的(例如,用一個特殊寄存器的一位來表示CPU所處的工作狀態,0表示核心態,1表示用戶態。若要進入核心態,則只需將該位置0即可)

1.5.2 中斷的概念、作用及分類

中斷(Interruption)也稱外中斷,指來自CPU執行指令以外的事件的發生,如設備發出的IO結束中斷,表示設備輸入輸出處理已經完成,希望處理機能夠向設備發下一個輸入輸出請求,同時讓完成輸入輸出后的程序繼續運行。時鐘中斷,表示一個固定的時間片已到,讓處理機處理計時、啟動定時運行的任務等。這一類中斷通常是與當前指令執行無關的事件,即它們與當前處理機運行的程序無關。

異常(Exception)也稱內中斷、例外或陷入(tap),指源自CPU執行指令內部的事件,如程序的非法操作碼、地址越界、算術溢出、虛存系統的缺頁及專門的陷入指令等引起的事件。對異常的處理一般要依賴于當前程序的運行現場,而且異常不能被屏蔽,一旦出現應立即處理。

1.5.3 中斷實現并發執行的詳細過程舉例

假設這里有三個進程需要運行,每個進程只能在自己的時間片時間內運行

1、進程1在用戶態下運行,運行到一個時間片時,CPU會收到計時部件發出的中斷信號,CPU就會切換為核心態,需要操作系統接入,開展管理工作

2、CPU的使用權限交給了操作系統,操作系統內核對中斷信號進行處理

3、操作系統發現中斷信號是代表進程1的時間片已經用完,要換進程2運行;

4、操作系統就會CPU的使用權限交還給用戶進程,進程2就會在用戶態下開始執行,進程2執行一段時間后,會發出系統調用(內中斷信號),請求輸出。為了保證系統的安全性,輸入輸出操作相應的指令是特權指令,不允許用戶進程直接使用,因此用戶進程只能通過系統調用的方式來主要要求操作系統介入,讓操作系統代完成請求輸出操作。

5、然后CPU就會切換成核心態,操作系統內核處理中斷,也就是進程2的輸出請求,就會要求打印機設備開始工作;進程2由于要等待打印機I/O設備工作完成,所以操作系統會讓進程2暫停運行,換進程3運行

6、操作系統完成一系列的管理工作后,操作系統會將CPU的使用權還給用戶進程,進程3開始工作;并且打印機在操作系統的要求下會并行的工作,當其工作結束后,會向CPU發出I/O完成的中斷信號;然后就會切換為核心態,操作系統內核處理中斷

7、中斷信號表示的是進程2的I/O操作完成,讓進程2恢復運行,完成后續工作,因此操作系統又將CPU的使用權還給用戶進程,進程2重新開始運行

1.5.4 中斷機制的基本原理



1.6 系統調用

1.6.1 什么是系統調用&作用

所謂系統調用,是指用戶在程序中調用操作系統所提供的一些子功能,系統調用可視為特殊的公共子程序。系統中的各種共享資源都由操作系統統一掌管,因此在用戶程序中,凡是與資源有關的操作(如存儲分配、進行IO傳輸及管理文件等),都必須通過系統調用方式向操作系統提出服務請求,并由操作系統代為完成。通常,一個操作系統提供的系統調用命令有幾十條乃至上百條之多。這些系統調用按功能大致可分為如下幾類。

1.6.2 系統調用和庫函數的區別

1.6.3 系統調用執行過程

系統調用相關功能涉及系統資源管理、進程管理之類的操作,對整個系統的影響非常大,因此必定需要使用某些特權指令才能完成,所以系統調用的處理需要由操作系統內核程序負責完成,要運行在核心態。用戶程序可以執行陷入指令(又稱訪管指令或trap指令)來發起系統調用,請求操作系統提供服務??梢赃@么理解,用戶程序執行“陷入指令”,相當于把CPU的使用權主動交給操作系統內核程序(CPU狀態會從用戶態進入核心態),之后操作系統內核程序再對系統調用請求做出相應處理。處理完成后,操作系統內核程序又會把CPU的使用權還給用戶程序(即CPU狀態會從核心態回到用戶態)

這么設計的目的是:用戶程序不能直接執行對系統影響非常大的操作,必須通過系統調用的方式請求操作系統代為執行,以便保證系統的穩定性和安全性,防止用戶程序隨意更改或訪問重要的系統資源,影響其他進程的運行

總結

以上是生活随笔為你收集整理的操作系统学习笔记 第一章:操作系统概述(王道考研)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。