在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

從進程和線程的角度歸結操作系統(tǒng)設計

Linux愛好者 ? 來源:博客園 ? 作者:飛天小牛肉 ? 2021-03-11 16:28 ? 次閱讀

1. 進程與線程的簡單解釋

進程(Process)和線程(Thread)是操作系統(tǒng)的基本概念,但是它們比較抽象,不容易掌握。以下這個解釋出自阮一峰老師的博客,雖然「不是非常嚴謹,但是足夠形象」,看完之后能對進程和線程有個非常直觀的印象,這樣也方便理解后文。

① 計算機的核心是 CPU,它承擔了所有的計算任務。它就像一座工廠,時刻在運行。

②「假定工廠的電力有限,一次只能供給一個車間使用」。也就是說,一個車間開工的時候,其他車間都必須停工。背后的含義就是,單個 CPU 一次只能運行一個任務。

③ 進程就好比工廠的車間,它代表 CPU 所能處理的單個任務。任一時刻,CPU 總是運行一個進程,其他進程處于非運行狀態(tài)。

④ 一個車間里,可以有很多工人。他們協(xié)同完成一個任務。

⑤ 線程就好比車間里的工人。一個進程可以包括多個線程。

⑥ 車間的空間是工人們共享的,比如許多房間是每個工人都可以進出的。這象征一個進程的內存空間是共享的,每個線程都可以使用這些共享內存。

⑦ 可是,每間房間的大小不同,有些房間最多只能容納一個人,比如廁所。里面有人的時候,其他人就不能進去了。這代表一個線程使用某些共享內存時,其他線程必須等它結束,才能使用這一塊內存。

⑧ 一個防止他人進入的簡單方法,就是門口加一把鎖。先到的人鎖上門,后到的人看到上鎖,就在門口排隊,等鎖打開再進去。這就叫"互斥鎖"(Mutual exclusion,縮寫 Mutex),防止多個線程同時讀寫某一塊內存區(qū)域。

⑨ 還有些房間,可以同時容納 n 個人,比如廚房。也就是說,如果人數大于 n,多出來的人只能在外面等著。這好比某些內存區(qū)域,只能供給固定數目的線程使用。

⑩ 這時的解決方法,就是在門口掛 n 把鑰匙。進去的人就取一把鑰匙,出來時再把鑰匙掛回原處。后到的人發(fā)現(xiàn)鑰匙架空了,就知道必須在門口排隊等著了。這種做法叫做 "信號量"(Semaphore),用來保證多個線程不會互相沖突。

不難看出,互斥鎖 Mutex 是信號量 semaphore 的一種特殊情況(n = 1時)。也就是說,完全可以用后者替代前者。但是,因為 Mutex 較為簡單,且效率高,所以在必須保證資源獨占的情況下,還是采用這種設計。

2. 進程基礎掃盲

① 什么是進程

結合上文的簡單解釋,下面給出進程的科學定義:「進程是程序在某個數據集合上的一次運行活動,也是操作系統(tǒng)進行資源分配和保護的基本單位」。

通俗來說,「進程就是程序的一次執(zhí)行過程」,程序是靜態(tài)的,它作為系統(tǒng)中的一種資源是永遠存在的。而進程是動態(tài)的,它是動態(tài)的產生,變化和消亡的,擁有其自己的生命周期。

舉個例子:同時掛三個 QQ 號,它們就對應三個 QQ 進程,退出一個就會殺死一個對應的進程。但是,就算你把這三個 QQ 全都退出了,QQ 這個程序死亡了嗎?顯然沒有。

進程不僅包含正在運行的程序實體,并且包括這個運行的程序中占據的所有系統(tǒng)資源,比如說 CPU、內存、網絡資源等。很多小伙伴在回答進程的概念的時候,往往只會說它是一個運行的實體,而會忽略掉進程所占據的資源。比如說,同樣一個程序,同一時刻被兩次運行了,那么他們就是兩個獨立的進程。

② 進程的組成

進程主要由三個部分組成:

1)「進程控制塊 PCB」。包含如下幾個部分:

進程描述信息

進程控制和管理信息

資源分配清單

