10 計算機結構

馮諾依曼體系結構

馮·諾依曼體系結構,也被稱為普林斯頓結構,是一種計算機架構,其核心特點包括將程序指令存儲和數據存儲合并在一起的存儲器結構,程序指令和數據的寬度相同,通常都是16位或32位

我們常見的計算機,筆記本等大部分都遵守馮諾依曼體系

在這里插入圖片描述

截至目前,我們所認識的計算機都是由一個個硬件組成:
存儲器: 指的是內存
輸入設備: 鍵盤,攝像頭,話筒,磁盤,網卡…
輸出設備: 顯示器,音響,磁盤,網卡…
CPU: 運算器,算術運算,邏輯運算
控制器: CPU是可以響應外部事件,協調外部就緒事件,如拷貝數據到內存

為什么在中間要加一個存儲器,也就是內存的結構。不直接訪問cpu
因為cpu里寄存器之類,拿數據是最快的,到內存,磁盤,光盤,磁帶等效率都是遞減。如果直接訪問cpu,需要存儲4gb等較大數據就需要很大的寄存器,成本很貴。用內存作為中間介質,cpu需要數據訪問內存,從外部讀取數據放到內存,不直接訪問cpu,節省了很多成本。

輸入input,輸出output,通過內存這兩個就是IO

強調
存儲器指內存
不考慮緩存情況,cpu只對內存進行讀寫,不能訪問外設
外設要輸入輸出數據,也只能寫入內存或從內存中讀取
一句話,所有設備都只能直接和內存打交道

對馮諾依曼體系的理解,不能停留在概念上,要深入到軟件數據流理解,從登上qq開始和朋友聊天,數據的流動過程,從鍵盤輸入設備到內存,然后輸出到網卡發送過去,朋友斷網卡收到數據,通過內存到輸出設備顯示出來

操作系統(Operator System)

概念

任何計算機系統都包含一個基本的程序集合,稱為操作系統(OS)。籠統的理解,操作系統包括

  • 內核(進程管理,內存管理,文件管理,驅動管理)
  • 其他程序(函數庫,shell程序等)

OS的目的

與硬件交互,管理所有的軟硬件資源
為用戶程序提供一個穩定、安全、簡單的執行環境

定位

操作系統的定位是一款純正搞管理的軟件

如何理解管理

  • 管理的例子
  • 描述被管理的對象
  • 組織被管理對象

在這里插入圖片描述

操作系統的管理是對被管理對象的數據的管理,管理和被管理者可以不直接溝通,拿到被管理者的數據支持管理決策,然后執行才是最重要的。就比如學校的校長決策,實現對學生的管理,入學畢業等,只需要修改學生的相關數據,不需要直接和學生溝通。這就形成了先描述,再組織。先描述學生數據的結構,然后組織信息的增刪查改,就完成了管理

和下面的銀行結構類似
在這里插入圖片描述
在這里插入圖片描述

行長就是操作系統,如何管理銀行系統,首先是各種硬件設備,有各自的管理者來管理,這就是各種驅動程序直接管理。操作系統需要對內存、驅動、進程、文件等進行管理,不需要直接和軟硬件打交道,和它們的對應管理溝通。對外提供了各種接口,也就是系統接口的函數調用,但這些很不方便。操作系統假設對所有人都不信任 ,因為人直接操作困難也很容易出錯。所以和銀行柜臺前面的引導員一樣,形成了shell外殼程序和圖形化界面,供用戶很方便的操作,告訴需求,程序來讓操作系統執行,對于程序員,封裝了各種庫和編程語言。客戶在銀行存錢,實際上是對數據的修改,最后也是先描述,后組織,對每個客戶的數據和倉庫數據進行描述,然后組織數據的結構執行,操作系統也一樣,對每個硬件和軟件的行為歸根到底都是對數據的管理

總結

計算機管理硬件
描述:用struct結構體
組織:用鏈表或其他高效的數據結構

系統調用和庫函數

在開發家都,操作系統對外表現為一個整體,會開放自己的一些接口,供上層開發使用,這部分就是系統調用
系統調用功能基礎,要求也高,所以適度封裝,有了庫,有利于進行二次開發

