1. 程式人生 > >作業系統—基本概念

作業系統—基本概念

作業系統的概念

作業系統(Operating System, OS):是指控制和管理整個計算機系統的硬體和軟體資源,併合理地組織排程計算機的工作和資源分配,以提供給使用者和其他軟體方便的介面和環境的軟體集合。

作業系統的四個特徵:併發、共享、虛擬、非同步

  1. 併發性(Concurrence):併發是指兩個或多個時間在同一時間間隔內發生。作業系統的併發性是指作業系統中同時存在多個執行著的程式。引入程序的目的是使程式能夠併發執行。併發和共享是作業系統最基本的兩個特徵。
    併發(同一時間間隔),並行(同一時刻)。併發是指一段時間內,巨集觀上有多道程式在同時執行。並行是指在每一時刻,單處理器的環境下實際僅能有一道程式執行。並行性需要硬體的條件支撐,例如:多流程或是多處理器

  2. 共享(Sharing):資源共享即共享,是指系統中的資源可供記憶體中的多個併發執行的程序共同使用,可以分為兩種資源共享方式:
    1:互斥共享方式:一段時間內僅允許一個程序訪問該資源,這樣的資源被稱為臨界資源或是獨佔資源,例如印表機等等
    2:同時訪問方式:一段時間內允許多個程序訪問該資源,只是一個請求分幾個時間片間隔完成的效果和連續完成的效果相同,例如磁碟裝置等等

  3. 虛擬(Virtual):指把一個物理上的實體變為若干個邏輯上的對應物,有時分複用技術:處理器的分時共享,空分複用技術:虛擬儲存器

  4. 非同步(Asynchronism):在多道程式環境下,允許多個程式併發執行,但是由於資源有限,程序的執行不一定是連貫到底,而是走走停停。

直觀的理解作業系統

使用者是僱主,作業系統是工人,計算機是機器(由處理器、儲存器、裝置、檔案等幾個部件構成)

處理器管理:在多道程式的情況下,處理器的分配和執行都以程序(或執行緒)為基本單位,因而對處理器的管理可以分配為對程序的管理
儲存器管理:包括記憶體分配、地址對映、記憶體保護等等
檔案管理:計算機中的資訊都是以檔案的形式存在的,作業系統中負責檔案管理的部分被稱為檔案系統,檔案管理包括檔案儲存空間的管理、目錄管理和讀防寫等等
裝置管理:主要任務是完成使用者的I/O請求,包括緩衝管理、裝置分配、虛擬裝置等等

作業系統的體系結構:大核心與微核心

大核心:將作業系統的主要功能模組都作為一個緊密聯絡的整體執行在核心態,從而為應用提供高效能的系統服務,各管理模組之間共享資訊,相互互動,效能優勢非常明顯,更高效

微核心:有效的分離了核心與服務,服務與服務,使得介面更清晰,維護代價大大降低,各部分可以獨立優化與演進,保證了作業系統的可靠性

作業系統的執行機制

在計算機系統中,CPU通常執行兩種不同性質的程式:1:作業系統核心程式;2:使用者程式或是系統之外的應用程式。前者是後者的管理者。作業系統分為使用者態和核心態以區分這兩種程式。

核心態

1:與硬體關聯緊密的模組:時鐘管理、中斷處理、裝置驅動等
2:執行頻率較高的程式:程序管理、儲存器管理、裝置管理等
這兩部分構成了作業系統的核心,核心是計算機上的底層軟體,而這部分的軟體也就工作在核心態

作業系統的系統核心

主要包含四個方面:

  • 時鐘管理:計時、通過時鐘中斷實現程序切換
  • 中斷機制:提高多道程式執行環境中的CPU使用率(中斷機制中只有一小部分屬於核心)
  • 原語:底層可被呼叫的公用小程式(定義方法:關閉中斷,讓所有動作一氣呵成,再開啟中斷)
  • 系統控制的資料結構及處理:為實現有效的管理定義的一些基本操作:核心態的三種管理方式

綜上:核心態指的是包括系統呼叫類指令和一些針對時鐘、中斷和原語的操作指令。

中斷和異常

