国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

馮諾依曼體系結(jié)構(gòu)與進(jìn)程概念理解

這篇具有很好參考價(jià)值的文章主要介紹了馮諾依曼體系結(jié)構(gòu)與進(jìn)程概念理解。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

1. 先談?dòng)布?/p>

1、初步理解馮諾依曼體系結(jié)構(gòu)

2、理解各個(gè)模塊之間的協(xié)作

2. 再談軟件

1、為什么要有操作系統(tǒng)

2、操作系統(tǒng)如何管理軟硬件資源

3. 再談進(jìn)程

1、什么是進(jìn)程

2、如何理解進(jìn)程

3、Linux 是如何管理進(jìn)程的

寫在最后:


1. 先談?dòng)布?/h2>

1、初步理解馮諾依曼體系結(jié)構(gòu)

我現(xiàn)在認(rèn)識(shí)的計(jì)算機(jī),都是由一個(gè)個(gè)硬件組成的,他們都遵循這這樣一個(gè)體系:

馮諾依曼體系結(jié)構(gòu)與進(jìn)程概念理解,Linux系統(tǒng)編程,linux

我們先來慢慢理解一下馮諾依曼體系結(jié)構(gòu):

1)存儲(chǔ)器指的是什么?

存儲(chǔ)器指的就是內(nèi)存,而我們的磁盤之類的硬件是輸入輸出設(shè)備。

2)輸入設(shè)備:鍵盤,攝像頭,話筒,磁盤,網(wǎng)卡...

3)輸出設(shè)備:顯示器,播放器硬件,磁盤,網(wǎng)卡...

輸入輸出設(shè)備也稱之為外部設(shè)備,也就是所謂的外設(shè)。

4)運(yùn)算器:對(duì)我們輸入的數(shù)據(jù)進(jìn)行計(jì)算任務(wù)(算術(shù)運(yùn)算,邏輯運(yùn)算)

5)控制器:對(duì)我們的計(jì)算硬件流程進(jìn)行一定的控制

我們把這兩個(gè)統(tǒng)稱為中央處理器,也就是 CPU 。

而這五大部件都是獨(dú)立的個(gè)體。想要他們系統(tǒng)的工作,

各個(gè)硬件單元就必須用 “線” 連接起來,我們稱這些線為總線:1. 系統(tǒng)總線,2. IO 總線 。

2、理解各個(gè)模塊之間的協(xié)作

還是這張圖:

馮諾依曼體系結(jié)構(gòu)與進(jìn)程概念理解,Linux系統(tǒng)編程,linux

先說結(jié)論:

先從輸入設(shè)備交到存儲(chǔ)器,中央處理器從存儲(chǔ)器中拿數(shù)據(jù),然后在內(nèi)部做計(jì)算,然后把計(jì)算的結(jié)果再寫回存儲(chǔ)器,再將數(shù)據(jù)刷新到輸入設(shè)備中。這個(gè)是馮諾依曼體系中,數(shù)據(jù)的流向。

我們來聊一聊存儲(chǔ):

馮諾依曼體系結(jié)構(gòu)與進(jìn)程概念理解,Linux系統(tǒng)編程,linux

一般來說,存儲(chǔ)容量越大,速度就會(huì)越慢。正是因?yàn)檫@樣,我們這個(gè)體系中才需要內(nèi)存作為緩沖,讓速度很慢的外設(shè)和速度很快的中央處理器能夠通過內(nèi)存更好的交互數(shù)據(jù)。

說了這么多模塊之間的協(xié)作,誰來實(shí)現(xiàn)他們的協(xié)作呢?操作系統(tǒng)。

2. 再談軟件

我們的電腦里面有著 qq,微信,瀏覽器等等,計(jì)算機(jī)怎么知道什么時(shí)候使用他們?所以我們就需要一個(gè)東西總體上將他們統(tǒng)籌起來。也就是操作系統(tǒng),

操作系統(tǒng)是一款進(jìn)行管理的軟件,他能對(duì)硬件和軟件進(jìn)行管理。

1、為什么要有操作系統(tǒng)

整個(gè)計(jì)算機(jī)是一個(gè)層狀的結(jié)構(gòu),來看這樣一個(gè)圖:

馮諾依曼體系結(jié)構(gòu)與進(jìn)程概念理解,Linux系統(tǒng)編程,linux

