中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

做寵物食品的網(wǎng)站優(yōu)化落實疫情防控新十條

做寵物食品的網(wǎng)站,優(yōu)化落實疫情防控新十條,做網(wǎng)站需要交錢嗎,怎樣做 云知夢 網(wǎng)站1.什么是管理? 那在還沒有學(xué)習(xí)進(jìn)程之前,就問大家,操作系統(tǒng)是怎么管理進(jìn)行進(jìn)程管理的呢? 很簡單,先把進(jìn)程描述起來,再把進(jìn)程組織起來! 我們拿大學(xué)為例子 最典型的管理者——校長最典型的被管理…

1.什么是管理?

那在還沒有學(xué)習(xí)進(jìn)程之前,就問大家,操作系統(tǒng)是怎么管理進(jìn)行進(jìn)程管理的呢?

很簡單,先把進(jìn)程描述起來,再把進(jìn)程組織起來!

我們拿大學(xué)為例子

  • 最典型的管理者——校長
  • 最典型的被管理者——學(xué)生

1.我們平時見得到校長嗎?見不到——管理者和被管理者是不需要見面的

2. 這個就引出一個新的問題,管理者在不見被管理者的情況下,如何做好的管理?

  • 我們在學(xué)校就清楚,我們考試考了多少分,曠了多少節(jié)課,個人信息,校長想看都能看到
  • 就算校長來見我們,也是為了獲取我們更多的信息
  • 所以只要校長有足夠多的我們的信息,不見面都可以對我們進(jìn)行有效的管理
  • 管理的本質(zhì)就是:通過對數(shù)據(jù)的管理,達(dá)到對人的管理

3.管理者和被管理者面都不見,管理者怎么拿到被管理者的數(shù)據(jù)呢?

  • ?我們還是拿校長和學(xué)生為例
  • 校長是通過老師,輔導(dǎo)員來獲取學(xué)生的數(shù)據(jù)

4.拿老師和輔導(dǎo)員是不是管理者?

  • 不是,因為老師和輔導(dǎo)員只是在執(zhí)行他們該做的東西,所以他們不是真正的管理者
  • 他們更多的是執(zhí)行者
  • 校長相當(dāng)于操作系統(tǒng),老師,輔導(dǎo)員相當(dāng)于驅(qū)動程序,學(xué)生相當(dāng)于被管理的軟硬件資源
  • 這樣子就理解了操作系統(tǒng)怎么管理底層的軟硬件資源了

5.操作系統(tǒng)怎么管理軟硬件資源?——先描述,后組織

  • 操作系統(tǒng)只需要獲取對應(yīng)的軟硬件資源的狀態(tài)數(shù)據(jù)即可,獲取狀態(tài)數(shù)據(jù)的這個過程是通過驅(qū)動程序來執(zhí)行的
  • 雖然每個學(xué)生的信息都不同,但是他們都有下面這些屬性——電話,姓名,身高,體重,成績,籍貫......
  • 校長可以通過一個結(jié)構(gòu)體來記錄這些屬性,這樣子學(xué)生的屬性不就被描述起來了嗎!!!——這個有點像面向?qū)ο缶幊汤锏某橄蟀?/li>
  • struct student
    {
    char name[20];
    int number[20];
    ...
    struct student*next;
    };

  • 這樣子我們就可以使用一個結(jié)構(gòu)體對象來記錄一個學(xué)生的信息,每個學(xué)生都帶有一個指向下一個學(xué)生的結(jié)構(gòu)體指針,這樣子就很好管理了
  • 這樣子校長對學(xué)生的管理工作就變成了對鏈表的增刪查改
  • 校長找成績最高的同學(xué),只需要不斷遍歷鏈表即可
  • 上面這個把學(xué)生描述成結(jié)構(gòu)體的過程叫做描述的過程
  • 將每個學(xué)生結(jié)構(gòu)體通過結(jié)構(gòu)體指針鏈接成一條鏈表的過程叫做組織的過程

我們的軟硬件資源被操作系統(tǒng)管理,操作系統(tǒng)通過軟硬件的數(shù)據(jù)對它進(jìn)行管理,可是軟硬件資源的數(shù)據(jù)太大,那么操作系統(tǒng)很難做管理