作業系統在發展的過程中,就是不斷地提高資源利用率的過程,那就是說在程式並未使用某種資源時,把它對那種資源的佔有權釋放,這個行為就要通過中斷來實現。

中斷(外中斷)

指來自CPU執行指令以外的事件發生,如:裝置發出的I/O結束中斷,表示裝置輸入/輸出已結束。這類中斷與當前程式無關,來源於本身以外。

異常(內中斷/陷入)

指源自於CPU執行指令內部的事件,如:程式自身的非法操作碼、地址越界、算術溢位、或是專門的陷入指令。對異常的處理一般要依賴於當前程式的執行現場,且異常不能被遮蔽,必須立即處理。

系統呼叫

所謂系統呼叫指的是使用者在程式種地啊用作業系統所提供的一些子功能,大致分為一下幾類:

  • 裝置管理:裝置的請求與釋放
  • 檔案管理:檔案的讀寫、建立。刪除等
  • 程序控制:程序的建立、刪除、撤銷、阻塞等
  • 程序通訊:程序之間的訊息傳遞和訊號傳遞
  • 記憶體管理:完成記憶體的分配,回收等

綜上:作業系統的執行環境可以理解為:使用者通過作業系統執行上層程式,而上層程式依賴於作業系統的底層管理,當需要底層的服務支援時,系統通過硬體中斷機制進入核心態,執行管理程式。

相關推薦

作業系統學習筆記--作業系統基本概念

**綜述: 1.作業系統的概念、特徵、功能和提供的服務 2.作業系統的發展和分類 3.作業系統的執行環境 4.作業系統的體系結構** 1.作業系統的概念、特徵、功能和提供的服務 作業系統的概念 作業系統是控制和管

作業系統基本概念

作業系統的概念 作業系統(Operating System, OS):是指控制和管理整個計算機系統的硬體和軟體資源,併合理地組織排程計算機的工作和資源分配,以提供給使用者和其他軟體方便的介面和環境的軟體集合。 作業系統的四個特徵:併發、共享、虛擬、非同步

作業系統——基本概念

本文為自己學習《UNIX環境高階程式設計》而來的學習記錄;我的學習方法論是將此書作為工具書來使用,當實際工作中遇到相關的問題針對性地學習知識圓點。 unix基礎知識 基礎概念 從嚴格意義上說,可講作業系統定義為一種軟體,它控制計算機硬體資源,提供

作業系統基本概念

1.概念 作業系統是一種系統軟體;為上層使用者,應用程式提供簡單易用的服務;負責管理協調硬體軟體等計算機資源的工作。 2.功能和目標 是資源的管理者——處理機管理、儲存器管理、檔案管理、裝置管理;向用戶提供服務——命令介面(聯機命令介面,離線命令介面),程式介面(系統呼叫),GUI;對硬體的擴充套件。

Ubuntu作業系統學習筆記1(基本概念、常用指令)

一、Ubuntu 1、什麼是Ubuntu Ubuntu是一個以桌面應用為主的Linux作業系統。 2、Ubuntu特點 (1)操作簡單,方便使用,安裝人性化。 (2)系統安全方面:Ubuntu預設以普通使用者許可權登入,執行所有與系統相關的任務均需要sudo指令 (3)軟體更

基本概念作業系統中 heap 和 stack 的區別

java中變數在記憶體中的分配: 1、類變數(static修飾的變數):在程式載入時系統就為它在堆中開闢了記憶體,堆中的記憶體地址存放於棧以便於高速訪問。靜態變數的生命週期–一直持續到整個"系統"關閉。 2、例項變數:當你使用java關鍵字new的時候,系統在堆中開闢並不一定是連續的

作業系統核心原理-2.一些基本概念

一、計算機硬體基礎 1.1 匯流排結構   從概念上講,計算機的結構是匯流排型的:佈置一根匯流排將各種硬體裝置掛在匯流排(Bus)上。   (1)所有的裝置都有一個控制裝置,外部裝置通過控制器與CPU進行通訊。   (2)所有的裝置之間的通訊也需要通過匯流排。 1.2 流水線結構   為了提高

第一章 嵌入式實時作業系統基本概念