CPU 相關信息

2)「數據段」。即進程運行過程中各種數據(比如程序中定義的變量)

3)「程序段」。就是程序的代碼(指令序列)

舉個例子:同時掛三個 QQ 號,會對應三個 QQ 進程,它們的 PCB、數據段各不相同,但程序段的內容都是相同的 (都是運行著相同的 QQ 程序)

PCB 是提供給操作系統(tǒng)用的,而程序段、數據段是給進程自己用的。

進程控制塊 PCB

每個進程有且僅有一個進程控制塊(Process Control Block,PCB),或稱進程描述符,它是「進程存在的唯一標識」,是「操作系統(tǒng)用來記錄和刻畫進程狀態(tài)及環(huán)境信息的數據結構」,也是操作系統(tǒng)掌握進程的唯一資料結構和管理進程的主要依據。所以說 PCB 是提供給操作系統(tǒng)使用的。

通俗的解釋:操作系統(tǒng)需要對各個進程進行管理,但凡管理時所需要的信息,都會被放在 PCB 中,「PCB 是進程存在的唯一標志」。創(chuàng)建進程和撤銷進程等都是指對 PCB 的操作,當進程被創(chuàng)建時,操作系統(tǒng)為其創(chuàng)建 PCB,當進程結束時,會回收其 PCB。

一般來說,PCB 會包含如下四類信息:

1)「進程描述信息」:用來讓操作系統(tǒng)區(qū)分各個進程

當進程被創(chuàng)建時,操作系統(tǒng)會為該進程分配一個唯一的、不重復的 “身份證號”—「PID」(ProcessID,進程 ID)

另外,進程描述信息還包含進程所屬的用戶 ID(「UID」)

2)「進程控制和管理信息」:記錄進程的運行情況。比如 CPU 的使用時間、磁盤使用情況、網絡流量使用情況等。

3)「資源分配清單」:記錄給進程分配了哪些資源。比如分配了多少內存、正在使用哪些 I/O 設備、正在使用哪些文件等。

4)「CPU 相關信息」:進程在讓出 CPU 時,必須保存該進程在 CPU 中的各種信息,比如各種寄存器的值。用于實現(xiàn)進程切換,確保這個進程再次運行的時候恢復 CPU 現(xiàn)場,從斷點處繼續(xù)執(zhí)行。這就是所謂的「保存現(xiàn)場信息」。

③ 進程的狀態(tài)

盡管每一個進程都是獨立的實體,有其自己的 PCB 和內部狀態(tài),但是進程之間經常需要相互作用。一個進程的輸出結果可能是另一個進程的輸入。假設進程 A 的輸入依賴進程 B 的輸出,那么在進程 B 的輸出結果沒有出來之前,進程 A 就無法執(zhí)行,它就會被阻塞。這就是進程的阻塞態(tài)。

經典的進程三態(tài)模型如下:

「運行態(tài)」(running):進程占有 CPU 正在運行。

「就緒態(tài)」(ready):進程具備運行條件,等待系統(tǒng)分配 CPU 以便運行。

「阻塞態(tài)」/ 等待態(tài)(wait):進程不具備運行條件,正在等待某個事件的完成。

05d25c42-7e2d-11eb-8b86-12bb97331649.png

上圖中的時間片用完,可以這樣理解:

進程是并發(fā)執(zhí)行的嘛,宏觀上在一段時間內能同時運行多個程序,但其實微觀上是交替發(fā)生的。也就是說 CPU 一般不會讓一個進程一次性執(zhí)行完,為了保證所有進程可以得到公平調度,CPU 時間被劃分為一段段的時間片,這些時間片再被輪流分配給各個進程。某個進程的時間片用完后這個進程就會進入就緒態(tài),而其他被分配到時間片的進程就會進入運行態(tài)。這個處于就緒態(tài)的進程就需要等待進程調度程序的下一次調度,為其分配 CPU 時間片后才能再次恢復運行。

需要注意的是:「阻塞態(tài)是由于缺少需要的資源從而由運行態(tài)轉換而來,但是該資源不包括 CPU 時間片,缺少 CPU 時間片會從運行態(tài)轉換為就緒態(tài)」。

