電腦操作系統概述

来源:https://www.cnblogs.com/ygjzs/archive/2020/02/19/12332146.html
-Advertisement-
Play Games

電腦系統概論 電腦系統 電子數字電腦,是一種能夠自行按照已設定的程式進行數據處理的電子設備,是軟體與硬體相結合、面向系統、側重應用的自動化求解工具,電腦技術迅猛發展,從科學計算、數據處理等應用領域,迅速擴展到實時控制、輔助設計、智能模擬等諸多領域,今天電腦無所不在,深入社會生活的各個領域, ...


電腦系統概論

電腦系統

電子數字電腦,是一種能夠自行按照已設定的程式進行數據處理的電子設備,是軟體與硬體相結合、面向系統、側重應用的自動化求解工具,電腦技術迅猛發展,從科學計算、數據處理等應用領域,迅速擴展到實時控制、輔助設計、智能模擬等諸多領域,今天電腦無所不在,深入社會生活的各個領域,深深改變了當今人類社會的組織行為

電腦系統的組成

電腦系統包括硬體子系統和軟體子系統;硬體是指藉助電、磁、光、機械等原理構成的各種物理部件的有機組合,是系統工作的實體,硬體系統有 CPU,主存儲器,I/O 控制系統,外圍設備;軟體是指各種程式和文件,用於指揮電腦系統按指定的要求進行協同工作,包括系統軟體、支撐軟體和應用軟體,關鍵系統軟體是指操作系統與語言處理程式

電腦硬體系統

電腦硬體系統的組成:

  • 中央處理器
    • 運算單元
    • 控制單元
  • 主存儲器
  • 外圍設備
    • 輸入設備
    • 輸出設備
    • 存儲設備
    • 網路通信設備
  • 匯流排

存儲程式電腦

馮·諾伊曼等人在1946年總結並明確提出,被稱為馮·諾伊曼電腦模型,存儲程式電腦在體繫結構上主要特點有:以運算單元為中心,控制流由指令流產生,採用存儲程式原理,面向主存組織數據流,主存是按地址訪問、線性編址的空間,指令由操作碼和地址碼組成,數據以二進位編碼

當今電腦硬體的經典結構和主流組織方式

匯流排及其組成

匯流排(Bus)是電腦各種功能部件之間傳送信息的公共通信幹線,它是CPU、記憶體、輸入輸出設備傳遞信息的公用通道,電腦的各個部件通過匯流排相連接,外圍設備通過相應的介面電路再與匯流排相連接,從而形成了電腦硬體系統,按照所傳輸的信息種類,匯流排包括一組控制線、一組數據線和一組地址線

匯流排的類型

  • 內部匯流排:用於CPU晶元內部連接各元件
  • 系統匯流排:用於連接CPU、存儲器和各種I/O模塊等主要部件
  • 通信匯流排:用於電腦系統之間通信

中央處理器(CPU)

中央處理器是電腦的運算核心(Core)和控制單元(ControlUnit),主要包括:

  • 運算邏輯部件:一個或多個運算器
  • 寄存器部件:包括通用寄存器、控制與狀態寄存器,以及高速緩衝存儲器(Cache)
  • 控制部件:實現各部件間聯繫的數據、控制及狀態的內部匯流排;負責對指令解碼、發出為完成每條指令所要執行操作的控制信號、實現數據傳輸等功能的部件

處理器與寄存器

存儲器的組織層次

外圍設備及其控制

設備類型包括有:輸入設備,輸出設備,存儲設備和機機通信設備

設備控制方式有:

  • 輪詢方式:CPU忙式控制+數據交換
  • 中斷方式:CPU啟動/中斷+數據交換
  • MA方式:CPU啟動/中斷,DMA數據交換

電腦軟體系統

電腦軟體系統的組成

系統軟體包括:操作系統、實用程式、語言處理程式、資料庫管理系統,其中操作系統實施對各種軟硬體資源的管理控制,實用程式為方便用戶所設,如文本編輯等,語言處理程式把用彙編語言/高級語言編寫的程式,翻譯成可執行的機器語言程式

