JPH0340035A - Multi-task processing system - Google Patents

Multi-task processing system

Info

Publication number
JPH0340035A
JPH0340035A JP17442989A JP17442989A JPH0340035A JP H0340035 A JPH0340035 A JP H0340035A JP 17442989 A JP17442989 A JP 17442989A JP 17442989 A JP17442989 A JP 17442989A JP H0340035 A JPH0340035 A JP H0340035A
Authority
JP
Japan
Prior art keywords
task
event
request
manager
dispatcher
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
JP17442989A
Other languages
Japanese (ja)
Inventor
Kenichi Touchi
健一 戸内
Shuichi Gunji
郡司 秀一
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP17442989A priority Critical patent/JPH0340035A/en
Publication of JPH0340035A publication Critical patent/JPH0340035A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To realize the multi-channel mechanism by a communication emulator by registering a request in an event list and actuating a dispatcher when some request is generated in the course of application operation, selecting a task to be executed from tasks in a ready state, and setting it to an operating state, and switching the task. CONSTITUTION:In the course of application operation, when a task A calls a service routine 41, this request is informed to an event manager 45 through a keyboard manager 44. The event manager 45 registers its request in an event list 47, informs it to a dispatcher 42, and the dispatcher 42 shifts the task which comes to a ready state earliest among the tasks of a ready state registered in a task list 46, to an executing state. Also, the task A in which an event is generated is registered as an event end waiting task. The task which comes to the executing state operates until a request to keyboard, a pipe and communication is issued, and switches the task. In such a way, a multi-channel mechanism can be realized by a communication emulator.

Description

