JPH11316691A - Execution method for operating system and information processor using the method - Google Patents

Execution method for operating system and information processor using the method

Info

Publication number
JPH11316691A
JPH11316691A JP10123539A JP12353998A JPH11316691A JP H11316691 A JPH11316691 A JP H11316691A JP 10123539 A JP10123539 A JP 10123539A JP 12353998 A JP12353998 A JP 12353998A JP H11316691 A JPH11316691 A JP H11316691A
Authority
JP
Japan
Prior art keywords
operating system
scheduler
thread
user application
stored
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.)
Pending
Application number
JP10123539A
Other languages
Japanese (ja)
Inventor
Masafumi Fujita
雅文 藤田
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.)
Sega Corp
Original Assignee
Sega Enterprises 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 Sega Enterprises Ltd filed Critical Sega Enterprises Ltd
Priority to JP10123539A priority Critical patent/JPH11316691A/en
Publication of JPH11316691A publication Critical patent/JPH11316691A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To increase the processing speed of a scheduler in an operating system by setting a scheduler at a user application to switch threads and storing the context of a thread to be saved and stored in a memory area which is managed by the user application. SOLUTION: When a process occurs (S10), the process is not immediately executed but set in an executable state (S11). Therefore, plural processes are kept in an executable state. When a process in execution state (S12) is completed (S13) or set in a standby state (S14) and a CPU becomes idle, another process is set in executing state by a process management. A scheduler controls which process is to be set in execution state. The storage areas of the scheduler and contexts A and B on a RAM 11 are included in a user management area so that it is possible to make arbitrary access by a user.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、オペレーティング
システム(OS)のスケジュール管理方法及び、これを
用いたゲーム装置に関する。
[0001] 1. Field of the Invention [0002] The present invention relates to a schedule management method for an operating system (OS) and a game apparatus using the same.

【0002】[0002]

【従来の技術】CPUを搭載するコンピュータ装置にあ
っては、システムソフトウェアの一つであるオペレーテ
ィングシステム(OS)によって、ユーザプログラムで
あるアプリケーションプログラムの実行が管理される。
2. Description of the Related Art In a computer device equipped with a CPU, execution of an application program as a user program is managed by an operating system (OS), which is one of system software.

【0003】図7は、オペレーティングシステム(O
S)の起動の一般的方法を説明する図である。コンピュ
ータ装置の電源が投入されると(ステップS01)、ブ
ートROMに格納されたブートストラッププログラムが
実行される(ステップS02)。
FIG. 7 shows an operating system (O).
It is a figure explaining the general method of starting of S). When the power of the computer device is turned on (step S01), the bootstrap program stored in the boot ROM is executed (step S02).

【0004】ブートストラッププログラムは、ディスク
装置10に格納されているローダプログラム101を主
記憶装置であるRAM11に、読込み記憶する(ステッ
プS03)。次いで、RAM11に記憶されたローダプ
ログラムが実行される(ステップS04)。
[0004] The bootstrap program reads and stores the loader program 101 stored in the disk device 10 in the RAM 11 as a main storage device (step S03). Next, the loader program stored in the RAM 11 is executed (Step S04).

【0005】ローダプログラムの実行により、ディスク
装置10に格納されているオペレーティングシステム
(OS)102が、ディスク装置10から読み出され、
同様に主記憶装置であるRAM11に読込み記憶される
(ステップS05)。
By executing the loader program, an operating system (OS) 102 stored in the disk device 10 is read from the disk device 10, and
Similarly, the data is read and stored in the RAM 11, which is the main storage device (step S05).

【0006】ついで、オペレーティングシステム(O
S)の初期化ルーチンに制御が移行する(ステップS0
6)。この初期化ルーチンにおいて、各種のシステムテ
ーブルと入出力機器の初期化が行われる。この状態で、
アプリケーションの処理(プロセス)の生成を待つ。
Next, the operating system (O
The control shifts to the initialization routine of S) (step S0).
6). In this initialization routine, various system tables and input / output devices are initialized. In this state,
Wait for the generation of application process (process).

【0007】ここで、アプリケーションのプロセスは、
特定の仕事をするための一連の操作系列を実行する活動
である。かかるアプリケーションのプロセスに対し、オ
ペレーティングシステム(OS)は、プロセスの生成や
消滅を実現するプロセス管理と、プロセスを基本単位と
して、CPUを割り付けるスケジューラ機能を有する。
Here, the application process is as follows:
An activity that performs a sequence of operations to perform a specific task. For such application processes, an operating system (OS) has a process management for realizing the creation and deletion of the process, and a scheduler function for allocating a CPU using the process as a basic unit.

【0008】図8は、プロセスの状態遷移とオペレーテ
ィングシステム(OS)の関わりを説明する図である。
プロセスが発生すると(ステップS10)、直ちには実
行されず、実行可能の状態とされる(ステップS1
1)。
FIG. 8 is a diagram for explaining the relationship between process state transitions and the operating system (OS).
When a process occurs (step S10), the process is not executed immediately, but becomes executable (step S1).
1).

【0009】このため、実行可能の状態となるプロセス
は、複数個存在し、実行状態(ステップS12)のプロ
セスが終了し(ステップS13)、あるいは待機状態と
なって(ステップS14)、CPUが空き状態になる
と、プロセス管理により、1つのプロセスが実行状態
(ステップS12)とされる。この場合、CPUが空き
状態になって、いずれのプロセスを実行状態とするか
は、スケジューラにより制御される。
For this reason, there are a plurality of processes in the executable state, and the process in the execution state (step S12) ends (step S13) or enters the standby state (step S14), and the CPU becomes idle. When the state is reached, one process is set to an execution state (step S12) by the process management. In this case, the scheduler controls which process becomes an execution state when the CPU is in an idle state.

【0010】入出力操作等のイベントの発生により、プ
ロセスの実行状態(ステップS12)から、待機状態
(ステップS14)への移行が行われる。さらに、待機
状態(ステップS14)から実行可能状態(ステップS
11)への遷移は、入出力操作の完了、あるいは待機状
態となっている事象が発生した時に行われる。
When an event such as an input / output operation occurs, a transition is made from the process execution state (step S12) to the standby state (step S14). Furthermore, from the standby state (step S14) to the executable state (step S14)
The transition to 11) is performed when the input / output operation is completed or when an event in a standby state occurs.