從下往上,先是硬件和驅(qū)動(dòng)程序,所有的硬件如果需要被軟件使用,都需要配上相應(yīng)的驅(qū)動(dòng)程序,我們可以把他們理解成直接跟硬件打交道的軟件,再往上就是操作系統(tǒng),而我們之后需要重點(diǎn)學(xué)習(xí)的就是進(jìn)程管理和文件管理相關(guān)的內(nèi)容。

回到原來的話題,我們?yōu)槭裁葱枰胁僮飨到y(tǒng)呢?

1)操作系統(tǒng)幫助用戶,管理好這些軟硬件資源。(手段)

2)為了給用戶提供一個(gè)良好(穩(wěn)定,高效,安全)的運(yùn)行環(huán)境。(目的)

操作系統(tǒng)里面有著各種各樣的數(shù)據(jù),但是,操作系統(tǒng)不信任所有用戶!所以操作系統(tǒng)為了保證自己數(shù)據(jù)安全,也為了保證給用戶提供服務(wù),操作系統(tǒng)就以接口的方式給用戶提供了調(diào)用的入口,來獲取操作系統(tǒng)內(nèi)部的資源。

那什么是接口呢?Linux 操作系統(tǒng)本質(zhì)上就是用 C語言 寫的,所以所謂的接口其實(shí)就是 C語言 實(shí)現(xiàn)的自己內(nèi)部的函數(shù)調(diào)用,我們稱之為系統(tǒng)調(diào)用。而,所有訪問操作系統(tǒng)的行為,都只能通過系統(tǒng)調(diào)用來完成。

所以看回那個(gè)圖,再往上就是 system call 系統(tǒng)調(diào)用接口。

接著就是用戶操作接口,有我們熟悉的 shell 外殼,然后是 lib,也就是庫,因?yàn)橄到y(tǒng)調(diào)用還是比較的復(fù)雜,有些語言之類的就會(huì)將其封裝成庫供我們使用。

任何一門語言,如果他們想要直接或間接的使用到硬件,就必須經(jīng)過操作系統(tǒng),而經(jīng)過操作系統(tǒng)就必須要使用系統(tǒng)調(diào)用接口。

那么如上就是計(jì)算機(jī)的整體層狀結(jié)構(gòu)了。

2、操作系統(tǒng)如何管理軟硬件資源

我們先來理解一下什么是管理:

1)管理者和被管理者是不需要見面的(就像在學(xué)校,我們作為學(xué)生一般也不會(huì)和校長見面,在公司,我們一般也不會(huì)和老板一直見面(小公司當(dāng)我沒說))

2)管理者在見不到被管理者的情況下如何做好管理呢?核心在于管理信息,只要管理者得到管理信息,就能在未來進(jìn)行管理決策 —— 管理的本質(zhì)是通過對(duì) ‘?dāng)?shù)據(jù)’ 的管理,達(dá)到對(duì)人的管理。

3)管理者和被管理者面都不見,該怎么拿到對(duì)應(yīng)的數(shù)據(jù)呢?(先補(bǔ)充一個(gè)概念:什么是管理者?我們一般將世界上所有的事情分成兩種,一種是決策,一種是執(zhí)行,舉個(gè)例子:今晚吃什么?吃面吧。這是決策;我現(xiàn)在去煮面。這是執(zhí)行。做決策其實(shí)就是管理者,做執(zhí)行的就是被管理者。不過在我們?nèi)粘I罾?,決策和執(zhí)行基本都是一體的。)管理者需要通過執(zhí)行者拿到對(duì)應(yīng)的數(shù)據(jù)。

所以!

操作系統(tǒng)在進(jìn)行管理的時(shí)候,需要見到軟硬件嗎?不需要,那操作系統(tǒng)該怎么拿到他們的狀態(tài)數(shù)據(jù)呢?以硬件為例,操作系統(tǒng)就是通過驅(qū)動(dòng)程序獲取數(shù)據(jù)。

操作系統(tǒng)管理任何東西,都一定是遵循著 “先描述,再組織” 的策略,使用結(jié)構(gòu)體對(duì)一個(gè)對(duì)象進(jìn)行描述,然后將它用一個(gè)數(shù)據(jù)結(jié)構(gòu)組織起來,這樣就能達(dá)到一種狀態(tài):在操作系統(tǒng)中,管理任何對(duì)象,最終都可以轉(zhuǎn)化成為對(duì)某種數(shù)據(jù)結(jié)構(gòu)的增刪查改。

