在傳統 Linux 操作系統中,應用進程的生命周期主要由應用本身直接控制。然而,系統資源(包括 CPU、I/O、存儲等)是有限的,當我們運行大量的 I/O 密集型或 CPU 密集型應用時,經常會出現系統卡頓甚至 “假死機” 的現象,這大大影響了用戶的操作體驗。為此,我們在 openKylin 操作系統中設計了 “分級凍結” 機制,管控應用生命周期。
什麼是 “分級凍結” 機制?
“分級凍結” 機制是指,在操作系統中,針對處于不同狀态的應用進行 “分級” 處理,以某種特殊方式 “凍結” 用戶未操作應用,從而釋放系統資源(如 CPU、磁盤 I/O、内存等),優先保障用戶當前操作應用的資源分配,提升用戶體驗。

“分級凍結” 機制等級劃分
在 openKylin 操作系統中,我們将應用分為以下級别:
1. 焦點應用
表示當前正在操作的應用,一般情況下,不對其做資源限制,充分保證其流暢度。
2. 前台應用
隻存在 PC 模式下的狀态,表示當前運行的未最小化但沒有獲得焦點的應用。
3. 後台應用
PC 模式下指窗口最小化狀态且持續時間≤30min 或者前台應用持續時間≥30min 的應用;
平闆模式下指非當前打開且持續時間≤30min 的應用進程。
4. 緩存應用
指處于不可見狀态且持續時間 >30min 的應用。
5. 休眠應用
被凍結并且放入 swap 分區的應用。
其中,各級應用的狀态時序轉換如下圖所示

基于上述應用分類,openKylin 實現了以下特性:
1. 單實例啟動
平闆模式下應用以單實例的方式啟動,并會記錄每個應用的啟動狀态,由系統接口統一實現,而不需要應用單獨适配。
2. 後台資源實時調控
針對後台應用,當系統剩餘資源達到我們預定的阈值時,根據系統策略和用戶設置進行相應的資源調控,從而降低系統的功耗,提升前台應用的流暢性。
3. 應用級休眠
特定條件下将應用完全凍結,節省 CPU 和内存資源。
4. 多媒體協議擴展支持
針對影音等多媒體應用,實現後台暫停 / 播放功能,讓用戶更靈活地掌控娛樂。
openKylin “分級凍結” 機制,不僅能進一步提升系統性能,給用戶提供一個更流暢的使用環境,也為國産操作系統帶來一個新的優化創新思路。而接下來,openKylin 将持續的投入 “分級凍結” 機制的研發和優化,助力國産操作系統的快速發展。
openKylin(開放麒麟)社區旨在以 “共創” 為核心,在開源、自願、平等、協作的基礎上,通過開源、開放的方式與企業構建合作夥伴生态體系,共同打造桌面操作系統社區,推動 Linux 開源技術及其軟硬件生态繁榮發展。
社區首批理事成員單位包括麒麟軟件、普華基礎軟件、中科方德、麒麟信安、凝思軟件、一銘軟件、中興新支點、元心科技、中國電科 32 所、技德系統、北京麟卓、先進操作系統創新中心等 13 家産業同仁和行業機構。
免責聲明:本文僅代表作者個人觀點,與每日科技網無關。其原創性以及文中陳述文字和内容未經本站證實,對本文以及其中全部或者部分内容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關内容。
本網站有部分内容均轉載自其它媒體,轉載目的在于傳遞更多信息,并不代表本網贊同其觀點和對其真實性負責,若因作品内容、知識産權、版權和其他問題,請及時提供相關證明等材料并與我們聯系,本網站将在規定時間内給予删除等相關處理.

