TWI497416B - Application execution system, application compiling system and computer program products thereof - Google Patents

Application execution system, application compiling system and computer program products thereof Download PDF

Info

Publication number
TWI497416B
TWI497416B TW101137064A TW101137064A TWI497416B TW I497416 B TWI497416 B TW I497416B TW 101137064 A TW101137064 A TW 101137064A TW 101137064 A TW101137064 A TW 101137064A TW I497416 B TWI497416 B TW I497416B
Authority
TW
Taiwan
Prior art keywords
application
operating system
program execution
chipset
execution system
Prior art date
Application number
TW101137064A
Other languages
Chinese (zh)
Other versions
TW201415367A (en
Inventor
Chia Hsiang Wang
Ya Ping Wei
Original Assignee
Wistron Neweb 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 Wistron Neweb Corp filed Critical Wistron Neweb Corp
Priority to TW101137064A priority Critical patent/TWI497416B/en
Publication of TW201415367A publication Critical patent/TW201415367A/en
Application granted granted Critical
Publication of TWI497416B publication Critical patent/TWI497416B/en

Links

Description

程式執行系統、程式編譯系統以及電腦程式產品Program execution system, program compilation system, and computer program product

本發明係關於一種程式執行系統,特別係關於一種可根據不同之作業系統以及晶片組轉譯應用程式之程式執行系統。The present invention relates to a program execution system, and more particularly to a program execution system that can translate applications according to different operating systems and wafer sets.

近年來,行動裝置變得越來越普遍且功能也越來越多樣化。舉例來說,類似如手機或平板電腦等手持式裝置可以具備電信通訊能力、收發電子郵件、維持社群網路、通訊錄管理、媒體播放、以及其他各式各樣的功能與應用。使用者可根據本身的需求下載相應的應用程式。In recent years, mobile devices have become more common and more diverse in function. For example, handheld devices such as mobile phones or tablets can have telecommunications capabilities, send and receive email, maintain social networks, address book management, media playback, and a host of other functions and applications. Users can download the corresponding application according to their own needs.

然而,不同廠商之行動裝置其配載之作業系統以及硬體皆不同。相應於不同之作業系統以及硬體,相同功能的應用程式則需具有許多不同版本之程式。因此,造成程式開發人員以及使用者在使用以及編譯上的不方便。However, the mobile devices of different manufacturers have different operating systems and hardware. For different operating systems and hardware, applications with the same functionality need to have many different versions of the program. Therefore, it is inconvenient for the program developers and users to use and compile.

本發明所提供之程式編譯系統可產生可支援不同作業系統以及晶片組之應用程式。本發明所提供之程式執行系統以及電腦程式產品,可根據硬體條件對應用程式進行轉譯,以執行應用程式中之命令。The program compiling system provided by the present invention can generate an application that can support different operating systems and chipsets. The program execution system and the computer program product provided by the invention can translate the application according to the hardware condition to execute the commands in the application.

本發明提供一種程式執行系統。程式執行系統包括一儲存裝置、至少一作業系統、一晶片組以及一通用連結介面。儲存裝置用以儲存一應用程式,其中應用程式支援複 數預設作業系統以及複數預設晶片組。晶片組用以藉由作業系統執行一轉譯應用程式。通用連結介面用以判斷應用程式是否支援作業系統以及晶片組,以及當應用程式支援作業系統以及晶片組時,根據晶片組以及作業系統對應用程式進行轉譯,並且產生轉譯應用程式。The present invention provides a program execution system. The program execution system includes a storage device, at least one operating system, a chipset, and a universal linking interface. The storage device is used to store an application, wherein the application supports the application The preset operating system and the plurality of preset chipsets. The chipset is used to execute a translation application by the operating system. The universal interface is used to determine whether the application supports the operating system and the chipset, and when the application supports the operating system and the chipset, the application is translated according to the chipset and the operating system, and a translation application is generated.

本發明另提供一程式編譯系統。程式編譯系統包括一第一包裝函式模組、一第一轉換函式模組以及一第一連結函式模組。第一包裝函式模組用以將複數命令編譯為一應用程式。第一轉換函式模組用以將複數第一辨識代碼寫入應用程式,其中第一辨識代碼分別代表複數預設作業系統。第一連結函式模組用以將複數第二辨識代碼寫入應用程式,其中第二辨識代碼分別複數預設晶片組。The invention further provides a program compilation system. The program compilation system includes a first package function module, a first conversion function module and a first connection function module. The first wrapper module is used to compile the complex command into an application. The first conversion function module is configured to write the plurality of first identification codes into the application, wherein the first identification code respectively represents a plurality of preset operating systems. The first connection function module is configured to write the plurality of second identification codes into the application, wherein the second identification code is respectively a plurality of preset chip sets.

本發明亦提供一種電腦程式產品,儲存於實體電腦可讀取儲存媒體中,用以被具有一晶片組以及至少一作業系統之電腦裝置載入並且執行。電腦程式產品包括一第一程式碼、一第二程式碼以及一第三程式碼。第一程式碼具有分別相應於複數預設晶片組之複數連結函式,以及用以根據相應於晶片組之連結函式中之一者,對一應用程式進行轉譯。第二程式碼具有分別相應於複數預設作業系統之複數轉換函式,以及用以根據相應於作業系統中之一者之轉換函式中之一者,對應用程式進行轉譯,其中作業系統中之一者係程式執行系統目前所執行之作業系統。第三程式碼具有分別相應於預設作業系統以及預設晶片組之複數包裝函式,以及用以根據相應於作業系統以及晶片組之包裝函式中之一者,對應用程式中之命令進行轉譯。The present invention also provides a computer program product stored in a readable storage medium of a physical computer for loading and execution by a computer device having a chipset and at least one operating system. The computer program product includes a first code, a second code, and a third code. The first code has a plurality of connection functions corresponding to the plurality of predetermined chip sets, and an application for translating according to one of the connection functions corresponding to the chip sets. The second code has a complex conversion function respectively corresponding to the plurality of preset operating systems, and the application is translated according to one of the conversion functions corresponding to one of the operating systems, wherein the operating system is One of them is the operating system currently executed by the program execution system. The third code has a plurality of package functions corresponding to the preset operating system and the preset chip set, and the command in the application is performed according to one of the packaging functions corresponding to the operating system and the chipset. Translation.

以下將詳細討論本發明各種實施例之裝置及使用方法。然而值得注意的是,本發明所提供之許多可行的發明概念可實施在各種特定範圍中。這些特定實施例僅用於舉例說明本發明之裝置及使用方法,但非用於限定本發明之範圍。The apparatus and method of use of various embodiments of the present invention are discussed in detail below. However, it is to be noted that many of the possible inventive concepts provided by the present invention can be implemented in various specific ranges. These specific examples are only intended to illustrate the apparatus and methods of use of the present invention, but are not intended to limit the scope of the invention.

第1圖為本發明所提供之程式執行系統之方塊圖。程式執行系統100包括一儲存裝置102、一作業系統104(Operation System)、一晶片組106以及一通用連結介面108(Common linking interface)。在某些實施例中,程式執行系統100之後端設備可以包括辨識裝置、暫存器和記憶單元等等。除此之外,熟習此技藝人士也可將本發明實施於其他電子系統樣態(configuration)上,例如,手持式設備(hand-held devices)、可攜式設備(portable devices)、個人數位助理(personal digital assistant;PDA)多處理器系統、以微處理器為基礎或可程式化之消費性電子產品(microprocessor-based or programmable consumer electronics)、網路電腦、迷你電腦、大型主機以及類似之設備。Figure 1 is a block diagram of a program execution system provided by the present invention. The program execution system 100 includes a storage device 102, an operation system 104 (Operation System), a chipset 106, and a common linking interface 108. In some embodiments, the program execution system 100 backend device can include an identification device, a scratchpad, a memory unit, and the like. In addition, those skilled in the art can also implement the present invention in other electronic system configurations, such as hand-held devices, portable devices, personal digital assistants. (personal digital assistant; PDA) multiprocessor systems, microprocessor-based or programmable consumer electronics, network computers, minicomputers, mainframes, and the like .

儲存裝置102用以儲存一應用程式A1,其中應用程式A1支援複數預設作業系統以及複數預設晶片組,並且應用程式A1更包括複數第一辨識代碼(identification code)以及複數第二辨識代碼。第一辨識代碼分別代表不同之預設作業系統。第二辨識代碼分別代表不同之預設晶片組。舉例 而言,預設作業系統可包括Windows、Android或者iOS。預設晶片組可包括Intel、AMD、VIA等廠商之晶片組。值得注意的是,在某些實施例中,程式執行系統100中之通訊裝置(未圖示)自網路或者其他裝置接收應用程式A1,並將應用程式A1儲存於儲存裝置102中。儲存裝置102可包含唯讀記憶體(read only memory;ROM)、快閃記憶體(flash ROM)以及/或動態存取記憶體(random access memory;RAM),用以儲存可供晶片組106執行之程式模組。一般而言,程式模組包含常序(routines)、程式(program)、物件(object)、元件(component)或網路服務(Web Service)等。The storage device 102 is configured to store an application program A1. The application program A1 supports a plurality of preset operating systems and a plurality of preset chip sets, and the application program A1 further includes a plurality of first identification codes and a plurality of second identification codes. The first identification codes respectively represent different preset operating systems. The second identification codes respectively represent different preset chip sets. Example In terms of default, the default operating system can include Windows, Android or iOS. The preset chipset may include a chipset of a manufacturer such as Intel, AMD, or VIA. It should be noted that in some embodiments, the communication device (not shown) in the program execution system 100 receives the application A1 from the network or other devices, and stores the application A1 in the storage device 102. The storage device 102 can include a read only memory (ROM), a flash ROM, and/or a random access memory (RAM) for storing the available chipsets 106. Program module. Generally, a program module includes a routine, a program, an object, a component, or a web service.

作業系統104用以管理程式執行系統100中之軟體以及其他硬體(未圖示)。晶片組106用以執行一轉譯應用程式。晶片組106亦可包括一處理單元(未圖示),處理單元可包含一單一中央處理單元(central-processing unit;CPU)或者是關連於平行運算環境(parallel processing environment)之複數平行處理單元。The operating system 104 is used to manage software and other hardware (not shown) in the program execution system 100. The chipset 106 is used to execute a translation application. The chipset 106 can also include a processing unit (not shown). The processing unit can include a single central processing unit (CPU) or a plurality of parallel processing units associated with a parallel processing environment.

通用連結介面108用以判斷應用程式A1是否支援作業系統104以及晶片組106,其中通用連結介面108係根據應用程式A1中之第一辨識代碼以及第二辨識代碼判斷應用程式A1是否支援程式執行系統100。當應用程式A1支援程式執行系統100中之作業系統104以及晶片組106時,通用連結介面108根據晶片組106以及作業系統104對應用程式A1進行轉譯,並且產生轉譯應用程式。The universal connection interface 108 is configured to determine whether the application A1 supports the operating system 104 and the chipset 106. The universal connection interface 108 determines whether the application A1 supports the program execution system according to the first identification code and the second identification code in the application A1. 100. When the application A1 supports the operating system 104 and the chipset 106 in the program execution system 100, the universal link interface 108 translates the application A1 according to the chipset 106 and the operating system 104, and generates a translation application.

在本發明之另一實施例中,程式執行系統100可包括 複數作業系統104。當應用程式A1支援程式執行系統100中之作業系統104以及晶片組106時,通用連結介面108係根據晶片組106以及程式執行系統100目前所執行之作業系統104對應用程式A1進行轉譯,並且產生轉譯應用程式。In another embodiment of the present invention, the program execution system 100 can include The plurality of operating systems 104. When the application A1 supports the operating system 104 and the chipset 106 in the program execution system 100, the universal link interface 108 translates the application A1 according to the chipset 106 and the operating system 104 currently executed by the program execution system 100, and generates Translate the app.

值得注意的是,在某些實施例中,通用連結介面108可包括一連結函式模組202(connection function module)、一轉換函式模組204(translation function module)以及一包裝函式模組206(wrapper function module),如第2圖所示。連結函式模組202具有分別相應於複數預設晶片組之複數連結函式。轉換函式模組204具有分別相應於複數預設作業系統之複數轉換函式。包裝函式模組206具有分別相應於複數預設作業系統以及複數預設晶片組之複數包裝函式。值得注意的是,在某些實施例中,連結函式模組202、轉換函式模組204以及包裝函式模組206可為一函式庫。舉例而言,程式執行系統100可包括一函式庫,其中函式庫包括連結函式模組202、轉換函式模組204以及包裝函式模組206之程式碼。在本發明之另一實施例中,連結函式模組202、轉換函式模組204以及包裝函式模組206可為儲存於應用程式A1中之函式庫。舉例而言,應用程式A1可包括一函式庫,其中函式庫包括連結函式模組202、轉換函式模組204以及包裝函式模組206之程式碼。換言之,應用程式A1包括通用連結介面108,其中通用連結介面108係為一函式庫。It should be noted that in some embodiments, the universal connection interface 108 can include a connection function module 202, a translation function module 204, and a packaging function module. 206 (wrapper function module), as shown in Figure 2. The linking function module 202 has a complex linking function corresponding to a plurality of predetermined chip sets, respectively. The conversion function module 204 has complex conversion functions respectively corresponding to the plurality of preset operating systems. The package function module 206 has a plurality of package functions corresponding to the plurality of preset operating systems and the plurality of preset chipsets, respectively. It should be noted that in some embodiments, the connection function module 202, the conversion function module 204, and the package function module 206 can be a library. For example, the program execution system 100 can include a library, wherein the library includes a link function module 202, a conversion function module 204, and a package function module 206. In another embodiment of the present invention, the linking function module 202, the conversion function module 204, and the packaging function module 206 can be a library stored in the application A1. For example, the application A1 may include a library, where the library includes the connection function module 202, the conversion function module 204, and the code of the package function module 206. In other words, the application A1 includes a universal link interface 108, wherein the universal link interface 108 is a library.

第2圖為本發明所提供之程式執行系統的操作示意 圖。當應用程式A1被執行時,程式執行系統100根據應用程式A1中之一第三辨識代碼致能通用連結介面108。在本發之另一實施例中,當應用程式A1被執行時,程式執行系統100直接執行儲存於應用程式A1中之通用連結介面108。接著,通用連結介面108根據應用程式A1中之第一辨識代碼以及第二辨識代碼判斷應用程式A1是否支援程式執行系統100中之作業系統104以及晶片組106。換言之,通用連結介面108判斷應用程式中之第一辨識代碼以及第二辨識代碼所代表之複數預設作業系統以及複數預設晶片組是否包括作業系統104以及晶片組106。當應用程式A1支援程式執行系統100中之作業系統104以及晶片組106時,連結函式模組202用以根據相應於晶片組106之連結函式中之一者,對應用程式A1進行轉譯。接著,轉換函式模組204根據相應於作業系統104中之一者之轉換函式中之一者,對應用程式A1進行轉譯。最後,包裝函式模組206根據相應於作業系統104以及晶片組106之包裝函式中之一者,對應用程式A1中之命令進行轉譯,以提供一轉譯應用程式A2至作業系統104。作業系統104根據轉譯應用程式A2,致使晶片組106執行轉譯應用程式A2中之命令。值得注意的是,在某些實施例中,程式執行系統100可包括複數作業系統104,轉換函式模組204係根據目前程式執行系統100所執行之作業系統104,擷取相應之轉換函式,以對應用程式A1進行轉譯。包裝函式模組206係根據目前程式執行系統100所執行之作業系統104,擷取相應之包裝函式,以對應用程式A1中之命令進 行轉譯。Figure 2 is a schematic diagram of the operation of the program execution system provided by the present invention. Figure. When the application A1 is executed, the program execution system 100 enables the universal link interface 108 based on a third identification code in the application A1. In another embodiment of the present invention, when the application A1 is executed, the program execution system 100 directly executes the universal link interface 108 stored in the application A1. Next, the universal connection interface 108 determines whether the application A1 supports the operating system 104 and the chipset 106 in the program execution system 100 based on the first identification code and the second identification code in the application A1. In other words, the universal link interface 108 determines whether the first identification code in the application and the plurality of preset operating systems represented by the second identification code and the plurality of preset chipsets include the operating system 104 and the chipset 106. When the application A1 supports the operating system 104 and the chipset 106 in the program execution system 100, the linking function module 202 is configured to translate the application A1 according to one of the linking functions corresponding to the chipset 106. Next, the conversion function module 204 translates the application A1 according to one of the conversion functions corresponding to one of the operating systems 104. Finally, the wrapper module 206 translates the commands in the application A1 according to one of the wrapper functions corresponding to the operating system 104 and the chipset 106 to provide a translation application A2 to the operating system 104. The operating system 104 causes the chipset 106 to execute the commands in the translation application A2 in accordance with the translation application A2. It should be noted that in some embodiments, the program execution system 100 can include a plurality of operating systems 104. The conversion function module 204 retrieves corresponding conversion functions according to the operating system 104 executed by the current program execution system 100. To translate application A1. The package function module 206 is based on the operating system 104 executed by the current program execution system 100, and retrieves the corresponding package function to enter the command in the application A1. Translation.

第3圖為本發明所提供之程式編譯系統之方塊圖。程式編譯系統300包括一儲存裝置102’、一作業系統104’、一晶片組106’以及一通用連結介面108’,並使用匯流排將其連結在一起。儲存裝置102’包含唯讀記憶體(read only memory;ROM)、快閃記憶體(flash ROM)以及/或動態存取記憶體(random access memory;RAM),用以儲存可供晶片組106’執行之程式模組。一般而言,程式模組包含常序(routines)、程式(program)、物件(object)、元件(component)或網路服務(Web Service)等。作業系統104’用以管理程式編譯系統300中之軟體以及其他硬體(未圖示)。晶片組106’亦可包括一處理單元(未圖示),處理單元可包含一單一中央處理單元(central-processing unit;CPU)或者是關連於平行運算環境(parallel processing environment)之複數平行處理單元。通用連結介面108’包括在某些實施例中,後端設備可以包括辨識裝置、暫存器和記憶單元等等。除此之外,熟習此技藝人士也可將本發明實施於其他電子系統樣態(configuration)上,例如,手持式設備(hand-held devices)、可攜式設備(portable devices)、個人數位助理(personal digital assistant;PDA)多處理器系統、以微處理器為基礎或可程式化之消費性電子產品(microprocessor-based or programmable consumer electronics)、網路電腦、迷你電腦、大型主機以及類似之設備。Figure 3 is a block diagram of a program compiling system provided by the present invention. The program compilation system 300 includes a storage device 102', an operating system 104', a chipset 106', and a universal link interface 108', and is coupled together using a bus bar. The storage device 102' includes a read only memory (ROM), a flash ROM, and/or a random access memory (RAM) for storing the available chipset 106'. Execution program module. Generally, a program module includes a routine, a program, an object, a component, or a web service. The operating system 104' is used to manage software and other hardware (not shown) in the program compilation system 300. The chipset 106' may also include a processing unit (not shown), and the processing unit may include a single central processing unit (CPU) or a plurality of parallel processing units associated with a parallel processing environment. . Universal Link Interface 108' includes, in some embodiments, the backend device can include an identification device, a scratchpad and a memory unit, and the like. In addition, those skilled in the art can also implement the present invention in other electronic system configurations, such as hand-held devices, portable devices, personal digital assistants. (personal digital assistant; PDA) multiprocessor systems, microprocessor-based or programmable consumer electronics, network computers, minicomputers, mainframes, and the like .

第4圖為本發明所提供之程式編譯系統300的操作示意圖。通用連結介面108’包括一包裝函式模組206’、一轉 換函式模組204’以及一連結函式模組202’。包裝函式模組206’用以將複數命令C1-CN編譯為一應用程式。接著,轉換函式模組204’用以將複數第一辨識代碼寫入應用程式,其中第一辨識代碼分別代表複數預設作業系統。最後,連結函式模組202’將複數第二辨識代碼寫入應用程式以產生應用程式A1,其中第二辨識代碼係分別代表複數預設晶片組,並且應用程式A1係用以提供至第1圖所示之程式執行系統100。值得注意的是,應用程式A1可支援具有不同作業系統104以及晶片組106之複數程式執行系統100。程式編譯系統300可透過作業系統104’以及晶片組106’檢測應用程式A1是否可以正常執行。在某些實施例中,連結函式模組202’、轉換函式模組204’以及包裝函式模組206’可為一函式庫。舉例而言,程式編譯系統300可包括一函式庫,其中函式庫包括連結函式模組202’、轉換函式模組204’以及包裝函式模組206’之程式碼。FIG. 4 is a schematic diagram showing the operation of the program compiling system 300 provided by the present invention. The universal connection interface 108' includes a package function module 206', a turn The switch function module 204' and a link function module 202'. The wrapper module 206' is used to compile the complex command C1-CN into an application. Next, the conversion function module 204' is configured to write the plurality of first identification codes into the application, wherein the first identification codes respectively represent the plurality of preset operating systems. Finally, the linking function module 202' writes the plurality of second identification codes into the application to generate the application A1, wherein the second identification code respectively represents a plurality of preset chipsets, and the application A1 is provided to the first The program execution system 100 shown in the figure. It should be noted that the application A1 can support the plurality of program execution systems 100 having different operating systems 104 and chipsets 106. The program compiling system 300 can detect whether the application A1 can be executed normally through the operating system 104' and the chipset 106'. In some embodiments, the linking function module 202', the conversion function module 204', and the packaging function module 206' can be a library. For example, the program compilation system 300 can include a library, wherein the library includes a link function module 202', a conversion function module 204', and a package function module 206'.

在本發明之另一實施例中,程式編譯系統300更用以將一通用連結介面108寫入應用程式A1中,其中通用連結介面108包括連結函式模組202、轉換函式模組204以及包裝函式模組206之程式碼,如第2圖所示。連結函式模組202係用以根據程式執行系統100之晶片組106轉譯應用程式A1。轉換函式模組204係用以根據程式執行系統100之作業系統104轉譯應用程式A1。包裝函式模組206係用以根據程式執行系統100之作業系統104以及晶片組106轉譯應用程式A1中之命令。連結函式模組202、轉換函式模組204以及包裝函式模組206之詳細內容可參考第 1圖以及第2圖之說明,在此不再贅述。由於應用程式A1已具有通用連結介面108,因此在本實施例中應用程式A1亦可支援不具有通用連結介面108之程式執行系統。In another embodiment of the present invention, the program compiling system 300 is further configured to write a universal linking interface 108 into the application A1, wherein the universal linking interface 108 includes a linking function module 202, a conversion function module 204, and The code of the package function module 206 is as shown in FIG. The linking function module 202 is for translating the application A1 according to the chipset 106 of the program execution system 100. The conversion function module 204 is for translating the application A1 according to the operating system 104 of the program execution system 100. The wrapper module 206 is for translating commands in the application A1 according to the operating system 104 of the program execution system 100 and the chipset 106. For details of the connection function module 202, the conversion function module 204, and the package function module 206, refer to the The description of Fig. 1 and Fig. 2 will not be repeated here. Since the application A1 already has the universal connection interface 108, the application A1 can also support the program execution system without the universal connection interface 108 in this embodiment.

本發明亦提供一種電腦程式產品,儲存於實體電腦可讀取儲存媒體中,用以被具有一晶片組以及至少一作業系統電腦裝置載入並且執行,例如程式執行系統100。值得注意的是,以下說明將以程式執行系統100為例,但本發明不限於此。電腦程式產品包括一第一程式碼、一第二程式碼以及一第三程式碼。第一程式碼具有分別相應於複數預設晶片組之複數連結函式,以及用以根據相應於晶片組106之連結函式中之一者,對一應用程式A1進行轉譯。第二程式碼具有分別相應於複數預設作業系統之複數轉換函式,以及用以根據相應於作業系統104中之一者之轉換函式中之一者,對應用程式A1進行轉譯,其中作業系統104中之一者係程式執行系統100目前所執行之作業系統104。第三程式碼具有分別相應於預設作業系統以及預設晶片組之複數包裝函式,以及用以根據相應於作業系統104以及晶片組106之包裝函式中之一者,對應用程式A1中之命令進行轉譯。The present invention also provides a computer program product stored in a readable storage medium of a physical computer for loading and execution by a computer set having at least one operating system, such as program execution system 100. It is to be noted that the following description will be exemplified by the program execution system 100, but the present invention is not limited thereto. The computer program product includes a first code, a second code, and a third code. The first code has a plurality of connection functions respectively corresponding to the plurality of predetermined chip sets, and is used to translate an application A1 according to one of the connection functions corresponding to the chip set 106. The second code has a complex conversion function corresponding to the plurality of preset operating systems, respectively, and a translation of the application A1 according to one of the conversion functions corresponding to one of the operating systems 104, wherein the operation One of the systems 104 is the operating system 104 currently executing by the program execution system 100. The third code has a plurality of package functions corresponding to the preset operating system and the preset chip set, respectively, and is used in the application A1 according to one of the packaging functions corresponding to the operating system 104 and the chip set 106. The order is translated.

本發明所提供之程式編譯系統300可產生可支援不同作業系統以及晶片組之應用程式A1。本發明所提供之程式執行系統100以及電腦程式產品,可根據硬體條件對應用程式A1進行轉譯,以執行應用程式A1中之命令。The program compiling system 300 provided by the present invention can generate an application A1 that can support different operating systems and chipsets. The program execution system 100 and the computer program product provided by the present invention can translate the application program A1 according to the hardware condition to execute the command in the application program A1.

本發明之方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可儲存於實體媒體,如軟碟、光碟片、 硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限於外在形式之電腦程式產品,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之裝置。程式碼也可透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之裝置。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。The method of the invention, or a particular type or portion thereof, may exist in the form of a code. The code can be stored in physical media such as floppy disks, CDs, A hard disk, or any other machine readable (such as computer readable) storage medium, or not limited to an external form of computer program product, wherein when the code is loaded and executed by a machine such as a computer, this The machine becomes a device for participating in the present invention. The code can also be transmitted via some transmission medium, such as a wire or cable, fiber optics, or any transmission type, where the machine becomes part of the program when it is received, loaded, and executed by a machine, such as a computer. Invented device. When implemented in a general purpose processing unit, the code combination processing unit provides a unique means of operation similar to application specific logic.

惟以上所述者,僅為本發明之較佳實施例而已,當不能以此限定本發明實施之範圍,即大凡依本發明申請專利範圍及發明說明內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。另外本發明的任一實施例或申請專利範圍不須達成本發明所揭露之全部目的或優點或特點。此外,摘要部分和標題僅是用來輔助專利文件搜尋之用,並非用來限制本發明之權利範圍。The above is only the preferred embodiment of the present invention, and the scope of the invention is not limited thereto, that is, the simple equivalent changes and modifications made by the scope of the invention and the description of the invention are All remain within the scope of the invention patent. In addition, any of the objects or advantages or features of the present invention are not required to be achieved by any embodiment or application of the invention. In addition, the abstract sections and headings are only used to assist in the search of patent documents and are not intended to limit the scope of the invention.

100‧‧‧程式執行系統100‧‧‧Program execution system

300‧‧‧程式編譯系統300‧‧‧Program Compilation System

102、102’‧‧‧儲存裝置102, 102’‧‧‧ storage devices

104、104’‧‧‧作業系統104, 104’‧‧‧ operating system

106、106’‧‧‧晶片組106, 106’‧‧‧ chipsets

108、108’‧‧‧通用連結介面108, 108'‧‧‧ universal link interface

202、202’‧‧‧連結函式模組202, 202'‧‧‧ Linked Function Module

204、204’‧‧‧轉換函式模組204, 204'‧‧‧ conversion function module

206、206’‧‧‧包裝函式模組206, 206'‧‧‧Package Module

A1‧‧‧應用程式A1‧‧‧Application

A2‧‧‧轉譯應用程式A2‧‧‧ translation application

C1-CN‧‧‧命令C1-CN‧‧‧ Order

第1圖為本發明所提供之程式執行系統之方塊圖;第2圖為本發明所提供之程式執行系統的操作示意圖;第3圖為本發明所提供之程式編譯系統之方塊圖;以及第4圖為本發明所提供之程式編譯系統的操作示意圖。1 is a block diagram of a program execution system provided by the present invention; FIG. 2 is a schematic diagram of operation of a program execution system provided by the present invention; FIG. 3 is a block diagram of a program compiling system provided by the present invention; 4 is a schematic diagram of the operation of the program compiling system provided by the present invention.

100‧‧‧程式執行系統100‧‧‧Program execution system

102‧‧‧儲存裝置102‧‧‧Storage device

104‧‧‧作業系統104‧‧‧Operating system

106‧‧‧晶片組106‧‧‧ Chipset

108‧‧‧通用連結介面108‧‧‧Common link interface

Claims (11)

一種程式執行系統,包括:一儲存裝置,用以儲存一應用程式,其中上述應用程式支援複數預設作業系統以及複數預設晶片組;至少一作業系統;一晶片組,用以藉由上述作業系統執行一轉譯應用程式;以及一通用連結介面,用以判斷上述應用程式是否支援上述作業系統以及上述晶片組,以及當上述應用程式支援上述作業系統以及上述晶片組時,根據上述晶片組以及上述作業系統對上述應用程式進行轉譯,並且產生上述轉譯應用程式,其中上述通用連結介面更包括:一連結函式模組,具有分別相應於上述預設晶片組之複數連結函式,以及用以根據相應於上述晶片組之上述連結函式中之一者,對上述應用程式進行轉譯;一轉換函式模組,具有分別相應於上述預設作業系統之複數轉換函式,以及用以根據相應於上述作業系統中之一者之上述轉換函式中之一者,對上述應用程式進行轉譯,其中上述作業系統中之一者係上述程式執行系統目前所執行之作業系統;以及一包裝函式模組,具有分別相應於上述預設作業系統以及上述預設晶片組之複數包裝函式,以及用以根據相應於上述作業系統以及上述晶片組之上述包裝函式中之一者,對上述應用程式中之命令進行轉譯。 A program execution system includes: a storage device for storing an application, wherein the application supports a plurality of preset operating systems and a plurality of preset chipsets; at least one operating system; and a chip set for performing the operations The system executes a translation application; and a universal connection interface for determining whether the application supports the operating system and the chipset, and when the application supports the operating system and the chipset, according to the chipset and the above The operating system translates the application and generates the translation application, wherein the universal connection interface further includes: a connection function module having a plurality of connection functions respectively corresponding to the preset chip sets, and Corresponding to one of the foregoing connection functions of the chipset, translating the application; a conversion function module having a complex conversion function respectively corresponding to the preset operating system, and corresponding to In the above conversion function of one of the above operating systems In one case, the application is translated, wherein one of the operating systems is an operating system currently executed by the program execution system; and a packaging function module has a corresponding preset operating system and the foregoing A plurality of package functions of the chip set are provided, and the commands in the application are translated according to one of the package functions corresponding to the operating system and the chip set. 如申請專利範圍第1項所述之程式執行系統,其中 上述應用程式更包括複數第一辨識代碼以及複數第二辨識代碼,上述第一辨識代碼分別代表上述預設作業系統,並且上述第二辨識代碼分別代表上述預設晶片組。 The program execution system of claim 1, wherein The application further includes a plurality of first identification codes and a plurality of second identification codes, wherein the first identification codes respectively represent the preset operating system, and the second identification codes respectively represent the preset chip sets. 如申請專利範圍第2項所述之程式執行系統,其中上述通用連結介面係根據上述第一辨識代碼以及上述第二辨識代碼判斷上述應用程式是否支援上述程式執行系統,其中上述第一辨識代碼包括上述作業系統以及上述第二代碼包括上述晶片組時,上述應用程式支援上述程式執行系統。 The program execution system of claim 2, wherein the universal connection interface determines whether the application program supports the program execution system according to the first identification code and the second identification code, wherein the first identification code includes When the operating system and the second code include the chip set, the application program supports the program execution system. 一種電腦程式產品,儲存於實體電腦可讀取儲存媒體中,用以被具有一晶片組以及至少一作業系統之電腦裝置載入並且執行,上述電腦程式產品包括:一第一包裝函式,用以將複數命令編譯為一應用程式;一第一轉換函式,用以將複數第一辨識代碼寫入上述應用程式,其中上述第一辨識代碼分別代表複數預設作業系統;以及一第一連結函式,用以將複數第二辨識代碼寫入上述應用程式,其中上述第二辨識代碼分別複數預設晶片組。 A computer program product stored in a readable storage medium of a physical computer for loading and executing by a computer device having a chip set and at least one operating system, the computer program product comprising: a first packaging function, Compiling the complex command into an application; a first conversion function for writing the plurality of first identification codes to the application, wherein the first identification code respectively represents a plurality of preset operating systems; and a first link And a function for writing the plurality of second identification codes into the application, wherein the second identification codes are respectively a plurality of preset chipsets. 如申請專利範圍第4項所述之電腦程式產品,更包括一函式庫,上述函式庫包括上述第一包裝函式、上述第一轉換函式以及上述第一連結函式之程式碼。 The computer program product of claim 4, further comprising a library, wherein the library comprises the first package function, the first conversion function, and the code of the first connection function. 如申請專利範圍第4項所述之電腦程式產品,其中上述應用程式係用以提供至一程式執行系統,並且上述應用程式更包括一程式碼用以構成一通用連結介面,其中上述通用連結介面包括一第二連結函式、一第二轉換函式以 及一第二包裝函式。 The computer program product of claim 4, wherein the application is provided to a program execution system, and the application further includes a code for forming a universal connection interface, wherein the universal connection interface Including a second linking function and a second converting function And a second package function. 如申請專利範圍第6項所述之電腦程式產品,其中上述第二連結函式係用以根據上述程式執行系統之晶片組轉譯上述應用程式,上述第二轉換函式係用以根據上述程式執行系統之作業系統轉譯上述應用程式,以及上述第二包裝函式係用以根據上述程式執行系統之作業系統以及晶片組轉譯上述應用程式中之命令。 The computer program product of claim 6, wherein the second link function is for translating the application according to the chipset of the program execution system, and the second conversion function is configured to execute according to the program The operating system of the system translates the application, and the second packaging function is used to translate the commands in the application according to the operating system of the program execution system and the chipset. 如申請專利範圍第4項所述之電腦程式產品,其中包括上述第一辨識代碼以及上述第二辨識代碼之上述應用程式係用以提供至複數程式執行系統,並且每一上述程式執行系統具有不同之作業系統以及晶片組。 The computer program product of claim 4, wherein the application code including the first identification code and the second identification code is provided to a plurality of program execution systems, and each of the program execution systems has a different Operating system and chipset. 如申請專利範圍第6項所述之電腦程式產品,其中上述通用連結介面係用以根據上述第一辨識代碼以及第二辨識代碼,判斷上述應用程式是否支援上述程式執行系統之作業系統以及晶片組,其中上述第一辨識代碼包括上述程式執行系統之作業系統以及上述第二辨識代碼包括上述程式執行系統之晶片組時,上述應用程式支援上述程式執行系統。 The computer program product of claim 6, wherein the universal connection interface is configured to determine, according to the first identification code and the second identification code, whether the application program supports the operating system and the chipset of the program execution system. The application program supports the program execution system when the first identification code includes the operating system of the program execution system and the second identification code includes the chipset of the program execution system. 如申請專利範圍第9項所述之電腦程式產品,其中上述第二連結函式係用以根據上述程式執行系統之晶片組轉譯上述應用程式,上述第二轉換函式係用以根據上述程式執行系統之作業系統轉譯上述應用程式,以及上述第二包裝函式係用以根據上述程式執行系統之作業系統以及晶片組轉譯上述應用程式中之命令。 The computer program product of claim 9, wherein the second link function is for translating the application according to the chipset of the program execution system, wherein the second conversion function is executed according to the program The operating system of the system translates the application, and the second packaging function is used to translate the commands in the application according to the operating system of the program execution system and the chipset. 一種電腦程式產品,儲存於實體電腦可讀取儲存 媒體中,用以被具有一晶片組以及至少一作業系統之電腦裝置載入並且執行,上述電腦程式產品包括:一第一程式碼,具有分別相應於複數預設晶片組之複數連結函式,以及用以根據相應於上述晶片組之上述連結函式中之一者,對一應用程式進行轉譯;一第二程式碼,具有分別相應於複數預設作業系統之複數轉換函式,以及用以根據相應於上述作業系統中之一者之上述轉換函式中之一者,對上述應用程式進行轉譯,其中上述作業系統中之一者係上述程式執行系統目前所執行之作業系統;以及一第三程式碼,具有分別相應於上述預設作業系統以及上述預設晶片組之複數包裝函式,以及用以根據相應於上述作業系統以及上述晶片組之上述包裝函式中之一者,對上述應用程式中之命令進行轉譯。A computer program product stored in a physical computer for reading and storage The media program is loaded and executed by a computer device having a chip set and at least one operating system, the computer program product comprising: a first code having a plurality of connection functions respectively corresponding to the plurality of preset chip sets, And translating an application according to one of the connection functions corresponding to the chip set; a second code having a complex conversion function corresponding to the plurality of preset operating systems, and Translating the application according to one of the conversion functions corresponding to one of the operating systems, wherein one of the operating systems is an operating system currently executed by the program execution system; a three-package code having a plurality of package functions respectively corresponding to the preset operating system and the predetermined chip set, and one of the above-mentioned packaging functions corresponding to the operating system and the chip set The commands in the application are translated.
TW101137064A 2012-10-08 2012-10-08 Application execution system, application compiling system and computer program products thereof TWI497416B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW101137064A TWI497416B (en) 2012-10-08 2012-10-08 Application execution system, application compiling system and computer program products thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW101137064A TWI497416B (en) 2012-10-08 2012-10-08 Application execution system, application compiling system and computer program products thereof

Publications (2)

Publication Number Publication Date
TW201415367A TW201415367A (en) 2014-04-16
TWI497416B true TWI497416B (en) 2015-08-21

Family

ID=54343361

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101137064A TWI497416B (en) 2012-10-08 2012-10-08 Application execution system, application compiling system and computer program products thereof

Country Status (1)

Country Link
TW (1) TWI497416B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7437546B2 (en) * 2005-08-03 2008-10-14 Intel Corporation Multiple, cooperating operating systems (OS) platform system and method
TWI306215B (en) * 2005-04-29 2009-02-11 Ind Tech Res Inst Method and corresponding apparatus for compiling high-level languages into specific processor architectures
US7496495B2 (en) * 2005-05-12 2009-02-24 Microsoft Corporation Virtual operating system device communication relying on memory access violations
TWI350970B (en) * 2005-08-25 2011-10-21 Silicon Image Inc System and method for presenting physical drives as one or more virtual drives and computer readable medium containing related instructions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI306215B (en) * 2005-04-29 2009-02-11 Ind Tech Res Inst Method and corresponding apparatus for compiling high-level languages into specific processor architectures
US7496495B2 (en) * 2005-05-12 2009-02-24 Microsoft Corporation Virtual operating system device communication relying on memory access violations
US7437546B2 (en) * 2005-08-03 2008-10-14 Intel Corporation Multiple, cooperating operating systems (OS) platform system and method
TWI350970B (en) * 2005-08-25 2011-10-21 Silicon Image Inc System and method for presenting physical drives as one or more virtual drives and computer readable medium containing related instructions

Also Published As

Publication number Publication date
TW201415367A (en) 2014-04-16

Similar Documents

Publication Publication Date Title
JP6871957B2 (en) Emulated endpoint configuration
US11487517B2 (en) Techniques for distributed operation of secure controllers
US10282192B1 (en) Updating device code through a bus
AU2018212186B2 (en) Service processing method and apparatus
JP6518794B2 (en) Plug-in packaging method, apparatus and terminal
KR101087182B1 (en) Storage tester and solid state drive device
US8549502B2 (en) Compiler with user-defined type inference rules
CN108052327A (en) A kind of kernel module compiling, loading method and device
RU2616164C9 (en) Methods and device for browser engine work
TWI497416B (en) Application execution system, application compiling system and computer program products thereof
CN104572638A (en) Data reading and writing method and device
CN104765626B (en) A kind of firmware program programming method and device
CN106484375B (en) Instruction block loading method, soft switch equipment and system
WO2020181473A1 (en) CIRCUIT STRUCTURE, SYSTEM ON CHIP (SoC), AND DATA PROCESSING METHOD
US11157423B2 (en) Pipelined-data-transform-enabled data mover system
CN103488505A (en) Patching method, device and system
CN108304186A (en) A kind of method and apparatus executing multi-mode operation based on synthesized configuration file
US10572671B2 (en) Checking method, checking system and checking device for processor security
US20150127888A1 (en) Data Storage Device and Error Correction Method Thereof
US8495033B2 (en) Data processing
CN111158733A (en) BMC upgrading method, device, equipment and computer readable storage medium
US9588814B2 (en) Fast approximate conflict detection
JP6217386B2 (en) Program generation method for multiprocessor
WO2018094937A1 (en) Quick upgrade method for embedded software and embedded device
CN115186017A (en) Method, device and storage medium for reading and writing waveform file in target waveform format