JP5566832B2 - Information processing apparatus and information processing method - Google Patents

Information processing apparatus and information processing method Download PDF

Info

Publication number
JP5566832B2
JP5566832B2 JP2010217681A JP2010217681A JP5566832B2 JP 5566832 B2 JP5566832 B2 JP 5566832B2 JP 2010217681 A JP2010217681 A JP 2010217681A JP 2010217681 A JP2010217681 A JP 2010217681A JP 5566832 B2 JP5566832 B2 JP 5566832B2
Authority
JP
Japan
Prior art keywords
thread
management
stop
child
system management
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
JP2010217681A
Other languages
Japanese (ja)
Other versions
JP2012073786A (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.)
Denso Ten Ltd
Original Assignee
Denso Ten 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 Denso Ten Ltd filed Critical Denso Ten Ltd
Priority to JP2010217681A priority Critical patent/JP5566832B2/en
Publication of JP2012073786A publication Critical patent/JP2012073786A/en
Application granted granted Critical
Publication of JP5566832B2 publication Critical patent/JP5566832B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、情報処理装置において実行されるプロセスを管理する技術に関し、特に、情報処理装置において実行されるプロセスの起動及び停止を簡易な方法によって管理する技術に関する。   The present invention relates to a technique for managing a process executed in an information processing apparatus, and more particularly, to a technique for managing start and stop of a process executed in an information processing apparatus by a simple method.

近年、カーナビゲーションシステム等の家電製品等の高機能化に伴い、当該製品には、当該製品に内蔵されるマイクロコンピュータを制御するためにOS(オペレーティングシステム)が組み込まれている。OSは、JIS(日本工業規格)のX0001において、「プログラムの実行を制御するソフトウェアであって、資源割振り、スケジューリング、入出力制御、データ管理などのサービスを提供するもの」と定義されているが、これらの中で「プログラムの実行を制御する」ことがOSの重要な役割である。   2. Description of the Related Art In recent years, as home appliances such as car navigation systems become more sophisticated, an OS (operating system) is incorporated in the product to control a microcomputer built in the product. The OS is defined in JIS (Japanese Industrial Standards) X0001 as “software that controls program execution and provides services such as resource allocation, scheduling, input / output control, and data management”. Among these, “controlling program execution” is an important role of the OS.

OSがプログラムの実行を制御する方法には主として2つの方法がある。1つの方法は、例えばμITRONに代表される、各プログラムを1つのプログラムとして捉え、タス
クと呼ばれる実行単位で制御する方法(以下、「タスクによる制御方法」と表記する)である。もう1つの方法は、例えばWindows(登録商標)に代表される、各プログラムをプロセスと呼ばれる実行単位で制御し、プロセス内をスレッド(上記、タスクに相当する)と呼ばれる実行単位で制御する方法(以下、「プロセスによる制御方法」)である。
There are mainly two methods for controlling the execution of the program by the OS. One method is, for example, a method represented by μITRON, in which each program is regarded as one program and is controlled in an execution unit called a task (hereinafter referred to as “control method by task”). The other method is a method of controlling each program in an execution unit called a process, represented by Windows (registered trademark), for example, and controlling the program in an execution unit called a thread (corresponding to the above-mentioned task). Hereinafter, “control method by process”).

なお、プログラムの実行を制御することには、タスクによる制御方法における、タスクの状態(実行可能状態、待ち状態等)を操作することやタスクを生成すること等のいわゆるタスク管理等も含む。また、プログラムの実行を制御することには、プロセスによる制御方法における、スレッドの状態及びプロセスの状態を操作することやスレッド及びプロセスを生成すること等のいわゆるプロセス管理等も含む。   Note that controlling the execution of a program includes so-called task management, such as manipulating a task state (executable state, waiting state, etc.) or generating a task in a task control method. Controlling the execution of the program includes so-called process management such as manipulating the thread state and the process state and generating the thread and the process in the control method by the process.

一般的に、タスクによる制御方法では、各タスクは、他のタスクやOSのグローバル変数に自由にアクセスすることができるため、直接他のタスクの起動及び停止を制御することができる。その結果、タスクによる制御方法では、シンプルな方法でのシステム設計及び構築ができるという利点がある。反面、タスクによる制御方法では、メモリ空間が全てのタスクで共有されるため、一部のタスクに生じたエラーは、他のタスクにも影響を及ぼしてしまう。その結果、タスクによる制御方法では、構築されるシステムの堅牢性は低いという欠点がある。   Generally, in the control method using tasks, each task can freely access other tasks and global variables of the OS, so that the start and stop of other tasks can be directly controlled. As a result, the task-based control method has the advantage that system design and construction can be performed in a simple manner. On the other hand, in the control method by tasks, since the memory space is shared by all tasks, an error that occurs in some tasks also affects other tasks. As a result, the task-based control method has a drawback that the robustness of the constructed system is low.

他方、プロセスによる制御方法では、メモリ空間がプロセスごとに区切られるため、各プロセスは、基本的には他のプロセスのメモリ空間にアクセスすることができない。その結果、プロセスによる制御方法では、一部のスレッドに生じたエラーは、基本的には他のプロセスのスレッドには影響を及ぼさない。このため、プロセスによる制御方法では、タスクによる制御方法よりも堅牢性の高いシステムを構築することができるという利点がある。反面、プロセスによる制御方法では、各プロセス内のスレッドは、基本的には他のプロセス内のスレッドに自由にアクセスすることができないため、他のプロセス内のスレッドの状態が把握できず、適切に直接他のプロセス内のスレッドの起動及び停止を制御するということは現実的にはできない。その結果、プロセスによる制御方法は、タスクによる制御方法と比べて、各プロセスの起動及び停止順番等、各スレッドを起動及び停止する際に考慮しなければならない要因が増えてしまう。そのため、プロセスによる制御方法では、シンプルな方法でシステムを設計及び構築することができないという欠点がある。   On the other hand, in the control method by a process, since the memory space is divided for each process, each process basically cannot access the memory space of another process. As a result, in the control method by a process, an error generated in some threads basically does not affect threads in other processes. For this reason, the process control method has an advantage that a more robust system can be constructed than the task control method. On the other hand, with the process control method, threads in each process basically cannot freely access threads in other processes, so it is impossible to grasp the state of threads in other processes. It is practically impossible to directly control the starting and stopping of threads in other processes. As a result, the process control method increases factors that must be taken into account when starting and stopping each thread, such as the start and stop order of each process, as compared to the task control method. Therefore, the control method based on the process has a drawback that the system cannot be designed and constructed by a simple method.

タスクによる制御方法におけるシンプルな方法によるシステム設計及び構築の例について図14を用いて説明する。図14は、情報処理装置1000上で、タスクによる制御方法によりプログラムの実行を制御する方法を示す論理構成図の一例である。なお、図14において、各タスクについての「タスク」の標記を省略した。   An example of system design and construction by a simple method in the task control method will be described with reference to FIG. FIG. 14 is an example of a logical configuration diagram illustrating a method for controlling execution of a program by a control method based on tasks on the information processing apparatus 1000. In FIG. 14, “task” for each task is omitted.

情報処理装置1000は、CPU(Central Processing Unit)等の1又は複数のプロ
セッサと、当該プロセッサの処理に利用されるメモリ等(ROM(Read Only Memory)、RAM(Random Access Memory)、インタフェース回路等)を含むハードウェアを備える。ハードウェアに含まれるメモリには、OS、各タスク及び管理情報1002が格納される。そして、ハードウェアに含まれるCPUが当該メモリに格納したデータ(OS、各タスク及び管理情報1002)を処理することで図14の論理構成図及び各タスクの処理が実現される。なお、上記各タスクとは、図14では、システム管理タスク1001、PLATFORM制御タスク1003、A制御タスク1004、B制御タスク1005、C制御タスク1006、及びD制御タスク1007を指す。
The information processing apparatus 1000 includes one or a plurality of processors such as a CPU (Central Processing Unit) and a memory used for the processing of the processors (ROM (Read Only Memory), RAM (Random Access Memory), an interface circuit, etc.) Including hardware. An OS, each task, and management information 1002 are stored in a memory included in the hardware. Then, the CPU included in the hardware processes the data (OS, each task, and management information 1002) stored in the memory, thereby realizing the logical configuration diagram of FIG. 14 and the processing of each task. In FIG. 14, the above-mentioned tasks indicate a system management task 1001, a PLATFORM control task 1003, an A control task 1004, a B control task 1005, a C control task 1006, and a D control task 1007.

図14におけるタスクによる制御方法では、情報処理装置1上で処理されるタスクであるシステム管理タスク1001が、各タスクの起動及び停止要因を格納した管理情報1002を用いて、その他のタスク(PLATFORM制御タスク1003、A制御タスク1004、B制御タスク1005、C制御タスク1006、D制御タスク1007等)の起動及び停止を制御する。   In the control method using tasks in FIG. 14, a system management task 1001 that is a task processed on the information processing apparatus 1 uses the management information 1002 that stores the start and stop factors of each task, and uses other tasks (PLATFORM control). Task 1003, A control task 1004, B control task 1005, C control task 1006, D control task 1007, etc.).

図15は、管理情報1002のレコード例である。図15の管理情報1002のレコードは、タスクのタイプを指定するためのタスク名、各タスクの実行の優先度を示すタスク優先度、タスクをメモリに格納する際に必要なメモリサイズを示すスタックサイズ、各タスクを一意に特定するためのタスクID、及びタスクの停止方法を指定するパラメタであるタスク属性を格納するフィールドを備える。   FIG. 15 is a record example of the management information 1002. The record of the management information 1002 in FIG. 15 includes a task name for designating a task type, a task priority indicating the priority of execution of each task, and a stack size indicating a memory size necessary for storing the task in the memory. And a field for storing a task ID for uniquely identifying each task and a task attribute which is a parameter for designating a task stop method.

システム管理タスク1001は、管理情報1002に格納されているタスク名、タスク優先度、スタックサイズ、タスクIDを用いて、各タスクの起動を制御する(例えば、システム管理タスク1001は、実行の優先度に従って各タスクの起動を行う)。また、システム管理タスク1001は、管理情報1002に格納されているタスク名、タスクID、タスク属性を用いて、各タスクの停止を制御する。   The system management task 1001 controls the activation of each task using the task name, task priority, stack size, and task ID stored in the management information 1002 (for example, the system management task 1001 has an execution priority) According to each task). The system management task 1001 controls the stop of each task using the task name, task ID, and task attribute stored in the management information 1002.

以上のように、タスクによる制御方法では、情報処理装置1000において、各タスクの起動及び停止を制御する処理部(システム管理タスク1001)と、各タスクの起動及び停止要因を格納した記憶部(管理情報1002)を設けることのみにより、各タスクの起動及び停止を制御することができる。   As described above, in the control method using tasks, in the information processing apparatus 1000, a processing unit (system management task 1001) that controls activation and termination of each task and a storage unit (management) that stores the activation and termination factors of each task. By only providing the information 1002), it is possible to control the start and stop of each task.

他方、プロセスによる制御方法によりシステム設計及び構築を行う方法として、下記の先行技術文献が挙げられる。例えば、特許文献1に開示されたアプリケーション管理装置においては、各プロセス内のマルチスレッド管理部が、各プロセス内のスレッドの制御及び管理を行っている。このようなプロセスによる制御方法に、上述の図14で挙げられるようなプログラムの実行を制御する方法を適用すると、図16のような構成になると考えられる。   On the other hand, the following prior art documents can be cited as a method for designing and constructing a system by a control method based on a process. For example, in the application management apparatus disclosed in Patent Document 1, a multi-thread management unit in each process controls and manages threads in each process. If a method for controlling the execution of the program as shown in FIG. 14 is applied to the control method based on such a process, the configuration as shown in FIG. 16 is considered.

図16は、情報処理装置1上で、上述の図14で挙げられるようなプログラムの実行を制御する方法を、従来技術におけるプロセスによる制御方法によって実現した一例を示す論理構成図である。   FIG. 16 is a logical configuration diagram showing an example in which the method for controlling the execution of the program as shown in FIG. 14 described above on the information processing apparatus 1 is realized by a control method using a process in the prior art.

上述と同様、ハードウェアに含まれるメモリには、OS、各プロセス及び各スレッドが格納される。そして、ハードウェアに含まれるCPUが当該メモリに格納したデータ(OS、各プロセス及び各スレッド)を処理することで図16の論理構成図、各プロセス及び各スレッドの処理を実現する。なお、上記各プロセスとは、図16では、システム管理プロセス1100、PLATFORMプロセス1101、Xプロセス1102、Yプロセス1103、及びZプロセス1104を指す。また、上記各スレッドとは、各プロセスに含まれるスレッドを指す。図16ではプライマリスレッドを除いた各スレッドについて「スレッド」の標記を省略した。   As described above, the OS, each process, and each thread are stored in the memory included in the hardware. Then, the CPU included in the hardware processes the data (OS, each process, and each thread) stored in the memory, thereby realizing the logical configuration diagram of FIG. 16, each process, and each thread. In FIG. 16, the above processes refer to a system management process 1100, a PLATFORM process 1101, an X process 1102, a Y process 1103, and a Z process 1104. Further, each thread described above refers to a thread included in each process. In FIG. 16, “thread” is omitted for each thread except the primary thread.

タスクによる制御方法におけるタスクは、プロセスによる制御方法におけるスレッドに相当するため、図14と図16とで、システム管理タスク1001とシステム管理スレッド1100b、PLATFORM制御タスク1003とPLATFORM制御スレッド1101b、A制御タスク1004とA制御スレッド1102b、B制御タスク1005とB制御スレッド1103b、C制御タスク1006とC制御スレッド1103c、D制御タスク1007とD制御スレッド1104bとがそれぞれ対応している。また、特許文献1において開示されているマルチスレッド管理部は、プライマリスレッド(1100a、1101a、1102a、1103a、1104a)に含まれていると想定している。   Since the task in the control method by the task corresponds to the thread in the control method by the process, the system management task 1001, the system management thread 1100b, the PLATFORM control task 1003, the PLATFORM control thread 1101b, and the A control task are shown in FIGS. 1004 and A control thread 1102b, B control task 1005 and B control thread 1103b, C control task 1006 and C control thread 1103c, and D control task 1007 and D control thread 1104b correspond to each other. Further, it is assumed that the multi-thread management unit disclosed in Patent Document 1 is included in the primary thread (1100a, 1101a, 1102a, 1103a, 1104a).

特開2005−31752号公報JP 2005-31752 A 特開平3−257633号公報JP-A-3-257633 特開2003−162419号公報JP 2003-162419 A

しかしながら、図16のプロセスによる制御方法において、システム管理スレッド1100bが、その他のスレッドの起動及び停止を制御するためには、各プロセス(1100〜1104)の起動及び停止も制御しなければならず、タスクによる制御方法に比べて考慮しなければならない要因が増えてしまい、システムの設計及び構築が煩雑になってしまうという問題点がある。   However, in the control method by the process of FIG. 16, in order for the system management thread 1100b to control the start and stop of other threads, the start and stop of each process (1100 to 1104) must also be controlled. There is a problem that the factors that must be considered in comparison with the control method by task increase, and the design and construction of the system become complicated.

また、システム管理スレッド1100bが、その他のスレッドの起動及び停止を制御するためには、各スレッドの状態を収集する必要があり、各スレッドを含む各プロセス間と常にプロセス間通信を行わなければならない。その結果、各スレッドの起動及び停止を制御する際に利用されるデータが全てプロセス内のメモリ空間ではなく、各プロセスに共有に用いられるメモリ空間に格納されることとなり、メモリ空間をプロセス内に閉じた意味が損なわれてしまうという問題点がある。   In addition, in order for the system management thread 1100b to control the start and stop of other threads, it is necessary to collect the state of each thread, and communication between processes must always be performed between processes including each thread. . As a result, all data used to control the start and stop of each thread is stored not in the memory space in the process, but in the memory space used for sharing in each process. There is a problem that the closed meaning is lost.

本発明の課題は、このような問題点に鑑み、シンプルなシステムの設計及び構築を可能する技術を提供することにある。   In view of such problems, an object of the present invention is to provide a technique that enables the design and construction of a simple system.

また、本発明の別の課題は、プロセスによる制御方法において、各スレッドの起動及び停止を管理する際に発生するプロセス間通信を極力抑える技術を提供することにある。   Another object of the present invention is to provide a technique for suppressing as much as possible interprocess communication that occurs when managing the start and stop of each thread in a process control method.

本発明は、上述した課題を解決するために、以下の構成を採用する。   The present invention employs the following configuration in order to solve the above-described problems.

すなわち、情報処理装置内でプログラムを実行するときの、相互に区分された実行環境である複数のプロセスがツリー構造により親子関係となっており、親プロセスが子プロセ
スの起動及び停止を管理する本発明の情報処理装置は制御部を備える。そして、制御部は、第1のスレッドと、各プロセス内のスレッドの起動要因及び停止要因を定めた管理情報を格納する記憶部と、を備える1以上のプロセスを生成する。また、第1のスレッドは、記憶部に格納された管理情報に基づいて、プロセス内に存在する第1のスレッド以外のスレッドの起動及び停止を管理するプロセス内スレッド管理手段を備える。更に、親プロセスは、起動要因及び停止要因に応じて、前記子プロセスの第1のスレッドとプロセス間通信を行い、前記第1のスレッドの起動及び停止を管理することで、前記子プロセスの起動及び停止を管理する子プロセス管理手段を含む第2のスレッドを備える。
In other words, when a program is executed in an information processing apparatus, a plurality of processes, which are execution environments separated from each other, have a parent-child relationship by a tree structure, and the parent process manages the start and stop of a child process. The information processing apparatus of the invention includes a control unit. And a control part produces | generates one or more processes provided with the 1st thread | sled and the memory | storage part which stores the management information which defined the starting factor and the stop factor of the thread in each process. In addition, the first thread includes in-process thread management means for managing the start and stop of threads other than the first thread existing in the process based on the management information stored in the storage unit. Furthermore, the parent process performs inter-process communication with the first thread of the child process according to the activation factor and the termination factor, and manages the activation and termination of the first thread, thereby starting the child process. And a second thread including child process management means for managing termination.

上記構成によれば、各プロセス内のスレッドは、各プロセス内に存在する第1のスレッドのプロセス内スレッド管理手段によって、その起動及び停止を管理される。つまり、各プロセス内のスレッドの起動及び停止の管理は、従来のタスクによる制御方法におけるシンプルな方法でのシステム設計及び構築と同様の方法によって行われる。したがって、本発明は、シンプルなシステム設計及び構築を可能とする。   According to the above configuration, the start and stop of the thread in each process is managed by the in-process thread management means of the first thread existing in each process. That is, the start and stop of the thread in each process is managed by the same method as the system design and construction by a simple method in the conventional control method by tasks. Therefore, the present invention enables simple system design and construction.

また、上記構成によれば、各プロセスのスレッドの起動及び停止が管理される際に行われるプロセス間通信は、親プロセスの第2スレッドと子プロセスの第1スレッドの間で行われるプロセス間通信に限定される。したがって、全てのスレッドに対してプロセス間通信を行う必要がないため、本発明は、各スレッドの起動及び停止を管理する際に発生するプロセス間通信を極力抑えることができる。   Further, according to the above configuration, the interprocess communication performed when the activation and stop of the thread of each process is managed is the interprocess communication performed between the second thread of the parent process and the first thread of the child process. It is limited to. Therefore, since it is not necessary to perform inter-process communication for all threads, the present invention can suppress inter-process communication that occurs when managing the start and stop of each thread as much as possible.

また、上記子プロセス管理手段は、複数の子プロセスの起動及び停止を管理してもよい。   Further, the child process management means may manage the start and stop of a plurality of child processes.