【0011】図8において、プロセスの実行状態(ステ
ップS12)から待機状態(ステップS14)への遷移
のみが、プロセス自身で行われ、実行可能状態(ステッ
プS11)と実行状態(ステップS12)間の遷移は、
他の原因により生じる。
In FIG. 8, only the transition from the process execution state (step S12) to the standby state (step S14) is performed by the process itself, and the transition between the executable state (step S11) and the execution state (step S12) is performed. The transition is
Caused by other causes.

【0012】ここで、プロセスは、オペレーティングシ
ステム内でプロセス制御ブロックと呼ばれるデータ構造
により表される。プロセス制御ブロックの各項目は、オ
ペレーティングシステム(OS)を構成する種々のモジ
ュールによって、参照され、設定される。
Here, a process is represented by a data structure called a process control block in the operating system. Each item of the process control block is referred to and set by various modules constituting the operating system (OS).

【0013】プロセスの遷移状態において、プロセス制
御ブロックの項目に含まれるプログラムカウンタとレジ
スタの待避領域が特に重要である。あるプロセスに割り
込みが発生すると、この割り込まれたプロセスのプログ
ラムカウンタとレジスタの現在の値が、RAM11上の
プロセス制御ブロックの待避領域に設定される。
In the transition state of the process, the save area of the program counter and the register included in the item of the process control block is particularly important. When an interrupt occurs in a certain process, the current value of the program counter and the register of the interrupted process is set in the save area of the process control block on the RAM 11.

【0014】一方、プロセスがCPUに割り付けられる
時は、そのプロセスのRAM11上に待避されているプ
ロセス制御ブロックの内容が、当該プロセスのプログラ
ムカウンタとレジスタに設定される。
On the other hand, when a process is allocated to the CPU, the contents of the process control block saved on the RAM 11 of the process are set in the program counter and register of the process.

【0015】この様なプロセスからプロセスへのCPU
切換の処理は、コンテキストスイッチ(文脈の切換)と
呼ばれる。文脈の切換においては、実行状態(ステップ
S12)から実行可能状態(ステップS11)に遷移さ
せられるプロセス即ち、CPUを奪われる(横取りされ
る)プロセスに関する情報(図8で、コンテキストAと
する)を待避し、CPUが割り付けられるプロセスに関
する情報(図8で、コンテキストBとする)を回復する
ことが必要である。
CPU for such a process to process
The process of switching is called a context switch (context switching). In the context switching, information (hereinafter, context A in FIG. 8) relating to a process that is changed from an execution state (step S12) to an executable state (step S11), that is, a process in which the CPU is stolen (preempted) is obtained. It is necessary to evacuate and recover information about the process to which the CPU is allocated (context B in FIG. 8).

【0016】そして、図8において、コンテキストA、
Bは、RAM11上のオペレーティングシステム(O
S)の管理領域に格納される。
In FIG. 8, context A,
B indicates the operating system (O
It is stored in the management area of S).

【0017】ここで、プロセスについて更に説明する
と、プロセスを効率良く実行するために、プロセス自体
の高速化の他に、プロセスの生成/消滅、及びコンテキ
ストの切換などのプロセス処理の本質に関係しない操作
の時間を小さくすることが必要である。
Here, the process will be further described. In order to efficiently execute the process, in addition to speeding up the process itself, operations not related to the essence of the process processing, such as creation / deletion of the process and context switching, are performed. It is necessary to reduce the time.

【0018】このために、操作の高速化を目的として、
スレッド機構がオペレーティングシステムに採用されて
いる。すなわち、スレッドは、プログラムを実行するた
めの、最小実行単位であり、1つの小さな実体(オブジ
ェクト)である。
For this purpose, for the purpose of speeding up the operation,
A thread mechanism is employed in the operating system. That is, a thread is a minimum execution unit for executing a program, and is one small entity.

【0019】スレッドは、プロセスそのものではない
が、制御の流れを表し、プロセスの構成例を説明する図
9に示すようにプロセスの実行に必要な最小のコンテキ
ストである、レジスタセットとスタック等を持つ。
A thread is not a process itself, but represents a control flow, and has a register set, a stack, and the like, which are minimum contexts necessary for the execution of a process as shown in FIG. .

【0020】したがって、上記図8におけるコンテキス
トA、Bには、スレッドの固有情報として、プログラム
カウンタ、レジスタセット、スタック等及び、プロセス
のコンテキストとして、アドレス空間、変数等が含まれ
る。
Therefore, the contexts A and B in FIG. 8 include a program counter, a register set, a stack and the like as thread-specific information, and an address space and variables as a process context.

【0021】ここで、図8において、プロセスの実行可
能状態(ステップS11)と実行状態(ステップS1
2)間の遷移を制御するCPUスケジューラについて、
図10を参照して説明する。
Here, in FIG. 8, a process executable state (step S11) and an execution state (step S1)
2) Regarding the CPU scheduler that controls the transition between
This will be described with reference to FIG.

【0022】オペレーティングシステムプログラムに含
まれるCPUスケジューラは、実行可能状態にあるプロ
セスの集合から、次にCPUを割り付けるプロセスを選
択する。選択されたプロセスに実際にCPUを割り付け
るのは、オペレーティングシステムの一部であって、プ
ログラムコードであるディスパッチャ機能により行われ
る。
A CPU scheduler included in the operating system program selects a process to which a CPU is to be allocated next from a set of processes in an executable state. The actual assignment of the CPU to the selected process is part of the operating system and is performed by a dispatcher function that is a program code.

【0023】図10において、CPUスケジューラは、
システム負荷の変動に対応するために、プロセスを一時
的に中断したり、再開する方針を決定する。そして、プ
ログラムの進行に伴って更新される。
In FIG. 10, the CPU scheduler
Determine a policy for temporarily suspending and resuming processes to accommodate fluctuations in system load. It is updated as the program progresses.

