[發明專利]一種初始化并行啟動的方法、裝置及系統在審
| 申請號: | 201811020670.4 | 申請日: | 2018-09-03 |
| 公開(公告)號: | CN110874242A | 公開(公告)日: | 2020-03-10 |
| 發明(設計)人: | 李培鋒;陳奇 | 申請(專利權)人: | 珠海全志科技股份有限公司 |
| 主分類號: | G06F9/4401 | 分類號: | G06F9/4401 |
| 代理公司: | 廣東深宏盾律師事務所 44364 | 代理人: | 趙瓊花;李立秋 |
| 地址: | 519000 廣東省*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 初始化 并行 啟動 方法 裝置 系統 | ||
本發明提出了一種初始化并行啟動的方法,用于軟件linux的initcall代碼中,包括:S1.編輯包括多個設備初始化時并行啟動的并行線程;S2.在多個串行線程中,插入所述的并行線程,形成混合線程;S3.執行所述的混合線程。本發明還公開了一種并行啟動的裝置和系統。實施本發明的技術方案中,針對initcall初始化的內核模塊的啟動模式進行優化,由部分串行啟動修改為并行啟動,縮短內核啟動時間。
技術領域
本發明涉及一種linux社區主線領域,特別涉及一種初始化并行啟動的方法、裝置及系統。
背景技術
Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基于POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟件、應用程序和網絡協議。它支持32位和64位硬件。Linux繼承了Unix以網絡為核心的設計思想,是一個性能穩定的多用戶網絡操作系統。
目前Linux社區主線上的initcall初始化init函數都是串行模式,其目的主要是為了節省啟動過程中的同步操作,降低代碼耦合性問題。但是這也造成一個問題,對于那些代碼原本獨立的模塊,串行初始化方式無疑會增加系統啟動時間。
發明內容
為了解決以上的問題,本發明能提供一種用于實現Linux initcall模塊并行初始化,支持代碼獨立的模塊并行啟動,最大化縮短內核啟動時間的初始化并行啟動的方法、裝置及系統。
本發明的技術方案是這樣實現的:
本發明公開了一種初始化并行啟動的方法,用于軟件linux的 initcall代碼中,包括:
S1. 編輯包括多個設備初始化時并行啟動的并行線程;
S2. 在多個串行線程中,插入所述的并行線程,形成混合線程;
S3. 執行所述的混合線程。
進一步地,所述的并行線程段內的代碼數據為需要并行啟動的模塊驅動初始化函數。
進一步地,所述的initcall代碼的內核啟動時,先開啟多線程并行初始化并行線程段,接著串行初始化device段,最終通過同步操作等待這兩個段初始化完成。
進一步地,在所述的并行線程中,增加代碼獨立的模塊。
本發明公開了一種初始化并行啟動的裝置,用于軟件linux的 initcall代碼中,包括:
編輯單元,用于編輯包括多個設備初始化時并行啟動的并行線程;
插入單元,用于在多個串行線程中,插入所述的并行線程,形成混合線程;
執行單元,用于執行所述的混合線程。
進一步地,所述的并行線程段內的代碼數據為需要并行啟動的模塊驅動初始化函數。
進一步地,所述的initcall代碼的內核啟動時,先開啟多線程并行初始化并行線程段,接著串行初始化device段,最終通過同步操作等待這兩個段初始化完成。
進一步地,還包括增加單元,用于在所述的并行線程中,增加代碼獨立的模塊。
本發明公開了一種初始化并行啟動的系統,包括linux社區主線,其特征在于,所述的linux社區主線具有上述的裝置。
實施本發明的一種初始化并行啟動的方法、裝置及系統,具有以下有益的技術效果:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于珠海全志科技股份有限公司,未經珠海全志科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811020670.4/2.html,轉載請聲明來源鉆瓜專利網。