上記によれば、親プロセスは、子プロセスの数に応じた第2スレッドを備える必要がなくなるため、親プロセスのスレッド数を抑えることができる。   According to the above, since the parent process does not need to have the second thread corresponding to the number of child processes, the number of threads of the parent process can be suppressed.

また、上記ツリー構造により親子関係となっている複数のプロセスは、情報処理装置において実行される全てのプロセスであってもよい。   Further, the plurality of processes having a parent-child relationship by the tree structure may be all processes executed in the information processing apparatus.

上記によれば、情報処理装置において実行される全てのプロセスにおいて、上述までの効果を得ることができる。   According to the above, the effects described above can be obtained in all processes executed in the information processing apparatus.

また、情報処理装置の起動に応じた動作により、上記ツリー構造の根にあたるプロセスが起動を開始し、情報処理装置の停止に応じた動作により、該プロセスが停止を開始してもよい。   Further, the process corresponding to the root of the tree structure may start by an operation according to the start of the information processing apparatus, and the process may start to stop by an operation according to the stop of the information processing apparatus.

上記によれば、情報処理装置の起動動作及び停止動作に応じて、プロセスの起動及び停止の管理を実行することができる。   Based on the above, it is possible to manage the start and stop of processes in accordance with the start and stop operations of the information processing apparatus.

なお、本発明の別態様としては、以上の何れかの構成を実現する方法であってもよいし、システムであってもよいし、プログラムであってもよいし、このようなプログラムを記録したコンピュータが読み取り可能な記憶媒体であってもよい。   As another aspect of the present invention, a method for realizing any of the above configurations, a system, a program, or such a program may be recorded. It may be a computer-readable storage medium.

本発明によれば、シンプルなシステムの設計及び構築を可能とする技術を提供することができる。   According to the present invention, it is possible to provide a technology that enables the design and construction of a simple system.

また、本発明によれば、プロセスによる制御方法において、各スレッドの起動及び停止を管理する際に発生するプロセス間通信を極力抑える技術を提供することができる。   Further, according to the present invention, it is possible to provide a technique for minimizing the interprocess communication that occurs when managing the start and stop of each thread in the process control method.

本発明を実施する装置の一例であるAVN一体機の全体構成を例示する図。The figure which illustrates the whole structure of the AVN integrated machine which is an example of the apparatus which implements this invention. 第1の実施形態におけるプロセス構成の一例を例示する図。The figure which illustrates an example of the process composition in a 1st embodiment. 第1の実施形態のおける管理情報の一例を示すレコード例。The example of a record which shows an example of the management information in 1st Embodiment. 第1の実施形態におけるスレッドの起動処理の手順の一例を示したシーケンスチャート。6 is a sequence chart illustrating an example of a procedure for starting a thread according to the first embodiment. 第1の実施形態におけるスレッドの停止処理の手順の一例を示したシーケンスチャート。The sequence chart which showed an example of the procedure of the stop process of the thread | sled in 1st Embodiment. 第2の実施形態におけるAVN一体機の機能構成及びプロセス構成の一例を例示する図。The figure which illustrates an example of the functional structure and process structure of the AVN integrated machine in 2nd Embodiment. 図6におけるプロセス構成の詳細を例示する図。The figure which illustrates the detail of the process structure in FIG. 第2の実施形態における管理情報の一例を示すレコード例。The example of a record which shows an example of the management information in 2nd Embodiment. 第2の実施形態におけるスナップショットの取得処理の一例を示したシーケンスチャート。The sequence chart which showed an example of the acquisition process of the snapshot in 2nd Embodiment. 第2の実施形態におけるスレッドの起動処理の手順の一例を示したシーケンスチャート。The sequence chart which showed an example of the procedure of the starting process of the thread | sled in 2nd Embodiment. 第2の実施形態におけるスレッドの停止処理の手順の一例を示したシーケンスチャート。The sequence chart which showed an example of the procedure of the stop process of the thread | sled in 2nd Embodiment. 第2の実施形態におけるAVN一体機においてスナップショットをロードする前に、AVN一体機を停止し、その後起動させた時の処理手順の一例を示したシーケンスチャート。The sequence chart which showed an example of the process sequence at the time of stopping and starting AVN integrated machine before loading a snapshot in the AVN integrated machine in 2nd Embodiment. 第2の実施形態におけるAVN一体機のあるスレッドを停止している最中に、AVN一体機を起動した時の処理手順の一例を示したシーケンスチャート。The sequence chart which showed an example of the process sequence when starting an AVN integrated machine while stopping the thread | sled with the AVN integrated machine in 2nd Embodiment. タスクによる制御方法によりプログラムの実行を制御する方法を示す論理構成を例示する図。The figure which illustrates the logic structure which shows the method of controlling execution of a program with the control method by a task. タスクによる制御方法において用いられる管理情報のレコード例。The example of the record of the management information used in the control method by a task. プロセスによる制御方法によりプログラムの実行を制御する方法を示す論理構成を例示する図。The figure which illustrates the logic structure which shows the method of controlling execution of a program with the control method by a process.

以下、本発明の一側面に係る情報処理装置及び情報処理方法を、実施の形態(以下、「本実施形態」と表記する)として説明する。ただし、以下に挙げる実施形態は例示であり、本発明は以下の実施形態の構成に限定されない。   Hereinafter, an information processing apparatus and an information processing method according to an aspect of the present invention will be described as an embodiment (hereinafter referred to as “this embodiment”). However, the following embodiments are merely examples, and the present invention is not limited to the configurations of the following embodiments.

なお、以下に挙げる実施形態において、例えば、スレッド名を「PLATFROM制御」等、自然言語(日本語)等で例示しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメタ、マシン語等で指定される。   In the embodiment described below, for example, the thread name is exemplified by natural language (Japanese), such as “PLATFROM control”, but more specifically, a pseudo-language, command, Specified in parameters, machine language, etc.

§1 ハードウェア構成
まず、本実施形態の一実施例である車載用オーディオ・ビジュアル・ナビゲーション一体機1(以降、AVN一体機1と称する)について説明する。図1は、本実施形態の一実施例であるAVN一体機1のハードウェア構成例を示すブロック図である。
§1 Hardware Configuration First, an in-vehicle audio / visual navigation integrated machine 1 (hereinafter referred to as an AVN integrated machine 1) which is an example of the present embodiment will be described. FIG. 1 is a block diagram illustrating a hardware configuration example of an AVN integrated device 1 which is an example of the present embodiment.

制御部100は、AVN一体機1の各部、或いは接続された外部機器からの信号、また使用者の操作に基づく各操作部からの操作指示信号等を受信し、それら信号に基づきAVN一体機1の各部、或いは外部機器を統括的に制御する。制御部100は、例えば、1又は複数のマイクロコンピュータ(マイコン)と、このマイコンの処理に利用される周辺回路(ROM(Read Only Memory)、RAM(Random Access Memory)、インタフェース回路等)を備え、ROM等の周辺回路に記憶されたプログラムに従い動作する。   The control unit 100 receives a signal from each part of the AVN integrated device 1 or a connected external device, an operation instruction signal from each operation unit based on a user operation, and the AVN integrated device 1 based on these signals. The overall control of each part or external device. The control unit 100 includes, for example, one or a plurality of microcomputers (microcomputers) and peripheral circuits (ROM (Read Only Memory), RAM (Random Access Memory), interface circuits, etc.) used for processing of the microcomputers, It operates according to a program stored in a peripheral circuit such as a ROM.

外部記憶媒体再生部101は、例えば、USB(Universal Serial Bus)メモリやSDカード等の外部記憶媒体を接続するためのコネクタを備える。そして、外部記憶媒体再生部101は、当該コネクタに接続された外部記憶媒体に記憶された各種データから所望のデータを読み出し、読み出した画像信号、音声信号又は文字信号等を分配回路107に出力する。なお、外部記憶媒体再生部101は、制御部100からの制御信号により、コネクタに接続された外部記憶媒体からデータを読み出す動作等を制御される。   The external storage medium playback unit 101 includes a connector for connecting an external storage medium such as a USB (Universal Serial Bus) memory or an SD card. Then, the external storage medium playback unit 101 reads desired data from various data stored in the external storage medium connected to the connector, and outputs the read image signal, audio signal, character signal, or the like to the distribution circuit 107. . The external storage medium playback unit 101 is controlled by a control signal from the control unit 100 to read data from an external storage medium connected to the connector.

ラジオ受信部102及びTV(television)受信部103は、アンテナにより受信された放送波から、セレクタ113等により特定の周波数の放送波を選択受信し、復調して当該放送の音声信号および、画像信号(テレビ放送の場合)を分配回路107に出力する。ラジオ受信部102及びTV受信部103は、同調回路、復調・復号回路等を備える。そして、ラジオ受信部102及びTV受信部103は、制御部100からの制御信号により、そのオン/オフ、受信周波数等の各種動作を制御される。   The radio reception unit 102 and the TV (television) reception unit 103 selectively receive a broadcast wave having a specific frequency from the broadcast wave received by the antenna by the selector 113 and the like, and demodulate the received broadcast wave audio signal and image signal. (In the case of television broadcasting) is output to the distribution circuit 107. The radio receiving unit 102 and the TV receiving unit 103 include a tuning circuit, a demodulation / decoding circuit, and the like. The radio receiving unit 102 and the TV receiving unit 103 are controlled by the control signal from the control unit 100 for various operations such as on / off and reception frequency.

ディスク再生部104は、ディスク(例えば、DVD(Digital Versatile Disc)やBD(Blu-ray Disc))に記憶されているデータをピックアップにより読込み、読込んだデータに基づく音声信号、画像信号等を分配回路107に出力する。ディスク再生部104は、光学ピックアップ、ピックアップ・ディスク駆動機構、ピックアップ・ディスク駆動機構の制御回路、読取信号の復号回路等を備える。そして、ディスク再生部104は、制御部100からの制御信号により、読込み処理のオン/オフ、読込み位置等の各種動作を制御される。   The disc playback unit 104 reads data stored on a disc (for example, a DVD (Digital Versatile Disc) or BD (Blu-ray Disc)) with a pickup, and distributes an audio signal, an image signal, and the like based on the read data. Output to the circuit 107. The disk reproducing unit 104 includes an optical pickup, a pickup / disk drive mechanism, a control circuit for the pickup / disk drive mechanism, a read signal decoding circuit, and the like. The disc reproducing unit 104 is controlled by the control signal from the control unit 100 to perform various operations such as reading process on / off and reading position.

HD(ハードディスク)再生部105は、磁気記憶媒体であるハードディスクに記憶された各種データから所望のデータを読み出し、読み出した画像信号、音声信号又は文字信号等を分配回路107に出力する。ハードディスクは、MP3ファイル等の音楽データやJ
PEG(Joint Photographic Experts Group)ファイルやMPEG(Moving Picture Experts Group)ファイル等の画像データ、ナビゲーション用の地図データ等を記憶している。HD再生部105は、HDドライブ、読取信号号の復号回路等を備える。そして、HD再生部105は、制御部100からの制御信号により、読み出し処理のオン/オフ、読み出すデータ等の各種動作を制御される。
An HD (hard disk) reproduction unit 105 reads desired data from various data stored in a hard disk that is a magnetic storage medium, and outputs the read image signal, audio signal, character signal, or the like to the distribution circuit 107. The hard disk contains music data such as MP3 files and J
It stores image data such as PEG (Joint Photographic Experts Group) files and MPEG (Moving Picture Experts Group) files, map data for navigation, and the like. The HD playback unit 105 includes an HD drive, a read signal decoding circuit, and the like. The HD playback unit 105 is controlled by the control signal from the control unit 100 to perform various operations such as on / off of read processing and read data.

ナビゲーション部106は、地図上に自車位置や目的地までの経路を表示したり、交差点等で音声等により右左折等の進行方向案内を行い、また後述する交通情報通信システム(VICS(登録商標))情報受信部111から交通情報、GPS(登録商標)情報受信部112から自車位置情報を入手して表示したりして、目的地までの経路案内を行う。ナビゲーション部106は、ナビゲーションの為に利用される地図情報を記憶する記憶装置(媒体)、各種演算処理を行うCPU(Central Processing Unit)、各種処理のために
データを記憶するRAM等のメモリ等を備える。そして、ナビゲーション部106は、制御部101からの制御信号により、ナビゲーション処理のオン/オフ、各種動作を制御される。なお、ナビゲーションの為に利用される地図情報を記憶する記憶装置(媒体)は、外部記憶媒体再生部101に接続される上述の外部記憶装置、ディスク再生部103によって処理される上述のディスク、HD再生部105に備えられる上述のHDドライブであってもよい。
The navigation unit 106 displays the position of the host vehicle and the route to the destination on the map, and provides guidance such as a right or left turn by voice or the like at an intersection or the like, and a traffic information communication system (VICS (registered trademark) described later). )) Obtaining and displaying traffic information from the information receiving unit 111 and displaying the vehicle position information from the GPS (registered trademark) information receiving unit 112, and performing route guidance to the destination. The navigation unit 106 includes a storage device (medium) that stores map information used for navigation, a CPU (Central Processing Unit) that performs various arithmetic processes, a memory such as a RAM that stores data for various processes, and the like. Prepare. The navigation unit 106 is controlled to turn on / off the navigation processing and various operations by a control signal from the control unit 101. The storage device (medium) for storing the map information used for navigation is the above-described external storage device connected to the external storage medium playback unit 101, the above-described disk processed by the disk playback unit 103, HD The above-described HD drive provided in the playback unit 105 may be used.

分配回路107は、制御部100の制御信号により制御され、出力することが指定された各種ソース(外部記録媒体再生部101等)の音声信号と画像信号を音声調整回路109及び画像調整回路108に出力する。分配回路107は、リレーあるいはスイッチングトランジスタ等の電子回路を含むスイッチ群を備える。   The distribution circuit 107 is controlled by the control signal of the control unit 100 and sends audio signals and image signals of various sources (external recording medium playback unit 101 etc.) designated to be output to the audio adjustment circuit 109 and the image adjustment circuit 108. Output. The distribution circuit 107 includes a switch group including an electronic circuit such as a relay or a switching transistor.

画像調整回路108は、制御部100の制御信号により制御され、分配回路107から入力された画像信号に対し、輝度や色調、コントラストなどを調整し、調整した各画像信号を画像出力部110に出力する。画像調整回路108は、画像データを記憶するメモリ、画像データを演算処理するデジタルシグナルプロセッサ等の演算回路等を備える。   The image adjustment circuit 108 is controlled by the control signal of the control unit 100, adjusts the brightness, color tone, contrast, etc. of the image signal input from the distribution circuit 107, and outputs each adjusted image signal to the image output unit 110. To do. The image adjustment circuit 108 includes a memory that stores image data, an arithmetic circuit such as a digital signal processor that performs arithmetic processing on the image data, and the like.

音声調整回路109は、制御部100の制御信号により制御され、分配回路107から入力された音声信号に対し、音量、音声を調整し、調整した音声信号をスピーカ123に出力する。音声調整回路109は、音声データを記憶するメモリ、画像データを演算処理するデジタルシグナルプロセッサ等の演算回路、トランジスタ・抵抗・コンデンサ・コイル等を含む増幅・減衰回路や共振回路等を備える。スピーカ123は、音声調整回路110により入力された音声信号を、音声出力する。   The sound adjustment circuit 109 is controlled by the control signal of the control unit 100, adjusts the volume and sound of the sound signal input from the distribution circuit 107, and outputs the adjusted sound signal to the speaker 123. The audio adjustment circuit 109 includes a memory that stores audio data, an arithmetic circuit such as a digital signal processor that performs arithmetic processing on image data, an amplification / attenuation circuit including a transistor, a resistor, a capacitor, a coil, and the like, a resonance circuit, and the like. The speaker 123 outputs the audio signal input by the audio adjustment circuit 110 as audio.

画像出力部110は、制御部100の制御信号により制御され、画像調整回路108から入力された画像信号と、画像信号を表示部122に表示させるために制御部100から入力された表示画像信号とに基づいて画像合成等の処理を施し、当該処理を施した画像信号に基づき表示部122を駆動する。画像出力部110は、例えば、演算処理により画像処理を行なう画像用に特化された演算処理回路である画像ASIC、画像処理・出力用に画像データを記憶するビデオメモリ、画像出力用ビデオメモリに記憶された画像データに基づき表示部を駆動する画像駆動回路等を備える。   The image output unit 110 is controlled by the control signal of the control unit 100, and the image signal input from the image adjustment circuit 108 and the display image signal input from the control unit 100 for displaying the image signal on the display unit 122. The display unit 122 is driven based on the image signal subjected to the processing. The image output unit 110 includes, for example, an image ASIC that is an arithmetic processing circuit specialized for an image that performs image processing by arithmetic processing, a video memory that stores image data for image processing / output, and an image output video memory An image driving circuit for driving the display unit based on the stored image data is provided.

VICS情報受信部111は、VICSに係る交通情報を受信し、受信した交通情報をナビゲーション部106に出力する。VICS情報受信部で、交通情報通信システムからのデータを受信する受信機(FM受信機,電波ビーコン受信機,光ビーコン受信機)、受信したデータを復号する復号回路等を備える。   The VICS information receiving unit 111 receives traffic information related to VICS, and outputs the received traffic information to the navigation unit 106. The VICS information receiving unit includes a receiver (FM receiver, radio beacon receiver, optical beacon receiver) that receives data from the traffic information communication system, a decoding circuit that decodes the received data, and the like.

GPS信号受信回路112は、GPS衛星からのGPS信号に基づき自車位置を検出し、検出した現在地情報をナビゲーション部106に出力する。GPS情報受信部112は、GPS信号を受信するGPS信号受信回路、受信したGPS信号に基づき自車位置を算出する演算部を備える。   The GPS signal receiving circuit 112 detects the vehicle position based on the GPS signal from the GPS satellite, and outputs the detected current location information to the navigation unit 106. The GPS information receiving unit 112 includes a GPS signal receiving circuit that receives a GPS signal, and a calculation unit that calculates the vehicle position based on the received GPS signal.

操作部114は、AVN一体機1に対して使用者が各種操作を行うための入力部である。具体的には、操作部114は、例えば、押釦スイッチ、回転操作スイッチ、ジョイスティック等である。操作部114は、AVN一体機1に対する使用者による各種操作の操作状態を制御部100に出力する。   The operation unit 114 is an input unit for the user to perform various operations on the AVN integrated device 1. Specifically, the operation unit 114 is, for example, a push button switch, a rotation operation switch, a joystick, or the like. The operation unit 114 outputs operation states of various operations by the user to the AVN integrated device 1 to the control unit 100.

リモコン送受信部115は、使用者によるリモコン116に対する入力操作の操作状態を制御部100に出力する。本実施例では、リモコン送受信部115は、使用者のリモコン116に対する回転操作、傾動操作、押圧操作を検出する。   The remote control transmission / reception unit 115 outputs an operation state of an input operation performed on the remote control 116 by the user to the control unit 100. In the present embodiment, the remote controller transmission / reception unit 115 detects a rotation operation, a tilting operation, and a pressing operation on the remote controller 116 by the user.

リモコン116は、AVN一体機1本体から離れた場所、例えば運転席と助手席間のひじ掛け付近や、ステアリングホイールに設置されたインストルメントパネル等であってもよい。なお、リモコン116は、回転操作量・方向に応じた信号を出力するロータリエンコーダ、感圧センサにより構成され傾動操作方向に応じた信号を出力するジョイスティック等の傾動センサ、押圧操作によりオンオフ状態が変化する押圧スイッチを備える。   The remote control 116 may be a place away from the AVN integrated device 1 main body, for example, near an armrest between a driver seat and a passenger seat, an instrument panel installed on a steering wheel, or the like. The remote control 116 is a rotary encoder that outputs a signal corresponding to the rotation operation amount and direction, a tilt sensor such as a joystick that is configured by a pressure-sensitive sensor and outputs a signal corresponding to the tilt operation direction, and an on / off state is changed by a pressing operation. A pressing switch is provided.

