操作系統|操作系統概述

来源:https://www.cnblogs.com/kiwenzhang/archive/2019/05/20/10894408.html
-Advertisement-
Play Games

什麼是操作系統? 操作系統(Operating System,OS)是控制應用程式執行和充當硬體系統和應用程式之間的界面的軟體。 操作系統的目標 方便性、有效性、可擴充性、開放性。 操作系統的作用 OS作為用戶與電腦硬體系統之間的介面 如圖所示,用戶可以通過命令方式、系統調用和圖標 視窗方式實現與 ...


什麼是操作系統?

操作系統(Operating System,OS)是控制應用程式執行和充當硬體系統和應用程式之間的界面的軟體。

操作系統的目標

方便性、有效性、可擴充性、開放性。

操作系統的作用

  • OS作為用戶與電腦硬體系統之間的介面

    如圖所示,用戶可以通過命令方式、系統調用和圖標-視窗方式實現與操作系統的通信,並取得它的服務。

    圖片描述

  • OS作為電腦系統資源的管理者

    1. 管理處理器,用於分配和控制處理器
    2. 管理存儲器,主要負責記憶體的分配與回收
    3. 管理I/O設備,負責I/O設備的分配與操縱
    4. 管理文件,負責文件的存取、共用和保護
  • OS實現了對電腦資源的抽象

    OS是鋪設在電腦硬體上的多層軟體的集合,增加了系統的功能,隱藏了對硬體系統的具體細節,實現了對電腦硬體操作的多個層次的抽象模型,方便用戶使用。

    圖片描述

操作系統的發展過程

  • 未配置操作系統的電腦系統

    1. 人工操作方式
    2. 離線輸入/輸出方式

      離線I/O方式指的是程式和數據的輸入和輸出都是在外圍機的控制下完成的,或者說,他們是在脫離主機的情況下進行的。

      聯機I/O指的是在主機的直接控制下進行輸入/輸出的方式。

  • 單道批處理系統:首先由監督程式將磁帶上的第一個作業裝入記憶體,並把運行控制權交給該作業,當該作業處理完成時,又把控制權交還給監督程式,再由監督程式把磁帶上的第二個作業調入記憶體,電腦系統就這樣自動地一個作業緊接一個作業進行處理,直至磁帶上的所有作業全部完成。
  • 多道批處理系統:用戶所提交的作業都先存放在外存上併排成一個隊列,稱為“後備隊列”;然後由作業調度程式按一定的演算法從後被隊列中選擇若幹個作業調入記憶體,使它們共用CPU和系統中的各種資源。

    圖片描述

  • 分時系統:分時系統是指在一臺主機上連接了多個配有顯示器和鍵盤的終端並由此所組成的系統,該系統允許多個用戶同時通過自己的終端,以交互方式使用電腦,共用主機中的資源。為了及時從終端接收命令並處理,需要為每個終端配置緩衝區,暫存用戶鍵入的命令(或數據)。因為作業在磁碟上是不能運行的,所以作業應直接進入記憶體,並且系統規定採用輪轉運行方式,每個作業只能運行一個時間片,然後就暫停該作業的運行,並立即調度下一個作業運行。
  • 實時系統:實時系統是指系統能及時響應外部時間的請求,在規定的時間內完成對該事件的處理,並控制所有實時任務協調一直地運行。
  • 微機操作系統

操作系統的基本特性

併發:指兩個或多個事件在同一時間間隔內發生,使得OS能有效地提高系統中資源利用率,增加系統的吞吐量。

  • 併發性是指兩個或多個事件在同一時間間隔發生。
  • 並行性是指兩個或多個事件在同一時刻發生。

共用:共用是指系統中的資源可供記憶體中多個併發執行的進程(線程)共同使用。

  • 互斥共用:僅當占有資源的進程A訪問完並釋放該資源後,才允許另一進程B對該資源進行訪問(對獨占資源應採用該方式)
  • 同時訪問:允許在一段時間內由多個進程“同時”對它們進行訪問。這裡的“同時”,在單處理機環境下往往是巨集觀的,而在微觀上,這些進程可能是交替對該資源進行訪問。

虛擬:通過某種技術將一個物理實體變成若幹個邏輯上的對應物。

  • 時分復用技術

虛擬處理機技術:虛擬處理機技術藉助多道程式設計技術,即為每一道程式建立一個進程,讓多道程式併發執行,從而達到分時使用一臺電腦,這台電腦能夠同時為多個用戶服務,使得每個終端用戶都認為有一個處理機專門為他服務。

虛擬設備技術:一臺物理I/O設備虛擬為多台邏輯上的I/O設備,並允許用戶占用一臺邏輯上的I/O設備,這樣可以允許在一段時間內由一個用戶訪問的設備(即臨界資源)變為在一段時間內允許多個用戶同時訪問的共用設備。

  • 空分復用技術