【0024】すなわち、CPUスケジューラにより、ス
レッド毎の時間配分、優先度等が予め決定される。かか
るCPUスケジューラの決定に基づき、ディスパッチャ
が呼び出され、実行中のユーザ側アプリケーションのス
レッド−0がオペレーティングシステムのレジスタを待
避する。
That is, the CPU scheduler determines in advance the time distribution, priority, and the like for each thread. The dispatcher is called based on the determination of the CPU scheduler, and the thread-0 of the executing user side application saves the register of the operating system.

【0025】すなわち、図10において、実行中のユー
ザ側アプリケーションのスレッド−0がオペレーティン
グシステムにエントリされると(ステップS20)、図
8に示した様に、RAM11のオペレーティングシステ
ムの管理領域に、スレッド−0のレジスタの内容をコン
テキスト−0として、待避する( ステップS21) 。
That is, in FIG. 10, when the thread-0 of the running user application is entered into the operating system (step S20), the thread is stored in the operating system management area of the RAM 11 as shown in FIG. The contents of the register of −0 are saved as context-0 (step S21).

【0026】次いで、次に実行すべきスレッド−1の内
容であるレジスタを、オペレーティングシステムの管理
する領域に保存されているコンテキスト−1から回復す
る(ステップS22)。その後、システムモードからユ
ーザモードへの切り換え即ち、ディスパッチを行う(ス
テップS23)。
Next, the register, which is the content of the thread-1 to be executed next, is recovered from the context-1 stored in the area managed by the operating system (step S22). Thereafter, switching from the system mode to the user mode, that is, dispatching is performed (step S23).

【0027】[0027]

【発明が解決しようとする課題】ここで、上記CPUス
ケジューラは、一般的なオペレーティングシステム(O
S)の場合、図8に示したように、可能性のあるプロセ
スの発生の全てを想定して、どのようなハードウエア環
境や、ソフトウェア環境にも対応させる必要があるた
め、使用していない管理機能もスケジューラの処理ルー
チンの中に組み込まれている。
Here, the CPU scheduler is a general operating system (O / O).
In the case of S), as shown in FIG. 8, it is not used because it is necessary to correspond to any hardware environment or software environment, assuming all possible processes to occur. The management function is also incorporated in the scheduler processing routine.

【0028】したがって、オペレーティングシステム
(OS)においては、このスケジューラの処理がスピー
ドのボトルネックになっている。特に、ゲーム装置にあ
っては、ゲームプログラムの実行処理において、スケジ
ューラの機能は単純で良いが、一方処理スピードの高速
化が必要である。
Therefore, in the operating system (OS), the processing of the scheduler is a bottleneck of speed. In particular, in the game device, the function of the scheduler in the process of executing the game program may be simple, but it is necessary to increase the processing speed.

【0029】また、携帯電話等の小型の電子機器におい
ては、オペレーティングシステム(OS)による、不要
で複雑な処理が増えることが、回路の消費電力の増大に
繋がり、バッテリの駆動時間が短縮してしまう問題も生
じる。
In a small electronic device such as a mobile phone, an increase in unnecessary and complicated processing by an operating system (OS) leads to an increase in power consumption of a circuit and a reduction in a battery driving time. There is also a problem.

【0030】したがって、本発明の目的は、上記問題を
解決するオペレーティングシステム(OS)のスケジュ
ール管理方法及び、これを用いた情報処理装置を提供す
ることにある。
Accordingly, it is an object of the present invention to provide an operating system (OS) schedule management method and an information processing apparatus using the same, which solve the above problems.

【0031】[0031]

【課題を解決するための手段】上記課題を達成する本発
明の特徴は、少なくとも1以上のスレッドを有するユー
ザアプリケーションの実行を管理するオペレーティング
システムの実行方法であって、ユーザアプリケーション
にスレッド間を切り替えるスケジューラが設定され、前
記オペレーティングシステムの起動の際あるいは予め、
スケジューラが格納される、ユーザアプリケーションに
よって管理されるメモリアドレスをオペレーティングシ
ステムに設定する。そして、このオペレーティングシス
テムは、一つのスレッドのコンテキストをメモリへ待避
格納する際、前記スケジューラの格納されるメモリアド
レスをアクセスし、読み出されるスケジューラに従い、
ディスパッチャによりスレッドを切り替えることにあ
る。
A feature of the present invention to achieve the above object is a method of executing an operating system for managing execution of a user application having at least one or more threads, and switching between threads to the user application. A scheduler is set, at the time of starting the operating system or in advance,
The operating system sets a memory address where the scheduler is stored and managed by the user application. When the operating system saves the context of one thread in the memory, the operating system accesses the memory address stored in the scheduler, and according to the read scheduler,
Switching threads by dispatcher.

【0032】さらに、特徴として、前記待避格納される
スレッドのコンテキストは、前記ユーザアプリケーショ
ンにより管理されるメモリ領域に格納されることにあ
る。
Further, as a feature, the context of the thread to be saved is stored in a memory area managed by the user application.

【0033】本発明を適用する、オペレーティングシス
テムにより、少なくとも1以上のスレッドを有するユー
ザアプリケーションの実行を管理する情報処理装置の特
徴は、前記ユーザアプリケーションを実行する制御手段
としてのCPUと、このユーザアプリケーションに設定
された、スレッド間を切り替えるスケジューラを格納
し、前記ユーザアプリケーションにより管理されるメモ
リ領域を有し、前記オペレーティングシステムの起動の
際あるいは予め、前記ユーザアプリケーションにより管
理されるメモリ領域の前記スケジューラの格納されるメ
モリアドレスが、オペレーティングシステムに設定され
ることにある。
A feature of the information processing apparatus which manages the execution of a user application having at least one or more threads by an operating system to which the present invention is applied is characterized in that a CPU as control means for executing the user application, A scheduler that switches between threads is set, and has a memory area managed by the user application. When the operating system is started or beforehand, the scheduler of the memory area managed by the user application is stored. The stored memory address is to be set in the operating system.