メモリ117は、各種データや制御プログラムを記憶するメモリ(記憶媒体)で、例えばHDD(Hard Disk Drive)や、書換え可能なフラッシュメモリ等を備える。メモリ1
17は、制御部100の制御信号により制御され、制御部100に備えられたROM等の周辺回路に所望のデータを出力する。
The memory 117 is a memory (storage medium) that stores various data and control programs, and includes, for example, an HDD (Hard Disk Drive), a rewritable flash memory, and the like. Memory 1
17 is controlled by a control signal of the control unit 100 and outputs desired data to a peripheral circuit such as a ROM provided in the control unit 100.

カメラ119は、例えば車両後部に備え付けられたカメラであり、撮影映像を外部音声/映像入力部118に出力する。なお、撮影映像は音声データを含んでもよい。   The camera 119 is, for example, a camera provided at the rear of the vehicle, and outputs a captured video to the external audio / video input unit 118. Note that the captured video may include audio data.

ETC(Electronic Toll Collection System)車載機120は、使用者が高速道路の
通行料金等を支払うため、料金所に取り付けられたアンテナと無線通信を行い、適正な料金情報を交換する。なお、ETC車載機120のこのような動作は、制御部100の制御信号により制御される。
An ETC (Electronic Toll Collection System) in-vehicle device 120 performs wireless communication with an antenna attached to a toll booth and exchanges appropriate toll information in order for a user to pay a highway toll. Note that such operation of the ETC in-vehicle device 120 is controlled by a control signal of the control unit 100.

通信ユニット121は、AVN一体機1がインターネット等のコンピュータネットワークに接続するため、様々な場所に取り付けられたアンテナと無線通信を行い、パケット等のデータの送受信を行う。   The communication unit 121 connects the AVN integrated device 1 to a computer network such as the Internet, and thus performs wireless communication with antennas attached to various places, and transmits and receives data such as packets.

表示部122は、画像出力部110により入力された画像信号に基づき画像を表示する。表示部122は、例えば、液晶ディスプレイ、有機ELディスプレイ、プラズマディスプレイ、冷陰極フラットパネルディスプレイ等の液晶パネル201と、液晶パネル201を背面から証明するバックライト200と、抵抗膜方式や静電容量方式等のタッチパネル202とを備える。タッチパネル202は、AVN一体機1に対する使用者による各種操作の操作状態を制御部100に出力する。   The display unit 122 displays an image based on the image signal input by the image output unit 110. The display unit 122 includes, for example, a liquid crystal panel 201 such as a liquid crystal display, an organic EL display, a plasma display, a cold cathode flat panel display, a backlight 200 that proves the liquid crystal panel 201 from the back, a resistance film method, and a capacitance method. And the like. The touch panel 202 outputs operation states of various operations by the user to the AVN integrated device 1 to the control unit 100.

なお、AVN一体機1は、本実施形態における情報処理装置の一実施例であり、情報処理装置の種類を限定するものではない。本実施形態における情報処理装置は、例えば、CPU等の1又は複数のプロセッサや、プロセッサの処理に利用される周辺回路(ROM、RAM、インタフェース回路等)を備える汎用コンピュータ等であってもよい。   The AVN integrated device 1 is an example of the information processing apparatus in the present embodiment, and does not limit the type of information processing apparatus. The information processing apparatus according to the present embodiment may be, for example, a general-purpose computer that includes one or more processors such as a CPU, and peripheral circuits (ROM, RAM, interface circuit, etc.) used for processing of the processor.

また、本実施形態におけるAVN一体機1は、例えば、車載される自動車のアクセサリ電源のオン及びオフに応じて、その起動及び停止がなされる。   In addition, the AVN integrated device 1 according to the present embodiment is activated and stopped in accordance with, for example, turning on and off an accessory power supply of an automobile mounted on the vehicle.

§2 第1の実施形態
次に、本実施形態の第1の実施形態について説明する。
§2 First embodiment Next, a first embodiment of the present embodiment will be described.

§2−1 プロセス構成
まず、第1の実施形態におけるプロセス構成について説明する。以下のプロセス構成、各種手段、及び周知の機能は、例えば、メモリ117等に格納された各種プログラム及びデータが、制御部100の周辺回路であるRAM等に展開されて、制御部100のマイコンにより実行され、各構成(外部記憶媒体再生部101等)が制御されることによって実現される。
§2-1 Process configuration First, the process configuration in the first embodiment will be described. The following process configuration, various means, and well-known functions are, for example, that various programs and data stored in the memory 117 or the like are expanded in a RAM or the like, which is a peripheral circuit of the control unit 100, and are controlled by the microcomputer of the control unit 100. This is implemented by controlling each component (external storage medium playback unit 101 and the like).

図2は、第1の実施形態においてAVN一体機1上で実現されるプロセス構成の一例を示す。図2に示されるとおり、第1の実施形態におけるAVN一体機1は、当該プロセス構成として、親プロセス50と子プロセス51を備える。   FIG. 2 shows an example of a process configuration realized on the AVN integrated device 1 in the first embodiment. As shown in FIG. 2, the AVN integrated device 1 in the first embodiment includes a parent process 50 and a child process 51 as the process configuration.

親プロセス50は、その機能構成として、システム管理スレッド50a、管理情報50b、スレッドA50c、子プロセス管理スレッド50dを備える。システム管理スレッド50aはプロセス内スレッド管理手段50eを備える。子プロセス管理スレッド50dは子プロセス管理手段50fを備える。   The parent process 50 includes a system management thread 50a, management information 50b, a thread A 50c, and a child process management thread 50d as functional configurations. The system management thread 50a includes in-process thread management means 50e. The child process management thread 50d includes child process management means 50f.

また、子プロセス51は、その機能構成として、システム管理スレッド51a、管理情報50b、スレッドB50c、子プロセス管理スレッド51dを備える。システム管理スレッド51aはプロセス内スレッド管理手段51eを備える。子プロセス管理スレッド51dは子プロセス管理手段51fを備える。   The child process 51 includes a system management thread 51a, management information 50b, a thread B50c, and a child process management thread 51d as functional configurations. The system management thread 51a includes in-process thread management means 51e. The child process management thread 51d includes child process management means 51f.

なお、親プロセス50、子プロセス51、及びこれらのプロセスに含まれる各スレッドは、プロセス及びスレッドの機能として知られる周知の機能を備えている。   The parent process 50, the child process 51, and each thread included in these processes have a well-known function known as a process and a thread function.

なお、上述したとおり、各プロセス内スレッド管理手段(50e、51e)及び各子プロセス管理手段(50f、51f)は、例えば、メモリ117等に格納された各種プログラム及びデータが、制御部100の周辺回路であるRAM等に展開されて、制御部100のマイコンにより実行され、各構成(外部記憶媒体再生部101等)が制御されることによって実現される。また、各管理情報(50b、51b)は、例えば、メモリ117等により格納され、利用される際に制御部100の周辺回路であるRAM等に展開されることで実現される。   As described above, each of the in-process thread management means (50e, 51e) and each of the child process management means (50f, 51f), for example, stores various programs and data stored in the memory 117 or the like around the control unit 100. This is realized by being expanded in a RAM or the like that is a circuit, executed by the microcomputer of the control unit 100, and controlling each component (external storage medium playback unit 101 and the like). Further, each management information (50b, 51b) is realized by being stored in, for example, the memory 117 or the like and expanded in a RAM or the like that is a peripheral circuit of the control unit 100 when used.

以下、プロセス内スレッド管理手段及び子プロセス管理手段について説明する。   Hereinafter, the in-process thread management means and the child process management means will be described.

<プロセス内スレッド管理手段>
プロセス内スレッド管理手段は、所定の起動要因及び停止要因に応じて、管理情報を用いて、プロセス内に存在するスレッドの起動及び停止を管理する。管理情報には、そのプロセス内に存在するスレッドの起動要因及び停止要因が格納されている。プロセス内スレッド管理手段は、管理情報に格納された当該スレッドの起動要因及び停止要因に従って、プロセス内に存在するスレッドの起動及び停止を管理する。
<In-process thread management means>
The in-process thread management means manages the start and stop of threads existing in the process using the management information in accordance with predetermined start factors and stop factors. The management information stores the start and stop factors of threads existing in the process. The in-process thread management means manages the start and stop of the thread existing in the process according to the start and stop factors of the thread stored in the management information.

例えば、親プロセス50におけるシステム管理スレッド50aは、プロセス内スレッド管理手段50eにより、管理情報50bを用いて、スレッドA50c及び子プロセス管理スレッド50dの起動及び停止を管理する。   For example, the system management thread 50a in the parent process 50 manages the start and stop of the thread A 50c and the child process management thread 50d using the management information 50b by the in-process thread management means 50e.

例えば、子プロセス51におけるシステム管理スレッド51aは、プロセス内スレッド管理手段51eにより、管理情報51bを用いて、スレッドA51c及び子プロセス管理スレッド51dの起動及び停止を管理する。   For example, the system management thread 51a in the child process 51 manages the start and stop of the thread A 51c and the child process management thread 51d using the management information 51b by the intra-process thread management means 51e.

管理情報の一例を図3に示す。図3(A)は、親プロセス50の管理情報50bのレコード例を示す。また、図3(B)は、子プロセス51の管理情報51bのレコード例を示す。各管理情報はそれぞれ、図15において示した従来の管理情報と同様である。すなわち、各管理情報のレコードはそれぞれ、スレッドのタイプを指定するためのスレッド名、各スレッドの実行の優先度を示すスレッド優先度、スレッドをメモリに格納する際に必要なメモリサイズを示すスタックサイズ、各スレッドを一意に特定するためのスレッドID、及びスレッドの停止方法を指定するパラメタであるスレッド属性(停止要因)を格納するフィールドを備える。   An example of the management information is shown in FIG. FIG. 3A shows a record example of the management information 50 b of the parent process 50. FIG. 3B shows a record example of the management information 51b of the child process 51. Each piece of management information is the same as the conventional management information shown in FIG. In other words, each management information record includes a thread name for specifying the thread type, a thread priority indicating the execution priority of each thread, and a stack size indicating the memory size required for storing the thread in the memory. And a field for storing a thread ID for uniquely identifying each thread, and a thread attribute (stop factor) that is a parameter for specifying a thread stop method.

本実施形態では、スレッドの起動要因として、各スレッドの実行の優先度を定めるスレッド優先度が用いられる。スレッド優先度は、実行中及び待機中にあるスレッドの中でどのスレッドを実行中のスレッドとするのかを定めるものである。本実施形態では、スレッド優先度は、この実行の優先度として用いられると共に、起動の優先度(起動要因)としても用いられる。すなわち、本実施形態では、スレッドの起動要因は、自身よりも優先度の高いスレッドが起動されたことである。ただし、スレッドの起動要因は、このようなスレッド間の関係により定められる条件に限定される訳ではない。スレッドの起動要因は、例えば、AVN一体機1が備えるカメラ119が操作されたこと等、ハードウェアの動作により定められる条件であってもよい。この点は、スレッドの停止要因についても同様である。これらの起動要因及び停止要因は、管理情報に格納することにより、任意に定めることができる。   In this embodiment, a thread priority that determines the priority of execution of each thread is used as a thread activation factor. The thread priority is used to determine which of the threads being executed and waiting is set as the executing thread. In this embodiment, the thread priority is used as the priority of execution and also as the priority of activation (activation factor). That is, in this embodiment, the thread activation factor is that a thread having a higher priority than itself is activated. However, the thread activation factor is not limited to the conditions determined by such a relationship between threads. The thread activation factor may be a condition determined by hardware operation such as operation of the camera 119 included in the AVN integrated device 1. The same applies to the thread stop factor. These starting factors and stopping factors can be arbitrarily determined by storing them in the management information.

なお、プロセス内スレッド管理手段を備えるシステム管理スレッド(システム管理スレッド50a、システム管理スレッド51a)の起動及び停止は、自身の親プロセスにあたる子プロセス管理スレッドが備える子プロセス管理手段によって管理される。   The activation and termination of the system management thread (system management thread 50a, system management thread 51a) provided with the in-process thread management means is managed by the child process management means provided in the child process management thread corresponding to its own parent process.

<子プロセス管理手段>
子プロセス管理手段は、例えば、子プロセス管理スレッドに対する起動命令及び停止命令等の起動要因及び停止要因に応じて、自身の子プロセスにあたるシステム管理スレッドの起動及び停止を管理する。起動要因及び停止要因は、任意に定められる。例えば、ハードウェア構成のある構成(例えば、ナビゲーション部106等)の起動及び停止が起動要因及び停止要因として設定されてもよい。なお、本実施形態では、当該起動要因及び停止要因は、当該子プロセス管理スレッドに対する起動命令及び停止命令であるとする。
<Child process management means>
The child process management means manages the start and stop of the system management thread corresponding to its own child process, for example, according to the start and stop factors such as the start instruction and stop instruction for the child process management thread. The starting factor and the stopping factor are arbitrarily determined. For example, activation and stop of a configuration having a hardware configuration (for example, the navigation unit 106) may be set as the activation factor and the deactivation factor. In this embodiment, it is assumed that the start factor and the stop factor are a start command and a stop command for the child process management thread.

なお、子プロセス管理手段(子プロセス管理スレッド)と子プロセスの関係は、図2に示されるとおり、1対1であってもよいし、1対複数であってもよい。つまり、子プロセス管理手段(子プロセス管理スレッド)が管理する子プロセスのシステム管理スレッドは1つであってもよいし、複数であってもよい。   The relationship between the child process management means (child process management thread) and the child process may be one-to-one as shown in FIG. That is, the child process management means (child process management thread) may manage one or more child system management threads.

ここで、子プロセス管理手段が、自身の子プロセスにあたるシステム管理スレッドの起動を実行する場合、当該実行に係る起動対象のシステム管理スレッドは既に生成されている必要がある。   Here, when the child process management means executes activation of a system management thread corresponding to its own child process, the system management thread to be activated for the execution needs to be already generated.

子プロセス管理手段は、例えば、起動対象のシステム管理スレッドの状態を気にせず、当該システム管理スレッドの起動を実行してもよい。この場合、当該起動対象のシステム管理スレッドが生成されていない場合に限り、エラーが起こる。このエラーにより、子プロセス管理手段は、起動対象のシステム管理スレッドが生成されていないことを認識し、当該起動対象のシステム管理スレッドを生成及び起動を実行してもよい。   For example, the child process management unit may execute the activation of the system management thread without minding the state of the system management thread to be activated. In this case, an error occurs only when the system management thread to be activated is not generated. Due to this error, the child process management means may recognize that the activation target system management thread has not been generated, and generate and start the activation target system management thread.

また、子プロセス管理手段は、例えば、起動対象のシステム管理スレッドからのプロセス状態通知等により、起動対象のシステム管理スレッドの起動が可能であると認識した後に、起動対象のシステム管理スレッドの起動を実行してもよい。なお、プロセス状態通知は、プロセスの状態を通知するものであり、例えば、起動対象のシステム管理スレッドが生成されていること、又は、起動対象のシステム管理スレッドを含むプロセス内のスレッドが全て生成されていること等を通知するものである。   The child process management means recognizes that the activation target system management thread can be activated by, for example, a process state notification from the activation target system management thread, and then activates the activation target system management thread. May be executed. Note that the process state notification is for notifying the state of the process. For example, a system management thread to be started is generated, or all threads in the process including the system management thread to be started are generated. It is notified that it is.

この場合、例えば、各プロセス又はスレッドはOS等の周知の機能によって生成されてもよい。そして、当該周知の機能によりシステム管理スレッドが生成された後、当該システム管理スレッドは、例えば、自身のプロセス内のスレッドが全て生成された時点において、自身の起動及び停止を管理する子プロセス管理スレッドに対してプロセス状態通知を発する。このプロセス状態通知を発する時点は、当該システム管理スレッドが生成された後、任意の時点でよい。子プロセス管理手段は、このプロセス状態通知により、起動対象のシステム管理スレッドが生成され、当該起動対象のシステム管理スレッドの起動が可能であることを認識する。そして、例えば、子プロセス管理手段は、当該認識した後に、起動対象のシステム管理スレッドの起動を実行してもよい。   In this case, for example, each process or thread may be generated by a known function such as an OS. Then, after the system management thread is generated by the known function, the system management thread is, for example, a child process management thread that manages the start and stop of itself when all the threads in the process are generated. Process status notification to The process state notification may be issued at an arbitrary time after the system management thread is generated. The child process management means recognizes that the system management thread to be activated is generated by this process state notification, and that the system management thread to be activated can be activated. Then, for example, the child process management means may execute activation of a system management thread to be activated after the recognition.

その他、例えば、子プロセス管理手段は、起動対象のシステム管理スレッドの状態を通知により確認した後に、当該起動対象のシステム管理スレッドの起動を実行する等、周知の方法により当該起動対象のシステム管理スレッドの起動を実行する。この点は、上述のプロセス内スレッド管理手段によるスレッドの起動においてもあてはまる。   In addition, for example, the child process management means confirms the state of the system management thread to be activated by notification and then activates the system management thread to be activated by a known method such as executing activation of the system management thread to be activated. Execute startup. This also applies to the activation of threads by the above-described in-process thread management means.

なお、本実施形態では、起動対象のシステム管理スレッドは、自身のプロセス内のスレ
ッドが全て生成された時点において、自身の起動及び停止を管理する子プロセス管理スレッドに対して、自身は停止したままにおいて、プロセス状態通知を発することにする。そして、子プロセス管理手段は、当該プロセス状態通知により、起動対象のシステム管理スレッドが生成され、起動命令を発することが可能であることを認識した後に、当該起動対象のシステム管理スレッドの起動を実行することにする。このようにプロセス状態通知が発せられるため、システム管理スレッドが生成される時点においては、自身のプロセス内のスレッドは全て生成されている。したがって、プロセス内スレッド管理手段は特に起動対象のスレッドが生成されていることを確認する必要はない。
In this embodiment, the system management thread to be started remains stopped with respect to the child process management thread that manages its start and stop when all the threads in its own process are generated. , Process state notification is issued. Then, the child process management means executes the activation of the system management thread to be activated after recognizing that the system management thread to be activated is generated and the activation command can be issued by the process state notification. I will do it. Since the process state notification is issued in this way, at the time when the system management thread is generated, all the threads in its own process are generated. Therefore, it is not necessary for the in-process thread management means to confirm that the activation target thread is generated.

なお、このような起動対象のシステム管理スレッドが、自身が起動可能であることを自身の起動を行う子プロセス管理スレッドに対して行う通知(例えば、プロセス状態通知)を、以下、準備完了通知と称する。   Note that a notification (for example, a process status notification) that is issued to the child process management thread that starts up such a system management thread that is to be started up is referred to as a preparation completion notification. Called.

一方、子プロセス管理手段は、自身の子プロセスにあたるシステム管理スレッドの停止を実行する場合、例えば、上記起動を行ったシステム管理スレッドに対してのみ、当該システム管理スレッドの停止を実行する。停止の実行に際して、子プロセス管理手段は、上述の起動の実行のような点を考慮する必要はない。なぜなら、停止対象のシステム管理スレッドが存在しない場合、子プロセス管理手段は停止命令をする必要がないからである。この点は、上述のプロセス内スレッド管理手段によるスレッドの停止においてもあてはまる。   On the other hand, when executing the stop of the system management thread corresponding to its own child process, for example, the child process management means stops the system management thread only for the system management thread that has started. When executing the stop, the child process management means does not need to take into consideration such points as the execution of the above-described start. This is because if there is no system management thread to be stopped, the child process management means need not issue a stop command. This also applies to the thread stoppage by the above-mentioned in-process thread management means.

