一.馮諾依曼體系結(jié)構(gòu)
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-568997.html
-
馮諾依曼體系結(jié)構(gòu)特性:
- 馮諾依曼體系結(jié)構(gòu)中的存儲(chǔ)器指的是內(nèi)存——一種硬件級(jí)別的緩存空間(介于IO設(shè)備與CPU之間,只有數(shù)據(jù)存儲(chǔ)和讀寫(xiě)功能,并且具有較高的數(shù)據(jù)讀寫(xiě)速度的獨(dú)立單元)(內(nèi)存中存儲(chǔ)二進(jìn)制數(shù)據(jù))
- CPU和IO設(shè)備之間不能直接進(jìn)行數(shù)據(jù)傳輸,CPU和IO設(shè)備之間的數(shù)據(jù)傳輸必須經(jīng)過(guò)內(nèi)存
- 描述事物屬性的數(shù)據(jù)和運(yùn)算指令(兩者本質(zhì)都是二進(jìn)制數(shù)據(jù))都會(huì)被加載到內(nèi)存中
-
馮諾依曼體系結(jié)構(gòu)的優(yōu)勢(shì):
- CPU和IO設(shè)備的分離使得計(jì)算機(jī)的設(shè)計(jì)和使用變得十分靈活(成本也大幅度降低),無(wú)須再根據(jù)特定的IO設(shè)備和特定的運(yùn)算指令來(lái)設(shè)計(jì)CPU周?chē)闹靼咫娐?運(yùn)算指令和相關(guān)描述型數(shù)據(jù)被統(tǒng)一加載到內(nèi)存中形成一個(gè)個(gè)程序,使得同一個(gè)內(nèi)存+CPU機(jī)構(gòu)可以用于適配各種IO設(shè)備來(lái)實(shí)現(xiàn)各種功能
- 同時(shí),馮諾依曼體系結(jié)構(gòu)可以充分地發(fā)揮CPU的計(jì)算性能
二.馮諾依曼體系結(jié)構(gòu)與木桶效應(yīng)
- 馮諾依曼體系的精髓在于內(nèi)存
-
在馮諾依曼體系結(jié)構(gòu)橫空出世之前,在特化的CPU主板上,CPU需要直接從輸入設(shè)備讀取數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行運(yùn)算后需要直接向輸出設(shè)備寫(xiě)入數(shù)據(jù):
-
受限于設(shè)計(jì)成本,IO設(shè)備的數(shù)據(jù)讀寫(xiě)速度很慢,然而CPU計(jì)算速度非常快,在某個(gè)數(shù)據(jù)計(jì)算項(xiàng)目中,CPU會(huì)經(jīng)常在快速完成計(jì)算后會(huì)處于閑置狀態(tài),因此即便CPU十分強(qiáng)大,整個(gè)計(jì)算機(jī)體系的效率也會(huì)被IO設(shè)備的讀寫(xiě)效率所限制,這就是體系結(jié)構(gòu)中的木桶效應(yīng):
-
在一個(gè)緊密聯(lián)系的體系中,各個(gè)部分結(jié)構(gòu)都可能面臨的一個(gè)共同問(wèn)題,即構(gòu)成體系的各個(gè)部分結(jié)構(gòu)往往是優(yōu)劣不齊的,而劣勢(shì)部分往往決定整個(gè)體系的水平:
-
在一個(gè)緊密聯(lián)系的體系中,各個(gè)部分結(jié)構(gòu)都可能面臨的一個(gè)共同問(wèn)題,即構(gòu)成體系的各個(gè)部分結(jié)構(gòu)往往是優(yōu)劣不齊的,而劣勢(shì)部分往往決定整個(gè)體系的水平:
-
內(nèi)存的出現(xiàn)很好地解決了上述問(wèn)題.馮諾依曼體系結(jié)構(gòu)的計(jì)算機(jī),一旦開(kāi)始運(yùn)行,IO設(shè)備(包括一些外存設(shè)備)就可以隨時(shí)向內(nèi)存中寫(xiě)入或讀取二進(jìn)制數(shù)據(jù),形成一個(gè)個(gè)待執(zhí)行的運(yùn)算項(xiàng)目(程序),在某些時(shí)刻和特定的指令下,CPU向內(nèi)存拿取數(shù)據(jù)執(zhí)行運(yùn)算,這種體系結(jié)構(gòu)高效的原因在于:
- 內(nèi)存與IO設(shè)備進(jìn)行數(shù)據(jù)交互的過(guò)程是時(shí)刻都可以進(jìn)行的(只要計(jì)算機(jī)在運(yùn)行),當(dāng)CPU需要從內(nèi)存中拿取數(shù)據(jù)執(zhí)行運(yùn)算時(shí),內(nèi)存中已經(jīng)加載了很多的數(shù)據(jù)(即馮諾依曼體系充分利用了各運(yùn)算操作之間的時(shí)間間隔來(lái)完成數(shù)據(jù)的加載)
- 內(nèi)存本身是專(zhuān)門(mén)為數(shù)據(jù)存儲(chǔ)和讀寫(xiě)設(shè)計(jì)的硬件單元(物理上與CPU關(guān)聯(lián)緊密),與CPU的數(shù)據(jù)交換效率比較高.
三.操作系統(tǒng)與進(jìn)程
操作系統(tǒng)
-
馮諾依曼體系結(jié)構(gòu)的計(jì)算機(jī)具有如下特點(diǎn):
- 一套內(nèi)存+CPU結(jié)構(gòu)可以用于適配各種IO設(shè)備(實(shí)現(xiàn)功能前只需將指令集和數(shù)據(jù)加載到內(nèi)存中即可),因此一個(gè)計(jì)算機(jī)體系中可能會(huì)存在多種IO設(shè)備,此時(shí)就需要對(duì)這些IO設(shè)備進(jìn)行管理(硬件管理)
- 計(jì)算機(jī)運(yùn)行時(shí),內(nèi)存中會(huì)加載進(jìn)大量運(yùn)算程序(數(shù)據(jù)和指令集(本質(zhì)也是數(shù)據(jù))),此時(shí)這些程序也需要被管理起來(lái)(軟件管理)
- 馮諾依曼體系計(jì)算機(jī)的復(fù)雜性催生出了操作系統(tǒng),操作系統(tǒng)是專(zhuān)門(mén)進(jìn)行硬件和軟件管理的一系列特殊的數(shù)據(jù)和指令集,操作系統(tǒng)作為一個(gè)特殊的軟件,在馮諾依曼體系計(jì)算機(jī)運(yùn)行時(shí)第一個(gè)被加載到內(nèi)存中。
-
操作系統(tǒng)與計(jì)算機(jī)體系:
- 操作系是用C語(yǔ)言實(shí)現(xiàn)的,它對(duì)硬軟件資源進(jìn)行管理之前要對(duì)各個(gè)硬件軟件對(duì)象進(jìn)行描述和組織(這是所有管理行為的前提),所謂描述就是定義描述被管理對(duì)象的結(jié)構(gòu)體,再將描述被管理對(duì)象的結(jié)構(gòu)體組織進(jìn)各個(gè)數(shù)據(jù)結(jié)構(gòu)中.
- 操作系統(tǒng)對(duì)硬件的管理實(shí)質(zhì)是管理其驅(qū)動(dòng)程序,因此可以認(rèn)為操作系統(tǒng)實(shí)質(zhì)上管理的對(duì)象都是程序
-
操作系統(tǒng)對(duì)計(jì)算機(jī)進(jìn)行管理的本質(zhì)是對(duì)由描述硬軟件資源對(duì)象的結(jié)構(gòu)體構(gòu)成的數(shù)據(jù)結(jié)構(gòu)進(jìn)行增刪查改的操作
- PCB --> process control block(進(jìn)程控制塊)
Linux系統(tǒng)中的進(jìn)程
-
當(dāng)一個(gè)程序(二進(jìn)制數(shù)據(jù))被加載進(jìn)Linux系統(tǒng)中后,Linux系統(tǒng)會(huì)自動(dòng)創(chuàng)建描述該程序的
task_struct
結(jié)構(gòu)體(進(jìn)程控制塊)并將其組織進(jìn)各種內(nèi)核數(shù)據(jù)結(jié)構(gòu)中;- 內(nèi)存中的task_struct結(jié)構(gòu)體和==其對(duì)應(yīng)的程序(二進(jìn)制數(shù)據(jù))==就構(gòu)成了Linux系統(tǒng)中的一個(gè)進(jìn)程(二者缺一不可)
-
Linux中的進(jìn)程控制塊
-
Linux進(jìn)程控制塊中的內(nèi)容
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-568997.html
到了這里,關(guān)于理解馮.諾依曼體系結(jié)構(gòu)(操作系統(tǒng)和進(jìn)程)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!