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