【0034】さらに、前記オペレーティングシステム
は、前記スケジューラの格納されるメモリアドレスをア
クセスし、読み出されるスケジューラに従い、前記CP
Uに割り当てられている一つのスレッドのコンテキスト
を、前記ユーザアプリケーションにより管理されるメモ
リ領域へ待避格納し、前記一つのスレッドと、前記CP
Uの割当てが切り替えられる他のスレッドのコンテキス
トをユーザアプリケーションにより管理されるメモリ領
域から読み出す。
Further, the operating system accesses a memory address stored in the scheduler and, in accordance with the scheduler read out, accesses the CP.
The context of one thread assigned to U is saved in a memory area managed by the user application, and the one thread and the CP
The context of another thread to which the assignment of U is switched is read from the memory area managed by the user application.

【0035】さらに、特徴として、前記待避格納される
スレッドのコンテキストは、前記ユーザアプリケーショ
ンにより管理されるメモリ領域に格納される。
Further, as a feature, the context of the thread to be saved is stored in a memory area managed by the user application.

【0036】さらに、特徴として、前記オペレーティン
グシステムは、ROMに格納されている。
Further, as a characteristic, the operating system is stored in a ROM.

【0037】また、特徴として、前記オペレーティング
システムは、装置起ち上げ用のブートストラッププログ
ラムとともに、ROMに一体に格納されている。
As a feature, the operating system is stored integrally with the ROM together with a bootstrap program for starting up the apparatus.

【0038】さらに又、前記オペレーティングシステム
は、前記CPUと一体に、半導体チップ上に形成された
ROMに格納されていることを特徴とする。
Further, the operating system is stored in a ROM formed on a semiconductor chip integrally with the CPU.

【0039】さらに、上記本発明の特徴を利用した、オ
ペレーティングシステムを有するCPUと、該CPUに
おいて実行されるバグ検出対象である少なくとも1のス
レッドを有するアプリケーションプログラムを供給する
ホスト装置を有するデバッカにおける特徴は、前記アプ
リケーションプログラムが、前記少なくとも1以上のス
レッド間を切り替えるスケジューラを有し、更に、1つ
のスレッドのコンテキストをメモリへ待避格納する際、
前記オペレーティングシステムに設定された、前記スケ
ジューラの格納される前記ユーザアプリケーションによ
り管理されるメモリアドレスが、オペレーティングシス
テムによりアクセスされ、このアクセスされるメモリア
ドレスから読み出される前記スケジューラに従い、ディ
スパッチャによりスレッドを切り替えられるものであっ
て、前記少なくとも1以上のスレッドが、デバック機能
を果たすデバックスレッドを有するものである。
Further, the features of a debugger having a CPU having an operating system and a host device for supplying an application program having at least one thread to be executed on the CPU and utilizing the features of the present invention are provided. Has a scheduler that switches between the at least one or more threads, and further stores and saves the context of one thread in a memory.
A memory address set in the operating system and managed by the user application stored in the scheduler is accessed by the operating system, and a thread is switched by a dispatcher according to the scheduler read from the accessed memory address. Wherein the at least one thread has a debug thread that performs a debug function.

【0040】本発明の更なる目的及び特徴は、以下の実
施の形態の説明から明らかとなる。
Further objects and features of the present invention will become apparent from the following description of embodiments.

【0041】[0041]

【発明の実施の形態】以下図面に従い、本発明の実施の
形態を説明する。なお、図において、同一又は、類似の
ものには、同一の参照数字又は、参照記号を付して説明
する。
Embodiments of the present invention will be described below with reference to the drawings. In the drawings, the same or similar components will be described with the same reference numerals or reference symbols.

【0042】図1は、本発明に従うオペレーティングシ
ステム(OS)のスケジュール管理方法の実施の形態を
説明する図であり、図8に対応するプロセスの状態遷移
図である。
FIG. 1 is a diagram for explaining an embodiment of a method for managing a schedule of an operating system (OS) according to the present invention, and is a state transition diagram of a process corresponding to FIG.

【0043】図1において、図8の状態遷移図と比較す
ると、本発明の特徴は、スケジューラ及び、コンテキス
トのRAM11上の格納領域をユーザアプリケーション
により管理されるメモリ領域であるユーザ側管理領域に
おいている点にある。したがって、コンテキストの格納
領域をユーザ側より任意にアクセスが可能である。
In FIG. 1, as compared with the state transition diagram of FIG. 8, the feature of the present invention is that the storage area of the scheduler and the context on the RAM 11 is a user side management area which is a memory area managed by a user application. On the point. Therefore, the user can arbitrarily access the storage area of the context from the user side.

【0044】このために、オペレーティングシステム
(OS)には、その起動の際に、コンテキストの待避格
納(セーブ)を行った後、スケジューラの格納されるユ
ーザ側管理領域のアドレスをアクセス(ユーザコール)
する様に、当該スケジューラが格納されるユーザ側管理
領域アドレスが設定される。あるいは、起動の際に限ら
れずに、スケジューラの格納される管理領域のアドレス
を予めオペレーティングシステム(OS)に設定してお
くことも可能である。
For this purpose, when the operating system (OS) is started, the context is saved (saved), and then the address of the user side management area where the scheduler is stored is accessed (user call).
Thus, the user-side management area address where the scheduler is stored is set. Alternatively, the address of the management area in which the scheduler is stored is not limited to the time of activation, and may be set in the operating system (OS) in advance.

【0045】図2は、図1の状態遷移図における、オペ
レーティングシステム(OS)とユーザアプリケーショ
ン間の関わりを説明する動作フロー図である。
FIG. 2 is an operation flow diagram for explaining the relationship between the operating system (OS) and the user application in the state transition diagram of FIG.

【0046】すなわち、図2において、ユーザアプリケ
ーションのスレッド−0が、オペレーティングシステム
(OS)にエントリすると(ステップS30)、オペレ
ーティングシステム(OS)は、スレッド−0のコンテ
キストを、RAM11のユーザ側管理領域のメモリ領域
に、次の処理のタイミングに至るまで記録保持(セー
ブ)する(ステップS31)。
That is, in FIG. 2, when the thread-0 of the user application makes an entry in the operating system (OS) (step S30), the operating system (OS) stores the context of the thread-0 in the user-side management area of the RAM11. Is recorded and saved (save) in the memory area until the next processing timing (step S31).

【0047】図2において、スレッド−0のコンテキス
トは、RAM11のユーザ側管理領域にコンテキストA
として格納される。
In FIG. 2, the context of the thread-0 is stored in the user side management area of the RAM 11 in the context A.
Is stored as