<その他>
なお、本実施形態では、プロセス内スレッド管理手段を備えたシステム管理スレッドが、プロセス内の各スレッドの起動及び停止を管理する。また、子プロセス管理手段を備えた子プロセス管理スレッドが、子プロセスのシステム管理スレッドの起動及び停止を管理する。したがって、プロセス内では、システム管理スレッドが管理を行うスレッドであり、その他のスレッドが管理されるスレッドである。また、プロセス間では、親プロセスの子プロセス管理スレッドが管理を行うスレッドであり、当該親プロセスの子プロセスのシステム管理スレッドが管理されるスレッドである(図2参照)。
<Others>
In the present embodiment, a system management thread provided with in-process thread management means manages activation and termination of each thread in the process. In addition, a child process management thread provided with a child process management unit manages the start and stop of the system management thread of the child process. Therefore, in the process, a system management thread is a thread that performs management, and other threads are threads that are managed. Further, between processes, a child process management thread of the parent process is a thread that performs management, and a system management thread of a child process of the parent process is managed (see FIG. 2).

ここで、本実施形態では、管理を行うスレッドの管理されるスレッドに対する起動命令及び停止命令は、起動要求通知及び停止要求通知という通知によって実現される。本実施形態では、管理を行うスレッドは、管理されるスレッドに対して起動要求通知及び停止要求通知を送る。管理されるスレッドは、当該起動要求通知及び停止要求通知に応じて、自身の起動及び停止を実行する。そして、本実施形態では、当該管理されるスレッドは、自身の起動及び停止を完了した後、管理を行うスレッドに対して、起動要求通知及び停止要求通知に対する起動完了通知及び停止完了通知を返す。ただし、これらの態様は、いかなる態様であってもよい。これらの通知による起動命令及び停止命令の実現方法は、本発明を限定するものではない。   Here, in the present embodiment, the start command and the stop command for the managed thread of the managing thread are realized by notifications of a start request notification and a stop request notification. In the present embodiment, the managing thread sends a start request notification and a stop request notification to the managed thread. The managed thread executes its own start and stop in response to the start request notification and stop request notification. In the present embodiment, the managed thread returns the start completion notification and the stop completion notification for the start request notification and the stop request notification to the managing thread after completing its start and stop. However, these aspects may be any aspects. The method of realizing the start command and the stop command based on these notifications does not limit the present invention.

なお、ここで用いる起動要求通知及び停止要求通知は、起動に関する情報を通知すること及び停止に関する情報を通知することを指し、これらに関する情報であればいかなる態様であってもよい。例えば、管理を行うスレッドは、自身の状態を通知する。そして、管理されるスレッドは、当該管理を行うスレッドの状態に応じて、起動または停止を実行してもよい。このとき、例えば、管理を行うスレッドが、システム管理スレッドであるならば、当該起動要求通知及び停止要求通知は、システム管理スレッドの状態を通知するシステム状態通知により実現される。また、例えば、管理を行うスレッドが、子プロセス管理スレッドであるならば、当該起動要求通知及び停止要求通知は、親プロセスの状態を通知するプロセス状態通知により実現される。すなわち、起動要求通知及び停止要求通知は、管理されるスレッドの起動及び停止の実行に用いられる通知であれば、いかなる態様であ
ってもよい。この点は、起動完了通知及び停止完了通知についても同様である。起動完了通知及び停止完了通知は、スレッドの起動状態に関する情報を通知すること及び停止状態に関する情報を通知することを指し、これらに関する情報であればいかなる態様であってもよい。各通知の態様は、本発明を限定するものではない。
Note that the activation request notification and the stop request notification used here refer to notification of information related to activation and notification of information related to stop, and may be in any form as long as the information is related thereto. For example, a thread that performs management notifies its own state. Then, the managed thread may be activated or stopped depending on the state of the thread that performs the management. At this time, for example, if the management thread is a system management thread, the start request notification and the stop request notification are realized by a system state notification that notifies the state of the system management thread. Also, for example, if the management thread is a child process management thread, the start request notification and the stop request notification are realized by a process state notification for notifying the state of the parent process. In other words, the start request notification and the stop request notification may be in any form as long as they are notifications used for starting and stopping the managed thread. The same applies to the start completion notification and the stop completion notification. The start completion notification and the stop completion notification indicate notification of information regarding the activation state of the thread and notification of information regarding the stop state, and may be in any form as long as the information is related thereto. The form of each notification does not limit the present invention.

また、後述する動作例では、起動要求通知及び停止要求通知、並びに、これらに対応する起動完了通知及び停止完了通知は、それぞれ1回の通知であるが、通知の回数は限定されない。例えば、各通知は、段階的に行われてもよい。例えば、管理を行うスレッドから管理されるスレッドに対して停止要求通知が発せられた場合、管理されるスレッドは、管理を行うスレッドに対して、自身の停止処理の段階に応じた停止完了通知を送信してもよい。この場合、管理を行うスレッドは、管理されるスレッドの段階的な状態を認識することができる。   Further, in the operation example described later, the start request notification and the stop request notification, and the corresponding start completion notification and stop completion notification corresponding thereto are each one notification, but the number of notifications is not limited. For example, each notification may be performed step by step. For example, when a stop request notification is issued from a managing thread to a managed thread, the managed thread sends a stop completion notification according to the stage of its own stop processing to the managing thread. You may send it. In this case, the managing thread can recognize the stepwise state of the managed thread.

なお、子プロセス管理手段を備えた子プロセス管理スレッドが、子プロセスのシステム管理スレッドの起動及び停止を管理する際の起動要求通知、停止要求通知、起動完了通知及び停止完了通知は、プロセス間通信によって実現される。   Note that when the child process management thread having the child process management means manages the start and stop of the child process system management thread, the start request notification, the stop request notification, the start completion notification, and the stop completion notification are communicated between processes. It is realized by.

§2−2 動作例
次に、第1の実施形態における各スレッドの起動及び停止についての管理方法について、以下の動作例を用いて説明する。図4は、第1の実施形態におけるスレッドの起動処理の手順の一例を示したシーケンスチャートである。また、図5は、第1の実施形態におけるスレッドの停止処理の手順の一例を示したシーケンスチャートである。なお、これらのシーケンスチャートでは、起動要求通知、起動完了通知、停止要求通知、停止完了通知はそれぞれ、起動要求、起動完了、停止要求、停止完了と記載を省略した。
§2-2 Operation Example Next, a management method for starting and stopping each thread in the first embodiment will be described using the following operation example. FIG. 4 is a sequence chart illustrating an example of a procedure for starting a thread according to the first embodiment. FIG. 5 is a sequence chart illustrating an example of a procedure of thread stop processing according to the first embodiment. In these sequence charts, the activation request notification, activation completion notification, stop request notification, and stop completion notification are omitted from the description of activation request, activation completion, stop request, and stop completion, respectively.

なお、これらのシーケンスチャートでは、各システム管理スレッドのプロセス内スレッド管理手段が用いる管理情報は、図3に与えられるレコード例を前提としている。ここで、本実施形態において、各管理情報のスレッド優先度は、その値が小さいほど優先度は高い。また、各スレッドのスレッド属性(停止要因)は、任意に設定される。ここでは、説明を簡略化するために、スレッド属性(停止要因)は、管理を行うスレッドに対して停止命令がなされたこと、及び、自分よりも起動の優先度の高いスレッドが停止したこととする。   In these sequence charts, the management information used by the in-process thread management means of each system management thread is based on the record example given in FIG. Here, in this embodiment, the thread priority of each management information is higher as the value is smaller. Further, the thread attribute (stop factor) of each thread is arbitrarily set. Here, in order to simplify the explanation, the thread attribute (stop factor) is that the stop instruction is given to the managing thread, and that the thread having a higher start priority than itself is stopped. To do.

なお、これらのシーケンスチャートの前提として、各プロセス及びスレッドは周知のOSの機能により既に生成されているものとする。   As a premise of these sequence charts, it is assumed that each process and thread has already been generated by a known OS function.

<スレッドの起動時>
まず、任意の方法により、システム管理スレッド50aが起動される。システム管理スレッド50aが起動されると、システム管理スレッド50aが備えるプロセス内スレッド管理手段50eは、管理情報50bのスレッド優先度を参照する(スレッド優先度については図3(A)を参照)。そして、図4に示されるとおり、プロセス内スレッド管理手段50eは、スレッド優先度が一番高いスレッドA50cに対して起動要求通知を送信する(S200)。なお、本実施形態では、上述のとおり、スレッド優先度の値が低い程、優先度が高い。
<When starting a thread>
First, the system management thread 50a is activated by an arbitrary method. When the system management thread 50a is activated, the in-process thread management means 50e included in the system management thread 50a refers to the thread priority of the management information 50b (see FIG. 3A for the thread priority). Then, as shown in FIG. 4, the in-process thread management means 50e transmits an activation request notification to the thread A 50c having the highest thread priority (S200). In the present embodiment, as described above, the lower the thread priority value, the higher the priority.

スレッドA50cは、当該起動要求通知を受信すると、自身の起動を実行する。そして、スレッドA50cは、自身の起動が完了すると、システム管理スレッド50aに対して起動完了通知を返信する(S201)。   When the thread A 50 c receives the activation request notification, the thread A 50 c executes its own activation. When the activation of the thread A 50c is completed, the thread A 50c returns an activation completion notification to the system management thread 50a (S201).

スレッドA50cから起動完了通知を受信すると、プロセス内スレッド管理手段50e
は、再度、管理情報50bのスレッド優先度を参照する。そして、図4に示されるとおり、プロセス内スレッド管理手段50eは、管理情報50bの中でスレッドA50cの次にスレッド優先度の高い子プロセス管理スレッド50dに対して起動要求通知を送信する(S202)。
When the activation completion notification is received from the thread A 50c, the in-process thread management means 50e
Refers to the thread priority of the management information 50b again. Then, as shown in FIG. 4, the in-process thread management unit 50e transmits an activation request notification to the child process management thread 50d having the highest thread priority next to the thread A 50c in the management information 50b (S202). .

子プロセス管理スレッド50dは、当該起動要求通知を受信すると、自身の起動を実行する。そして、自身の起動が完了すると、システム管理スレッド50aに対して起動完了通知を返信する(S203)。   When the child process management thread 50d receives the activation request notification, the child process management thread 50d executes its own activation. When the activation of itself is completed, an activation completion notification is returned to the system management thread 50a (S203).

ここで、子プロセス51及び子プロセス51に含まれているスレッドは既に生成されているものとする。このとき、システム管理スレッド51aは、子プロセス管理スレッド50dに対して、自身は停止したままにおいて、準備完了通知を送信する(S204)。当該準備完了通知は、上述のとおり、例えば、プロセス状態通知である。   Here, it is assumed that the child process 51 and the thread included in the child process 51 have already been generated. At this time, the system management thread 51a transmits a preparation completion notice to the child process management thread 50d while stopping itself (S204). The preparation completion notification is, for example, a process state notification as described above.

準備完了通知を受信した後、起動が完了した子プロセス管理スレッド50dの子プロセス管理手段50fは、自身の子プロセスである子プロセス51のシステム管理スレッド51aに対して起動要求通知を送信する(S205)。   After receiving the preparation completion notification, the child process management means 50f of the child process management thread 50d that has been started up transmits a start request notification to the system management thread 51a of the child process 51 that is its own child process (S205). ).

システム管理スレッド51aは、当該起動要求通知を受信すると、自身の起動を実行する。そして、自身の起動が完了すると、システム管理スレッド51aは、子プロセス管理スレッド50dに対して起動完了通知を返信する(S206)。   When receiving the activation request notification, the system management thread 51a executes its own activation. When the activation of itself is completed, the system management thread 51a returns an activation completion notification to the child process management thread 50d (S206).

起動が完了したシステム管理スレッド51aのプロセス内スレッド管理手段51eは、管理情報51bのスレッド優先度を参照する(スレッド優先度については図3(B)を参照)。そして、図4に示されるとおり、プロセス内スレッド管理手段51eは、子プロセス管理スレッド51dに対して起動要求通知を送信する(S207)。   The in-process thread management unit 51e of the system management thread 51a that has been activated refers to the thread priority of the management information 51b (see FIG. 3B for the thread priority). Then, as shown in FIG. 4, the in-process thread management unit 51e transmits an activation request notification to the child process management thread 51d (S207).

子プロセス管理スレッド51dは、当該起動要求通知を受信すると、自身の起動を実行する。そして、自身の起動が完了すると、システム管理スレッド51aに対して起動完了通知を返信する(S208)。   When the child process management thread 51d receives the activation request notification, the child process management thread 51d executes its own activation. When the activation of itself is completed, an activation completion notification is returned to the system management thread 51a (S208).

また、上述と同様に、子プロセス管理スレッド51dが起動を管理する不図示の子プロセス及び当該子プロセスに含まれるスレッドは既に生成されているものとする。そして、当該子プロセスのシステム管理スレッドから子プロセス管理スレッド51dに対して準備完了通知が送信される(S209)。   Similarly to the above, it is assumed that a child process (not shown) managed by the child process management thread 51d and a thread included in the child process have already been generated. Then, a preparation completion notification is transmitted from the system management thread of the child process to the child process management thread 51d (S209).

準備完了通知を受信した後、起動が完了した子プロセス管理スレッド51dの子プロセス管理手段51fは、自身の子プロセスである当該不図示の子プロセスのシステム管理スレッドに対して起動要求通知を送信する(S210)。そして、当該不図示のシステム管理スレッドは、起動要求通知を受信すると、自身の起動を実行する。そして、自身の起動が完了すると、当該不図示のシステム管理スレッドは、子プロセス管理スレッド50dに対して起動完了通知を返信する(S211)。   After receiving the preparation completion notification, the child process management means 51f of the child process management thread 51d that has been activated transmits an activation request notification to the system management thread of the child process (not shown) that is its own child process. (S210). When the system management thread (not shown) receives the activation request notification, it executes its own activation. When the startup of itself is completed, the system management thread (not shown) returns a startup completion notification to the child process management thread 50d (S211).

子プロセス管理スレッド51dから起動完了通知を受信すると、プロセス内スレッド管理手段51eは、再度、管理情報51bのスレッド優先度を参照する。そして、図4に示されるとおり、プロセス内スレッド管理手段51eは、管理情報51bの中で子プロセス管理スレッド51dの次にスレッド優先度の高いスレッドB51cに対して起動要求通知を送信する(S212)。   When the start completion notification is received from the child process management thread 51d, the in-process thread management means 51e refers to the thread priority of the management information 51b again. Then, as shown in FIG. 4, the in-process thread management means 51e transmits an activation request notification to the thread B 51c having the highest thread priority next to the child process management thread 51d in the management information 51b (S212). .

スレッドB51cは、当該起動要求通知を受信すると、自身の起動を実行する。そして
、スレッドB51cは、自身の起動が完了すると、システム管理スレッド51aに対して起動完了通知を返信する(S213)。
When the thread B 51c receives the activation request notification, the thread B 51c executes its own activation. When the activation of the thread B 51c is completed, the thread B 51c returns an activation completion notification to the system management thread 51a (S213).

以上により、親プロセス50及び子プロセス51に存在する全てのスレッドは、起動が完了する。   As described above, activation of all threads existing in the parent process 50 and the child process 51 is completed.

なお、これらの処理順序は、単なる一例に過ぎず他の順序であってもよい。例えば、上記シーケンスチャートでは、S209〜S211の処理が行われた後に、S212の処理が行われているが、S212の処理と、S209〜S211の処理は並列に行われてもよい。また、例えば、S204及びS209の準備完了通知は、S200の前に行われていてもよい。また、例えば、S203の処理とS205以降の処理は前後してもよい。上記のシーケンスチャートにおける処理の順序は、本発明を限定するものではない。以下に登場する各シーケンスチャートについてもこの点は同様である。   Note that these processing orders are merely examples, and other orders may be used. For example, in the sequence chart, the processing of S212 is performed after the processing of S209 to S211 is performed, but the processing of S212 and the processing of S209 to S211 may be performed in parallel. Further, for example, the preparation completion notification in S204 and S209 may be performed before S200. Further, for example, the process of S203 and the processes after S205 may be mixed. The order of processing in the above sequence chart does not limit the present invention. The same applies to each sequence chart that appears below.

<スレッドの停止時>
例えば、上記<スレッドの起動時>の処理の後、親プロセス50及び子プロセス51のスレッドが起動しているものとする。この状況において、親プロセス50のシステム管理スレッド50aは、所定の対象(例えば、親プロセス50の親プロセスの子プロセス管理スレッドに含まれる子プロセス管理手段)から停止要求通知を受信したとする。
<When thread is stopped>
For example, it is assumed that the threads of the parent process 50 and the child process 51 are activated after the above processing <when thread is activated>. In this situation, it is assumed that the system management thread 50a of the parent process 50 receives a stop request notification from a predetermined target (for example, a child process management unit included in a child process management thread of the parent process 50).

このとき、システム管理スレッド50aに含まれるプロセス内スレッド管理手段50eは、管理情報50bのスレッド属性を参照する。スレッド属性は、任意に設定される。ここでは、上述のとおり、スレッド属性は、管理を行うスレッドに対して停止命令がなされたこと、及び、自分よりも起動の優先度の高いスレッドが停止したこととする。したがって、図5に示されるとおり、プロセス内スレッド管理手段50eは、まず、起動の優先度が一番高いスレッドA50cに対して停止要求通知を送信する(S300)。   At this time, the in-process thread management means 50e included in the system management thread 50a refers to the thread attribute of the management information 50b. The thread attribute is arbitrarily set. Here, as described above, it is assumed that the thread attribute is that a stop instruction has been given to the thread to be managed, and that a thread having a higher activation priority than itself is stopped. Therefore, as shown in FIG. 5, the in-process thread management unit 50e first transmits a stop request notification to the thread A 50c having the highest activation priority (S300).

スレッドA50cは、停止要求通知を受信すると、自身の停止を実行する。そして、スレッドA50cは、自身の停止が完了すると、システム管理スレッド50aに対して停止完了通知を返信する(S301)。   When the thread A 50 c receives the stop request notification, the thread A 50 c executes its own stop. When the thread A50c completes its own stop, the thread A50c returns a stop completion notification to the system management thread 50a (S301).

システム管理スレッド50aのプロセス内スレッド管理手段50eは、スレッドA50cから停止完了通知を受信すると、再度、管理情報50bのスレッド属性を参照する。そして、図5に示されるとおり、プロセス内スレッド管理手段50eは、スレッドA50cの次に起動の優先度の高い子プロセス管理スレッド50dに対して停止要求通知を送信する(S302)。   When the in-process thread management unit 50e of the system management thread 50a receives the stop completion notification from the thread A 50c, it again refers to the thread attribute of the management information 50b. Then, as shown in FIG. 5, the in-process thread management means 50e transmits a stop request notification to the child process management thread 50d having the next highest activation priority after the thread A 50c (S302).

子プロセス管理スレッド50dは、プロセス内スレッド管理手段50eから停止要求通知を受信すると、自身の停止を開始する。子プロセス管理スレッド50dの子プロセス管理手段50fは、当該停止要求通知に応じて、子プロセス51のシステム管理スレッド51aに対して、停止要求通知を送信する(S303)。   When the child process management thread 50d receives the stop request notification from the in-process thread management means 50e, the child process management thread 50d starts its own stop. The child process management means 50f of the child process management thread 50d transmits a stop request notification to the system management thread 51a of the child process 51 in response to the stop request notification (S303).