很多系統(tǒng)中都增加了新建態(tài)(new)和終止態(tài)(exit),形成「五態(tài)模型」:

「新建態(tài)」(new):進程正在被創(chuàng)建時的狀態(tài)

「終止態(tài)」(exit):進程正在從系統(tǒng)中消失時的狀態(tài)

0603f158-7e2d-11eb-8b86-12bb97331649.png

從上圖可以發(fā)現(xiàn),「只有就緒態(tài)和運行態(tài)可以相互轉換,其它的都是單向轉換」。

這些不同狀態(tài)的進程操作系統(tǒng)是如何進行管理的呢?上文說過,PCB 是提供給操作系統(tǒng)使用的,是操作系統(tǒng)管理進程的主要依據。沒錯,操作就是通過 PCB 來管理這些擁有不同狀態(tài)的進程的。

進程的 PCB 會通過某種方式組織起來,一般來說,操作系統(tǒng)會把處于同一狀態(tài)的所有進程的 PCB 鏈接在一起,這種數據結構就稱為「進程隊列」(Process Queue)。

④ 進程控制

所謂進程控制就是對系統(tǒng)中的所有進程實施有效的管理,「實現(xiàn)進程狀態(tài)轉換」功能。包括創(chuàng)建進程、阻塞進程、喚醒進程、終止進程等,這些功能均由「原語」來實現(xiàn),操作系統(tǒng)通過原語來完成進程原理,包括進程的同步和互斥、進程的通信和管理。

「什么是原語」?原語是一種特殊的程序,它的執(zhí)行具有「原子性」。也就是說,這段程序的運行必須一氣呵成,不可中斷。原語是操作系統(tǒng)內核里的一段程序:

063dccfc-7e2d-11eb-8b86-12bb97331649.png

思考一下:為什么進程控制(進程狀態(tài)轉換)的過程要一氣呵成,不可中斷?

答:如果進程狀態(tài)轉換的過程不能一氣呵成,就有可能導致操作系統(tǒng)中的某些關鍵數據結構信息不統(tǒng)一,這會影響操作系統(tǒng)進行別的管理工作。

進程的創(chuàng)建

操作系統(tǒng)初始啟動時會創(chuàng)建承擔系統(tǒng)資源分配和控制管理的一些系統(tǒng)進程,同時還會創(chuàng)建一個所有用戶進程的祖先,其他用戶進程是在應用程序運行時創(chuàng)建的。

操作系統(tǒng)允許一個進程創(chuàng)建另一個進程,而且允許子進程繼承父進程所擁有的資源,當子進程被終止時,其在父進程處繼承的資源應當還給父進程。同時,終止父進程時同時也會終止其所有的子進程。

創(chuàng)建進程的過程,也就是「創(chuàng)建原語」包含的內容如下:

在進程列表中增加一項,從 PCB 池中申請一個空閑的 PCB(PCB 是有限的,若申請失敗則創(chuàng)建失敗),為新進程分配一個唯一的進程標識符;

為新進程分配地址空間,由進程管理程序確定加載至進程地址空間中的程序;

為新進程分配各種資源;

初始化 PCB,如進程標識符、CPU 初始狀態(tài)等;

把新進程的狀態(tài)設置為就緒態(tài),并將其移入就緒隊列,等待被調度運行。

「什么事件會觸發(fā)進程的創(chuàng)建呢」?有如下四種情況:

用戶登錄:分時系統(tǒng)中,用戶登錄成功,系統(tǒng)會為其建立一個新的進程

作業(yè)調度:多道批處理系統(tǒng)中,有新的作業(yè)放入內存中,會為其建立一個新的進程

提供服務:用戶向操作系統(tǒng)提出某些請求時,會新建一個進程處理該請求

應用請求:由用戶進程主動請求創(chuàng)建一個子進程

進程的終止

進程的終止也稱為撤銷,進程完成特定工作或出現(xiàn)嚴重錯誤后必須被終止。引起進程終止的事件有三種:

正常結束:進程自己請求終止(exit 系統(tǒng)調用)