【0048】さらに、コンテキストをセーブする都度、
オペレーティングシステム(OS)は、その起動の際に
設定されたアドレスにアクセスして、ユーザ側のスケジ
ューラの呼び出しを行う(ステップS32)。
Further, each time a context is saved,
The operating system (OS) accesses the address set at the time of the startup and calls the scheduler on the user side (step S32).

【0049】オペレーティングシステム(OS)からの
呼び出しに対し、ユーザアプリケーションのスケジュー
ラ機能に従い、図2に示す例では、スレッド−0からス
レッド−1のコンテキスト・スイッチング処理を行い、
オペレーティングシステム(OS)にスレッド−0から
スレッド−1へのスイッチング処理を指示する(ステッ
プS33)。
In response to a call from the operating system (OS), context switching processing from thread-0 to thread-1 is performed in the example shown in FIG. 2 according to the scheduler function of the user application.
It instructs the operating system (OS) to perform a switching process from thread-0 to thread-1 (step S33).

【0050】したがって、オペレーティングシステム
(OS)は、スイッチ先であるスレッド−1のコンテキ
ストBを、RAM11のユーザ側管理のメモリ領域から
読み出し、ロードする(ステップS34)。次いで、オ
ペレーティングシステム(OS)のディスパッチ機能に
より、実行状態のスレッド−0と実行可能状態のスレッ
ド−1を、それぞれ実行可能状態と、実行状態にスイッ
チする(ステップS35)。
Therefore, the operating system (OS) reads the context B of the thread-1 to be switched from the user-side management memory area of the RAM 11 and loads it (step S34). Next, the thread-0 in the execution state and the thread-1 in the execution state are switched to the execution state and the execution state, respectively, by the dispatch function of the operating system (OS) (step S35).

【0051】この様に本発明では、コンテキストの格納
される領域を、オペレーティングシステム(OS)の管
理領域ではなく、ユーザ側で管理するメモリ領域として
いる。このために、オペレーティングシステム(OS)
の管理領域を予め大量に確保する必要が無く、オペレー
ティングシステム(OS)の管理領域を小さくすること
が可能である。
As described above, in the present invention, the area where the context is stored is not the management area of the operating system (OS) but the memory area managed by the user. For this, the operating system (OS)
It is not necessary to secure a large number of management areas in advance, and it is possible to reduce the management area of the operating system (OS).

【0052】さらに、上記の様に、コンテキストの書込
が、オペレーティングシステム(OS)の管理領域で行
われないので、オペレーティングシステム(OS)をR
OMに格納したままで実行することも可能である。
Further, as described above, the writing of the context is not performed in the management area of the operating system (OS).
It is also possible to execute the program while it is stored in the OM.

【0053】図3は、かかる本発明に従う特徴を利用し
た、情報処理装置の実施例構成のブロック図である。上
記の様に、スケジューラがユーザアプリケーション40
側に備えられ、オペレーティングシステム(OS)は、
読み出し専用となっているので、図3において、ブート
ROM20と同様に、ROM30に格納され、そのまま
実行される。
FIG. 3 is a block diagram of an embodiment of an information processing apparatus utilizing such features according to the present invention. As described above, the scheduler is the user application 40
Operating system (OS)
Since it is read-only, it is stored in the ROM 30 and executed as it is in the same manner as the boot ROM 20 in FIG.

【0054】コンテキスト・スイッチング(図2、ステ
ップS33)の際、オペレーティングシステム(OS)
により、ユーザアプリケーション40のRAM11上の
管理領域がアクセスされ、スイッチ先のスレッド(プロ
セス)のコンテキストが読み出される。そして、読み出
されたコンテキストに対応するユーザアプリケーション
40のプロセスに対し、CPU1が割り当てられ、実行
される。
At the time of context switching (FIG. 2, step S33), an operating system (OS)
Thereby, the management area on the RAM 11 of the user application 40 is accessed, and the context of the thread (process) to be switched is read. Then, the CPU 1 is assigned to the process of the user application 40 corresponding to the read context and executed.

【0055】上記の様にして、本発明により、オペレー
ティングシステム(OS)の管理領域を小さくする事が
可能である。図4は、この特徴を利用して、情報処理装
置において、CPU1と一体にオペレーティングシステ
ム(OS)を1つの半導体チップ上に構成した実施例構
成のブロック図である。なお、その動作は図3の例と同
様であるので省略する。
As described above, according to the present invention, the management area of the operating system (OS) can be reduced. FIG. 4 is a block diagram of an embodiment in which an operating system (OS) is integrally formed with the CPU 1 on one semiconductor chip in the information processing apparatus by utilizing this feature. The operation is the same as in the example of FIG.

【0056】また、図5は、上記オペレーティングシス
テム(OS)の管理領域が小さくできるという本発明の
特徴を利用した情報処理装置の別の実施例構成のブロッ
ク図である。本実施例では、オペレーティングシステム
(OS)をブートストラッププログラムを含むバイオス
(BIOS)と共に、一体にROM50に格納してい
る。
FIG. 5 is a block diagram of another embodiment of the information processing apparatus utilizing the feature of the present invention that the management area of the operating system (OS) can be reduced. In this embodiment, the operating system (OS) is stored in the ROM 50 together with the BIOS (BIOS) including the bootstrap program.

【0057】このように図4,図5の実施例に示される
如く、オペレーティングシステム(OS)を、他の要素
と一体に構成することにより装置コストの低減を図るこ
とが可能である。すなわち、オペレーティングシステム
(OS)を、CPU1あるいはブートストラッププログ
ラムを含むバイオス(BIOS)と一体にROMに格納
することが可能であり、あるいは他の周辺機能部と一体
に格納することも可能である。
As shown in the embodiments of FIGS. 4 and 5, the operating cost (OS) can be reduced by integrating the operating system (OS) with other components. That is, the operating system (OS) can be stored in the ROM integrally with the CPU 1 or the BIOS (BIOS) including the bootstrap program, or can be stored integrally with the other peripheral function units.