システム管理スレッド51aのプロセス内スレッド管理手段51eは、子プロセス管理スレッド50dから停止要求通知を受信すると、管理情報51bのスレッド属性を参照する。そして、プロセス内スレッド管理手段51eは、図5に示されるとおり、当該スレッド属性に応じて、優先度の一番高い子プロセス管理スレッド51dに対して停止要求通知を送信する(S304)。   When the in-process thread management unit 51e of the system management thread 51a receives the stop request notification from the child process management thread 50d, the process management thread 51a refers to the thread attribute of the management information 51b. Then, as shown in FIG. 5, the in-process thread management unit 51e transmits a stop request notification to the child process management thread 51d having the highest priority according to the thread attribute (S304).

子プロセス管理スレッド51dは、プロセス内スレッド管理手段51eから停止要求通知を受信すると、自身の停止を開始する。子プロセス管理スレッド51dの子プロセス管
理手段50fは、当該停止要求通知に応じて、自身が起動及び停止を管理する不図示の子プロセスのシステム管理スレッドに対して、停止要求通知を送信する(S305)。
When the child process management thread 51d receives the stop request notification from the in-process thread management means 51e, it starts to stop itself. In response to the stop request notification, the child process management means 50f of the child process management thread 51d transmits a stop request notification to a system management thread of a child process (not shown) that manages its start and stop (S305). ).

そして、不図示の子プロセスの停止が完了すると、子プロセス管理スレッド51dは、当該不図示の子プロセスのシステム管理スレッドから停止完了通知を受信する(S306)。   When the stop of the child process (not shown) is completed, the child process management thread 51d receives a stop completion notification from the system management thread of the child process (not shown) (S306).

子プロセス管理スレッド51dは、自身が起動及び停止を管理する不図示の子プロセスの停止に応じて、自身の停止を完了する。そして、子プロセス管理スレッド51dは、自身の停止を完了した後、システム管理スレッド51aに対して停止完了通知を返信する(S307)。   The child process management thread 51d completes its own stop in response to the stop of a child process (not shown) that manages the start and stop. Then, after completing the stop of itself, the child process management thread 51d returns a stop completion notification to the system management thread 51a (S307).

システム管理スレッド51aのプロセス内スレッド管理手段51eは、子プロセス管理スレッド51dから停止完了通知を受信すると、再度、管理情報51bのスレッド属性を参照する。そして、図5に示されるとおり、プロセス内スレッド管理手段51eは、子プロセス管理スレッド51dの次に起動の優先度の高いスレッドB51cに対して停止要求通知を送信する(S308)。   When the in-process thread management means 51e of the system management thread 51a receives the stop completion notification from the child process management thread 51d, it again refers to the thread attribute of the management information 51b. Then, as shown in FIG. 5, the in-process thread management means 51e transmits a stop request notification to the thread B 51c with the highest priority of activation next to the child process management thread 51d (S308).

スレッドB51cは、停止要求通知を受信すると、自身の停止を実行する。そして、スレッドB51cは、自身の停止が完了すると、システム管理スレッド51aに対して停止完了通知を返信する(S309)。   When the thread B51c receives the stop request notification, the thread B51c executes its own stop. Then, when the thread B 51c is completely stopped, the thread B 51c returns a stop completion notification to the system management thread 51a (S309).

システム管理スレッド51aのプロセス内スレッド管理手段51eは、子プロセス管理スレッド51dから停止完了通知を受信すると、再度、管理情報51bのスレッド属性を参照する。そして、停止すべき対象がなくなった時点において、システム管理スレッド51aは、自身の停止を完了し、図5に示されるとおり、子プロセス管理スレッド50dに対して停止完了通知を返信する(S310)。   When the in-process thread management means 51e of the system management thread 51a receives the stop completion notification from the child process management thread 51d, it again refers to the thread attribute of the management information 51b. Then, when there are no more targets to be stopped, the system management thread 51a completes its own stop, and returns a stop completion notification to the child process management thread 50d as shown in FIG. 5 (S310).

子プロセス管理スレッド51dは、システム管理スレッド51aからの停止完了通知に応じて、自身の停止を完了し、システム管理スレッド50aに対して停止完了通知を送信する(S311)。   In response to the stop completion notification from the system management thread 51a, the child process management thread 51d completes its own stop and transmits a stop completion notification to the system management thread 50a (S311).

システム管理スレッド50aのプロセス内スレッド管理手段50eは、子プロセス管理スレッド50dから停止完了通知を受信すると、再度、管理情報50bのスレッド属性を参照する。そして、停止すべき対象がなくなった時点において、システム管理スレッド50aは、自身の停止を完了する。   When the in-process thread management means 50e of the system management thread 50a receives the stop completion notification from the child process management thread 50d, it again refers to the thread attribute of the management information 50b. Then, when there are no more targets to be stopped, the system management thread 50a completes its own stop.

以上により、親プロセス50及び子プロセス51に存在する全てのスレッドは、停止が完了する。   As described above, the stop of all threads existing in the parent process 50 and the child process 51 is completed.

§2−3 第1の実施形態の作用及び効果
以上によれば、第1の実施形態におけるスレッドの起動及び停止の管理は、プロセス内では、当該プロセス内に設けられたシステム管理スレッドのプロセス内スレッド管理手段によって行われる。また、プロセス内のスレッドの起動及び停止の管理を行うシステム管理スレッドの起動及び停止の管理は、親プロセスの子プロセス管理スレッドの子プロセス管理手段によって行われる。
§2-3 Actions and effects of the first embodiment As described above, the start and stop management of the thread in the first embodiment is performed within the process of the system management thread provided in the process. This is done by thread management means. In addition, the start and stop management of the system management thread that manages the start and stop of the threads in the process is performed by the child process management means of the child process management thread of the parent process.

これによって、第1の実施形態においては、プロセス内のスレッドの起動及び停止の管理は、従来のタスクによる制御方法におけるシンプルな方法でのシステム設計及び構築と同様の方法によって行うことができる。したがって、第1の実施形態は、シンプルなシス
テムの設計及び構築を可能とする。
As a result, in the first embodiment, the start and stop of the thread in the process can be managed by a method similar to the system design and construction by a simple method in the conventional control method using tasks. Therefore, the first embodiment enables simple system design and construction.

また、第1の実施形態において、プロセス間通信は、子プロセス管理手段を含む子プロセス管理スレッドとシステム管理スレッドの間で行われる通信に限られる。したがって、第1の実施形態は、各スレッドの起動及び停止を管理する際に発生するプロセス間通信を極力抑えることができる。   In the first embodiment, inter-process communication is limited to communication performed between a child process management thread including a child process management unit and a system management thread. Therefore, the first embodiment can suppress inter-process communication that occurs when managing the start and stop of each thread as much as possible.

また、システム管理スレッドのプロセス内スレッド管理手段によって行われるプロセス内のスレッドの起動及び管理方法は、当該システム管理スレッドを備えるプロセスで同一である。したがって、第1の実施形態は、当該システム管理スレッドを各プロセスに備えることで、各プロセス内のスレッドの管理手法を同一にすることができる。   In addition, the thread activation and management method in the process performed by the in-process thread management means of the system management thread is the same for the process including the system management thread. Therefore, in the first embodiment, by providing the system management thread in each process, the thread management method in each process can be made the same.

また、システム管理スレッドのプロセス内スレッド管理手段によって行われるプロセス内のスレッドの起動及び停止の管理方法は、従来におけるタスクによる制御方法と同様の管理方法であり、従来の技術を移植することが容易である。   In addition, the method for managing the start and stop of the thread in the process performed by the in-process thread management means of the system management thread is the same management method as the control method by the conventional task, and it is easy to port the conventional technique. It is.

§3 第2の実施形態
次に、本実施形態の第2の実施形態について説明する。第2の実施形態は、本実施形態に係る情報処理装置の一例であるAVN一体機1において、周知のOSの一例であるWindows Automotive 5.5を用いた一実施形態である。また、第2の実施形態は、当該OS(Windows Automotive 5.5)が用いられたAVN一体機1に対して第1の実施形態を適用した一実施例でもある。
§3 Second embodiment Next, a second embodiment of the present embodiment will be described. The second embodiment is an embodiment using Windows Automotive 5.5, which is an example of a well-known OS, in the AVN integrated machine 1 which is an example of an information processing apparatus according to the present embodiment. The second embodiment is also an example in which the first embodiment is applied to the AVN integrated device 1 using the OS (Windows Automotive 5.5).

§3−1 プロセス構成
まず、図6及び図7を用いて、第2の実施形態におけるプロセス構成について説明する。なお、以下のプロセス構成、各種機能構成、各種手段、及び周知の機能は、例えば、メモリ117等に格納された各種プログラム及びデータが、制御部100の周辺回路であるRAM等に展開されて、制御部100のマイコンにより実行され、各構成(外部記憶媒体再生部101等)が制御されることによって実現される。この点、第1の実施形態と同様である。なお、図6〜図13において、各スレッドについての「スレッド」の標記を省略した。
§3-1 Process configuration First, a process configuration according to the second embodiment will be described with reference to FIGS. 6 and 7. The following process configuration, various functional configurations, various means, and well-known functions are, for example, various programs and data stored in the memory 117 or the like are expanded in a RAM or the like that is a peripheral circuit of the control unit 100. It is executed by the microcomputer of the control unit 100 and controlled by each component (external storage medium playback unit 101 and the like). This is the same as in the first embodiment. In FIG. 6 to FIG. 13, “thread” for each thread is omitted.

<機能構成>
図6は、第2の実施形態においてAVN一体機1上で実現される機能構成及びプロセス構成の一例を示す。図6に示されるとおり、第2の実施形態におけるAVN一体機1は、当該機能構成として、スナップショット制御部2a、スナップショット保持部2b、ReadyGuardプロセス制御部3a、及びReadyGuardプロセス保持部3bを備える。なお、上述のとおり、スナップショット制御部2a及びReadyGuardプロセス制御部3aは、例えば、メモリ117等に格納された各種プログラム及びデータが、制御部100の周辺回路であるRAM等に展開されて、制御部100のマイコンにより実行され、各構成(外部記憶媒体再生部101等)が制御されることによって実現される。また、スナップショット保持部2b及びReadyGuardプロセス保持部3bは、例えば、メモリ117等が備える不揮発性メモリによって実現される。
<Functional configuration>
FIG. 6 shows an example of a functional configuration and a process configuration realized on the AVN integrated device 1 in the second embodiment. As shown in FIG. 6, the AVN integrated device 1 according to the second embodiment includes a snapshot control unit 2a, a snapshot holding unit 2b, a ReadyGuard process control unit 3a, and a ReadyGuard process holding unit 3b as the functional configuration. . Note that, as described above, the snapshot control unit 2a and the ReadyGuard process control unit 3a control various programs and data stored in the memory 117 or the like on a RAM or the like that is a peripheral circuit of the control unit 100, for example. The program is executed by the microcomputer of the unit 100 and is realized by controlling each component (external storage medium playback unit 101 and the like). In addition, the snapshot holding unit 2b and the ReadyGuard process holding unit 3b are realized by, for example, a nonvolatile memory included in the memory 117 or the like.

スナップショット制御部2aは、スナップショットブートと呼ばれるWindows Automotive 5.5の機能を実現する。スナップショットブートとは、システム起動中の任意の時点のシステム状態(メモリ内容、OSの状態など)をスナップショットとして不揮発性のメモリに保存しておき、システムの起動時に当該保存したシステム状態を復元(ブート)することで起動時間を短縮する機能である。   The snapshot control unit 2a realizes a function of Windows Automotive 5.5 called snapshot boot. Snapshot boot saves the system state (memory contents, OS state, etc.) at any point during system startup as a snapshot in non-volatile memory, and restores the saved system state at system startup. This function shortens the startup time by booting.

スナップショット保持部2bは、上述のスナップショットを格納する。なお、後述するとおり、本実施形態では、ReadyGuardプロセス4は、AVN一体機1の起動(例えば、アクセサリ電源オン)に応じて、ReadyGuardプロセス制御部3aによりブートされる。したがって、本実施形態では、スナップショット保持部2bに格納されるスナップショットは、ReadyGuardプロセス4を除いた、MAINプロセス5、Xプロセス6、Yプロセス7、及び、これらのプロセスに含まれるスレッドが生成された時点のシステム状態であるとする。ただし、当該格納されるスナップショットは、任意の時点のシステム状態でよい。当該格納されるスナップショットは、本発明を限定するものではない。   The snapshot holding unit 2b stores the above-described snapshot. As will be described later, in this embodiment, the ReadyGuard process 4 is booted by the ReadyGuard process control unit 3a in response to the activation of the AVN integrated device 1 (for example, accessory power-on). Therefore, in the present embodiment, the snapshot stored in the snapshot holding unit 2b is generated by the MAIN process 5, the X process 6, the Y process 7, and the threads included in these processes, excluding the ReadyGuard process 4. It is assumed that the system state at the time of being released. However, the stored snapshot may be in the system state at an arbitrary time. The stored snapshot is not a limitation of the present invention.

なお、スナップショット制御部2aが、スナップショット保持部2bよりスナップショットを取得し、当該スナップショットを制御部100のRAM等に展開するタイミングは任意でよい。本実施形態では、ReadyGuardプロセス4及び当該プロセス内の各スレッドが起動した時点において、スナップショット制御部2aは、当該スナップショットを制御部100のRAM等に展開する。また、スナップショット制御部2aは、当該時点をシステム管理スレッド4aからの通知により認識する。   Note that the snapshot control unit 2a may acquire a snapshot from the snapshot holding unit 2b and develop the snapshot in the RAM or the like of the control unit 100 at any time. In this embodiment, when the ReadyGuard process 4 and each thread in the process are activated, the snapshot control unit 2a expands the snapshot in the RAM of the control unit 100 or the like. Further, the snapshot control unit 2a recognizes the time point by a notification from the system management thread 4a.

ReadyGuardプロセス制御部3aとReadyGuardプロセス保持部3bは、AVN一体機1の起動(例えば、アクセサリ電源オン)に応じたReadyGuardプロセス4の起動を実現する。ReadyGuardプロセス保持部3bはReadyGuardプロセス4を格納している。そして、ReadyGuardプロセス制御部3aは、AVN一体機1の起動に応じて、ReadyGuardプロセス保持部3bからReadyGuardプロセス4を取得し、当該ReadyGuardプロセス4を制御部100のRAM等に展開する。そして、ReadyGuardプロセス制御部3aは、ReadyGuardプロセス4を起動する。これは、ReadyGuardと呼ばれる周知の機能を実現するための動作である。   The ReadyGuard process control unit 3a and the ReadyGuard process holding unit 3b realize activation of the ReadyGuard process 4 in response to activation of the AVN integrated device 1 (for example, accessory power-on). The ReadyGuard process holding unit 3b stores a ReadyGuard process 4. Then, the ReadyGuard process control unit 3a acquires the ReadyGuard process 4 from the ReadyGuard process holding unit 3b in response to the activation of the AVN integrated device 1, and develops the ReadyGuard process 4 in the RAM of the control unit 100 or the like. Then, the ReadyGuard process control unit 3a starts the ReadyGuard process 4. This is an operation for realizing a known function called ReadyGuard.

ここで、ReadyGuardと呼ばれる周知の機能について簡単に説明する。Windows Automotive 5.5には、ReadyGuardと呼ばれる機能がある。ReadyGuardとは、システム上で障害が発生した場合に、システム全体のリブートを行わず、あらかじめ定義した高信頼ソフトウェアの動作を継続させたまま、残りの部分(OSを含めた、その他のソフトウェア)を再起動する機構を提供する技術である。   Here, a well-known function called ReadyGuard will be briefly described. Windows Automotive 5.5 has a function called ReadyGuard. With ReadyGuard, if a failure occurs on the system, the rest of the system (other software including the OS) will not be rebooted and the operation of the high-reliability software defined in advance will be continued. This is a technology that provides a mechanism for restarting.

ReadyGuardでは、この機構を実現するために最初にReadyGuardOSが起動され、その後、メインOSが起動される。ReadyGuardOSは、固定プロセス及び固定スレッドで構成された高信頼ソフトウェアが動作するための静的領域(スタティック領域)を構造体として確保する。そしてその後、その構造体の制御は、メインOSへ引き継がれる。このように、OSがその内部に高信頼ソフトウェアの動作を保証するOS(ReadyGuardOS)を備えることにより、ReadyGuardは、上記残りの部分(メインOSを含めた、その他のソフトウェア)を再起動する機構を実現する。   In ReadyGuard, in order to realize this mechanism, ReadyGuardOS is first activated, and then the main OS is activated. The ReadyGuard OS reserves a static area (static area) for operating highly reliable software configured by a fixed process and a fixed thread as a structure. Thereafter, control of the structure is handed over to the main OS. As described above, when the OS includes an OS (ReadyGuardOS) that guarantees the operation of the high-reliability software, ReadyGuard has a mechanism for restarting the remaining part (other software including the main OS). Realize.

なお、本実施形態において、ReadyGuardOSに対応するプロセスがReadyGuardプロセス4であり、メインOSに対応するプロセスがMAINプロセス5である。   In this embodiment, the process corresponding to the ReadyGuard OS is the ReadyGuard process 4, and the process corresponding to the main OS is the MAIN process 5.

また、本実施形態において、ReadyGuardプロセス制御部3aは、AVN一体機1の停止(例えば、アクセサリ電源オフ)に基づいて、ReadyGuardプロセス4の停止を実行する。   Further, in this embodiment, the ReadyGuard process control unit 3a executes the stop of the ReadyGuard process 4 based on the stop of the AVN integrated device 1 (for example, accessory power off).

<プロセス構成>
また、図6に示されるとおり、第2の実施形態におけるAVN一体機1は、当該プロセス構成として、ReadyGuardプロセス4、MAINプロセス5、Xプロセス6及びYプロセス7を備える。図7は、図6におけるプロセス構成の詳細を例示する。
<Process configuration>
As shown in FIG. 6, the AVN integrated device 1 in the second embodiment includes a ReadyGuard process 4, a MAIN process 5, an X process 6, and a Y process 7 as the process configuration. FIG. 7 illustrates the details of the process configuration in FIG.

図7に示されるとおり、ReadyGuardプロセス4は、プロセス内スレッド管理手段4eを備えたシステム管理スレッド4a、管理情報4b、PLATFORM制御スレッド4c、及び子プロセス管理手段4fを備えたMAINプロセス管理スレッド4dを備える。   As shown in FIG. 7, the ReadyGuard process 4 includes a system management thread 4a including an in-process thread management unit 4e, a management information 4b, a PLATFORM control thread 4c, and a MAIN process management thread 4d including a child process management unit 4f. Prepare.

また、図7に示されるとおり、MAINプロセス5は、プロセス内スレッド管理手段5fを備えたシステム管理スレッド5a、管理情報5b、子プロセス管理手段5gを備えたXプロセス管理スレッド5c、子プロセス管理手段5hを備えたYプロセス管理スレッド5d、及びA制御スレッド5eを備える。   Further, as shown in FIG. 7, the MAIN process 5 includes a system management thread 5a having in-process thread management means 5f, management information 5b, an X process management thread 5c having child process management means 5g, and a child process management means. Y process management thread 5d provided with 5h, and A control thread 5e.

また、図7に示されるとおり、Xプロセス6は、プロセス内スレッド管理手段6eを備えたシステム管理スレッド6a、管理情報6b、B制御スレッド6c、及びC制御スレッド6dを備える。   Further, as shown in FIG. 7, the X process 6 includes a system management thread 6a including in-process thread management means 6e, management information 6b, a B control thread 6c, and a C control thread 6d.