【発明の詳細な説明】 [発明の目的コ (産業上の利用分野) この発明は、シングルタスクOS(オペレーティングシ
ステム)上でマルチタスク動作を実現するマルチタスク
処理システムに関する。
DETAILED DESCRIPTION OF THE INVENTION [Objective of the Invention (Field of Industrial Application) This invention relates to a multitasking processing system that realizes multitasking operations on a single-tasking OS (operating system).

(従来の技術) 従来、通信端末には複数の論理チャネル(以下マルチチ
ャネル)処理を行うものが多く、これをシングルO8上
でエミュレーションを行おうとした場合の単純な処理の
例を第2図に示す。図中、符号Aはキーバッファのチエ
ツクであり、キー人力が合った場合ホスト装置に対しキ
ーコードの送信処理を行い、無かった場合には、そのこ
とを知らせる。符号Bは受信バッファの取出し処理であ
り、F I F O(First In First 
0ut)バッファにより処理される。また受信データに
はどの論理チャネルに対するものが識別できる領域があ
る。符号Cはマルチプレクサであり、上述した受信デー
タの識別子によってチャネル毎に処理か分けられる。
(Prior art) Conventionally, many communication terminals process multiple logical channels (hereinafter referred to as multichannel), and Figure 2 shows a simple processing example when trying to emulate this on a single O8. show. In the figure, reference numeral A indicates a check of the key buffer, and if the key strength matches, a key code is sent to the host device, and if there is not, it is notified. Symbol B is a reception buffer extraction process, which is F I F O (First In First
0ut) processed by the buffer. In addition, there is an area in the received data in which it is possible to identify which logical channel the data corresponds to. Reference numeral C denotes a multiplexer, and processing is divided for each channel depending on the identifier of the above-mentioned received data.

(発明が解決しようとする課題) 上記従来例に従えば、各チャネルを均等の優先権として
扱っている分には問題ないが、各チャネルで優先権に差
異があった場合、バッファ管理上問題が生じる。また、
各チャネルの処理の延長上でキー人力処理があった場合
に問題であり、更に、そのキー処理に優先順位が発生し
た場合、ますます問題となり、マルチチャネル的な対応
が要求される。
(Problem to be solved by the invention) According to the above conventional example, there is no problem as long as each channel is treated with equal priority, but if there is a difference in priority among each channel, there is a problem in buffer management. occurs. Also,
This is a problem if there is key manual processing as an extension of the processing of each channel, and furthermore, if priority is given to the key processing, this becomes even more of a problem, and a multi-channel response is required.

この発明は上記事情に鑑みてなされたものであり、各チ
ャネルの処理を各々1つのタスクとして考え、通信エミ
ュレータでのマルチチャネル機構を実現するマルチタス
ク処理システムを提供することを目的とする。また、マ
ルチタスクに必要なタスク管理、資源管理等のないシン
グルO8上でマルチタスク的にプログムが作成できる環
境を提供することも目的とする。
The present invention has been made in view of the above circumstances, and it is an object of the present invention to provide a multitask processing system that considers the processing of each channel as one task and realizes a multichannel mechanism in a communication emulator. Another purpose is to provide an environment in which programs can be created in a multitasking manner on a single O8 without task management, resource management, etc. necessary for multitasking.

[発明の構成] (課題を解決するための手段と作用) 本発明は、それのみではシングルタスクでしか動作でき
ないオペレーティングシステムを内蔵するシングルタス
ク処理システムに、複数タスクの動作管理を行うマルチ
プルプロセッサを付加し、上記マルチプルプロセッサは
、キーボードの人力管理を行うキーボードマネージャと
、ファイルにつきイベント発生、終了をイベントマネー
ジャに通知してタスク間通信を行うパイプマネージャと
、外部オプション装置を制御するドライバのためのイン
ターフェースと、上記各マネージャに対するアプリケー
ションからの要求を統一的に管理するイベントマネージ
ャとから成り、アプリケーション動作中ある要求が発生
すると、上記イベントマネージャは、その要求をイベン
トリストに登録してディスパッチャを起動し、ディスパ
ッチャは、レディ状態となっているタスクより丈行すべ
きタスクを選択して動作状態に設定し、タスク切替えを
行う構成としたものである。
[Structure of the Invention] (Means and Effects for Solving the Problems) The present invention provides a single-task processing system that incorporates an operating system that can only operate in a single task by itself, and a multiple processor that manages the operation of multiple tasks. In addition, the above-mentioned multiple processor has a keyboard manager that performs manual keyboard management, a pipe manager that notifies the event manager of event occurrence and termination for each file and performs inter-task communication, and a driver that controls external optional devices. It consists of an interface and an event manager that collectively manages requests from applications to each of the above managers. When a certain request occurs while an application is running, the event manager registers the request in the event list and starts the dispatcher. The dispatcher is configured to select a task that should be carried out from among tasks that are in a ready state, set it in an active state, and switch the task.

このことにより、通信エミュレータでのマルチチャネル
機構の実現が可能となる。つまり、各チャネルの処理を
各々一つのタスクとして考えることが可能となる。
This makes it possible to implement a multi-channel mechanism in a communication emulator. In other words, it is possible to consider the processing of each channel as one task.

(実施例) 以下、図面を使用して本発明実施例について説明する。(Example) Embodiments of the present invention will be described below using the drawings.

第1図は本発明の実施例を示すブロック図である。図に
おいて、1はアプリケーションプログラムであり、タス
ク1〜4は各論理チャネルの処理を行う。2はオプショ
ンボード部であり、ボード及びボードを制御するドライ
バからなる。
FIG. 1 is a block diagram showing an embodiment of the present invention. In the figure, 1 is an application program, and tasks 1 to 4 process each logical channel. Reference numeral 2 denotes an option board section, which consists of a board and a driver that controls the board.

ドライバはアプリケーションプログラムに対するインタ
ーフェースを持つ。3は本発明が機能するマシン上にあ
るハードウェアである。
A driver has an interface to an application program. 3 is the hardware on the machine on which the invention functions.

4は本発明により付加されるマルチプルプロセッサであ
り、以下の構成要素から成る。符号41はサービスルー
チンであり、アプリケーションプログラム1、オプショ
ンボード部2のドライバからの要求(イベント)を各機
能ブロックに通知し、イベント終了時にはそのステータ
スを要求者に返還する。42はディスパッチャであり、
イベントが終了し、レディ状態でタスクリスト42に登
録されているタスクを動作状態にする。43はパイプマ
ネージャであり、パイプに関するイベントについての、
発生、終了等をイベントマネージャ45に通知する。4
4はキーボードマネージャであり、キーボード入力に関
するイベントについての発生、終了等をイベントマネー
ジャ45に通知する。45はイベントマネージャであり
、新しく発生したイベントについてイベントリスト47
に登録する。イベントが終了した場合にはイベントリス
トからの消去、ディスパッチャ42への通知を行う。尚
、図中TCBはタスクコントロルブロツタ、EVBはイ
ベントブロックである。
4 is a multiple processor added according to the present invention, and is composed of the following components. A service routine 41 notifies each functional block of requests (events) from the application program 1 and the driver of the option board unit 2, and returns the status to the requester when the event ends. 42 is a dispatcher;
When the event ends, the tasks registered in the task list 42 in the ready state are put into the active state. 43 is a pipe manager, which handles events related to pipes.
The event manager 45 is notified of occurrence, termination, etc. 4
A keyboard manager 4 notifies the event manager 45 of the occurrence, termination, etc. of events related to keyboard input. 45 is an event manager, which displays an event list 47 for newly occurring events.
Register. When the event ends, it is deleted from the event list and the dispatcher 42 is notified. In the figure, TCB is a task control block and EVB is an event block.

以下、本発明実施例の動作について説明する。The operation of the embodiment of the present invention will be explained below.

例としてアプリケーションを通信エミュレータとして説
明する。まず、オプションボード2は回線を物理的につ
なぐ通信ボードとなる。アプリケーション動作中のある
瞬間を例にとる。この時、タスクAが実行状態で他のタ
スクはレディ状態で夕スフリスト46に登録されていた
とする。この時タスクAがユーザのキー人力を持つため
にサービスルーチン41をコールすると、この要求はキ
ボードマネージャ44を経由し、イベントマネージャ5
に通知される。イベントマネージャ45はその要求を未
終了のキー人力待ちイベントとして、イベントリスト4
7に登録し、ディスポ・ンチャ42に通知する。ディス
パッチャ42はタスクリスト46に登録されているレデ
ィ状態のタスクのうち一番早くレディ状態になったタス
クを実行状態に移す。また、イベントを発生したタスク
(この場合タスクA)をイベント終了待のタスクとして
登録する。実行状態になったタスクはキーボード、パイ
プ、通信に対する要求を発行するまで動作する。これが
タスクの切替えとなる。
As an example, the application will be explained as a communication emulator. First, the option board 2 becomes a communication board that physically connects lines. Let's take an example of a moment when an application is running. At this time, it is assumed that task A is registered in the running list 46 and the other tasks are in the ready state. At this time, when task A calls the service routine 41 to obtain the user's key power, this request is passed through the keyboard manager 44 and the event manager 5
will be notified. The event manager 45 records the request as an unfinished key human power waiting event in the event list 4.
7 and notify the dispatcher 42. The dispatcher 42 shifts the task that becomes ready earliest among the ready state tasks registered in the task list 46 to the execution state. Also, the task that generated the event (task A in this case) is registered as a task waiting for the event to end. Once a task is in the running state, it continues to run until it issues a request for a keyboard, pipe, or communication. This is task switching.

それではイベントはどの様に終了するかというと、上の
例でキー待ちイベントとしてイベントリスト47に登録
されたタスクAを例にとると、ユーザがキーを入力する
までこの状態である。キーを人力すると、キーボードよ
り割り込みが発生する。この割り込みルーチンがイベン
トマネージャ45に通知しイベントリスト47より外さ
れ。
Now, how does the event end? Taking task A registered in the event list 47 as a key wait event in the above example, it remains in this state until the user inputs a key. When a key is pressed manually, an interrupt occurs from the keyboard. This interrupt routine notifies the event manager 45 and removes the event from the event list 47.

ディスパッチャ42はタスクAをレディ状態にする。こ
の動作は割り込みによって行われるので、他のタスクが
実行された状態でも行われている。
The dispatcher 42 puts task A into a ready state. Since this operation is performed by an interrupt, it is performed even when other tasks are being executed.

通信ボードの場合にはドライバがサービスルーチンを経
由し割り込みが発生したことを通知する。
In the case of a communication board, the driver notifies the user via a service routine that an interrupt has occurred.

パイプに関してはサービスルーチンを経由し、書き込み
の要求に対しては読み込み要求が起きた場合、逆に読み
込み要求に対しては書き込み要求がイベント終了のトリ
がとなる。以上によってマルチタスク的動作が行われる
Regarding pipes, the process goes through a service routine, and when a read request occurs in response to a write request, a write request triggers an event end event in response to a read request. As described above, a multitasking operation is performed.

[発明の効果] 以上説明のように本発明によれば、通信エミュレータで
のマルチチャネル機構の実現が可能となる。つまり各チ
ャネルの処理を各々一つのタスクとして考えることが可
能となる。また、このことにより、マルチタスクに必要
なタスク管理、資源管理等のないO8上でマルチタスク
的にプログラムが作成できる環境を提供できる。
[Effects of the Invention] As described above, according to the present invention, it is possible to realize a multi-channel mechanism in a communication emulator. In other words, it becomes possible to consider the processing of each channel as one task. Furthermore, this makes it possible to provide an environment in which programs can be created in a multitasking manner on the O8, which does not require task management, resource management, etc. necessary for multitasking.

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

第1図は本発明の実施例を示すブロック図、媚2図は従
来例における通信エミュレータの動作を示すフローチャ
ートである。 1・・・アプリケーションプログラム、2・・・オプシ
ョンボード部、3・・・ハードウェア、4・・・マルチ
プルプロセッサ、41・・・サービスルーチン、42・
・・ディスパッチャ、43・・・パイプマネージャ、4
4・・・キーボードマネージャ、45・・・イベントマ
ネージャ、46・・・タスクリスト、47・・・イベン
トリスト。
FIG. 1 is a block diagram showing an embodiment of the present invention, and FIG. 2 is a flow chart showing the operation of a communication emulator in a conventional example. DESCRIPTION OF SYMBOLS 1... Application program, 2... Option board part, 3... Hardware, 4... Multiple processors, 41... Service routine, 42...
...Dispatcher, 43...Pipe manager, 4
4...Keyboard manager, 45...Event manager, 46...Task list, 47...Event list.

Claims (1)

【特許請求の範囲】[Claims] それのみではシングルタスクでしか動作できないオペレ
ーティングシステムを内蔵するシングルタスク処理シス
テムに、複数タスクの動作管理を行うマルチプルプロセ
ッサを付加し、上記マルチプルプロセッサは、キーボー
ドの入力管理を行うキーボードマネージャと、ファイル
につきイベント発生、終了をイベントマネージャに通知
してタスク間通信を行うパイプマネージャと、外部オプ
ション装置を制御するドライバのためのインターフェー
スと、上記各マネージャに対するアプリケーションから
の要求を統一的に管理するイベントマネージャとから成
り、アプリケーション動作中ある要求が発生すると、上
記イベントマネージャは、その要求をイベントリストに
登録してディスパッチャを起動し、ディスパッチャは、
レディ状態となっているタスクより実行すべきタスクを
選択して動作状態に設定しタスク切替えを行うことを特
徴とするマルチタスク処理システム。
A multi-processor that manages the operation of multiple tasks is added to a single-task processing system that has a built-in operating system that can only operate with a single task. A pipe manager that communicates between tasks by notifying the event manager of event occurrence and termination, an interface for a driver that controls external optional devices, and an event manager that centrally manages requests from applications to each of the above managers. When a certain request occurs during application operation, the event manager registers the request in the event list and starts the dispatcher, and the dispatcher
A multi-task processing system is characterized in that a task to be executed is selected from among tasks in a ready state, set to an operating state, and task switching is performed.
JP17442989A 1989-07-06 1989-07-06 Multi-task processing system Pending JPH0340035A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17442989A JPH0340035A (en) 1989-07-06 1989-07-06 Multi-task processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17442989A JPH0340035A (en) 1989-07-06 1989-07-06 Multi-task processing system

Publications (1)

Publication Number Publication Date
JPH0340035A true JPH0340035A (en) 1991-02-20

Family

ID=15978384

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17442989A Pending JPH0340035A (en) 1989-07-06 1989-07-06 Multi-task processing system

Country Status (1)

Country Link
JP (1) JPH0340035A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022498A (en) * 1999-04-14 2001-01-26 Matsushita Electric Ind Co Ltd Event controller and digital broadcasting system
JP2004362564A (en) * 2003-05-30 2004-12-24 Sharp Corp Virtual processor method and device by unified event notification and consumer-producer memory calculation

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022498A (en) * 1999-04-14 2001-01-26 Matsushita Electric Ind Co Ltd Event controller and digital broadcasting system
US7962568B2 (en) 1999-04-14 2011-06-14 Panasonic Corporation Event control device and digital broadcasting system
JP2004362564A (en) * 2003-05-30 2004-12-24 Sharp Corp Virtual processor method and device by unified event notification and consumer-producer memory calculation
US8087034B2 (en) 2003-05-30 2011-12-27 Steven J. Frank Virtual processor methods and apparatus with unified event notification and consumer-produced memory operations
US8271997B2 (en) 2003-05-30 2012-09-18 Steven J. Frank General purpose embedded processor
US8621487B2 (en) 2003-05-30 2013-12-31 Steven J. Frank Virtual processor methods and apparatus with unified event notification and consumer-producer memory operations

Similar Documents

Publication Publication Date Title
KR930000592B1 (en) Task searching apparatus
US4787026A (en) Method to manage coprocessor in a virtual memory virtual machine data processing system
US5390329A (en) Responding to service requests using minimal system-side context in a multiprocessor environment
CA2074633C (en) Real-time, concurrent, multifunction digital signal processor subsystem for personal computers
EP0229336B1 (en) A virtual terminal subsystem
US6513057B1 (en) Heterogeneous symmetric multi-processing system
JP3659062B2 (en) Computer system
JP5015665B2 (en) Method, apparatus, and computer program for sharing kernel services between kernels
US5305455A (en) Per thread exception management for multitasking multithreaded operating system
JP2692609B2 (en) Multitask program debugging method and apparatus
US5666523A (en) Method and system for distributing asynchronous input from a system input queue to reduce context switches
US20060130062A1 (en) Scheduling threads in a multi-threaded computer
US20070022421A1 (en) Operating systems
US5029077A (en) System and method for controlling physical resources allocated to a virtual terminal
JPH0754471B2 (en) Data processing device
JPH0711783B2 (en) How to change the day patch mode
JPH0340035A (en) Multi-task processing system
EP0049521A2 (en) Information processing system
JPH05108380A (en) Data processing system
JP2000215071A (en) Virtual computer system
JPS603229B2 (en) Information processing method
JPH0421892B2 (en)
JP2001229038A (en) Multi-operating computer system
WO1992003783A1 (en) Method of implementing kernel functions
JPS60263238A (en) Information processor