TWI452517B - Software execution method and electronic apparatus using the same - Google Patents

Software execution method and electronic apparatus using the same Download PDF

Info

Publication number
TWI452517B
TWI452517B TW100132715A TW100132715A TWI452517B TW I452517 B TWI452517 B TW I452517B TW 100132715 A TW100132715 A TW 100132715A TW 100132715 A TW100132715 A TW 100132715A TW I452517 B TWI452517 B TW I452517B
Authority
TW
Taiwan
Prior art keywords
operating system
execution method
software execution
operating systems
operating
Prior art date
Application number
TW100132715A
Other languages
Chinese (zh)
Other versions
TW201312462A (en
Inventor
hong-ming Liu
Kun-Ming Yi
Dan-Dan Wei
Xiang Long
Original Assignee
Novatek Microelectronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Novatek Microelectronics Corp filed Critical Novatek Microelectronics Corp
Priority to TW100132715A priority Critical patent/TWI452517B/en
Publication of TW201312462A publication Critical patent/TW201312462A/en
Application granted granted Critical
Publication of TWI452517B publication Critical patent/TWI452517B/en

Links

Landscapes

  • Stored Programmes (AREA)

Description

軟體執行方法及其電子裝置Software execution method and electronic device thereof

本發明是有關於一種軟體執行方法及其電子裝置,且特別是有關於一種在雙重作業系統下之軟體執行方法及其電子裝置。The present invention relates to a software execution method and an electronic device thereof, and more particularly to a software execution method and an electronic device thereof in a dual operation system.

在具有不同的函式庫的雙重作業系統中,若欲在其中之一的作業系統中執行另一作業系統的軟體時,則該等軟體必須對應地作大幅度地修改,以使該其中之一的作業系統可順利地運行該另一作業系統的軟體。In a dual operating system with different libraries, if the software of another operating system is to be executed in one of the operating systems, the software must be substantially modified correspondingly to make the The operating system of one can smoothly run the software of the other operating system.

舉例而言,目前Android作業系統己經廣泛地應用在很多領域,包括智慧型手機、智慧型電視等等。在電視領域中,Android作業系統出現之前已有很多基於Linux的電視軟體解決方案。Android作業系統基於Linux作業系統,但相對應作了較大的改變,尤其是C函式庫。Android作業系統並沒有採用glibc函式庫作為其C函式庫,而是採用了Google自行開發的Bionic Libc函式庫。其檔案編譯工具組(Toolchain)也是基於Bionic Libc函式庫而非glibc函式庫。For example, the current Android operating system has been widely used in many fields, including smart phones, smart TVs and so on. In the TV field, there have been many Linux-based TV software solutions before the Android operating system appeared. The Android operating system is based on the Linux operating system, but the corresponding changes have been made, especially the C library. The Android operating system does not use the glibc library as its C library, but uses the Bionic Libc library developed by Google itself. Its file building tool set (Toolchain) is also based on the Bionic Libc library instead of the glibc library.

此一技術特徵導致很多現有的多媒體應用程式無法輕易地植入Android作業系統中,而需要作大幅度地修改,包括使用JNI(Java Native Interface)等溝通介面來聯繫Java程序以及底層的C函式庫,因此增加了使用既有多媒體應用程式的困難度。This technical feature has caused many existing multimedia applications to be easily embedded in the Android operating system, and needs to be greatly modified, including using a communication interface such as JNI (Java Native Interface) to contact the Java program and the underlying C function. Libraries, thus increasing the difficulty of using existing multimedia applications.

本發明提供一種軟體執行方法,能夠在雙重作業系統當中啟動已有的基於特定函式庫的應用程式,且基本上可以不需修改該等應用程式即可直接運行(run)。The present invention provides a software execution method capable of launching an existing application library-based application in a dual operating system, and basically can run directly without modifying the applications.

本發明提供一種具有雙重作業系統之電子裝置,用以執行前述之軟體執行方法。The present invention provides an electronic device having a dual operating system for performing the aforementioned software execution method.

本發明提供一種軟體執行方法,包括如下步驟。啟動一作業系統核心(Kernel)。所述作業系統核心係由一第一作業系統與一第二作業系統所共用。加載一至多個驅動模組至該作業系統核心。在第一與第二作業系統當中之一者之根目錄下,開始執行第一與第二作業系統當中之該者。建立(fork)一程序,以調用第一與第二作業系統當中之另一者之根目錄。在第一與第二作業系統當中之該另一者之根目錄下,開始執行第一與第二作業系統當中之該另一者。The present invention provides a software execution method comprising the following steps. Start a kernel of the operating system (Kernel). The operating system core is shared by a first operating system and a second operating system. Load one or more drive modules to the operating system core. At the root of one of the first and second operating systems, execution of the one of the first and second operating systems begins. A program is called to invoke the root directory of the other of the first and second operating systems. At the root of the other of the first and second operating systems, execution of the other of the first and second operating systems begins.

在本發明之一實施例中,上述之作業系統核心之種類係第一作業系統之核心種類。In an embodiment of the invention, the type of the operating system core described above is a core type of the first operating system.

在本發明之一實施例中,上述之第一與第二作業系統當中分別之根目錄下係分別儲存有第一與第二作業系統之檔案架構。In an embodiment of the present invention, the file directories of the first and second operating systems are respectively stored in the root directories of the first and second operating systems.

在本發明之一實施例中,上述之開始執行第一與第二作業系統當中之該者之步驟係包括利用一至多驅動模組當中至少之一者及第一與第二作業系統當中之該者之函式庫,來開始執行第一與第二作業系統當中之該者之一至多個應用程式。In an embodiment of the present invention, the step of starting to execute the one of the first and second operating systems includes utilizing at least one of the one or more driving modules and the first and second operating systems The library of the ones to start executing one of the first and second operating systems to the plurality of applications.

在本發明之一實施例中,上述之一至多驅動模組當中該至少之一者係由第一與第二作業系統當中之該者專用,或由第一與第二作業系統所共用。In an embodiment of the invention, at least one of the one or more drive modules is dedicated to the one of the first and second operating systems, or shared by the first and second operating systems.

在本發明之一實施例中,上述之開始執行第一與第二作業系統當中之該者之步驟係於該建立程序之步驟之前、之後或同時實施。In an embodiment of the invention, the step of initiating execution of the one of the first and second operating systems is performed before, after or simultaneously with the step of establishing the program.

在本發明之一實施例中,上述之開始執行第一與第二作業系統當中之該者之步驟係早於、同時、或晚於開始執行第一與第二作業系統當中之該另一者之步驟。In an embodiment of the present invention, the step of starting to execute the one of the first and second operating systems is earlier, at the same time, or later than starting the execution of the other of the first and second operating systems. The steps.

在本發明之一實施例中,上述之開始執行第一與第二作業系統當中之該另一者之步驟係包括利用一至多驅動模組當中至少之一者及第二作業系統之函式庫開始執行第一與第二作業系統當中之該另一者之一至多應用程式。In an embodiment of the present invention, the step of starting to execute the other of the first and second operating systems includes utilizing a library of at least one of the one or more driving modules and the second operating system. Start executing one of the other of the first and second operating systems.

在本發明之一實施例中,上述之一至多驅動模組當中該至少之一者係由第一與第二作業系統當中之該另一者專用,或由該第一與第二作業系統所共用。In an embodiment of the present invention, at least one of the one or more drive modules is dedicated to the other of the first and second operating systems, or by the first and second operating systems. Share.

在本發明之一實施例中,上述之第一作業系統係Linux作業系統。In an embodiment of the invention, the first operating system is a Linux operating system.

在本發明之一實施例中,上述之第二作業系統係Android作業系統。In an embodiment of the invention, the second operating system is an Android operating system.

在本發明之一實施例中,上述之一至多個驅動模組包括一至多個第一驅動模組。一至多個第一驅動模組當中至少之一者係由第一作業系統執行時所使用,且係選自下列驅動模組至少其中之一:音訊驅動模組、視訊驅動模組、繪圖驅動模組及遙控(Remote control)驅動模組。In an embodiment of the invention, the one or more driving modules include one or more first driving modules. At least one of the one or more first driving modules is used by the first operating system and is selected from at least one of the following driving modules: an audio driving module, a video driving module, and a drawing driving mode. Group and remote control drive module.

在本發明之一實施例中,上述之一至多個驅動模組更包括一至多個第二驅動模組。一至多個第二驅動模組當中至少之一者係由第二作業系統執行時所使用,且一至多第二驅動模組係選自下列驅動模組至少其中之一:快閃記憶體驅動模組、通用串列匯流排驅動模組、繫結程式間溝通管道(Binder Inter-Process Communication)之驅動模組、乙太網(Ethernet)驅動模組及電源管理驅動模組。In an embodiment of the invention, the one or more driving modules further include one or more second driving modules. At least one of the one or more second driving modules is used by the second operating system, and the one or more second driving modules are selected from at least one of the following driving modules: a flash memory driving mode The group, the universal serial bus driver module, the driving module of the Binder Inter-Process Communication, the Ethernet driver module and the power management driver module.

在本發明之一實施例中,上述之一至多個驅動模組當中至少之一者係由第一或第二作業系統單獨使用。In an embodiment of the invention, at least one of the one or more of the plurality of drive modules is used by the first or second operating system alone.

在本發明之一實施例中,上述之一至多個驅動模組當中至少之一者係由第一與第二作業系統共同使用。In an embodiment of the invention, at least one of the one or more of the plurality of drive modules is used by the first and second operating systems.

在本發明之一實施例中,上述之調用第一與第二作業系統當中之該另一者之根目錄之步驟係透過一chroot函式來進行。In an embodiment of the invention, the step of invoking the root directory of the other of the first and second operating systems is performed by a chroot function.

在本發明之一實施例中,上述之軟體執行方法更包括執行一應用程式管理程序。應用程式管理程序統一管理第一作業系統與第二作業系統之應用程式之執行。In an embodiment of the invention, the software execution method further includes executing an application management program. The application management program uniformly manages the execution of the application of the first operating system and the second operating system.

在本發明之一實施例中,上述之應用程式管理程序更控制一應用環境於第一作業系統之應用程式與第二作業系統之應用程式之間作切換。In an embodiment of the present invention, the application management program further controls an application environment to switch between an application of the first operating system and an application of the second operating system.

本發明提供一種具有雙重作業系統之電子裝置,包括一記憶裝置以及一處理器。記憶裝置儲存有多個指令。所述多個指令係用以執行前述之軟體執行方法。處理器存取記憶裝置以執行所述多個指令。The present invention provides an electronic device having a dual operating system, including a memory device and a processor. The memory device stores a plurality of instructions. The plurality of instructions are used to execute the aforementioned software execution method. The processor accesses the memory device to execute the plurality of instructions.

基於上述,在本發明之範例實施例中,第一與第二作業系統的應用程式可同時運行,且基本上不需要修改任一作業系統的應用程式。Based on the above, in an exemplary embodiment of the present invention, the applications of the first and second operating systems can run simultaneously, and basically do not need to modify the application of any operating system.

為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。The above described features and advantages of the present invention will be more apparent from the following description.

圖1繪示本發明一實施例之雙重作業系統的架構示意圖。請參考圖1,本實施例之雙重作業系統100包括一第一作業系統110及一第二作業系統120。在此,第一作業系統110例如是Linux作業系統;第二作業系統120例如是Android作業系統,但本發明並不限於此。FIG. 1 is a schematic structural diagram of a dual operation system according to an embodiment of the present invention. Referring to FIG. 1 , the dual operating system 100 of the present embodiment includes a first operating system 110 and a second operating system 120 . Here, the first operating system 110 is, for example, a Linux operating system; the second operating system 120 is, for example, an Android operating system, but the present invention is not limited thereto.

在本實施例中,第一作業系統110與第二作業系統120係共同提供一應用環境給基於Linux作業系統及Android作業系統的多媒體應用程式運行。在底下的範例實施例中,多媒體應用程式係以電視的應用程式以及Android作業系統的應用程式例示說明,但本發明並不限於此。所述多媒體應用程式也可以是平板電腦、筆記型電腦、智慧型手機等任何具有雙重作業系統的電子裝置上可執行之多媒體應用程式。In this embodiment, the first operating system 110 and the second operating system 120 jointly provide an application environment for the multimedia application running based on the Linux operating system and the Android operating system. In the following exemplary embodiment, the multimedia application is exemplified by the application of the television and the application of the Android operating system, but the invention is not limited thereto. The multimedia application can also be a multimedia application executable on any electronic device having a dual operating system such as a tablet computer, a notebook computer, a smart phone, or the like.

就第一作業系統110而言,其系統架構包括電視的應用程式、中介軟體(middleware)、平台(platform)、設備驅動程序、GLIBC/uClibc函式庫以及與第二作業系統120共用之Linux作業系統核心112。For the first operating system 110, the system architecture includes a TV application, a middleware, a platform, a device driver, a GLIBC/uClibc library, and a Linux job shared with the second operating system 120. System core 112.

就第二作業系統120而言,其系統架構包括Android作業系統的應用程式、應用程序框架(application framework)、各種庫(libraries)及Android運行環境(Android runtime)、Bionic Libc函式庫以及與第一作業系統110共用之Linux作業系統核心112。上述第一作業系統110與第二作業系統120之系統架構僅用以例示說明,本發明並不限於此。In terms of the second operating system 120, the system architecture includes an Android operating system application, an application framework, various libraries and an Android runtime, an Bionic Libc library, and A Linux operating system core 112 shared by an operating system 110. The system architecture of the first operating system 110 and the second operating system 120 is for illustrative purposes only, and the present invention is not limited thereto.

當雙重作業系統100就緒以後,其應用程式是以多進程的方式在運行,因此本實施例之系統架構可更包括一個應用程式管理單元(未繪示),用來協調Android作業系統的應用程式以及電視應用程式的工作,該應用程式管理單元的工作包括但不限於資源管理以及應用場景切換等。該資源管理工作包括遙控器、音訊/視訊解碼器、螢幕及硬體圖像層集(graphics layer)等資源的管理工作。該應用場景切換的工作包括從Android作業系統的應用環境切換到電視軟體的應用環境,或者從電視軟體的應用環境切換到Android作業系統的應用環境。因此,本實施例之應用程式管理單元係執行一應用程式管理程序,用來統一管理第一作業系統110與第二作業系統120之應用程式之執行。並且,該應用程式管理單元更藉由此應用程式管理程序來控制系統之應用環境於第一作業系統110之應用程式與第二作業系統120之應用程式之間作切換。When the dual operating system 100 is ready, its application is running in a multi-process manner. Therefore, the system architecture of this embodiment may further include an application management unit (not shown) for coordinating the application of the Android operating system. As well as the work of the TV application, the work of the application management unit includes but is not limited to resource management and application scene switching. The resource management work includes the management of resources such as remote controls, audio/video decoders, screens, and hardware graphics layers. The work of the application scenario switching includes switching from the application environment of the Android operating system to the application environment of the TV software, or switching from the application environment of the TV software to the application environment of the Android operating system. Therefore, the application management unit of the embodiment executes an application management program for uniformly managing the execution of the applications of the first operating system 110 and the second operating system 120. Moreover, the application management unit further controls the application environment of the system to switch between the application of the first operating system 110 and the application of the second operating system 120 by using the application management program.

圖2繪示本發明一實施例之軟體執行方法的步驟流程圖。請參考圖1至圖2,在步驟S200中,所述軟體執行方法首先啟動一作業系統核心。此作業系統核心係由第一作業系統110與一第二作業系統120所共用,較佳地該作業系統核心112之種類係設計為該第一作業系統110之核心種類,在此實施例中也就是Linux作業系統核心112。2 is a flow chart showing the steps of a software execution method according to an embodiment of the present invention. Referring to FIG. 1 to FIG. 2, in step S200, the software execution method first starts a work system core. The operating system core is shared by the first operating system 110 and a second operating system 120. Preferably, the operating system core 112 is designed to be the core type of the first operating system 110, and in this embodiment also It is the Linux operating system core 112.

接著,在步驟S202中,加載多個驅動模組至該作業系統核心112(即Linux作業系統核心112)。在本實施例中,被加載至Linux作業系統核心112的驅動模組譬如可包括驅動多媒體功能所需的第一驅動模組114,以及驅動系統管理功能所需的第二驅動模組124。Next, in step S202, a plurality of drive modules are loaded to the operating system core 112 (ie, the Linux operating system core 112). In this embodiment, the driver module loaded to the Linux operating system core 112 may include, for example, a first driver module 114 required to drive the multimedia function, and a second driver module 124 required to drive the system management function.

更具體而言,第一驅動模組114可由第一作業系統110執行時所使用,且至少包括音訊驅動模組、視訊驅動模組、繪圖驅動模組及遙控(Remote control)驅動模組等驅動模組當中之一至多者,以提供電子裝置執行多媒體功能。第二驅動模組124可由第二作業系統120執行時所使用,且至少包括快閃記憶體驅動模組、通用串列匯流排驅動模組、繫結程式間溝通管道(Binder Inter-Process Communication)之驅動模組、乙太網(Ethernet)驅動模組及電源管理驅動模組等驅動模組當中之一至多者,以使電子裝置系統可順利運作。上述第一驅動模組114與第二驅動模組124所包括的驅動模組僅用以例示說明,本發明並不限於此。值得注意的是,第一驅動模組114當中一部份的驅動模組係由第一作業系統110專用,其他部份的驅動模組可由第一與第二作業系統110、120所共用。第二驅動模組124當中一部份的驅動模組係由第二作業系統120專用,其他部份的驅動模組可由第一與第二作業系統110、120所共用。More specifically, the first driving module 114 can be used by the first operating system 110, and at least includes an audio driving module, a video driving module, a drawing driving module, and a remote control driving module. One of the modules is at most one to provide an electronic device to perform multimedia functions. The second driving module 124 can be used by the second operating system 120, and includes at least a flash memory driving module, a universal serial bus driving module, and a Binder Inter-Process Communication. At most one of the drive modules, the Ethernet drive module and the power management drive module, etc., so that the electronic device system can operate smoothly. The driving modules included in the first driving module 114 and the second driving module 124 are for illustrative purposes only, and the present invention is not limited thereto. It should be noted that a part of the driving modules of the first driving module 114 is dedicated to the first operating system 110, and other driving modules can be shared by the first and second operating systems 110 and 120. A portion of the drive modules of the second drive module 124 are dedicated to the second operating system 120, and other portions of the drive modules are shared by the first and second operating systems 110, 120.

之後,在步驟S204中,在第一作業系統110之根目錄下,軟體執行方法利用第一驅動模組114及第一作業系統110之譬如是GLIBC/uClibc函式庫,來開始執行第一作業系統110中的應用程式。舉例而言,若欲驅動電視播送聲音及顯示影像,在步驟S204中,軟體執行方法可利用第一驅動模組114之音訊驅動模組及視訊驅動模組,以及GLIBC/uClibc函式庫來執行第一作業系統110中的有關音訊及視訊的應用程式。亦即,執行Linux作業系統中的電視應用程式。因此,在步驟S204後,軟體執行方法可以持續運行第一作業系統110中的應用程式,如步驟S206。亦即,電視的應用程式可以持續運行中。Then, in step S204, in the root directory of the first operating system 110, the software execution method starts to execute the first job by using the first driving module 114 and the first operating system 110, such as the GLIBC/uClibc library. The application in system 110. For example, if the television broadcast sound and the display image are to be driven, in step S204, the software execution method can be performed by using the audio driving module and the video driving module of the first driving module 114, and the GLIBC/uClibc library. An application for audio and video in the first operating system 110. That is, the TV application in the Linux operating system is executed. Therefore, after step S204, the software execution method may continue to run the application in the first operating system 110, as in step S206. That is, the TV application can continue to run.

繼之,為了能夠同時運行第二作業系統120的應用程式,在步驟S208中,軟體執行方法建立一程序,並透過該程序及譬如是chroot函式來調用第二作業系統120之根目錄。在此,第一與第二作業系統110、120分別之根目錄下係分別儲存(較佳在系統出廠時即已存放)有第一與第二作業系統110、120之檔案架構,以使軟體執行方法透過chroot函式在調用第一與第二作業系統110、120分別之根目錄時可順利執行相對應的檔案功能。在此所謂的檔案架構中譬如可包括啟動第一作業系統或第二作業系統所需的可執行程式、動態資料庫、腳本程式、圖片、音頻檔、用戶配置檔、系統內定參數(default parameters)等等。Then, in order to be able to run the application of the second operating system 120 at the same time, in step S208, the software execution method creates a program, and calls the root directory of the second operating system 120 through the program and, for example, the chroot function. Here, the root files of the first and second operating systems 110 and 120 are respectively stored (preferably stored when the system is shipped), and the file structures of the first and second operating systems 110 and 120 are used to make the software. The execution method can smoothly execute the corresponding file function when calling the root directories of the first and second operating systems 110 and 120 through the chroot function. In this so-called file architecture, for example, an executable program, a dynamic database, a script program, a picture, an audio file, a user profile, and a system default parameter (default parameters) required to start the first operation system or the second operation system may be included. and many more.

值得注意的是,在本實施例中,開始執行第一作業系統110的步驟S204係在建立該調用程序的步驟S208之前實施,但本發明並不限於此。在另一實施例中,開始執行第一作業系統110的步驟S204也可在建立該調用程序的步驟S208之後或與其同時實施。It is to be noted that, in the present embodiment, the step S204 of starting the execution of the first operating system 110 is performed before the step S208 of establishing the calling program, but the present invention is not limited thereto. In another embodiment, the step S204 of starting execution of the first operating system 110 may also be performed after or at the same time as step S208 of establishing the calling program.

接著,在步驟S210中,在第二作業系統120之根目錄下,軟體執行方法利用第二驅動模組124及第二作業系統120之譬如是Bionic Libc函式庫,來開始執行第二作業系統120中的應用程式。舉例而言,若欲對雙重作業系統100之整體進行節能管制時,在步驟S210中,軟體執行方法可利用第二驅動模組124之電源管理驅動模組,以及Bionic Libc函式庫來執行第二作業系統110中的有關電源管理的應用程式。亦即,執行Android作業系統中的應用程式。之後,在步驟S212中,軟體執行方法可以持續運行第二作業系統120中的應用程式。值得一提的是,於此同時,軟體執行方法亦可以持續運行第一作業系統110中的應用程式,即步驟S206。Next, in step S210, in the root directory of the second operating system 120, the software execution method starts to execute the second operating system by using the second driving module 124 and the second operating system 120, such as the Bionic Libc library. 120 apps. For example, if the overall operation of the dual operating system 100 is to be energy-saving, in step S210, the software execution method may utilize the power management driving module of the second driving module 124 and the Bionic Libc library to execute the first An application for power management in the second operating system 110. That is, the application in the Android operating system is executed. Thereafter, in step S212, the software execution method may continue to run the application in the second operating system 120. It is worth mentioning that, at the same time, the software execution method can also continuously run the application in the first operating system 110, that is, step S206.

因此,在本實施例中,第一與第二作業系統110、120的應用程式可同時運行,且基本上不需要修改任一作業系統的應用程式。進而,配合應用程式管理程序即可統一管理第一作業系統110與第二作業系統120之應用程式之執行。Therefore, in the present embodiment, the applications of the first and second operating systems 110, 120 can run simultaneously, and basically do not need to modify the application of any operating system. Further, the execution of the applications of the first operating system 110 and the second operating system 120 can be uniformly managed in conjunction with the application management program.

值得注意的是,在本實施例中,開始執行第一作業系統110的步驟S204係早於開始執行第二作業系統120的步驟S210,但本發明並不限於此。在其他實施例中,開始執行第一作業系統110的步驟S204也可同時或晚於開始執行第二作業系統120的步驟S210。於實際應用上,第一作業系統110與第二作業系統120的執行順序可依據設計需求,甚至根據使用者來決定。甚至,第一作業系統的應用程式(亦即電視的應用程式)與第二作業系統的應用程式當中任一者也不要求一定都得執行,而可根據使用或應用需求來決定。另外,在執行中途,第一或第二作業系統的應用程式也可進一歩根據需要動態選擇為休眠狀態而停止執行。It is to be noted that, in the present embodiment, the step S204 of starting the execution of the first operating system 110 is earlier than the step S210 of starting the execution of the second operating system 120, but the present invention is not limited thereto. In other embodiments, step S204 of starting execution of the first operating system 110 may also be performed simultaneously or later than step S210 of the second operating system 120. In practical applications, the order of execution of the first operating system 110 and the second operating system 120 may be determined according to design requirements or even according to the user. In addition, neither the application of the first operating system (ie, the application of the television) nor the application of the second operating system is required to be executed, but may be determined according to the use or application requirements. In addition, during the execution, the application of the first or second operating system can be dynamically selected to be in a sleep state and stopped to be executed as needed.

圖3繪示本發明另一實施例之軟體執行方法的步驟流程圖。請參考圖1至圖3,本實施例之軟體執行方法類似於圖2的軟體執行方法,惟兩者之間主要的差異例如在於開始執行第一作業系統110的步驟以及開始執行第二作業系統120的步驟之先後順序。3 is a flow chart showing the steps of a software execution method according to another embodiment of the present invention. Referring to FIG. 1 to FIG. 3, the software execution method of this embodiment is similar to the software execution method of FIG. 2, but the main difference between the two is, for example, the steps of starting the execution of the first operating system 110 and starting the execution of the second operating system. The sequence of steps of 120.

詳細而言,在本實施例中,軟體執行方法加載完多個驅動模組至Linux作業系統核心112之後(即執行完在步驟S302),首先開始執行步驟S304,即在第二作業系統120之根目錄下,利用第二驅動模組124及第二作業系統120之譬如是Bionic Libc函式庫,來開始執行第二作業系統120中的應用程式。此一步驟類似於步驟S210,在此便不再贅述。In detail, in this embodiment, after the software execution method loads the plurality of driver modules to the Linux operating system core 112 (that is, after executing in step S302), first, step S304 is started, that is, in the second operating system 120. In the root directory, the second driver module 124 and the second operating system 120, such as the Bionic Libc library, are used to start executing the application in the second operating system 120. This step is similar to step S210 and will not be described again here.

接著,在步驟S306中,軟體執行方法可以持續運行第二作業系統120中的應用程式。亦即,Android作業系統的應用程式持續運行中。Next, in step S306, the software execution method may continue to run the application in the second operating system 120. That is, the Android operating system application is continuously running.

另一方面,為了能夠運行第一作業系統110的應用程式,在步驟S308中,軟體執行方法建立一程序,並透過該程序及chroot函式來調用第一作業系統110之根目錄。On the other hand, in order to be able to run the application of the first operating system 110, in step S308, the software execution method creates a program, and calls the root directory of the first operating system 110 through the program and the chroot function.

值得注意的是,在本實施例中,開始執行第二作業系統110的步驟S304係在建立該調用程序的步驟S308之前實施,但本發明並不限於此。在另一實施例中,開始執行第二作業系統120的步驟S304也可在建立該調用程序的步驟S308之後或與其同時實施。It is to be noted that, in the present embodiment, the step S304 of starting the execution of the second operating system 110 is performed before the step S308 of establishing the calling program, but the present invention is not limited thereto. In another embodiment, the step S304 of starting execution of the second operating system 120 may also be performed after or at the same time as step S308 of establishing the calling program.

之後,在步驟S310中,在第一作業系統110之根目錄下,軟體執行方法利用第一驅動模組114及第一作業系統110之譬如是GLIBC/uClibc函式庫,來開始執行第一作業系統110中的應用程式。此一步驟類似於步驟S204,在此便不再贅述。至此可知,在本實施例中,開始執行第一作業系統110的步驟S310係晚於開始執行第二作業系統120的步驟S304。Then, in step S310, in the root directory of the first operating system 110, the software execution method starts to execute the first job by using the first driving module 114 and the first operating system 110, such as the GLIBC/uClibc library. The application in system 110. This step is similar to step S204 and will not be described again here. Up to this point, in the present embodiment, the step S310 of starting the execution of the first operating system 110 is later than the step S304 of starting the execution of the second operating system 120.

繼之,在步驟S312後,軟體執行方法可持續運行第一作業系統110中的應用程式。值得一提的是,於此同時,軟體執行方法可以持續運行第二作業系統120中的應用程式,即步驟S306。Then, after step S312, the software execution method can continuously run the application in the first operating system 110. It is worth mentioning that, at the same time, the software execution method can continuously run the application in the second operating system 120, that is, step S306.

圖4繪示本發明一實施例之具有雙重作業系統之電子裝置的示意圖。請參考圖4,本實施例之電子裝置400至少適於執行上述圖2或圖3之軟體執行方法,其包括一記憶裝置410以及一處理器420。記憶裝置410儲存有多個指令,該等指令係用以執行上述圖2或圖3之軟體執行方法。處理器420存取記憶裝置410以執行該等指令。電子裝置400可以例如但不限於是平板電腦、筆記型電腦、智慧型手機等任何具有雙重作業系統的電子裝置。4 is a schematic diagram of an electronic device with a dual operating system in accordance with an embodiment of the present invention. Referring to FIG. 4, the electronic device 400 of the present embodiment is at least adapted to execute the software execution method of FIG. 2 or FIG. 3 described above, and includes a memory device 410 and a processor 420. The memory device 410 stores a plurality of instructions for executing the software execution method of FIG. 2 or FIG. 3 described above. Processor 420 accesses memory device 410 to execute the instructions. The electronic device 400 can be, for example but not limited to, any electronic device having a dual operating system such as a tablet computer, a notebook computer, a smart phone, or the like.

綜上所述,在本發明之範例實施例中,第一與第二作業系統的應用程式可同時運行,無論先執行兩者當中之一者的應用程式或同時執行,基本上都不需要修改任一作業系統的應用程式。此外,有關調用根目錄程序的步驟之先後次序,亦不影響第一與第二作業系統的應用程式之同時運行。進而,配合應用程式管理程序即可統一管理第一作業系統與第二作業系統之應用程式之執行。In summary, in an exemplary embodiment of the present invention, the applications of the first and second operating systems can be run simultaneously, and no matter whether the application or the execution of one of the two is executed first, basically no modification is required. An application for any operating system. In addition, the order of the steps for invoking the root program does not affect the simultaneous operation of the applications of the first and second operating systems. Further, the application management program can be used to uniformly manage the execution of the application of the first operating system and the second operating system.

雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。Although the present invention has been disclosed in the above embodiments, it is not intended to limit the invention, and any one of ordinary skill in the art can make some modifications and refinements without departing from the spirit and scope of the invention. The scope of the invention is defined by the scope of the appended claims.

100‧‧‧雙重作業系統100‧‧‧Double operating system

110‧‧‧第一作業系統110‧‧‧First operating system

112‧‧‧Linux作業系統核心112‧‧‧Linux operating system core

114‧‧‧第一驅動模組114‧‧‧First drive module

120‧‧‧第二作業系統120‧‧‧Second operating system

124‧‧‧第二驅動模組124‧‧‧Second drive module

S200、S202、S204、S206、S208、S210、S212、S300、S302、S304、S306、S308、S310、S312‧‧‧軟體執行方法的步驟S200, S202, S204, S206, S208, S210, S212, S300, S302, S304, S306, S308, S310, S312‧‧‧ steps of the software execution method

400‧‧‧電子裝置400‧‧‧Electronic devices

410‧‧‧記憶裝置410‧‧‧ memory device

420‧‧‧處理器420‧‧‧ processor

圖1繪示本發明一實施例之雙重作業系統的架構示意圖。FIG. 1 is a schematic structural diagram of a dual operation system according to an embodiment of the present invention.

圖2繪示本發明一實施例之軟體執行方法的步驟流程圖。2 is a flow chart showing the steps of a software execution method according to an embodiment of the present invention.

圖3繪示本發明另一實施例之軟體執行方法的步驟流程圖。3 is a flow chart showing the steps of a software execution method according to another embodiment of the present invention.

圖4繪示本發明一實施例之具有雙重作業系統之電子裝置示意圖。4 is a schematic diagram of an electronic device having a dual operating system in accordance with an embodiment of the present invention.

100...雙重作業系統100. . . Dual operating system

110...第一作業系統110. . . First operating system

112...Linux作業系統核心112. . . Linux operating system core

114...第一驅動模組114. . . First drive module

120...第二作業系統120. . . Second operating system

124...第二驅動模組124. . . Second drive module

Claims (19)

一種軟體執行方法,包括:啟動一作業系統核心,其中該作業系統核心係由一第一作業系統與一第二作業系統所共用;加載一至多個驅動模組至該作業系統核心;在該第一與第二作業系統當中之一者之根目錄下,開始執行該第一與第二作業系統當中之該者;建立一程序,以調用該第一與第二作業系統當中之另一者之根目錄;以及在該第一與第二作業系統當中之該另一者之根目錄下,開始執行該第一與第二作業系統當中之該另一者。 A software execution method includes: starting a working system core, wherein the operating system core is shared by a first operating system and a second operating system; loading one or more driving modules to the operating system core; Starting in the root directory of one of the first and second operating systems, starting the execution of the one of the first and second operating systems; establishing a program to invoke the other of the first and second operating systems a root directory; and in the root directory of the other of the first and second operating systems, starting execution of the other of the first and second operating systems. 如申請專利範圍第1項所述之軟體執行方法,其中該作業系統核心之種類係該第一作業系統之核心種類。 The software execution method of claim 1, wherein the core type of the operating system is a core type of the first operating system. 如申請專利範圍第1項所述之軟體執行方法,其中該第一與第二作業系統當中分別之根目錄下係分別儲存有該第一與第二作業系統之檔案架構。 The software execution method of claim 1, wherein the file structures of the first and second operating systems are respectively stored in the root directories of the first and second operating systems respectively. 如申請專利範圍第1項所述之軟體執行方法,其中開始執行該第一與第二作業系統當中之該者之步驟係包括:利用該一至多驅動模組當中至少之一者及該第一與第二作業系統當中之該者之函式庫,來開始執行該第一與第二作業系統當中之該者之一至多個應用程式。 The software execution method of claim 1, wherein the step of executing the one of the first and second operating systems comprises: utilizing at least one of the one or more driving modules and the first And a library of the one of the second operating systems to start executing one of the first and second operating systems to the plurality of applications. 如申請專利範圍第4項所述之軟體執行方法,其中該一至多驅動模組當中該至少之一者係由該第一與第二作 業系統當中之該者專用,或由該第一與第二作業系統所共用。 The software execution method of claim 4, wherein the at least one of the one or more drive modules is the first and second The person in the system is dedicated or shared by the first and second operating systems. 如申請專利範圍第1項所述之軟體執行方法,其中開始執行該第一與第二作業系統當中之該者之步驟係於建立該程序之前、之後或同時實施。 The software execution method of claim 1, wherein the step of starting execution of the one of the first and second operating systems is performed before, after or simultaneously with establishing the program. 如申請專利範圍第1項所述之軟體執行方法,其中開始執行該第一與第二作業系統當中之該者之步驟係早於、同時、或晚於開始執行該第一與第二作業系統當中之該另一者之步驟。 The software execution method of claim 1, wherein the step of executing the one of the first and second operating systems is earlier, at the same time, or later than starting the execution of the first and second operating systems. The step of the other one. 如申請專利範圍第1項所述之軟體執行方法,其中開始執行該第一與第二作業系統當中之該另一者之步驟係包括:利用該一至多驅動模組當中至少之一者及該第二作業系統之函式庫開始執行該第一與第二作業系統當中之該另一者之一至多應用程式。 The software execution method of claim 1, wherein the step of starting the execution of the other one of the first and second operating systems comprises: utilizing at least one of the one or more driving modules and the The library of the second operating system begins executing one of the other of the first and second operating systems. 如申請專利範圍第8項所述之軟體執行方法,其中該一至多驅動模組當中該至少之一者係由該第一與第二作業系統當中之該另一者專用,或由該第一與第二作業系統所共用。 The software execution method of claim 8, wherein the at least one of the one or more drive modules is dedicated to the other of the first and second operating systems, or by the first It is shared with the second operating system. 如申請專利範圍第2項所述之軟體執行方法,其中該第一作業系統係Linux作業系統。 The software execution method of claim 2, wherein the first operating system is a Linux operating system. 如申請專利範圍第10項所述之軟體執行方法,其中該第二作業系統係Android作業系統。 The software execution method of claim 10, wherein the second operating system is an Android operating system. 如申請專利範圍第10項所述之軟體執行方法,其 中該一至多個驅動模組包括一至多個第一驅動模組,該一至多個第一驅動模組當中至少之一者係由該第一作業系統執行時所使用,且係選自下列驅動模組至少其中之一:音訊驅動模組、視訊驅動模組、繪圖驅動模組及遙控驅動模組。 The software execution method as described in claim 10, The one or more driving modules include one or more first driving modules, and at least one of the one or more first driving modules is used by the first operating system, and is selected from the following driving At least one of the modules: an audio drive module, a video drive module, a graphics driver module, and a remote control driver module. 如申請專利範圍第11項所述之軟體執行方法,其中該一至多個驅動模組更包括一至多個第二驅動模組,該一至多個第二驅動模組當中至少之一者係由該第二作業系統執行時所使用,且該一至多第二驅動模組係選自下列驅動模組至少其中之一:快閃記憶體驅動模組、通用串列匯流排驅動模組、繫結程式間溝通管道之驅動模組、乙太網驅動模組及電源管理驅動模組。 The software execution method of claim 11, wherein the one or more driving modules further comprise one or more second driving modules, and at least one of the one or more second driving modules is The second operating system is used in execution, and the one or more second driving modules are selected from at least one of the following driving modules: a flash memory driving module, a universal serial bus driving module, and a binding program. The communication module of the communication pipe, the Ethernet drive module and the power management drive module. 如申請專利範圍第1項所述之軟體執行方法,其中該一至多個驅動模組當中至少之一者係由該第一或第二作業系統單獨使用。 The software execution method of claim 1, wherein at least one of the one or more drive modules is used by the first or second operating system alone. 如申請專利範圍第1項所述之軟體執行方法,其中該一至多個驅動模組當中至少之一者係由該第一與第二作業系統共同使用。 The software execution method of claim 1, wherein at least one of the one or more drive modules is used by the first and second operating systems. 如申請專利範圍第11項所述之軟體執行方法,其中調用該第一與第二作業系統當中之該另一者之根目錄之步驟係透過一chroot函式來進行。 The software execution method of claim 11, wherein the step of calling the root directory of the other one of the first and second operating systems is performed by a chroot function. 如申請專利範圍第1項所述之軟體執行方法,更包括:執行一應用程式管理程序,統一管理該第一作業系統 與該第二作業系統之應用程式之執行。 The software execution method as described in claim 1, further comprising: executing an application management program to uniformly manage the first operating system Execution with the application of the second operating system. 如申請專利範圍第17項所述之軟體執行方法,其中該應用程式管理程序更控制一應用環境於該第一作業系統之應用程式與該第二作業系統之應用程式之間作切換。 The software execution method of claim 17, wherein the application management program further controls an application environment to switch between an application of the first operating system and an application of the second operating system. 一種具有雙重作業系統之電子裝置,包括:一記憶裝置,其儲存有多個指令,其中該多個指令係用以執行申請專利範圍第1項所述之軟體執行方法;以及一處理器,存取該記憶裝置以執行該多個指令。 An electronic device having a dual operating system, comprising: a memory device storing a plurality of instructions, wherein the plurality of instructions are used to execute a software execution method according to claim 1; and a processor The memory device is fetched to execute the plurality of instructions.
TW100132715A 2011-09-09 2011-09-09 Software execution method and electronic apparatus using the same TWI452517B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW100132715A TWI452517B (en) 2011-09-09 2011-09-09 Software execution method and electronic apparatus using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW100132715A TWI452517B (en) 2011-09-09 2011-09-09 Software execution method and electronic apparatus using the same

Publications (2)

Publication Number Publication Date
TW201312462A TW201312462A (en) 2013-03-16
TWI452517B true TWI452517B (en) 2014-09-11

Family

ID=48482544

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100132715A TWI452517B (en) 2011-09-09 2011-09-09 Software execution method and electronic apparatus using the same

Country Status (1)

Country Link
TW (1) TWI452517B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101052949A (en) * 2004-08-18 2007-10-10 扎鲁纳股份有限公司 Operating systems
US20080162914A1 (en) * 2006-12-29 2008-07-03 Farid Adrangi Dual operating system computing system
TW201044272A (en) * 2009-06-11 2010-12-16 Insyde Software Corp Parallel processing method for a dual operating system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101052949A (en) * 2004-08-18 2007-10-10 扎鲁纳股份有限公司 Operating systems
US20080162914A1 (en) * 2006-12-29 2008-07-03 Farid Adrangi Dual operating system computing system
TW201044272A (en) * 2009-06-11 2010-12-16 Insyde Software Corp Parallel processing method for a dual operating system

Also Published As

Publication number Publication date
TW201312462A (en) 2013-03-16

Similar Documents

Publication Publication Date Title
US20130054951A1 (en) Software execution method and electronic device using the same
CN110300328B (en) Video playing control method and device and readable storage medium
US8555280B2 (en) Terminal device of non-android platform for executing android applications, and computer readable recording medium for storing program of executing android applications on non-android platform
US9678767B2 (en) Unified extensible firmware interface (UEFI) driver and protocol
CN109308241B (en) Method and device for monitoring starting process of application program, terminal equipment and storage medium
US8856502B2 (en) Pre-installed application activation
TW201349118A (en) Persistent and resilient worker processes
CN103713891A (en) Method and device for graphic rendering on mobile device
JP2007156824A (en) Processor system, task control method
US9047469B2 (en) Modes for applications
CN103699398A (en) Terminal equipment and starting control method thereof
CN109213613B (en) Image information transmission method and device, storage medium and electronic equipment
WO2015078211A1 (en) Method and device for browser to decode picture, and client
CN109388473A (en) Android compatible layer implementation method and system based on mobile operating system
CN103425234B (en) The method of dynamic adjustments image procossing performance and display terminal
CN102262555B (en) Method and device for loading different versions of JAVA three-party library
JP6088531B2 (en) Event service for local client applications through a local server
TWI452517B (en) Software execution method and electronic apparatus using the same
WO2015184902A1 (en) Concurrent processing method for intelligent split-screen and corresponding intelligent terminal
JP2008523491A (en) Method and system for providing access to active objects
CN102214105A (en) Parallel speedy starting method and electronic device having multiple processing units
CN116048771B (en) Resource scheduling method and related equipment
CN116302558A (en) Thread scheduling method and device and electronic equipment
JP6317058B2 (en) Information processing apparatus, information processing system, information processing program, and information processing method
WO2022179101A1 (en) Software storage method under storage architecture

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees