JP2822728B2 - コンピュータシステム - Google Patents

コンピュータシステム

Info

Publication number
JP2822728B2
JP2822728B2 JP28664291A JP28664291A JP2822728B2 JP 2822728 B2 JP2822728 B2 JP 2822728B2 JP 28664291 A JP28664291 A JP 28664291A JP 28664291 A JP28664291 A JP 28664291A JP 2822728 B2 JP2822728 B2 JP 2822728B2
Authority
JP
Japan
Prior art keywords
system call
task
processing
resource
call
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.)
Expired - Lifetime
Application number
JP28664291A
Other languages
English (en)
Other versions
JPH05127929A (ja
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP28664291A priority Critical patent/JP2822728B2/ja
Publication of JPH05127929A publication Critical patent/JPH05127929A/ja
Application granted granted Critical
Publication of JP2822728B2 publication Critical patent/JP2822728B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、リアルタイムに動作す
るコンピュータシステムに利用され、特に、それを管理
するオペレーティングシステムにおいての、割込み処理
中に発生したオペレーティングシステム処理に関する。
【0002】
【従来の技術】ロボット、NCおよびファクシミリ等の
分野では、発生した事象に対する応答性と高速処理とが
要求される。このような分野におけるオペレーティング
システムは、 処理オーバヘッドの短縮 発生した事象に対する応答性の確保 に重点をおいて設計される。このようなオペレーティン
グシステムは、特に「リアルタイムオペレーティングシ
ステム」(以下、OSという。)と呼ばれる。
【0003】OSは、アプリケーションプログラムを
「タスク」および「ハンドラ」として管理する。タスク
は、継続的に動作するプログラム単位である。OSは、
状況に応じて最適なタスクを選び出し、CPU(中央処
理装置)を割当てる。ハンドラは、割込み等の外部イベ
ントに対応し、起動されるプログラムである。OSに直
接管理されることなく、非同期に動作する。
【0004】いま、以下のような状況を想定する。
【0005】図6は、従来のリアルタイムなコンピュー
タシステムの一例の要部を示すブロック構成図である。
【0006】図6において、11はアドレスバス、12
はデータバス、13はCPU、14は割込みコントロー
ラ、15はタイマ(1)、16はタイマ(2)、17は
メモリ、18は割込みコントローラ14からCPU13
への割込み信号路、19はCPU13から割込みコント
ローラ14への割込み受付け信号路、20はタイマ
(1)15から割込みコントローラ14への割込み信号
路、ならびに21はタイマ(2)16から割込みコント
ローラ14への割込み信号路である。
【0007】このコンピュータシステム上で動作するア
プリケーションプログラムは、タスクがタスクAとタス
クBの二つ、割込みハンドラがハンドラAとハンドラB
の二つで構成されている。タスクBは、ハンドラAとB
によって休止状態(Dormant状態)から実行状態
(Run状態)に移行するようになっている。ハンドラ
Aは、タイマ(1)15によって、ハンドラBは、タイ
マ(2)16による割込みにより、それぞれ起動され
る。
【0008】タスクやハンドラは、資源(オブジェク
ト)を直接操作することはできない。操作が必要な場合
は、システムコールでOSに操作を要求する。従来、O
Sがシステムコール処理中に割込みが発生し、ハンドラ
内で新たにシステムコールが発行された場合、ハンドラ
内のシステムコール処理を図7に示すシステムコールキ
ュー501につなぎ、割込まれたシステムコール処理が
終了するまで処理を遅延していた。
【0009】図7に、システムコールキューの構造を示
す。また、システムコール処理は、システムコールエン
トリ処理、本処理、システムコール終了処理、およびタ
スクディスパッチ処理の四つに分けることができる。シ
ステムコールエントリ処理は、システムコール処理中に
発生した割込みハンドラ内で呼ばれたシステムコールを
システムコールキュー501へリンクする。システムコ
ール終了処理では、システムコールキュー501のつな
ぎ替え等を行い、タスクディスパッチ処理は、本処理に
よって状態の変化したタスクから最適なものを選択しC
PUを割当てる。図8、図9および図10に、それぞれ
これらの処理フローを示す。
【0010】タスクを生成するシステムコールはクリエ
ートタスク(〔外1〕)である。クリエートタスクは、
未登録(〔外2〕)のタスクを休止状態(Dorman
t)へと移行させるもので、パラメータはタスク識別子
と初期プライオリティである。タスクを起動するシステ
ムコールはスタートタスク(〔外3〕)である。スター
トタスクは、休止状態(Dormant)のタスクを実
行可能状態(Ready状態)へと移行させるもので、
パラメータはタスク識別子である。タスクのプライオリ
ティを変更するシステムコールは、プライオリティ変更
コール(〔外4〕)である。プライオリティ変更コール
は、指定タスクのプライオリティを変更し、レディキュ
ーやウエイトキューのつなぎ替えを行うもので、パラメ
ータはタスク識別子と新しく変更するプライオリティで
ある。図11にクリエートタスクの処理フローを、図1
2にスタートタスクの処理フローを、図13にプライオ
リティ変更コールの処理フローを示す。
【0011】
【外1】
【0012】
【外2】
【0013】
【外3】
【0014】
【外4】 次に、図6ないし図13を参照しながら、従来のOSの
動作を具体的に説明する。なお、OSは、割込み許可状
態で動作しているものとする。
【0015】現在、プライオリティ10のタスクAが実
行状態で走っており、タスクBは未登録状態である。タ
スクAがクリエートタスクを発行して初期プライオリテ
ィ20(プライオリティ10>プライオリティ20)の
タスクBを生成する。
【0016】いま、図11のクリエートタスク処理中
に、タイマ(1)15による割込みによりハンドラAが
動作したものとする。ハンドラA内でタスクBに対する
スタートタスクが発行されると、OSは、図8に示した
フローに従い、システムコールエントリ処理を行う。
【0017】まず、コンテキストを退避し(ステップS
41)、次に、システムコール中か否かを判断する(ス
テップS42)。割込みは、クリエートタスクの処理中
に発生したのであるから、処理はステップS44に移
る。OSは、メモリ17から図7のシステムコールブロ
ック504を得て、そのシステムコールブロック504
の領域506にスタートタスクを示す番号を、領域50
7にタスクBのタスク識別子を書き込む(ステップS4
5)。そして、システムコールブロック504を、シス
テムコールキュー501につなぐ(ステップS46)。
システムコールキュー501には、何もつながれていな
かったため、リンクエリアである領域505には「0」
が入る。また、領域502と領域503には、システム
コールブロック504のアドレスが入る。システムコー
ル処理は、この後コンテキストを復帰し(ステップS4
7)、終了する。
【0018】この時点で、タイマ(2)16の割込みに
よりハンドラBが動作するものとする。ハンドラB内で
タスクBに対するプライオリティ変更コールの発行に伴
い、OSはコンテキストを退避する(図8のステップS
41)。システムコール中か否かを判断し(ステップS
42)、システムコール処理中であるため、OSはメモ
リ17からシステムコールブロック509を得る(ステ
ップS44)。得られたシステムコールブロック509
の領域511に、プライオリティ変更コールを示す番号
を、領域512と領域513に、タスクBのタスク識別
子と新しいプライオリティ5(プライオリティ5>プラ
イオリティ10>プライオリティ20)をそれぞれ書き
込む(ステップS45)。そして、システムコールキュ
ー501には先程システムコールブロック504をつな
いだので、その次(キューの最後)にシステムコールブ
ロック509をつなぐ(ステップS46)。領域510
には、キューの最後なので「0」が入り、また領域50
3には、システムコールブロック509のアドレスが入
る。この後コンテキストを復帰し(ステップS47)、
終了する。
【0019】以上のような処理を経て、ハンドラ処理が
終了し、再びOS処理は、クリエートタスクにもどる。
処理は、図11のステップS73、S74と進み、タス
クBはシステム上に登録され、休止状態になる。
【0020】次に、処理は図9に示すシステムコール終
了処理に移る。まず、OSはシステムコールキュー50
1の領域502の内容から、キューにシステムコールブ
ロックがつながれているか否かを判断する(図9のステ
ップS51)。内容は「0」ではないため、ステップS
52に処理が移る。OSは、システムコールキュー50
1の先頭のシステムコールブロック504を、キューか
らはずす。はずすことによって、システムコールブロッ
ク509がキューの先頭につながれる。システムコール
キュー501の領域502には、システムコールブロッ
ク509が書込まれる。はずしたシステムコールブロッ
ク504のアドレスを得て(ステップS53)、それに
より、システムコール番号と、パラメータを得る(ステ
ップS54)。OSは、システムコールブロック504
をメモリ17に返却する(ステップS55)。そして、
格納されていたシステムコール番号に従い、システムコ
ール処理に移る。
【0021】いま、はずしたシステムコールブロック5
04には、スタートタスクが格納されていたので、図1
2に示すスタートタスクの本処理に入る。まず、パラメ
ータで指定したタスク識別子が現在の実行タスクを指し
ているか調べる(図12のステップS81)。指定タス
クはタスクBであり、現実行タスクはタスクAなので、
ステップS82に処理が移り、指定したタスクBが存在
するタスクかどうか調べる。先に、クリエートタスクに
よりタスクBは既に生成されているので、ステップS8
3に移る。いま、タスクBは休止状態なので、ステップ
S84でプライオリティ20のレディキューにリンク
し、実行可能状態とする。その後、再びシステムコール
終了処理に移る。
【0022】OSはシステムコールキュー501の領域
502の内容からまだキューにシステムコールブロック
がつながれているか否かを判断し(図9のステップS5
1)、ステップS52でシステムコールブロック509
を、システムコールキュー501からはずし、これによ
りキューにつながれているシステムコールブロックがな
くなるため、システムコールキュー501の領域502
と503には、「0」が書き込まれる。システムコール
ブロック509から、システムコール番号と、パラメー
タを得て(ステップS54)、システムコールブロック
509をメモリ17に返却し(ステップS55)、格納
されていたシステムコール番号により、図13のプライ
オリティ変更コールの本処理に入る。
【0023】まず、パラメータで指定したタスク識別子
が現在の実行タスクを指しているか調べる(図13のス
テップS91)。現実行タスクではないのでステップS
92に処理が移り、指定したタスクBが存在するタスク
かどうか調べる。既に生成されているので、ステップS
93に処理が移る。いま、タスクBは実行可能状態なの
で、ステップS94で現プライオリティ20のレディキ
ューからはずす。その後、ステップS95で新プライオ
リティ5のレディキューにリンクし、システムコール終
了処理に移る。また、ステップS93で実行可能状態で
ない場合には、ステップS96に処理が移りウエイトキ
ューのつなぎ替えを行う。
【0024】OSは、システムコールキュー501の領
域502の内容から、キューにシステムコールブロック
がつながれているか否かを判断する(図9のステップS
51)。内容は「0」であるためにシステムコール終了
処理が終了し、図10のタスクディスパチャに処理が移
る。
【0025】ディスパチャ処理では、図10のステップ
S63で現在プライオリティの1番高いタスクのIDを
得て、コンテキストを切り替え(ステップS64)、制
御を移す。前記割込みハンドラAおよびBによりタスク
Bに実行権を渡し、タスクディスパチングを起こす。
【0026】以上のようにして、割込み処理およびシス
テムコール処理が行われる。
【0027】
【発明が解決しようとする課題】従来例で記述したよう
に、システムコール処理中に割込みが発生したとき、割
込みハンドラ内で発行されたシステムコールの本処理は
キューイングし、割込まれたシステムコール処理が終了
するまで処理を遅延する。
【0028】いま、タスクBは既に生成されており、タ
スクAがタスクBを削除することを考える。他タスクを
削除するシステムコールはデリートタスク(〔外5〕)
である。デリートタスクは、休止状態から未登録状態へ
と移行させるもので、パラメータはタスク識別子であ
る。図14にデリートタスクの処理フローを示す。
【0029】
【外5】 タスクBがデリートタスクをかけられ、デリートタスク
処理中にタイマ(1)15による割込みがハンドラした
とする。前記例と同様に、起動されたハンドラAでは、
タスクBに対してスタートタスクを発行する。スタート
タスクの本処理のキューイングを行い(図8)、処理を
終了する。この時点で、タイマ(2)16の割込みによ
りハンドラBが動作し、タスクBに対してプライオリテ
ィ変更コールを発行し、これもキューイングする。シス
テムコール処理は、この後コンテキストを復帰し、終了
する。
【0030】以上のような処理を経て、割込みによるハ
ンドラ処理が終了し、再びOS処理は、デリートタスク
にもどる。処理は、図14のステップS103、S10
4と進み、タスクBは削除され、システム上に存在しな
い未登録状態になる。
【0031】次に、処理は図9に示すシステムコール終
了処理に移り、システムコールキュー501の先頭のシ
ステムコールブロック504を、キューからはずし、キ
ューのつなぎ替えを行う。システムコールブロック50
4をメモリ17に返却して(図9のステップS55)、
スタートタスクの処理に移る(図12)。
【0032】まず、パラメータで指定したタスク識別子
が現在の実行タスクを指していないので、図12のステ
ップS82に処理が移り、指定したタスクBが存在する
タスクかどうか調べる。しかし、デリートタスクにより
タスクBは既に削除されているので、スタートタスクの
本処理をぬけ、エラー処理へ移行となる(図15)。エ
ラー処理では、まずタスク処理中か否か判断する(図1
5のステップS111)。タスク処理中ではないので、
再度システムコール終了処理に移り、システムコールキ
ューからプライオリティ変更コールのシステムコールブ
ロック509をはずす一連の処理を行い、プライオリテ
ィ変更コールの本処理に入る。
【0033】プライオリティ変更コールでも、図13の
ステップS92でタスクBはすでに存在しないため、エ
ラー処理へ移行となってしまう。
【0034】このように、デリートタスク発行中に割込
みが発生した場合、削除対象のタスクに対してシステム
コールが発行されて、システムコールキューにリンクさ
れても、実際キューからはずして処理を行う際には、対
象タスクは存在しない。そのため、システムコールキュ
ーへのリンク処理やその該当システムコール本処理はす
べて無駄になり、処理オーバヘッドが高い。そして、リ
アルタイムシステムの最も重要な割込み応答性が、無駄
な処理をリンクするため、大きく損なわれることも考え
られる。また、不要なシステムコールブロックをリンク
するため、制約されたシステムのメモリを効率的に使用
できないことにもなる、という重大な欠点があった。
【0035】本発明の目的は、前記の欠点を除去するこ
とにより、割込み応答性を向上できるシステムコール処
理方式を有するコンピュータシステムを提供することに
ある。
【0036】
【課題を解決するための手段】本発明は、中央処理装置
と、記憶手段と、割込み制御手段とを備えたコンピュー
タシステムにおいて、前記中央処理装置は、前記コンピ
ュータシステムが有するオペレーティングシステムがシ
ステムコール中であることを識別するシステムコール識
別手段と、前記システムコールが資源の削除処理を行う
ことを識別する資源削除識別手段と、前記システムコー
ルの対象資源を前記記憶手段に記憶させる資源記憶手段
と、資源の削除を行うシステムコール処理中に発行され
たシステムコールの対象資源が前記資源記憶手段により
記憶された削除対象資源であるか否かを判定する判定手
段と、判定の結果が削除対象資源であった場合に前記削
除を行うシステムコール処理中に発行されたシステムコ
ール処理の実行を禁止する禁止手段とを含むことを特徴
とする。
【0037】
【作用】資源の削除を行うシステムコールAが発行され
ると、資源削除認識手段により認識し、資源記憶手段に
より削除対象資源であることを区分して記憶手段に記憶
させる。このシステムコールAの処理中にシステムコー
ルBの割込み処理が発生すると、判定手段によりシステ
ムコールBの対象資源がシステムコールAでの削除対象
資源であるか否かを判定し、それが前記削除対象資源で
あった場合に、禁止手段によりシステムコールBの処理
を禁止し行わないようにする。
【0038】従って、システムコール処理中に割込みが
発生したとき、割込みハンドラ内で発行されたシステム
コール処理の中で、無駄になる処理を省き、処理オーバ
ヘッドの短縮、割込み応答性の向上を図ることが可能と
なる。
【0039】
【実施例】以下、本発明の実施例について図面を参照し
て説明する。
【0040】図1は本発明の一実施例の要部を示すブロ
ック構成図である。
【0041】本実施例は、CPU(中央処理装置)13
aと、記憶手段としてのメモリ17aと、割込み制御手
段としての割込みコントローラ14と、タイマ(1)1
5と、タイマ(2)16と、それらを接続するアドレス
バス11およびデータバス12とを備えたコンピュータ
システムにおいて、本発明の特徴とするところの、CP
U13aは、前記コンピュータシステムが有するオペレ
ーティングシステムがシステムコール中であることを識
別するシステムコール識別手段1と、前記システムコー
ルが資源の削除処理を行うことを識別する資源削除識別
手段2と、前記システムコールの対象資源をメモリ17
aに記憶させる資源記憶手段3と、資源の削除を行うシ
ステムコール処理中に発行されたシステムコールの対象
資源が資源記憶手段3により記憶された削除対象資源で
あるか否かを判定する判定手段4と、判定の結果が削除
対象資源であった場合に前記削除を行うシステムコール
処理中に発行されたシステムコール処理を禁止する禁止
手段5とを含んでいる。
【0042】なお、これら、システムコール識別手段
1、資源削除識別手段2、資源記憶手段3、判定手段4
および禁止手段5は、OS中に合わせて構成される。ま
た、図1において、18、19、20および21は信号
路である。
【0043】次に、本実施例の動作例(1)について図
2、図3(a)および(b)ならびに図7を参照して説
明する。ここで、図2は本実施例の動作例(1)におけ
るシステムコールエントリ処理を示すフローチャート、
図3(a)および(b)はその動作過程にある資源削除
識別手段2としてのオブジェクト管理ブロックの状態を
示す説明図、ならびに、図7は既に説明したようにシス
テムコール識別手段1としてのシステムコールキューを
示す説明図である。
【0044】状況は、前述の発明が解決しようとする課
題のときと同様である。タスクAが実行状態で、既に生
成されているタスクBを削除する。タスクAがデリート
タスクを発行すると、OSは、図2に示したフローに従
い、システムコールエントリ処理を行う。ステップS1
でコンテキストを退避し、ステップS2でシステムコー
ル処理中か否か判断する。タスク処理中に発行されたの
でステップS9に移り、システムコールカウンタを更新
して、システムコール処理中を示すカウントを1にす
る。次にステップS10で、デリート系のシステムコー
ルか否か判断する。いま、デリートタスク処理を行おう
としているので、ステップS11に移り、パラメータか
らタスクBのオブジェクト管理ブロックアドレスを得
る。このオブジェクト管理ブロック201内のデリート
中を示すフラグ202を図3(b)のようにセットし、
デリートタスク本処理へ移行する。
【0045】いま、このデリートタスク本処理中にタイ
マ(1)15による割込みによりハンドラAが動作した
ものとする。スタートタスクが発行されると、OSは再
度、システムコールエントリ処理を行う。まず、コンテ
キストを退避する(図2のステップS1)。次にシステ
ムコール中か否かを判断する(ステップS2)。割込み
は、デリートタスクの処理中に発生したのであるから、
処理はステップS3に移る。システムコールのパラメー
タより処理対象のタスク(タスクB)のオブジェクト管
理ブロックアドレスを得る(ステップS3)。タスクB
のオブジェクト管理ブロック201内のデリート中を示
すフラグ202を調べ(ステップS4)、スタートタス
クを発行されたタスクBが削除中であるため、ステップ
S8へ飛び、システムコールキュー501へのリンク処
理は行わない。システムコール処理は、コンテキストを
復帰し、終了する。
【0046】この時点で、タイマ(2)16の割込みに
よりハンドラBが動作するものとする。プライオリティ
変更コール発行に伴い、OSはコンテキストを退避する
(図2のステップS1)。そして、システムコール中か
否かを判断する(ステップS2)。システムコール処理
中であるため、処理はステップS3に移る。タスクBの
オブジェクト管理ブロックアドレスを得、タスクBのオ
ブジェクト管理ブロック201内のデリート中を示すフ
ラグ202を調べ、プライオリティ変更コールを発行さ
れたタスクBが削除中であるため(ステップS4)、ス
テップS8へ飛び、システムコールキュー501へのリ
ンク処理は行わない。システムコール処理は、コンテキ
ストを復帰し、終了する。
【0047】以上のような処理を経て、割込みによるハ
ンドラ処理が終了し、再びOS処理は、デリートタスク
にもどる。処理は、図14のステップS103、S10
4と進み、タスクBは削除され、システム上に存在しな
い未登録状態になる。
【0048】次に、処理は図9に示すシステムコール終
了処理に移るが、システムコールキュー501(図7)
には、システムコールブロックがリンクされていないた
め、図10のタスクディスパチャに処理が移る。
【0049】以上のようにして、割込み処理およびシス
テムコール処理が行われる。
【0050】次に、本実施例の動作例(2)について、
図4、図5(a)および(b)、ならびに図7を参照し
て説明する。ここで、図4は動作例(2)におけるシス
テムコールエントリ処理を示すフローチャート、ならび
に図5(a)および(b)はその動作過程にある資源削
除識別手段2としてのシステムベーステーブルの状態を
示す説明図である。
【0051】状況は、動作例(1)のときと同様であ
る。タスクAが実行状態で、既に生成されているタスク
Bを削除する。タスクAがデリートタスクを発行する
と、OSは、図4に示したフローに従い、システムコー
ルエントリ処理を行う。ステップS21でコンテキスト
を退避し、ステップS22でシステムコール処理中か否
か判断する。タスク処理中に発行されたのでステップS
29に移り、システムコールカウンタを更新して、ステ
ップS30でデリート系のシステムコールか否か判断す
る。いま、デリートタスク処理を行おうとしているの
で、ステップS31に移り、システムベーステーブル4
01(図5)のアドレスを得る。このシステムベーステ
ーブル401内のデリート中の資源を記憶する領域にタ
スクBの識別子を記述し(図5(b))、デリートタス
ク本処理へ移行する。
【0052】いま、このデリートタスク本処理中にタイ
マ(1)15による割込みによりハンドラAが動作した
ものとする。スタートタスクが発行されると、OSは再
度、システムコールエントリ処理を行う。まず、コンテ
キストを退避する(図4のステップS21)。次にシス
テムコール中か否かを判断する(ステップS22)。割
込みは、デリートタスクの処理中に発生したのであるか
ら、処理はステップS23に移る。システムベーステー
ブル401のアドレスを得て、システムベーステーブル
401内のデリート中の資源を記憶する領域402に記
述された資源と、スタートタスクがかけられたタスクB
を比較し(ステップS24)、同じであるため、ステッ
プS28へ飛び、システムコールキュー501へのリン
ク処理は行わない。システムコール処理は、コンテキス
トを復帰し、終了する。
【0053】この時点で、タイマ(2)16の割込みに
よりハンドラBが動作すると、プライオリティ変更コー
ル発行に伴い、OSはコンテキストを退避し(図4のス
テップS21)、システムコール中か否かを判定し(ス
テップS22)、システムコール処理中なので、処理は
ステップS23に移る。そしてスタートタスクのときと
同様に、ステップS24でシステムベーステーブル40
1内のデリート中の資源を記憶する領域402に記述さ
れた資源とタスクBを比較し、同じあるため、ステップ
S28へ飛ぶ。システムコール処理は、コンテキストを
復帰し、終了する。
【0054】以上のような処理を経て、割込みによるハ
ンドラ処理が終了し、再びOS処理は、デリートタスク
にもどる。処理は、図14のステップS103、S10
4と進み、タスクBは削除され、システム上に存在しな
い未登録状態になる。
【0055】次に、処理は図9に示すシステムコール終
了処理に移るが、システムコールキュー501(図7)
には、システムコールブロック504がリンクされてい
ないため、図10のタスクディスパチャに処理が移る。
【0056】以上のようにして、割込み処理、およびシ
ステムコール処理が行われる。
【0057】
【発明の効果】以上説明したように、本発明は、資源の
削除処理中に起動される割込みハンドラから、削除対象
の資源に対してシステムコールが発行された場合、シス
テムコールキューにリンクせず、処理を行わない。
【0058】これにより、従来問題であった、無駄とな
るシステムコールキューへリンク処理やシステムコール
本処理、およびシステムコール終了処理を行わずに済
み、処理オーバヘッドの短縮を図ることができ、リアル
タイムシステムの最も重要な割込み応答性を、大幅に向
上させることができる効果がある。さらに、不要なシス
テムコールブロックを使用せずに済むため、システムコ
ールブロックの領域を節約することができ、制約された
システムのメモリを効率的に使用することができる効果
がある。
【0059】従って、本発明によれば、割込み等の外部
事象に迅速に対応でき、システムの信頼性を向上させた
リアルタイムなコンピュータシステムを得ることがで
き、その効果は大である。
【図面の簡単な説明】
【図1】本発明の一実施例の要部を示すブロック構成
図。
【図2】その動作例(1)におけるシステムコールエン
トリ処理のフローチャート。
【図3】動作例(1)の動作過程にあるオブジェクト管
理ブロックの状態を示す図。
【図4】その動作例(2)におけるシステムコールエン
トリ処理のフローチャート。
【図5】動作例(2)の動作過程にあるシステムベース
テーブルの状態を示す図。
【図6】従来例を示すブロック構成図。
【図7】システムコールキューの一例を示す図。
【図8】従来のシステムコールエントリ処理のフローチ
ャート。
【図9】システムコール終了処理のフローチャート。
【図10】タスクディスパッチ処理のフローチャート。
【図11】「クリエートタスク」システムコール処理の
フローチャート。
【図12】「スタートタスク」システムコール処理のフ
ローチャート。
【図13】「プライオリティ変更」システムコール処理
のフローチャート。
【図14】「デリートタスク」システムコール処理のフ
ローチャート。
【図15】エラー処理のフローチャート。
【符号の説明】
1 システムコール識別手段 2 資源削除識別手段 3 資源記憶手段 4 判定手段 5 禁止手段 11 アドレスバス 12 データバス 13、13a CPU 14 割込みコントローラ 15 タイマ(1) 16 タイマ(2) 17、17a メモリ 18〜21 信号路 201 オブジェクト管理ブロック 202 フラグ 401 システムベーステーブル 402、502、503、505〜508、510〜5
13 領域 501 システムコールキュー 504、509、510 システムコールブロック S1〜S12、S21〜S32、S41〜S47、S5
1〜S55、S61〜S65、S71〜S74、S81
〜S84、S91〜S96、S101〜S104、S1
11、S112 ステップ
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 9/46

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 中央処理装置と、記憶手段と、割込み制
    御手段とを備えたコンピュータシステムにおいて、前記
    中央処理装置は、前記コンピュータシステムが有するオ
    ペレーティングシステムがシステムコール中であること
    を識別するシステムコール識別手段と、前記システムコ
    ールが資源の削除処理を行うことを識別する資源削除識
    別手段と、前記システムコールの対象資源を前記記憶手
    段に記憶させる資源記憶手段と、資源の削除を行うシス
    テムコール処理中に発行されたシステムコールの対象資
    源が前記資源記憶手段により記憶された削除対象資源で
    あるか否かを判定する判定手段と、判定の結果が削除対
    象資源であった場合に前記削除を行うシステムコール処
    理中に発行されたシステムコールに対するシステムコー
    ルキューへのリンク処理の実行を禁止する禁止手段とを
    含むことを特徴とするコンピュータシステム。
JP28664291A 1991-10-31 1991-10-31 コンピュータシステム Expired - Lifetime JP2822728B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28664291A JP2822728B2 (ja) 1991-10-31 1991-10-31 コンピュータシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28664291A JP2822728B2 (ja) 1991-10-31 1991-10-31 コンピュータシステム

Publications (2)

Publication Number Publication Date
JPH05127929A JPH05127929A (ja) 1993-05-25
JP2822728B2 true JP2822728B2 (ja) 1998-11-11

Family

ID=17707068

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28664291A Expired - Lifetime JP2822728B2 (ja) 1991-10-31 1991-10-31 コンピュータシステム

Country Status (1)

Country Link
JP (1) JP2822728B2 (ja)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
中村明・著、「ワークステーションシリーズ オペレーティングシステム構築法−UNIX詳説−構造編」、丸善株式会社・発行(昭和61年初版)、P.58−61及びP.90−93

Also Published As

Publication number Publication date
JPH05127929A (ja) 1993-05-25

Similar Documents

Publication Publication Date Title
US7917905B2 (en) Process control system and control method therefor
US5748959A (en) Method of conducting asynchronous distributed collective operations
US9092255B2 (en) Multi-core processor system, computer product, and control method for interrupt execution
JPH06202881A (ja) ジョブステップ並列実行方式
JPS6275739A (ja) タスク割当て方法
JPH06250853A (ja) プロセス・スケジューリングの管理方法およびシステム
US20040098722A1 (en) System, method, and computer program product for operating-system task management
US8555285B2 (en) Executing a general-purpose operating system as a task under the control of a real-time operating system
JP2822728B2 (ja) コンピュータシステム
US5758161A (en) Testing method for checking the completion of asynchronous distributed collective operations
JP3893136B2 (ja) 組込みコンピュータ制御プログラム、そのプログラムを記録した記録媒体、及び組込みシステム
JP2008225641A (ja) コンピュータシステム、割り込み制御方法及びプログラム
JPH05250188A (ja) プロセスのプライオリティ制御方式
JP2597283B2 (ja) 割込みにおけるスケジューリング方式
KR100506254B1 (ko) 임베디드 시스템의 비특권 모드에서 인터럽트 처리를 위한장치 및 방법
JPH06324888A (ja) スケジューリングシステム
JPS603229B2 (ja) 情報処理方式
JPH05108376A (ja) コンピユータシステム
JPH11327921A (ja) 計算機システムに於けるスレッド優先度制御装置、及びスレッド優先度制御方法
JPH10312296A (ja) プロセス切替え制御方式
JPH03116335A (ja) 非特権cpuから特権cpuヘの乗り移り方式
JPH06119190A (ja) タスク切替処理方式
JPH02211545A (ja) ジョブ実行制御方式
JPH05224894A (ja) オペレーティングシステムの切替え方式
JPH04195539A (ja) システムコール処理方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19980310

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980804