欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報激活碼778899分享:運維 【Linux】進(jìn)程序言

柚子快報激活碼778899分享:運維 【Linux】進(jìn)程序言

http://yzkb.51969.com/

這里是阿川的博客,祝您變得更強

? 個人主頁:在線OJ的阿川 ?文章專欄:Linux入門到進(jìn)階 ?代碼倉庫:

寫在開頭

現(xiàn)在您看到的是我的結(jié)論或想法,但在這背后凝結(jié)了大量的思考、經(jīng)驗和討論

目錄

1. 馮.諾伊曼體系結(jié)構(gòu)2. 操作系統(tǒng)3. 計算機(jī)層狀結(jié)構(gòu)4. 進(jìn)程概念5.展望一下

1. 馮.諾伊曼體系結(jié)構(gòu)

在計算機(jī)硬件中,大部分都遵守馮諾依曼體系結(jié)構(gòu),具體如圖1所示:

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

存儲器:內(nèi)存

外設(shè):

輸入設(shè)備: 鼠標(biāo)、鍵盤、攝像頭、話筒、磁盤、網(wǎng)卡…輸出設(shè)備: 顯示器、播放器、硬件、磁盤、網(wǎng)卡… 有的設(shè)備既是輸出又是輸入設(shè)備

中央處理器(即CPU):

運算器: 對我們的數(shù)據(jù)進(jìn)行計算任務(wù)(算術(shù)運算,邏輯運算)控制器: 對我們的計算硬件流程進(jìn)行一定的控制

運算器: 處理數(shù)據(jù) 控制器: 處理代碼 各個硬件單元必須用"總線"(主要為系統(tǒng)總線、IO總線)連接起來

通過馮諾伊曼體系結(jié)構(gòu)可知道一個程序要運行,必須先加載到內(nèi)存中運行才可以,這是因為輸入設(shè)備和輸出設(shè)備處理時間為秒,而中央處理器處理時間為微秒,差距過于明顯。 如果沒有存儲器作為中介則計算機(jī)整體運行效率低下。而有了存儲器之后,輸入設(shè)備的數(shù)據(jù)會先緩存到存儲器中,積累一定的量之后中央處理器開始處理,而在緩存的過程中,中央處理器可以處理其他的任務(wù)(例如檢查計算機(jī)狀態(tài),釋放各種各樣的資源,定期刷新數(shù)據(jù)等等),恰好存儲器的運行效率處于輸入輸出設(shè)備與中央處理器之間,相較于沒有存儲器而言,提高了整體計算機(jī)運行效率。

2. 操作系統(tǒng)

為了更好地控制硬件,而創(chuàng)建了操作系統(tǒng)

操作系統(tǒng)(即OS): 是一款為了給用戶提供一個良好(穩(wěn)定、高效、安全)的運行環(huán)境,而對硬件和軟件管理的軟件 操作系統(tǒng)包括:

內(nèi)核: 進(jìn)程管理,內(nèi)存管理,文件管理,驅(qū)動管理其他程序: 例如函數(shù)庫,shell程序等等

在開發(fā)角度,操作系統(tǒng)對外會表現(xiàn)為一個整體,但是會暴露自己的部分接口,供上層開發(fā)使用,這部分用操作系統(tǒng)提供的接口叫做系統(tǒng)調(diào)用 但系統(tǒng)調(diào)用在使用上,功能比較基礎(chǔ),對用戶的要求也比較高,所以部分有能力的開發(fā)者對部分系統(tǒng)調(diào)用進(jìn)行適度封裝,從而形成了庫,有了庫,就有利于更上層用戶或者開發(fā)者進(jìn)行二次開發(fā),甚至一些人在操作系統(tǒng)之上弄出來了開發(fā)語言,供開發(fā)人員編寫程序。

3. 計算機(jī)層狀結(jié)構(gòu)

計算機(jī)層狀結(jié)構(gòu),具體如圖2所示:

圖2 計算機(jī)層狀結(jié)構(gòu)

4. 進(jìn)程概念