承上啟下

進程管理是怎么管理,也是先描述,然后組織

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/716545.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/716545.shtml
英文地址,請注明出處:http://en.pswp.cn/news/716545.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

在Centos7中用Docker部署gitlab-ce

一、介紹 GitLab Community Edition (GitLab CE) 是一個開源的版本控制系統和協作平臺,用于管理和追蹤軟件開發項目。它提供了一套完整的工具和功能,包括代碼托管、版本控制、問題跟蹤、持續集成、持續交付和協作功能,使團隊能夠更加高效地進…

動態規劃|【路徑問題】|931.下降路徑最小和

目錄 題目 題目解析 思路 1.狀態表示 2.狀態轉移方程 3.初始化 4.填表順序 5.返回值 代碼 題目 931. 下降路徑最小和 給你一個 n x n 的 方形 整數數組 matrix ,請你找出并返回通過 matrix 的下降路徑 的 最小和 。 下降路徑 可以從第一行中的任何元素開…

【Vue3】Props的使用詳解

💗💗💗歡迎來到我的博客,你將找到有關如何使用技術解決問題的文章,也會找到某個技術的學習路線。無論你是何種職業,我都希望我的博客對你有所幫助。最后不要忘記訂閱我的博客以獲取最新文章,也歡…

概率基礎——多元正態分布

概率基礎——多元正態分布 介紹 多元正態分布是統計學中一種重要的多維概率分布,描述了多個隨機變量的聯合分布。在多元正態分布中,每個隨機變量都服從正態分布,且不同隨機變量之間可能存在相關性。本文將以二元標準正態分布為例&#xff0…

多線程JUC 第2季 中斷線程

一 中斷線程 1.1 中斷概念 1.在java中,沒有提供一種立即停止一條線程。但卻給了停止線程的協商機制-中斷。 中斷是一種協商機制。中斷的過程完全需要程序員自己實現。也即,如果要中斷一個線程,你需要手動調用該線程的interrupt()方法&…

錄制用戶操作實現自動化任務

先上視頻!! 流程自動化工具-錄制操作繪制流程 這個想法之前就有了,趁著周末時間給它擼出來。 實現思路 從之前的文章自動化桌面未來展望中已經驗證了錄制繪制流程圖的可行性。基于DOM錄制頁面操作軌跡的思路監聽頁面點擊、輸入事件即可&…

無人機鏡頭穩定的原理和相關算法

無人機的鏡頭穩定主要基于兩個關鍵技術:鏡頭平衡技術和實時電子穩像。無人機鏡頭穩定的原理和相關算法主要是通過鏡頭平衡技術和實時電子穩像技術來保持攝像鏡頭的穩定性,從而拍攝出清晰、穩定的畫面。無人機鏡頭穩定的原理主要是通過傳感器和算法來實現…

Ocr之PaddleOcr模型訓練

目錄 一、系統環境 1 鏡像拉取ppocr 進行部署 2 安裝paddlepaddle 二、訓練前的準備 1 下載源碼 2 預模型下載 3 修改模型訓練文件yml 4 編排訓練集 5 執行腳本進行訓練 6 需要修改文件夾名稱 三、開始訓練 1 執行訓練命令 2 對第一次評估進行解釋 3 引言 五、總…

NestJS使用模板引擎ejs

模板引擎? 模板引擎是一種用于生成動態內容的工具,它通過將預定義的模板與特定數據結合,來生成最終的輸出。? 在NodeJS開發中,我們會使用模板引擎來渲染一些常用的頁面,比如渲染代表404的Not Found 頁面,502的Bad …

異常值檢測-值域法 頭歌代碼解釋

這關做得不是很明白,如果有清楚的同志可以在評論區里面討論 import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.neighbors import LocalOutlierFactor # 導入數據 abc pd.read_csv(deaths.csv) ## 只分析其中的Population和L…

C語言對類型的轉換