結(jié)論:操作系統(tǒng)如何管理?

先描述,再組織。

3. 再談進(jìn)程

1、什么是進(jìn)程

一個(gè)已經(jīng)加載到內(nèi)存中的程序,叫做進(jìn)程。

我們到 Linux 下寫一個(gè)進(jìn)程瞧一瞧:

馮諾依曼體系結(jié)構(gòu)與進(jìn)程概念理解,Linux系統(tǒng)編程,linux

我們簡單寫一個(gè)程序,然后跑起來:

?馮諾依曼體系結(jié)構(gòu)與進(jìn)程概念理解,Linux系統(tǒng)編程,linux

然后我們復(fù)制一個(gè) SSH 渠道,然后查看一下進(jìn)程:

ps axj | head -1 && ps axj | grep process

馮諾依曼體系結(jié)構(gòu)與進(jìn)程概念理解,Linux系統(tǒng)編程,linux

所以其實(shí),正在運(yùn)行的程序,就叫做進(jìn)程。????????

2、如何理解進(jìn)程

一個(gè)操作系統(tǒng),不僅僅只能運(yùn)行一個(gè)進(jìn)程,可以同時(shí)運(yùn)行多個(gè)進(jìn)程。

操作系統(tǒng)必須把進(jìn)程管理起來,那該如何管理進(jìn)程呢?先描述,再組織。

任何一個(gè)進(jìn)程,在加載到內(nèi)存的時(shí)候,在形成真正的進(jìn)程時(shí),操作系統(tǒng)需要先創(chuàng)建用于描述進(jìn)程的結(jié)構(gòu)體對(duì)象 —— PCB,process ctrl block —— 進(jìn)程控制塊。

問題來了,該這么描述進(jìn)程呢?用各種屬性的集合來描述一個(gè)東西。所以所謂的 PCB 其實(shí)就是進(jìn)程屬性的集合。所以 PCB 就是一個(gè)結(jié)構(gòu)體:

struct PCB {

? ? ? ? 進(jìn)程的編號(hào),

? ? ? ? 進(jìn)程的狀態(tài),

? ? ? ? 進(jìn)程的優(yōu)先級(jí),

? ? ? ? ...?...?

}

系統(tǒng)會(huì)根據(jù)進(jìn)程的 PCB 類型,為該進(jìn)程創(chuàng)建對(duì)應(yīng)的 PCB 對(duì)象。

那么什么是進(jìn)程,進(jìn)程就是 PCB 嗎?并不是,進(jìn)程其實(shí)是:

進(jìn)程 = 內(nèi)核 PCB 數(shù)據(jù)結(jié)構(gòu)對(duì)象 + 對(duì)應(yīng)程序的代碼和數(shù)據(jù)

而進(jìn)程的 PCB ,當(dāng)然就包含描述進(jìn)程的所有屬性。那這樣子,操作系統(tǒng)進(jìn)行管理的就不是你的代碼和數(shù)據(jù),他只需要管理這個(gè)進(jìn)程 PCB 即可。這樣子,操作系統(tǒng)對(duì)進(jìn)程的所有管理操作就都變成了對(duì) PCB 這樣一個(gè)數(shù)據(jù)結(jié)構(gòu)的增刪查改。

3、Linux 是如何管理進(jìn)程的

前面我們理解了進(jìn)程是什么樣的,那 Linux 操作系統(tǒng)具體又是如何組織管理進(jìn)程的呢?

Linux 操作系統(tǒng)下的 PCB 是:task_struct(進(jìn)程其實(shí)也有人稱其為任務(wù)),在 Linux 內(nèi)核中采取的是基本的雙鏈表的形式來組織進(jìn)程 task_struct 。?

至于 task_struct 究竟是什么樣的,那就,欲知后事如何,且聽下回分解~

寫在最后:

以上就是本篇文章的內(nèi)容了,感謝你的閱讀。

如果感到有所收獲的話可以給博主點(diǎn)一個(gè)哦。

如果文章內(nèi)容有遺漏或者錯(cuò)誤的地方歡迎私信博主或者在評(píng)論區(qū)指出~文章來源地址http://www.zghlxwxcb.cn/news/detail-635932.html