異常結束:比如整數除 0,非法使用特權指令,然后被操作系統(tǒng)強行終止

外界干預:Ctrl + Alt + delete 打開進程管理器,用戶手動殺死進程

終止(撤銷)進程的過程,也就是「撤銷原語」包含的內容如下:

從 PCB 集合中找到終止進程的 PCB;

若進程處于運行態(tài),則立即剝奪其 CPU,終止該進程的執(zhí)行,然后將 CPU 資源分配給其他進程;

如果其還有子進程,則應將其所有子進程終止;

將該進程所擁有的全部資源都歸還給父進程或操作系統(tǒng);

回收 PCB 并將其歸還至 PCB 池。

進程的阻塞和喚醒

進程阻塞是指進程讓出 CPU 資源轉而等待一個事件,如等待資源、等待 I/O 操作完成等。進程通常使用阻塞原語來阻塞自己,所以阻塞是進程的自主行為,是一個同步事件。當等待事件完成時會產生一個中斷,激活操作系統(tǒng),在系統(tǒng)的控制下將被阻塞的進程喚醒,也就是喚醒原語。

進程的阻塞和喚醒顯然是由進程切換來完成的。

進程的阻塞步驟,也就是「阻塞原語」的內容為:

找到將要被阻塞的進程對應的 PCB;

保護進程運行現(xiàn)場,將 PCB 狀態(tài)信息設置為阻塞態(tài),暫時停止進程運行;

將該 PCB 插入相應事件的阻塞隊列(等待隊列)。

進程的喚醒步驟,也就是「喚醒原語」的內容為:

在該事件的阻塞隊列中找到相應進程的 PCB;

將該 PCB 從阻塞隊列中移出,并將進程的狀態(tài)設置為就緒態(tài);

把該 PCB 插入到就緒隊列中,等待被調度程序調度。

阻塞原語和喚醒原語的作用正好相反,「阻塞原語使得進程從運行態(tài)轉為阻塞態(tài),而喚醒原語使得進程從阻塞態(tài)轉為就緒態(tài)」。如果某個進程使用阻塞原語來阻塞自己,那么他就必須使用喚醒原語來喚醒自己,因何事阻塞,就由何事喚醒,否則被阻塞的進程將永遠處于阻塞態(tài)。因此,「阻塞原語和喚醒原語是成對出現(xiàn)的」。

⑤ 進程上下文切換

所謂進程的上下文切換,就是說各個進程之間是共享 CPU 資源的,不可能一個進程永遠占用著 CPU 資源,不同的時候進程之間需要切換,使得不同的進程被分配 CPU 資源,這個過程就是進程的上下文切換,「一個進程切換到另一個進程運行」。

因為進程是由內核進行管理和調度的,所以「進程的上下文切換一定發(fā)生在內核態(tài)」。

進程上下文的切換也是一個原語操作,稱為「切換原語」,其內容如下:

首先,將進程 A 的運行環(huán)境信息存入 PCB,這個運行環(huán)境信息就是進程的上下文(Context)

然后,將 PCB 移入相應的進程隊列;

選擇另一個進程 B 進行執(zhí)行,并更新其 PCB 中的狀態(tài)為運行態(tài)

當進程 A 被恢復運行的時候,根據它的 PCB 恢復進程 A 所需的運行環(huán)境

引起進程上下文切換的事件,也就是某個占用 CPU 資源運行的當前進程被趕出 CPU 的原因有如下:

當前進程的時間片到

有更高優(yōu)先級的進程到達

當前進程主動阻塞

當前進程終止

3. 線程基礎掃盲

① 什么是線程

結合文章開頭的簡單解釋,「一個進程中可以有多個線程,它們共享這個進程的資源。」

舉個例子,QQ 和 Chrome 瀏覽器是兩個進程,Chrome 進程里面有很多線程,例如 HTTP 請求線程、事件響應線程、渲染線程等等,線程的并發(fā)執(zhí)行使得在瀏覽器中點擊一個新鏈接從而發(fā)起 HTTP 請求時,瀏覽器還可以響應用戶的其它事件。

② 為什么要引入線程

