對馮.諾伊曼體系的一點理解

本文通過對馮.諾伊曼體系中CPU,RAM硬盤的處理能力差別來解釋Linux和ORACLE中的一些處理機制的原因

馮.諾伊曼體系結構是現代計算機發展的基礎,特點如下:

1:必須有一個存儲器;

2:必須有一個控制器;

3:必須有一個運算器,用于完成算術運算邏輯運算;

4:必須有輸入設備和輸出設備,用于進行人機通信。

馮諾依曼

在這個體系中,程序和數據必須經過內存儲器(RAM)后,才能有運算器完成數據加工和處理,而內存儲器在斷電之后就會丟失所有的程序和數據,因此主存儲器RAM必須把程序和數據同步到外存儲器(硬盤)保證在計算機在斷電之后程序和數據不丟失。

同時,內存儲器RAM,CPU(運算器+控制器),外存儲器硬盤的處理能力不同,并且差別很大,如下以普通家用電腦為例來說明(服務器的相關性能會提高,但是三者之間差別和普通家用電腦類似)。

CPU:處理能力最高,以Intel i9為例,25.5GB/s

RAM:以DDR3為例子,大概是10GB/s

硬盤:最低,固態硬盤大概500MB/s

因此,程序在設計時要充分考慮到這種差別,采用一定的策略來取長補短,達到系統的最優使用率。以下舉例從不同的角度來闡述。

 

例子1:Linux內部命令和外部命令

Linux在系統啟動的過程中,會把某些常用的或者系統認為優先級別高的命令即內部命令常駐內存,這樣,在執行內部命令時,速度會更快。

對于外部命令,在第一次執行時,會有從硬盤讀取這個命令到內存的過程,相對于內部命令執行速度會較慢,之后,這個外部命令也會駐留在內存中一段時間,在此期間內,再次執行此命令的速度和內部命令同等,因為省去了從硬盤讀取到內存的過程。外部命令在內存中的查詢和管理可以通過hash指令。

 

例子2:讀文件的時間atime更新機制

文件的atime在每次訪問文件時,理論上都應該更新,但是實際上atime的更新是系統自動來控制的,一般來說,atime相比mtime,ctime的重要性沒那么高,所以系統決定在自已認為合適的時間去更新atime,比如在硬盤寫操作很少時更新或關機之前把atime更新到硬盤上等,這樣省去了每次訪問文件時,因更新atime導致的資源競爭,比如,在某一時刻,硬盤在做大量重要的文件寫操作,硬盤的訪問速度是這個體系中最慢的,如果在此時系統強制更新atime,意味重要文件寫操作就會停止或變慢。

 

例子3:ORACLE數據庫更新表數據機制

ORACLE在數據庫表更新時,當提交完commit命令后,內存的數據會立即變化,但是并不會馬上同步更新到硬盤,因為批量更新的效率是要高于單個數據更新,如每次更新1K,一共更新10次數據從內存到硬盤,效率要遠遠低于一次性更新10K。

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/94606

(3)
Evan LiangEvan Liang
上一篇 2018-04-01 22:28
下一篇 2018-04-01 22:55

相關推薦

  • 第六次作業

    簡述osi七層模型和TCP/IP五層模型 OSI:是ISO(國際標準化組織)組織在1985年研究的網絡互連模型。 OSI將網絡定義為7層,每一層實現各自的功能和協議,并完成與相鄰層的接口通信。 物理層:?這一層是指物理設備 數據鏈路層:這層通過幀封裝進行傳遞 網絡層: 通過ip尋址來建立兩個節點之間的連接這一層就是我們經常說的IP協議層。IP協議是Inter…

    Linux筆記 2018-08-08
  • zabbix監控系統

    zabixx zabbix(音同 zæbix)是一個基于WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。 zabbix能監視各種網絡參數,保證服務器系統的安全運營;并提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。 zabbix由2部分構成,zabbix server與可選組件zabbix agent。 zab…

    2018-07-22
  • 小白加薪升職記之長征第一步

    用戶管理基礎命令

    Linux筆記 2018-05-24
  • 第一章,計算機基礎知識學習筆記

    章節導航
    1.計算機系統
    2.計算機硬件組成
    3.操作系統
    4.Linux相關介紹
    5.Linux哲學思想
    6.獲取Linux
    7.虛擬機

    Linux筆記 2018-03-30
  • 正則表達式

      文本處理三劍客 grep:文本過濾 grep,egrep(支持擴展正則表達式),fgrep(不支持正則表達式) grep ?需要查找的字符串 查找的目標文件 -v #取反 -i #忽略大小寫 -n #顯示目標字符串的行號 -c #顯示匹配到的次數 -p #靜默模式 -o #僅顯示匹配到的字符串 -A# #顯示包含關鍵字的后續幾行 -B# #顯示…

    2018-04-06
欧美性久久久久