到了這里,關(guān)于馮諾依曼體系結(jié)構(gòu)與進(jìn)程概念理解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Linux】馮諾依曼體系結(jié)構(gòu)和操作系統(tǒng)概念

    【Linux】馮諾依曼體系結(jié)構(gòu)和操作系統(tǒng)概念

    數(shù)學(xué)家馮·諾依曼提出了計(jì)算機(jī)制造的三個(gè)基本原則,即采用二進(jìn)制邏輯、程序存儲(chǔ)執(zhí)行以及計(jì)算機(jī)由五個(gè)部分組成(運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備、輸出設(shè)備),這套理論被稱為馮·諾依曼體系結(jié)構(gòu)。 現(xiàn)代計(jì)算機(jī)發(fā)展所遵循的基本結(jié)構(gòu)形式始終是馮·諾依曼機(jī)結(jié)構(gòu)。這

    2024年02月02日
    瀏覽(24)
  • 【Linux】馮諾依曼體系結(jié)構(gòu)與進(jìn)程的基礎(chǔ)知識(shí)點(diǎn)

    【Linux】馮諾依曼體系結(jié)構(gòu)與進(jìn)程的基礎(chǔ)知識(shí)點(diǎn)

    計(jì)算器、筆記本、服務(wù)器大都遵循馮諾依曼體系結(jié)構(gòu)。 結(jié)構(gòu)如下圖所示: 外設(shè):速度相對(duì)慢,價(jià)格相對(duì)較低(輸入輸出設(shè)備都屬于外設(shè)) 內(nèi)存:速度相對(duì)快,價(jià)格相對(duì)較高,數(shù)據(jù)掉電易失 CPU:速度最快,價(jià)格高 1.那么是否可以不通過存儲(chǔ)器,直接使用輸入設(shè)備將數(shù)據(jù)傳給

    2023年04月24日
    瀏覽(24)
  • 【Linux】操作系統(tǒng)的基本概念 {馮諾依曼體系結(jié)構(gòu),操作系統(tǒng)的基本概念,系統(tǒng)調(diào)用及用戶操作接口,shell程序}

    【Linux】操作系統(tǒng)的基本概念 {馮諾依曼體系結(jié)構(gòu),操作系統(tǒng)的基本概念,系統(tǒng)調(diào)用及用戶操作接口,shell程序}

    現(xiàn)代計(jì)算機(jī)設(shè)計(jì)大都遵守馮·諾依曼體系結(jié)構(gòu): 截至目前,我們所認(rèn)識(shí)的計(jì)算機(jī),都是由一個(gè)個(gè)的硬件組件組成 輸入單元:包括鍵盤, 鼠標(biāo),掃描儀, 磁盤,網(wǎng)卡等 存儲(chǔ)器: 內(nèi)存(提高數(shù)據(jù)讀寫速度,降低硬件成本) 中央處理器(CPU):含有運(yùn)算器(算數(shù)運(yùn)算,邏輯運(yùn)算)和控

    2024年02月11日
    瀏覽(53)
  • 理解馮.諾依曼體系結(jié)構(gòu)(操作系統(tǒng)和進(jìn)程)

    理解馮.諾依曼體系結(jié)構(gòu)(操作系統(tǒng)和進(jìn)程)

    馮諾依曼體系結(jié)構(gòu)特性: 馮諾依曼體系結(jié)構(gòu)中的 存儲(chǔ)器 指的是 內(nèi)存 ——一種 硬件級(jí)別的緩存空間 (介于IO設(shè)備與CPU之間,只有 數(shù)據(jù)存儲(chǔ)和讀寫功能 ,并且具有 較高的數(shù)據(jù)讀寫速度 的 獨(dú)立單元 )(內(nèi)存中存儲(chǔ)二進(jìn)制數(shù)據(jù)) CPU和IO設(shè)備之間 不能直接進(jìn)行數(shù)據(jù)傳輸 ,CPU和IO設(shè)備之間的

    2024年02月16日
    瀏覽(25)
  • 【Linux】馮諾伊曼體系結(jié)構(gòu)|操作系統(tǒng)概念理解

    【Linux】馮諾伊曼體系結(jié)構(gòu)|操作系統(tǒng)概念理解

    個(gè)人主頁:??在肯德基吃麻辣燙 我的gitee:Linux倉庫 個(gè)人專欄:Linux專欄 分享一句喜歡的話:熱烈的火焰,冰封在最沉默的火山深處 本文進(jìn)入Linux較為晦澀的概念——馮諾依曼體系結(jié)構(gòu)和操作系統(tǒng)的理解。 馮諾依曼體系結(jié)構(gòu)是我們?nèi)粘S?jì)算機(jī)都遵守的一個(gè)整體架構(gòu),計(jì)算機(jī)

    2024年02月14日
    瀏覽(25)
  • 馮諾依曼體系結(jié)構(gòu)

    馮諾依曼體系結(jié)構(gòu)

    馮·諾依曼體系結(jié)構(gòu)(von Neumann architecture)是現(xiàn)代計(jì)算機(jī)體系結(jié)構(gòu)的基礎(chǔ),也是目前廣泛應(yīng)用的計(jì)算機(jī)體系結(jié)構(gòu)之一。它是由物理學(xué)家、數(shù)學(xué)家馮·諾依曼在1945年提出的,被認(rèn)為是現(xiàn)代計(jì)算機(jī)的奠基之作。馮·諾依曼體系結(jié)構(gòu)具有存儲(chǔ)程序和通用性的特點(diǎn),這意味著計(jì)算機(jī)的指

    2023年04月23日
    瀏覽(24)
  • 【Linux】馮諾依曼體系結(jié)構(gòu)思想

    【Linux】馮諾依曼體系結(jié)構(gòu)思想

    ??博客主頁:小智_x0___0x_ ??歡迎關(guān)注:??點(diǎn)贊??收藏??留言 ??系列專欄:Linux入門到精通 ??代碼倉庫:小智的代碼倉庫 我們常見的計(jì)算機(jī),比如筆記本,還有我們不常見的計(jì)算機(jī),比如服務(wù)器,大部分都遵守馮諾依曼體系。 當(dāng)我們談?wù)撚?jì)算機(jī)的體系結(jié)構(gòu)時(shí),馮·諾依

    2024年02月16日
    瀏覽(23)
  • 【Linux系統(tǒng)編程】馮諾依曼體系結(jié)構(gòu)

    【Linux系統(tǒng)編程】馮諾依曼體系結(jié)構(gòu)

    目錄 前言 什么是馮諾依曼體系結(jié)構(gòu)? 馮諾依曼體系結(jié)構(gòu)如何進(jìn)行數(shù)據(jù)處理的? 存儲(chǔ)器在馮諾依曼體系中有什么作用? 馮諾依曼體系結(jié)構(gòu)為什么要這樣設(shè)計(jì)? 馮諾依曼結(jié)構(gòu)總結(jié) 相信對(duì)于馮諾依曼這個(gè)人的名字大家一定不會(huì)感到陌生,他被稱為“現(xiàn)代計(jì)算機(jī)之父” 而在他生

    2024年02月14日
    瀏覽(25)
  • Linux ----馮諾依曼體系結(jié)構(gòu)與操作系統(tǒng)

    Linux ----馮諾依曼體系結(jié)構(gòu)與操作系統(tǒng)

    目錄 前言 一、馮諾依曼體系結(jié)構(gòu) 二、為什么選擇馮諾依曼體系結(jié)構(gòu)? 三、使用馮諾依曼結(jié)構(gòu)解釋問題 問題1: 問題2: 四、操作系統(tǒng) 1.操作系統(tǒng)是什么 2.為什么需要操作系統(tǒng) 3.操作系統(tǒng)怎樣管理的 4.如何給用戶提供良好環(huán)境 五、我們是怎樣調(diào)用系統(tǒng)接口的 六、總結(jié)? 了解馮

    2024年02月02日
    瀏覽(24)
  • 【Linux從入門到精通】了解馮諾依曼體系結(jié)構(gòu)

    【Linux從入門到精通】了解馮諾依曼體系結(jié)構(gòu)

    ? 本片文章會(huì)對(duì) 馮諾依曼體系結(jié)構(gòu) 進(jìn)行詳解。同時(shí),我們 對(duì)馮諾依曼的理解,不能停留在概念上,要深入到對(duì)軟件數(shù)據(jù)流理解上。本片文章同時(shí)也會(huì)對(duì) 數(shù)據(jù)在馮諾依曼結(jié)構(gòu)上的交互 進(jìn)行講解。希望本篇文章會(huì)對(duì)你有所所幫助。 ? 文章目錄 一、簡單認(rèn)識(shí)馮諾依曼體系結(jié)構(gòu)

    2024年02月03日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包