TWI812307B - 作業系統佈署裝置及作業系統佈署方法 - Google Patents
作業系統佈署裝置及作業系統佈署方法 Download PDFInfo
- Publication number
- TWI812307B TWI812307B TW111124003A TW111124003A TWI812307B TW I812307 B TWI812307 B TW I812307B TW 111124003 A TW111124003 A TW 111124003A TW 111124003 A TW111124003 A TW 111124003A TW I812307 B TWI812307 B TW I812307B
- Authority
- TW
- Taiwan
- Prior art keywords
- operating system
- window
- name
- desktop
- inference model
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000009826 distribution Methods 0.000 claims description 38
- 230000006399 behavior Effects 0.000 claims description 28
- 238000012549 training Methods 0.000 claims description 28
- 238000012806 monitoring device Methods 0.000 claims description 21
- 238000003860 storage Methods 0.000 claims description 15
- 238000013528 artificial neural network Methods 0.000 claims description 13
- 238000011161 development Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 10
- 238000012217 deletion Methods 0.000 claims description 7
- 230000037430 deletion Effects 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000004519 manufacturing process Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 2
- 241000723347 Cinnamomum Species 0.000 description 2
- 235000017803 cinnamon Nutrition 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45545—Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Supply And Distribution Of Alternating Current (AREA)
- Stored Programmes (AREA)
- Air Bags (AREA)
- Hardware Redundancy (AREA)
Abstract
一種作業系統佈署方法,適用於一混合式作業系統(hybrid operation system)。作業系統佈署方法包含:藉由一資料收集器以接收複數個系統資訊;以及藉由一推理模型由該資料收集器取得該些系統資訊後,該推理模型輸出一推理結果;其中,該推理結果包含一桌面環境名稱。
Description
本發明是關於一種作業系統佈署裝置,特別是關於一種適用於一混合式作業系統(hybrid operation system)的作業系統佈署裝置及作業系統佈署方法。
混合式作業系統(hybrid operation system,Hybrid OS)建構於虛擬環境上,例如是基於微軟作業系統11(Windows 11)的WSL2(Windows Subsystem for Linux 2)、Chrome OS的CrosVM...等等。
傳統的虛擬機器(virtual machine,VM)體驗可能會很慢而無法開機、隔離的、耗用大量資源,而且需要使用者花時間管理。
以WSL 2為例,WSL 2使用最新最強大的虛擬化技術,在輕量型公用程式虛擬機器內部執行Linux核心。然而,使用者採用WSL 2時,在使用者模式下(user mode),需
要自行決定是否安裝發行版(distro),或是需要自行判斷需要安裝何種發行版。即使使用者能夠依據需求,選擇自已想要的Linux發行版,但是在相對應的桌面環境(desktop environment)上,可能無法因應自已的電子裝置之硬體規格,導致安裝發行版後,發生發行版佔用系統資源過多的情況。
由於裝置的硬體資源已被虛擬機器佔用一部份,因此,需要有一套機制,提供一種作業系統佈署裝置,符合消費族群(即使用者)並適合於當下硬體規格,自動化的佈署適合於當下硬體規格及消費族群的需求,已成為本領域待解決的問題之一。
為了解決上述的問題,本揭露內容之一態樣提供了一種作業系統佈署裝置。作業系統佈署裝置適用於一混合式作業系統(hybrid operation system)。作業系統佈署裝置包含一資料收集器以及一推理模型。資料收集器用以接收複數個系統資訊,該些系統資訊包含一硬體資訊、一視窗的一視窗名稱及該視窗於一主作業系統(host operation system)中的一啟動次數;其中,該視窗是透過一虛擬機器中的一預設作業系統以開啟,並觸發一視窗開啟事件,使該虛擬機器中的一虛擬圖像處理器將該視窗開啟事件傳送到一主作業系統核心(host operation system kernel)。推理模型位於該主作業系
統核心中,用以由該資料收集器取得該些系統資訊;其中,該些系統資訊輸入到該推理模型後,該推理模型輸出一推理結果;其中,該推理結果包含一桌面環境(desktop environment)的一桌面環境名稱。
於一實施例中,該桌面環境包含一桌面系統與一發行版(distro),且該桌面系統與該發行版所對應的一使用者程式介面(application programming interface,API)、一服務(service)、一常駐程式(daemon)、一函式庫(library)或一程序管理(process management)程式儲存於一儲存空間中。
於一實施例中,其中,該推理模型係已完成訓練的模型。
於一實施例中,其中,該推理模型在訓練階段時,需要收集複數個資料集,該些資料集作為一訓練資料集;其中,該些資料集在一開發階段(develop stage)收集的部分包含:該視窗的該視窗名稱、該視窗名稱的一視窗類別、一發行版的一發行版名稱、該發行版的一發行版類別、一桌面名稱;其中,該些資料集在一出廠階段(manufacture stage)收集的部分包含:一處理器類型及一記憶體大小;其中,該些資料集在一使用者情境階段(user scenario stage)收集的部分包含:該視窗的該視窗名稱、該視窗的該啟動次數。
於一實施例中,該推理模型在訓練階段時,將該些資料集輸入一類神經網路,以訓練出該推理模型。
於一實施例中,該些資料集在該開發階段收集的部分、在該出廠階段收集的部分及在該使用者情境階段收集的部分,會透過一傳輸介面依序透過回傳到一伺服器。
於一實施例中,該桌面環境運行於該虛擬機器上。
於一實施例中,該桌面環境包含一桌面系統與一發行版;其中,該預設作業系統接收來自該主作業系統的該桌面系統的一桌面系統名稱與該發行版的一發行版名稱,並從一伺服器下載對應該桌面系統名稱的該桌面系統與對應該發行版名稱的該發行版。
於一實施例中,當該推理模型透過一狀態控制器判斷發生一當前預設作業系統刪除事件及一佈署新作業系統事件時,則一監測裝置收集運行一新作業系統時的一處理器類型、一記憶體大小,及一新桌面環境名稱,將此三者視為一環境組合,並增加該環境組合的一環境權重,該監測裝置收集運行該新作業系統時的一新視窗名稱、一新視窗開啟次數及一新視窗類別,將此三者視為一使用者行為組合,並增加該使用者行為組合的一使用者行為權重,透過該環境權重及該使用者行為權重以重新調整該推理模型,並產生一新推理模型。
於一實施例中,該新推理模型的輸出的一新桌面環境名稱傳送到該狀態控制器中。
本揭露內容之另一態樣提供了一種作業系統佈署方法,適用於一混合式作業系統(hybrid operation system)。作業系統佈署方法包含:藉由一資料收集器以接收複數個系統資訊,該些系統資訊包含一硬體資訊、一視窗的一視窗名稱及該視窗於一主作業系統(host operation system)中的一啟動次數;其中,該視窗是透過一虛擬機器中的一預設作業系統以開啟,並觸發一視窗開啟事件,使該虛擬機器中的一虛擬圖像處理器將該視窗開啟事件傳送到一主作業系統核心(host operation system kernel);以及藉由位於該主作業系統核心中的一推理模型由該資料收集器取得該些系統資訊;其中,該些系統資訊輸入到該推理模型後,該推理模型輸出一推理結果;其中,該推理結果包含一桌面環境(desktop environment)的一桌面環境名稱。
於一實施例中,該桌面環境包含一桌面系統與一發行版(distro),且該桌面系統與該發行版所對應的一使用者程式介面(application programming interface,API)、一服務(service)、一常駐程式(daemon)、一函式庫(library)或一程序管理(process management)程式儲存於一儲存空間中。
於一實施例中,該推理模型係已完成訓練的模型。
於一實施例中,該推理模型在訓練階段時,需要收集複數個資料集,該些資料集作為一訓練資料集;該些資料集在一開發階段(develop stage)收集的部分包含:該視窗的該視窗名稱、該視窗名稱的一視窗類別、一發行版的一發行版名稱、該發行版的一發行版類別、一桌面名稱;其中,該些資料集在一出廠階段(manufacture stage)收集的部分包含:一處理器類型及一記憶體大小;其中,該些資料集在一使用者情境階段(user scenario stage)收集的部分包含:該視窗的該視窗名稱、該視窗的該啟動次數。
於一實施例中,該推理模型在訓練階段時,將該些資料集輸入一類神經網路,以訓練出該推理模型。於一實施例中。
於一實施例中,該些資料集在該開發階段收集的部分、在該出廠階段收集的部分及在該使用者情境階段收集的部分,會透過一傳輸介面依序透過回傳到一伺服器。
於一實施例中,該桌面環境運行於該虛擬機器上。
於一實施例中,該桌面環境包含一桌面系統與一發行版;其中,該預設作業系統接收來自該主作業系統的該桌面系統的一桌面系統名稱與該發行版的一發行版名稱,並從
一伺服器下載對應該桌面系統名稱的該桌面系統與對應該發行版名稱的該發行版。
於一實施例中,當該推理模型透過一狀態控制器判斷發生一當前預設作業系統刪除事件及一佈署新作業系統事件時,則一監測裝置收集運行一新作業系統時的一處理器類型、一記憶體大小,及一新桌面環境名稱,將此三者視為一環境組合,並增加該環境組合的一環境權重,該監測裝置收集運行該新作業系統時的一新視窗名稱、一新視窗開啟次數及一新視窗類別,將此三者視為一使用者行為組合,並增加該使用者行為組合的一使用者行為權重,透過該環境權重及該使用者行為權重以重新調整該推理模型,並產生一新推理模型。
於一實施例中,該新推理模型的輸出的一新桌面環境名稱傳送到該狀態控制器中。
本發明所示之作業系統佈署裝置及作業系統佈署方法,可以透過推理模型依據輸入資料,同時考量硬體的支援性及使用者類型,使推理模型輸出的桌面環境名稱所對應的桌面環境,能夠讓帶給使用者適合且順暢的使用經驗,並且達到讓推理模型自適性優化輸出結果的效果。
100:作業系統佈署裝置
10:環境軟體介面
20:桌面環境
21:桌面系統
22:發行版
30:儲存空間
31:使用者程式介面
32:服務
33:常駐程式
34:函式庫
35:程序管理程式
40:顯示器伺服器與視窗管理層
50:應用程式介面與函式庫層
60:虛擬圖像處理器
VVM:虛擬機器
HOS:主作業系統核心
DAC:資料收集器
MD:推理模型
70:圖像處理器驅動器
71:KVM驅動器
72:直接記憶體存取
DMAR:直接記憶體存取重定向
80:處理器
81:圖像處理器
HWL:硬體層
200,500:作業系統佈署方法
210~220,510~530,540~550,610~640:步驟
300:收集多個資料集的方法
310:開發階段
320:出廠階段
330:使用者情境階段
400:訓練推理模型的方法
DA1:伺服器產生使用者行為資料
DA2:發行版名稱與適用使用者
DA3:硬體資料與桌面環境名稱
600:優化推理模型的方法
STC:狀態控制器
OVA:監測裝置
MD’:新推理模型
第1圖係依照本發明一實施例繪示之作業系統佈署裝置之方塊圖。
第2圖係依照本發明一實施例繪示之作業系統佈署方法之流程圖。
第3圖係依照本發明一實施例繪示之收集多個資料集的方法之示意圖。
第4圖係依照本發明一實施例繪示之訓練推理模型的方法之示意圖。
第5圖係依照本發明一實施例繪示之作業系統佈署方法之示意圖。
第6圖係依照本發明一實施例之優化推理模型的方法之示意圖。
以下說明係為完成發明的較佳實現方式,其目的在於描述本發明的基本精神,但並不用以限定本發明。實際的發明內容必須參考之後的權利要求範圍。
必須了解的是,使用於本說明書中的”包含”、”包括”等詞,係用以表示存在特定的技術特徵、數值、方法步驟、作業處理、元件以及/或組件,但並不排除可加上更多的技術特徵、數值、方法步驟、作業處理、元件、組件,或以上的任意組合。
於權利要求中使用如”第一”、"第二"、"第三"等詞係用來修飾權利要求中的元件,並非用來表示之間具有優先權順序,先行關係,或者是一個元件先於另一個元件,或者是執行方法步驟時的時間先後順序,僅用來區別具有相同名字的元件。
請參照第1~2圖,第1圖係依照本發明一實施例繪示之作業系統佈署裝置100之方塊圖。作業系統佈署裝置100適用於一混合式作業系統(hybrid operation system)。第2圖係依照本發明一實施例繪示之作業系統佈署方法200之流程圖。
於一實施例中,作業系統佈署裝置100可以是筆記型電腦、桌機、平板、手機或其它電子裝置。
於一實施例中,如第1圖所示作業系統佈署裝置100包含一資料收集器DAC以及一推理模型MD。於一實施例中,資料收集器DAC及推理模型MD位於一主作業系統核心(host operation system kernel,Host OS Kernel)中HOS。
於一實施例中,作業系統佈署方法200可以由第1圖的作業系統佈署裝置100實現。
於步驟210中,藉由一資料收集器DAC以接收複數個系統資訊,此些系統資訊包含一硬體資訊、一視窗的一視窗名稱及此視窗於一主作業系統(host operation system)中的一啟動次數;其中,此視窗是透過一虛擬機器VVM中的一預設作業系統以開啟,並觸發一視窗開啟事件,使此虛擬機器VVM中的一虛擬圖像處理器60將此視窗開啟事件傳送到一主作業系統核心(host operation system kernel)HOS。
於一實施例中,預設作業系統例如為Windows、UNIX、Mac OS、Linux...等等。於一實施例中,主作業系統例如為Windows、UNIX、Mac OS、Linux...等等。為方便說明,以下將預設作業系統以Linux(由虛擬機器VVM運行)
為例,將主作業系統以Windows(由主作業系統核心HOS運行)進行說明。然,本領域具通常知識者,應能理解,虛擬機器VVM與主作業系統核心HOS各自運行的作業系統可以依使用者需求設置。
於步驟220中,藉由位於主作業系統核心HOS中的一推理模型MD由資料收集器DAC取得此些系統資訊;其中,此些系統資訊輸入到推理模型MD後,推理模型MD輸出一推理結果;其中,推理結果包含一桌面環境(desktop environment)20的一桌面環境名稱。
於一實施例中,桌面環境20運行於虛擬機器VVM上。
於一實施例中,桌面環境20包含一桌面系統21與一發行版(distro)22,且此桌面系統21與發行版22所對應的一使用者程式介面(application programming interface,API)31、一服務(service)32、一常駐程式(daemon)33、一函式庫(library)34及/或一程序管理(process management)程式35儲存於一儲存空間30中。
於一實施例中,儲存空間30可以在創造虛擬機器VVM時,一併被創建出來。於一實施例中,儲存空間有兩種類型:本地及遠端儲存空間,視虛擬機器VVM執行的位置而定。若虛擬機器VVM與其儲存空間30位於同一台主機上,則稱為本地儲存空間,若使用遠端儲存空間,儲存空間30的效能可能會受叢集網路介面的速度影響。
於一實施例中,當推理模型MD亦可以直接輸出桌面系統21的桌面系統名稱及與發行版22的發行版名稱。
於一實施例中,推理模型MD參考主機的硬體設備配置適合的桌面系統21,推理模型MD參考使用者的使用行為配置適合的發行版22,同時此桌面系統21必須足以順暢地運行發行版22。
於一實施例中,在Linux的桌面環境中,桌面系統21的桌面系統名稱例如為:GNOME、KDE、MATE、Cinnamon、XFCE、LXDE、LXQt、Deepin、Chrome等。於一實施例中,不同的桌面系統21的優缺點主要與佔用系統資源多寡有關。舉例而言,桌面系統21為GNOME時,所需的資源較多,但也提供較多的功能,優化的介面,桌面系統21為XFCE、LXDE、LXQt時,所需的資源較少,可以運用在較低階的硬體設備上。
於一實施例中,桌面系統21中的GNOME、KDE、MATE、Cinnamon、XFCE、LXDE、LXQt可以支援上述發行版22,桌面系統21中的Deepin分成商用與家用版,主要是在中國地區使用,桌面系統21中的Chrome主要是Google的作業系統專用。
於一實施例中,桌面系統21的更新速度快,因此,資料收集器DAC需要經常更新各種桌面系統21的版本資訊,並關注是否有全新的桌面系統21被開發出來。
於一實施例中,發行版22的發行版名稱例如為:Fedora desktop suite、Ubuntu Studio、AVLinux、Apodio、
io GNU/Linux...等等。舉例而言,使用者經常從事程式開發,則Ubuntu Studio會比較適合此使用者。
於一實施例中,發行版22的更新速度快,因此,資料收集器DAC需要經常更新各種發行版22的版本資訊,並關注是否有全新的發行版22被開發出來。
於一實施例中,假設使用者自行選擇了桌面系統21為LXDE,搭配發行版22為Ubuntu Studio,若主機的硬體效能較低時,很可能造成運行不順的情況,導致使用者必須選擇其他發行版22嘗試運行情況。
由於混合式作業系統(hybrid operation system)是建構於虛擬環境上,虛擬環境如Windows WSL2、Chrome OS的CrosVM。硬體資源已被虛擬機器VVM佔用一部份,因此需要有一套機制,符合消費族群(即使用者)並適合於當下硬體規格。
於一實施例中,透過推理模型MD可以得到合適的桌面系統21及發行版22之配置,以達到讓作業系統佈署裝置100運行順利且適合使用者的使用情境之效果。於一實施例中,推理模型MD是已完成訓練的模型。
於一實施例中,當推理模型MD輸出桌面系統21與發行版22後,桌面系統21與發行版22所對應的使用者程式介面31、服務32、常駐程式33、函式庫34及/或程序管理程式35也會被取得,並儲存於儲存空間30中。
於一實施例中,資料收集器DAC可以到儲存裝置存取或透過網路以取得推理模型MD輸出的桌面系統21與發
行版22所對應的使用者程式介面31、服務32、常駐程式33、函式庫34及/或程序管理程式35...等資訊。
於一實施例中,虛擬機器VVM中還包含:環境軟體介面(inbox application)10,用以呈現桌面環境20對應的桌面介面;顯示器伺服器與視窗管理(display server and windows manager)層40,是用以控管視窗外觀和放置方式的視窗系統的軟體;應用程式介面與函式庫層50,用以存放例如libcuda、D3D12...等應用程式介面與函式庫;虛擬圖像處理器60,透過虛擬圖像處理器60可以即時移轉與管理和監控工具,並將指令(commands)或程序呼叫(procedure call)傳送到主作業系統核心HOS。
於一實施例中,從主作業系統核心HOS往下皆是實體主機的元件。
於一實施例中,主作業系統核心HOS中包含:資料收集器DAC、推理模型MD、圖像處理器驅動器70、鍵盤、顯示器和滑鼠驅動器(KVM驅動器)71及/或直接記憶體存取(Direct Memory Access,DMA)72。
於一實施例中,直接記憶體存取重定向(DMA remapping)DMAR,是Intel為支援虛擬機器而設計的輸入/輸出(I/O)虛擬化技術,I/O設備訪問的DMA位址不再是實體記憶體位址,而要通過直接記憶體存取重定向DMAR硬體進行轉譯,直接記憶體存取重定向DMAR會把DMA位址翻譯成實體記憶體地址,並檢查存取權限等等。
於一實施例中,硬體層HWL中包含處理器80及/或圖像處理器81。於一實施例中,虛擬圖像處理器60可以將指令或程序呼叫傳送到主作業系統核心HOS,主作業系統核心HOS可選擇性地透過直接記憶體存取重定向DMAR將指令或程序呼叫傳送到圖像處理器81,透過圖像處理器81處理虛擬圖像處理器60所需的指令或程序呼叫。
於一實施例中,處理器80亦可以由微控制單元(microcontroller)、微處理器(microprocessor)、數位訊號處理器(digital signal processor)、特殊應用積體電路(application specific integrated circuit,ASIC)或一邏輯電路實現之,但並不限於此。
請參閱第3圖,第3圖係依照本發明一實施例繪示之收集多個資料集的方法300之示意圖。推理模型MD在訓練階段時,需要收集多個資料集,將此些資料集作為一訓練資料集。於一實施例中,資料收集器DAC用以收集此些資料集。
這些資料集在一開發階段(develop stage)310收集的部分包含:視窗的視窗名稱、視窗名稱的一視窗類別、一發行版的一發行版名稱、該發行版的一發行版類別、一桌面名稱。
於一實施例中,此處說的視窗是指在開發階段310時,開發者預設使用者可能會常打開的視窗。
這些資料集在一出廠階段(manufacture stage)320收集的部分包含:一處理器類型及一記憶體大小。
於一實施例中,硬體層HWL中包含處理器80、記憶體、圖像處理器81...等硬體,在出廠階段320時,資料收集器DAC將此些硬體的相關資訊收集起來。
此些資料集在一使用者情境階段(user scenario stage)330收集的部分包含:視窗的視窗名稱、視窗的啟動次數。
於一實施例中,此處說的視窗是指在使用者情境階段330時,資料收集器DAC將使用者常打開的視窗及其視窗相關資料收集起來。
於一實施例中,推理模型MD在訓練階段時,將此些資料集輸入一類神經網路,以訓練出推理模型MD。
請一併參閱第3圖及第4圖,第4圖係依照本發明一實施例繪示之訓練推理模型MD的方法400之示意圖。推理模型MD在訓練階段時,將多個資料集整理後輸入一類神經網路,以訓練出推理模型MD。
於一實施例中,類神經網路例如為卷積神經網路(Convolutional Neural Network,CNN),然本案不限於此,只要是能分類資料類神經網路都可以。
於一實施例中,此些資料集在開發階段310收集的部分、在出廠階段320收集的部分及在使用者情境階段330收集的部分,會透過一傳輸介面依序透過回傳到一伺服器。此伺服器可以整理並即時更新此些資料集。例如,此伺服器產生使用者行為資料DA1、發行版名稱與適用使用者DA2(適用使用者可以是指,適用此發行版名稱對應之發行版的使用者類型)及
/或硬體資料與桌面環境名稱DA3,並將此些使用者行為資料DA1、發行版名稱與適用使用者DA2及/或硬體資料與桌面環境名稱DA3回傳到作業系統佈署裝置100,並輸入到推理模型MD,用以訓練推理模型MD。
於一實施例中,使用者行為資料DA1包含視窗名稱、視窗開啟次數及/或使用者類型名稱;發行版名稱與適用使用者DA2包含發行版本名稱及/或適用使用者類型名稱;硬體資料與桌面環境名稱DA3包含處理器型號、記憶體容量、桌面環境名稱、處理器使用率及/或記憶體使用率。
於第4圖中,當完成此類神經網路的訓練,此完成訓練的類神經網路即為推理模型MD。
完成此類神經網路的訓練的停止條件可以是完成了一預設的期(epoch),或是此類神經網路的學習曲線趨緩,學習曲線的斜率更動小於一預設值時。然而,本案關於此類神經網路的訓練的停止條件不限於此,可以依實際應用時進行調整。
請參閱第5圖,第5圖係依照本發明一實施例繪示之作業系統佈署方法500之示意圖。第5圖中的推理模型MD是已完成訓練的模型。
於步驟510中,作業系統佈署裝置100開始安裝混合式作業系統的流程。
於步驟520中,作業系統佈署裝置100的資料收集器DAC接收處理器型號及記憶體容量,並將處理器型號及記
憶體容量傳送到推理模型MD。透過收集硬體設備的資訊,有助於得知作業系統佈署裝置100能夠支援的桌面系統21。
於步驟530中,作業系統佈署裝置100的資料收集器DAC接收視窗名稱與視窗開啟次數,並將視窗名稱與視窗開啟次數傳送到推理模型MD。
於一實施例中,視窗開啟次數是指此開啟的視窗在主作業系統被開啟的次數。
於一實施例中,可以由開啟的視窗得知使用者類型,例如,繪圖師可能較常開啟繪圖軟體(例如photoshop),開發者可能較常開啟影片製作軟體(video studio),電競玩家可能較常開啟電競遊戲。由開啟的視窗取得視窗名稱,可以得知此使用者較適合何種發行版22。
於步驟540中,推理模型MD輸出桌面環境20的桌面環境名稱。
於一實施例中,桌面環境20包含桌面系統21與發行版22,其中,由於推理模型MD位於主作業系統核心HOS中,預設作業系統(例如為在虛擬機器VVM上運行的Linux,此處又稱混合式作業系統,Hybrid OS)接收來自主作業系統(例如為Windows)的桌面系統21的桌面系統名稱與發行版22的一發行版名稱。
由上述步驟可知,推理模型MD依據輸入資料,已考量了硬體的支援性及使用者類型,因此推理模型MD輸出的桌面環境名稱所對應的桌面環境20,能夠讓帶給使用者適合且順暢的使用經驗。
於步驟540中,預設作業系統從一伺服器下載對應桌面系統名稱的桌面系統21與對應發行版名稱的發行版22。
於一實施例中,預設作業系統是透過硬體層HWL中的一傳輸介面(例如無線網路裝置)從一伺服器下載對應桌面系統名稱的桌面系統21與對應發行版名稱的發行版22。
於步驟550中,預設作業系統初始化桌面環境20。
於一實施例中,預設作業系統佈署已下載的桌面系統21及發行版22。
請併參閱第6圖,第6圖係依照本發明一實施例之優化推理模型MD的方法600之示意圖。作業系統佈署裝置100中,更包一狀態控制器STC與一監測裝置OVA。
於一實施例中,狀態控制器STC與監測裝置OVA可以由軟體、韌體、硬體(如晶片、電路)以實現之。
於一實施例中,狀態控制器STC與監測裝置OVA位於硬體層HWL。
於一實施例中,狀態控制器STC與監測裝置OVA可以與直接記憶體存取重定向DMAR連結。
於一實施例中,狀態控制器STC與監測裝置OVA可以與主作業系統核心HOS連結。
第6圖中的虛線迴圈,代表作業系統佈署裝置100正常運作。在步驟610中,狀態控制器STC判斷是否發生一當前預設作業系統刪除事件及一佈署新作業系統事件。若否,
則狀態控制器STC傳送一正常訊息給監測裝置OVA,監測裝置OVA回傳一保持現有推理模型訊息給狀態控制器STC。
第6圖中的實線部分的流程,代表狀態控制器STC判斷發生當前預設作業系統刪除事件及佈署新作業系統事件,此種狀況可能發生在:使用者認為已經佈署好的桌面系統21及發行版22不適合,或是使用者的行為改變了,例如之前主要使用繪圖軟體,當前改為主要使用開發軟體,因此使用者自行將當前預設作業系統刪除及/或佈署新作業系統。
在步驟610中,狀態控制器STC判斷是否發生當前預設作業系統刪除事件及佈署新作業系統事件。若是,則狀態控制器STC發送一資料更新訊息到監測裝置OVA,監測裝置OVA於步驟630中,收集運行一新作業系統時的一處理器類型、一記憶體大小,及一新桌面環境名稱,監測裝置OVA於步驟640中,將此三者視為一環境組合,並增加此環境組合的一環境權重,另一方面,監測裝置OVA於步驟620中,收集運行新作業系統時的一新視窗名稱、一新視窗開啟次數及一新視窗類別,監測裝置OVA於步驟625中,將此三者視為一使用者行為組合,並增加使用者行為組合的一使用者行為權重,透過環境權重及使用者行為權重,以重新調整推理模型MD,並產生一新推理模型MD’。
於一實施例中,新推理模型MD’的輸出的一新桌面環境名稱傳送到狀態控制器STC中。
藉此,透過增加此環境組合的一環境權重及使用者行為組合的一使用者行為權重,可增加新的推理模型MD’
輸出此新桌面環境名稱的機率,以MD自適性優化輸出結果的效果。
本發明所示之作業系統佈署裝置及作業系統佈署方法,可以透過推理模型依據輸入資料,同時考量硬體的支援性及使用者類型,使推理模型輸出的桌面環境名稱所對應的桌面環境,能夠讓帶給使用者適合且順暢的使用經驗,並且達到讓推理模型自適性優化輸出結果的效果。
雖然本發明已以實施方式揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
200:作業系統佈署方法
210~220:步驟
Claims (18)
- 一種作業系統佈署裝置,適用於一混合式作業系統(hybrid operation system),該作業系統佈署裝置包含:一資料收集器,用以接收複數個系統資訊,該些系統資訊包含一硬體資訊、一視窗的一視窗名稱及該視窗於一主作業系統(host operation system)中的一啟動次數;其中,該視窗是透過一虛擬機器中的一預設作業系統以開啟,並觸發一視窗開啟事件,使該虛擬機器中的一虛擬圖像處理器將該視窗開啟事件傳送到一主作業系統核心(host operation system kernel);以及一推理模型,位於該主作業系統核心中,用以由該資料收集器取得該些系統資訊;其中,該些系統資訊輸入到該推理模型後,該推理模型輸出一推理結果;其中,該推理結果包含一桌面環境(desktop environment)的一桌面環境名稱;該推理模型在訓練階段時,需要收集複數個資料集,該些資料集作為一訓練資料集;其中,該些資料集在一開發階段(develop stage)收集的部分包含:該視窗的該視窗名稱、該視窗名稱的一視窗類別、一發行版的一發行版名稱、該發行版的一發行版類別、一桌面名稱;其中,該些資料集在一出廠階段(manufacture stage)收集的部分包含:一處理器類型及一記憶體大小; 其中,該些資料集在一使用者情境階段(user scenario stage)收集的部分包含:該視窗的該視窗名稱、該視窗的該啟動次數。
- 如請求項1之作業系統佈署裝置,其中,該桌面環境包含一桌面系統與一發行版(distro),且該桌面系統與該發行版所對應的一使用者程式介面(application programming interface,API)、一服務(service)、一常駐程式(daemon)、一函式庫(library)或一程序管理(process management)程式儲存於一儲存空間中。
- 如請求項1之作業系統佈署裝置,其中,該推理模型係已完成訓練的模型。
- 如請求項1之作業系統佈署裝置,其中,該推理模型在訓練階段時,將該些資料集輸入一類神經網路,以訓練出該推理模型。
- 如請求項1之作業系統佈署裝置,其中,該些資料集在該開發階段收集的部分、在該出廠階段收集的部分及在該使用者情境階段收集的部分,會透過一傳輸介面依序透過回傳到一伺服器。
- 如請求項1之作業系統佈署裝置,其中,該桌面環境運行於該虛擬機器上。
- 如請求項1之作業系統佈署裝置,其中,該桌面環境包含一桌面系統與一發行版; 其中,該預設作業系統接收來自該主作業系統的該桌面系統的一桌面系統名稱與該發行版的一發行版名稱,並從一伺服器下載對應該桌面系統名稱的該桌面系統與對應該發行版名稱的該發行版。
- 如請求項7之作業系統佈署裝置,其中,當該推理模型透過一狀態控制器判斷發生一當前預設作業系統刪除事件及一佈署新作業系統事件時,則一監測裝置收集運行一新作業系統時的一處理器類型、一記憶體大小,及一新桌面環境名稱,將此三者視為一環境組合,並增加該環境組合的一環境權重,該監測裝置收集運行該新作業系統時的一新視窗名稱、一新視窗開啟次數及一新視窗類別,將此三者視為一使用者行為組合,並增加該使用者行為組合的一使用者行為權重,透過該環境權重及該使用者行為權重以重新調整該推理模型,並產生一新推理模型。
- 如請求項8之作業系統佈署裝置,其中,該新推理模型的輸出的一新桌面環境名稱傳送到該狀態控制器中。
- 一種作業系統佈署方法,適用於一混合式作業系統(hybrid operation system),該作業系統佈署方法包含:藉由一資料收集器以接收複數個系統資訊,該些系統資訊包含一硬體資訊、一視窗的一視窗名稱及該視窗於一主作業系統(host operation system)中的一啟動次數;其中,該視窗是透過一虛擬機器中的一預設作業系統以開啟,並觸發一視窗開啟事件,使該虛擬機器中的一虛擬圖像處理器將該 視窗開啟事件傳送到一主作業系統核心(host operation system kernel);以及藉由位於該主作業系統核心中的一推理模型由該資料收集器取得該些系統資訊;其中,該些系統資訊輸入到該推理模型後,該推理模型輸出一推理結果;其中,該推理結果包含一桌面環境(desktop environment)的一桌面環境名稱;該推理模型在訓練階段時,需要收集複數個資料集,該些資料集作為一訓練資料集;其中,該些資料集在一開發階段(develop stage)收集的部分包含:該視窗的該視窗名稱、該視窗名稱的一視窗類別、一發行版的一發行版名稱、該發行版的一發行版類別、一桌面名稱;其中,該些資料集在一出廠階段(manufacture stage)收集的部分包含:一處理器類型及一記憶體大小;其中,該些資料集在一使用者情境階段(user scenario stage)收集的部分包含:該視窗的該視窗名稱、該視窗的該啟動次數。
- 如請求項10之作業系統佈署方法,其中,該桌面環境包含一桌面系統與一發行版(distro),且該桌面系統與該發行版所對應的一使用者程式介面(application programming interface,API)、一服務(service)、一常駐程式(daemon)、一函式庫(library)或一程序管理(process management)程式儲存於一儲存空間中。
- 如請求項11之作業系統佈署方法,其中,該推理模型係已完成訓練的模型。
- 如請求項10之作業系統佈署方法,其中,該推理模型在訓練階段時,將該些資料集輸入一類神經網路,以訓練出該推理模型。
- 如請求項10之作業系統佈署方法,其中,該些資料集在該開發階段收集的部分、在該出廠階段收集的部分及在該使用者情境階段收集的部分,會透過一傳輸介面依序透過回傳到一伺服器。
- 如請求項10之作業系統佈署方法,其中,該桌面環境運行於該虛擬機器上。
- 如請求項10之作業系統佈署方法,其中,該桌面環境包含一桌面系統與一發行版;其中,該預設作業系統接收來自該主作業系統的該桌面系統的一桌面系統名稱與該發行版的一發行版名稱,並從一伺服器下載對應該桌面系統名稱的該桌面系統與對應該發行版名稱的該發行版。
- 如請求項16之作業系統佈署方法,其中,當該推理模型透過一狀態控制器判斷發生一當前預設作業系統刪除事件及一佈署新作業系統事件時,則一監測裝置收集運行一新作業系統時的一處理器類型、一記憶體大小,及一新桌面環境名稱,將此三者視為一環境組合,並增加該環境組合的一環境權重,該監測裝置 收集運行該新作業系統時的一新視窗名稱、一新視窗開啟次數及一新視窗類別,將此三者視為一使用者行為組合,並增加該使用者行為組合的一使用者行為權重,透過該環境權重及該使用者行為權重以重新調整該推理模型,並產生一新推理模型。
- 如請求項17之作業系統佈署方法,其中,該新推理模型的輸出的一新桌面環境名稱傳送到該狀態控制器中。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111124003A TWI812307B (zh) | 2022-06-28 | 2022-06-28 | 作業系統佈署裝置及作業系統佈署方法 |
US18/057,905 US20230418653A1 (en) | 2022-06-28 | 2022-11-22 | Operating system deployment device and operating system deployment method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111124003A TWI812307B (zh) | 2022-06-28 | 2022-06-28 | 作業系統佈署裝置及作業系統佈署方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI812307B true TWI812307B (zh) | 2023-08-11 |
TW202401248A TW202401248A (zh) | 2024-01-01 |
Family
ID=88585817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111124003A TWI812307B (zh) | 2022-06-28 | 2022-06-28 | 作業系統佈署裝置及作業系統佈署方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230418653A1 (zh) |
TW (1) | TWI812307B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201337761A (zh) * | 2011-12-07 | 2013-09-16 | Ibm | 用於創建虛擬裝置之方法及系統 |
TW201600970A (zh) * | 2014-06-17 | 2016-01-01 | 丹C 康 | 整合化系統羣及虛擬化和雲端運算系統的方法 |
TW201729123A (zh) * | 2016-02-05 | 2017-08-16 | 廣達電腦股份有限公司 | 遠程地啟動部署程式的方法與伺服器 |
CN112416369A (zh) * | 2020-11-29 | 2021-02-26 | 中国科学院电子学研究所苏州研究院 | 一种面向异构混合环境的智能化部署方法 |
CN114553874A (zh) * | 2022-02-28 | 2022-05-27 | 北京理工大学 | 一种混合仿真云平台及自动化部署方法 |
-
2022
- 2022-06-28 TW TW111124003A patent/TWI812307B/zh active
- 2022-11-22 US US18/057,905 patent/US20230418653A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201337761A (zh) * | 2011-12-07 | 2013-09-16 | Ibm | 用於創建虛擬裝置之方法及系統 |
TW201600970A (zh) * | 2014-06-17 | 2016-01-01 | 丹C 康 | 整合化系統羣及虛擬化和雲端運算系統的方法 |
TW201729123A (zh) * | 2016-02-05 | 2017-08-16 | 廣達電腦股份有限公司 | 遠程地啟動部署程式的方法與伺服器 |
CN112416369A (zh) * | 2020-11-29 | 2021-02-26 | 中国科学院电子学研究所苏州研究院 | 一种面向异构混合环境的智能化部署方法 |
CN114553874A (zh) * | 2022-02-28 | 2022-05-27 | 北京理工大学 | 一种混合仿真云平台及自动化部署方法 |
Also Published As
Publication number | Publication date |
---|---|
TW202401248A (zh) | 2024-01-01 |
US20230418653A1 (en) | 2023-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10467025B2 (en) | Managing delivery of code and dependent data using application containers | |
US9535684B2 (en) | Management of software updates in a virtualized environment of a datacenter using dependency relationships | |
KR100952251B1 (ko) | 서비스 패키지에 의해 소프트웨어 제품을 업데이트하는 방법, 컴퓨터로 구현되는 방법, 컴퓨터 판독가능 저장 매체, 및 서비스 패키지 | |
US11853820B2 (en) | Cross-process communication method, apparatus, and device | |
US6799316B1 (en) | Virtualizing hardware with system management interrupts | |
CN110365762B (zh) | 服务处理方法、装置、设备及存储介质 | |
US9710249B2 (en) | Dynamic configuration of virtual appliances | |
US20040243997A1 (en) | Method, system, and program for installing program components on a computer | |
US9286046B2 (en) | Method and apparatus for distributed operating system image deployment | |
JP2016527578A (ja) | アプリケーションシナリオの識別方法、電力消費の管理方法、装置、および端末デバイス | |
US10684838B2 (en) | Dynamic application deployment | |
US11831410B2 (en) | Intelligent serverless function scaling | |
US10565045B2 (en) | Modularized collaborative performance issue diagnostic system | |
WO2020014926A1 (zh) | 一种补丁包生成方法及设备 | |
CN111752581A (zh) | 一种分布式系统的升级方法、装置和计算机系统 | |
US20150324188A1 (en) | Aggregation of Update Sets | |
US11610155B2 (en) | Data processing system and data processing method | |
WO2023093127A1 (zh) | 一种监控集群的方法、装置及电子设备 | |
US20130185492A1 (en) | Memory Watch | |
TWI812307B (zh) | 作業系統佈署裝置及作業系統佈署方法 | |
WO2020096845A1 (en) | Performing actions opportunistically in connection with reboot events in a cloud computing system | |
US6795914B2 (en) | System and method for selectively executing programs in response to a reboot in a computer system | |
CN117435206A (zh) | 作业系统布署装置及作业系统布署方法 | |
CN111190693B (zh) | 一种基于鲲鹏平台搭建云平台的方法及装置 | |
WO2021121188A1 (zh) | 配置文件的处理方法、装置、系统及存储介质 |