JPH0290330A - プログラム構成方式 - Google Patents

プログラム構成方式

Info

Publication number
JPH0290330A
JPH0290330A JP63240974A JP24097488A JPH0290330A JP H0290330 A JPH0290330 A JP H0290330A JP 63240974 A JP63240974 A JP 63240974A JP 24097488 A JP24097488 A JP 24097488A JP H0290330 A JPH0290330 A JP H0290330A
Authority
JP
Japan
Prior art keywords
input
output driver
virtual space
driver
output
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
JP63240974A
Other languages
English (en)
Inventor
Yoshitake Nakaosa
中筬恵丈
Megumi Kondo
惠 近藤
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 JP63240974A priority Critical patent/JPH0290330A/ja
Publication of JPH0290330A publication Critical patent/JPH0290330A/ja
Priority to US07/951,949 priority patent/US5353411A/en
Pending 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
〔産業上の利用分野〕 本発明はコンピュータシステムのプログラム構成に係わ
り、特に入出力ドライバを仮想空間に配置するプログラ
ム構成方式に関する。 〔従来の技術〕 従来コンピュータシステムにおけるプログラム構成は、
O8と入出力ドライバを一括してコンパイルし、結合さ
せた結果生成されるロードモジュールを単一の仮想空間
を割当てる方式を採用していた。 〔発明が解決しようとする課題〕 上記従来技術は、通常OS (Operating S
ystem:コンピュータシステムの動きを制御する基
本ソフトウェア)と入出力ドライバを一括してコンパイ
ルし結合する以外の手段が配慮されておらず、ユーザが
作成した入出力ドライバを追加することが困難であると
いう問題点があった。なぜなら、従来方式では入出力ド
ライバをシステムに組み込むためには、入出力ドライバ
自身を配置するアドレスやO8とのインタフェースを必
要とするため、入出力ドライバ内で未解決となっている
アドレスをO8と一緒にコンパイルすることにより解決
しなければならないからである。しかし、コンパイル環
境を整えるためにO8のオブジェクトファイルが不可避
となるが、ユーザがそれを入手することは不可能である
。 また、例え入出力ドライバをシステムに組み込むことが
できたとしても、入出力ドライバが特権状態で動作して
いるかぎり、誤rりを含んだ不完全な入出力ドライバの
不当なメモリアクセスや暴走によりシステムダウンの状
態に陥ることがあるという問題点もあった。 本発明の目的は、O8や他の入出力ドライバの存在を意
識することなくユーザが入出力ドライバを作成し、シス
テムに組み込むことができるとともに、不完全な入出力
ドライバを組み込んでも入出力ドライバの暴走によるシ
ステムダウンを防ぐことのできるプログラム構成方式を
提供することにある。 〔課題を解決するための手段〕 上記目的は、システム仮想空間を多重化し、その1つの
仮想空間に1つの入出力ドライバを割り当て(その空間
を入出力ドライバ仮想空間と呼ぶことにする)、入出力
ドライバ呼出し時に入出力ドライバ仮想空間を切り替え
る手段を提供することにより達成される。 また、上記入出力ドライバ呼出し時に入出力ドライバ仮
想空間以外の仮想空間に対するアクセスを禁止する手段
を提供することにより、入出力ドライバの暴走からシス
テムを保護する目的が達成される。
【作用〕
入出力ドライバ仮想空間を多重化し、1つの入出力ドラ
イバを1つの独立な仮想空間に割当てることは、入出力
ドライバのアドレスを独立に決定できることになり、O
8や他の標準ドライバと一緒にコンパイルする必要性が
なくなる。それによつて、入出力ドライバは、他のプロ
グラムの存在を意識することなく作成することができる
ので、ユーザ自身が入出力ドライバを設計することが可
能となる。 さらに、不完全な入出力ドライバをシステムに組み込ん
でも仮想空間毎に保護モードを変更するように制御すれ
ば、例えそのドライバが暴走あるいは不当なメモリアク
セスを行っても、他の仮想空間を破壊することがなくな
り、システムダウンに陥ることがなくなる。 〔実施例〕 以下、本発明の一実施例を図面を参照して説明する。第
1図は、各プログラムに割当てられる仮想空間のレイア
ラ1〜図を示す。図で、1は応用プログラム仮想空間を
、2はO8仮想空間を、3は入出力ドライバ仮想空間を
それぞれ示す。 現在のO8には、応用プログラム仮想空間】を多重化し
、1つの仮想空間に1つの応用プログラムを割当て、同
時に複数の応用プログラムを実行するマルチタスク制御
機能を持つものがある。マルチタスクを実現するために
、実行可能な応用プログラムを起動する毎に、その応用
プログラムに割当てられている仮想空間に切り替える空
間切り換え制御を行っている。 それと同時に第1図に示すように、入出力ドライバ仮想
空間3を多重化し、1つの仮想空間に原則1つの入出力
ドライバを割当てる。実際に入出力装置を制御する時点
で、該当する入出力ドライバ仮想空間に切り替えてから
入出力ドライバを呼び出す方式とする。 以上のように入出力ドライバに独立な仮想空間を割当て
ることができれば、基本的には入出力ドライバを単独で
コンパイルすることができユーザ作成の入出力ドライバ
をシステムに組み込むことが可能となる。 第2図は、入出力ドライバ仮想空間の切り換え方法を示
す一実施例である。図で、4はアドレス変換を行うハー
ドウェアであるアドレス変換テーブル、5は全ての入出
力ドライバのアドレス変換情報、11はドライバ管理情
報テーブル、12は入出力ドライバのオブジェクトファ
イル、21はドライバ12の定義情報ファイル、22は
アドレス変換情報ポインタの現在値をそれぞれを示す。 アドレス変換テーブル4のうち、4aを応用プログラム
仮想空間部、4bをO8仮想空間部、4cを入出力ドラ
イバ仮想空間部のアドレス変換情報をそれぞれ設定して
使いわけるものとする。 一般に、仮想アドレス方式のコンピュータシステムでは
仮想空間上の仮想アドレスに対応する実空間上の実アド
レスに関するアドレス変換情報をアドレス変換テーブル
4に設定しておけば、プログラムが生成する全ての仮想
アドレスをアドレス変換機構が機械的に実アドレスに変
換し、実際の情報が存在するメモリにアクセスしてくれ
る。 以上のアドレス変換機構を利用して本実施例では入出力
ドライバ仮想空間3を切り換えることにより入出力ドラ
イバ仮想空間3を多重化する。 そのために、まずO8の存在する実空間に関するアドレ
ス変換情報をシステム立ち上げ時にO8仮仮想間部アド
レス変換テーブル4bに設定し、以後変更しない。した
がって、O8仮想空間2は共通仮想空間となり、O8仮
想空間2上に置かれたプログラムやデータは常に、どこ
からでもアクセス可能となる。 一方、入出力ドライバ仮想空間3については、入出力ド
ライバを必要とする直前に該当する入出力ドライバのア
ドレス変換情報を入出力ドライバアドレス変換テーブル
4cに設定する。システム立上げ時に入出力ドライバ1
2を入出力ドライバ仮想空間3にロードするが、その際
、アドレス変換情報をO8仮想空間2上の入出力ドライ
バアドレス変換情報5に作成する。同時にドライバ名称
、入出力処理入口アドレス、割込み入口アドレスなどの
ドライバ定義情報21を同じくO8仮想空間2上のドラ
イバ管理情報テーブル11に設定する。 ドライバ定義情報21とアドレス変換情報5の両方をド
ライバ管理情報テーブル11で対応させれば、目的の入
出力ドライバ仮想空間の切替が可能である。空間切替は
、目的とする入出力ドライバ12のアドレス変換情報5
を入出力ドライバ仮想空間部アドレス変換テーブル4c
に設定し、そのアドレス変換情報5を指示するアドレス
をアドレス変換情報ポインタの現在値22に記憶してお
けば、間違いなく制御することができる。 入出力ドライバ仮想空間3の空間切り換えが行われるの
は以下の3つの場合であり、その空間切り換え方法を第
3図に従って説明する。 第3図は、空間切り替え手順を説明するためのラフ1〜
ウエア構成図である。図で、6は応用プログラム、7は
入出カバードウェア、8はO8,9はドライバ呼出し制
御プログラム、10は割り込み制御プログラム、11は
ドライバ管理情報テーブル、12は入出力ドライバ、1
3は088と入出力ドライバ12間のインタフェースを
制御するインタフェース制御プログラムをそれぞれ示す
。 ドライバ管理情報テーブル11は、各入出力ドライバ毎
にドライバ名称11aと、割り込み処理を行う入出カバ
ードウェアの割り込み番号11bと、入出力要求を処理
するプログラムの人口アドレス11cと、割り込み処理
を行うプログラムの入口アドレスlidと、アドレス変
換情報ポインタ11eとからなり、システム立ち上げ時
にos仮想空間2上に作成しておく。アドレス変換情報
ポインタlieは、システム立ち上げ時に各入出力ドラ
イバをロードするときに作成する人出カドライバ毎の入
出力ドライバアドレス変換情報5へのアドレスである。 また、ドライバ名称11aと割り込み番号11bと入出
力要求処理入口アドレスlieと割り込み処理入口アド
レスlidは、システム立ち上げ時にロードする入出力
ドライバ毎に一緒に与えられるドライバ定義情報21が
ら得られる。 なお、上記実施例では、入出力ドライバ12を特定する
ためにドライバ名称11aを利用することにしているが
、ドライバ名称に限らない。入出力ドライバ12を特定
するために番号を利用する場合は、システム立ち上げ時
に入出力ドライバと一緒にドライバ定義情報21として
ドライバ指定番号が与えられ、それがllaに記憶され
る。 入出力ドライバ仮想空間3の空間切り換えを行い、該当
する入出力ドライバを呼び出す場合の1つは、応用プロ
グラム6が入出力を要求するときである。第4図は、応
用プログラムが人出力を要求し、入出力ドライバを呼び
出すまでの流れ図を示す。 第4図のステップ400では、応用プログラム6がO8
8に対してドライバ名称を指定して入出力を要求する。 次にステップ401で、oS8がそのドライバ名称をド
ライバ呼出し制御プログラム9に渡す。次にステップ4
02では、ドライバ呼出し制御プログラムは、ドライバ
管理情報テーブル11から渡されたドライバ名称に一致
する名称があるかを捜す。もし、一致するドライバ名称
がなければステップ404でエラーリターンする。 もし、一致するドライバ名称があればステップ403で
、次にドライバ管理情報テーブル11内の該当するアド
レス変換情報ポインタlleと現在のアドレス変換情報
ポインタが一致しているかを判定する。もし、両者が一
致していなければ、ステップ405で、該当するアドレ
ス変換情報ボインタlieの指すところにあるアドレス
変換情報5を入出力ドライバ仮想空間部アドレス変換テ
ーブル4cに設定し入出力ドライバ仮想空間を切り替え
る。次に、ステップ406で人出力ドライバ仮想空間3
上に存在する入出力ドライバを特定するために、上記の
ドライバ管理情報テーブル内の該当するアドレス変換情
報ポインタ11eを人出力ドライバ仮想空間部のアドレ
ス変換情報ポインタの現在値に置き換える。次に、ステ
ップ407で入出力ドライバを呼出し、入出力処理を行
う、。 また、ステップ403でドライバ管理情報テーブル11
内の該当するアドレス変換情報ポインタlieと現在の
アドレス変換情報ポインタが一致していればステップ4
07へ進む。 この場合、入出力ドライバ仮想空間部のアドレス変換情
報ポインタの初期値をシステム立ち上げ時にゼロに設定
しておけば、間違いなく入出力ドライバ仮想空間3の空
間切り換えを行うことができる。 第4図では応用プログラム6と088の間でドライバ名
称11aを指定する取り決めになっているが、前述の通
りその取り決めをドライバ指定番号11aに変えても構
わない。 次に、2番目の場合は、入出カバードウェア7が割り込
み要因を発生し、割り込み処理を行う入出力ドライバを
呼び出すときである。第5図は、入出カバードウェアが
割り込み要因を発生しO8に割り込み、入出力ドライバ
を呼び出すときの流れ図を示す。 第5図のステップ500では、入出カバードウェア7割
り込み要因を発生しO88に割り込む。 次に、ステップ501でO88は入出カバードウェア7
から割り込み番号を読み取り割り込み制御プログラムに
渡す。 次に、ステップ502で、割り込み制御プログラムはド
ライバ管理情報11から渡された割り込み番号に一致す
る割り込み番号があるかを捜す。 もし、一致する割り込み番号がなければ、ステップ50
4で割り込んだところにそのままリターンする。もし一
致する割り込み番号であればステラプ503で、ドライ
バ管理情報テーブル11内の該当するアドレス変換情報
ポインタlieと現在のアドレス変換情報ポインタが一
致しているかを判定する。もし、両者が一致していなけ
れば、ステップ505で、該当するアドレス変換情報ポ
インタlieの指すところにあるアドレス変換情報5を
入出力ドライバ仮想空間部アドレス変換テーブル4cに
設定し入出力ドライバ仮想空間を切り替える。次に、ス
テップ506で入出力ドライバ仮想空間部のアドレス変
換情報ポインタの現在値をスタックに退避し、上記のド
ライバ管理情報テーブル内の該当するアドレス変換情報
ポインタlieを上記アドレス変換情報ポインタの現在
値に置き換える。 また、ステップ503でドライバ管理情報テーブル11
内の該当するアドレス変換情報ポインタ11eと現在の
アドレス変換情報ポインタが一致していればステップ5
06へ進む。 次に、ステップ507で入出力ドライバを呼出し割り込
み処理を行う。割り込み処理が終了し割り込み制御プロ
グラム10を戻ると、ステップ508でアドレス変換情
報ポインタのスタックに退避していた値と現在値を比較
判定する。もし、両者が一致していなければ、ステップ
509で、該当するアドレス変換情報ポインタ11eの
指すところにあるアドレス変換情報5を入出力ドライバ
仮想空間部アドレス変換テーブル4cに設定し入出力ド
ライバ仮想空間を切り替える。次に、ステップ510で
アドレス変換情報ポインタの現在値を上記スタックに退
避されていた値に置き換える。次に、ステップ511で
割り込んだところにリターンする。また、ステップ50
8でアドレス変換情報ポインタのスタックに退避してい
た値と現在値が一致していれば、ステップ511に進む
。 以上の空間切り換え制御により入出カバードウェア7か
ら任意の時点で割り込みが発生しても割り込み直前の入
出力ドライバ仮想空間3の状態に復帰することができる
。 最後に、3番目の場合は、タスクスイッチが発生し入出
力ドライバに復帰するときである。 複数の応用プログラムが同時に実行可能なマルチタスク
制御システムにおいては、入出力ドライバ処理中に入出
力完了待ちの状態になりタスクスイッチが発生すること
があり、その時点で別の応用プログラムにスイッチする
。その応用プログラムが入出力処理の途中で中断されて
いたタスクであったならば、使用中の入出力ドライバに
切り替えなければならない。したがって、タスクスイッ
チに伴い、入出力ドライバ仮想空間の空間切り換えが必
要となる。第6図にタスクスイッチに伴う入出力ドライ
バ仮想空間3の空間切り換え手順の流れ図を示す。 第6図のステップ601では、入出力ドライバ12が入
出力待ちの状態となりO88に対してタスクスイッチを
要求する。次に、ステップ602で○S8は、入出力ド
ライバ仮想空間部のアドレス変換情報ポインタの現在値
をカレントタスクの制御ブロックに退避する。次に、ス
テップ603でO88は、起動可能なタスクを捜す。次
に、ステップ604でO88は、起動可能タスクの制御
ブロックに退避しているアドレス変換情報ポインタの値
と入出力ドライバ仮想空間部のアドレス変換情報ポイン
タの現在値を比較判定する。 もし、両者が一致していなければ、ステップ605で上
記アドレス変換情報ポインタの指すところにあるアドレ
ス変換情報5を入出力ドライバ仮想空間部アドレス変換
テーブル4Cに設定し入出力ドライバ仮想空間を切り替
える。次に、ステップ606で上記アドレス変換情報ポ
インタを入出力ドライバ仮想空間部のアドレス変換情報
ポインタの現在値に磨き換える。次に、ステップ607
で上記起動可能なタスクを実行させると、タスク中断点
である入出力ドライバに復帰する。 ステップ604で、起動可能タスクの制御ブロックに退
避しているアドレス変換情報ポインタの値と入出力ドラ
イバ仮想空間部のアドレス変換情報ポインタの現在値が
一致していれば、ステップ607へ進む。 この場合、タスク管理テーブル内に設定するアドレス変
換情報ポインタの初期値をシステム立ち上げ時にゼロに
設定しておけば、間違いなく入出力ドライバ仮想空間3
の空間切り換えを行うことができる。 本発明は、例えば、デバッグ中に入出力ドライバを含め
て不完全な入出力ドライバを組み込んだ場合でも、シス
テムを安全に運用することができる。不完全な入出力ド
ライバ12は、内部に不良を抱えており実行中にO8仮
想空間2や応用プログラム仮想空間1を破壊する危険性
を有している。 この場合、入出力ドライバ12とは全く無関係な個所あ
るいは思いがけない時点で不良が発生しシステムダウン
につながることがある。そのときはシステムダウンの原
因が容易に判明しないことが多い。 本発明では、第7図に示すように、仮想空間の保護モー
ドを制御することにより、人出力ドライバの暴走を防ぐ
手段を持つ。第7図は、仮想空間の保護モードとメモリ
アクセスの関係を示す図である。図で、14は応用プロ
グラム仮想空間の保護モード、15はO8仮想空間の保
護モード、16は入出力ドライバ仮想空間の保護モード
、17はプロセッサステータスワード、18はプロセッ
サをそれぞれ示す。 O88は、特権モードで実行することを許されているの
で、O88実行中のプロセッサステータスワード17を
特権モードに設定するが、応用プログラム6実行中のプ
ロセッサステータスワード17を非特権モードに設定す
る。本実施例では、入出力ドライバの暴走からシステム
全体を保護するために、入出力ドライバを特権モードで
実行することを許さないこととし、入出力ドライバ12
実行中のプロセッサステータスワード17を非特権モー
ドに設定する。 そして、入出力ドライバ12実行中は、応用プログラム
仮想空間保護モード14を参照、更新。 実行のいずれも不可、O8仮想空間保護モードを参照、
更新を不可、実行を可、入出力ドライバ仮想空間保護モ
ードを参照、更新、実行のいずれも可のモードにそれぞ
れ設定する。 この状態で、もし入出力ドライバ12が応用プログラム
仮想空間1やO8仮想空間2に不当なメモリアクセスを
行うと、アドレス変換機構のメモリ保護機能が働いて、
そのメモリアクセスを不可とする。ただし、O88は特
権状態で実行するので、応用プログラム仮想空間1、O
8仮想空間2や入出力ドライバ仮想空間3がいかなるメ
モリ保護モードになっていても、O88のメモリアクセ
スは可となる。 以上のアドレス変換機構の働きにより応用プログラム仮
想空間1やO8仮想空間2は、入出力ドライバ12の不
当なメモリアクセスから保護され、システムダウンの原
因を取り除くことができる。 すなわち、入出力ドライバ12が暴走したとしても、1
つの入出力ドライバ12の入出力制御機能が停止するだ
けであり、システム全体は通常の運転が可能である。 また、上記不当なメモリアクセスが発生した時点でアド
レス変換機構がアドレス例外の割り込みをO88に報告
するので、不当なメモリアクセスを行った入出力ドライ
バ12の不良原因を追求するだめのデータを容易に得る
ことができる。 以上の説明から、入出力ドライバ仮想空間3を多重化し
、全ての入出力ドライバ仮想空間を独立にすることによ
り、ある入出力ドライバをO8や他の入出力ドライバの
影響を受けずに作成できるようになるが、逆に入出力ド
ライバ12がO88の制御機能を利用しなければならな
いときの手段が必要である。なぜなら、入出力ドライバ
12は、応用プログラム6とのデータの受は渡しや入出
力完了待ちの待ち制御などO88の制御機能の介在を必
要とするが、各仮想空間の保護モードを第7図に示すよ
うに設定していることから入出力ドライバ12は、応用
プログラム仮想空間内データの直接参照および更新、あ
るいは088の制御機能の直接呼出しが不可能である。 そこで、本実施例では第3図に示すようにインタフェー
ス制御プログラム13を用意している。 インタフェース制御プログラム13は、O8仮想空間2
に置かれ入出力ドライバ12が必要とするO8制御機能
を呼出す。その際、入出力ドライバ12から渡されるパ
ラメータをチエツクすることにより許可されたO88の
制御機能だけを入出力ドライバ12に利用可能とするよ
うに制限することができる。 さらに、特権モードでなければ実行できないO8制御機
能を呼出すために、ラフ1−ウエフ割込みを利用しイン
タフェース制御プログラム13を呼出す。ソフトウェア
割込み後に特権モードに移行するようにしておけば、い
かなるO8制御機能を呼出すこともできる。 本発明は、第1図の仮想空間レイアウトに限定されるも
のではない。第8図に示すように入出力ドライバ仮想空
間3の中に入出力ドライバ共通仮想空間19を設定し、
入出力ドライバ呼出し時に空間切り換えの操作を不要と
することができる。 一般に入出力ドライバにおける割り込み処理は。 高いレスポンスが要求されることが多いので、割り込み
処理部を入出力ドライバから分離して入出力ドライバ共
通仮想空間19に配置すると有効である。また、全体的
に高速な入出力制御を必要とする入出力ドライバは、全
てを入出力ドライバ共通仮想空間19に配置することも
できる。 以上の実施例は、第3図に代表されるように全ての入出
力ドライバを実空間に配置することを想定しているが、
その場合に限定されない。第2図に示すように入出力ド
ライバ12をファイルに格納したままにしておき、入出
力ドライバ12を呼出す時に入出力ドライバ仮想空間3
にロードする。 その時点で作成されるアドレス変換情報を第2図の入出
力ドライバ仮想空間部アドレス変換テーブル4cに設定
すれば容易に実現することができる。 本実施例によれば、非常に高速な呼出しを必要とする入
出力ドライバを入出力ドライバ共通仮想空間に、通常の
呼出しで済む入出力ドライバを入出力ドライバ多重化仮
想空間に、低速の呼出しで済む入出力ドライバをファイ
ル装置に配置するというように入出力ドライバの構成を
自由に選択できるため多数の入出力ドライバをシステム
に組み込むことができるという効果がある。 尚、入出力ドライバの暴走からシステムを保護する方法
として、上下限アドレスレジスタを用意し、入出力ドラ
イバが上下限アドレスレジスタの範囲外をアクセスしよ
うとした場合アクセスを禁止することが考えられる。そ
の方法は、人出カ1−ライバを配置するアドレスを決定
しなければならず、入出力ドライバ相互間の独立性がな
くなる。 本実施例によれば、入出力ドライバ仮想空間が独立して
いるのでユーザは他の入出力ドライバのことを考えずに
入出力ドライバを作成することができるとともに、入出
力ドライバの暴走からシステムを保護するという両方の
メリットをもっことができるという効果もある。 〔発明の効果〕 本発明によれば、入出力ドライバは、独立の仮想空間に
置かれるので、O8や他の入出力ドライバの干渉を受け
ることがなくなり、O8や他の入出力ドライバのオブジ
ェクトを入手しなくとも入出力ドライバを作成できると
ともに、ユーザサイトにおいても入出力ドライバを単独
に組み込むことができるという効果がある。 また、デバッグ中の入出力ドライバを含めて不完全な入
出力ドライバを組み込んだ場合、入出力ドライバが暴走
したとしてもシステムダウンに陥ることがなくなるとと
もに、入出力ドライバの不良の原因を容易に発見するこ
とが可能になるという効果もある。
【図面の簡単な説明】
第1図は各プログラムに割当てられる仮想空間のレイア
ウト図、第2図は仮想空間の切り換え方法を示す図、第
3図は空間切り換え手順を説明するためのソフトウェア
構成図、第4図は応用プログラムが入出力を要求し、入
出力ドライバを呼び出すまでの流れ図、第5図は入出カ
バードウェアが割り込み要因を発生しO8に割り込み、
入出力ドライバを呼び出すときの流れ図、第6図はタス
クスイッチに伴う入出力ドライバ仮想空間の空間切り換
え手順の流れ図、第7図は仮想空間の保護ミードとメモ
リアクセスの関係を示す図、第8図は入出力ドライバ共
通仮想空間を設定するときの仮想空間レイアウト図であ
る。 1・・・応用プログラム仮想空間、2・・・O8仮想空
間、3・・・入出力ドライバ仮想空間、4・・・アドレ
ス変換テーブル、5・・・アドレス変換情報、6・・・
応用プログラム、7・・・入出カバードウェア、8・・
・O8,9・・・ドライバ呼出し制御プログラム、10
・・・割り込み制御プログラム、11・・・ドライバ管
理情報テーブル、12・・・入出力ドライバ、13・・
・インタフェース情報プログラム、14・・・応用プロ
グラム仮想空間保護モード、15・・・O8仮想空間保
護モード、16・・・入出力ドライバ仮想空間保護モー
ド、17°・・プロセッサテータスワード、18・・・
プロセッサ。 19・・・入出力ドライバ共通仮想空間、20・・・入
出力ドライバ多重化仮想空間、21・・・ドライバ定義
情報、22・・・アドレス変換情報ポインタの現在値。 \Nカ+ち  ( メ々埒

Claims (1)

  1. 【特許請求の範囲】 1、仮想記憶方式のコンピュータシステムにおいて、入
    出力ドライバ仮想空間を多重化し、1つの入出力ドライ
    バにそれぞれ独立の仮想空間を割当てることを特徴とし
    たプログラム構成方式。 2、上記第1項記載のプログラム構成において、入出力
    ドライバ呼出し時入出力ドライバ仮想空間の空間切り換
    え制御を伴うドライバ呼出し制御手段と、外部割り込み
    発生時入出力ドライバ仮想空間の空間切り換え制御を伴
    う割り込み制御手段と、タスクスイッチ要求時入出力ド
    ライバ仮想空間の空間切り換え制御を伴うタスクスイッ
    チ制御手段を設けることを特徴とするプログラム構成方
    式。 3、上記第1項記載のプログラム構成で、入出力ドライ
    バ仮想空間の空間切り換え時に仮想空間の保護モードを
    変更し、入出力ドライバのアクセス権を制限する制御手
    段を設けることを特徴とするプログラム構成方式。
JP63240974A 1988-09-28 1988-09-28 プログラム構成方式 Pending JPH0290330A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP63240974A JPH0290330A (ja) 1988-09-28 1988-09-28 プログラム構成方式
US07/951,949 US5353411A (en) 1988-09-28 1992-09-28 Operating system generation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63240974A JPH0290330A (ja) 1988-09-28 1988-09-28 プログラム構成方式

Publications (1)

Publication Number Publication Date
JPH0290330A true JPH0290330A (ja) 1990-03-29

Family

ID=17067430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63240974A Pending JPH0290330A (ja) 1988-09-28 1988-09-28 プログラム構成方式

Country Status (2)

Country Link
US (1) US5353411A (ja)
JP (1) JPH0290330A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04334658A (ja) * 1991-05-08 1992-11-20 Hino Motors Ltd キャブオーバ形自動車のステアリング装置
US5534216A (en) * 1993-05-11 1996-07-09 Rp Topla Limited Method for manufacturing synthetic resin containers

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5627987A (en) * 1991-11-29 1997-05-06 Kabushiki Kaisha Toshiba Memory management and protection system for virtual memory in computer system
US5781797A (en) * 1992-09-30 1998-07-14 Microsoft Corporation Method and system for configuring device driver by selecting a plurality of component drivers to be included in the device driver
US5440632A (en) * 1992-12-02 1995-08-08 Scientific-Atlanta, Inc. Reprogrammable subscriber terminal
US5771354A (en) * 1993-11-04 1998-06-23 Crawford; Christopher M. Internet online backup system provides remote storage for customers using IDs and passwords which were interactively established when signing up for backup services
US7080051B1 (en) 1993-11-04 2006-07-18 Crawford Christopher M Internet download systems and methods providing software to internet computer users for local execution
US5574903A (en) * 1994-05-13 1996-11-12 Apple Computer, Inc. Method and apparatus for handling request regarding information stored in a file system
US5701476A (en) * 1994-11-29 1997-12-23 Intel Corporation Method and apparatus for dynamically loading a driver routine in a computer memory
US5640591A (en) * 1995-05-15 1997-06-17 Nvidia Corporation Method and apparatus for naming input/output devices in a computer system
US5685011A (en) * 1995-05-15 1997-11-04 Nvidia Corporation Apparatus for handling failures to provide a safe address translation in an improved input/output architecture for a computer system
US5924126A (en) * 1995-05-15 1999-07-13 Nvidia Method and apparatus for providing address translations for input/output operations in a computer system
US5794245A (en) * 1995-12-15 1998-08-11 International Business Machines Corporation Generic wrapper for decompressing DOS driver sys files
US5925109A (en) * 1996-04-10 1999-07-20 National Instruments Corporation System for I/O management where I/O operations are determined to be direct or indirect based on hardware coupling manners and/or program privilege modes
US5968152A (en) * 1996-04-10 1999-10-19 Apple Computer, Inc. Method and apparatus for extending key space in a plug and play ROM
US5901319A (en) * 1996-06-14 1999-05-04 The Foxboro Company System and methods for generating operating system specific kernel level code from operating system independent data structures
US5959536A (en) * 1996-10-15 1999-09-28 Philips Electronics North America Corporation Task-driven distributed multimedia consumer system
US6418485B1 (en) * 1997-04-21 2002-07-09 International Business Machines Corporation System and method for managing device driver logical state information in an information handling system
US5968136A (en) * 1997-06-05 1999-10-19 Sun Microsystems, Inc. Apparatus and method for secure device addressing
US6075939A (en) * 1997-09-27 2000-06-13 Lynx Real-Trime Systems, Inc. Tightly coupled, scalable module based micro-kernel operating system architecture
CA2402389A1 (en) 2000-03-08 2002-09-19 Shuffle Master, Inc. Computerized gaming system, method and apparatus
US7043641B1 (en) 2000-03-08 2006-05-09 Igt Encryption in a secure computerized gaming system
US7988559B2 (en) 2001-03-08 2011-08-02 Igt Computerized gaming system, method and apparatus
US6502022B1 (en) 2000-11-16 2002-12-31 International Business Machines Corporation Method and system for preventing unsafe communication device usage in a vehicle
US8140683B2 (en) * 2000-12-07 2012-03-20 International Business Machines Corporation Method and system for selecting an operating system at user login on a target device
US7203841B2 (en) * 2001-03-08 2007-04-10 Igt Encryption in a secure computerized gaming system
US6907610B2 (en) * 2001-06-15 2005-06-14 Microsoft Corporation System and method for building a target operating system from a source operating system
CA2460046C (en) 2001-09-10 2014-06-10 Igt Method for developing gaming programs compatible with a computerized gaming operating system and apparatus
US8708828B2 (en) 2001-09-28 2014-04-29 Igt Pluggable modular gaming modifiers and configuration templates for gaming environments
US7931533B2 (en) * 2001-09-28 2011-04-26 Igt Game development architecture that decouples the game logic from the graphics logics
US6902481B2 (en) 2001-09-28 2005-06-07 Igt Decoupling of the graphical presentation of a game from the presentation logic
EP1463569A4 (en) 2001-11-26 2010-06-02 Igt Reno Nev DEVICE AND METHOD FOR ACTIVE INTERCONNECTION VALIDATION
US7571445B2 (en) * 2001-11-29 2009-08-04 Dell Products L.P. System and method for dynamic device driver support in an open source operating system
US20030120707A1 (en) * 2001-12-21 2003-06-26 Sander Bogdan Systems and methods for exporting functionality of a modularized system
US20030177487A1 (en) * 2002-03-18 2003-09-18 Charles Chyan Recording medium capable of quickly generating server function and manufacturing method thereof
US20030225817A1 (en) * 2002-06-04 2003-12-04 Prashanth Ishwar Concurrent execution of kernel work and non-kernel work in operating systems with single-threaded kernel
US7725888B2 (en) * 2003-09-26 2010-05-25 Wind River Systems, Inc. Systems and methods for dynamically linking application software into a running operating system kernel
US20060089573A1 (en) * 2004-10-21 2006-04-27 Park Dong R Massage device
KR20080014786A (ko) * 2005-06-01 2008-02-14 마츠시타 덴끼 산교 가부시키가이샤 컴퓨터시스템 및 프로그램 생성장치
JP4828917B2 (ja) * 2005-11-07 2011-11-30 株式会社日立製作所 ストレージシステム、計算機システム、ホスト計算機及びデータ複製方法
US9015652B2 (en) * 2005-12-21 2015-04-21 Sap Se Dynamically-generated operating system for sensor networks
FR2903268A1 (fr) * 2006-06-30 2008-01-04 Thomson Licensing Sas Procede de reception de services audio/video, terminal et systeme correspondants
US8479292B1 (en) * 2010-11-19 2013-07-02 Symantec Corporation Disabling malware that infects boot drivers

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4649479A (en) * 1985-02-28 1987-03-10 International Business Machines Corp. Device driver and adapter binding technique
US4730249A (en) * 1986-01-16 1988-03-08 International Business Machines Corporation Method to operate on large segments of data in a virtual memory data processing system
US4774659A (en) * 1986-04-16 1988-09-27 Astronautics Corporation Of America Computer system employing virtual memory
US4819159A (en) * 1986-08-29 1989-04-04 Tolerant Systems, Inc. Distributed multiprocess transaction processing system and method
US4951245A (en) * 1988-05-20 1990-08-21 Bull Hn Information Systems Inc. Network terminal driver communications subsystem

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04334658A (ja) * 1991-05-08 1992-11-20 Hino Motors Ltd キャブオーバ形自動車のステアリング装置
US5534216A (en) * 1993-05-11 1996-07-09 Rp Topla Limited Method for manufacturing synthetic resin containers

Also Published As

Publication number Publication date
US5353411A (en) 1994-10-04

Similar Documents

Publication Publication Date Title
JPH0290330A (ja) プログラム構成方式
US6711605B2 (en) Multi OS configuration method and computer system
JP3546678B2 (ja) マルチos構成方法
US4779187A (en) Method and operating system for executing programs in a multi-mode microprocessor
US4825358A (en) Method and operating system for executing programs in a multi-mode microprocessor
US5459869A (en) Method for providing protected mode services for device drivers and other resident software
US5027273A (en) Method and operating system for executing programs in a multi-mode microprocessor
US6996828B1 (en) Multi-OS configuration method
US3916385A (en) Ring checking hardware
US6892261B2 (en) Multiple operating system control method
US4967342A (en) Data processing system having plurality of processors and channels controlled by plurality of system control programs through interrupt routing
JPH0430053B2 (ja)
US5109522A (en) Data processing system with logical processing facility supporting a plurality of system control programs for production operation
JP2539913B2 (ja) デ―タ処理システム
JP4026667B2 (ja) マルチos構成方法
JPH06242987A (ja) コンピュータ装置においてマイクロプロセッサの正常な処理の引継ぎをホストプロセッサが実行する方法および装置
US5742826A (en) Object encapsulation protection apparatus
CA1211848A (en) Data processing system with logical processor facility
JP2001216172A (ja) マルチos構成方法
Einsweiler et al. The Aleph event builder: a multi-user FASTBUS master
JP2001175486A (ja) 計算機システム
JPS6118224B2 (ja)
JP2004038995A (ja) マルチos構成方法
JP2000347940A (ja) メモリ管理装置
JPH05265846A (ja) メモリ管理方式