早期的操作系統(tǒng)都是以進程作為獨立運行的基本單位的,直到后期計算機科學家們又提出了更小的能獨立運行的基本單位,也就是線程。這就好比物理學家研究物質組成一樣:先發(fā)現(xiàn)了分子,然后繼續(xù)細分發(fā)現(xiàn)原子,再后來是原子核和電子、夸克等等。

那么,為什么要引入線程呢?我們只需要記住這句話:「線程又稱為迷你進程,但是它比進程更容易創(chuàng)建,也更容易撤銷」。

從上文我們知道,進程是擁有資源的基本單位,而且還能夠進行獨立調度,這就猶如一個隨時背著糧草的士兵,這必然會造成士兵的執(zhí)行命令(戰(zhàn)斗)的速度。所以,一個簡單想法就是:分配兩個士兵執(zhí)行同一個命令:一個負責攜帶所需糧草隨時供給,另一個士兵負責執(zhí)行命令(戰(zhàn)斗)。這就是線程的思想,「輕裝上陣的士兵就是線程」。

用嚴謹的語言描述來說就是:由于創(chuàng)建或撤銷進程時,系統(tǒng)都要為之分配或回收資源,如內存空間、I/O 設備等,需要較大的時空開銷,限制了并發(fā)程度的進一步提高。為減少進程切換的開銷,「把進程作為資源分配單位和調度單位這兩個屬性分開處理」,即進程還是作為資源分配的基本單位,但是不作為調度的基本單位(很少調度或切換),把調度執(zhí)行與切換的責任交給線程,即「線程成為獨立調度的基本單位」,它比進程更容易(更快)創(chuàng)建,也更容易撤銷。

記住這句話!引入線程前,進程是資源分配和獨立調度的基本單位。引入線程后,「進程是資源分配的基本單位,線程是獨立調度的基本單位」。

③ 線程優(yōu)缺點

線程的特征和進程差不多,進程有的他基本都有,比如:

線程具有就緒、阻塞、運行三種基本狀態(tài),同樣具有狀態(tài)之間的轉換關系;

線程間可以并發(fā)執(zhí)行

在多 CPU 環(huán)境下,各個線程也可以分派到不同的 CPU 上并行執(zhí)行

線程的優(yōu)點:

一個進程中可以同時存在多個線程,這些線程共享該進程的資源。進程間的通信必須請求操作系統(tǒng)服務(因為 CPU 要切換到內核態(tài)),開銷很大。而同進程下的線程間通信,無需操作系統(tǒng)干預,開銷更小。

不過,需要注意的是:從屬于不同進程的線程間通信,也必須請求操作系統(tǒng)服務。

線程間的并發(fā)比進程的開銷更小,系統(tǒng)并發(fā)性提升。

同樣,需要注意的是:從屬于不同進程的線程間切換,它是會導致進程切換的,所以開銷也大。

線程的缺點:

當進程中的一個線程奔潰時,會導致其所屬進程的所有線程奔潰。

舉個例子,對于游戲的用戶設計,就不應該使用多線程的方式,否則一個用戶掛了,會影響其他同個進程的線程。

4. 總結

操作系統(tǒng)的設計,從進程和線程的角度來說,可以歸結為三點:

以多進程形式,允許多個任務同時運行;

以多線程形式,允許單個任務分成不同的部分運行;

提供協(xié)調機制,一方面防止進程之間和線程之間產生沖突,另一方面允許進程之間和線程之間共享資源。

原文標題:五分鐘掃盲:進程與線程基礎必知

文章出處:【微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • pcb
    pcb
    +關注

    關注

    4319

    文章

    23099

    瀏覽量

    397923
  • 計算機
    +關注

    關注

    19

    文章

    7494

    瀏覽量

    87965
  • 操作系統(tǒng)

    關注

    37

    文章

    6827

    瀏覽量

    123333