また、図7に示されるとおり、Yプロセス7は、プロセス内スレッド管理手段7dを備えたシステム管理スレッド7a、管理情報7b、及びD制御スレッド7cを備える。   Further, as shown in FIG. 7, the Y process 7 includes a system management thread 7a including in-process thread management means 7d, management information 7b, and a D control thread 7c.

各プロセスに含まれるシステム管理スレッド(4a、5a、6a、7a)は、第1の実施形態におけるシステム管理スレッドと同様の機能を含む。すなわち、各プロセス内スレッド管理手段(4e、5f、6e、7d)は、第1の実施形態におけるプロセス内スレッド管理手段と同様の機能を有する。   The system management threads (4a, 5a, 6a, 7a) included in each process include the same functions as the system management threads in the first embodiment. That is, each in-process thread management means (4e, 5f, 6e, 7d) has the same function as the in-process thread management means in the first embodiment.

また、各プロセスに含まれる各プロセス管理スレッド(4d、5c、5d)は、第1の実施形態における子プロセス管理スレッドと同様の機能を含む。すなわち、各子プロセス管理手段(4f、5g、5h)は、第1の実施形態における子プロセス管理手段と同様の機能を有する。   Each process management thread (4d, 5c, 5d) included in each process includes the same function as the child process management thread in the first embodiment. That is, each child process management means (4f, 5g, 5h) has the same function as the child process management means in the first embodiment.

また、各管理情報(4b、5b、6b、7b)は、第1の実施形態における管理情報と同様のデータを含む。図8(A)は、管理情報4bの一例としてのレコード例である。図8(B)は、管理情報5bの一例としてのレコード例である。図8(C)は、管理情報6bの一例としてのレコード例である。図8(D)は、管理情報7bの一例としてのレコード例である。   Each management information (4b, 5b, 6b, 7b) includes the same data as the management information in the first embodiment. FIG. 8A is a record example as an example of the management information 4b. FIG. 8B is a record example as an example of the management information 5b. FIG. 8C is a record example as an example of the management information 6b. FIG. 8D is a record example as an example of the management information 7b.

また、その他の各スレッド(4c、5e、6c、6d、7c)は、任意のスレッドである。   The other threads (4c, 5e, 6c, 6d, 7c) are arbitrary threads.

なお、例えば、スレッドが起動と停止を繰り返すような状態(チャタリング)で、当該スレッドの起動及び停止を管理しようとすると、管理を行うスレッドは、起動中に停止を又は停止中に起動を行わなければならない。この時、スレッドの状態(例えば、起動がどの段階にあるか)に応じた管理が行われなければならないため、当該管理の処理が複雑となってしまう。この管理の処理が複雑となってしまうことを防ぐため、当該第2の実施形態では、MAINプロセスのシステム管理スレッド4aは、管理対象のスレッドを管理する場合、当該スレッドに対する起動命令または停止命令が完了した後に、次の管理(起動命令または停止命令)を行うことにする(ハンドシェイク)。   For example, in a state where a thread repeats starting and stopping (chattering), when trying to manage the starting and stopping of the thread, the managing thread must stop during starting or start during stopping. I must. At this time, since management according to the state of the thread (for example, in which stage the activation is) must be performed, the management process becomes complicated. In order to prevent this management process from becoming complicated, in the second embodiment, when the MAIN process system management thread 4a manages a thread to be managed, a start instruction or a stop instruction for the thread is not issued. After completion, the next management (start command or stop command) is performed (handshake).

また、当該第2の実施形態では、AVN一体機1上で実行される全てのプロセスは、ツリー構造になっているものとする。なお、AVN一体機1上で実行されるプロセスまたはスレッドは、動的に生成されてもよい。当該プロセスの生成やスレッドの生成は周知の方法で行われる。例えば、子プロセスが生成された場合、当該周知の方法によって、子プロセス内にシステム管理スレッドが生成され、親プロセス内に当該子プロセスの起動及び停止を管理する子プロセス管理スレッドが生成されてもよい。また、例えば、スレッドが生成された場合、当該周知の方法によって、管理情報に当該スレッドの管理情報が登録されてもよい。これにより、全てのプロセスはツリー構造となり、図6及び図7で示されるプロセス及びスレッドの構成は維持される。   In the second embodiment, it is assumed that all processes executed on the AVN integrated device 1 have a tree structure. Note that the process or thread executed on the AVN integrated device 1 may be dynamically generated. The generation of the process and the generation of the thread are performed by a well-known method. For example, when a child process is generated, a system management thread is generated in the child process and a child process management thread for managing start and stop of the child process is generated in the parent process by the known method. Good. For example, when a thread is generated, the management information of the thread may be registered in the management information by the known method. As a result, all processes have a tree structure, and the process and thread configurations shown in FIGS. 6 and 7 are maintained.

なお、当該第2の実施形態では、AVN一体機1は、上記スナップショット保持部2bに格納するためのスナップショット生成処理を実行するものとする。生成されるスナップショットは、上述のとおり、MAINプロセス5、Xプロセス6、Yプロセス7、及び、これらのプロセスに含まれるスレッドが生成された時点におけるシステム状態である。   In the second embodiment, it is assumed that the AVN integrated device 1 executes a snapshot generation process for storing in the snapshot holding unit 2b. As described above, the generated snapshot is the system state at the time when the MAIN process 5, the X process 6, the Y process 7, and the threads included in these processes are generated.

当該スナップショットの生成処理は、例えば、AVN一体機1上で実行されるOSの周知の機能、各プロセスのシステム管理スレッド、及びスナップショット制御部2aによって実現される。例えば、OSの周知の機能によりスナップショットの取得対象のプロセス及びシステム管理スレッドが生成される。そして、生成されたシステム管理スレッドは、プロセス内システム管理手段により、管理情報に基づいて各スレッド(管理対象のスレッド)を生成する。全てのプロセス及びスレッドが生成された時点において、スナップショット制御部2aは、各プロセス及びスレッドの状態(具体的には、制御部100の周辺回路であるRAM等に展開されているメモリ状態)をスナップショット保持部2bに格納する。なお、プロセス内システム管理手段は、任意の順番により各スレッドを生成する。   The snapshot generation processing is realized by, for example, a well-known function of the OS executed on the AVN integrated device 1, the system management thread of each process, and the snapshot control unit 2a. For example, a process for acquiring a snapshot and a system management thread are generated by a known function of the OS. Then, the generated system management thread generates each thread (thread to be managed) based on the management information by the in-process system management means. At the time when all processes and threads are generated, the snapshot control unit 2a displays the state of each process and thread (specifically, the memory state developed in the RAM or the like that is a peripheral circuit of the control unit 100). Stored in the snapshot holding unit 2b. The in-process system management unit generates each thread in an arbitrary order.

この全てのプロセス及びスレッドが生成されたことをスナップショット制御部2aが認識するために、当該第2の実施形態では、MAINプロセスのシステム管理スレッドが他のプロセス及びスレッドが生成されたことを管理するものとする。この時、例えば、MAINプロセスを除く各プロセスのシステム管理スレッドは、MAINプロセスのシステム管理スレッドに対して、自己のプロセス及び各スレッドが生成されたことを通知する。そして、当該通知に応じて、MAINプロセスのシステム管理スレッドは、スナップショット制御部2aに対して、スナップショット格納の準備が整ったことを通知する。これにより、スナップショット制御部2aは、全てのプロセス及びスレッドが生成されたことを認識する。   In order for the snapshot control unit 2a to recognize that all the processes and threads have been generated, in the second embodiment, the system management thread of the MAIN process manages that other processes and threads have been generated. It shall be. At this time, for example, the system management thread of each process except the MAIN process notifies the system management thread of the MAIN process that its own process and each thread have been generated. In response to the notification, the system management thread of the MAIN process notifies the snapshot control unit 2a that the preparation for storing the snapshot is complete. Thus, the snapshot control unit 2a recognizes that all processes and threads have been generated.

§3−2 動作例
次に、第2の実施形態における各スレッドの起動及び停止についての管理方法について、以下の動作例を用いて説明する。図9は、第2の実施形態におけるスナップショットの取得処理手順の一例を示したシーケンスチャートである。図10は、第2の実施形態における各スレッドの起動処理手順の一例を示したシーケンスチャートである。図11は、第2の実施形態におけるスレッドの停止処理手順の一例を示したシーケンスチャートである。図12は、第2の実施形態において、スナップショットが制御部100の周辺回路であるRAM等に展開(ロード)される前に、AVN一体機1を停止し、その後AVN一体機1を起動させた時の処理手順の一例を示したシーケンスチャートである。図13は、第2の実施形態において、あるスレッドを停止している最中に、AVN一体機1を起動した時の処理手順の一例を示したシーケンスチャートである。なお、これらのシーケンスチャートでは、起動要求通知、起動完了通知、停止要求通知、停止完了通知はそれぞれ、起動要求、起動完了、停止要求、停止完了と記載を省略した。
§3-2 Operation Example Next, a management method for starting and stopping each thread in the second embodiment will be described using the following operation example. FIG. 9 is a sequence chart illustrating an example of a snapshot acquisition processing procedure according to the second embodiment. FIG. 10 is a sequence chart showing an example of the activation processing procedure of each thread in the second embodiment. FIG. 11 is a sequence chart illustrating an example of a thread stop processing procedure according to the second embodiment. FIG. 12 shows that in the second embodiment, the AVN integrated device 1 is stopped before the snapshot is expanded (loaded) into the RAM or the like that is a peripheral circuit of the control unit 100, and then the AVN integrated device 1 is started. It is the sequence chart which showed an example of the process sequence at the time. FIG. 13 is a sequence chart showing an example of a processing procedure when the AVN integrated device 1 is activated while a certain thread is stopped in the second embodiment. In these sequence charts, the activation request notification, activation completion notification, stop request notification, and stop completion notification are omitted from the description of activation request, activation completion, stop request, and stop completion, respectively.

なお、各システム管理スレッドに含まれるプロセス内システム管理手段が用いる管理情
報は、図8で示される管理情報を前提とする。また、第1の実施形態と同様である各スレッドの起動手順及び停止手順については、説明を簡略化する。
The management information used by the in-process system management means included in each system management thread is premised on the management information shown in FIG. Also, the description of the starting procedure and stopping procedure of each thread that is the same as that of the first embodiment will be simplified.

<スナップショット取得時>
最初に、図9に示されるスナップショット取得時の処理手順例について説明する。
<When taking a snapshot>
First, an example of a processing procedure when acquiring a snapshot shown in FIG. 9 will be described.

なお、上述のとおり、OSの周知の機能により、MAINプロセス5、Xプロセス6、Yプロセス7、及び、各プロセスのシステム管理スレッド(5a、6a、7a)は生成され、制御部100の周辺回路であるRAM等に展開されている。   As described above, the MAIN process 5, the X process 6, the Y process 7, and the system management thread (5a, 6a, 7a) of each process are generated by the well-known functions of the OS, and the peripheral circuit of the control unit 100 It is developed in a RAM or the like.

図9に示されるとおり、各プロセスのシステム管理スレッドは、例えば、管理情報(5b、6b、7b)に基づいて、自己のプロセス内のスレッドを生成する(S401、S402、S403、S405、S406、S408)。なお、当該動作は、非同期でよい。   As shown in FIG. 9, the system management thread of each process generates threads in its own process based on, for example, management information (5b, 6b, 7b) (S401, S402, S403, S405, S406, S408). The operation may be asynchronous.

その後、Xプロセス6及びYプロセス7のシステム管理スレッド(6a、7a)は、MAINプロセス5のシステム管理スレッド5aに対して、自己のプロセス及び各スレッドが生成されたことを通知する(S407、S409)。   Thereafter, the system management threads (6a, 7a) of the X process 6 and the Y process 7 notify the system management thread 5a of the MAIN process 5 that its own process and each thread have been generated (S407, S409). ).

MAINプロセス5のシステム管理スレッド5aは、自己の各スレッドの生成を完了し、Xプロセス6及びYプロセス7のシステム管理スレッド(6a、7a)から当該通知を受信すると、スナップショット制御部2aに対して、ナップショット格納の準備が整ったことを通知する。スナップショット制御部2aは、MAINプロセス5のシステム管理スレッド5aの当該通知により、全てのプロセス及びスレッドが生成されたことを認識し、この時点におけるシステム状態(制御部100の周辺回路であるRAM等のメモリ状態)をスナップショットとしてスナップショット保持部2bに格納する。   When the system management thread 5a of the MAIN process 5 completes generation of its own thread and receives the notification from the system management threads (6a, 7a) of the X process 6 and the Y process 7, it notifies the snapshot control unit 2a. To notify that the nap shot is ready to be stored. The snapshot control unit 2a recognizes that all processes and threads have been generated by the notification from the system management thread 5a of the MAIN process 5, and at this point in time, the system state (such as a RAM that is a peripheral circuit of the control unit 100) Is stored in the snapshot holding unit 2b as a snapshot.

以上により、第2の実施形態におけるスナップショットが取得される。   As described above, the snapshot in the second embodiment is acquired.

<スレッドの起動時>
次に、図10に示される各スレッドの起動時の処理手順例について説明する。
<When starting a thread>
Next, an example of a processing procedure when starting each thread shown in FIG. 10 will be described.

まず、AVN一体機1の起動により、ReadyGuard制御部3aは、ReadyGuard保持部3bに格納されているReadyGuardプロセス4及び当該プロセス内のスレッドを制御部100の周辺回路であるRAM等に展開する。そして、ReadyGuard制御部3aはReadyGuardプロセス4のシステム管理スレッド4aを起動する。   First, when the AVN integrated device 1 is activated, the ReadyGuard control unit 3 a expands the ReadyGuard process 4 stored in the ReadyGuard holding unit 3 b and the threads in the process to a RAM or the like that is a peripheral circuit of the control unit 100. Then, the ReadyGuard control unit 3 a activates the system management thread 4 a of the ReadyGuard process 4.

当該起動後、図10に示されるとおり、ReadyGuardプロセス4のシステム管理スレッド4aに含まれるプロセス内システム管理手段4eは、管理情報4bのスレッド優先度に基づいて、各スレッド(4c、4d)の起動を実行する(S500〜S503)。例えば、図10に示されるとおり、システム管理スレッド4aに含まれるプロセス内システム管理手段4eは、管理情報4bに基づいて、各スレッド(4c、4d)に対し起動要求通知を送信する(S500、S502)。各スレッド(4c、4d)は、起動完了後、システム管理スレッド4aに対して起動完了通知を返信する(S501、S503)。以下、起動要求通知と起動完了通知の応答については第1の実施形態と同様であるため、記載を省略する。   After the activation, as shown in FIG. 10, the in-process system management unit 4e included in the system management thread 4a of the ReadyGuard process 4 activates each thread (4c, 4d) based on the thread priority of the management information 4b. Are executed (S500 to S503). For example, as shown in FIG. 10, the in-process system management unit 4e included in the system management thread 4a transmits an activation request notification to each thread (4c, 4d) based on the management information 4b (S500, S502). ). Each thread (4c, 4d) returns a start completion notification to the system management thread 4a after the start is completed (S501, S503). Hereinafter, since the response of the activation request notification and the activation completion notification is the same as that of the first embodiment, description thereof is omitted.

ReadyGuardプロセス4のシステム管理スレッド4aは、各スレッド(4c、4d)を起動後、全てのスレッドの起動を完了したことをスナップショット制御部2aに通知する。スナップショット制御部2aは、当該通知により、スナップショット保持部2
bに格納されているスナップショット(システム状態)を制御部100の周辺回路であるRAM等に展開する(S504)。なお、第2の実施形態における当該システム状態は、上述のとおり、MAINプロセス5、Xプロセス6、Yプロセス7、及び、各プロセス内の各スレッドが生成された状態である。
After starting each thread (4c, 4d), the system management thread 4a of the ReadyGuard process 4 notifies the snapshot control unit 2a that all threads have been started. In response to the notification, the snapshot control unit 2a
The snapshot (system state) stored in b is expanded in a RAM, which is a peripheral circuit of the control unit 100 (S504). Note that the system state in the second embodiment is a state in which the MAIN process 5, the X process 6, the Y process 7, and each thread in each process are generated as described above.

スナップショットのロードが完了すると、MAINプロセス5のシステム管理スレッド5aは、MAINプロセス管理スレッド4dに対して、準備完了通知を送信する(S505)。   When the loading of the snapshot is completed, the system management thread 5a of the MAIN process 5 transmits a preparation completion notification to the MAIN process management thread 4d (S505).

準備完了通知を受信後、ReadyGuardプロセス4のMAINプロセス管理スレッド4dに含まれる子プロセス管理手段4fは、MAINプロセス5のシステム管理スレッド5aの起動を実行する(S506、S507)。   After receiving the preparation completion notification, the child process management means 4f included in the MAIN process management thread 4d of the ReadyGuard process 4 executes activation of the system management thread 5a of the MAIN process 5 (S506, S507).

起動したシステム管理スレッド5aに含まれるプロセス内システム管理手段5fは、管理情報5bのスレッド優先度に基づいて、各スレッド(5c、5d、5e)の起動を実行する(S508、S509、S517、S518、S524、S525)。   The in-process system management means 5f included in the activated system management thread 5a executes activation of each thread (5c, 5d, 5e) based on the thread priority of the management information 5b (S508, S509, S517, S518). , S524, S525).

プロセス内システム管理手段5fにより起動されたXプロセス管理スレッド5cに含まれる子プロセス管理手段5gは、Xプロセス6のシステム管理スレッド6aからの準備完了通知(S510)に基づいて、Xプロセス6のシステム管理スレッド6aの起動を実行する(S511、S512)。   The child process management means 5g included in the X process management thread 5c activated by the in-process system management means 5f, the system of the X process 6 based on the preparation completion notification (S510) from the system management thread 6a of the X process 6. The management thread 6a is activated (S511, S512).

子プロセス管理手段5gにより起動されたXプロセス6のシステム管理スレッド6aは、管理情報6bのスレッド優先度に基づいて、各スレッド(6c、6d)の起動を実行する(S513〜S516)。   The system management thread 6a of the X process 6 activated by the child process management means 5g executes activation of each thread (6c, 6d) based on the thread priority of the management information 6b (S513 to S516).

また、プロセス内システム管理手段5fにより起動されたYプロセス管理スレッド5dに含まれる子プロセス管理手段5hは、Yプロセス7のシステム管理スレッド7aからの準備完了通知(S519)に基づいて、Yプロセス7のシステム管理スレッド7aの起動を実行する(S520、S521)。   Further, the child process management means 5h included in the Y process management thread 5d activated by the in-process system management means 5f sends the Y process 7 based on the preparation completion notification (S519) from the system management thread 7a of the Y process 7. The system management thread 7a is activated (S520, S521).

子プロセス管理手段5hにより起動されたYプロセス7のシステム管理スレッド7aは、管理情報7bのスレッド優先度に基づいて、D制御スレッド7cの起動を実行する(S522、S523)。   The system management thread 7a of the Y process 7 activated by the child process management means 5h executes activation of the D control thread 7c based on the thread priority of the management information 7b (S522, S523).

以上により、存在する全てのプロセス及びスレッドの起動が完了する。   Thus, the activation of all existing processes and threads is completed.

<スレッドの停止時>
次に、図11に示される各スレッドの停止時の処理手順例について説明する。
<When thread is stopped>
Next, an example of a processing procedure when each thread shown in FIG. 11 is stopped will be described.

第1の実施形態と同様、上記<スレッドの起動時>の処理の後、各プロセス及び各スレッドが起動しているものとする。   As in the first embodiment, it is assumed that each process and each thread are activated after the above processing <when thread is activated>.

