[發明專利]線程調度方法、裝置、設備及存儲介質在審
| 申請號: | 202211412741.1 | 申請日: | 2022-11-11 |
| 公開(公告)號: | CN116048747A | 公開(公告)日: | 2023-05-02 |
| 發明(設計)人: | 張文驄 | 申請(專利權)人: | 上海元馳彗行汽車科技有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/50;G06F15/78 |
| 代理公司: | 北京潤澤恒知識產權代理有限公司 11319 | 代理人: | 楊愛平 |
| 地址: | 200233 上海市嘉定*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 線程 調度 方法 裝置 設備 存儲 介質 | ||
1.一種線程調度方法,其特征在于,應用于系統級芯片SOC,所述SOC用于運行QNX操作系統,且所述SOC部署有守護進程,所述方法包括:
在所述QNX操作系統啟動的情況下,啟動所述守護進程,所述守護進程在啟動之后生成線程隊列,所述線程隊列包括多個線程中每個線程分別對應的線程屬性結構信息,所述多個線程歸屬于N個任務進程,每個任務進程對應于M個線程,N為大于或者等于2的正整數,M為大于或者等于1的正整數;
在所述N個任務進程分別對應的目標代碼編譯為可執行文件且所述可執行文件部署在所述SOC上之后,通過所述守護進程依次啟動所述N個任務進程,以使所述N個任務進程在所述QNX操作系統運行;
通過所述守護進程設置所述N個任務進程分別對應的CPU核;
通過所述守護進程確定每個線程在時間軸上對應的時間片,其中,所述守護進程根據所述線程隊列設置所述N個任務進程分別對應的CPU核、根據所述線程隊列確定每個線程對應的時間片;
在到達目標線程的運行時刻時,通過所述守護進程確定所述目標線程對應的目標CPU核,將所述目標CPU核對應的CPU核資源分配給所述目標線程、控制所述目標線程運行。
2.根據權利要求1所述的方法,其特征在于,所述任務進程對應的目標代碼為將所述任務進程對應的M個線程接口嵌入所述任務進程對應的框架代碼后生成,所述任務進程對應的框架代碼基于對應于所述N個任務進程的配置文件確定,且在所述配置文件更新的情況下,所述目標代碼同步更新;
其中,所述目標代碼的生成和更新基于目標腳本自動執行。
3.根據權利要求1或2所述的方法,其特征在于,所述線程屬性結構信息基于線程屬性結構體確定,每一線程對應于一所述線程屬性結構體,所述線程屬性結構體根據配置文件生成,所述配置文件對應于所述N個任務進程;
其中,所述線程屬性結構體至少包括線程運行開始時間、線程運行時長、線程運行周期以及線程所屬任務進程對應的CPU核。
4.根據權利要求3所述的方法,其特征在于,所述通過所述守護進程設置所述N個任務進程分別對應的CPU核、通過所述守護進程確定每個線程在時間軸上對應的時間片,包括:
通過所述守護進程根據多個線程屬性結構信息,設置所述N個任務進程分別對應的CPU核;
通過所述守護進程根據所述多個線程屬性結構信息,將所述多個線程在時間軸上排序,確定每個線程在時間軸上對應的時間片。
5.根據權利要求3所述的方法,其特征在于,所述配置文件包括歸屬于所述N個任務進程的所述每個線程對應的配置參數,所述線程對應的線程屬性結構體基于所述線程對應的配置參數生成;在所述配置文件更新的情況下,所述線程屬性結構體同步更新;
其中,所述線程屬性結構體的生成和更新基于目標腳本自動執行。
6.根據權利要求3所述的方法,其特征在于,所述守護進程在啟動之后生成線程隊列,包括:
所述守護進程在啟動后,根據所述多個線程分別對應的線程屬性結構信息生成所述線程隊列;
其中,所述守護進程在經過編譯之后包括多個線程屬性結構信息、所述守護進程在經過編譯之前包括多個線程屬性結構體。
7.根據權利要求3所述的方法,其特征在于,所述線程屬性結構體還包括線程所屬任務進程對應的運行優先級次序,所述方法還包括:
在通過所述守護進程設置所述N個任務進程分別對應的CPU核的情況下,通過所述守護進程設置所述N個任務進程分別對應的運行優先級次序;
其中,所述守護進程根據多個線程屬性結構信息設置運行優先級次序。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海元馳彗行汽車科技有限公司,未經上海元馳彗行汽車科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211412741.1/1.html,轉載請聲明來源鉆瓜專利網。