操作系統(tǒng)的管理,實際上是通過對數(shù)據(jù)的管理,從而達(dá)到對軟硬件資源的管理。而對數(shù)據(jù)進(jìn)行管理則都是先描述,再組織,最終可以轉(zhuǎn)化成對某種數(shù)據(jù)結(jié)構(gòu)的增刪查改,因此操作系統(tǒng)中一定會存在著大量的數(shù)據(jù)結(jié)構(gòu),這也是為什么要學(xué)數(shù)據(jù)結(jié)構(gòu)這本書的原因所在。

進(jìn)程: 一個已經(jīng)加載到內(nèi)存的程序

操作系統(tǒng)可以同時運行多個進(jìn)程,但形成真正進(jìn)程時,操作系統(tǒng)要先創(chuàng)建描述進(jìn)程(即進(jìn)程的屬性)的結(jié)構(gòu)體對象【即PCB(全稱process ctrl block —進(jìn)程控制塊】

進(jìn)程(也稱為task)= 內(nèi)存PCB數(shù)據(jù)結(jié)構(gòu)對象(即這個進(jìn)程的所有屬性值)+ 自己代碼和數(shù)據(jù)(code&date) 大致如圖3所示:

圖3 進(jìn)程大致結(jié)構(gòu)圖

Linux當(dāng)中的PCB實現(xiàn): 在Linux中描述進(jìn)程的結(jié)構(gòu)體叫做task _struct。task_struct是Linux內(nèi)核的一種數(shù)據(jù)結(jié)構(gòu),它會被裝載到RAM(即內(nèi)存)里并且包含著進(jìn)程的信息。 task_struct內(nèi)容包含著:

標(biāo)志符:描述本進(jìn)程的唯一標(biāo)識符,用來區(qū)別其他進(jìn)程。狀態(tài):任務(wù)狀態(tài),退出代碼,退出信號等。優(yōu)先級:相對于其他進(jìn)程的優(yōu)先級。程序計數(shù)器:程序中即將被執(zhí)行的下一條指令的地址內(nèi)存指針:包括程序代碼和進(jìn)程相關(guān)數(shù)據(jù)的指針,還有和其他進(jìn)程共享的內(nèi)存塊的指針上下文數(shù)據(jù):進(jìn)程執(zhí)行時,處理器的寄存器中的數(shù)據(jù)[休學(xué)例子,要加圖CPU,寄存器]I/O狀態(tài)信息:包括顯示的I/O請求,分配給進(jìn)程的I/O設(shè)備和被進(jìn)程使用的文件列表記賬信息:可能包括處理器時間總和,使用的時鐘數(shù)總和,時間限制,記賬號等其他信息

Linux內(nèi)核中組織進(jìn)程,最基本的組織進(jìn)程task_struct的方式,采用雙向鏈表組織

5.展望一下

計算機(jī)中這些可以好好看下: 操作系統(tǒng)(必學(xué)) 計算機(jī)網(wǎng)絡(luò)(必學(xué)) 計算機(jī)組成 編譯原理(本質(zhì):算法)

C/C++語言的最終表現(xiàn)形式:一套的編譯器、頭文件、庫文件(輔助C/C++教材)

6. 夾帶私貨

若你能看到看到這篇文章且能看到這,則說明你我有緣,留個關(guān)注吧,后面還會接著計算機(jī)408、底層原理、開源項目、以及數(shù)據(jù)、后端研發(fā)相關(guān)、實習(xí)、筆試/面試、秋招/春招、各種競賽相關(guān)、簡歷相關(guān)、考研、學(xué)術(shù)相關(guān)……,祝你我變得更強

好的,到此為止啦,祝您變得更強 7.想說的話

實不相瞞,寫的每篇博客都要寫五六個小時(加上自己學(xué)習(xí)和紙質(zhì)筆記,共八九小時吧),很累,希望大佬支持

道阻且長 行則將至個人主頁:在線OJ的阿川大佬的支持和鼓勵,將是我成長路上最大的動力

柚子快報激活碼778899分享:運維 【Linux】進(jìn)程序言

http://yzkb.51969.com/

好文推薦

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19516036.html

發(fā)布評論

您暫未設(shè)置收款碼

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