例えば、ユーザのAVN一体機1に対するアクセサリ電源オフの操作により、ReadyGuardプロセス制御部3aは、ReadyGuardプロセス4の停止を開始する。   For example, the ReadyGuard process control unit 3 a starts to stop the ReadyGuard process 4 when the user turns off the accessory power supply to the AVN integrated device 1.

このReadyGuardプロセス制御部3aの動作に応じて、ReadyGuardプロセス4のシステム管理スレッド4aに含まれるプロセス内スレッド管理手段4eは、管理情報4bのスレッド属性に基づいて、各スレッド(4c、4d)の停止を開始する。   In accordance with the operation of the ReadyGuard process control unit 3a, the in-process thread management unit 4e included in the system management thread 4a of the ReadyGuard process 4 stops each thread (4c, 4d) based on the thread attribute of the management information 4b. To start.

まず、プロセス内スレッド管理手段4eは、管理情報4bのスレッド属性に基づいて、PLATFROM制御スレッド4cの停止を実行する(S601、S602)。   First, the in-process thread management unit 4e executes the stop of the PLATFROM control thread 4c based on the thread attribute of the management information 4b (S601, S602).

次に、プロセス内スレッド管理手段4eは、管理情報4bのスレッド属性に基づいて、MAINプロセス管理スレッド4dの停止を実行する(S603〜S622)。   Next, the in-process thread management unit 4e stops the MAIN process management thread 4d based on the thread attribute of the management information 4b (S603 to S622).

このMAINプロセス管理スレッド4dの停止は、プロセス内スレッド管理手段4eからの停止要求通知により開始される(S603)。そして、当該停止要求通知により、MAINプロセス管理スレッド4dの子プロセス管理手段4fは、自身が管理しているMAINプロセス5のシステム管理スレッド5aに停止要求通知を送信し、当該プロセス及びスレッドの停止を開始する(S604)。   The stop of the MAIN process management thread 4d is started by a stop request notification from the in-process thread management means 4e (S603). Then, in response to the stop request notification, the child process management means 4f of the MAIN process management thread 4d transmits a stop request notification to the system management thread 5a of the MAIN process 5 managed by itself, and stops the process and the thread. Start (S604).

子プロセス管理手段4fから停止要求通知を受信すると、システム管理スレッド5aのプロセス内スレッド管理手段5fは、管理情報5bのスレッド属性に基づいて、各スレッド(5c、5d、5e)の停止を実行する(S605〜S620)。   When the stop request notification is received from the child process management unit 4f, the in-process thread management unit 5f of the system management thread 5a executes the stop of each thread (5c, 5d, 5e) based on the thread attribute of the management information 5b. (S605-S620).

まず、プロセス内スレッド管理手段5fは、管理情報5bのスレッド属性に基づいて、Xプロセス管理スレッド5cの停止を実行する(S605〜S612)。   First, the intra-process thread management means 5f executes the stop of the X process management thread 5c based on the thread attribute of the management information 5b (S605 to S612).

プロセス内スレッド管理手段5fは、Xプロセス管理スレッド5cに対して停止要求通知を送信する(S605)。当該停止要求通知を受信すると、Xプロセス管理スレッド5cの子プロセス管理手段5gは、Xプロセス6のシステム管理スレッド6aに対して停止要求通知を送信する(S606)。   The in-process thread management means 5f transmits a stop request notification to the X process management thread 5c (S605). When the stop request notification is received, the child process management means 5g of the X process management thread 5c transmits a stop request notification to the system management thread 6a of the X process 6 (S606).

Xプロセス6のシステム管理スレッド6a(プロセス内スレッド管理手段6e)は、子プロセス管理手段5gからの停止要求通知により、管理情報6bに基づいて、自己が管理する各スレッド(6c、6d)の停止を実行する(S607〜S610)。各スレッド(6c、6d)の停止、システム管理スレッド6aの停止、及びXプロセス6の停止が完了すると、システム管理スレッド6aは、Xプロセス管理スレッド5cに対して停止完了通知を返信する(S611)。   The system management thread 6a (in-process thread management means 6e) of the X process 6 stops each thread (6c, 6d) managed by itself based on the management information 6b in response to a stop request notification from the child process management means 5g. Are executed (S607 to S610). When the stop of each thread (6c, 6d), the stop of the system management thread 6a, and the stop of the X process 6 are completed, the system management thread 6a returns a stop completion notification to the X process management thread 5c (S611). .

Xプロセス管理スレッド5cは、システム管理スレッド6aより停止完了通知を受信すると、自身を停止し、システム管理スレッド5aに対して停止完了通知を返信する(S612)。   When receiving the stop completion notification from the system management thread 6a, the X process management thread 5c stops itself and returns a stop completion notification to the system management thread 5a (S612).

以上により、プロセス内スレッド管理手段5fは、管理情報5bのスレッド属性に基づいた、Xプロセス管理スレッド5cの停止を完了する(S605〜S612)。   As described above, the in-process thread management unit 5f completes the stop of the X process management thread 5c based on the thread attribute of the management information 5b (S605 to S612).

次に、プロセス内スレッド管理手段5fは、管理情報5bのスレッド属性に基づいて、Yプロセス管理スレッド5dの停止を実行する(S613〜S618)。   Next, the in-process thread management unit 5f executes the stop of the Y process management thread 5d based on the thread attribute of the management information 5b (S613 to S618).

プロセス内スレッド管理手段5fは、Yプロセス管理スレッド5dに対して停止要求通知を送信する(S613)。当該停止要求通知を受信すると、Yプロセス管理スレッド5dの子プロセス管理手段5hは、Yプロセス7のシステム管理スレッド7aに対して停止要求通知を送信する(S614)。   The in-process thread management unit 5f transmits a stop request notification to the Y process management thread 5d (S613). When the stop request notification is received, the child process management means 5h of the Y process management thread 5d transmits a stop request notification to the system management thread 7a of the Y process 7 (S614).

Yプロセス7のシステム管理スレッド7a(プロセス内スレッド管理手段7d)は、子プロセス管理手段5hからの停止要求通知により、管理情報7bに基づいて、自己が管理するD制御スレッド7cの停止を実行する(S615、S616)。D制御スレッド7cの
停止、システム管理スレッド7aの停止、及びYプロセス7の停止が完了すると、システム管理スレッド7aは、Yプロセス管理スレッド5dに対して停止完了通知を返信する(S617)。
The system management thread 7a (in-process thread management means 7d) of the Y process 7 executes the stop of the D control thread 7c managed by itself based on the management information 7b in response to the stop request notification from the child process management means 5h. (S615, S616). When the stop of the D control thread 7c, the stop of the system management thread 7a, and the stop of the Y process 7 are completed, the system management thread 7a returns a stop completion notification to the Y process management thread 5d (S617).

Yプロセス管理スレッド5dは、システム管理スレッド7aより停止完了通知を受信すると、自身を停止し、システム管理スレッド5aに対して停止完了通知を返信する(S618)。   When receiving the stop completion notification from the system management thread 7a, the Y process management thread 5d stops itself and returns a stop completion notification to the system management thread 5a (S618).

以上により、プロセス内スレッド管理手段5fは、管理情報5bのスレッド属性に基づいた、Yプロセス管理スレッド5dの停止を完了する(S613〜S618)。   As described above, the in-process thread management unit 5f completes the stop of the Y process management thread 5d based on the thread attribute of the management information 5b (S613 to S618).

最後に、プロセス内スレッド管理手段5fは、管理情報5bのスレッド属性に基づいて、A制御スレッド5eの停止を実行する(S619〜S620)。   Finally, the in-process thread management unit 5f executes the stop of the A control thread 5e based on the thread attribute of the management information 5b (S619 to S620).

各スレッドの停止(5c、5d、5e)を完了すると、システム管理スレッド5aは、自身及びMAINプロセス5を停止し、MAINプロセス管理スレッド4dに対して停止完了通知を返信する(S621)。   When the stop (5c, 5d, 5e) of each thread is completed, the system management thread 5a stops itself and the MAIN process 5, and returns a stop completion notification to the MAIN process management thread 4d (S621).

MAINプロセス管理スレッド4dは、システム管理スレッド5aより停止完了通知を受信すると、自身を停止し、システム管理スレッド4aに対して停止完了通知を返信する(S622)。   When receiving the stop completion notification from the system management thread 5a, the MAIN process management thread 4d stops itself and returns a stop completion notification to the system management thread 4a (S622).

以上により、プロセス内スレッド管理手段4eは、管理情報4bのスレッド属性に基づいた、MAINプロセス管理スレッド4dの停止を完了する(S603〜S622)。この後、システム管理スレッド4aは自身及びReadyGuardプロセス4を停止する。   As described above, the in-process thread management unit 4e completes the stop of the MAIN process management thread 4d based on the thread attribute of the management information 4b (S603 to S622). Thereafter, the system management thread 4a stops itself and the ReadyGuard process 4.

これより、存在する全てのプロセス及びスレッドの停止が完了する。   This completes stopping all existing processes and threads.

<起動後、停止し、更に起動させた時>
次に、図12に示される、スナップショットがロードされる前に、AVN一体機1を停止し、その後AVN一体機1を起動させた時の処理手順例について説明する。
<After starting, stop and start again>
Next, an example of a processing procedure shown in FIG. 12 when the AVN integrated device 1 is stopped before the snapshot is loaded and then the AVN integrated device 1 is started will be described.

まず、上記<スレッドの起動時>と同様、ユーザによるAVN一体機1の起動(例えば、アクセサリ電源のオン)により、ReadyGuard制御部3aは、ReadyGuard保持部3bに格納されているReadyGuardプロセス4及び当該プロセス内のスレッドを制御部100の周辺回路であるRAM等に展開する。そして、ReadyGuard制御部3aはReadyGuardプロセス4のシステム管理スレッド4aを起動する。   First, as in the above <Thread activation>, when the AVN integrated device 1 is activated by the user (for example, the accessory power is turned on), the ReadyGuard control unit 3a causes the ReadyGuard process 4 stored in the ReadyGuard holding unit 3b and Threads in the process are expanded in a RAM or the like that is a peripheral circuit of the control unit 100. Then, the ReadyGuard control unit 3 a activates the system management thread 4 a of the ReadyGuard process 4.

当該起動後、図12に示されるとおり、ReadyGuardプロセス4のシステム管理スレッド4aに含まれるプロセス内システム管理手段4eは、管理情報4bのスレッド優先度に基づいて、各スレッド(4c、4d)の起動を実行する(S700〜S703)。   After the activation, as shown in FIG. 12, the in-process system management means 4e included in the system management thread 4a of the ReadyGuard process 4 activates each thread (4c, 4d) based on the thread priority of the management information 4b. Are executed (S700 to S703).

ReadyGuardプロセス4のシステム管理スレッド4aは、各スレッド(4c、4d)を起動後、全てのスレッドの起動を完了したことをスナップショット制御部2aに通知する。スナップショット制御部2aは、当該通知により、スナップショット保持部2bに格納されているスナップショット(システム状態)を制御部100の周辺回路であるRAM等に展開する(S704)。なお、第2の実施形態における当該システム状態は、
上述のとおり、MAINプロセス5、Xプロセス6、Yプロセス7、及び、各プロセス内の各スレッドが生成された状態である。
After starting each thread (4c, 4d), the system management thread 4a of the ReadyGuard process 4 notifies the snapshot control unit 2a that all threads have been started. In response to the notification, the snapshot control unit 2a develops the snapshot (system state) stored in the snapshot holding unit 2b in a RAM or the like that is a peripheral circuit of the control unit 100 (S704). The system state in the second embodiment is
As described above, the MAIN process 5, the X process 6, the Y process 7, and each thread in each process are generated.

この時点において、ユーザがAVN一体機1のアクセサリ電源をオフ(ACC−OFF)にしたとする(S705)。   At this time, it is assumed that the user turns off the accessory power supply of the AVN integrated device 1 (ACC-OFF) (S705).

当該アクセサリ電源のオフに応じて、ReadyGuard制御部3aは、ReadyGuardプロセス4の停止を開始する。このReadyGuard制御部3aの動作に応じて、ReadyGuardプロセス4のシステム管理スレッド4aに含まれるプロセス内スレッド管理手段4eは、管理情報4bのスレッド属性に基づいて、各スレッド(4c、4d)の停止を開始する。   The ReadyGuard control unit 3a starts to stop the ReadyGuard process 4 in response to the accessory power supply being turned off. In response to the operation of the ReadyGuard control unit 3a, the in-process thread management means 4e included in the system management thread 4a of the ReadyGuard process 4 stops each thread (4c, 4d) based on the thread attribute of the management information 4b. Start.

まず、プロセス内スレッド管理手段4eは、管理情報4bのスレッド属性に基づいて、PLATFROM制御スレッド4cの停止を実行する(S706、S707)。   First, the in-process thread management unit 4e executes the stop of the PLATFROM control thread 4c based on the thread attribute of the management information 4b (S706, S707).

次に、プロセス内スレッド管理手段4eは、管理情報4bのスレッド属性に基づいて、MAINプロセス管理スレッド4dの停止を実行する(S708〜S710)。   Next, the in-process thread management unit 4e executes the stop of the MAIN process management thread 4d based on the thread attribute of the management information 4b (S708 to S710).

プロセス内スレッド管理手段4eは、MAINプロセス管理スレッド4dに対して停止要求通知を送信する(S708)。   The in-process thread management unit 4e transmits a stop request notification to the MAIN process management thread 4d (S708).

プロセス内スレッド管理手段4eから停止要求通知を受信すると、MAINプロセス管理スレッド4dの子プロセス管理手段4fは、子プロセスであるMAINプロセス5の停止を実行する。ただし、スナップショットが制御部100の周辺回路であるRAM等に展開されるまで、停止の対象が当該RAM等に存在しないこととなる。この場合、子プロセス管理手段4fは、システム管理スレッド5aからの準備完了通知を待って(S709)、停止の対象であるMAINプロセス5の停止を実行する。なお、この場合、MAINプロセス5は、制御部100の周辺回路であるRAM等に展開されたのみであり、起動していないため、子プロセス管理手段4fは何も動作しない。   When the stop request notification is received from the in-process thread management unit 4e, the child process management unit 4f of the MAIN process management thread 4d executes the stop of the MAIN process 5, which is a child process. However, until the snapshot is expanded to the RAM or the like that is a peripheral circuit of the control unit 100, the stop target does not exist in the RAM or the like. In this case, the child process management unit 4f waits for a preparation completion notification from the system management thread 5a (S709), and stops the MAIN process 5 that is the target of the stop. In this case, since the MAIN process 5 is only developed in the RAM or the like that is a peripheral circuit of the control unit 100 and is not activated, the child process management unit 4f does not operate at all.

その後、MAINプロセス管理スレッド4dは、システム管理スレッド4aに対して停止完了通知を返信する(S710)。   Thereafter, the MAIN process management thread 4d returns a stop completion notification to the system management thread 4a (S710).

この時点において、ユーザがAVN一体機1のアクセサリ電源を再度オン(ACC−ON)にしたとする(S711)。   At this time, it is assumed that the user turns on the accessory power supply of the AVN integrated device 1 again (ACC-ON) (S711).

制御部100の周辺回路であるRAM等には、既にReadyGuardプロセス4及び当該プロセス内のスレッドが停止状態で展開されているため、ReadyGuard制御部3aは、ReadyGuardプロセス4のシステム管理スレッド4aを起動する。   Since the ReadyGuard process 4 and the threads in the process are already deployed in a stopped state in the RAM or the like that is a peripheral circuit of the control unit 100, the ReadyGuard control unit 3a activates the system management thread 4a of the ReadyGuard process 4. .

当該起動後、ReadyGuardプロセス4のシステム管理スレッド4aに含まれるプロセス内システム管理手段4eは、管理情報4bのスレッド優先度に基づいて、各スレッド(4c、4d)の起動を実行する(S712〜S715)。上述と同様である。   After the activation, the in-process system management unit 4e included in the system management thread 4a of the ReadyGuard process 4 executes activation of each thread (4c, 4d) based on the thread priority of the management information 4b (S712 to S715). ). The same as described above.

また、この時点において既にスナップショットはロードされており、準備完了通知は既に受信しているため(S709)、ReadyGuardプロセス4のMAINプロセス管理スレッド4dに含まれる子プロセス管理手段4fは、MAINプロセス5のシステム管理スレッド5aの起動を実行する(S716、S717)。   At this point, since the snapshot has already been loaded and the preparation completion notification has already been received (S709), the child process management means 4f included in the MAIN process management thread 4d of the ReadyGuard process 4 has the MAIN process 5 The system management thread 5a is activated (S716, S717).

これ以降の各スレッドの起動については、図10におけるS508以降の処理と同様で
ある。これらの処理により、各プロセス及び各スレッドの起動が完了する。
The subsequent activation of each thread is the same as the processing after S508 in FIG. With these processes, activation of each process and each thread is completed.

<スレッド停止中に起動させた時>
最後に、図13に示される、あるスレッド(システム管理スレッド6a)を停止している最中に、AVN一体機1を起動させた時の処理手順例について説明する。
<When activated while the thread is stopped>
Finally, an example of a processing procedure when the AVN integrated device 1 is activated while a certain thread (system management thread 6a) shown in FIG. 13 is stopped will be described.

例えば、ユーザのAVN一体機1に対するアクセサリ電源オフの操作により、ReadyGuardプロセス制御部3aは、ReadyGuardプロセス4の停止を開始する。   For example, the ReadyGuard process control unit 3 a starts to stop the ReadyGuard process 4 when the user turns off the accessory power supply to the AVN integrated device 1.

このReadyGuardプロセス制御部3aの動作に応じて、ReadyGuardプロセス4のシステム管理スレッド4aに含まれるプロセス内スレッド管理手段4eは、管理情報4bのスレッド属性に基づいて、各スレッド(4c、4d)の停止を開始する。   In accordance with the operation of the ReadyGuard process control unit 3a, the in-process thread management unit 4e included in the system management thread 4a of the ReadyGuard process 4 stops each thread (4c, 4d) based on the thread attribute of the management information 4b. To start.

ここで、プロセス内スレッド管理手段4eがPLATFROM制御スレッド4cの停止を実行してから、プロセス内スレッド管理手段6eがB制御スレッド6cの停止を完了するまでの処理(S801〜S808)までの処理については、図11におけるS601〜S608までの処理と同様である。   Here, the processing from when the in-process thread management unit 4e stops the PLATFROM control thread 4c until the in-process thread management unit 6e completes the stop of the B control thread 6c (S801 to S808). Is the same as the processing from S601 to S608 in FIG.

この時点において、ユーザがAVN一体機1のアクセサリ電源をオン(ACC−ON)にしたとする(S809)。   At this time, it is assumed that the user turns on the accessory power supply of the AVN integrated device 1 (ACC-ON) (S809).

制御部100の周辺回路であるRAM等には、既にReadyGuardプロセス4及び当該プロセス内のスレッドが停止状態で展開されているため、ReadyGuard制御部3aは、ReadyGuardプロセス4のシステム管理スレッド4aを起動する。   Since the ReadyGuard process 4 and the threads in the process are already deployed in a stopped state in the RAM or the like that is a peripheral circuit of the control unit 100, the ReadyGuard control unit 3a activates the system management thread 4a of the ReadyGuard process 4. .

当該起動後、ReadyGuardプロセス4のシステム管理スレッド4aに含まれるプロセス内システム管理手段4eは、管理情報4bのスレッド優先度に基づいて、各スレッド(4c、4d)の起動を実行する(S810〜S813)。   After the activation, the in-process system management unit 4e included in the system management thread 4a of the ReadyGuard process 4 executes activation of each thread (4c, 4d) based on the thread priority of the management information 4b (S810 to S813). ).