第一章        嵌入式實時作業系統的基本概念 作業系統是系統軟體,在計算機硬體與計算機應用程式之間提供應用程式介面(API),提高應用程式的效率。 嵌入式系統是計算機系統,需要作業系統的支援,此作業系統為嵌入式作業系統。 1.1    嵌入式實時作業系統的基本概念 1

ECMAScript基本概念

fin tro ren pro ima ring 變量 調用 fine 1.數據類型 基本數據類型(簡單類型):Undefined 、Null、String、Boolean、Number 復雜數據類型:Object(和面向對象裏說的類有點相似) 2.變量命名規則 區

ActiveMq的基本概念

要求 更新 它的 高性能 將不 程序 一個 目的 性能 1) 隊列管理器 隊列管理器是MQ系統中最上層的一個概念,由它為我們提供基於隊列的消息服務。 2) 消息 在MQ中,消息分為兩種類型,非永久性(non-persistent)消息和永久性(persistent)消息,非

【Spark深入學習-11】Spark基本概念和運行模式

nmf 磁盤 大數據平臺 並不是 鼠標 .cn 管理系統 大型數據集 spa ----本節內容------- 1.大數據基礎 1.1大數據平臺基本框架 1.2學習大數據的基礎 1.3學習Spark的Hadoop基礎 2.Hadoop生態基本介紹 2.1

MySQL基本概念以及簡單操作

software 倉庫 必須 key 不能 即使 同時 databases ecif 一、MySQL   MySQL是一個關系型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬於Oracle 旗下產品。MySQL 是最流行的關系型數據庫管理系統之一,在 WEB

一、網絡的基本概念

網絡基礎、osi七層協議、tcp三次握手、四次斷開1.1、網絡組成組件 一般來說,兩臺或以上計算機使用任意介質(電纜、光纖或無線電波)、任意網絡(TCP/UDP、NetBEUI或IPX/SPX)來進行連接,並進行資源共享及通信,就可以稱為計算機網絡。網絡協議是網絡上建立通信及傳輸數據的雙方必須遵守的通信標準

Oracle RAC基本概念

特定 遷移 解決方案 開發人員 安裝配置 獲得 情況 網格 play   原文鏈接:http://tech.it168.com/a2012/0814/1384/000001384756_all.shtml   不同的集群產品都有自己的特點,RAC的特點包括如下幾點:   ·

Linux 02 Linux基本概念及操作

調用 manual 如何 滾動 示例 函數 script 部分 ctrl+ 基本echo "hello word" 輸出 hello wordtouch file 創建文件名為file 常用快捷鍵TAB:在忘記命令時,可以用來補全命令Ctrl+c:強制終止

C#多線程之旅(1)——介紹和基本概念

隔離 cnblogs 影響 3-0 同時 ima 並行 logic mes 閱讀目錄 一、多線程介紹 二、Join 和Sleep 三、線程怎樣工作 四、線程和進程 五、線程的使用和誤用 原文地址:C#多線程之旅(1)——介紹和基本概念 C#多線程之旅目錄: C#

面向對象的一些重要的基本概念

計算機 簡單 int overload 其他 style 可擴展 mic 自動 隨著編程經驗的不斷積累,我對編程的理解也在不斷的更新變化,剛開始接觸到的C語言,感覺比較簡單,而且非常有感覺,很有意思,後來是數據結構,然後在學習數據結構的時候了解到編程都有一種非常神秘的算法存

Python簡明教程:基本概念

python1 字面意義上的常量,如2、‘This is ok‘這樣的字符串>>> print(‘a,2,3‘)a,2,32 字符串單引號(‘)使用單引號指示字符串,類似shell中的強引用,所有的空格、制表符照原樣保留。>>> print(‘This is ok‘)Thi

Elasticsearch基本概念及核心配置文件詳解

last log4j 強烈 內存 文檔 size oca 機制 集群   Elasticsearch5.X,下列的是Elasticsearch2.X系類配置,其實很多配置都是相互兼容的 1. 配置文件 config/elasticsearch.yml 主配置文件

Git學習系列-Git基本概念

修改文件 initial config colspan 信息 stage ati 當前 目錄 本系列基於Pro Git介紹如何使用Git進行源代碼管理,以及後期如何使用Git進行項目管理。 系列初步目錄如下: 1. Git基本概念 2. Git分支操作 後續待定。 Git的