但是每一種設(shè)備都有共同的屬性,我們描述清楚設(shè)備的屬性,然后通過一定方法組織起來

這樣子,操作系統(tǒng)對軟硬件的管理就變成了對數(shù)據(jù)結(jié)構(gòu)的管理?

管理的核心理念

  1. 操作系統(tǒng)管理軟硬件資源時,必須先描述起來,再組織?
  2. 在操作系統(tǒng)中,我們管理對象,最終都可以轉(zhuǎn)變?yōu)閷δ撤N數(shù)據(jù)結(jié)構(gòu)的增刪查改——這個一般叫建模
  3. 描述事物的方法:c語言的struct,c++的類等

    組織方式:依賴于某種數(shù)據(jù)結(jié)構(gòu)

這個咋這么像面向?qū)ο缶幊痰某橄?#xff01;!!c++的類,STL容器!!!這個直接給了我們提供了這樣一種描述事物的方式,這樣子就能完成對事物的統(tǒng)一管理

理解了管理的概念,我們就會知道

  • 操作系統(tǒng)中注定存在大量的數(shù)據(jù)結(jié)構(gòu)

linux操作系統(tǒng)是c語言寫的,c語言只能用結(jié)構(gòu)體來描述對象,所以linux只能用struct來描述對象?

2.c/c++庫函數(shù)調(diào)用和系統(tǒng)調(diào)用的關(guān)系

?我們用c語言編寫了一個程序,在屏幕打印一個hello world,但是在但是屏幕是硬件,硬件是受操作系統(tǒng)管理,操作系統(tǒng)不信息任何人,所以操作系統(tǒng)肯定封裝了一個c語言函數(shù)調(diào)用接口

所以他們是上下層的調(diào)用和被調(diào)用的關(guān)系,庫函數(shù)在上,系統(tǒng)調(diào)用在下

3.進(jìn)程

  1. 進(jìn)程:一個已經(jīng)加載到內(nèi)存的程序
  2. 進(jìn)程:正在運行的程序
  3. 進(jìn)程:任務(wù)

?我們可以查看linux的進(jìn)程

widows里面也有進(jìn)程

事實上

進(jìn)程就是內(nèi)核PCB數(shù)據(jù)結(jié)構(gòu)對象+你自己的代碼和數(shù)據(jù)?

3.1.PCB?

我們知道一個操作系統(tǒng)可以同時進(jìn)行多個進(jìn)程

?

程序要運行的話,就得先把相關(guān)數(shù)據(jù)加載到內(nèi)存中,等待cpu運行產(chǎn)生進(jìn)程,那么加載進(jìn)內(nèi)存該如何管理呢?操作系統(tǒng)需要直接面向加載到內(nèi)存中的代碼嘛?

答案是不需要。

我們可以先把進(jìn)程類比上面的學(xué)生,先描述進(jìn)程,再把它們組織起來

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

3.1.1.理解PCB的本質(zhì)

?人是怎么樣辨別認(rèn)識一個事物或者對象?

  • 都是通過屬性認(rèn)識的

舉個例子,叫你自我介紹,你基本都是在講你的屬性——名字,興趣,才能,成就,籍貫等等

當(dāng)屬性的集合夠多的時候,你就能知道這個對應(yīng)的是什么了

比如,它是一個人,他是中國最頂級的動作明星,他是男生,他演過《十二生肖》

我們就很容易得知這個人就是成龍

同樣的我們描述進(jìn)程,就是把進(jìn)程足夠多的屬性描述起來,多到只有一個進(jìn)程與之匹配,那么我們就能將這堆足夠多的屬性集合來描述進(jìn)程,這個集合就是PCB,linux操作系統(tǒng)是c語言寫的,c語言只能用結(jié)構(gòu)體來描述對象,所以linux只能用struct來描述對象,所以PCB就是一個結(jié)構(gòu)體

這個也是面向?qū)ο缶幊痰暮诵睦砟?/p>