【0058】ここで、スケジューラをユーザ管理側に置
くという本発明の特徴を、更にソフトウェア開発におけ
るプログラムバグ修正装置であるデバッキング装置(デ
バッカ)に適用することが可能である。
Here, the feature of the present invention that the scheduler is placed on the user management side can be further applied to a debugging device (debugger) which is a program bug correcting device in software development.

【0059】図11は、一般的なデバッカの構成を説明
する図である。図において、デバック対象となるターゲ
ットCPU50と、デバッカ60が、インサーキットエ
ミュレータ(ICE)70を通して接続される。
FIG. 11 is a diagram for explaining the structure of a general debugger. In the figure, a target CPU 50 to be debugged and a debugger 60 are connected through an in-circuit emulator (ICE) 70.

【0060】ここで、図11における、ターゲットCP
U50は、従来と同様のオペレーティングシステムを有
するCPU51を有し、従って、スケジューラ機能もオ
ペレーティングシステム側に有る。さらに、CPU51
は、専用インタフェース52により、インサーキットエ
ミュレータ(ICE)70側に接続される。
Here, the target CP in FIG.
The U50 has the CPU 51 having the same operating system as the conventional one, and therefore has the scheduler function on the operating system side. Further, the CPU 51
Is connected to an in-circuit emulator (ICE) 70 through a dedicated interface 52.

【0061】デバッカ60は、デバック対象とするプロ
グラムデータを発生するデバッカ・ホスト61を有し、
専用インタフェース62を通して、インサーキットエミ
ュレータ(ICE)70側に接続される。
The debugger 60 has a debugger host 61 for generating program data to be debugged.
Through the dedicated interface 62, it is connected to the in-circuit emulator (ICE) 70 side.

【0062】インサーキットエミュレータ(ICE)7
0は、デバック作業を支援するものであり、デバッカ6
0からの所定のプログラムデータに対し、デバック作業
に必要なデバックスレッドを生成する。
In-circuit emulator (ICE) 7
Numeral 0 supports the debugging operation.
For a predetermined program data from 0, a debug thread necessary for a debug operation is generated.

【0063】そして、デバッカ・ホスト61から送られ
る上記のプログラムデータを通信インタフェース73で
受信し、ICE本体CPU71において、生成するデバ
ックスレッドを加え、通信インタフェース72を通して
ターゲットCPU51に送る。
Then, the above-mentioned program data sent from the debugger host 61 is received by the communication interface 73, the debug thread to be generated is added in the ICE main CPU 71, and it is sent to the target CPU 51 through the communication interface 72.

【0064】したがって、図11のデバッカの構成で
は、デバックを行うプログラム毎に対応したインサーキ
ットエミュレータ(ICE)70が必要となる。さら
に、専用のインタフェース52,62も必要となる。
Therefore, the debugger configuration of FIG. 11 requires an in-circuit emulator (ICE) 70 corresponding to each program to be debugged. Further, dedicated interfaces 52 and 62 are required.

【0065】これに対し、本発明のオペレーティング管
理システムを用いる場合のデバッカを、図6に示す構成
とすることが可能である。すなわち、インサーキットエ
ミュレータ(ICE)70を不要とし、ターゲット・ホ
スト間通信インタフェース53を介し、汎用インタフェ
ース520,620を通して、ターゲットCPU51間
が接続される。
On the other hand, the debugger in the case of using the operating management system of the present invention can be configured as shown in FIG. That is, the in-circuit emulator (ICE) 70 becomes unnecessary, and the target CPU 51 is connected through the general-purpose interfaces 520 and 620 via the target-host communication interface 53.

【0066】デバッカ・ホスト61から生成されるプロ
グラムデータ側に本発明に従い、スケジューラ機能を有
することにより、容易にデバックスレッドを生成するこ
とが可能である。
By providing a scheduler function on the program data side generated from the debugger host 61 according to the present invention, a debug thread can be easily generated.

【0067】これにより、図11に示した様なインサー
キットエミュレータ(ICE)70及び、専用のインタ
フェース52,62を不要とすることができる。
This eliminates the need for the in-circuit emulator (ICE) 70 and the dedicated interfaces 52 and 62 as shown in FIG.

【0068】[0068]

【発明の効果】以上図面を参照して、本発明の実施の形
態を説明した様に、本発明は、ユーザアプリケーション
プログラム側に、スケジューラを置くことにより、オペ
レーティングシステム(OS)においてスケジューラの
処理がスピードのボトルネックになっている問題を解決
することが可能である。
As described above with reference to the accompanying drawings, according to the present invention, a scheduler is provided in a user application program so that a scheduler process can be performed in an operating system (OS). It is possible to solve the problem that is the bottleneck of speed.

【0069】また、特に本発明は、ゲームプログラムの
実行処理において、スケジューラの機能は単純で良い
が、一方処理スピードの高速化が必要であるゲーム装置
に適用する場合に、著しい特徴が得られる。
In particular, the present invention has a remarkable feature when the present invention is applied to a game device which requires a simpler processing function for executing the game program, but requires a higher processing speed.

【0070】また、本発明を携帯電話等の小型の電子機
器に適用する場合は、オペレーティングシステム(O
S)による、不要で複雑な処理が増えることによる回路
の消費電力の増大も防ぐことが可能である。
When the present invention is applied to a small electronic device such as a mobile phone, the operating system (O
It is also possible to prevent an increase in power consumption of the circuit due to an increase in unnecessary and complicated processing due to S).

【0071】なお、上記実施の形態は、本発明を説明す
るためのものであり、本発明は、かかる実施の形態に限
定されない。本発明の保護の範囲は、特許請求の範囲に
より定まり、特許請求の範囲の記載の均等の範囲も、本
発明の保護の範囲に含まれるものである。
The above embodiment is for describing the present invention, and the present invention is not limited to the embodiment. The scope of protection of the present invention is determined by the claims, and equivalent scopes of the claims are also included in the scope of protection of the present invention.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明に従うオペレーティングシステム(O
S)のスケジュール管理方法の実施の形態を説明する図
であり、図8に対応するプロセスの状態遷移図である。
FIG. 1 shows an operating system (O) according to the invention.
FIG. 9 is a diagram for describing an embodiment of the schedule management method of S), and is a state transition diagram of a process corresponding to FIG. 8.

