《鴻蒙智能互聯設備開發(微課版)》 課件 5.3.1 進程管理_第1頁
《鴻蒙智能互聯設備開發(微課版)》 課件 5.3.1 進程管理_第2頁
《鴻蒙智能互聯設備開發(微課版)》 課件 5.3.1 進程管理_第3頁
《鴻蒙智能互聯設備開發(微課版)》 課件 5.3.1 進程管理_第4頁
《鴻蒙智能互聯設備開發(微課版)》 課件 5.3.1 進程管理_第5頁
已閱讀5頁,還剩8頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

5.3.1進程管理通過本節學習,您可以:了解進程管理進程管理進程是系統資源管理的基本單元。OpenHarmonyLiteOS-A內核提供的進程模塊主要用于實現用戶態進程的隔離,不涉及內核態進程。進程模塊主要為用戶提供多個進程,實現了進程之間的切換和通信,幫助用戶管理業務程序流程。進程采用搶占式調度機制,采用高優先級優先加同優先級時間片輪轉的調度算法。進程一共有32個優先級(0-31),用戶進程可配置的優先級有22個(10-31),最高優先級為10,最低優先級為31。高優先級的進程可搶占低優先級進程,低優先級進程必須在高優先級進程阻塞或結束后才能得到調度。每一個用戶態進程均擁有自己獨立的進程空間,相互之間不可見,實現進程間隔離。用戶態根進程init由內核態創建,其它用戶態子進程均由init進程創建而來。1.

進程的概念進程管理進程有多種狀態,各狀態之間的關系如圖所示:2.進程狀態初始化(Init):進程正在被創建。就緒態(Ready):進程在就緒列表中,等待CPU調度。運行態(Running):進程正在運行。阻塞態(Pending):進程被阻塞掛起。本進程內所有的線程均被阻塞時,進程被阻塞掛起。僵尸態(Zombies):進程運行結束,等待父進程回收其控制塊資源。進程管理初始化→就緒態:進程創建或fork時,拿到對應進程控制塊后進入Init狀態,即進程初始化階段,當該階段完成后進程將被插入調度隊列,此時進程進入就緒狀態。就緒態→運行態:發生進程切換時,就緒列表中優先級最高且獲得時間片的進程被執行,從而進入運行態。若此時該進程中已無其它線程處于就緒態,則進程從就緒列表刪除,只處于運行態;若此時該進程中還有其它線程處于就緒態,則該進程依舊在就緒隊列,此時進程的就緒態和運行態共存,但對外呈現的進程狀態為運行態。

初始化就緒態阻塞態運行態僵尸態進程管理運行態→阻塞態:進程在最后一個線程轉為阻塞態時,進程內所有的線程均處于阻塞態,此時進程同步進入阻塞態,然后發生進程切換。阻塞態→就緒態:阻塞進程內的任意線程恢復就緒態時,進程被加入到就緒隊列,同步轉為就緒態。就緒態→阻塞態:進程內的最后一個就緒態線程轉為阻塞態時,進程從就緒列表中刪除,進程由就緒態轉為阻塞態。

初始化就緒態阻塞態運行態僵尸態進程管理運行態→就緒態:有更高優先級的進程創建或者恢復后,會發生進程調度,此刻就緒列表中最高優先級進程變為運行態,那么原先運行的進程由運行態變為就緒態。若進程的調度策略為LOS_SCHED_RR(時間片輪轉),且存在同一優先級的另一個進程處于就緒態,則該進程的時間片消耗光之后,該進程由運行態轉為就緒態,另一個同優先級的進程由就緒態轉為運行態。

初始化就緒態阻塞態運行態僵尸態進程管理運行態→僵尸態:當進程的主線程或所有線程運行結束后,進程由運行態轉為僵尸態,等待父進程回收資源。

初始化就緒態阻塞態運行態僵尸態進程管理進程管理主要是合理的分配各個進程使用CPU的時間。用戶態進程由Init進程分解而來,如圖所示。fork進程時會將父進程的進程虛擬內存空間克隆到子進程,子進程實際運行時通過寫時復制機制將父進程的內容按需復制到子進程的虛擬內存空間。3.進程運行機制用戶態進程

多線程用戶態進程

多線程Init進程

多線程進程管理OpenHarmonyLiteOS-A內核的進程管理模塊提供了進程組、用戶組、進程創建等接口。4.進程接口功能分類接口名接口描述獲取進程IDLOS_GetCurrProcessID獲取當前進程的進程ID進程組LOS_GetProcessGroupID獲取指定進程的進程組IDLOS_GetCurrProcessGroupID獲取當前進程的進程組ID用戶及用戶組LOS_GetUserID獲取當前進程的用戶IDLOS_GetGroupID獲取當前進程的用戶組IDLOS_CheckInGroups檢查指定用戶組ID是否在當前進程的用戶組內進程管理功能分類接口名接口描述進度調度參數控制LOS_GetProcessScheduler獲取指定進程的調度策略LOS_SetProcessScheduler設置指定進程的調度參數,包括優先級和調度策略LOS_SetProcessPriority設置進程優先級LOS_GetProcessPriority獲取進程優先級系統支持的最大進程數LOS_GetSystemProcessMaximum獲取系統支持的最大進程數目LOS_GetUsedPIDList獲得已使用的進程ID列表進程管理功

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論