整合運用基於同一系統內核的異質作業系統的方法
2023-05-13 06:48:46
專利名稱:整合運用基於同一系統內核的異質作業系統的方法
技術領域:
本發明涉及一種整合運用異質作業系統的方法,尤其涉及一種通過虛擬主控臺的特性來整合基於同一系統內核的異質作業系統的方法。
背景技術:
Linux系統是一種開放原始碼的作業系統,其具有穩定、低軟體成本、多使用者、高安全性等優點,因此,常常被作為開發軟體的平臺。目前,已有許多基於Linux內核架構下所發展出來的作業系統,例如X視窗、QT、Android等作業系統。請參考圖1與圖2,圖1與圖2分別為已知一基於Linux內核的作業系統的一開機流程10的示意圖與運作環境示意圖。一般來說,基於Linux內核架構的作業系統,首先,在開機時的初會載入啟動Linux內核(步驟102),依需要載入初始化模塊(即initrd,initial RAMDISK),以進行後續的硬體檢測與配置(步驟104)。然後,掛載作業系統的根文件系統(步驟106)。最後,在開啟相對應於作業系統的一虛擬主控臺(virtualconsole)(步驟108)後,再執行後續其他所需的作業系統服務(步驟110),如此一來,使用者便可在所開啟的虛擬主控臺中操作使用作業系統。如圖2所示,每一虛擬主控臺會有相對應的根文件系統,而每一作業系統的程序代碼以及相關資源皆包含於相對應的根文件系統中。因此,每一作業系統的運作程序主要系先啟始最底層的Linux內核,並於完成硬體配置後,起始相對應的根文件系統與虛擬主控臺來進行相對應作業系統的運用。然而,每一作業系統皆有其不同的開發設計,例如不同的作業系統會開發出許多不同功能的應用軟體,甚至同一類型的作業系統,隨著發行版的演進,也會增添不同的應用軟體。一旦使用者有特別的使用需求,而無法在目前所使用的作業系統上可以得到解決時, 使用者也許可以通過另一作業系統上的特定應用軟體來處理。但是,如果使用者欲使用另一作業系統,則必須要再重新開機,執行圖1所示的流程,以載入另一個作業系統中,進而執行特定應用軟體。換句話說,使用者在單一硬體平臺上,同時只能使用單一作業系統的功能,如此一來,在使用便利性上可說是受到了相當大的限制。簡言之,如何能在同一時間可以跨多重作業系統來運用到各作業系統中的應用軟體或資源,是許多人期望能解決的問題。
發明內容
因此,本發明的主要目的即在於提供一種整合運用基於同一系統內核的異質作業系統的方法。本發明公開一種整合運用基於同一系統內核的異質作業系統的方法,該方法包含有開啟相對應於一主要作業系統的一主要虛擬主控臺;於該主要虛擬主控臺中,開啟相對應於一從屬作業系統的一從屬虛擬主控臺;以及建立該主要作業系統與該從屬作業系統所需的一共享信息區域,並切換至該從屬虛擬主控臺,以操作使用該從屬作業系統。
圖1為已知一基於Linux內核的作業系統的一開機流程的示意圖。圖2分別為已知一基於Linux內核的作業系統的一運作環境的示意圖。圖3為本發明實施例一流程的示意圖。圖4為本發明實施例一主要作業系統的起始流程的示意圖。圖5為本發明實施例一從屬作業系統的起始流程的示意圖。圖6為本發明實施例一虛擬主控臺的一切換流程的示意圖。圖7為本發明實施例的整合運用異質作業系統的一示意圖。主要元件符號說明10、30、40、50、60 流程100、102、104、106、108、110、112、300、302、304、306、308、310、312、314、400、402、404、406、500、502、504、506、508、510、600、602、604、606、608、610、612 步驟
具體實施例方式為提供使用者能於同一硬體平臺中,同時跨多個作業系統,來使用所需的作業系統資源,本發明提出一種整合運用基於同一系統內核的異質作業系統的方法。首先,請參考圖3,圖3為本發明實施例一流程30的示意圖。流程30用來提供使用者同時在一主要作業系統與一從屬作業系統間切換運用,以實現異質作業系統間的資源共用目的。要注意的是, 本發明實施例所述的主要作業系統與從屬作業系統皆基於同一作業系統內核所發展出來。 較佳地,主要作業系統與從屬作業系統皆基於同一 Linux內核系統內核,但不以此為限。流程30包含以下步驟步驟300:開始。步驟302 載入系統內核。步驟304 載入系統內核修正服務。步驟306 開啟相對應於主要作業系統的主要虛擬主控臺。步驟308 於主要虛擬主控臺中,開啟相對應於從屬作業系統的從屬虛擬主控臺。步驟310 建立主要作業系統與該從屬作業系統所需的共享信息區域,並切換至從屬虛擬主控臺,以操作使用從屬作業系統。步驟312 繼續主要作業系統及從屬作業系統的服務。步驟314:結束。 首先,在步驟302及304中,在載入系統內核後,再載入一內核修正服務,其中該內核修正服務可用來解決後續載入從屬作業系統時所可能造成的衝突,以及進行主要作業系統與從屬作業系統信息互通的服務。換句話說,可以通過內核修正服務來解決主要作業系統與從屬作業系統間的使用差異性。舉例來說,在主要作業系統中,系統的網絡是正常的, 但是若切換至從屬作業系統時,可能因為主從兩系統所需網絡權限不同的問題,而造成從屬作業系統的網絡功能失效。此時,可通過內核修正服務來解決作業系統間的衝突。另一方面,在步驟302中,還包含載入並初始化一存儲器磁碟。較佳地,載入並初始化該系統內核或該存儲器磁碟可由一啟動載入器(boot loader)來執行。接著,在步驟306中,可在計算機系統中開啟相對應於主要作業系統的主要虛擬主控臺,如此一來,使用者可以通過主要虛擬主控臺來使用主要作業系統進行相關的運作。 舉例來說,請參考圖4,圖4為本發明實施例一主要作業系統的起始流程40的示意圖。首先,掛載並開啟相對應於主要作業系統的一第一根文件系統(步驟402)。接著,初始化主要作業系統的作業環境(步驟404)。如此一來,根據起始流程40,在相對應於主要作業系統的主要虛擬主控臺被開啟之後,使用者便可經由主要虛擬主控臺來操作主要作業系統。接著,在步驟308中,本發明實施例利用虛擬主控臺的特性,來轉換控制權至相對應於一從屬作業系統的一從屬虛擬主控臺。也就是說,可以利用一改變根指令(「chroot」 指令)來切換並轉換控制權至該從屬虛擬主控臺。利用這種特性,吾等即可在同一硬體平臺且同一系統內核之上,切換至不同的根文件系統,在另一個文件系統中,執行另一種作業方式。請參考圖5,圖5為本發明實施例一從屬作業系統的起始流程50的示意圖。在起始流程50中,首先可在主要虛擬主控臺開啟另一虛擬主控臺,例如利用「operwt」指令,以開啟一從屬虛擬主控臺(步驟502),並以「chvt」指令切換至該虛擬主控臺。接著,掛載於從屬作業系統(步驟504),執行改變根指令,例如「chroot」指令,以改變根路徑至對應於從屬作業系統的一第二根文件系統(步驟506)。最後,初始化從屬作業系統的作業環境(步驟 508)。如此一來,從屬作業系統啟始後,便可供使用者使用。簡言之,在步驟308中,本發明利用虛擬主控臺的特性,在主要虛擬主控臺已被開啟的情況下,通過主要虛擬主控臺再去開啟從屬虛擬主控臺,再進而使用改變根指令以開啟從屬作業系統,也就是說,從屬作業系統系依附在主要作業系統的環境中。在此情況下, 在同一計算機系統的幕後,會同時存在主要作業系統與從屬作業系統可供使用者使用。因此,在主要作業系統與從屬作業系統同時存在的情況下,使用者理論上即可依據需求在主要作業系統與從屬作業系統中進行切換。舉例來說,使用者在使用主要作業系統之餘,如果有需要必須使用從屬作業系統中的一應用軟體時,不用使用已知的技術重新開機才能載入至從屬作業系統來執行相關的運作,使用者只要通過本發明的流程60,即可切換至從屬作業系統,來執行所需的應用軟體。以下針對流程60加以說明。在步驟310中,由於已存在主要作業系統與從屬作業系統可供使用者使用。當使用者於使用時,欲由目前正在使用的主要作業系統轉換至從屬作業系統,以進一步執行特定應用軟體,則使用者可通過一切換機制,例如一組合按鍵或是一手勢操作,來執行此一切換。之後,本發明所特有的背景系統服務,在收取此一需求後,即可連同遞送兩作業系統的共享信息,由主要虛擬主控臺切換至從屬虛擬主控臺,反之也可, 以操作使用另一作業系統。其中,該共享信息可包括主要作業系統與從屬作業系統的間欲互相分享的數據,同時亦包含某應用軟體或特定服務的可使用性,例如是否存在,或者是否可被執行或使用。因此,在步驟310中,根據共享信息可得知在所欲切換的目標虛擬主控臺中所需的應用軟體或是服務可否被執行或使用,進而做為是否進行虛擬主控臺切換的依據。舉例來說,利用一可使用性監測執行緒來監測步驟310中所需的共享信息。請參考圖6,圖6為本發明實施例一虛擬主控臺的一切換流程60的示意圖。首先,啟動一可使用性監測執行緒(步驟602)。如此一來,可使用性監測執行緒開始監測主要作業系統與從屬作業系統中可提供共享的資源,也就是說,通過可使用性監測執行緒來即時掃測與確認主要作業系統或從屬作業系統中是否存在可供執行的應用軟體或是可共享的數據(步驟604),並將所監測出的結果(或稱為資源信息)寫入一共享區域,以產生一共享信息(步驟606)。如此一來,前景作業系統便可通過讀取共享區域的共享信息並據以判斷是否目標虛擬主控臺(例如從屬虛擬主控臺)的作業系統存在所需的應用軟體或是數據可運用(步驟608)。如果目標虛擬主控臺的作業系統存在所需的應用軟體或數據可運用,則執行步驟610,以切換至目標虛擬主控臺;反之,則執行步驟612,以拒絕進行虛擬主控臺的切換程序,繼續停留於目前的虛擬主控臺進行操作。舉例來說,假設目前正在主要虛擬主控臺上操作主要作業系統,經由步驟608的判斷程序,如果是從屬作業系統具有所需且可使用的應用軟體時,則可執行步驟610,而由主要虛擬主控臺切換至從屬虛擬主控臺,以執行從屬作業系統中的特定應用軟體。反之,執行步驟612。值得注意的是,上述的例子僅為用來說明本發明的應用,並非本發明的限制條件, 本領域技術人員應可了解,在不違背本發明的精神下,圖3至圖6的流程中的步驟可再增加其他的中間步驟、可將數個步驟合併成單一步驟或是可省略部分步驟,以做適當的變化。當然,假若可得到大致相同的結果,則圖3至圖6中的任一流程並非限定要依據圖3至圖6中所示的順序來執行。除此之外,在本實施例中,以同時存在一個主要作業系統與一個從屬作業系統來做說明,但實際上並不以此為限,也可以通過開啟多個從屬虛擬主控臺,來同時使用多個從屬作業系統。關於流程30的運作方式,以下進一步以X視窗作為主要作業系統及以Android作業系統作為從屬作業系統來做說明。請參考圖7,圖7為本發明實施例的整合運用異質作業系統的一示意圖。其中X視窗與Android作業系統的系統內核皆為Linux系統內核,且此二系統共用了同一個Linux內核。首先,經由步驟302至304來開啟共同系統內核與載入系統內核修正服務後,開啟相對應於一 X視窗的主要虛擬主控臺。接著,經由步驟308在主要虛擬主控臺已被開啟的情況下,使用「openvt」指令開啟相對應於Android作業系統的從屬虛擬主控臺,並以「chvt」切換至該主控臺。在此情況下,X視窗的主要虛擬主控臺與Android 作業系統的從屬虛擬主控臺同時共存在同一系統中,且Android作業系統系依附在X視窗的作業環境下。接著,通過執行一可使用性監測執行緒來監測X視窗或Android作業系統中可提供共享的資源。在此情況下,假設使用者原本在主要虛擬主控臺使用X視窗進行相關操作,接著,如果使用者想要使用Android作業系統中的一個網路遊戲應用軟體,來上網玩遊戲,在切換至從屬作業系統的前,必須先通過監測執行緒測試該應用軟體可否被使用, 例如是否存在,使用者權限是否足夠等;若可被執行的各條件皆符合,則可通過虛擬主控臺的切換程序,由主要虛擬主控臺切換至從屬虛擬主控臺,並執行Android作業系統中所需的網路遊戲軟體。除此之外,在切換至從屬虛擬主控臺的後,亦必須通過所載入的內核修正服務來處理作業系統間的差異,以順利執行異質作業系統中的軟體。綜上所述,相較於已知技術,本發明不需為了使用另一作業系統的資源,而必須重新開機登入至另一作業系統,而且也可以在同一時間點,運用不同的作業系統環境。本發明提供使用者可在單一實體計算機上即時地整合運用異質作業系統中的應用軟體與相關數據,也就是說,本發明通過虛擬主控臺的特性,開啟多重虛擬主控臺來實現同時共存多個作業系統於同一硬體平臺中,並通過虛擬主控臺的切換程序,即時切換至相對應的作業系統, 進而運用各作業系統中的應用軟體或資源,以實現異質作業系統間的資源共用目的。
以上所述僅為本發明的優選實施例,凡依本發明權利要求書所做的均等變化與修飾,皆應屬本發明的涵蓋範圍。
權利要求
1.一種整合運用基於同一系統內核的異質作業系統的方法,包含有 開啟相對應於一主要作業系統的一主要虛擬主控臺;在該主要虛擬主控臺中,開啟相對應於一從屬作業系統的一從屬虛擬主控臺;以及建立該主要作業系統與該從屬作業系統所需的一共享信息區域,並切換至該從屬虛擬主控臺,以操作使用該從屬作業系統。
2.如權利要求1所述的方法,其中在開啟相對應於一主要作業系統的一主要虛擬主控臺的步驟之前還包含下列步驟載入一系統內核;以及載入一系統內核修正服務。
3.如權利要求2所述的方法,其中載入該系統內核的步驟還包含 載入並初始化一存儲器磁碟。
4.如權利要求3所述的方法,其中系利用一啟動載入器來執行載入或初始化該系統內核與該存儲器磁碟。
5.如權利要求2所述的方法,其中開啟相對應於該主要作業系統的主要虛擬主控臺的步驟包含有掛載並開啟相對應於該主要作業系統的一第一根文件系統;以及初始化該主要作業系統的作業環境。
6.如權利要求2所述的方法,其中於該主要虛擬主控臺中,開啟相對應於該從屬作業系統的該從屬虛擬主控臺的步驟包含有在該主要虛擬主控臺中,利用一主控臺開啟指令,來開啟該從屬虛擬主控臺,並利用一切換指令來切換至該從屬虛擬主控臺; 掛載於該從屬作業系統;執行一改變根指令,以改變根路徑至對應於該從屬作業系統的一第二根文件系統;以及初始化該從屬作業系統的作業環境。
7.如權利要求2所述的方法,其中建立該主要作業系統與該從屬作業系統所需的該共享信息,並切換至該從屬虛擬主控臺,以操作使用該從屬作業系統的步驟包含有啟動一可使用性監測執行緒;掃描並確認該主要作業系統與該從屬作業系統中可共享的一資源信息; 將所確認的該資源信息寫入一共享區域,以產生該共享信息;以及自該共享區域讀取該共享信息,並據以切換至該從屬虛擬主控臺,以操作使用該從屬作業系統。
8.如權利要求7所述的方法,其中自該共享區域讀取該共享信息,並據以切換至該從屬虛擬主控臺,以操作使用該從屬作業系統的步驟包含有自該共享區域讀取該共享信息,並於該共享信息顯示該從屬作業系統具有可使用的應用軟體時,切換至該從屬虛擬主控臺,以操作使用該從屬作業系統。
9.如權利要求7所述的方法,其中自該共享區域讀取該共享信息,並據以切換至該從屬虛擬主控臺,以操作使用該從屬作業系統的步驟包含有自該共享區域讀取該共享信息,並於該共享信息顯示該從屬作業系統無存在可使用的應用軟體時,拒絕切換至該從屬虛擬主控臺。
10.如權利要求2所述的方法,其中該主要作業系統與該從屬作業系統系基於同一系統內核。
11.如權利要求2所述的方法,其中該系統內核為一Linux系統內核。
全文摘要
本發明公開一種整合運用基於同一系統內核的異質作業系統的方法,該方法包含有開啟相對應於一主要作業系統的一主要虛擬主控臺;於該主要虛擬主控臺中,開啟相對應於一從屬作業系統的一從屬虛擬主控臺;以及建立該主要作業系統與該從屬作業系統所需的一共享信息區域,並切換至該從屬虛擬主控臺,以操作使用該從屬作業系統。
文檔編號G06F9/455GK102375754SQ20101025859
公開日2012年3月14日 申請日期2010年8月20日 優先權日2010年8月20日
發明者劉韋宏 申請人:緯創資通股份有限公司