【図2】図1の状態遷移図における、オペレーティング
システム(OS)とユーザアプリケーション間の関わり
を説明する動作フロー図である。
FIG. 2 is an operation flow diagram for explaining a relationship between an operating system (OS) and a user application in the state transition diagram of FIG. 1;

【図3】本発明に従う特徴を利用した、情報処理装置の
実施例構成のブロック図である。
FIG. 3 is a block diagram of an embodiment of an information processing apparatus utilizing features according to the present invention.

【図4】情報処理装置において、CPU1と一体にオペ
レーティングシステム(OS)を1つの半導体チップ上
に構成した実施例構成のブロック図である。
FIG. 4 is a block diagram of an embodiment in which an operating system (OS) is integrally formed with a CPU 1 on one semiconductor chip in the information processing apparatus.

【図5】本発明の特徴を利用した情報処理装置の別の実
施例構成のブロック図である。
FIG. 5 is a block diagram of the configuration of another embodiment of an information processing apparatus utilizing the features of the present invention.

【図6】本発明のオペレーティング管理方法を用いるデ
バッカの構成例である。
FIG. 6 is a configuration example of a debugger using the operating management method of the present invention.

【図7】オペレーティングシステム(OS)の起動の一
般的方法を説明する図である。
FIG. 7 is a diagram illustrating a general method of starting an operating system (OS).

【図8】プロセスの状態遷移とオペレーティングシステ
ム(OS)の関わりを説明する図である。
FIG. 8 is a diagram for explaining a relationship between a process state transition and an operating system (OS).

【図9】プロセスの構成例を説明する図である。FIG. 9 is a diagram illustrating a configuration example of a process.

【図10】CPUスケジューラの機能を説明する図であ
る。
FIG. 10 is a diagram illustrating functions of a CPU scheduler.

【図11】一般的なデバッカの構成を説明する図であ
る。
FIG. 11 is a diagram illustrating a configuration of a general debugger.

【符号の説明】[Explanation of symbols]

1 CPU 11 RAM 20 ブートROM 30 オペレーティングシステム 40 ユーザアプリケーション 1 CPU 11 RAM 20 Boot ROM 30 Operating System 40 User Application

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】少なくとも1以上のスレッドを有するユー
ザアプリケーションの実行を管理するオペレーティング
システムの実行方法であって、 ユーザアプリケーションのスレッド間を切り替えるスケ
ジューラが設定され、 該オペレーティングシステムの起動の際あるいは予め、
ユーザアプリケーションにより管理される該スケジュー
ラの格納されるメモリアドレスを、該オペレーティング
システムに設定し、 該オペレーティングシステムは、1つのスレッドのコン
テキストをメモリへ待避格納する際、該設定されたスケ
ジューラの格納されるメモリアドレスをアクセスし、読
み出される該スケジューラに従い、ディスパッチャによ
りスレッドを切り替えることを特徴とするオペレーティ
ングシステムの実行方法。
1. A method of executing an operating system for managing execution of a user application having at least one or more threads, wherein a scheduler for switching between threads of the user application is set, and at the time of starting the operating system or in advance,
A memory address stored in the scheduler managed by the user application is set in the operating system, and the operating system stores the set scheduler when the context of one thread is saved to the memory. A method for executing an operating system, wherein a thread is switched by a dispatcher according to a scheduler that accesses a memory address and is read.
【請求項2】請求項1において、 前記待避格納されるスレッドのコンテキストは、前記ユ
ーザアプリケーションにより管理されるメモリ領域に格
納されることを特徴とするオペレーティングシステムの
実行方法。
2. The method according to claim 1, wherein the context of the thread to be saved is stored in a memory area managed by the user application.
【請求項3】オペレーティングシステムにより、少なく
とも1以上のスレッドを有するユーザアプリケーション
の実行を管理する情報処理装置において、 該ユーザアプリケーションを実行するCPUと、 該ユーザアプリケーションにより管理される、スレッド
間を切り替えるスケジューラを格納したメモリ領域を有
し、 該オペレーティングシステムの起動の際あるいは予め、
該ユーザアプリケーションにより管理されるメモリ領域
の該スケジューラの格納されるメモリアドレスが、該オ
ペレーティングシステムに設定され、 更に、該オペレーティングシステムは、該スケジューラ
の格納されるメモリアドレスをアクセスし、読み出され
るスケジューラに従い、該CPUに割り当てられている
1つのスレッドのコンテキストを、該ユーザアプリケー
ションにより管理されるメモリ領域へ待避格納し、該1
つのスレッドと、該CPUの割当てが切り替えられる他
のスレッドのコンテキストを該ユーザアプリケーション
により管理されるメモリ領域から読み出すことを特徴と
する情報処理装置。
3. An information processing apparatus for managing execution of a user application having at least one thread by an operating system, wherein the CPU executes the user application, and a scheduler for switching between threads, which is managed by the user application. At the time of starting the operating system or in advance.
A memory address where the scheduler is stored in a memory area managed by the user application is set in the operating system, and further, the operating system accesses the memory address where the scheduler is stored and according to the read scheduler. Saves the context of one thread assigned to the CPU in a memory area managed by the user application;
An information processing apparatus for reading contexts of one thread and another thread to which the assignment of the CPU is switched from a memory area managed by the user application.
【請求項4】請求項3において、 前記待避格納されるスレッドのコンテキストは、前記ユ
ーザアプリケーションにより管理されるメモリ領域に格
納されることを特徴とする情報処理装置。
4. The information processing apparatus according to claim 3, wherein the context of the thread to be saved is stored in a memory area managed by the user application.
【請求項5】請求項3において、 前記オペレーティングシステムは、ROMに格納されて
いることを特徴とする情報処理装置。
5. The information processing apparatus according to claim 3, wherein the operating system is stored in a ROM.
【請求項6】請求項3において、 前記オペレーティングシステムは、装置起ち上げ用のブ
ートストラッププログラムとともに、ROMに一体に格
納されていることを特徴とする情報処理装置。
6. The information processing apparatus according to claim 3, wherein the operating system is integrally stored in a ROM together with a bootstrap program for starting up the apparatus.
【請求項7】請求項3において、 前記オペレーティングシステムは、前記CPUと一体
に、半導体チップ上に形成されたROMに格納されてい
ることを特徴とする情報処理装置。
7. The information processing apparatus according to claim 3, wherein the operating system is stored in a ROM formed on a semiconductor chip together with the CPU.
【請求項8】オペレーティングシステムにより実行を管
理される、少なくとも1以上のスレッドを有するユーザ
アプリケーションであって、 スレッド間を切り替えるスケジューラを有し、 1つのスレッドのコンテキストをメモリへ待避格納する
際、該オペレーティングシステムの起動時あるいは予
め、該オペレーティングシステムに設定された、該スケ
ジューラの格納される該ユーザアプリケーションにより
管理されるメモリアドレスが、該オペレーティングシス
テムによりアクセスされ、該アクセスされるメモリアド
レスから読み出される該スケジューラに従い、ディスパ
ッチャによりスレッドを切り替えられることを特徴とす
るユーザアプリケーションを格納した記憶媒体。
8. A user application which is managed by an operating system and has at least one or more threads, comprising a scheduler for switching between threads, and for saving a context of one thread in a memory, When the operating system is started or beforehand, a memory address set in the operating system and managed by the user application stored in the scheduler is accessed by the operating system and read from the accessed memory address. A storage medium storing a user application, wherein a thread can be switched by a dispatcher according to a scheduler.
【請求項9】請求項8において、 前記待避格納されるスレッドのコンテキストは、前記ユ
ーザアプリケーションにより管理されるメモリ領域に格
納されることを特徴とするユーザアプリケーションを格
納した記憶媒体。
9. The storage medium according to claim 8, wherein the context of the thread to be saved is stored in a memory area managed by the user application.
【請求項10】オペレーティングシステムを有するCP
Uと、バグ検出対象であり、該CPUにおいて実行され
る少なくとも1以上のスレッドを有するアプリケーショ
ンプログラムを供給するホスト装置を有するデバッカに
おいて、 該アプリケーションプログラムは、スレッド間を切り替
えるスケジューラを有し、更に、 1つのスレッドのコンテキストをメモリへ待避格納する
際、該オペレーティングシステムの起動時あるいは予
め、該オペレーティングシステムに設定された、該スケ
ジューラの格納される該ユーザアプリケーションにより
管理されるメモリアドレスが、該オペレーティングシス
テムによりアクセスされ、該アクセスされるメモリアド
レスから読み出される該スケジューラに従い、ディスパ
ッチャによりスレッドを切り替えられるものであって、 該少なくとも1以上のスレッドが、デバック機能を果た
すデバックスレッドを有することを特徴とするデバッ
カ。
10. A CP having an operating system.
U and a debugger having a host device which supplies an application program having at least one or more threads to be executed on the CPU, which is a bug detection target, wherein the application program has a scheduler for switching between threads, When saving the context of one thread in the memory, the memory address managed by the user application stored in the scheduler when the operating system is started or beforehand is set in the operating system. The thread is switched by the dispatcher according to the scheduler accessed from the accessed memory address and the at least one thread , Debugger, characterized in that it comprises a debug thread play a debug function.
JP10123539A 1998-05-06 1998-05-06 Execution method for operating system and information processor using the method Pending JPH11316691A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10123539A JPH11316691A (en) 1998-05-06 1998-05-06 Execution method for operating system and information processor using the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10123539A JPH11316691A (en) 1998-05-06 1998-05-06 Execution method for operating system and information processor using the method