可以用來實現虛擬磁碟、虛擬存儲等,提高資源的利用率。它將一個頻道範圍非常寬的通道,劃分成多個頻率範圍較窄的通道,其中的任何一個頻帶都只供一個用戶通話

非同步:在多道程式環境下允許多個進程併發執行,但只有進程在獲得所需的資源後方能執行。進程以人們不可與之的速度向前推進,此即進程的非同步性。簡單來說,即由於各用戶程式性能的不同,不同程式對記憶體的使用開始時間、結束時間、中斷時間是不可預知的。

操作系統的主要功能

  • 處理機管理功能:創建和撤銷進程,對諸進程的運行進行協調,實現進程之間的信息交換,以及按照一定的演算法把處理機分配給進程。主要為進程式控制制進程同步進程通信調度
  • 存儲器管理功能:記憶體分配和回收記憶體保護地址映射記憶體擴充等。
  • 設備管理功能:主要是完成和用戶進程提出的I/O請求,為用戶進程分配所需的I/O設備,並完成指定的I/O操作以及提高CPU和I/O設備的利用率,提高I/O速度,方便用戶使用I/O設備。主要有緩衝管理設備分配以及虛擬設備等。
  • 文件管理功能:對用戶文件和熊文件進行管理以及方便用戶使用,並保證文件的安全性。主要有對文件存儲空間的管理目錄管理文件的讀,寫管理以及文件的共用與保護等功能。
  • 操作系統與用戶之間的介面:便於用戶直接或間接地控制自己的作業。主要有聯機用戶介面、脫機用戶介面圖形用戶介面

微內核OS結構

微內核(Micro Kernel)操作系統

基本特征

  • 足夠小的內核
  • 基於客戶/伺服器模式

    圖片描述

  • 應用“機制與策略分離”原理
  • 採用面向對象技術

微內核的基本功能:進程(線程)管理、低級存儲器管理、中斷和陷入處理

微內核操作系統的優點:提高了系統的可拓展性,增強了系統的可靠性,可移植性強,提供了對分散式系統的支持,融入了面向對象技術

文章同步在微信公眾號,習慣微信上看文章的可以關註微信公眾號:加二減壹
文章同步https://segmentfault.com/u/1s_kiwen,轉載須註明出處


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • zabbix zabbix-server: 監聽的埠10051zabbix-agent: 10050Zabbix: Item, Key(鍵)ethercard.traffic[eth0]action: item: 數據項() --> data store --> Web GUI key: serv ...
  • ubuntu安裝vbox虛擬機一、安裝準備1、查看主機配置 二、下載安裝包 (建議將安裝包下載並保存)a、下載virtualbox安裝包下載鏈接https://www.virtualbox.org/wiki/Linux_Downloads b、增強功能安裝包1) http://download.vi ...
  • 文章大綱 一、運行模式二、用戶與用戶組管理(重點)三、網路設置四、ssh服務(重點)五、學習資料下載六、參考文章 自有服務,即不需要用戶獨立去安裝的軟體的服務,而是當系統安裝好之後就可以直接使用的服務(內置)。 一、運行模式 運行模式也可以稱之為運行級別。在linux中存在一個進程:init (in ...
  • 文章大綱 一、vi介紹二、vim三種模式(重點)三、命令模式四、模式間的切換(重點)五、末行模式六、編輯模式七、實用功能八、擴展九、學習資料下載十、參考文章 一、vi介紹 Vi編輯器是所有Unix及Linux系統下標準的編輯器,類似於windows系統下的notepad(記事本)編輯器,由於在Uni ...
  • 1.ORACLE資料庫數據導入到測試庫環境 172.15.1.51 root kic@test 172.15.1.52 root 一般先將數據導入52的環境(配置比較低),再將數據導入51的環境(本文檔使用的環境) 2. 測試環境建立oracle資料庫用戶,並且賦予nc表空間許可權 3.使用數據泵im ...
  • 回到目錄 通常,半導體元器件的製造商會為自己每一種型號的產品提供一個描述其參數性能的詳細說明書,術語叫作datasheet,中文叫作“數據規格書”,也叫“數據手冊”。下麵我們以常用的1N4148二極體為例,來介紹如何閱讀二極體的數據手冊。 在www.alldatasheet.com上,你可以搜到絕大 ...
  • 文章大綱 一、高級指令二、練習題三、學習資料下載四、參考文章 一、高級指令 1. hostname指令 作用:操作伺服器的主機名(讀取、設置)語法1:#hostname 含義:表示輸出完整的主機名語法2:#hostname -f 含義:表示輸出當前主機名中的FQDN(全限定功能變數名稱) 2. id指令 作 ...
  • 文章大綱 一、指令與選項二、基礎指令(重點)三、進階指令(重點)四、學習資料下載五、參考文章 一、指令與選項 什麼是Linux的指令?指在Linux終端(命令行)中輸入的內容就稱之為指令。 一個完整的指令的標準格式:Linux通用的格式 一個指令可以包含多個選項操作對象也可以是多個 例如:需要讓張三 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...