一.馮諾依曼體系結(jié)構(gòu)
馮諾依曼體系結(jié)構(gòu)(Von Neumann Architecture)是計(jì)算機(jī)設(shè)計(jì)的核心概念之一,由美國(guó)數(shù)學(xué)家約翰·馮·諾依曼于1945年提出,也被稱為“馮諾依曼模型”或“馮諾依曼計(jì)算機(jī)體系結(jié)構(gòu)”。其基本思想是將程序和數(shù)據(jù)統(tǒng)一存儲(chǔ)在計(jì)算機(jī)的內(nèi)存中,并通過中央處理單元(CPU)來執(zhí)行這些程序。至今,馮諾依曼體系結(jié)構(gòu)仍然是大多數(shù)計(jì)算機(jī)的基礎(chǔ)架構(gòu)。
中央處理器(CPU): 控制單元(CU):負(fù)責(zé)協(xié)調(diào)計(jì)算機(jī)各部分的工作。 算術(shù)邏輯單元(ALU):負(fù)責(zé)進(jìn)行算術(shù)和邏輯運(yùn)算。 寄存器:用于臨時(shí)存儲(chǔ)數(shù)據(jù)和指令。 內(nèi)存(RAM): 存儲(chǔ)程序和數(shù)據(jù)。在馮諾依曼結(jié)構(gòu)中,程序和數(shù)據(jù)共享同一內(nèi)存。 輸入設(shè)備:用于將數(shù)據(jù)輸入到計(jì)算機(jī)中,如鍵盤、鼠標(biāo)等。 輸出設(shè)備:用于輸出處理結(jié)果,如顯示器、打印機(jī)等。 總線:在各個(gè)組件之間傳輸數(shù)據(jù)和指令的通道。 注意:
這里的存儲(chǔ)器指的是內(nèi)存。 不考慮緩存的情況下,CPU只能操作內(nèi)存中的數(shù)據(jù),不能直接從外設(shè)(輸入和輸出設(shè)備)獲取數(shù)據(jù)。 外設(shè)(輸入或輸出設(shè)備)要輸入或輸出數(shù)據(jù),必須通過內(nèi)存。 總的來說,所有設(shè)備都只能通過內(nèi)存進(jìn)行交互。 1.1 為什么體系結(jié)構(gòu)中需要內(nèi)存?計(jì)算機(jī)存儲(chǔ)金字塔:
1.2 馮諾依曼瓶頸馮諾依曼架構(gòu)面臨一個(gè)著名的挑戰(zhàn),即“馮諾依曼瓶頸”(Von Neumann Bottleneck)。由于程序和數(shù)據(jù)共享同一個(gè)內(nèi)存系統(tǒng),CPU在執(zhí)行指令時(shí)需要頻繁地從內(nèi)存讀取指令和數(shù)據(jù),導(dǎo)致內(nèi)存的讀寫速度成為限制計(jì)算機(jī)性能的瓶頸。隨著計(jì)算機(jī)硬件的不斷進(jìn)步,解決馮諾依曼瓶頸的問題成為計(jì)算機(jī)體系結(jié)構(gòu)研究的一個(gè)重要方向。
二.操作系統(tǒng)操作系統(tǒng)(Operating System,簡(jiǎn)稱OS)是管理計(jì)算機(jī)硬件與軟件資源的系統(tǒng)軟件,它為應(yīng)用程序提供了一個(gè)運(yùn)行環(huán)境,并為用戶提供與計(jì)算機(jī)硬件交互的接口。
操作系統(tǒng)包括:
內(nèi)核(進(jìn)程管理,內(nèi)存管理,文件管理,驅(qū)動(dòng)管理) 其他程序(例如函數(shù)庫(kù),shell程序等) 一般而言,操作系統(tǒng)指的是內(nèi)核。
2.1 設(shè)計(jì)目的 操作系統(tǒng)向下與硬件交互,管理軟硬資源(手段)。 操作系統(tǒng)向上為用戶程序(應(yīng)用程序)提供一個(gè)良好的執(zhí)行環(huán)境(目的)。 軟硬件體系結(jié)構(gòu)是層狀結(jié)構(gòu)。
訪問操作系統(tǒng),實(shí)際上是通過系統(tǒng)調(diào)用(系統(tǒng)提供的函數(shù))。 只要程序運(yùn)行訪問了硬件,就必須貫穿整個(gè)軟硬件體系結(jié)構(gòu)。 函數(shù)庫(kù)在底層封裝了系統(tǒng)調(diào)用。 2.2 系統(tǒng)調(diào)用與庫(kù)函數(shù) 操作系統(tǒng)會(huì)暴露部分接口供上層開發(fā)者使用,這些接口就是系統(tǒng)調(diào)用。 系統(tǒng)調(diào)用的功能比較基礎(chǔ),對(duì)使用者要求較高,所以一些開發(fā)者將這些系統(tǒng)調(diào)用的接口進(jìn)行封裝,從而形成了庫(kù),方便開發(fā)者進(jìn)行二次開發(fā)。 —
祝大家有美好的一天?
下次見,朋友們!???