C語言對類型的轉換 文章目錄 C語言對類型的轉換整形提升和截斷整形提升整形提升規則整形提升的意義 截斷截斷規則 算數轉換 我們都知道,C語言中內置了多種整形類型,占用空間從大到小,基本滿足各類使用場景(比如超長數字的運算就不…

【【C語言簡單小題學習-1】】

實現九九乘法表 // 輸出乘法口訣表 int main() {int i 0;int j 0;for (i 1; i < 9; i){for (j 1; j < i;j)printf("%d*%d%d ", i , j, i*j);printf("\n"); }return 0; }猜數字的游戲設計 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdi…

源碼視角,vue3為什么推薦用ref,而不是reactive

ref 和 reactive 是 Vue3 中實現響應式數據的核心 API。ref 用于包裝基本數據類型&#xff0c;而 reactive 用于處理對象和數組。盡管 reactive 似乎更適合處理對象&#xff0c;但 Vue3 官方文檔更推薦使用 ref。 我的想法&#xff0c;ref就是比reactive好用&#xff0c;官方也…

Java 中對包含關系的判斷

本文將為您詳細講解 Java 中對包含關系的判斷&#xff0c;包括數組、字符串等&#xff0c;并提供相應的代碼例子。 1. 數組包含關系判斷 在 Java 中&#xff0c;數組包含關系判斷通常使用循環來實現。以下是幾種常見的判斷方法&#xff1a; 示例 1&#xff1a;使用 for…

Unity曲柄滑塊四桿機構運動計算

一、運動效果 二、機構的介紹 曲柄長度&#xff1a;a&#xff0c;線段AB長度 連桿長度&#xff1a;b&#xff0c;線段BC長度 偏心距離&#xff1a;e&#xff0c;滑塊軌跡與曲柄中心點A的垂直距離 三、已知點A點B和e的值&#xff0c;計算C點的位置 1、計算s的值 var h math.…

通過多進程并發方式(fork)實現服務器(注意要回收子進程)

以下內容為視頻學習記錄。 1、父進程accept后返回的文件描述符為cfd以及用于創建連接的lfd; 調用fork()創建子進程后&#xff0c;子進程繼承cfd,lfd&#xff0c;通過該cfd與連接過來的客戶端通信,lfd對子進程來說沒用&#xff0c;可以直接close(lfd); 對于父進程來說&#x…

雙非二本找實習前的準備day4

學習目標&#xff1a; 每天2-3到簡單sql&#xff08;刷完即止&#xff09;&#xff0c;每天復習代碼隨想錄上的題目3道算法&#xff08;時間充足可以繼續&#xff09;&#xff0c;背誦的八股的問題也在這里記錄了 今日碎碎念&#xff1a; 1&#xff09;偶爾還是貪玩游戲&…

Vue中的計算屬性和方法有什么區別?

Vue.js是一款流行的JavaScript前端框架&#xff0c;提供了豐富的功能和便捷的開發方式。在Vue中&#xff0c;計算屬性和方法是常用的兩種方式來處理數據和邏輯。但它們之間存在一些區別&#xff0c;本文將詳細介紹Vue中計算屬性和方法的區別&#xff0c;并通過示例代碼加深理解…

183896-00-6,Biotin-C3-PEG3-C3-NH2,可以選擇性降解靶蛋白

您好&#xff0c;歡迎來到新研之家 文章關鍵詞&#xff1a;183896-00-6&#xff0c;Biotin-C3-PEG3-C3-NH2&#xff0c;Biotin-C3-PEG3-C3-amine&#xff0c;生物素-C3-PEG3-C3-胺 一、基本信息 【產品簡介】&#xff1a;Biotin-PEG3-C3-NH2是一種PROTAC linker&#xff0c;…

381. 有線電視網絡(網絡流,最小割,《算法競賽進階指南》)

381. 有線電視網絡 - AcWing題庫 給定一張 n 個點 m 條邊的無向圖&#xff0c;求最少去掉多少個點&#xff0c;可以使圖不連通。 如果不管去掉多少個點&#xff0c;都無法使原圖不連通&#xff0c;則直接返回 n。 輸入格式 輸入包含多組測試數據。 每組數據占一行&#xf…