3.1.2.PCB的歷程/作用

  1. 進(jìn)程創(chuàng)建時,操作系統(tǒng)先為它新建一個PCB,該結(jié)構(gòu)之后常駐內(nèi)存,任意時刻都可以存取,并在進(jìn)程結(jié)束時刪除。PCB是進(jìn)程實體的一部分,是進(jìn)程存在的唯一標(biāo)志。
  2. 進(jìn)程執(zhí)行時,系統(tǒng)通過其 PCB 了解進(jìn)程的現(xiàn)行狀態(tài)信息,以便操作系統(tǒng)對其進(jìn)行控制和管理;進(jìn)程結(jié)束時,系統(tǒng)收回其PCB,該進(jìn)程隨之消亡。

3.在進(jìn)程的整個生命期中,系統(tǒng)總是通過PCB對進(jìn)程進(jìn)行控制的,亦即系統(tǒng)唯有通過進(jìn)程的PCB才能感知到該進(jìn)程的存在。

  • 當(dāng)操作系統(tǒng)欲調(diào)度某進(jìn)程運行時,要從該進(jìn)程的 PCB 中查出其現(xiàn)行狀態(tài)及優(yōu)先級;
  • 在調(diào)度到某進(jìn)程后,要根據(jù)其PCB 中所保存的處理機(jī)狀態(tài)信息,設(shè)置該進(jìn)程恢復(fù)運行的現(xiàn)場,并根據(jù)其PCB中的程序和數(shù)據(jù)的內(nèi)存始址,找到其程序和數(shù)據(jù);
  • 進(jìn)程在運行過程中,當(dāng)需要和與之合作的進(jìn)程實現(xiàn)同步、通信或訪問文件時,也需要訪問 PCB;
  • 當(dāng)進(jìn)程由于某種原因而暫停運行時,又需將其斷點的處理機(jī)環(huán)境保存在PCB中。

?

3.2.PCB的組織方式

在一個系統(tǒng)中,通常存在著許多進(jìn)程的PCB,有的處于就緒態(tài),有的處于阻塞態(tài),而且阻塞的原因各不相同。操作系統(tǒng)怎么管理這么多進(jìn)程呢?

為了方便進(jìn)程的調(diào)度和管理,需要將各進(jìn)程的PCB用適當(dāng)?shù)姆椒ńM織起來。

這樣子對進(jìn)程的管理就變成了對數(shù)據(jù)結(jié)構(gòu)的增刪查改

目前有下面幾種組織方式

  • 1.線性表方式:不論進(jìn)程的狀態(tài)如何,將所有的PCB連續(xù)地存放在內(nèi)存的系統(tǒng)區(qū)。這種方式適用于系統(tǒng)中進(jìn)程數(shù)目不多的情況,不適合頻繁的進(jìn)程調(diào)度
  • 2.索引表方式:該方式是線性表方式的改進(jìn),系統(tǒng)按照進(jìn)程的狀態(tài)分別建立就緒索引表、阻塞索引表等。其中進(jìn)程阻塞可能由于I/O請求、申請緩沖區(qū)失敗、等待解鎖、獲取數(shù)據(jù)失敗等原因造成,將其組成一張表忽略了進(jìn)程的優(yōu)先級,不利于進(jìn)程的喚醒。

  • 3.鏈接表方式:系統(tǒng)按照進(jìn)程的狀態(tài)將進(jìn)程的PCB組成隊列,從而形成就緒隊列、阻塞隊列、運行隊列等。

3.3程序段

程序段就是能被進(jìn)程調(diào)度程序調(diào)度到CPU執(zhí)行的程序代碼段。

3.4數(shù)據(jù)段

一個進(jìn)程的數(shù)據(jù)段,可以是進(jìn)程對應(yīng)程序加工處理的原始數(shù)據(jù),也可以是程序執(zhí)行時候產(chǎn)生的中間或最終結(jié)果。

?4.Linux是怎么取管理進(jìn)程的?

  • 課本上稱之為PCB(process control block),Linux操作系統(tǒng)下的PCB是:?task_struct?。
  • task_struct是Linux內(nèi)核的一種數(shù)據(jù)結(jié)構(gòu),它會被裝載到RAM(內(nèi)存)?里并且包含著進(jìn)程的信息。