支撐軟體有介面軟體、工具軟體、環境資料庫,支持用戶使用電腦的環境,提供開發工具,支撐軟體也可認為是系統軟體的一部分

應用軟體是用戶按其需要自行編寫的專用程式

電腦系統視圖

軟體開發的不同層次

  • 電腦硬體系統:機器語言
  • 操作系統之資源管理:機器語言+廣義指令(擴充了硬體資源管理)
  • 操作系統之文件系統:機器語言+系統調用(擴充了信息資源管理)
  • 資料庫管理系統:+資料庫語言(擴充了功能更強的信息資源管理)
  • 語言處理程式:面向問題的語言

電腦程式的執行過程

電腦操作技術的發展

電腦的手工操作

問題:手工操作速度與電子計算速度不匹配

裝入程式的引進

  • 引入卡片和紙帶描述程式指令與數據
  • 引入裝入程式(Loader)
    • 自動化執行程式裝入,必要時進行地址轉換
    • 通常存放在ROM中

引入高級語言後的電腦控制

簡單批處理系統的操作控制

引入作業控制語言,用戶編寫作業說明書,描述對一次電腦求解(作業)的控制,操作員控制電腦成批輸入作業,成批執行作業,這一方式明顯縮短了手工操作的時間,提高了電腦系統利用率,這一階段,磁帶的出現,使得卡片與紙帶等機械輸入方式得以進一步提高

操作系統與自動化操作控制

電子計算速度與機械I/O速度的矛盾:你在輸,我在等,在程式執行過程中能否同時輸入作業,重疊時間,需要多道程式同時執行,程式切換需要高速的外存儲設備,磁碟設備出現:電腦操作系統濃墨登場,實現了電腦系統的自動化控制

電腦操作系統

操作系統的概念

操作系統(OperatingSystem),簡稱OS,是電腦系統最基礎的系統軟體,管理軟硬體資源、控製程序執行,改善人機界面,合理組織電腦工作流程,為用戶使用電腦提供良好運行環境,簡而言之,操作系統是方便用戶、管理和控制電腦軟硬體資源的系統程式集合.

從用戶角度看,OS管理電腦系統的各種資源,擴充硬體的功能,控製程序的執行,從人機交互看,OS是用戶與機器的介面,提供良好的人機界面,方便用戶使用電腦,在整個電腦系統中具有承上啟下的地位,從系統結構看,OS是一個大型軟體系統,其功能複雜,體系龐大,採用層次式、模塊化的程式結構

操作系統的組成

  • 進程調度子系統
  • 進程通信子系統
  • 記憶體管理子系統
  • 設備管理子系統
  • 文件管理子系統
  • 網路通信子系統
  • 作業控制子系統

操作系統的類型

  • 從操作控制方式看
    • 多道批處理操作系統,離線控制方式
    • 分時操作系統,互動式控制方式
    • 實時操作系統
  • 從應用領域看
    • 伺服器操作系統、並行操作系統
    • 網路操作系統、分散式操作系統
    • 個人機操作系統、手機操作系統
    • 嵌入式操作系統、感測器操作系統

資源管理

電腦系統的資源

硬體資源:處理器、記憶體、外設

信息資源:數據、程式

管理電腦系統的軟硬體資源:

  • 處理器資源:那個程式占有處理器運行?
  • 記憶體資源:程式/數據在記憶體中如何分佈?
  • 設備管理:如何分配、去配和使用設備?
  • 信息資源管理:如何訪問文件信息?
  • 信號量資源:如何管理進程之間的通信?

屏蔽資源使用的底層細節

驅動程式:最底層的、直接控制和監視各類硬體(或文件)資源的部分,職責是隱藏底層硬體的具體細節,並向其他部分提供一個抽象的、通用的介面,比如說:列印一段文字或一個文件,既不需知道文件信息存儲在硬碟上的細節,也不必知道具體印表機類型和控制細節

資源的共用與分配方式

  • 資源共用方式
    • 獨占使用方式
    • 併發使用方式
  • 資源分配策略
    • 靜態分配方式
    • 動態分配方式
    • 資源搶占方式

程式控制

多道程式同時計算