Publications (1)

Publication Number Publication Date
JPH11316691A true JPH11316691A (en) 1999-11-16

Family

ID=14863113

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10123539A Pending JPH11316691A (en) 1998-05-06 1998-05-06 Execution method for operating system and information processor using the method

Country Status (1)

Country Link
JP (1) JPH11316691A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100608220B1 (en) 2003-06-27 2006-08-08 가부시끼가이샤 도시바 Information processing system, memory management method and recording medium for storing program to execute the method
CN100428165C (en) * 2005-08-31 2008-10-22 国际商业机器公司 Apparatus, system, and method for implementing protected virtual memory subcontexts

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100608220B1 (en) 2003-06-27 2006-08-08 가부시끼가이샤 도시바 Information processing system, memory management method and recording medium for storing program to execute the method
CN100428165C (en) * 2005-08-31 2008-10-22 国际商业机器公司 Apparatus, system, and method for implementing protected virtual memory subcontexts

Similar Documents

Publication Publication Date Title
US6434696B1 (en) Method for quickly booting a computer system
KR100746797B1 (en) Processor and information processing method
EP3274788B1 (en) Technologies for improved hybrid sleep power management
EP2296089A2 (en) Operating systems
US20070022421A1 (en) Operating systems
KR20060126372A (en) System for executing code during operating system initialization
JPH08503566A (en) Method for automatically reducing power consumption of computer equipment
US20110219373A1 (en) Virtual machine management apparatus and virtualization method for virtualization-supporting terminal platform
CN102880477A (en) Method for realizing computer start and computer
US20040098722A1 (en) System, method, and computer program product for operating-system task management
US4851992A (en) Register/saving/restoring system for saving and restoring data in a register of a slave processor
US7418714B2 (en) Employing three parameter buffer access in connection with SMBus notifications
JPH07287682A (en) Computer system
US7930524B1 (en) Method for executing a 32-bit flat address program during a system management mode interrupt
CN116028129B (en) UEFI (unified extensible firmware interface) quick starting method based on Feiteng platform and Feiteng platform
JP2003099272A (en) Task switching system and method, dsp, and modem
JPH11316691A (en) Execution method for operating system and information processor using the method
JPH10326205A (en) System call issuing method
JP2003044307A (en) Radio communication equipment, method for rewriting its boot program, and program
JPH0484335A (en) Virtual computer controlling system
JPH10143274A (en) Clock controller for cpu
JP2009509214A (en) Adding functionality to computer devices using thread call tables
JP2003256219A (en) Program execution method in incorporated equipment
KR100292155B1 (en) Digital computer having easy operation environment and using method thereof
JP2663895B2 (en) CPU simulator

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070515

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070925