JPH0452490B2 - - Google Patents

Info

Publication number
JPH0452490B2
JPH0452490B2 JP57147649A JP14764982A JPH0452490B2 JP H0452490 B2 JPH0452490 B2 JP H0452490B2 JP 57147649 A JP57147649 A JP 57147649A JP 14764982 A JP14764982 A JP 14764982A JP H0452490 B2 JPH0452490 B2 JP H0452490B2
Authority
JP
Japan
Prior art keywords
task
control
program
processing
input
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
JP57147649A
Other languages
English (en)
Other versions
JPS5938855A (ja
Inventor
Motonobu Tonomura
Keiichi Nakane
Hiroshi Kobayashi
Toshiro Jinnai
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP14764982A priority Critical patent/JPS5938855A/ja
Publication of JPS5938855A publication Critical patent/JPS5938855A/ja
Publication of JPH0452490B2 publication Critical patent/JPH0452490B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Description

【発明の詳細な説明】 本発明は、計算機のオペレーテイング・システ
ム(以下、OSと略す)に係り、特に、OSプログ
ラムを効率よく制御する方式に関する。
従来の計算機システムにおいて、プログラムが
システムの中の種々の資源を占有して実行する制
御はタスクと呼ばれる各々が個別に実行できるプ
ログラムに分割して行われていた。そして、OS
はタスクの種々の要求に応えるために、各資源の
利用状態や各タスクの実行状態を管理して、タス
クの実行制御を行つていた。これは、タスク制御
と呼ばれている。第1図は、入出力(I/O)装
置1900を使用する従来のタスク制御方式を示
すものである。まず、タスクA1300が入出力
制御プログラム1600を発行すると、入出力装
置1900を別のタスクが使用していないかを調
べる1610。これは、入出力装置1900の使
用状況を管理しているテーブルUCB(Unit
Control Block)1800において、該装置19
00を使用中のタスク番号を格納するエリア18
20が空きでないかを判定して行う。空いていれ
ば、入出力占有制御1620処理が行なわれ、入
出力装置1900はタスクA1300によつて占
有され、入出力装置を起動するための制御処理1
500が行なわれる。そして、入出力装置190
0の処理終了割込みがかかるまで、ビツト
WAIT1230をonにして待ち状態となりタス
クの制御は、タスクAの制御テーブルTCB
(Task Control Block).A2200の次に接続
されているTCB.B2221のタスクB1400
に移る。このとき、現在実行中タスクのTCBを
示すポインタCTCBA2030にはタスクBの
TCB2221のアドレスが入る。ところで、タ
スクの実行制御は、ポインタTPRQBB2040
で示されるRQPB22210に実行の優先レベル
対応で接続されているTCBを順々に取出すこと
によつて行なわれる。タスクの制御がタスクA1
300からB1400に移り、タスクB1400
が実行されると、タスクAと同じ入出力装置を使
用する入出力制御プログラム1600を発行す
る。ステツプ1610において、入出力装置19
00はタスクAが使用中であるため、ステツプ1
630に進み、タスクBは該入出力装置空き待ち
状態になる。すなわち、UCB1800の装置空
き待ちポインタ1830へTCB・B2221の
アドレスが格納されビツトENQ1221がonさ
れ、タスクB1400の実行を中断する。そのあ
いだに、タスクA1300の入出力処理が終了
し、終了割込みが出され、終了処理1700が実
行され、入出力装置1900の空き待ちが解除さ
れる。すなわち、TCB.A2220のビツト
WAIT1230がoffされ、TCB.B2221のビ
ツトENQ1221がoffされ、ポインタ1830
の接続が解され、エリア1820が空き状態にな
り再び、タスクB1400が再実行可能となる。
タスクの実行権がB1400に移り、ステツプ1
630の次から、再実行され、入出力装置190
0の使用中判定1610を通過すると、タスクB
が入出力装置1900を占有し1620入出力装
置の起動処理を行うことができる。
以上のような処理が、入出力装置に関してタス
ク制御において行われている。ところで入出力装
置の使用は、タスクばかりでなく、OSにおいて、
主メモリと補助メモリとの配置交換を行うメモリ
管理などのために要求される。そのため、従来は
OSが優先して使用きるシステム用タスムを用意
して、メモリ管理などが行なわれていた。しか
し、OS処理には不用なタスク制御のもつ処理冗
長性のため、オーバヘツドが増加していた。
そこで、OSにおいて、タスクのように独立か
つ並行に実行可能なプロセス(以下、OSプロセ
スと呼ぶ)を、タスクとは独立にかつ優先度を高
くして、またOS特有の処理に限定することによ
つて高速に実行制御する方式を考えたいが、すで
に説明したように、入出力の起動制御は、待ちの
処理が伴うことと、実際には、装置の種類によつ
て異なるためそれらを管理するテーブルと処理プ
ログラムは相当複雑になり、作成容量が大きくな
ることが予想される。
本発明の目的は、OSの一部(OSプロセス)を
タスク制御用の管理テーブルと処理プログラムを
用いて制御することができ、もつてOSプロセス
制御の処理を簡単にし、処理性を向上させ作成量
を節約できる、OS制御方法を提供することにあ
る。
本発明では、OSプロセス制御を一時的にタス
ク制御に渡すのを管理するテーブルと、渡す処理
を行うプログラムを設け、タスク制御用プログラ
ムを呼出し、該プログラムがタスクとして処理さ
れて終了後、再び、OSプロセス制御へもどる処
理を行うプログラムを設けて、OSプロセス制御
がタスク制御プログラムを共用できるようにし
た。
以下、本発明の一実施例を第2図から第7図に
より説明する。
第2図は、OSプロセス制御において、入出力
制御のような待ちが発生する場合の制御に対して
タスク制御と共用して行うための制御テーブル構
造を示すものである。OSプロセスの制御テーブ
ル類2100において、ポインタTPOPQB20
10によつて示される待ち管理テーブルOPQB2
110があり、ポインタ2113,2114に
は、空きのDOPCB2140〜2143が接続さ
れている。該OSプロセスに起動要求が出された
とき、その制御に必要な情報を管理するために、
先頭の空きDOPCB2140がダイナミツクに割
当てられ、実行待ち行列ポインタ2112が示す
最後尾DOPCB2132の次に接続されて、該
OSプロセスが実行可能状態になる。実行は、実
行待ち行列ポインタ2111の先頭に接続されて
いるDOPCB2130に対応するOSプロセスか
ら順々に行なわれる。DOPCB2130の詳細は
第7図に示してある。DOPCB2130の各情報
を参照するための基準となるベース・アドレス
は、QFP7135のアドレスによつて示され、
QFP7135には、DOPCB2130の次に接続
されているDOPCB2131のアドレスが格納さ
れている。OSワークと呼ぶOSWK7131に
は、該OSプロセスのリターン・アドレスや退避
情報が格納され、スタツク・ポインタと呼ぶ
SPNT7134に格納されているアドレス値を増
減操作することにより、OSWK7131内のデ
ータが、格納されたり、取出されたりする。該
OSプロセスを起動するときに連絡される情報は
OSWK7138に格納される。該OSプロセスの
待ちなどの状態は、OPSTATE7136で管理
される。タスク制御に関するテーブル類は、第1
図で説明したものと同類のものである。
さて、第3図において現在実行中のOSプロセ
ス(DOPCB2130に対応)が入出力制御のた
めのOSプロセス・プログラムOPRWP3000
を呼出し、入出力装置空き待ちが発生する場合の
管理方式について説明する。まず、OSプロセス
をタスク化するための処理CHGT3100が行
われ、ステツプ3200において、タスク制御用
の入出力制御プログラム1600が実行され、途
中で入出力装置空き待ちや終了割込み待ちが生じ
た場合、OSプロセスが通常のタスクと同様にし
て扱われ、待たされる。そして、再実行されると
きもタスクと同様に扱われて行われる。さらに
は、入出力装置の処理が終り、終了割込みがかか
り、入出力制御の終了処理までもタスクと同様に
扱われて制御される。これら一連の入出力制御処
理が終了すると、それまでタスク・モードになつ
ていたOSプロセスを元のOSプロセスのモードに
復帰させるために、ステツプ3300において
CHGPを実行する。そして、OPRWP3000の
処理が終了させられ、制御は、OSプロセスのデ
イスバツチヤ(実行可能なOSプロセスを取出し
実行するプログラム)へ移される3400。
第4図に、CHGT3100の詳細処理を示す。
ステツプ3110において、リターンアドレス
をDOPCB2130のOSワークOSWK7131
に退避する。そして、ステツプ3120におい
て、OSプロセス用にOTQB2121,2122
に接続されていてあらかじめ用意されている
TCB(以降OTCBと呼ぶ)2150を確保し、ポ
インタDOPCBA2123に接続する。もし、空
きのOTCBが確保できない場合は、レジスタ類
をいつたん、OSワークOSWK7131に退避し
て(ステツプ3160)、OTCB空き待状態とす
るため、OTCB空き待行列ポインタOTCBENQ
2160にDOPCB2130を接続する(ステツ
プ3170)。そして、OSプロセス・デイスパツ
チヤOPDISP25100(第5図)へ制御を渡し、
他のOSプロセスを取出してそれに実行権を移し、
OTCBが空くまで待つ(ステツプ3180)。
OTCBが空きになり、再び、該OSプロセスへ実
行権がもどつてくると、該OSワークOSWK71
31よりレジスタ類を回復し(ステツプ319
0)、ステツプ3120へもどる。
OTCB2150が確保されれば、ステツプ3
130において、実行待ち行列ポインタ2111
の先頭に接続されている現在実行中のOSプロセ
スのDOPCB2130をはずし、OSプロセス待
ち管理ブロツクOTQB2120のポインタ
DOPTA2124に接続する。また、現在実行中
のタスクを示すポインタCTCBA2030には、
実TCB2221が接続されているので、OTCB
2150と接続替えをする。OTCB2150に
待ちが生じた場合に、タスクのデイスパツチヤに
より、実TCB2221のタスクすなわち、本来
のタスクが再実行されるように、OTCB215
0の次に実TCB2221を接続する。また、
OTCB2150にはタスクのローデイング・ポ
イント(タスクの実行処理を開始するプログラム
の位置)やOSワークのアドレスが求められるよ
うに情報をセツト等して、タスクと同一の環境に
する(ステツプ3140)。そして、ステツプ3
150によつて、CHGT3100のCALL元へ戻
る。
第6図に、CHGP3300の詳細を示す。ま
ず、現在使用中のOTCB2150をDOPCBA2
123からはずし、もとの管理テーブル212
1,2122にもどし空き状態にする(ステツプ
3310)。そして、OTCB2150の空きを待
つていたOSプロセスを解除し、OSプロセス実行
待行列へ再登録する(ステツプ3320)。さら
に、今までOTCB2150を使用していたOSプ
ロセスのDOPCB2130をDOPTA2124か
らはずして実行待ち行列の最後尾へ再接続して、
再び該OSプロセスが本来のモードで実行可能な
ようにする(ステツプ3330)。
第5図は、実行可能なOSプロセスを選び出し、
該OSプロセスを実行させるOSプロセス・デイス
パツチヤOPDISP15000、OPDISP25100
の処理手順を示す。通常は、OPDISP5000が
呼出され、まずリターン・アドレスがその処理プ
ログラム内に設けられた自ワーク・エリアに退避
される(ステツプ5010)。そして、DOPCBA
2123を見てタスク化されたOSプロセスがあ
るかを判定し、その中から、ビツトENQ、
WAITがoff状態にある実行可能なOTCB215
0を取出し(ステツプ5020)、該OTCB21
50のOSワーク・アドレスがOTQB2125に
あらかじめ格納されているので取出しベースアド
レスとしてレジスタにセツトする(ステツプ50
30)。次に、該OTCBのアドレスをCTCBA2
030にセツトするとともに、前CTCBA203
0が示すTCB2221のアドレスを該OTCBの
次に接続するなどしてタスクの環境をセツトし
(ステツプ5040)、該OSワークよりリター
ン・アドレスを取出し(ステツプ5050)、該
OSプロセスをタスク化して中断点から再実行す
る(ステツプ5060)。もし、ステツプ502
0において、該当するOTCBが存在しない場合
は、OSプロセス実行待ち行列OPQB2111,
2112より先頭のDOPCB2130が取り出さ
れ(ステツプ5070)、該OSワークOSWK7
131よりリターン・アドレスが取出され(ステ
ツプ5050)、該OSプロセスが実行される(ス
テツプ5060)。もし、ステツプ5070にお
いて、実行待ちのOSプロセスが存在しない場合
には、自ワークよりリターン・アドレスを取出し
(ステツプ5080)、OPDISP15000の
CALL元へリターンする(ステツプ5090)。
本実施例によれば、OSプロセス制御処理にお
いて、メモリ管理などのために入出力制御を行う
場合に、タスク制御が行なつている入出力制御を
共用するので、待ち管理や終了割込み処理のよう
な複雑な処理を新たに別に作成する手間が省け、
また処理ロジツクが簡略されるため性能が向上す
るという効果がある。
本発明によれば、純OSとタスクとの中間に位
置し、高速かつプログラムが作り易いという両者
の性質を合わせもつOSプロセス制御の管理テー
ブルと処理プログラムが、従来のタスク制御の管
理テーブルと処理プログラムの様式をうまく利用
して比較的簡単に実現でき性能が向上するという
効果がある。
【図面の簡単な説明】
第1図は、入出力制御を行うタスク制御の管理
テーブルと処理プログラムを示す。第2図は、
OSプロセス制御とタスク制御のテーブル構造を
示す。第3図は、OSプロセス制御におけるタス
ク制御用プログラム利用処理プログラムを示す。
第4図は、OSプロセスのタスク化処理プログラ
ムを示す。第5図は、OSプロセスの取出しと実
行を行う処理プログラムを示す。第6図は、タス
ク化されたOSプロセスをもとにもどす処理プロ
グラムを示す。第7図は、OSプロセスに対して
ダイナミツクに割当てられる制御テーブルの構造
を示す。 2110…OSプロセス制御テーブルの実行待
ちと空き待ちの管理を行うテーブル、2130…
OSプロセスの状態を管理する制御テーブル、2
120…OSプロセスのタスク化を管理するテー
ブル、2150…OSプロセス用にあらかじめ用
意されているタスク制御テーブル、2160…タ
スク化されたOSプロセスを待たせるポインタ、
3000…OSプロセスの入出力制御プログラム、
3100…OSプロセスをタスク化するプログラ
ム、5000,5100…実行可能なOSプロセ
スを取出して実行するプログラム、3300…タ
スク化されたOSプロセスを元へもどすプログラ
ム。

Claims (1)

    【特許請求の範囲】
  1. 1 処理装置と主メモリとからなる計算機システ
    ムにおいて、一般的なプログラムの処理単位であ
    るタスクの動作状態を管理する第1のテーブル
    と、OSプログラムの独立かつ並行して実行でき
    る部分を一つのOSプロセスとして割当て管理す
    る第2のテーブルを設け、該タスクより優先度の
    高いレベルで、該OSプログラムを該第2のテー
    ブルに基づき実行制御するとともに、特定のOS
    プロセスに対し一時的に該第1のテーブルを与え
    ることにより、該タスクの実行と同じ処理手順
    で、該特定のプロセスの実行を該第1のテーブル
    に基づき制御することを特徴とするOSの制御方
    式。
JP14764982A 1982-08-27 1982-08-27 Osの制御方式 Granted JPS5938855A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14764982A JPS5938855A (ja) 1982-08-27 1982-08-27 Osの制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14764982A JPS5938855A (ja) 1982-08-27 1982-08-27 Osの制御方式

Publications (2)

Publication Number Publication Date
JPS5938855A JPS5938855A (ja) 1984-03-02
JPH0452490B2 true JPH0452490B2 (ja) 1992-08-24

Family

ID=15435118

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14764982A Granted JPS5938855A (ja) 1982-08-27 1982-08-27 Osの制御方式

Country Status (1)

Country Link
JP (1) JPS5938855A (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5896350A (ja) * 1981-12-02 1983-06-08 Hitachi Ltd Osのスケジユ−リング方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5896350A (ja) * 1981-12-02 1983-06-08 Hitachi Ltd Osのスケジユ−リング方式

Also Published As

Publication number Publication date
JPS5938855A (ja) 1984-03-02

Similar Documents

Publication Publication Date Title
JP3253303B2 (ja) コンテキスト切り換え装置及び方法
US6802062B1 (en) System with virtual machine movable between virtual machine systems and control method
US5168566A (en) Multi-task control device for central processor task execution control provided as a peripheral device and capable of prioritizing and timesharing the tasks
JPS62281039A (ja) 制御プログラムに仮想記憶資源を動的に提供するシステム
GB2293675A (en) Process allocation in a data processing system
KR20070090649A (ko) 멀티 코어 시스템에서 협력적 스케줄링을 제공하는 장치 및방법
JP3644042B2 (ja) マルチタスク処理装置
JP4559958B2 (ja) マルチコアプロセッサにおけるマルチコア制御方法
US6675238B1 (en) Each of a plurality of descriptors having a completion indicator and being stored in a cache memory of an input/output processor
JP3893136B2 (ja) 組込みコンピュータ制御プログラム、そのプログラムを記録した記録媒体、及び組込みシステム
JP2001236237A (ja) マルチos構成方法
JPH08292932A (ja) マルチプロセッサシステムおよびマルチプロセッサシステムにおいてタスクを実行する方法
JPH0452490B2 (ja)
JPS603229B2 (ja) 情報処理方式
JPH0668725B2 (ja) データ処理システムにおける割込条件に応答する装置及び非同期割込条件に応答する方法
JP3163196B2 (ja) 仮想記憶制御における命令中断情報格納制御方法
JPH02245864A (ja) 多重プロセッサシステム
JPH05120039A (ja) タスクスケジユーリング方式
JPS6223895B2 (ja)
JPH0449146B2 (ja)
JP2001229038A (ja) マルチオペレーテング計算機システム
JPH0126093B2 (ja)
JPS62221041A (ja) 仮想計算機システムにおけるデイスパツチ制御装置
JPH02129724A (ja) プログラム実行方式
JP2011257973A (ja) メモリ管理方法及びメモリ管理装置