本發明專利技術是一種軟件執行方法及其電子裝置。一種軟件執行方法,包括如下步驟。啟動一操作系統核心。所述操作系統核心是由一第一操作系統與一第二操作系統所共享。加載一至多個驅動模塊至該操作系統核心。在第一與第二操作系統當中的一者的根目錄下,開始執行第一與第二操作系統當中的該者。建立一程序,以調用第一與第二操作系統當中的另一者的根目錄。在第一與第二操作系統當中的該另一者的根目錄下,開始執行第一與第二操作系統當中的該另一者。另外,一種執行上述軟件執行方法的電子裝置亦被提出。
【技術實現步驟摘要】
本專利技術是有關于一種軟件執行方法及其電子裝置,且特別是有關于一種在雙重操作系統下的軟件執行方法及其電子裝置。
技術介紹
在具有不同的函數庫的雙重操作系統中,若欲在其中之一的操作系統中執行另一操作系統的軟件時,則該等軟件必須對應地作大幅度地修改,以使該其中之一的操作系統可順利地運行該另一操作系統的軟件。舉例而言,目前Android操作系統已經廣泛地應用在很多領域,包括智能型手機、智能型電視等等。在電視領域中,Android操作系統出現之前已有很多基于Linux的電視軟 件解決方案。Android操作系統基于Linux操作系統,但相對應作了較大的改變,尤其是C函數庫。Andro id操作系統并沒有采用glibc函數庫作為其C函數庫,而是采用了 Google自行開發的Bionic Libc函數庫。其文件編譯工具組(Toolchain)也是基于Bionic Libc函數庫而非glibc函數庫。此技術特征導致很多現有的多媒體應用程序無法輕易地植入Android操作系統中,而需要作大幅度地修改,包括使用JNI (Java Native Interface)等溝通接口來聯系Java程序以及底層的C函數庫,因此增加了使用既有多媒體應用程序的困難度。
技術實現思路
本專利技術提供一種軟件執行方法,能夠在雙重操作系統當中啟動已有的基于特定函數庫的應用程序,且基本上可以不需修改該等應用程序即可直接運行(run)。本專利技術提供一種具有雙重操作系統的電子裝置,用以執行前述的軟件執行方法。本專利技術提供一種軟件執行方法,包括如下步驟。啟動一操作系統核心(Kernel)。所述操作系統核心是由一第一操作系統與一第二操作系統所共享。加載一至多個驅動模塊至該操作系統核心。在第一與第二操作系統當中的一者的根目錄下,開始執行第一與第二操作系統當中的該者。建立(fork) —程序,以調用第一與第二操作系統當中的另一者的根目錄。在第一與第二操作系統當中的該另一者的根目錄下,開始執行第一與第二操作系統當中的該另一者。在本專利技術的一實施例中,上述的操作系統核心的種類為第一操作系統的核心種類。在本專利技術的一實施例中,上述的第一與第二操作系統當中分別的根目錄下分別儲存有第一與第二操作系統的文件架構。在本專利技術的一實施例中,上述的開始執行第一與第二操作系統當中的該者的步驟包括利用一至多驅動模塊當中至少的一者及第一與第二操作系統當中的該者的函數庫,來開始執行第一與第二操作系統當中的該者的一至多個應用程序。在本專利技術的一實施例中,上述的一至多驅動模塊當中該至少的一者是由第一與第二操作系統當中的該者專用,或由第一與第二操作系統所共享。在本專利技術的一實施例中,上述的開始執行第一與第二操作系統當中的該者的步驟是于該建立程序的步驟之前、之后或同時實施。在本專利技術的一實施例中,上述的開始執行第一與第二操作系統當中的該者的步驟是早于、同時、或晚于開始執行第一與第二操作系統當中的該另一者的步驟。在本專利技術的一實施例中,上述的開始執行第一與第二操作系統當中的該另一者的步驟包括利用一至多驅動模塊當中至少的一者及第二操作系統的函數庫開始執行第一與第二操作系統當中的該另一者的一至多應用程序。在本專利技術的一實施例中,上述的一至多驅動模塊當中該至少的一者是由第一與第二操作系統當中的該另一者專用,或由該第一與第二操作系統所共享。 在本專利技術的一實施例中,上述的第一操作系統為Linux操作系統。在本專利技術的一實施例中,上述的第二操作系統為Android操作系統。在本專利技術的一實施例中,上述的一至多個驅動模塊包括一至多個第一驅動模塊。一至多個第一驅動模塊當中至少的一者是由第一操作系統執行時所使用,且是選自下列驅動模塊至少其中之一音頻驅動模塊、視頻驅動模塊、繪圖驅動模塊及遙控(Remotecontrol)驅動模塊。在本專利技術的一實施例中,上述的一至多個驅動模塊還包括一至多個第二驅動模塊。一至多個第二驅動模塊當中至少的一者是由第二操作系統執行時所使用,且一至多第二驅動模塊是選自下列驅動模塊至少其中之一閃存驅動模塊、通用串行總線驅動模塊、系結程序間溝通管道(Binder Inter-Process Communication)的驅動模塊、以太網(Ethernet)驅動模塊及電源管理驅動模塊。在本專利技術的一實施例中,上述的一至多個驅動模塊當中至少的一者是由第一或第二操作系統單獨使用。在本專利技術的一實施例中,上述的一至多個驅動模塊當中至少的一者是由第一與第二操作系統共同使用。在本專利技術的一實施例中,上述的調用第一與第二操作系統當中的該另一者的根目錄的步驟是通過一 chroot函數來進行。在本專利技術的一實施例中,上述的軟件執行方法還包括執行一應用程序管理程序。應用程序管理程序統一管理第一操作系統與第二操作系統的應用程序的執行。在本專利技術的一實施例中,上述的應用程序管理程序還控制一應用環境于第一操作系統的應用程序與第二操作系統的應用程序之間作切換。本專利技術提供一種具有雙重操作系統的電子裝置,包括一存儲裝置以及一處理器。存儲裝置儲存有多個指令。所述多個指令是用以執行前述的軟件執行方法。處理器存取存儲裝置以執行所述多個指令。基于上述,在本專利技術的范例實施例中,第一與第二操作系統的應用程序可同時運行,且基本上不需要修改任一操作系統的應用程序。為讓本專利技術的上述特征和優點能更明顯易懂,下文特舉實施例,并配合所附圖式作詳細說明如下。附圖說明圖I繪示本專利技術一實施例的雙重操作系統的架構示意圖。圖2繪示本專利技術一實施例的軟件執行方法的步驟流程圖。圖3繪示本專利技術另一實施例的軟件執行方法的步驟流程圖。圖4繪示本專利技術一實施例的具有雙重操作系統的電子裝置示意圖。100 :雙重操作系統 110:第一操作系統112 =Linux操作系統核心114:第一驅動模塊120 :第二操作系統124 :第二驅動模塊S200、S202、S204、S206、S208、S210、S212、S300、S302、S304、S306、S308、S310、S312 :軟件執行方法的步驟400 電子裝置410 :存儲裝置420 :處理器具體實施例方式圖I繪示本專利技術一實施例的雙重操作系統的架構示意圖。請參考圖1,本實施例的雙重操作系統100包括一第一操作系統110及一第二操作系統120。在此,第一操作系統110例如是Linux操作系統;第二操作系統120例如是Android操作系統,但本專利技術并不限于此。在本實施例中,第一操作系統110與第二操作系統120共同提供一應用環境給基于Linux操作系統及Android操作系統的多媒體應用程序運行。在底下的范例實施例中,多媒體應用程序是以電視的應用程序以及Android操作系統的應用程序例示說明,但本專利技術并不限于此。所述多媒體應用程序也可以是平板計算機、筆記本型計算機、智能型手機等任何具有雙重操作系統的電子裝置上可執行的多媒體應用程序。就第一操作系統110而言,其系統架構包括電視的應用程序、中介軟件(middleware)、平臺(platform)、設備驅動程序、GLIBC/uClibc函數庫以及與第二操作系統120共享的Linux操作系統核心112。就第二操作系統120而言,其系統架構包括Android操作系統的應用程序、應用程序框架(application本文檔來自技高網...
【技術保護點】
一種軟件執行方法,包括:啟動一操作系統核心,其中該操作系統核心是由一第一操作系統與一第二操作系統所共享;加載一至多個驅動模塊至該操作系統核心;在該第一與第二操作系統當中的一者的根目錄下,開始執行該第一與第二操作系統當中的該者;建立一程序,以調用該第一與第二操作系統當中的另一者的根目錄;在該第一與第二操作系統當中的該另一者的根目錄下,開始執行該第一與第二操作系統當中的該另一者。
【技術特征摘要】
【專利技術屬性】
技術研發人員:劉洪明,易鯤明,魏丹丹,龍翔,
申請(專利權)人:聯詠科技股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。