原文標題:?五分鐘掃盲:進程與線程基礎必知

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    deepin操作系統(tǒng)介紹

    希望自己的能力和對桌面操作系統(tǒng)的理解,能給 Linux 的用戶與開發(fā)者更多的選擇。我們也相信 deepin 能夠得到更多用戶的認可與喜愛,成為開源世界的最佳選擇。? 一、 deepin 操作系統(tǒng) 先說 Linux
    的頭像 發(fā)表于 12-23 09:08 ?288次閱讀
    deepin<b class='flag-5'>操作系統(tǒng)</b>介紹

    【書籍評測活動NO.53】鴻蒙操作系統(tǒng)設計原理與架構

    體驗。HarmonyOS 的設計目標是用戶和開發(fā)者角度出發(fā),開發(fā)一款面向萬物互聯(lián)時代的智能終端操作系統(tǒng)。 因此,HarmonyOS 的底層設計理念有如下兩條:用戶體驗最佳、開發(fā)者代價最小
    發(fā)表于 12-16 15:10

    一文搞懂Linux進程的睡眠和喚醒

    一、常見的進程狀態(tài)與理解 在操作系統(tǒng)內部,有專門用來管理進程的結構體,叫做struct task_struct,也稱作進程控制塊(PCB),主要包含描述
    發(fā)表于 11-04 15:15

    Python中多線程和多進程的區(qū)別

    Python作為一種高級編程語言,提供了多種并發(fā)編程的方式,其中多線程與多進程是最常見的兩種方式之一。在本文中,我們將探討Python中多線程與多進程的概念、區(qū)別以及如何使用
    的頭像 發(fā)表于 10-23 11:48 ?402次閱讀
    Python中多<b class='flag-5'>線程</b>和多<b class='flag-5'>進程</b>的區(qū)別

    工控機支持什么操作系統(tǒng)

    工控機,全稱工業(yè)控制計算機(Industrial Personal Computer, IPC),支持多種操作系統(tǒng)以滿足不同行業(yè)和應用場景的需求。具體來說,工控機常見的操作系統(tǒng)包括:
    的頭像 發(fā)表于 09-11 09:24 ?451次閱讀

    簡單認識RTOS實時操作系統(tǒng)

    RTOS(Real Time Operating System,實時操作系統(tǒng))是一種專門設計用于在嚴格時間限制內處理任務的操作系統(tǒng)。它以其高實時性、多任務處理能力和資源管理能力在工業(yè)自動化、醫(yī)療設備、航空航天、汽車電子等眾多領域得到廣泛應用。以下是對RTOS實時
    的頭像 發(fā)表于 08-20 11:20 ?2760次閱讀

    嵌入式實時操作系統(tǒng):Intewell操作系統(tǒng)與VxWorks操作系統(tǒng)有啥區(qū)別

    Intewell操作系統(tǒng)和VxWorks操作系統(tǒng)都是工業(yè)領域常用的操作系統(tǒng),它們各有特點和優(yōu)勢。以下是它們之間的一些主要區(qū)別:
    的頭像 發(fā)表于 07-08 14:16 ?442次閱讀
    嵌入式實時<b class='flag-5'>操作系統(tǒng)</b>:Intewell<b class='flag-5'>操作系統(tǒng)</b>與VxWorks<b class='flag-5'>操作系統(tǒng)</b>有啥區(qū)別

    一句話讓你理解線程進程

    今天給大家分享一下線程進程,主要包含以下幾部分內容:一句話說明線程進程操作系統(tǒng)為什么需要進程
    的頭像 發(fā)表于 06-04 08:04 ?1201次閱讀
    一句話讓你理解<b class='flag-5'>線程</b>和<b class='flag-5'>進程</b>

    如何根據需求選擇合適的新加坡VPS操作系統(tǒng)?

    選擇合適的新加坡VPS操作系統(tǒng)您需要考慮哪些因素,如何根據需求選擇合適的新加坡VPS操作系統(tǒng)?rak部落小編為您整理發(fā)布選擇合適的新加坡VPS操作系統(tǒng)需要考慮哪些因素。
    的頭像 發(fā)表于 05-10 11:14 ?448次閱讀
    如何根據需求選擇合適的新加坡VPS<b class='flag-5'>操作系統(tǒng)</b>?

    基于鴻道(Intewell?)操作系統(tǒng)研發(fā)的農業(yè)機器人操作系統(tǒng)

    江蘇大學與科東軟件聯(lián)合研發(fā)“農業(yè)機器人操作系統(tǒng)”,并成立“農業(yè)機器人操作系統(tǒng)”聯(lián)合實驗室,奮力推進農業(yè)智能化,推動農業(yè)科技創(chuàng)新。“農業(yè)機器人操作系統(tǒng)”的技術革新,對提高農業(yè)生產效率、保護環(huán)境、應對農業(yè)勞動力短缺及促進智慧農業(yè)發(fā)展
    的頭像 發(fā)表于 04-30 11:09 ?432次閱讀

    帶你認識實時操作系統(tǒng)(rtos)

    實時操作系統(tǒng)(RTOS)是為嵌入式系統(tǒng)和實時應用提供一個穩(wěn)定、可預測和高效運行環(huán)境的操作系統(tǒng)。實時操作系統(tǒng)確保了系統(tǒng)能夠在嚴格的時間限制內響
    的頭像 發(fā)表于 04-16 16:30 ?1279次閱讀
    帶你認識實時<b class='flag-5'>操作系統(tǒng)</b>(rtos)

    線程是什么的基本單位 進程線程的本質區(qū)別

    線程操作系統(tǒng)中處理器調度的基本單位,它代表著獨立的執(zhí)行流。在一個進程中,可以包含多個線程,這些線程共享相同的
    的頭像 發(fā)表于 02-02 16:30 ?935次閱讀

    深度解析全球操作系統(tǒng)格局

    操作系統(tǒng)是負責協(xié)調、管理和控制計算機硬件與軟件資源的程序,是整個計算機的核心系統(tǒng)軟件。 按照操作系統(tǒng)面向的設備類型,通用操作系統(tǒng)主要包括桌面操作系統(tǒng)
    的頭像 發(fā)表于 01-18 15:00 ?1186次閱讀
    深度解析全球<b class='flag-5'>操作系統(tǒng)</b>格局

    線程進程、多線程、多進程和多任務之間有何關系?

    進程是程序執(zhí)行時的一個實例,即它是程序已經執(zhí)行到課中程度的數據結構的匯集。內核的觀點看,進程的目的就是擔當分配系統(tǒng)資源(CPU時間、內存等)的基本單位。
    的頭像 發(fā)表于 01-11 13:39 ?364次閱讀
    <b class='flag-5'>線程</b>、<b class='flag-5'>進程</b>、多<b class='flag-5'>線程</b>、多<b class='flag-5'>進程</b>和多任務之間有何關系?

    mcu線程進程的區(qū)別是什么

    MCU線程進程是嵌入式系統(tǒng)中常見的并行執(zhí)行的概念,它們之間有許多區(qū)別,包括線程進程的定義、資源管理、通信機制、執(zhí)行方式等等。下面將詳細介
    的頭像 發(fā)表于 01-04 10:45 ?754次閱讀
    主站蜘蛛池模板: 日韩操穴| 欧美涩区| 亚洲色图综合图片| 性毛片| 秋霞一级特黄真人毛片| www四虎在线高清| 午夜艹逼| 性孕妇洗澡video国产| 久久婷婷是五月综合色狠狠| 日日干夜夜爽| 加勒比啪啪| 国产黄色在线看| 成 人 在 线 免费 8888 www| 一级片免费在线| 激情亚洲综合网| 国产午夜精品理论片在线| 国产叼嘿视频网站在线观看| 特级全毛片| 又黄又湿又爽吸乳视频| 免费福利午夜影视网| 日本69xxx18hd| 色老二精品视频在线观看| 夜夜操夜夜爽| 国产18到20岁美女毛片| 婷婷午夜影院| 夜夜操天天干| 欧美性色xo影院在线观看| 久久久噜噜噜| 91极品女神嫩模在线播放| 四虎影院永久网址| 天天做天天摸天天爽天天爱| 男人午夜| 国产一级特黄| 高清xxx| 美女国产一区| 1024你懂的国产日韩欧美| 色狠狠狠色噜噜噜综合网| 色哟永久免费| 午夜在线观看完整高清免费| 午夜手机看片| 伊人97在线|