なお、この時点において各プロセス(MAINプロセス5、Xプロセス6、Yプロセス7)の停止は完了していない。このため、当該各プロセス及び当該各プロセス内の各スレッドは、既に制御部100の周辺回路であるRAM等に展開された状態となっている。したがって、ReadyGuardプロセス4のMAINプロセス管理スレッド4dに含まれる子プロセス管理手段4fは、MAINプロセス5のシステム管理スレッド5aの起動を実行する(S814、S815)。   At this time, the stop of each process (MAIN process 5, X process 6, Y process 7) is not completed. For this reason, each process and each thread in each process are already developed in a RAM or the like that is a peripheral circuit of the control unit 100. Therefore, the child process management means 4f included in the MAIN process management thread 4d of the ReadyGuard process 4 executes the activation of the system management thread 5a of the MAIN process 5 (S814, S815).

MAINプロセス5のシステム管理スレッド5aは起動すると、管理情報5bに基づき、プロセス内スレッド管理手段5fによるXプロセス管理スレッド5cの起動を実行しようとする。この時、Xプロセス管理スレッド5cに対する先行する停止命令が完了していないため、プロセス内スレッド管理手段5fは、上記ハンドシェイクを行うため、当該先行する停止命令の完了を待つ。   When the system management thread 5a of the MAIN process 5 is activated, it attempts to activate the X process management thread 5c by the in-process thread management means 5f based on the management information 5b. At this time, since the preceding stop instruction for the X process management thread 5c has not been completed, the in-process thread management means 5f waits for the completion of the preceding stop instruction to perform the handshake.

この時、Xプロセス6内においては、引き続き停止命令が実行されている(S816、S817)。システム管理スレッド6aのプロセス内スレッド管理手段6eが各スレッド(6c、6d)の停止を完了すると、システム管理スレッド6aは、Xプロセス管理スレッド5cに対して、停止完了通知を返信する(S818)。Xプロセス管理スレッド5cは、システム管理スレッド6aより停止完了通知を受信すると、システム管理スレッド5aに対して、停止完了通知を返信する(S819)。これにより、上記先行する停止命令が完了する。   At this time, a stop instruction is continuously executed in the X process 6 (S816, S817). When the in-process thread management means 6e of the system management thread 6a completes the stop of each thread (6c, 6d), the system management thread 6a returns a stop completion notification to the X process management thread 5c (S818). When receiving the stop completion notification from the system management thread 6a, the X process management thread 5c returns a stop completion notification to the system management thread 5a (S819). Thereby, the preceding stop instruction is completed.

システム管理スレッド5aのプロセス内スレッド管理手段5fは、上記先行する停止命令が完了すると、管理情報5bのスレッド優先度に基づいて、Xプロセス管理スレッド5cの起動を実行する(S820、S821)。   When the preceding stop command is completed, the in-process thread management unit 5f of the system management thread 5a executes the activation of the X process management thread 5c based on the thread priority of the management information 5b (S820, S821).

なお、Xプロセス管理スレッド5cの起動関連の処理(S820〜S827)は、図10におけるS508〜S516からS510の処理を省略した処理と同様である。上述のとおり、各プロセス(MAINプロセス5、Xプロセス6、Yプロセス7)及び各プロセス内の各スレッドは既に制御部100の周辺回路であるRAM等に展開された状態となっているため、S510の処理(システム管理スレッド6aからXプロセス管理スレッド5cへの準備完了通知)は省略される。   The process related to activation of the X process management thread 5c (S820 to S827) is the same as the process in which the processes of S508 to S516 to S510 in FIG. 10 are omitted. As described above, since each process (MAIN process 5, X process 6, Y process 7) and each thread in each process have already been developed in a RAM or the like that is a peripheral circuit of the control unit 100, S510 (The preparation completion notification from the system management thread 6a to the X process management thread 5c) is omitted.

以上により、存在する全てのプロセス及びスレッドの起動が完了する。   Thus, the activation of all existing processes and threads is completed.

§3−3 第2の実施形態の作用及び効果
以上によれば、第2の実施形態は、少なくとも上記第1の実施形態と同様の作用及び効果を得ることができる。
§3-3 Actions and effects of second embodiment As described above, the second embodiment can obtain at least the same actions and effects as those of the first embodiment.

すなわち、第2の実施形態におけるスレッドの起動及び停止の管理は、プロセス内においては、当該プロセス内に設けられたシステム管理スレッドのプロセス内スレッド管理手段(4e、5f、6e、7d)によって行われる。また、プロセス内のスレッドの起動及び停止の管理を行うシステム管理スレッドの起動及び停止の管理は、親プロセスの子プロセス管理手段(4f、5g、5h)によって行われる。   That is, the start and stop management of the thread in the second embodiment is performed in the process by the in-process thread management means (4e, 5f, 6e, 7d) of the system management thread provided in the process. . Management of the start and stop of the system management thread that manages the start and stop of the threads in the process is performed by the child process management means (4f, 5g, and 5h) of the parent process.

これによって、第2の実施形態においては、プロセス内のスレッドの起動及び停止の管理は、従来のタスクによる制御方法におけるシンプルな方法でのシステム設計及び構築と同様の方法によって行うことができる。したがって、第2の実施形態は、シンプルなシステムの設計及び構築を可能とする。   Thereby, in the second embodiment, the start and stop of the thread in the process can be managed by the same method as the system design and construction by the simple method in the control method by the conventional task. Therefore, the second embodiment enables a simple system design and construction.

また、第2の実施形態において、プロセス間通信は、子プロセス管理手段を含む子プロセス管理スレッド(4d、5c、5d)とシステム管理スレッド(5a、6a、7a)の間で行われる通信に限られる。したがって、第2の実施形態は、各スレッドの起動及び停止を管理する際に発生するプロセス間通信を極力抑えることができる。   In the second embodiment, inter-process communication is limited to communication performed between a child process management thread (4d, 5c, 5d) including a child process management unit and a system management thread (5a, 6a, 7a). It is done. Therefore, the second embodiment can suppress inter-process communication that occurs when managing the start and stop of each thread as much as possible.

また、システム管理スレッドのプロセス内スレッド管理手段(4e、5f、6e、7d)によって行われるプロセス内のスレッドの起動及び停止の管理方法は、当該システム管理スレッドを備えるプロセスで同一である。したがって、第1の実施形態は、当該システム管理スレッドを各プロセスに備えることで、各プロセス内のスレッドの管理手法を同一にすることができる。   Further, the method for managing the start and stop of the thread in the process performed by the in-process thread management means (4e, 5f, 6e, 7d) of the system management thread is the same for the process including the system management thread. Therefore, in the first embodiment, by providing the system management thread in each process, the thread management method in each process can be made the same.

また、第2の実施形態は、第1の実施形態とは異なり、装置(AVN一体機1)の起動及び停止に基づいて、上記プロセス及びスレッドの起動及び停止を実行する。これによって、第2の実施形態は、装置の動作に応じたプロセス及びスレッドの管理を行うことができる。   Also, unlike the first embodiment, the second embodiment executes the above-described process and thread activation and termination based on activation and termination of the apparatus (AVN integrated device 1). Accordingly, the second embodiment can manage processes and threads according to the operation of the apparatus.

また、第2の実施形態は、第1の実施形態とは異なり、装置内で実行される全てのプロセスはツリー構造を形成しているため、上記管理の対象となる。これによって、装置内で実行される全てのプロセスに対して、上述までの効果を得ることができる。   The second embodiment differs from the first embodiment in that all processes executed in the apparatus form a tree structure and are therefore subject to management. As a result, the effects described above can be obtained for all processes executed in the apparatus.

§4 補足
以上、本発明の実施形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈される。また、当業者は、上記本実施形態の記載から、特許請求の範囲の記載および技術常識に基づいて等価な範囲を実施することができる。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられる。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解される意味と同じ意味を有する。矛盾する場合、本明細書(定義を含めて)が優先する。
§4 Supplement Although the embodiment of the present invention has been described in detail above, the above description is merely an example of the present invention in all respects and is not intended to limit the scope thereof. It goes without saying that various improvements and modifications can be made without departing from the scope of the present invention. The scope of the present invention is construed only by the claims. Moreover, those skilled in the art can implement an equivalent range from the description of the present embodiment based on the description of the claims and the common general technical knowledge. Moreover, the term used in this specification is used by the meaning normally used in the said field unless there is particular mention. Thus, unless defined otherwise, all technical and technical terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. In case of conflict, the present specification, including definitions, will control.

なお、以上までの説明において、本発明に係る情報処理装置の一実施形態について説明したが、本発明に係る情報処理方法の一実施形態についても同様に説明することができる。つまり、上記情報処理装置の各処理を各ステップとする手順が本発明に係る情報処理方法の一実施形態である。   In the above description, an embodiment of the information processing apparatus according to the present invention has been described. However, an embodiment of the information processing method according to the present invention can be described in the same manner. That is, a procedure in which each process of the information processing apparatus is a step is an embodiment of the information processing method according to the present invention.

1 AVN一体機
2a スナップショット制御部
2b スナップショット保持部
3a ReadyGuardプロセス制御部
3b ReadyGuardプロセス保持部
4 ReadyGuardプロセス
4a Rシステム管理スレッド
4b 管理情報
4c PLATFORM制御スレッド
4d MAINプロセス管理スレッド
4e プロセス内スレッド管理手段
4f 子プロセス管理手段
5 MAINプロセス
5a Mシステム管理スレッド
5b 管理情報
5c Yプロセス管理スレッド
5d Zプロセス管理スレッド
5e A制御スレッド
5f プロセス内スレッド管理手段
5g 子プロセス管理手段
6 Xプロセス
6a Xシステム管理スレッド
6b 管理情報
6c B制御スレッド
6d C制御スレッド
6e プロセス内スレッド管理手段
7 Yプロセス
7a Yシステム管理スレッド
7b 管理情報
7c D制御
7d プロセス内スレッド管理手段
50 親プロセス
50a システム管理スレッド
50b 管理情報
50c スレッドA
50d 子プロセス管理スレッド
50e プロセス内スレッド管理手段
50f 子プロセス管理手段
51 子プロセス
51a システム管理スレッド
51b 管理情報
51c スレッドB
51d 子プロセス管理スレッド
51e プロセス内スレッド管理手段
51f 子プロセス管理手段
100 制御部
101 外部記憶媒体再生部
102 ラジオ受信部
103 TV受信部
104 ディスク再生部
105 HD再生部
106 ナビゲーション部
107 分配回路
108 画像調整回路
109 音声調整回路
110 画像出力部
111 VICS情報受信部
112 GPS情報受信部
113 セレクタ
114 操作部
115 リモコン送受信部
116 リモコン
117 メモリ
118 外部音声/映像入力部
119 カメラ
120 ETC車載
121 通信ユニット
122 表示部
123 スピーカ
200 バックライト
201 液晶パネル
202 タッチパネル
DESCRIPTION OF SYMBOLS 1 AVN integrated machine 2a Snapshot control part 2b Snapshot holding | maintenance part 3a ReadyGuard process control part 3b ReadyGuard process holding | maintenance part 4 ReadyGuard process 4a R system management thread 4b Management information 4c PLATFORM control thread 4d MAIN process management thread 4e 4f Child process management means 5 MAIN process 5a M system management thread 5b Management information 5c Y process management thread 5d Z process management thread 5e A control thread 5f In-process thread management means 5g Child process management means 6 X process 6a X system management thread 6b Management information 6c B control thread 6d C control thread 6e In-process thread management means 7 Y process 7a Y system management threads 7b management information 7c D control 7d process in a thread management unit 50 parent 50a System Management thread 50b management information 50c Thread A
50d Child process management thread 50e In-process thread management means 50f Child process management means 51 Child process 51a System management thread 51b Management information 51c Thread B
51d Child process management thread 51e In-process thread management means 51f Child process management means 100 Control unit 101 External storage medium playback unit 102 Radio reception unit 103 TV reception unit 104 Disc playback unit 105 HD playback unit 106 Navigation unit 107 Distribution circuit 108 Image adjustment Circuit 109 Audio adjustment circuit 110 Image output unit 111 VICS information reception unit 112 GPS information reception unit 113 Selector 114 Operation unit 115 Remote control transmission / reception unit 116 Remote control 117 Memory 118 External audio / video input unit 119 Camera 120 ETC in-vehicle 121 Communication unit 122 Display unit 123 Speaker 200 Backlight 201 Liquid Crystal Panel 202 Touch Panel

Claims (5)

情報処理装置内でプログラムを実行するときの、相互に区別された実行環境である複数のプロセスがツリー構造により親子関係となっており、各プロセス内において複数のスレッドが実行される情報処理装置であって
親プロセスと、当該親プロセスによって起動及び停止が管理される子プロセスとを実行する制御部
前記親プロセス及び前記子プロセスの各々に領域が割り当てられる記憶部と、
を有し、
前記記憶部には、各プロセス内のスレッドの起動要因及び停止要因を定めた管理情報格納され、
前記親プロセス内において、
前記管理情報に基づいて、プロセス内の他のスレッドを起動及び停止させるシステム管理スレッドと、
前記管理情報に基づいて、前記子プロセスのシステム管理スレッドとプロセス間通信を行い、前記子プロセスのシステム管理スレッドを起動及び停止させる子プロセス管理スレッドと、
が実行される情報処理装置。
When running a program in the information processing apparatus, a plurality of processes is a runtime environment that is distinguished from each other has become a parent-child relationship by a tree structure, in the information processing apparatus in which a plurality of threads are executed in each process There ,
The parent process, and a control unit for executing a child process started and stopped by the parent process is managed,
A storage unit to which an area is allocated to each of the parent process and the child process;
Have
Wherein the storage unit, the management information that defines the activation source and stop factor threads in each process are stored,
Within the parent process,
A system management thread for starting and stopping other threads in the process based on the management information;
A child process management thread that performs inter-process communication with a system management thread of the child process based on the management information, and starts and stops the system management thread of the child process;
Information processing device on which is executed .
前記子プロセス管理スレッドは、複数の子プロセス起動及び停止させることを特徴とする請求項1に記載の情報処理装置。 Child process management thread, the information processing apparatus according to claim 1, characterized in Rukoto starting and stopping a plurality of child processes. 前記ツリー構造により親子関係になっている複数のプロセスは、情報処理装置内において実行される全てのプロセスであることを特徴とする請求項1または2に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the plurality of processes having a parent-child relationship by the tree structure are all processes executed in the information processing apparatus. 情報処理装置の起動に応じた動作により、前記ツリー構造の根にあたるプロセスが起動を開始し、情報処理装置の停止に応じた動作により、該プロセスが停止を開始することを特徴とする請求項1から3のいずれか1項に記載の情報処理装置。   2. The process corresponding to the root of the tree structure starts by an operation according to the start of the information processing apparatus, and the process starts to stop by an operation according to the stop of the information processing apparatus. 4. The information processing apparatus according to any one of items 1 to 3. 情報処理装置内でプログラムを実行するときの、相互に区分された実行環境である複数
のプロセスがツリー構造により親子関係となっており、各プロセス内において複数のスレッドが実行される情報処理装置であって、親プロセスと、当該親プロセスによって起動及び停止が管理される子プロセスとを実行する制御部と前記親プロセス及び前記子プロセスの各々に領域が割り当てられる記憶部とを有する情報処理装置が実行する情報処理方法であって、
前記記憶部に格納される、プロセス内のスレッドの起動要因及び停止要因を定めた管理情報に基づいて、プロセス内の他のスレッド起動又は停止させるステップと、
前記管理情報に基づいて、前記子プロセスのシステム管理スレッドとプロセス間通信を行い、前記子プロセスのシステム管理スレッドを起動又は停止させるステップと、
実行する情報処理方法。
An information processing apparatus in which a plurality of processes, which are execution environments separated from each other when executing a program in the information processing apparatus, have a parent-child relationship by a tree structure , and a plurality of threads are executed in each process. An information processing apparatus comprising: a parent process ; a control unit that executes a child process that is managed to be started and stopped by the parent process; and a storage unit to which an area is allocated to each of the parent process and the child process Is an information processing method executed by
Is stored in the storage unit, based on the thread activation factors and management information that defines the stop factor in the process, the steps of causing other start threads or stopping of the process,
Based on the management information, perform system administration threads and interprocess communication child process, the steps of causing starting or stopping the system management threads child process,
Information processing method to execute .
JP2010217681A 2010-09-28 2010-09-28 Information processing apparatus and information processing method Active JP5566832B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010217681A JP5566832B2 (en) 2010-09-28 2010-09-28 Information processing apparatus and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010217681A JP5566832B2 (en) 2010-09-28 2010-09-28 Information processing apparatus and information processing method

Publications (2)

Publication Number Publication Date
JP2012073786A JP2012073786A (en) 2012-04-12
JP5566832B2 true JP5566832B2 (en) 2014-08-06

Family

ID=46169894

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010217681A Active JP5566832B2 (en) 2010-09-28 2010-09-28 Information processing apparatus and information processing method

Country Status (1)

Country Link
JP (1) JP5566832B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2990286B2 (en) * 1990-03-08 1999-12-13 株式会社日立製作所 Computer system in multi-thread environment
JPH04367942A (en) * 1991-06-17 1992-12-21 Fuji Facom Corp Operation management processing system for system
JPH07200316A (en) * 1993-12-28 1995-08-04 Fujitsu Ltd Child process generating method
JPH09282183A (en) * 1996-04-09 1997-10-31 Fuji Facom Corp Process managing device for information processor
US7958513B2 (en) * 2005-11-17 2011-06-07 International Business Machines Corporation Method, system and program product for communicating among processes in a symmetric multi-processing cluster environment

Also Published As

Publication number Publication date
JP2012073786A (en) 2012-04-12

Similar Documents

Publication Publication Date Title
EP2887194B1 (en) Method for controlling a composition of a screen and electronic device thereof
EP2980689B1 (en) Portable information terminal
EP3025895B1 (en) Information processing apparatus and execution management program
JP2008117181A (en) Portable terminal and its display control method
US20180364890A1 (en) Image display apparatus and method of operating the same
US20220100490A1 (en) Firmware updating method, and electronic apparatus and storage media for same
US9625979B2 (en) Method for reducing power consumption and electronic device thereof
US20200233653A1 (en) Program updating method
WO2023273350A1 (en) Application authorization method and apparatus, and terminal device
US20230289128A1 (en) Electronic device for supporting audio sharing
EP3654182B1 (en) Electronic device and method for providing in-vehicle infotainment service
CN112764627B (en) Upgrade package installation progress display method and display device
CN112721945B (en) Starting method and device of lane keeping function and computer storage medium
KR20170128911A (en) Image processing appratus and software upgrade method for performing operation according to force input and software upgrade
JP5566832B2 (en) Information processing apparatus and information processing method
EP2326076A1 (en) Display apparatus and control method thereof
CN112181915B (en) Method, device, terminal and storage medium for executing service
KR101993075B1 (en) Automotive information and entertainment systems
CN113696852B (en) Vehicle, locking method thereof and mobile terminal
CN108141697B (en) Electronic device, corollary device and method for operating electronic device
US9965605B2 (en) Apparatus and method for automatic unlocking of portable terminal
CN116263652A (en) Wallpaper display method and electronic equipment
JP4765893B2 (en) Touch panel mounting device, external device, and operation method of external device
EP2677436B1 (en) Information display system, information display control device, and information display device
JP2012123558A (en) Information processor and information processing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130621

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140325

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: 20140603

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140618

R150 Certificate of patent or registration of utility model

Ref document number: 5566832

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250