4.1.task_ struct內(nèi)容分類

實際上這個結(jié)構(gòu)體的成員非常多,我們只列舉最主要的

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

4.3.組織進(jìn)程

可以在內(nèi)核源代碼里找到它。

所有運行在系統(tǒng)里的進(jìn)程都以task_struct雙向鏈表的形式存在內(nèi)核里。

4.4.查看進(jìn)程

(1)進(jìn)程信息可以通過 /porc系統(tǒng)文件夾查看,具體查看那個進(jìn)程,需要得知其標(biāo)識符(PID)。

看到以下有很多的數(shù)字還是藍(lán)標(biāo)的,數(shù)字就是PID,藍(lán)標(biāo)說明這是個目錄,

?比如接下來我想看看PID為1的進(jìn)程信息。

這個信息查看的不夠詳細(xì),所以可以帶上 -l選項查看詳細(xì)信息?

(2)用ps工具來查看

關(guān)于ps工具,咱們只需要記住,只查看自己的bash進(jìn)程選項為?-l,查看系統(tǒng)所有運行的進(jìn)程選項為aux,這個不加-。

這里可以看到,標(biāo)識符PID展示出來了,還有一個PPID,這是父進(jìn)程的PID,我們驚奇的發(fā)現(xiàn),下面的ps指令的PPID是上面bash的PID。

命令行上的命令的父進(jìn)程基本上都是bash。?

http://www.risenshineclean.com/news/42340.html

相關(guān)文章:

  • 上傳了網(wǎng)站源碼怎么做新聞最新熱點
  • 桓臺網(wǎng)站開發(fā)廣州:推動優(yōu)化防控措施落地
  • 中國互聯(lián)網(wǎng)網(wǎng)站性能丈哥seo博客工具
  • 錦州網(wǎng)站建設(shè)多少錢網(wǎng)站排名掉了怎么恢復(fù)
  • wordpress 地址 .html臺州seo
  • 別人抄襲網(wǎng)站設(shè)計怎么辦設(shè)計師必備的6個網(wǎng)站
  • 尋花問柳一家專注做男人喜愛的網(wǎng)站什么網(wǎng)站推廣比較好
  • 諸城盟族網(wǎng)站建設(shè)北京做網(wǎng)站公司哪家好
  • 網(wǎng)上營銷活動長沙網(wǎng)站seo分析
  • 學(xué)校校園網(wǎng)站建設(shè)方案上海網(wǎng)站營銷seo方案
  • 做圖片的網(wǎng)站外貿(mào)建站
  • 網(wǎng)站開發(fā)研究背景域名搜索
  • 做網(wǎng)站 警察佛山抖音seo
  • macos做網(wǎng)站快速網(wǎng)站推廣
  • 網(wǎng)站開發(fā)技術(shù)項目北京seo相關(guān)
  • 免費做網(wǎng)站方案新手怎么做seo優(yōu)化
  • win2012 iis 部署網(wǎng)站運營是做什么的
  • 網(wǎng)站轉(zhuǎn)化分析百度優(yōu)化怎么做
  • 大連市建委官方網(wǎng)站推廣一般收多少錢
  • java python 做網(wǎng)站武漢seo認(rèn)可搜點網(wǎng)絡(luò)
  • 北京營銷型網(wǎng)站建設(shè)價格西安百度推廣運營公司
  • 色母粒對網(wǎng)站的建議和優(yōu)化
  • 西安未央?yún)^(qū)網(wǎng)站建設(shè)微博推廣效果怎么樣
  • 網(wǎng)站admin密碼西安seo外包
  • 網(wǎng)站收錄是怎么回事免費網(wǎng)絡(luò)推廣網(wǎng)址
  • 中山網(wǎng)站推廣服務(wù)提高seo關(guān)鍵詞排名
  • 怎么自己用手機(jī)做網(wǎng)站門戶網(wǎng)站軟文
  • 做個類似淘寶的網(wǎng)站怎么做搜索引擎推廣的方法有哪些
  • 網(wǎng)站360自然排名要怎么做百度手機(jī)版
  • 廣州番禺網(wǎng)站建設(shè)工作室網(wǎng)站搭建