CPU速度與I/O速度不匹配的矛盾,非常突出,只有讓多道程式同時進入記憶體爭搶CPU運行,才可以夠使得CPU和外圍設備充分並行,從而提高電腦系統的使用效率

多道程式同時計算的巨集觀分析

甲、乙兩道程式,獨占電腦單道運行時均需1小時,占用CPU時間18分鐘,CPU利用率為30%,按多道程式設計方法同時運行,CPU利用率50%,由於要提供36分鐘的CPU時間,大約運行72分鐘。考慮到OS調度開銷,實際花費時間還要長些,如80分鐘,就處理兩道作業而言,提高效率33%,就單道作業而言,延長執行時間20分鐘,即延長了33%的時間

多道程式設計及優點

多道程式設計:指讓多個程式同時進入電腦的主存儲器進行計算

多道程式設計的特點:

  • CPU與外部設備充分並行
  • 外部設備之間充分並行
  • 發揮CPU的使用效率
  • 提高單位時間的算題量

多道程式系統的實現

  • 為進入記憶體執行的程式建立管理實體:進程
  • OS應能管理與控制進程程式的執行
  • OS協調管理各類資源在進程間的使用
    • 處理器的管理和調度
    • 主存儲器的管理和調度
    • 其他資源的管理和調度

多道程式系統的實現要點

  • 如何使用資源:調用操作系統提供的服務常式(如何陷入操作系統)
  • 如何復用CPU:調度程式(在CPU空閑時讓其他程式運行)
  • 如何使CPU與I/O設備充分並行:設備控制器與通道(專用的I/O處理器)
  • 如何讓正在運行的程式讓出CPU:中斷(中斷正在執行的程式,引入OS處理)

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

-Advertisement-
Play Games
更多相關文章
  • 最近因為” 新冠” 疫情在家辦公,學習了 ASP.NET Core MVC 網站的一些知識,記錄如下。 ...
  • 一. elasticsearch on windows 1.下載地址: https://www.elastic.co/cn/downloads/elasticsearch 如果瀏覽器下載文件慢,建議使用迅雷下載,速度很快。下載版本為7.5.2 2. 修改配置文件 下載後解壓,找到config\jvm ...
  • 枚舉是 C 中最有意思的一部分,大部分開發人員只瞭解其中的一小部分,甚至網上絕大多數的教程也只講解了枚舉的一部分。那麼,我將通過這篇文章向大傢具體講解一下枚舉的知識。我將從大家都瞭解的部分開始講解,然後再講解大家所不知道的或者瞭解很少的部分。 零、基礎知識 枚舉是由開發人員聲明的一種 值類型 ,它在 ...
  • 更改文件夾的顯示名稱 在要修改的文件夾下創建desktop.ini,在文件中輸入: [.ShellClassInfo] LocalizedResourceName= [要顯示的名字] 在CMD中輸入命令: attrib +A +S +H desktop.ini 返回上層目錄,輸入命令: attrib ...
  • 我們經常會有這樣的需求,外出出差需要訪問公司內部網路資源;分佈在各地的分公司需要組建網路連通;在國內訪問google等國家防火牆屏蔽的網站。架設專線對絕大多數我們來說觸不可及,VPN技術應運而生。目前應用最為廣泛的區域網聯網技術是虛擬專用網技術,這是建立在internet基礎上的一種價格低廉的隧道技 ...
  • write 解釋 語法 示例 wall 解釋 語法 示例 ping 解釋 語法 示例 ifconfig 解釋 語法 示例 mail 解釋 語法 mail命令不存在 示例 last 解釋 語法 示例 lastlog 解釋 語法 示例 traceroute 解釋 語法 traceroute命令不存在 示 ...
  • shutdown 解釋 語法 示例 其他關機命令 其他重啟命令 系統運行級別 查看運行級別的方法 logout 解釋 ...
  • 目錄 gzip gunzip tar(打包壓縮) tar(解包解壓) zip unzip bzip2 bunzip2 gzip 解釋 語法 示例 gzip只能壓縮文件,而且壓縮後,原文件不在了 gunzip 解釋 語法 示例 tar 解釋 語法 示例 打包並壓縮文件 tar czf Japan.ta ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...