Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7665495B2 - Process Schedule Method - Google Patents
[go: Go Back, main page]

JP7665495B2 - Process Schedule Method - Google Patents

Process Schedule Method Download PDF

Info

Publication number
JP7665495B2
JP7665495B2 JP2021183713A JP2021183713A JP7665495B2 JP 7665495 B2 JP7665495 B2 JP 7665495B2 JP 2021183713 A JP2021183713 A JP 2021183713A JP 2021183713 A JP2021183713 A JP 2021183713A JP 7665495 B2 JP7665495 B2 JP 7665495B2
Authority
JP
Japan
Prior art keywords
extended schedule
processing
extended
schedule
event
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2021183713A
Other languages
Japanese (ja)
Other versions
JP2023071103A (en
Inventor
成昊 金
祐策 大塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2021183713A priority Critical patent/JP7665495B2/en
Publication of JP2023071103A publication Critical patent/JP2023071103A/en
Application granted granted Critical
Publication of JP7665495B2 publication Critical patent/JP7665495B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、プロセススケジュール方法に係り、特に、リアルタイムOSにおいて、OS固有のプロセスのスケジューリングを拡張して、ユーザがプロセスの起動のトリガーとなるイベントと起動するプロセスの内容を定義しうるプロセススケジュール方法に関する。 The present invention relates to a process scheduling method, and in particular to a process scheduling method that extends OS-specific process scheduling in a real-time OS, allowing the user to define the events that will trigger the start of a process and the content of the process to be started.

従来、制御システムにおけるコントローラ上の制御アプリケーションソフトウェア(以下、アプリケーションソフトウェアを単に「アプリ」ともいう)のリアルタイム性を保証するためには、専用のRTOS(Real Time Operating System)を採用し、アプリのリアルタイム性を保証するのが一般的であった。しかしながら、RTOSは、リアルタイム性保証に特化した機能しか持たず、近年IoT(Internet of Things:モノのインターネット)時代に要求されている他機器との接続性やデータ処理のためのAI等の技術を実装・運用できない。そのため、Linux(登録商標)等の汎用OSの採用したコントローラが普及している。汎用OS上で従来の制御アプリを運用する場合、アプリの順序制御が汎用OSのスケジュールの特性に左右されてしまう。特に、アプリの異常が発生した場合、従来のRTOSではRTOS処理の延長で異常対策処理を行うケースが多い。それによって異常処理が優先的にかつ即時に処理されるため、システムの異常停止などの異常対策によってシステムの安全性を保つことができる。しかしながら、汎用OS上で同じ処理を実現するのは困難である。この解決策として汎用OSに対して、従来のRTOSのスケジューラ特性を実現する拡張したスケジューラを設ける方法がある。 Conventionally, in order to guarantee the real-time nature of control application software (hereinafter, application software is also simply referred to as "application") on a controller in a control system, it was common to adopt a dedicated RTOS (Real Time Operating System) to guarantee the real-time nature of the application. However, an RTOS only has functions specialized for guaranteeing real-time nature, and cannot implement and operate technologies such as AI for data processing and connectivity with other devices, which are required in the recent IoT (Internet of Things) era. For this reason, controllers that adopt general-purpose OS such as Linux (registered trademark) are becoming widespread. When operating conventional control applications on a general-purpose OS, the order control of the application is influenced by the schedule characteristics of the general-purpose OS. In particular, when an abnormality occurs in an application, in conventional RTOS, abnormality countermeasure processing is often performed as an extension of RTOS processing. As a result, abnormality processing is processed preferentially and immediately, and the safety of the system can be maintained by abnormality countermeasures such as abnormal system shutdown. However, it is difficult to realize the same processing on a general-purpose OS. One solution to this problem is to provide a general-purpose OS with an extended scheduler that realizes the scheduler characteristics of a conventional RTOS.

これに関連し、仮想計算機上で実行されるゲストOSのスケジュールに関しては、例えば、特許文献1がある。特許文献1では、仮想計算機のスケジュールのために、仮想計算機マネージャに、ゲストOSスケジューラを設け、計測されたゲストOSの動作周波数に基づいて、ゲストOSに対するCPUの割当を調整するように、ゲストOSをスケジュールする仮想計算機システムが開示されている。また、VoIPを実行するためのスレッド処理のスケジューリングに関する技術としては、例えば、特許文献2がある。特許文献2の呼処理装置は、呼処理イベントをキューイングする第1のスケジューラの外に、イベント処理スレッドを生成し、各イベントキュー管理オブジェクトから呼処理イベントを抽出して実行させる第2のスケジューラを設けている。 In relation to this, for example, Patent Document 1 discloses a technique for scheduling a guest OS executed on a virtual computer. Patent Document 1 discloses a virtual computer system in which a guest OS scheduler is provided in a virtual computer manager for scheduling the virtual computer, and the guest OS is scheduled so as to adjust the CPU allocation to the guest OS based on the measured operating frequency of the guest OS. Patent Document 2, for example, discloses a technique for scheduling thread processing for executing VoIP. The call processing device of Patent Document 2 includes, in addition to a first scheduler that queues call processing events, a second scheduler that generates an event processing thread and extracts and executes call processing events from each event queue management object.

特開2009-110404号公報JP 2009-110404 A 特開2010-73214号公報JP 2010-73214 A

特許文献1は、仮想計算機マネージャ上に新たなスケジューラを設けて、ゲストOSのスケジューリングを行う技術であり、特許文献2に記載された呼処理装置では、第2のスケジューラを設けることにより、処理デッドライン内で実行するタスクの順序を再調整し、CPUの性能が低下しないようにしている。 Patent document 1 describes a technology that provides a new scheduler on a virtual machine manager to schedule guest OSs, while the call processing device described in patent document 2 provides a second scheduler to readjust the order of tasks to be executed within the processing deadline, preventing a decrease in CPU performance.

しかしながら、これらの拡張されたスケジューラは、スケジューラを動作させるときと、そのスケジュール内容は、ユーザ側で変更することはできない。 However, with these enhanced schedulers, the time when the scheduler runs and the schedule contents cannot be changed by the user.

汎用OSにおけるアプリスケジュール方法に関して、スケジュールする時点とそのスケジュール内容をユーザが容易に変更可能にしたいと要請がある。それによって、従来、RTOS上で実行された制御アプリのスケジューラが汎用OS上でも実現可能となる。また、全アプリが動作する前に必要な処理をユーザ側で容易で変更できるため、多様なアプリのスケジュール方法が実現できる。 Regarding application scheduling methods in a general-purpose OS, there is a demand for the user to be able to easily change the scheduling time and schedule contents. This will make it possible to implement a scheduler for control applications that was previously executed on an RTOS on a general-purpose OS. In addition, because the user can easily change the processing required before all applications are run, a variety of application scheduling methods can be realized.

本発明の目的は、制御アプリのスケジューラを汎用OS上でも実現可能とし、スケジュールする時点とそのスケジュール内容をユーザが変更しうるプロセススケジュール方法を提供することにある。 The objective of the present invention is to provide a process scheduling method that enables a control application scheduler to be implemented on a general-purpose OS and allows the user to change the scheduling time and schedule contents.

本発明のプロセススケジュール方法は、汎用OS上で実行されるプロセスをスケジューリングする情報処理装置のプロセススケジュール方法であって、情報処理装置が、OSの特定されたOS内部処理関数の実行時に、OSとは別個にプロセスをスケジューリングする拡張スケジュールプロセス処理を起床するステップと、情報処理装置が、拡張スケジュールプロセス処理により、拡張スケジュール処理内容プログラムによるプロセスをスケジューリングするステップとを有するようしたものである。 The process scheduling method of the present invention is a process scheduling method for an information processing device that schedules a process executed on a general-purpose OS, and includes a step in which the information processing device wakes up an extended schedule process process that schedules a process separately from the OS when the OS executes a specified OS internal processing function, and a step in which the information processing device schedules a process according to an extended schedule process content program by the extended schedule process process.

本発明によれば、制御アプリのスケジューラを汎用OS上でも実現可能とし、スケジュールする時点とそのスケジュール内容をユーザが変更しうるプロセススケジュール方法を提供することができる。 The present invention makes it possible to implement a control application scheduler on a general-purpose OS, and provides a process scheduling method that allows the user to change the scheduling time and schedule contents.

実施形態1に係るプロセススケジュール方法が適用される情報処理装置の機能構成図である。1 is a functional configuration diagram of an information processing apparatus to which a process scheduling method according to a first embodiment is applied; 実施形態1に係るプロセススケジュール方法が適用される情報処理装置のハードウェア・ソフトウェア構成図である。1 is a diagram illustrating a hardware/software configuration of an information processing apparatus to which a process scheduling method according to a first embodiment is applied. 拡張スケジュール管理テーブルの一例を示す図である。FIG. 13 illustrates an example of an extended schedule management table. 拡張スケジュールイベントフック処理テンプレートの一例を示す図である。FIG. 13 illustrates an example of an extended schedule event hook process template. 実施形態1に係る拡張スケジュールイベント情報テーブルの一例を示す図である。FIG. 13 is a diagram illustrating an example of an extended schedule event information table according to the first embodiment. OSスケジュールと拡張スケジュールの関係の概要を示した図である。FIG. 13 is a diagram illustrating an overview of the relationship between an OS schedule and an extended schedule. 拡張スケジュールイベント選定処理を示すフローチャートである。13 is a flowchart showing an extended schedule event selection process. 拡張スケジュールイベントフック処理作成処理を示すフローチャートである。13 is a flowchart showing an extended schedule event hook process creating process. 拡張スケジュールイベントフック処理を示すフローチャートである。13 is a flowchart showing an extended schedule event hook process. 拡張スケジュール処理内容プログラム登録処理を示すフローチャートである。13 is a flowchart showing an extended schedule processing content program registration process. 実施形態1に係る拡張スケジュール起床処理を示すフローチャートである。10 is a flowchart showing an extended schedule wake-up process according to the first embodiment. 実施形態1に係る拡張スケジュールプロセス処理を示すフローチャートである。10 is a flowchart illustrating an extended schedule process according to the first embodiment. OS内部処理関数CallGraph画面のユーザインタフェースを説明する図である。13 is a diagram illustrating a user interface of an OS internal processing function CallGraph screen. FIG. 実施形態2に係るプロセススケジュール方法が適用される情報処理装置の機能構成図である。FIG. 11 is a functional configuration diagram of an information processing apparatus to which a process scheduling method according to a second embodiment is applied. 実施形態2に係るプロセススケジュール方法が適用される情報処理装置のハードウェア・ソフトウェア構成図である。FIG. 11 is a hardware/software configuration diagram of an information processing apparatus to which a process scheduling method according to a second embodiment is applied. 実施形態2に係る拡張スケジュールイベント情報テーブルの一例を示す図である。FIG. 11 is a diagram illustrating an example of an extended schedule event information table according to the second embodiment. 実施形態2に係る拡張スケジュール起床処理を示すフローチャートである。10 is a flowchart showing an extended schedule wake-up process according to a second embodiment. 実施形態2に係る拡張スケジュールプロセス処理を示すフローチャートである(その一)。13 is a flowchart showing an extended schedule process according to the second embodiment (part 1); 実施形態2に係る拡張スケジュールプロセス処理を示すフローチャートである(その二)。13 is a flowchart showing an extended schedule process according to the second embodiment (part 2);

以下、本発明に係る各実施形態を、図1ないし図18Bを用いて説明する。 Each embodiment of the present invention will be described below with reference to Figures 1 to 18B.

〔実施形態1〕
以下、本発明に係る実施形態1を、図1ないし図13を用いて説明する。
[Embodiment 1]
Hereinafter, a first embodiment of the present invention will be described with reference to FIGS. 1 to 13. FIG.

先ず、図1および図2を用いて実施形態1に係るプロセススケジュール方法が適用される情報処理装置の構成について説明する。 First, the configuration of an information processing device to which the process scheduling method according to the first embodiment is applied will be described with reference to Figures 1 and 2.

本発明のプロセススケジュール方法が適用される情報処理装置100は、図1に示されるように、機能構成として、拡張スケジュールイベント選定部101、拡張スケジュールイベントフック処理作成部110、拡張スケジュール処理内容プログラム登録部120、拡張スケジュール処理内容プログラム121、拡張スケジュールプロセス部130、アプリ140、OS(Operating System)150、記憶部160を備える。 As shown in FIG. 1, an information processing device 100 to which the process scheduling method of the present invention is applied has, as its functional configuration, an extended schedule event selection unit 101, an extended schedule event hook processing creation unit 110, an extended schedule processing content program registration unit 120, an extended schedule processing content program 121, an extended schedule processing unit 130, an application 140, an OS (Operating System) 150, and a memory unit 160.

OS150は、コンピュータのオペレーション(操作・運用・運転)を司るハードウェアとソフトウェアの仲立ちとなるシステムソフトウェアであり、例えば、Linux(登録商標)やWindows(登録商標)のような汎用OSである。 OS 150 is system software that acts as an intermediary between the hardware and software that governs the operation (operation, management, and running) of the computer, and is, for example, a general-purpose OS such as Linux (registered trademark) or Windows (registered trademark).

本実施形態のOS150は、機能として、後に説明するスケジュール部151、拡張スケジュールイベントフック処理プログラム152、拡張スケジュールプロセス起床部153を備える。 The OS 150 of this embodiment has as its functions a schedule unit 151, an extended schedule event hook processing program 152, and an extended schedule process wake-up unit 153, which will be described later.

ここで、拡張スケジュールとは、OS150本来のプロセススケジュールとは、別にユーザが新たにプロセスの実行順番や内容を定義して実行することを可能にするプロセスのスケジューリングである。 Here, the extended schedule is process scheduling that allows the user to define and execute new process order and contents separately from the original process schedule of OS 150.

スケジュール部151は、OS固有のプロセスのスケジューリングを行う機能部である。 The scheduler 151 is a functional unit that schedules OS-specific processes.

アプリ140は、生産的な役割や制御を行うOS150上で実行される応用ソフトウェアのプログラムである。アプリ140は、通常、複数存在し、OS150が管理するプロセス単位で実行される。 App 140 is an application software program that runs on OS 150 and performs productive roles and control. There are usually multiple apps 140, and they are executed in process units managed by OS 150.

拡張スケジュールイベント選定部101は、後述する拡張スケジュールプロセス部130を起床(Wake Up)するために指定するOS150のカーネルのOS内部処理関数を選定する機能部である。 The extended schedule event selection unit 101 is a functional unit that selects an internal OS processing function of the kernel of the OS 150 to be specified to wake up the extended schedule process unit 130 described below.

拡張スケジュールイベントフック処理作成部110は、後述の拡張スケジュールイベントフック処理プログラム152を作成する機能部である。 The extended schedule event hook processing creation unit 110 is a functional unit that creates the extended schedule event hook processing program 152 described below.

拡張スケジュールイベントフック処理プログラム152は、後述の拡張スケジュールイベントフック処理テンプレート201に基づいて作成されるプログラムであり、後述の拡張スケジュールプロセス部130を起床するイベントとして選定された内部関数によるOSプロセスが、OS150上で実行されるときに、拡張スケジュールの実行のためのイベントのフック(取り掛かり)として実行されるプログラムである。拡張スケジュールイベントフック処理プログラム152は、OS150の内部処理として挿入され、その挿入の仕組みは、例えば、Linux(登録商標)の場合のFtraceのように、OS150が備えている機能を使用してもよい。OS150に挿入された拡張スケジュールイベントフック処理プログラム152は、後述する拡張スケジュールプロセス起床部153を呼び出し、拡張スケジュールプロセス部130の処理に必要なパラメータを、後述の拡張スケジュールイベント情報テーブル202に格納する。 The extended schedule event hook processing program 152 is a program created based on the extended schedule event hook processing template 201 described later, and is executed as an event hook (start) for executing an extended schedule when an OS process by an internal function selected as an event for waking up the extended schedule process unit 130 described later is executed on the OS 150. The extended schedule event hook processing program 152 is inserted as an internal process of the OS 150, and the mechanism for the insertion may use a function provided by the OS 150, such as Ftrace in the case of Linux (registered trademark). The extended schedule event hook processing program 152 inserted into the OS 150 calls the extended schedule process wake-up unit 153 described later, and stores parameters required for the processing of the extended schedule process unit 130 in the extended schedule event information table 202 described later.

拡張スケジュール処理内容プログラム登録部120は、後述の拡張スケジュール処理内容プログラム121を登録する機能部である。 The extended schedule processing content program registration unit 120 is a functional unit that registers the extended schedule processing content program 121 described below.

拡張スケジュール処理内容プログラム121は、拡張スケジュールのプロセスの機能を実現するプログラムである。この拡張スケジュール処理内容プログラム121はユーザが作成したものであり、拡張スケジュールイベント選定部101で選定したOS150のカーネル内部処理関数の実行の延長で実行したい処理を実現するプログラムである。また、拡張スケジュール処理内容プログラム121は、通常、複数、存在してもよく、ユーザの設定に基づいて、拡張スケジュール処理内容プログラム登録部120により、後述の拡張スケジュール管理テーブル200に登録される。 The extended schedule processing content program 121 is a program that realizes the functions of an extended schedule process. This extended schedule processing content program 121 is created by the user, and is a program that realizes the processing to be executed as an extension of the execution of the internal processing function of the kernel of the OS 150 selected by the extended schedule event selection unit 101. In addition, there may usually be multiple extended schedule processing content programs 121, and they are registered in the extended schedule management table 200 described below by the extended schedule processing content program registration unit 120 based on the user's settings.

拡張スケジュールプロセス起床部153は、拡張スケジュールプロセス部130を起床させる機能部である。拡張スケジュールプロセス起床部153は、OS150の内部モジュールとして拡張スケジュールプロセス部130の初期化時にOS150にロードされる。拡張スケジュールプロセス起床部153のロードは、OS150が備えている機能を使用してもよい。 The extended schedule process wake-up unit 153 is a functional unit that wakes up the extended schedule process unit 130. The extended schedule process wake-up unit 153 is loaded into the OS 150 as an internal module of the OS 150 when the extended schedule process unit 130 is initialized. The extended schedule process wake-up unit 153 may be loaded using a function provided by the OS 150.

拡張スケジュールプロセス部130は、後述の拡張スケジュールイベント情報テーブル202で設定されたパラメータを使い、後述の拡張スケジュール管理テーブル200に登録されている拡張スケジュール処理内容プログラム121を実行する機能部である。 The extended schedule processing unit 130 is a functional unit that executes the extended schedule processing content program 121 registered in the extended schedule management table 200, described below, using parameters set in the extended schedule event information table 202, described below.

記憶部160は、プロセススケジュール方法を実現するためのデータを記憶する機能部である。
記憶部160には、拡張スケジュール管理テーブル200、拡張スケジュールイベントフック処理テンプレート201、拡張スケジュールイベント情報テーブル202が保持される。
The storage unit 160 is a functional unit that stores data for implementing the process scheduling method.
The storage unit 160 holds an extended schedule management table 200 , an extended schedule event hook process template 201 , and an extended schedule event information table 202 .

なお、各テーブルの詳細は、後に説明する。 Details about each table will be explained later.

次に、図2を用いて、本発明のプロセススケジュール方法が適用される情報処理装置のハードウェア・ソフトウェア構成について説明する。
本発明のプロセススケジュール方法が適用される情報処理装置100は、図1に示されるように、ハードウェア構成は、例えば、図2に示されるパーソナルコンピュータのような一般的な情報処理装置で実現される。
Next, the hardware and software configuration of an information processing apparatus to which the process scheduling method of the present invention is applied will be described with reference to FIG.
An information processing apparatus 100 to which the process scheduling method of the present invention is applied, as shown in FIG. 1, has a hardware configuration realized by a general information processing apparatus such as a personal computer shown in FIG.

情報処理装置100は、CPU(Central Processing Unit)302、主記憶装置304、ネットワークI/F(InterFace)306、表示I/F308、入出力I/F310、補助記憶I/F312が、バスにより結合された形態になっている。 The information processing device 100 includes a CPU (Central Processing Unit) 302, a main memory device 304, a network I/F (Interface) 306, a display I/F 308, an input/output I/F 310, and an auxiliary memory I/F 312, all connected via a bus.

CPU302は、情報処理装置100の各部を制御し、主記憶装置304に必要なプログラムをロードして実行する。 The CPU 302 controls each part of the information processing device 100 and loads and executes necessary programs into the main memory device 304.

主記憶装置304は、通常、RAMなどの揮発メモリで構成され、CPU302が実行するプログラム、参照するデータが記憶される。 The main memory device 304 is typically composed of volatile memory such as RAM, and stores the programs executed by the CPU 302 and the data referenced by it.

ネットワークI/F306は、ネットワーク5と接続するためのインタフェースである。 Network I/F 306 is an interface for connecting to network 5.

表示I/F308は、LCD(Liquid Crystal Display)などの表示装置320を接続するためのインタフェースである。 The display I/F 308 is an interface for connecting a display device 320 such as an LCD (Liquid Crystal Display).

入出力I/F310は、入出力装置を接続するためのインタフェースである。図2の例では、キーボード330とポインティングデバイスのマウス332が接続されている。 The input/output I/F 310 is an interface for connecting input/output devices. In the example of FIG. 2, a keyboard 330 and a pointing device, a mouse 332, are connected.

補助記憶I/F312は、HDD(Hard Disk Drive)350やSSD(Solid State Drive)などの補助記憶装置を接続するためのインタフェースである。 The auxiliary memory I/F 312 is an interface for connecting an auxiliary memory device such as a hard disk drive (HDD) 350 or a solid state drive (SSD).

HDD350は、大容量の記憶容量を有しており、本実施形態を実行するためのプログラムが格納されている。情報処理装置100には、拡張スケジュールイベント選定プログラム361、拡張スケジュールイベントフック処理作成プログラム362、拡張スケジュール処理内容プログラム登録プログラム363、拡張スケジュール処理内容プログラム121、拡張スケジュールプロセスプログラム364がインストールされている。 The HDD 350 has a large storage capacity and stores the programs for executing this embodiment. An extended schedule event selection program 361, an extended schedule event hook process creation program 362, an extended schedule processing content program registration program 363, an extended schedule processing content program 121, and an extended schedule process program 364 are installed in the information processing device 100.

拡張スケジュールイベント選定プログラム361、拡張スケジュールイベントフック処理作成プログラム362、拡張スケジュール処理内容プログラム登録プログラム363、拡張スケジュールプロセスプログラム364は、それぞれ拡張スケジュールイベント選定部101、拡張スケジュールイベントフック処理作成部110、拡張スケジュール処理内容プログラム登録部120、拡張スケジュールプロセス部130の機能を実現するプログラムである。 The extended schedule event selection program 361, the extended schedule event hook processing creation program 362, the extended schedule processing content program registration program 363, and the extended schedule process program 364 are programs that respectively realize the functions of the extended schedule event selection unit 101, the extended schedule event hook processing creation unit 110, the extended schedule processing content program registration unit 120, and the extended schedule process unit 130.

また、情報処理装置100には、一般的な応用プログラムとして、アプリ140と、基本ソフトウェアとしてのOS150がインストールされている。 In addition, the information processing device 100 is installed with an app 140 as a general application program and an OS 150 as basic software.

また、OS150のプログラムとして、スケジュールプログラム、拡張スケジュールイベントフック処理プログラム152、拡張スケジュールプロセス起床プログラムを備えている(省略)。スケジュールプログラム、拡張スケジュールプロセス起床プログラムは、それぞれスケジュール部151、拡張スケジュールプロセス起床部153の機能を実現するプログラムである。拡張スケジュールイベントフック処理プログラム152は、既に説明したように、OS150のプログラムとして埋め込まれている。 Furthermore, OS 150 includes, as its programs, a schedule program, an extended schedule event hook processing program 152, and an extended schedule process wake-up program (omitted). The schedule program and the extended schedule process wake-up program are programs that respectively realize the functions of the schedule section 151 and the extended schedule process wake-up section 153. As already explained, the extended schedule event hook processing program 152 is embedded as a program of OS 150.

次に、図3ないし図5を用いて本発明のプロセススケジュール方法に用いられるデータ構造について説明する。 Next, the data structure used in the process scheduling method of the present invention will be explained using Figures 3 to 5.

拡張スケジュール管理テーブル200は、拡張スケジュールに関する情報を管理するテーブルであり、図3に示されるように、拡張スケジュールイベント識別子200a、イベントフック識別子200b、拡張スケジュール処理内容プログラム識別子200cの各フィールドを有する。 The extended schedule management table 200 is a table that manages information related to extended schedules, and as shown in FIG. 3, has fields for an extended schedule event identifier 200a, an event hook identifier 200b, and an extended schedule processing content program identifier 200c.

拡張スケジュールイベント識別子200aには、OSとは別個に定義する拡張スケジュールに関するイベント識別子を一意に特定するための識別子が格納される。拡張スケジュールイベント識別子は、例えば、拡張スケジュールイベント選定部101で選定されたOS150のカーネルのOS内部処理関数と対応付けて作成される。 The extended schedule event identifier 200a stores an identifier for uniquely identifying an event identifier related to an extended schedule defined separately from the OS. The extended schedule event identifier is created, for example, in association with an internal OS processing function of the kernel of the OS 150 selected by the extended schedule event selection unit 101.

イベントフック識別子200bには、拡張スケジュールイベントフック処理作成部110で作成される拡張スケジュールイベントフック処理プログラム152の識別子が格納される。 The event hook identifier 200b stores the identifier of the extended schedule event hook processing program 152 created by the extended schedule event hook processing creation unit 110.

拡張スケジュール処理内容プログラム識別子200cには、OS150のスケジュール部22の延長としての拡張スケジュールに関するプロセスを実行するための拡張スケジュール処理内容プログラム121を一意に特定するための識別子が格納される。 The extended schedule processing content program identifier 200c stores an identifier for uniquely identifying the extended schedule processing content program 121 for executing a process related to an extended schedule as an extension of the schedule section 22 of the OS 150.

拡張スケジュールイベントフック処理テンプレート201は、拡張スケジュールイベントフック処理プログラム152のテンプレートであり、図4に示されるように、関数の形態で、パラメータ設定処理文201a、拡張スケジュールプロセス起床処理呼出文201bからなる。 The extended schedule event hook processing template 201 is a template for the extended schedule event hook processing program 152, and as shown in FIG. 4, is in the form of a function and consists of a parameter setting processing statement 201a and an extended schedule process wake-up processing call statement 201b.

パラメータ設定処理文201aは、OS150のカーネル内部処理関数で使用されるパラメータを設定する処理文である。図4に示される例では、OS150のカーネル内部処理関数で使用されるパラメータとして、拡張スケジュール管理テーブル200に格納されている拡張スケジュールイベント識別子を、PARM0に設定している。 The parameter setting statement 201a is a statement that sets a parameter used in the internal processing function of the kernel of OS150. In the example shown in FIG. 4, the extended schedule event identifier stored in the extended schedule management table 200 is set to PARM0 as a parameter used in the internal processing function of the kernel of OS150.

拡張スケジュールプロセス起床処理呼出文201bは、拡張スケジュールプロセス起床部153の機能を実現するための拡張スケジュールプロセス起床関数をCALLする処理文である。拡張スケジュールプロセス起床関数には、パラメータとして、PARM0,PARM1,PARM2,…のようなパラメータが渡される。ここで、PARM0は、上記のパラメータ設定処理文201aで設定されたパラメータであり、PARM1,PARM2,…は、OS150のKernelから渡され、拡張スケジュールイベントで用いられパラメータである。 The extended schedule process wake-up processing call statement 201b is a processing statement that calls an extended schedule process wake-up function to realize the functionality of the extended schedule process wake-up unit 153. The extended schedule process wake-up function is passed parameters such as PARM0, PARM1, PARM2, .... Here, PARM0 is the parameter set in the parameter setting processing statement 201a above, and PARM1, PARM2, ... are parameters passed from the kernel of the OS 150 and used in the extended schedule event.

本テンプレートは、拡張スケジュールイベントフック処理作成部110で読み込まれ、これを利用して、拡張スケジュールイベントフック処理プログラム152が作成される。 This template is read by the extended schedule event hook processing creation unit 110, and is used to create the extended schedule event hook processing program 152.

拡張スケジュールイベント情報テーブル202は、拡張スケジュールイベントのための情報が格納されるテーブルであり、図5に示されるように、拡張スケジュールイベント識別子202a、イベントフックパラメータ202bの各フィールドからなる。 The extended schedule event information table 202 is a table in which information for extended schedule events is stored, and as shown in FIG. 5, it consists of fields for an extended schedule event identifier 202a and an event hook parameter 202b.

拡張スケジュールイベント識別子202aは、拡張スケジュールイベントを一意に識別する識別子であり、図3の拡張スケジュール管理テーブル200の拡張スケジュールイベント識別子200aとリンクするものである。拡張スケジュールイベント識別子202aの値は、拡張スケジュールイベントフック処理プログラム152から渡される拡張スケジュールイベント識別子(図4のPARM0)を拡張スケジュールプロセス起床部153が設定する。 The extended schedule event identifier 202a is an identifier that uniquely identifies an extended schedule event, and is linked to the extended schedule event identifier 200a in the extended schedule management table 200 in FIG. 3. The value of the extended schedule event identifier 202a is set by the extended schedule process wake-up unit 153 to the extended schedule event identifier (PARM0 in FIG. 4) passed from the extended schedule event hook processing program 152.

イベントフックパラメータ情報202bは、拡張スケジュールイベントフック処理プログラム152から渡され、拡張スケジュールイベントとして使用されるOS150のカーネル内部処理関数から渡されたパラメータ(図4のPARM1,PARM2,…)である。 The event hook parameter information 202b is passed from the extended schedule event hook processing program 152 and is a parameter (PARM1, PARM2, ... in Figure 4) passed from the kernel internal processing function of the OS 150 that is used as an extended schedule event.

次に、図6を用いて本実施形態のプロセススケジュール方法の概要について説明する。
図6は、OSスケジュールと拡張スケジュールの関係の概要を示した図である。
先ず、OS150では、内部のスケジュール処理S01により、OSプロセス、アプリ実行によるユーザプロセスがスケジューリングされて、実行される(S01)。
Next, an outline of the process scheduling method of this embodiment will be described with reference to FIG.
FIG. 6 is a diagram showing an overview of the relationship between the OS schedule and the extended schedule.
First, in the OS 150, an internal schedule process S01 schedules and executes an OS process and a user process resulting from application execution (S01).

ユーザがOS内部処理関数に、拡張スケジュールイベントフック処理プログラム152を埋め込んでいるときに、該当するOSプロセスからスケジュールイベントフック処理プログラムによる拡張スケジュールイベントフック処理が実行される(S02)。 When a user embeds the extended schedule event hook processing program 152 in an OS internal processing function, the extended schedule event hook processing is executed by the schedule event hook processing program from the corresponding OS process (S02).

拡張スケジュールイベントフック処理では、拡張スケジュールプロセス起床処理が行われ、拡張スケジュールプロセス部により起床通知が行われる(S11)。 In the extended schedule event hook processing, the extended schedule process wake-up processing is performed, and a wake-up notification is sent by the extended schedule process unit (S11).

これを受けて、拡張スケジュールプロセス部による拡張スケジュール処理が行われ(S12)、拡張スケジュール処理内容プログラム実行によるプロセスがスケジューリングされて実行される。拡張スケジュールプロセス処理は、すべてのアプリ140によるプロセスより実行優先度を高く設定しておく。 In response to this, extended schedule processing is performed by the extended schedule processing unit (S12), and a process based on the execution of the extended schedule processing content program is scheduled and executed. The extended schedule process processing is set to have a higher execution priority than processes based on all of the applications 140.

上記のように、OS固有のプロセススケジューリングの外に、ユーザがプロセスの内容と実行タイミングを定義可能な拡張スケジューリング機能を設けることより、特定のOS内部処理の延長ですべてのアプリ140によるプロセスが動作する前にユーザ側に処理したい処理をユーザが拡張スケジュール処理内容プログラム121を記述し、その実行プロセスを設定することが可能である。特定のOS内部処理時は、OSの保護モードの機能により、すべてのアプリ140によるプロセスが動作しないことが保証される。その処理の延長で実行される拡張スケジュールイベントフック処理プログラム152によるプロセスもOS内部で処理されるため、すべてのアプリ140によるプロセスが動作しないことが保証される。さらに、拡張スケジュールイベントフック処理プログラム152によるプロセスから呼び出される拡張スケジュールプロセス起床処理も同様にOS内部処理であるため、すべてのアプリ140によるプロセスが動作しないことが保証される。拡張スケジュールプロセス起床処理により、拡張スケジュールイベント情報テーブル202にパラメータが設定され、次に動作されるプロセスがOSのスケジュール処理によって選定される。拡張スケジュールプロセス処理は、すべてのアプリ140によるプロセスより実行優先度を高く設定しておく。そのため、拡張スケジュールプロセス部130が処理を終える前には、すべてのアプリ140によるプロセスが動作されないことが保証できる。そのため、特定の一つのアプリ140によるプロセスの異常が発生した場合、その異常対策処理としてユーザ定義の拡張スケジュール処理内容プログラム121を残りのアプリ140によるプロセスが動作する前に実行することが可能である。すなわち、OS150のスケジューリングの延長としての本発明の拡張スケジューリングユーザ設定の処理で実行することが可能となる。アプリによるプロセスに異常がある場合、Linux(登録商標)ではOS内部処理として例外処理関数が実行される。その例外処理関数を拡張スケジュールのイベントとして選定してその異常時に、システムのリブートや異常発生アプリ以外のアプリの実行をさせる内容を拡張スケジュール処理内容プログラムとしてユーザは柔軟に設定可能である。 As described above, by providing an extended scheduling function that allows the user to define the contents and execution timing of a process in addition to the process scheduling specific to the OS, the user can write the extended schedule processing content program 121 for the processing that the user wants to process before all the processes by the applications 140 run as an extension of the specific OS internal processing, and set the execution process. During the specific OS internal processing, the protected mode function of the OS ensures that the processes by all the applications 140 do not run. Since the process by the extended schedule event hook processing program 152 executed as an extension of that processing is also processed inside the OS, it is guaranteed that the processes by all the applications 140 do not run. Furthermore, since the extended schedule process wake-up processing called from the process by the extended schedule event hook processing program 152 is also an internal OS process, it is guaranteed that the processes by all the applications 140 do not run. By the extended schedule process wake-up processing, parameters are set in the extended schedule event information table 202, and the process to be run next is selected by the schedule processing of the OS. The execution priority of the extended schedule process processing is set higher than that of the processes by all the applications 140. Therefore, it is possible to guarantee that all processes by the applications 140 will not be executed before the extended schedule process unit 130 finishes processing. Therefore, if an abnormality occurs in a process by one specific application 140, it is possible to execute the user-defined extended schedule processing content program 121 as a countermeasure against the abnormality before the processes by the remaining applications 140 are executed. In other words, it is possible to execute the extended scheduling of the present invention as a user-defined process as an extension of the OS 150 scheduling. If an abnormality occurs in a process by an application, an exception handling function is executed as an internal OS process in Linux (registered trademark). The user can flexibly set the content of the extended schedule processing content program to select the exception handling function as an extended schedule event and reboot the system or execute an application other than the application in which the abnormality occurred when the abnormality occurs as the extended schedule processing content program.

次に、図7ないし図12を用いて本実施形態のプロセススケジュール方法の処理について説明する。
これは、拡張スケジュールイベント選定部101により実行される処理である。
Next, the process schedule method of this embodiment will be described with reference to FIGS.
This is a process executed by the extended schedule event selection unit 101 .

先ず、情報処理装置100の拡張スケジュールイベント選定部101のOS内部処理関数CallGraph管理部102は、OS内部処理関数CallGraph画面を表示する(S101)。OS内部処理関数CallGraph画面のユーザインタフェースは、後に詳説する。 First, the OS internal processing function CallGraph management unit 102 of the extended schedule event selection unit 101 of the information processing device 100 displays an OS internal processing function CallGraph screen (S101). The user interface of the OS internal processing function CallGraph screen will be described in detail later.

次に、ユーザは、OS内部処理関数CallGraph画面に表示されるOS内部処理関数を指定し、拡張スケジュールを実行するためのフックポイントを入力する(S102)。 Next, the user specifies the OS internal processing function to be displayed on the OS internal processing function CallGraph screen, and inputs the hook point for executing the extended schedule (S102).

次に、拡張スケジュールイベント選定部101は、拡張スケジュールを一意に識別するための拡張スケジュールイベント識別子を生成し、拡張スケジュール管理テーブル200に設定する(S103)。 Next, the extended schedule event selection unit 101 generates an extended schedule event identifier for uniquely identifying the extended schedule and sets it in the extended schedule management table 200 (S103).

次に、拡張スケジュールイベント選定部101は、入力されたフックポイントに対応するイベントフック識別子を生成し、拡張スケジュール管理テーブル200に設定する(S104)。 Next, the extended schedule event selection unit 101 generates an event hook identifier corresponding to the input hook point and sets it in the extended schedule management table 200 (S104).

次に、図8を用いて拡張スケジュールイベントフック処理作成処理について説明する。
これは、図7に示した拡張スケジュールイベント選定処理の後に実行される処理であり、拡張スケジュールイベントフック処理作成部110により実行される処理である。
Next, the extended schedule event hook process creating process will be described with reference to FIG.
This is a process executed after the extended schedule event selection process shown in FIG.

先ず、情報処理装置100の拡張スケジュールイベントフック処理作成部110は、拡張スケジュールイベントフック処理テンプレート201を読み込む(S201)。 First, the extended schedule event hook process creation unit 110 of the information processing device 100 reads the extended schedule event hook process template 201 (S201).

次に、拡張スケジュールイベントフック処理作成部110は、拡張スケジュールイベントフックプログラムのPARM0に、拡張スケジュール管理テーブル200から拡張スケジュールイベント識別子を読み込む(S202)。 Next, the extended schedule event hook process creation unit 110 reads the extended schedule event identifier from the extended schedule management table 200 into PARM0 of the extended schedule event hook program (S202).

次に、拡張スケジュールイベントフック処理作成部110は、読み込んだ拡張スケジュールイベント識別子を代入するパラメータ設定処理文201aのコードを生成する(S203)。 Next, the extended schedule event hook process creation unit 110 generates code for a parameter setting process statement 201a that assigns the read extended schedule event identifier (S203).

次に、拡張スケジュールイベントフック処理作成部110は、拡張スケジュールイベント識別子に関するイベントフック識別子と拡張スケジュールイベントフックプログラムを対応付け、入力されたフックポイントに対応するOS内部処理関数に、拡張スケジュールイベントフックプログラムを挿入する(S204)。 Next, the extended schedule event hook process creation unit 110 associates the event hook identifier related to the extended schedule event identifier with the extended schedule event hook program, and inserts the extended schedule event hook program into the OS internal processing function corresponding to the input hook point (S204).

イベントフック識別子と拡張スケジュールイベントフックプログラムを対応付けは、例えば、拡張スケジュールイベントフックプログラムの関数名をイベントフック識別子とすることにより行うことができる(図3、図4の例では、テンプレートのHOOKFUNC-♯から、イベントフック識別子として、HOOKFUNC-1~HOOKFUNC-nを生成している)。拡張スケジュールイベントフックプログラムを挿入するとは、例えば、Linux(登録商標)のFtraceユーティリティのように、OS150のカーネルのバイナリコードの対応する箇所にプログラムの実行コードを埋め込むことである。 The event hook identifier and the extended schedule event hook program can be associated with each other, for example, by using the function name of the extended schedule event hook program as the event hook identifier (in the example of Figures 3 and 4, HOOKFUNC-1 to HOOKFUNC-n are generated as event hook identifiers from the template HOOKFUNC-♯). Inserting an extended schedule event hook program means embedding the program's execution code in the corresponding location of the binary code of the kernel of OS 150, like the Ftrace utility of Linux (registered trademark), for example.

次に、図9を用いて拡張スケジュールイベントフック処理について説明する。
これは、図8に示した拡張スケジュールイベントフック処理作成処理の後に実行される処理であり、拡張スケジュールイベントフック処理内容プログラム152により実行される処理である。
Next, the extended schedule event hook process will be described with reference to FIG.
This is a process executed after the extended schedule event hook process creating process shown in FIG. 8, and is a process executed by the extended schedule event hook process content program 152.

先ず、拡張スケジュールイベントフック処理内容プログラム152は、PARM0に、拡張スケジュールイベント識別子を設定する(S301)。このためのパラメータ設定処理文201aのコードは、図8のS203で生成されている。 First, the extended schedule event hook process content program 152 sets an extended schedule event identifier in PARM0 (S301). The code for the parameter setting process statement 201a for this purpose is generated in S203 of FIG. 8.

次に、拡張スケジュールイベントフック処理内容プログラム152は、呼び出されたOS内部処理関数のパラメータを、順に、PARM1,PARM2,…に設定する(S302)。 Next, the extended schedule event hook process content program 152 sets the parameters of the called OS internal processing function to PARM1, PARM2, ... in order (S302).

次に、拡張スケジュールイベントフック処理内容プログラム152は、PARM0,PARM1,PARM2,…のパラメータを渡して、拡張スケジュールプロセス起床処理を呼び出す(S303)。 Next, the extended schedule event hook processing content program 152 passes the parameters PARM0, PARM1, PARM2, ... and calls the extended schedule process wake-up processing (S303).

次に、図10を用いて拡張スケジュール処理内容プログラム登録処理について説明する。
これは、拡張スケジュール処理内容プログラム登録部120によって実行される処理である。
Next, the extended schedule processing content program registration process will be described with reference to FIG.
This is a process executed by the extended schedule processing content program registration section 120 .

先ず、ユーザは、情報処理装置100に、拡張スケジュール処理内容プログラム121を指定し、かつ、拡張スケジュール処理内容プログラム121を実行する拡張スケジュールイベントを識別するための拡張スケジュールイベント識別子を入力する(S401)。 First, the user specifies the extended schedule processing content program 121 in the information processing device 100, and inputs an extended schedule event identifier for identifying the extended schedule event that executes the extended schedule processing content program 121 (S401).

次に、情報処理装置100の拡張スケジュール処理内容プログラム登録部120は、入力された拡張スケジュールイベント識別子に対応し、拡張スケジュール処理内容プログラム121を一意に識別する拡張スケジュール処理内容プログラム識別子を、拡張スケジュール管理テーブル200の拡張スケジュール処理内容プログラム識別子200cに設定する(S402)。拡張スケジュール処理内容プログラム識別子は、例えば、実行ファイル名やFucntion pointerなどのプログラムを一意に識別できるものであればよい。 Next, the extended schedule processing content program registration unit 120 of the information processing device 100 sets the extended schedule processing content program identifier that corresponds to the input extended schedule event identifier and uniquely identifies the extended schedule processing content program 121 to the extended schedule processing content program identifier 200c in the extended schedule management table 200 (S402). The extended schedule processing content program identifier may be, for example, an executable file name or a function pointer, as long as it can uniquely identify a program.

次に、図11を用いて実施形態1に係る拡張スケジュール起床処理について説明する。
これは、拡張スケジュール起床処理部153によって実行されるプログラムであり、図8の拡張スケジュールイベントフック処理作成処理により、OS内部処理関数に挿入された拡張スケジュールイベントフックプログラムを実行することにより呼び出される処理である。
Next, the extended schedule wake-up process according to the first embodiment will be described with reference to FIG.
This is a program executed by the extended schedule wake-up processing unit 153, and is called by executing the extended schedule event hook program inserted into the OS internal processing function by the extended schedule event hook processing creation processing of FIG.

先ず、情報処理装置100の拡張スケジュール起床処理部153は、呼びされたときのパラメータとして、PARM0,PARM1,PARM2,…を読み込む(図4参照)(S501)。 First, the extended schedule wake-up processing unit 153 of the information processing device 100 reads PARM0, PARM1, PARM2, ... as parameters when called (see FIG. 4) (S501).

次に、拡張スケジュール起床処理部153は、拡張スケジュールイベント情報テーブル202の拡張スケジュールイベント識別子202aにPARM0、イベントフックパラメータ202bに、PARM1,PARM2,…を代入する(S502)。PARM0は、拡張スケジュールイベントフックプログラムにより代入された拡張スケジュールイベント識別子であり、PARM1,PARM2,…は、OS内部処理関数より渡されたそれ以降のパラメータである。 Next, the extended schedule wake-up processing unit 153 assigns PARM0 to the extended schedule event identifier 202a in the extended schedule event information table 202, and assigns PARM1, PARM2, ... to the event hook parameters 202b (S502). PARM0 is the extended schedule event identifier assigned by the extended schedule event hook program, and PARM1, PARM2, ... are subsequent parameters passed from the OS internal processing function.

次に、拡張スケジュール起床処理部153は、OS150のスケジューラ部151に、拡張スケジュールプロセス処理を、他のアプリ140によるプロセスより高い優先度に設定する(S503)。 Next, the extended schedule wake-up processing unit 153 sets the extended schedule process processing to a higher priority than processes by other apps 140 in the scheduler unit 151 of the OS 150 (S503).

次に、拡張スケジュール起床処理部153は、拡張スケジュールプロセス部130に、起動する拡張スケジュールイベント識別子を渡して、起床通知を行う(S504)。 Next, the extended schedule wake-up processing unit 153 passes the identifier of the extended schedule event to be started to the extended schedule processing unit 130 and issues a wake-up notification (S504).

拡張スケジュール起床処理部153は、カーネル内部処理として動作するため、この処理が終了するまで、他アプリ140によるプロセスは動作しない。拡張スケジュールプロセス部130に起床通知は、OS内部処理関数から最初に拡張スケジュールプロセス処理を実行するために通知するものである。 The extended schedule wake-up processing unit 153 operates as a kernel internal process, so other applications 140 will not run processes until this process is completed. The wake-up notification to the extended schedule process unit 130 is sent from the OS internal processing function to first execute the extended schedule process processing.

さらに、拡張スケジュールプロセスは、他アプリよるプロセスより、高い優先度で動作することにし、他アプリによるプロセスの動作前に必ず拡張スケジュールプロセス処理を実行することを保証する。 Furthermore, the extended scheduled process is set to run with a higher priority than processes by other applications, ensuring that the extended scheduled process is always executed before processes by other applications run.

次に、図12を用いて実施形態1に係る拡張スケジュールプロセス処理について説明する。
これは、拡張スケジュールプロセス部130によって実行される処理であり、拡張スケジュール起床処理部153に起床通知されることを契機して実行される処理である。
Next, the extended schedule process according to the first embodiment will be described with reference to FIG.
This is processing executed by the extended schedule processor 130, and is executed in response to a wake-up notification being sent to the extended schedule wake-up processor 153.

先ず、情報処理装置100の拡張スケジュールプロセス部130は、拡張スケジュールプロセス起床部153から起床通知があるか否かを判定し(S601)、起床通知があったときには(S601:YES)、S602に行き、起床通知がないときには(S601:NO)、waitする(S610)。 First, the extended schedule process unit 130 of the information processing device 100 determines whether or not there is a wake-up notification from the extended schedule process wake-up unit 153 (S601). If there is a wake-up notification (S601: YES), the process proceeds to S602. If there is no wake-up notification (S601: NO), the process waits (S610).

拡張スケジュールプロセス部130は、拡張スケジュールプロセス起床部153から起床通知があったときには、拡張スケジュールプロセス起床部153から渡された拡張イベント識別子をキーにして、拡張スケジュールイベント情報テーブル202を検索し、イベントフックパラメータを取得する(S602)。 When the extended schedule process wake-up unit 153 notifies the extended schedule process unit 130 to wake up, the extended schedule process unit 130 searches the extended schedule event information table 202 using the extended event identifier passed from the extended schedule process wake-up unit 153 as a key, and obtains the event hook parameters (S602).

次に、拡張スケジュールプロセス部130は、拡張スケジュールプロセス起床部153から渡された拡張イベント識別子をキーにして、拡張スケジュール管理テーブル200を検索し、拡張スケジュール処理内容プログラム識別子を取得する(S603)。 Next, the extended schedule process unit 130 searches the extended schedule management table 200 using the extended event identifier passed from the extended schedule process wake-up unit 153 as a key, and obtains the extended schedule processing content program identifier (S603).

次に、拡張スケジュールプロセス部130は、S602で取得したイベントフックパラメータを渡して、拡張イベント識別子に該当する拡張スケジュール処理内容プログラム121によるプロセスを起動する(S604)。 Next, the extended schedule process unit 130 passes the event hook parameters acquired in S602 and starts a process by the extended schedule processing content program 121 corresponding to the extended event identifier (S604).

次に、図13を用いてOS内部処理関数CallGraph画面のユーザインタフェースについて説明する。
図13は、OS内部処理関数CallGraph画面のユーザインタフェースを説明する図である。
Next, the user interface of the OS internal processing function CallGraph screen will be described with reference to FIG.
FIG. 13 is a diagram for explaining the user interface of the OS internal processing function CallGraph screen.

OS内部処理関数CallGraph画面600は、図13に示されるように、OS150のカーネルで実行されるOS内部処理関数の処理の流れと関数呼び出し関係を表示する画面である。図中の黒丸601が関数Callを行う点である。黒丸601が交差する場所が二つ以上OS内部処理関数から同じ関数に対して、関数Callを行うことを示している。 The OS internal processing function CallGraph screen 600 is a screen that displays the processing flow and function call relationships of OS internal processing functions executed by the kernel of OS 150, as shown in FIG. 13. The black circles 601 in the figure are points where function calls are made. The intersections of black circles 601 indicate that two or more OS internal processing functions make function calls to the same function.

OS150にフックポイントを埋め込み、拡張スケジューリングを行う際には、スケジュール用イベント多発を防ぐために、スケジュールイベントとして使いたいOSカーネル処理を厳選する必要がある。そのため、ユーザは、OS内部処理関数CallGraph画面600により、複数のカーネル処理から呼び出される共通部分が少ないOS内部処理関数を選択することが望ましい。 When embedding hook points in OS 150 and performing extended scheduling, it is necessary to carefully select the OS kernel processes to be used as schedule events in order to prevent too many schedule events from occurring. For this reason, it is advisable for the user to use the OS Internal Processing Function CallGraph screen 600 to select an OS internal processing function that has few common parts that are called from multiple kernel processes.

ユーザは、そのCallGraphから拡張スケジュールイベントのフックポイントとして使いたいOS150のカーネルで実行されるOS内部処理関数を選定する。選定の際には、他のOS内部処理関数と重複しないOS内部処理関数を選定する。それによって拡張スケジュールプロセス処理が行われる回数を抑制することが可能である。 The user selects an OS internal processing function executed in the kernel of OS 150 that the user wants to use as a hook point for the extended schedule event from that CallGraph. When selecting, the user selects an OS internal processing function that does not overlap with other OS internal processing functions. This makes it possible to reduce the number of times that extended schedule process processing is performed.

このための図7のS102の拡張スケジュールを実行するためのフックポイントを入力する処理では、例えば、該当するOS内部処理関数表示602を指定し、マウスを右クリックし、コンテクストメニュー603を表示して、「フックポイント指定」のコマンドを入力する。 For this purpose, in the process of inputting a hook point for executing an extended schedule in S102 of FIG. 7, for example, the relevant OS internal processing function display 602 is specified, the mouse is right-clicked to display the context menu 603, and the "specify hook point" command is input.

このとき、拡張スケジュールイベント識別子は、システムがOS内部処理関数名などより自動生成してもよいし、ダイアローグ(図示せず)などによりユーザに入力させるようにしてもよい。 At this time, the extended schedule event identifier may be automatically generated by the system from the OS internal processing function name, or may be input by the user via a dialogue (not shown), etc.

以上、本実施形態では、OSのカーネルで実行される内部処理関数に、フックポイントを設定して、起動のタイミングと処理内容を定義し、他のアプリより優先度の高い拡張スケジュールプロセスを起動することにより、OSのプロセスのスケジューリングとは別のあらたなプロセスの拡張スケジューリングを行うことができる。 As described above, in this embodiment, by setting a hook point in an internal processing function executed by the OS kernel, defining the startup timing and processing content, and starting an extended schedule process with a higher priority than other apps, it is possible to perform extended scheduling of a new process separate from the scheduling of the OS process.

したがって、これによれば、制御アプリのスケジューラが汎用OS上でも実現可能となり、そのスケジュールする時点とそのスケジュール内容をユーザが変更しうるプロセスのスケジューリングを行うことが可能になる。 This makes it possible for the control application's scheduler to be implemented on a general-purpose OS, enabling scheduling of processes whose scheduling time and schedule contents can be changed by the user.

例えば、特定の一つのアプリに異常が発生した場合、その異常対策処理をユーザ定義の拡張スケジュール処理内容として登録すれば、残りのアプリが動作する前にユーザ定義の処理を実行することが可能である。 For example, if an abnormality occurs in a specific app, the abnormality countermeasure process can be registered as a user-defined extended schedule process, and the user-defined process can be executed before the remaining apps are run.

〔実施形態2〕
以下、本発明に係る実施形態2を、図14ないし図18Bを用いて説明する。
[Embodiment 2]
A second embodiment of the present invention will be described below with reference to FIGS. 14 to 18B.

実施形態1では、OSのスケジュールの外に、起動タイミングと処理する内容を付け加えてユーザが定義可能な拡張スケジュールを行うことのできるプロセススケジュール方法について説明した。 In the first embodiment, we have described a process scheduling method that allows users to define extended schedules by adding startup timing and processing content in addition to the OS schedule.

本実施形態は、実施形態1と同様の思想のプロセススケジュール方法であるが、プロセッサとして、複数のCPUコアを有する情報処理装置を前提とすることが異なっている。 This embodiment is a process scheduling method based on the same concept as the first embodiment, but differs in that it is based on an information processing device having multiple CPU cores as the processor.

すなわち、実施形態1の情報処理装置100では、一つのCPU300がOS150とアプリ140を実行することとしていたが、本実施形態では、CPU300は、複数のCPUコアを有しており、それらの一つ一つについて、個別にプロセスを実行することが可能であるとする。そして、それらのCPUコアに対応して、それぞれの拡張スケジュールプロセス部を設けて、各々がOS150とは、別個の拡張スケジュールを実行することを可能とするものである。 In other words, in the information processing device 100 of the first embodiment, one CPU 300 executes the OS 150 and the application 140, but in this embodiment, the CPU 300 has multiple CPU cores, and each of them can execute a process individually. Then, corresponding to each of these CPU cores, an extended schedule process unit is provided, and each of them can execute an extended schedule separate from the OS 150.

先ず、図14および図15を用いて実施形態2に係るプロセススケジュール方法が適用される情報処理装置の構成について説明する。 First, the configuration of an information processing device to which the process scheduling method according to the second embodiment is applied will be described with reference to Figures 14 and 15.

本発明のプロセススケジュール方法が適用される情報処理装置100は、機能構成として、図1に示した実施形態1とほぼ同様であるが、CPUコア301(後述)ごとに拡張スケジュールプロセス部130(図では、130a、130b、…と表記)が複数あることが異なっている。そして、実施形態1と同様に、各CPUコア301で実行されるアプリ140より高い優先度で拡張スケジュールプロセス部130の処理が実行される。 The information processing device 100 to which the process scheduling method of the present invention is applied has a functional configuration that is almost the same as that of the first embodiment shown in FIG. 1, but differs in that there are multiple extended schedule process units 130 (in the figure, indicated as 130a, 130b, ...) for each CPU core 301 (described below). Then, as in the first embodiment, the processing of the extended schedule process units 130 is executed with a higher priority than the applications 140 executed by each CPU core 301.

拡張スケジュールプロセス起床部22は、実施形態1と異なり、各CPUコア301で実行されるすべての拡張スケジュールプロセス部130を起床させる。 Unlike the first embodiment, the extended schedule process wake-up unit 22 wakes up all extended schedule process units 130 running on each CPU core 301.

また、記憶部160には、複数の拡張スケジュールプロセス部130のスケジューリングを調整するためのスケジュール排他フラグ210を有する。スケジュール排他フラグ210は、システムでただ一つ存在する。スケジュール排他フラグ210の設定の詳細は、後に説明する。 The memory unit 160 also has a schedule exclusive flag 210 for adjusting the scheduling of multiple extended schedule process units 130. There is only one schedule exclusive flag 210 in the system. Details of setting the schedule exclusive flag 210 will be explained later.

また、拡張スケジュールイベント情報テーブル202の形式が異なっている(詳細は、後述)。 In addition, the format of the extended schedule event information table 202 is different (details will be described later).

また、プロセススケジュール方法が適用される情報処理装置100は、ハードウェア構成として、図2に示した実施形態1とほぼ同様であるが、図15に示されるように、CPU300の中に、各々が個別にプロセスを実行可能な複数のCPUコア301(図では、301a、301b、…と表記)を有する。 The information processing device 100 to which the process scheduling method is applied has a hardware configuration that is almost the same as that of the first embodiment shown in FIG. 2, but as shown in FIG. 15, the CPU 300 has multiple CPU cores 301 (in the figure, indicated as 301a, 301b, ...) each capable of executing a process individually.

次に、図16を用いて本発明のプロセススケジュール方法に用いられるデータ構造について説明する。
本実施形態で用いられるテーブルは、実施形態1と比較して拡張スケジュールイベント情報テーブル202のみ異なっている。
Next, a data structure used in the process scheduling method of the present invention will be described with reference to FIG.
The table used in this embodiment is different from that in the first embodiment only in the extended schedule event information table 202 .

本実施形態の拡張スケジュールイベント情報テーブル202は、図16に示されるように、拡張スケジュールイベント識別子202a、イベントフックパラメータ202b、実行CPUコア識別子202cの各フィールドからなり、図5に示した実施形態1の拡張スケジュールイベント情報テーブル202に実行CPUコア識別子202cが付け加わっていることのみ異なっている。 As shown in FIG. 16, the extended schedule event information table 202 of this embodiment is composed of fields for an extended schedule event identifier 202a, an event hook parameter 202b, and an execution CPU core identifier 202c, and differs only from the extended schedule event information table 202 of embodiment 1 shown in FIG. 5 in that an execution CPU core identifier 202c is added.

実行CPUコア識別子202cには、該当する拡張スケジュールイベント識別子に対応する拡張スケジュールのプロセスを実行するCPUコア301を一意に識別する識別子が格納される。これにより指定されたCPUコア301が、対応する拡張スケジュールプロセス部の処理と、拡張スケジュール処理内容プログラム121を走らせることによりスケジューリングされたプロセスを実行する。 The execution CPU core identifier 202c stores an identifier that uniquely identifies the CPU core 301 that executes the extended schedule process corresponding to the relevant extended schedule event identifier. This causes the specified CPU core 301 to execute the scheduled process by processing the corresponding extended schedule process unit and running the extended schedule processing content program 121.

次に、図17および図18A、図18Bを用いて本実施形態のプロセススケジュール方法の処理について説明する。
本実施形態では、実施形態1に示したプロセススケジュール方法と比較して、拡張スケジュール起床処理と拡張スケジュールプロセス処理のみ異なっている。
Next, the process schedule method of this embodiment will be described with reference to FIG. 17, FIG. 18A, and FIG. 18B.
In this embodiment, only the extended schedule wake-up processing and the extended schedule process processing are different from the process scheduling method shown in the first embodiment.

先ず、図17を用いて実施形態2に係る拡張スケジュール起床処理を説明する。
先ず、情報処理装置100の拡張スケジュール起床処理部153は、呼びされたときのパラメータとして、PARM0,PARM1,PARM2,…を読み込む(図4参照)(S701)。
First, the extended schedule wake-up process according to the second embodiment will be described with reference to FIG.
First, the extended schedule wake-up processing unit 153 of the information processing apparatus 100 reads PARM0, PARM1, PARM2, . . . as parameters when it is called (see FIG. 4) (S701).

次に、拡張スケジュール起床処理部153は、拡張スケジュールイベント情報テーブル202の拡張スケジュールイベント識別子202aにPARM0、イベントフックパラメータ202bに、PARM1,PARM2,…を代入する(S702)。PARM0は、拡張スケジュールイベントフックプログラムにより代入された拡張スケジュールイベント識別子であり、PARM1,PARM2,…は、OS内部処理関数より渡されたそれ以降のパラメータである。 Next, the extended schedule wake-up processing unit 153 assigns PARM0 to the extended schedule event identifier 202a in the extended schedule event information table 202, and assigns PARM1, PARM2, ... to the event hook parameters 202b (S702). PARM0 is the extended schedule event identifier assigned by the extended schedule event hook program, and PARM1, PARM2, ... are subsequent parameters passed from the OS internal processing function.

次に、拡張スケジュール起床処理部153は、OS150のスケジューラ部151に、拡張スケジュールプロセス処理を、他のアプリによるプロセスより高い優先度に設定する(S703)。 Next, the extended schedule wake-up processing unit 153 sets the extended schedule process processing to a higher priority than processes by other apps in the scheduler unit 151 of the OS 150 (S703).

次に、拡張スケジュール起床処理部153は、システムコールにより自分が実行されているCPUコアのCPUコア識別子を取得し、拡張スケジュールイベント情報テーブル202の実行CPUコア識別子202cに設定する(S704)。 Next, the extended schedule wake-up processing unit 153 obtains the CPU core identifier of the CPU core on which it is being executed by a system call, and sets this as the executing CPU core identifier 202c in the extended schedule event information table 202 (S704).

次に、拡張スケジュール起床処理部153は、全ての拡張スケジュールプロセス部130に、起動する拡張スケジュールイベント識別子を渡して、起床通知を行う(S705)。 Next, the extended schedule wake-up processing unit 153 passes the extended schedule event identifier to be started to all extended schedule processing units 130 and issues a wake-up notification (S705).

次に、図18A、図18Bを用いて実施形態2に係る拡張スケジュールプロセス処理について説明する。
先ず、情報処理装置100の拡張スケジュールプロセス部130は、拡張スケジュールプロセス起床部153から起床通知があるか否かを判定し(図18AのS801)、起床通知があったときには(S801:YES)、S802に行き、起床通知がないときには(S801:NO)、waitする(S820)。
Next, an extended schedule process according to the second embodiment will be described with reference to FIGS. 18A and 18B.
First, the extended schedule process unit 130 of the information processing device 100 determines whether or not there is a wake-up notification from the extended schedule process wake-up unit 153 (S801 in FIG. 18A ). If there is a wake-up notification (S801: YES), the process proceeds to S802. If there is no wake-up notification (S801: NO), the process waits (S820).

拡張スケジュールプロセス部130は、拡張スケジュールプロセス起床部153から起床通知があったときには、拡張スケジュールプロセス起床部153から渡された拡張イベント識別子をキーにして、拡張スケジュールイベント情報テーブル202より、実行CPUコア識別子を読み込む(S802)
次に、拡張スケジュールプロセス部130は、システムコールにより自分が実行されているCPUコアのCPUコア識別子を取得する(S803)。
When the extended schedule process unit 130 receives a wake-up notification from the extended schedule process wake-up unit 153, the extended schedule process unit 130 reads the execution CPU core identifier from the extended schedule event information table 202 using the extended event identifier passed from the extended schedule process wake-up unit 153 as a key (S802).
Next, the extended schedule process unit 130 obtains, by a system call, the CPU core identifier of the CPU core on which the extended schedule process unit 130 is being executed (S803).

そして、拡張スケジュールプロセス部130は、自分が実行されているCPUコアのCPUコア識別子と実行CPUコア識別子を比較し(S804)、一致するときには(S804:YES)、S805に行き、一致しないときには(S804:NO)、S801に戻る。 Then, the extended schedule process unit 130 compares the CPU core identifier of the CPU core on which it is being executed with the execution CPU core identifier (S804), and if they match (S804: YES), proceeds to S805, and if they do not match (S804: NO), returns to S801.

自分が実行されているCPUコアのCPUコア識別子と実行CPUコア識別子が一致するときには、拡張スケジュール起床処理部153は、スケジュール排他フラグ210を参照し、ONかOFFかを判定する(S805)。 When the CPU core identifier of the CPU core on which it is being executed matches the execution CPU core identifier, the extended schedule wake-up processing unit 153 refers to the schedule exclusivity flag 210 and determines whether it is ON or OFF (S805).

スケジュール排他フラグ210がONのときには、他のCPUコアによりスケジューリングされており、そのスケジューリングによるプロセスが実行されていることを意味し、スケジュール排他フラグ210がOFFのときには、他のCPUコアによりスケジューリングがされておらず、新たにスケジューリングが可能であることを意味する。なお、スケジュール排他フラグ210は、システムの立ち上げ時には、OFFに初期化されることにする。 When the schedule exclusive flag 210 is ON, it means that the process has been scheduled by another CPU core and that the process based on that scheduling is being executed. When the schedule exclusive flag 210 is OFF, it means that the process has not been scheduled by another CPU core and new scheduling is possible. Note that the schedule exclusive flag 210 is initialized to OFF when the system is started up.

スケジュール排他フラグ210がONのときには(S805:ON)、OFFになるまで、waitする(S830)。 When the schedule exclusive flag 210 is ON (S805: ON), the process waits until it is turned OFF (S830).

スケジュール排他フラグ210がOFFのときには(S805:OFF)、図18BのS806に行く。 When the schedule exclusive flag 210 is OFF (S805: OFF), proceed to S806 in Figure 18B.

スケジュール排他フラグ210がOFFのときには、拡張スケジュールプロセス部130は、スケジュール排他フラグ210をONに設定する(S806)。 When the schedule exclusive flag 210 is OFF, the extended schedule process unit 130 sets the schedule exclusive flag 210 to ON (S806).

次に、拡張スケジュールプロセス部130は、拡張スケジュールプロセス起床部153から渡された拡張イベント識別子をキーにして、拡張スケジュールイベント情報テーブル202を検索し、イベントフックパラメータを取得する(S807)。 Next, the extended schedule process unit 130 searches the extended schedule event information table 202 using the extended event identifier passed from the extended schedule process wake-up unit 153 as a key, and obtains the event hook parameters (S807).

次に、拡張スケジュールプロセス部130は、拡張スケジュールプロセス起床部153から渡された拡張イベント識別子をキーにして、拡張スケジュール管理テーブル200を検索し、拡張スケジュール処理内容プログラム識別子を取得する(S808)。 Next, the extended schedule process unit 130 searches the extended schedule management table 200 using the extended event identifier passed from the extended schedule process wake-up unit 153 as a key, and obtains the extended schedule processing content program identifier (S808).

次に、拡張スケジュールプロセス部130は、S802で取得したイベントフックパラメータを渡して、拡張イベント識別子に該当する拡張スケジュール処理内容プログラムによるプロセスを起動する(S809)。 Next, the extended schedule process unit 130 passes the event hook parameters acquired in S802 and starts a process based on the extended schedule processing content program corresponding to the extended event identifier (S809).

次に、拡張スケジュールプロセス部130は、スケジュール排他フラグ210をOFFに設定する(S810)。 Next, the extended schedule processing unit 130 sets the schedule exclusivity flag 210 to OFF (S810).

本実施形態によれば、マルチコアシステムにおいて、各々のCPUごとに、起動のタイミングと処理内容を定義して、各々がOS150とは、別個の拡張スケジュールを実行することができる。 According to this embodiment, in a multi-core system, the startup timing and processing content can be defined for each CPU, and each can execute an extended schedule separate from the OS 150.

100…情報処理装置、101…拡張スケジュールイベント選定部、102…OS内部処理関数CallGraph管理部、110…拡張スケジュールイベントフック処理作成部、120…拡張スケジュール処理内容プログラム登録部、121…拡張スケジュール処理内容プログラム、130…拡張スケジュールプロセス部、140…アプリ、150…OS(Operating System)、151…スケジュール部、152…拡張スケジュールイベントフック処理プログラム、153…拡張スケジュールプロセス起床部、160…記憶部、200…拡張スケジュール管理テーブル、201…拡張スケジュールイベントフック処理テンプレート、202…拡張スケジュールイベント情報テーブル、210…スケジュール排他フラグ 100...information processing device, 101...extended schedule event selection unit, 102...OS internal processing function CallGraph management unit, 110...extended schedule event hook processing creation unit, 120...extended schedule processing content program registration unit, 121...extended schedule processing content program, 130...extended schedule process unit, 140...application, 150...OS (operating system), 151...schedule unit, 152...extended schedule event hook processing program, 153...extended schedule process wake-up unit, 160...storage unit, 200...extended schedule management table, 201...extended schedule event hook processing template, 202...extended schedule event information table, 210...schedule exclusive flag

Claims (5)

汎用OS上で実行されるプロセスをスケジューリングする情報処理装置のプロセススケジュール方法であって、
前記情報処理装置が、前記OSの特定されたOS内部処理関数の実行時に、前記OSとは別個にプロセスをスケジューリングする拡張スケジュールプロセス処理を起床するステップと、
前記情報処理装置が、前記拡張スケジュールプロセス処理により、拡張スケジュール処理内容プログラムによるプロセスをスケジューリングするステップとを有することを特徴とし、
さらに、
前記情報処理装置が、ユーザから入力されたOS内部処理関数の情報にしたがって、拡張スケジュールプロセス処理を起床するOS内部処理関数を選定するステップを有することを特徴とすプロセススケジュール方法。
1. A process scheduling method for an information processing device for scheduling a process executed on a general-purpose OS, comprising:
a step of waking up an extended schedule process that schedules a process separately from the OS when the OS executes a specified internal OS processing function by the information processing device;
the information processing device includes a step of scheduling a process according to an extended schedule processing content program by the extended schedule process processing,
moreover,
11. A process scheduling method comprising the step of: selecting an OS internal processing function that initiates an extended schedule process in accordance with information on an OS internal processing function input by a user, said information processing device selecting an OS internal processing function that initiates an extended schedule process in accordance with information on an OS internal processing function input by a user.
汎用OS上で実行されるプロセスをスケジューリングする情報処理装置のプロセススケジュール方法であって、
前記情報処理装置が、前記OSの特定されたOS内部処理関数の実行時に、前記OSとは別個にプロセスをスケジューリングする拡張スケジュールプロセス処理を起床するステップと、
前記情報処理装置が、前記拡張スケジュールプロセス処理により、拡張スケジュール処理内容プログラムによるプロセスをスケジューリングするステップとを有することを特徴とし、
さらに、
前記情報処理装置が、ユーザから入力された拡張スケジュール処理内容プログラムの情報にしたがって、前記拡張スケジュールプロセス処理により起動される拡張スケジュール処理内容プログラムを登録するステップを有することを特徴とすプロセススケジュール方法。
1. A process scheduling method for an information processing device for scheduling a process executed on a general-purpose OS, comprising:
a step of waking up an extended schedule process that schedules a process separately from the OS when the OS executes a specified internal OS processing function by the information processing device;
the information processing device includes a step of scheduling a process according to an extended schedule processing content program by the extended schedule process processing,
moreover,
11. A process scheduling method comprising the step of: registering, by the information processing device, an extended schedule processing content program to be started by the extended schedule process processing, in accordance with information on the extended schedule processing content program input by a user.
汎用OS上で実行されるプロセスをスケジューリングする情報処理装置のプロセススケジュール方法であって、
前記情報処理装置が、前記OSの特定されたOS内部処理関数の実行時に、前記OSとは別個にプロセスをスケジューリングする拡張スケジュールプロセス処理を起床するステップと、
前記情報処理装置が、前記拡張スケジュールプロセス処理により、拡張スケジュール処理内容プログラムによるプロセスをスケジューリングするステップとを有することを特徴とし、
前記OS内部処理関数のコードとして、拡張スケジュールイベントフック処理プログラムが埋め込まれ、前記拡張スケジュールイベントフック処理プログラムにより、拡張スケジュールプロセス処理を起床する処理が行われることを特徴とすプロセススケジュール方法。
1. A process scheduling method for an information processing device for scheduling a process executed on a general-purpose OS, comprising:
a step of waking up an extended schedule process that schedules a process separately from the OS when the OS executes a specified internal OS processing function by the information processing device;
the information processing device includes a step of scheduling a process according to an extended schedule processing content program by the extended schedule process processing,
A process scheduling method, comprising the steps of: embedding an extended schedule event hook processing program as code for the OS internal processing function; and waking up an extended schedule process processing by the extended schedule event hook processing program.
前記情報処理装置は、拡張スケジュールのイベントを一意に識別する拡張スケジュールイベント識別子と、前記OS内部処理関数のコードとして埋め込んだ地点を一意に識別するイベントフック識別子と、前記拡張スケジュール処理内容プログラムを一意に識別する拡張スケジュール処理内容プログラム識別子を対応付けた拡張スケジュール管理テーブルを保持することを特徴とする請求項記載のプロセススケジュール方法。 4. The process scheduling method according to claim 3, wherein the information processing device holds an extended schedule management table that associates an extended schedule event identifier that uniquely identifies an extended schedule event, an event hook identifier that uniquely identifies a point where the event is embedded as code for the OS internal processing function, and an extended schedule processing content program identifier that uniquely identifies the extended schedule processing content program. 汎用OS上で実行されるプロセスをスケジューリングする情報処理装置のプロセススケジュール方法であって、
前記情報処理装置が、前記OSの特定されたOS内部処理関数の実行時に、前記OSとは別個にプロセスをスケジューリングする拡張スケジュールプロセス処理を起床するステップと、
前記情報処理装置が、前記拡張スケジュールプロセス処理により、拡張スケジュール処理内容プログラムによるプロセスをスケジューリングするステップとを有することを特徴とし、
前記情報処理装置は、各々がプロセスを実行する複数のCPUコアを有し、
前記CPUコアごとに、排他的に前記拡張スケジュールプロセス処理を行うことを特徴とすプロセススケジュール方法。
1. A process scheduling method for an information processing device for scheduling a process executed on a general-purpose OS, comprising:
a step of waking up an extended schedule process that schedules a process separately from the OS when the OS executes a specified internal OS processing function by the information processing device;
the information processing device includes a step of scheduling a process according to an extended schedule processing content program by the extended schedule process processing,
The information processing device has a plurality of CPU cores each of which executes a process;
a process scheduling method for performing the extended schedule process processing exclusively for each of the CPU cores;
JP2021183713A 2021-11-10 2021-11-10 Process Schedule Method Active JP7665495B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021183713A JP7665495B2 (en) 2021-11-10 2021-11-10 Process Schedule Method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021183713A JP7665495B2 (en) 2021-11-10 2021-11-10 Process Schedule Method

Publications (2)

Publication Number Publication Date
JP2023071103A JP2023071103A (en) 2023-05-22
JP7665495B2 true JP7665495B2 (en) 2025-04-21

Family

ID=86395441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021183713A Active JP7665495B2 (en) 2021-11-10 2021-11-10 Process Schedule Method

Country Status (1)

Country Link
JP (1) JP7665495B2 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001043091A (en) 1999-07-30 2001-02-16 Toshiba Corp Priority conversion system, priority conversion method, and priority conversion device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001043091A (en) 1999-07-30 2001-02-16 Toshiba Corp Priority conversion system, priority conversion method, and priority conversion device

Also Published As

Publication number Publication date
JP2023071103A (en) 2023-05-22

Similar Documents

Publication Publication Date Title
CN107704314B (en) Method and apparatus for migrating virtual machines
US8321656B2 (en) Timer use in extensible firmware interface compliant systems
CN102866903B (en) Decouple background work from foreground work
JP5026494B2 (en) Computer that starts at high speed
CN106293880B (en) Method and device for running Android application on Windows system
US20110321034A1 (en) Method for Improving the Performance of Computers
US8312256B2 (en) Display of a basic input/output system (BIOS) productivity display
US8695001B2 (en) Loading services based on a request and setting permission level to enable execution of commands or services exposed based on a role of requester
US20250013494A1 (en) Thread management methods and apparatuses
JP7665495B2 (en) Process Schedule Method
US11726811B2 (en) Parallel context switching for interrupt handling
RU2636110C2 (en) Device for information processing, method of information processing and program
US20120144390A1 (en) Customized computer image preparation and deployment including virtual machine mode
JP4883492B2 (en) Virtual machine management system, computer, and program
CN119336497A (en) Method, apparatus, device and storage medium for task stack memory management
WO2023144939A1 (en) Computer, control method, and control program
CN114153502A (en) Control method of startup items, storage medium and terminal equipment
US12346745B2 (en) Safe critical section operations for virtual machines with virtual central processing unit overcommit
CN117950646B (en) Software development method, device, computer equipment, storage medium and program product
JP5982903B2 (en) Information processing device
CN120104196A (en) A restart method and device for Android system
Sinkkonen Asymmetric multiprocessing of Linux and hard real-time systems
CN114489824A (en) Control method and device for quick start and electronic equipment
CN118093234A (en) Abnormality processing method and device for application program, computer equipment and storage medium
CN121070572A (en) Interrupt source switching method, device, electronic equipment and computer readable storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20241211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20241224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250207

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20250401

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250409

R150 Certificate of patent or registration of utility model

Ref document number: 7665495

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150