JPH0664536B2 - 仮想端末サブシステムの制御方法 - Google Patents

仮想端末サブシステムの制御方法

Info

Publication number
JPH0664536B2
JPH0664536B2 JP61282232A JP28223286A JPH0664536B2 JP H0664536 B2 JPH0664536 B2 JP H0664536B2 JP 61282232 A JP61282232 A JP 61282232A JP 28223286 A JP28223286 A JP 28223286A JP H0664536 B2 JPH0664536 B2 JP H0664536B2
Authority
JP
Japan
Prior art keywords
virtual
virtual terminal
terminal
input
operating system
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
JP61282232A
Other languages
English (en)
Other versions
JPS62166435A (ja
Inventor
デービツド・キユアトン・ベイカー
キヤスリン・アン・ボーラー
グレゴリー・アラン・フルリー
Original Assignee
インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション
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 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション filed Critical インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション
Publication of JPS62166435A publication Critical patent/JPS62166435A/ja
Publication of JPH0664536B2 publication Critical patent/JPH0664536B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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/451Execution arrangements for user interfaces
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Description

【発明の詳細な説明】 A.産業上の利用分野 この発明は処理システムに関するものであり、詳細に述
べれば、同一の物理的資源を共用しつつ、多数のタスク
を実行する仮想端末サブシステムの制御方法に関するも
のである。
B.従来技術とその問題点 従来から2種類のデータ処理システムが知られている。
その1つは、自身のプロセツトと通信する入出力(I/
O)装置が接続された単一のワークステーシヨンを有す
るものであり、他の1つは、同一のプロセツサを共用
し、これにアクセスする複数のワークステーシヨンを有
するものである。
このどちらのシステムのユーザも、ユーザ・コマンドで
割込み駆動事象を実現することができないという問題を
抱えている。たとえば、ユーザがエデイタを用いた報告
書を作成するためにシステムを使用している時に、エデ
イタとは異なるプログラム中にある電話番号を調べるた
め、ワード処理セツシヨンを中断して瞬時的に他のプロ
グラムに切換えなければならないことがある。
この問題は、出力表示装置の画面を同時に複数のプログ
ラムに共用させる問題として検討されてきた。これを達
成するため、出力表示画面はプログラム対応に分割され
る。これは一般に画面分割と呼ばれている。
しかし、この画面分割の方法は、大量のCPUサイクル
を必要とするため高価となる。画面の分割は、1つの画
面上に含まれる複数のウインドウをすべて維持しなけれ
ばならないために高価になるのである。また、アプリケ
ーシヨンの出力表示をサブスクリーン境界にクリツプす
るのにさらに費用がかかる。
画面分割のもう1つの問題は、アプリケーシヨン・プロ
グラムを、画面分割環境で実行できるような形で書くの
に、大量の開発時間を必要とすることである。また、各
アプリケーシヨンは、この多重活動環境で作業している
ことを知つていなければならない。
画面の分割により、アプリケーシヨンに対して他の要件
も課される。通常、アプリケーシヨンは表示装置等の資
源を共用しなければならない。アプリケーシヨンはま
た、各アプリケーシヨンに割当てられる画面の大きさに
同意しなければならない。すなわち、アプリケーシヨン
は、画面全体より小さい部分で作業していることを知ら
なければならない。
もう1つの問題がUNIXオペレーテイング・システム
を使用する処理システムの場合に生じる。UNIXオペ
レーテイング・システムを使用すれば多重活動が可能と
なり、多重処理システムが生成される。これを多重系
(マルチスタツド)環境と呼ぶ。これにより、ユーザは
一時に数種のアプリケーシヨンを実行することができ
る。しかし実際には1つのアプリケーシヨンしか端末と
対話することができない。2つ以上のアプリケーシヨン
が同時に端末と対話しようとすると、アプリケーシヨン
からの出力が競合し望ましくない。この場合、ユーザは
背景中の他のアプリケーシヨンからの出力を制御しなけ
ればならない。これをブラインド背景処理と称するが、
これは監視が困難である。
この多重系問題を解決する1つの方法は、ワークステー
シヨンに物理装置を追加することである。しかし、すべ
てのタスクおよび仮想計算機に独自の物理端末を設ける
ことは、好都合ではない。多数の表示装置、キーボー
ド、ロケータ、その他の対話資源の費読のため、このよ
うな装置を大量に使用することはできない。一般にワー
クステーシヨンは、サポートできる装置の数が、アダプ
タ・スロツトまたは電力に限度のあることにより限定さ
れる。オフイスまたはデスクのスペース、コンセント等
の設備も、ユーザが効果的に使用できる装置の数を限定
する。多数の装置を物理的に動かすという不便もある。
また、多数の対話式装置を使用する場合、オペレータに
負担がかかることも事実である。
従つて、この発明の目的は、多重処理システムのユーザ
が容易に多重活動間の切換えをできるユーザ・インター
フエースを提供することにある。
C.問題点を解決するための手段 本発明の方法によれば、多重プログラム処理の仮想計算
機システムのオペレーテイング・システムのサブレイヤ
内に各々仮想入力資源および仮想出力資源を有する複数
の仮想端末を含む仮想端末システムを使用する。オペレ
ーテイング・システムのサブレイヤとは、多重プログラ
ム処理システム設計の最下層にある基本層のことであ
り、実施例における仮想資源管理プログラムに対応す
る。仮想端末は、単一仮想計算機または多重仮想計算機
で走行するオペレーテイング・システムのマルチタスキ
ングのための入出力を提供する。仮想端末という用語
は、1台または数台の仮想計算機に対して、実際に、ワ
ークステーシヨンに存在するよりも多くの端末が存在す
るように見えることを意味する。
仮想端末は、物理表示装置を時分割し、それにより全画
面仮想端末管理サブシステムをもたらす。しかし、時分
割の実施は、多数のプロセス間で単一の仮想端末の画面
空間を、アプリケーシヨン・パツケージが共用すること
をさまたげない。
このように、この発明の処理システムは、自身のハード
ウエアI/O装置をシミユレートするためアプリケーシ
ヨンの必要に応じて仮想端末をオープンし、クローズ
し、活動化し、非活動化する。したがつて、アプリケー
シヨンにとつては、完全な資源が与えられる環境にある
とみなせる。これには、表示装置、メモリ、キーボー
ド、およびロケータ入力の各資源が含まれる。換言すれ
ば、画面の一部ではなくて全体がアプリケーシヨンに与
えられる。
使用中は、アプリケーシヨンはこれらの資源を完全に使
用することができる。しかし、使用しないときは、処理
システムはこれらの資源を、アプリケーシヨンが知らな
いままに、アプリケーシヨンから除去する。これは、ユ
ーザ入力を必要とするまでアプリケーシヨンの実行を続
けさせるため、仮想出力資源を置換することにより行わ
れる。
本発明の構成は、次の通りである。
1.オペレーテイング・システムに応働する資源コント
ローラ、該資源コントローラにより生成され仮想端末の
仮想入出力資源を実入出力装置に割振るためのスクリー
ン・マネージヤ、該スクリーン・マネージヤに応働する
入力装置ドライバおよび仮想表示装置ドライバを含む仮
想端末の複数を含み、仮想計算機インターフエースに接
続されている仮想端末管理サブシステムを準備する段
階、 上記管理サブシステム内に複数の仮想端末を生成するた
めオペレーテイング・システムのサブレイヤを上記資源
コントローラにより初期化する段階、 上記仮想端末の複数をオープンするための要求をオペレ
ーテイング・システムから上記資源コントローラが受理
する段階、 上記オープンした複数の仮想端末の1つを上記スクリー
ン・マネージヤにより活動化する段階、 上記スクリーン・マネージヤからの命令に基づいて上記
入力装置ドライバが実入力装置から活動化仮想端末に至
るデータ路を確立する段階、 とより成り、多重プログラム処理システムにおけるオペ
レーテイング・システムのサブレイヤに仮想入出力資源
を有する仮想端末システムの制御方法であつて、 上記初期化段階は、 実入出力装置を初期化し、オペレーテイング・システム
および資源コントローラからの仮想端末の活動化および
非活動化の要求を管理するため上記スクリーン・マネー
ジヤを生成し、上記スクリーン・マネージヤおよびオペ
レーテイング・システム間ならびにスクリーン・マネー
ジヤ間に、各々、複数のコマンドを転送するための経路
を確立し、そして複数の実装置ドライバを上記スクリー
ン・マネージヤに結合する段階、 を含む仮想端末システムの管理方法。
2.オペレーテイング・システムに応働する資源コント
ローラ、該資源コントローラにより生成され仮想端末の
仮想入出力資源を実入出力装置に割振るためのスクリー
ン・マネージヤ、該スクリーン・マネージヤに応働する
入力装置ドライバおよび仮想表示装置を含む仮想端末の
複数を含み、仮想計算機インターフエースに接続されて
いる仮想端末管理サブシステムを準備する段階、 上記管理サブシステム内に複数の仮想端末を生成するた
めオペレーテイング・システムのサブレイヤを上記資源
コントローラにより初期化する段階、 上記仮想端末の複数をオープンするための要求をオペレ
ーテイング・システムから上記資源コントローラが受理
する段階、 上記オープンした複数の仮想端末の1つを上記スクリー
ン・マネージヤにより活動化する段階、 上記スクリーン・マネージヤからの命令に基づいて上記
入力装置ドライバが実入力装置から活動化仮想端末に至
るデータ路を確立する段階、 とより成り、多重プログラム処理システムにおけるオペ
レーテイング・システムのサブレイヤに仮想入出力資源
を有する仮想端末システムの制御方法であつて、 任意の仮想端末に対する上記インターフエースからの表
示出力を、その仮想端末の活動化または非活動化の状態
に依存して、対応する上記仮想表示装置ドライバの制御
の下に、実表示装置へ出力したり、または対応する仮想
提示スペース・バツフアに記憶する段階、 上記仮想端末が非活動化状態に変化すると、その仮想表
示装置ドライバの制御の下に、上記インターフエースか
ら転送されつつある表示出力を対応する仮想提示スペー
ス・バツフアへ指向させてそこに記憶する段階、 上記仮想端末が活動化状態に変化すると、その仮想表示
装置ドライバの制御の下に、先ず、上記対応する仮想提
示スペース・バツフアの内容を、次に上記インターフエ
ースから転送中の表示出力を、各々、実表示装置へ出力
する段階、 を含む仮想端末システムの制御方法。
D.実施例 第1図は、この発明の処理システムの層構造を示す。ア
プリケーシヨン・プログラム(以下、単にアプリケーシ
ヨンという)50は、UNIX等のオペレーテイング・
システム10上で実行される。次の層は仮想計算機イン
ターフエース20である。次は、すべてのI/O装置4
0を管理する仮想資源管理プログラム60である。仮想
端末サブシステム30は、仮想資源管理プログラム60
の一部である。
この発明の処理システムでは、ユーザ駆動型のユーザ・
インターフエースが、ユーザからの指令により、活動の
切換えを行う。この処理システムは、ユーザの活動のた
めにあるアプリケーシヨンに資源全体が与えられるよう
に、資源の使用を仮想化する。これは、仮想端末サブシ
ステム30中で行われる。仮想端末サブシステム30
は、仮想計算機環境のための端末サポートをもたらす。
仮想端末は、アプリケーシヨンが実端末全体を所有する
かのように動作する自由をアプリケーシヨンに与える。
仮想端末は、仮想計算機に、物理的に存在するよりも多
くの表示装置および入力装置があり、これらの装置が物
理的装置と異なる性質を有するかのような効果を与え
る。また、仮想端末を使うと、物理的端末装置の特性、
たとえば表示バツフアの構成、オプシヨンの入力装置の
存在等に無関係な形でプログラムを作成することができ
る。さらに、仮想端末により、プログラマは、実際の資
源の制限に対処するための、独自の機構を開発すること
から解放される。
この処理システムは、本明細書の従来技術の項で示した
ようなアプリケーシヨン・レベルではなく、システム設
計の最下層における多重プログラム活動を可能にする。
端末を仮想化することは、この処理システムで最も基本
的なことである。このようにして、システムで用いられ
るあらゆるアプリケーシヨンは、その特定プログラムの
内部構造に関係なく、多重活動を利用できる。プログラ
ムは、仮想端末の存在を考慮する必要はなく、また仮想
端末が上述のような形で使用されていることを知らな
い。仮想化は、アプリケーシヨン内で実現されるのでは
なく、処理システムの基本層で行なわれる。
仮想化はオペレーテイング・システム10より下の、仮
想資源管理プログラム60と呼ばれる基本層で行なわれ
る。仮想資源管理プログラム60が、デイスク、メモリ
および端末の仮想化を担当する。
それぞれ異なるオペレーテイング・システムを使用する
多くの仮想計算機が仮想資源管理プログラム60上で走
行できる。
この発明の仮想端末モデルは、キーボード送受信(KS
R)テレタイプ等のガラス・テレタイプのエミユレーシ
ヨンを使用するが、他のモデルも使用できる。
この実施例の端末モデルは、仮想計算機環境におけるU
NIXオペレーテイング・システムのための端末要件を
サポートする。UNIXオペレーテイング・システム
は、デイジタル・イクイツプメント社のVT100また
は、元のキーボード送受信(KSR)テレタイプを機能
強化したIBM3101等のガラス・テレタイプ・エミ
ユレーシヨンを必要とする。
KSR端末モデルは、ANSI3.4/3.41コード
・セツトではなく、PCASCIIコード・セツトを使
用した、ANSI3.64標準に基くASCII端末エ
ミユレーシヨンである。ANSI3.64のデータ・ス
トリームは、同標準に規定するように、機能強化された
音響発生能力をサポートし、ロケータ事象の流れを処理
し、物理的表示、フオントおよび端末特性を切換える各
種制御をもたらすように拡張される。
各仮想端末は、単一のKSR端末の特性を具体化する。
すなわち、仮想計算機から受け取つたデータ・ストリー
ムを認識し処理して、要求されたアクシヨンを起こす。
これらのアクシヨンには、仮想表示装置上でカーソルを
動かしたり文字を描いたりすること、線を挿入または削
除すること、画面を消去すること、または文字を表現す
るのに使う属性を変更することが含まれる。これらのア
クシヨンのほかに、出力データ・ストリームは連続音を
発生させたり、使用可能な任意の物理的表示装置上で仮
想表示を実現させたりすることができる。
仮想端末は、仮想キーボードまたは仮想ロケータからの
入力を受け、仮想表示装置に出力する。このように、仮
想端末は常に仮想入力装置から入力を受けることがで
き、また常に仮想表示装置に出力することができる。こ
れらの仮想装置は、これらに割振られた物理的装置があ
つても無くてもよい。したがつて、仮想端末は、実際に
入力を受けたり、物理的表示装置に書き込んだりしない
場合がある。各仮想端末は、キーボードからの入力デー
タ・ストリームを認識して処理する場合に、要求されれ
ば、各種の文字および簡単な関数をその仮想表示装置に
自動的に反映させることができる。この作用により、ア
プリケーシヨンは実KSP端末を使用しているかのよう
に実行することができる。このように、古いアプリケー
シヨンの大部分は、修正せずにこの仮想端末環境で実行
できる。
第2図は、仮想資源管理プログラム内の仮想端末管理サ
ブシステムの構成要素を示す。仮想計算機インターフエ
ース20は、仮想資源管理プログラムをすべてサポート
するすべての仮想計算機に与えられるトツプ・レベルで
ある。仮想計算機インターフエース20の下に仮想端末
管理サブシステムの構成要素がある。
仮想端末管理サブシステムは、資源コントローラ31
0、スクリーン・マネージヤ320、キーボード装置ド
ライバ410、ロケータ装置ドライバ420、音響装置
ドライバ430、表示装置ドライバ440、および複数
の仮想端末330からなる。
資源コントローラ310は、サブシステムを初期設定
し、終了させる。また、ユーザが利用できる対話式装
置、すなわち実端末の構成および特性を、仮想計算機に
照会させ、修正させる。さらに、資源コントローラ31
0は、仮想端末がオープンされたりクローズされたりす
る時、すなわち生成されたり破壊されたりする時に、仮
想端末の動作に必要とされるシステム資源を割振つた
り、割振りを解除したりする。
スクリーン・マネージヤ320は、仮想端末が使用する
仮想装置への物理的装置の割振りを行う。スクリーン・
マネージヤ320は、キーボードおよびロケータの装置
ドライバと共に、これらの入力装置を仮想化するのに必
要な時分割および空間分割を実行する。同様に、スクリ
ーン・マネージヤ320は、仮想表示装置ドライバ35
0と協力して、表示装置を仮想化するために必要な時分
割を実行する。常に表示装置は仮想端末が使用する唯一
の仮想表示装置に割振られる。
スクリーン・マネージヤ320は、活動仮想端末の仮想
装置に、すべての物理的装置を一括して割振る。活動仮
想端末とは、ユーザが対話可能な端末である。活動仮想
端末は、実際に入力を受け、表示装置に出力することが
できる。
スクリーン・マネージヤ320はまた、物理的資源の再
割振りも行う。再割振りは、ユーザの要求、またはアプ
リケーシヨンの要求によつて行われる。ユーザの要求
は、スクリーン・マネージヤ320に割振られた論理キ
ーボード、または論理マウスを通じて行われる。これに
は、現在活動している仮想端末からの資源割振り解除、
および新しい活動仮想端末への割振りが含まれる。この
割振りには、関係する両方の仮想端末の協力を必要とす
る。上述のように、装置ドライバの関与により、キース
トロークおよび作業要求ACK等の事象の同期化が確実
に行われる。
仮想端末管理サブシステムのもう1つの構成要素は、キ
ーボード装置ドライバ410である。キーボード装置ド
ライバ410は、実キーボードからの入力事象を、スク
リーン・マネージヤ320からの命令に基いて仮想端末
へ送る。
仮想端末管理サブシステムのオプシヨン構成要素は、ロ
ケータ装置ドライバ420および音響装置ドライバ43
0である。ロケータ装置ドライバ420は、実ロケータ
からの入力事象を、スクリーン・マネージヤ320から
の命令に基いて仮想端末へ送る。音響装置ドライバ43
0は、サブシステムに音響を与える。
また、表示アダプタからの割込みをサービスする1つな
いし4つの表示装置ドライバ440がある。
仮想端末管理サブシステムは1ないし32の仮想端末3
30を含む。各仮想端末330は、仮想端末モード・プ
ロセツサ340および仮想表示装置ドライバ350を有
するものとして示されている。仮想端末モード、プロセ
ツサ340は、仮想端末330にKSR型の作用をさせ
る。仮想表示装置ドライバ350は、表示装置へのすべ
ての仮想端末モード・プロセツサ出力の目標であり、表
示装置を仮想化する。各仮想端末330はまた、仮想端
末モード・プロセツサ340がその資源要求を資源コン
トローラ310に送るための共通装置機構も有する。
仮想端末サブシステムの初期設定 仮想端末サブシステムの初期設定は、資源コントローラ
により行われる。まず、資源コントローラは、各種の他
のサブシステム構成要素、フオント、および仮想端末デ
フオルトのための、実装置(表示装置、キーボード等)
識別子を含むリストを受け取らなければならない。初期
設定には下記の手順が必要である。(1)完全および正
確を期するため上記の初期設定情報を検査する。(2)
実入力装置を初期設定する。(3)供給されたフオント
を処理する。(4)スクリーン・マネージヤを作成す
る。(5)スクリーン・マネージヤと通信するための経
路を生成する。(6)入力装置をスクリーン・マネージ
ヤに接続する。(7)スクリーン・マネージヤを仮想資
源プログラム・チエツク・ハンドラに接続する。(8)
いくつかの構成要素が共用する大域データ構造を初期設
定する。
資源コントローラは、次のようにしてサブシステムを初
期設定する。下記のルーチンは、プログラム設計言語で
書かれているが、これからソースおよび機械コードを引
出することができる。
INITIALIZE GLOBAL DATA STRUCTURE IF THE INITIALIZATION INFORMATION NOT COPLETE AND CORRECT THEN PRESENT ERROR INDICATION ELSE CALL INIT_DEVICES CALL CREATE_SM PRESENT SUCCESS INDICATION PREPARE TO SERVICE RESOURCE COMMANDS FROM THE OPERATING SYSTEM ルーチン“INIT_DEVICES”は、システム中の各種の装置
ドライバを初期設定し、各構成要素が使用できるよう
に、必要な情報を大域データ構造に入れる。また、初期
設定パラメータ中で識別されたフオントの使用に必要な
情報を引出す。このルーチンはまた、装置から資源コン
トローラ(RC)への通信経路を生成する。
ルーチン“CREATE_SM”は、スクリーン・マネージヤ
(SM)プロセスを生成し、更にそこから資源コントロ
ーラ(RC)、キーボードおよびロケータ装置ドライ
バ、ならびにオペレーテイング・システムへの通信経路
を生成する。
仮想端末のオープン 初期設定後、資源コントローラは資源要求を受けること
ができる。オペレーテイング・システムから、仮想端末
をオープン(生成)する要求を受け取ると、資源コント
ローラは下記の手順を行う。(1)仮想端末のプロセス
を生成する。(2)仮想端末モード・プロセッサで必要
な機能(コピー、バインド)を遂行し、機能プロセスを
設定する。(3)仮想端末モード・プロセツサおよび既
存の装置ドライバ間の相互の通信経路を設定する。
(4)仮想端末に外部識別子を割当てる。(5)仮想計
算機を仮想端末に接続する。(6)仮想端末プロセスを
初期設定してプロセス初期設定パラメータ中の必要な情
報を通す。
資源コントローラは、下記のルーチンによつて仮想端末
をオープンする。
IF MAXIMUM NUMBER OF VIRTUAL TERMINALS OPEN THEN INDICATE NO SUCCESS ELSE CREATE_VT CREATE_PATHS INITIALIZE THE VIRTUAL TERMINAL(下記参照) TELL_SM(OPEN) INDICATE_SUCCESS ルーチン“CREATE_VT”は、仮想端末モード・プロセッ
サ340用のコードをコピーする。これにより、各仮想
端末330は、自身のデータおよびスタツク・スペース
を持つことができる。次の、このルーチンは、仮想端末
330のためのプロセスを生成する。また、仮想端末3
30の内部および外部(オペレーテイング・システム)
識別名も生成する。
ルーチン“CREATE_PATHS”は、仮想端末330と、既存
の装置ドライバおよびオープンを要求したオペレーテイ
ング・システムとの間の、相互通信経路を設定する。こ
のルーチンはまた、スクリーン・マネージヤ(SM)3
20から仮想端末330への通信経路も設定する。“CR
EATE_VT”も“CREATE_PATHS”も、大域データ構造中に
情報を保管する。
ルーチン“TELL_SM”は、スクリーン・マネージ
ヤ(SM)320に、新しい仮想端末がオープンされた
ことを知らせる。このルーチンは、スクリーン・マネー
ジヤ(SM)320が必要な情報を引出せるように、新
しい仮想端末名(および大域データ構造への索引)を送
る。スクリーン・マネージヤ(SM)320は、仮想端
末を活動化させる(下記参照)。ルーチン“TELL_SM”
は、スクリーン・マネージヤ(SM)が終了するのを待
つて、資源コントローラ310の続行を許可する。
ルーチン“INDICATE SUCCESS”は、仮想端末、およびオ
ペレーテイング・システムから仮想端末への通信経路の
外部識別子を、オペレーテイング・システムへ戻す。
仮想端末モード・プロセツサ340は仮想端末330の
初期設定を終了しなければならない。仮想端末330が
初期設定された後、仮想端末モード・プロセツサ340
は下記のルーチンを実行する。
QUERY_DEVICES SELECT_DISPLAY SELECT_INPUT ルーチン“QUERY_DEVICES”は、使用可能な装置の識別
子を戻す。ルーチン“SELECT_DISPLAY”は、仮想端末モ
ード・プロセツサ340に、使用可能な表示装置のうち
のどれかを使用するかを選択させる。このSEKECT_DISPL
AY機能は、選択された表示装置のための仮想表示装置ド
ライバをコピーし、そのコピーを仮想端末モード・プロ
セツサ340に結合する。これにより、仮想端末は他の
仮想端末に関係なく、その仮想表示装置を使用すること
ができる。仮想端末は、活動化するとユーザとの対話を
開始できる。
ルーチン“SELECT_INPUT”は、仮想端末モード・プロセ
ツサ340に、キーボードまたはロケータからの入力事
象を受け取るか否かを選択させる。
この時点で、オペレーテイング・システムは仮想端末と
通信することができる。オペレーテイング・システムは
また、スクリーン・マネージヤに接続されている場合
は、仮想端末に関する画面管理コマンドを発することが
できる。
仮想端末のクローズ 上述の手順でオープンした仮想端末をクローズするた
め、オペレーテイング・システムまたは仮想端末のいず
れかがクローズ要求を発することができる。
資源コントローラ310は、コマンドを受け取り、下記
の動作を行う。
TELL_SM(CLOSE) RECOVER_RESOURCES INDICATE_COMPLETION ルーチン“TELL_SM”は、クローズすべき仮想端末内部
識別子によつて識別するコマンドをスクリーン・マネー
ジヤ(SM)320に送る。このルーチンは、スクリー
ン・マネージヤ(SM)320がその作業を終了するの
を待つ(下記参照)。ルーチン“RECOVER_RESOURCES”
は、クローズされた仮想端末が使用していたすべての資
源(記憶装置、制御ブロツク等)を回復して、大域デー
タ構造からその仮想端末を解除する。ルーチン“INDICA
TE_COMPLETION”は、オペレーテイング・システムに
(それが要求元である場合)完了を通知する。仮想端末
はすでに存在しないため、通知を受けることはできな
い。
スクリーン・マネージヤ(SM)320は、資源コント
ローラ310が待機している間に、下記の動作を行う。
COMMAND_MP(CLOSE) NEW_VT_ACTIVE ACK_RC ルーチン“COMMAND_MP”は、クローズ・コマンドを仮想
端末間通信経路を介して仮想端末へ送り、その応答を待
つ。ルーチン“NEW_VT_ACTIVE”は、他の仮想端末を活
動化する。すなわち、実入出力装置をその仮想端末に割
振る(下記参照)。ルーチン“ACK_RC”は、資源コント
ローラ(RC)310と通信して、RCにそのクローズ
処理を続行させる。
仮想端末モード・プロセツサ340は、クローズ・コマ
ンドを受け取つて下記の動作を行う。
RELEASE_DISPLAY ACK_SM TERMINATE ルーチン“RELEASE_DISPLAY”は、仮想表示装置ドライ
バ350に、その資源が解放できることを示す。ルーチ
ン“ACK_SM”は、スクリーン・マネージヤ(SM)32
0に、そのクローズ処理を続行させる。“TERMINATE”
はルーチンではなく、仮想端末モード・プロセツサ34
0がリターンにより仮想端末プロセスを終了する。
仮想端末の活動化および非活動化 仮想端末330を活動化させる動作は、オープンもしく
はクローズにより、またはユーザが他の仮想端末が活動
化されることを要求していることにより生じる。これに
は、スクリーン・マネージヤ、現在活動化している仮想
端末の仮想端末モード・プロセツサ(または同等のも
の)、次に活動化する仮想端末の仮想端末モード・プロ
セツサ、および入力装置ドライバの協力を必要とする。
スクリーン・マネージヤは下記の動作を行う。
FIND_VT COMMAND_KDD(NEW-VT) COMMAND_LDD(NEW_VT) COMMAND_VT(DEACTIVATE) COMMAND_VT(ACTIVATE) UPDATE_DATA(NEW_VT) ルーチン“FIND_VT”は、どの仮想端末を活動化させる
べきかを決定する。この結果は、画面管理の規則と、受
け取つた実際のコマンドによる。
ルーチン“COMMAND_KDD”は、キーボードからの入力を
受け取る仮想端末を識別するコマンドをキーボード装置
ドライバ(KDD)410に送る。ルーチン“COMMAND_
LDD”は、ロケータからの入力を受け取る仮想端末を識
別するコマンドをロケータ装置ドライバ(LDD)42
0に送る。これらのルーチンは、装置ドライバ410お
よび420が動作を完了するのを待つて戻る。装置ドラ
イバ410および420は同じ動作を行う(下記参
照)。非活動化オプシヨン(DEACTIVATE)付きのルーチ
ン“COMMAND_VT”は、現在活動化している仮想端末に、
必要な動作をすべて行わせる(下記参照)。活動化オプ
シヨン(ACTIVATE)付きのルーチン“COMMAND_VT”は、
新しく活動化した仮想端末に、必要な動作をすべて行わ
せる(下記参照)。
ルーチン“UPDATE_DATA”は、スクリーン・マネージヤ
320が、どの仮想端末が活動化しているかを知るため
に、スクリーン・マネージヤ320の内部構造を操作す
る。
キーボード装置ドライバ(KDD)410およびロケー
タ装置ドライバ(LDD)420は、下記の動作を行
う。
SET_NEW_PATH_MODES SEND_STATUS ACK_SM ルーチン“SET_NEW_PATH_MODES”は、新しく活動化した
仮想端末への通信経路の識別子を内部構造に入れる。こ
のルーチンはまた、仮想端末の装置の正しい動作モード
をセツトアツプする。
ルーチン“SEND_STATUS”は、仮想端末に現装置状況、
すなわち仮想端末が活動化したときにどの関連キー(ま
たはボタン)がすでに押されているかを知らせる。
ルーチン“ACK_SM”は、スクリーン・マネージヤ(S
M)320に、処理を同期的に続行させる。非活動化し
た仮想端末の仮想端末モード・プロセツサ340は、下
記の動作を行う。
DEACTIVATE_VDD NO_SOUND ルーチン“DEACTIVATE_VDD”は、仮想端末の仮想表示装
置ドライバ(VDD)350に、表示装置に書込むこと
はできないが、仮想端末からの出力を緩衝記憶しなけれ
ばならないことを知らせる。ルーチン“NO_SOUND”は、
仮想端末モード・プロセツサ340が音響装置ドライバ
430にオペレーテイング・システムの音響要求を送ら
ないように、仮想端末モード・プロセツサ用の内部フラ
グをセツトする。
活動化した仮想端末の仮想端末モード・プロセツサ34
0は、下記の動作を行う。
ACTIVATE_VDD SOUND_OK ルーチン“ACTIVATE_VDD”は、仮想端末の仮想表示装置
ドライバ(VDD)350に、表示装置に書込みができ
ることを知らせる。しかし、仮想表示装置ドライバ(V
DD)350は、最初に、保持しているバツフアを表示
装置に送る。したがつて、ユーザはアプリケーシヨンか
ら得られる現在の情報を知ることができる。ルーチン
“SOUND_OK”は、仮想端末モード・プロセツサ340が
音響装置ドライバ(SDD)430にオペレーテイング
・システムの音響要求を送るように、内部フラグをセツ
トする。
この時点でユーザは新しく活動化した仮想端末との対話
が可能になる。
動作の説明 仮想端末は、仮想計算機からの入力を、実表示端末に向
けられた出力の形で得る。仮想端末が活動化した端末で
あれば、すなわちユーザが現在対話を行つている端末で
あれば、この端末は必要なだけの数の実資源を有する。
この端末はロケータ装置ドライバおよびキーボード装置
ドライバからのすべての入力を受け取る。したがつて、
そのドライバからの入力は、当該端末の資源に向かう。
端末が生成する音はいずれも音響装置ドライバに行き、
表示内容はいずれも表示装置ドライバに送られ、表示装
置の実画面上でユーザに示される。
オープンされているが、現在活動化していない仮想端末
は仮想計算機からの出力を受け取ることができる。これ
らの仮想端末がこの出力を受け取る場合、仮想計算機イ
ンターフエース・レベルは、それらが活動化していても
いなくても、仮想計算機にとつて全く同じに見える。し
たがつて、非活動の仮想端末が表示の出力要求を受け取
ると、その要求を装置ドライバに送る代りに、それを装
置ドライバ・バツフア(仮想提示スペース・バツフアと
呼ぶ)に仮想化する。
このバツフアは、現在の表示装置の状態を保持する記憶
装置(RAM)である。任意の瞬間に、仮想端末の仮想
提示スペース・バツフアは、仮想端末に送られたすべて
の出力要求の画面提示の累積フロントを含む。端末がユ
ーザによつて活動化された場合は、仮想装置バツフアの
内容が実表示画面に表示される。
特定の仮想端末に実際の物理的表示資源が与えられる
と、この仮想端末は仮想提示スペースにある累積データ
を実表示装置指令に変換しなければならない。これによ
り、ユーザは現在のスナツプシヨツト情報を知ることが
できる。換言すれば、仮想端末がその実表示資源を放棄
させられる場合、概念的にはユーザが一時的に頭を実端
末からそらせるのと似ている。ユーザがその端末を見る
ために頭を戻した時、ユーザはそれまでの全累積表示修
正を見ることになる。
提示スペース・バツフアは、実装置が割振られていない
時でも、更新されることが重要である。これらの仮想化
された提示バツフアは、装置に依存した形で、仮想端末
管理サブシステムの表示装置ドライバ構成要素中に維持
される。
スクリーン・マネージヤは、下記のようにしてユーザと
対話する。仮想端末がオープンされるたびに、それが入
れられるような端末リングが存在する。ユーザが特定の
端末、したがつて特定のアプリケーシヨンとの対話を希
望する時、ユーザはキーボード上で、あるキー・シーケ
ンスを打つことができる。このキー・シーケンスは、キ
ーボード装置ドライバにより、スクリーン・マネージヤ
に送られる。スクリーン・マネージヤは、リンク構造を
検査することにより、現在ユーザが利用できる端末のい
ずれを活動化させるべきかを決定する。このようにし
て、ユーザは、対話のためにいずれの活動またはいずれ
のアプリケーシヨンを選択するかを決めることができ
る。
端末の活動状態を変更するための活動には、スクリーン
・マネージヤ、装置ドライバ、および仮想端末が関与す
る。事象の順序は下記のとおりである。スクリーン・マ
ネージヤに、新しい端末を活動化することが通知される
と、スクリーン・マネージヤは新しい経路指定情報を入
力装置ドライバに送る。キーボードまたはロケータ装置
ドライバは、この情報を受け取り、次に入力事象が新し
く活動化した仮想端末に行くように経路指定を変更す
る。
上記は、入力装置の場合である。出力装置は幾分異なる
方法で処理される。仮想端末はスクリーン・マネージヤ
から、非活動化すべきであることを知らされる。仮想端
末自身は、音響装置ドライバの場合、可聴音の発生を音
響装置ドライバに要求できないと判定する責任をもつ。
仮想表示装置ドライバについては、異なる機構がある。
この場合、仮想表示装置ドライバは、表示装置上に出力
を生成するために仮想端末が呼び出すことのできる一連
のルーチンとして明示される。端末が非活動化される
時、端末が非活動であることを示す仮想表示装置ドライ
バのルーチンを呼び出す。この場合、仮想計算機がその
仮想端末を介して表示装置に出力しようとすると、仮想
表示装置ドライバは、表示装置に送るはずのいかなる情
報も、仮想提示スペース・バツフアに入れる。これによ
り、仮想端末を使用しているアプリケーシヨンは、その
仮想端末がまだ活動状態にあるかの如くに、当該仮想端
末と通信することができる。活動化しつつある端末は、
端末が活動化していることを示す仮想表示装置ドライバ
のルーチンを呼び出す。次に、仮想端末は、その仮想表
示装置ドライバを、それが非活動化している時と同じよ
うに使用することができるが、その仮想表示装置ドライ
バは、実際自由に表示アダプタに書込むことができる。
E.発明の効果 仮想端末を使用するアプリケーシヨンは、それが活動化
しているか、していないかを知る必要がなく、いつでも
その仮想端末と通信することができる。その表示装置に
行なつた更新はすべて、その仮想端末が再び活動化され
た時、見ることができる。アプリケーシヨンは、その仮
想端末が非活動化されていることを全く知らなくてよい
のである。
【図面の簡単な説明】 第1図は処理システムの層構造を示すブロツク図、第2
図は、仮想端末サブシステムの構成要素を示すブロツク
図である。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭60−27027(JP,A) 特開 昭61−161543(JP,A) 山谷・秋山,仮想計算機,昭和55年5月 20日、共立出版(株),P.48−51

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】オペレーテイング・システムに応働する資
    源コントローラ、該資源コントローラにより生成され仮
    想端末の仮想入出力資源を実入出力装置に割振るための
    スクリーン・マネージヤ、該スクリーン・マネージヤに
    応働する入力装置ドライバおよび仮想表示装置ドライバ
    を含む仮想端末の複数を含み、仮想計算機インターフエ
    ースに接続されている仮想端末管理サブシステムを準備
    する段階、 上記管理サブシステム内に複数の仮想端末を生成するた
    めオペレーテイング・システムのサブレイヤを上記資源
    コントローラにより初期化する段階、 上記仮想端末の複数をオープンするための要求をオペレ
    ーテイング・システムから上記資源コントローラが受理
    する段階、 上記オープンした複数の仮想端末の1つを上記スクリー
    ン・マネージヤにより活動化する段階、 上記スクリーン・マネージヤからの命令に基づいて上記
    入力装置ドライバが実入力装置から活動化仮想端末に至
    るデータ路を確立する段階、 とより成り、多重プログラム処理システムにおけるオペ
    レーテイング・システムのサブレイヤに仮想入出力資源
    を有する仮想端末システムの制御方法であつて、 上記初期化段階は、 実入出力装置を初期化し、オペレーテイング・システム
    および資源コントローラからの仮想端末の活動化および
    非活動化の要求を管理するため上記スクリーン・マネー
    ジヤを生成し、上記スクリーン・マネージヤおよびオペ
    レーテイング・システム間ならびにスクリーン・マネー
    ジヤ間に、各々、複数のコマンドを転送するための経路
    を確立し、そして複数の実装置ドライバを上記スクリー
    ン・マネージヤに結合する段階、 を含む仮想端末システムの管理方法。
  2. 【請求項2】オペレーテイング・システムに応働する資
    源コントローラ、該資源コントローラにより生成され仮
    想端末の仮想入出力資源を実入出力装置に割振るための
    スクリーン・マネージヤ、該スクリーン・マネージヤに
    応働する入力装置ドライバおよび仮想表示装置を含む仮
    想端末の複数を含み、仮想計算機インターフエースに接
    続されている仮想端末管理サブシステムを準備する段
    階、 上記管理サブシステム内に複数の仮想端末を生成するた
    めオペレーテイング・システムのサブレイヤを上記資源
    コントローラにより初期化する段階、 上記仮想端末の複数をオープンするための要求をオペレ
    ーテイング・システムから上記資源コントローラが受理
    する段階、 上記オープンした複数の仮想端末の1つを上記スクリー
    ン・マネージヤにより活動化する段階、 上記スクリーン・マネージヤからの命令に基づいて上記
    入力装置ドライバが実入力装置から活動化仮想端末に至
    るデータ路を確立する段階、 とより成り、多重プログラム処理システムにおけるオペ
    レーテイング・システムのサブレイヤに仮想入出力資源
    を有する仮想端末システムの制御方法であつて、 任意の仮想端末に対する上記インターフエースからの表
    示出力を、その仮想端末の活動化または非活動化の状態
    に依存して、対応する上記仮想表示装置ドライバの制御
    の下に、実表示装置へ出力したり、または対応する仮想
    提示スペース・バツフアに記憶する段階、 上記仮想端末が非活動化状態に変化すると、その仮想表
    示装置ドライバの制御の下に、上記インターフエースか
    ら転送されつつある表示出力を対応する仮想提示スペー
    ス・バツフアへ指向させてそこに記憶する段階、 上記仮想端末が活動化状態に変化すると、その仮想表示
    装置ドライバの制御の下に、先ず、上記対応する仮想提
    示スペース・バツフアの内容を、次に上記インターフエ
    ースから転送中の表示出力を、各々、実表示装置へ出力
    する段階、 を含む仮想端末システムの制御方法。
JP61282232A 1986-01-17 1986-11-28 仮想端末サブシステムの制御方法 Expired - Lifetime JPH0664536B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US82045186A 1986-01-17 1986-01-17
US820451 1986-01-17

Publications (2)

Publication Number Publication Date
JPS62166435A JPS62166435A (ja) 1987-07-22
JPH0664536B2 true JPH0664536B2 (ja) 1994-08-22

Family

ID=25230789

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61282232A Expired - Lifetime JPH0664536B2 (ja) 1986-01-17 1986-11-28 仮想端末サブシステムの制御方法

Country Status (7)

Country Link
US (2) US5109510A (ja)
EP (1) EP0229336B1 (ja)
JP (1) JPH0664536B2 (ja)
CN (1) CN1005432B (ja)
DE (1) DE3686873T2 (ja)
HK (1) HK35093A (ja)
SG (1) SG10993G (ja)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5088033A (en) * 1986-04-28 1992-02-11 Xerox Corporation Data processing system emulation in a window with a coprocessor and I/O emulation
US4920481A (en) * 1986-04-28 1990-04-24 Xerox Corporation Emulation with display update trapping
US4945468A (en) * 1988-02-01 1990-07-31 International Business Machines Corporation Trusted path mechanism for virtual terminal environments
GB2228599B (en) * 1989-02-24 1993-03-17 Sun Microsystems Inc Method and apparatus for per-process mounting of file systems in a hierarchical file system environment
EP0419064A3 (en) * 1989-09-22 1992-08-05 International Business Machines Corporation Computer system having apparatus for providing pointing device independent support in an operating environment
US5265251A (en) * 1990-02-01 1993-11-23 International Business Machines Corporation Mechanism for allowing a single operation to shift the focus between user applications having direct hardware level access to multiple displays in a virtual terminal environment
US5283888A (en) * 1991-08-27 1994-02-01 International Business Machines Corporation Voice processing interface unit employing virtual screen communications for accessing a plurality of primed applications
US5319751A (en) * 1991-12-27 1994-06-07 Intel Corporation Device driver configuration in a computer system
EP0610677A3 (en) * 1993-02-12 1995-08-02 Ibm Communication device management module operating in two modes.
US5896531A (en) * 1993-02-26 1999-04-20 International Business Machines Corporation Method and system for managing environments with a data processing system
US5530858A (en) * 1993-04-01 1996-06-25 Intel Corporation Method and apparatus for background processing for PCMCIA card services
DE69323196T2 (de) 1993-09-14 1999-09-09 Ibm Rechnersystem und Verfahren zur Ausführung von mehreren Aufgaben
US5511135A (en) * 1993-11-29 1996-04-23 International Business Machines Corporation Stylus-input recognition correction manager
US5692193A (en) * 1994-03-31 1997-11-25 Nec Research Institute, Inc. Software architecture for control of highly parallel computer systems
US5623582A (en) 1994-07-14 1997-04-22 Immersion Human Interface Corporation Computer interface or control input device for laparoscopic surgical instrument and other elongated mechanical objects
US5555510A (en) * 1994-08-02 1996-09-10 Intel Corporation Automatic computer card insertion and removal algorithm
JP3484779B2 (ja) * 1994-10-12 2004-01-06 富士ゼロックス株式会社 名前サービス方式及び名前サービス方法
CA2173695A1 (en) * 1995-04-14 1996-10-15 Panagiotis Kougiouris Method and system for providing interoperability among processes written to execute on different operating systems
US6009476A (en) * 1995-11-21 1999-12-28 Diamond Multimedia Systems, Inc. Device driver architecture supporting emulation environment
US5752032A (en) * 1995-11-21 1998-05-12 Diamond Multimedia Systems, Inc. Adaptive device driver using controller hardware sub-element identifier
US6393495B1 (en) * 1995-11-21 2002-05-21 Diamond Multimedia Systems, Inc. Modular virtualizing device driver architecture
US5910180A (en) * 1995-11-21 1999-06-08 Diamond Multimedia Systems, Inc. Context virtualizing device driver architecture
US6289396B1 (en) 1995-11-21 2001-09-11 Diamond Multimedia Systems, Inc. Dynamic programmable mode switching device driver architecture
JPH1021097A (ja) * 1996-07-02 1998-01-23 Canon Inc プログラムの起動方法および記憶媒体およびコンピュータ装置
US6182242B1 (en) 1998-04-22 2001-01-30 International Business Machines Corporation Generic device driver simulator and method
AU1075101A (en) 1999-10-05 2001-05-10 Ejasent Inc. Virtual resource id mapping
US6917963B1 (en) * 1999-10-05 2005-07-12 Veritas Operating Corporation Snapshot image for the application state of unshareable and shareable data
US6859927B2 (en) 1999-12-21 2005-02-22 Lockheed Martin Corporation Apparatus and method for controlling allocation of resources and task execution
US8020176B2 (en) 2000-04-06 2011-09-13 Infineon Technologies Ag Virtual machine interface for hardware reconfigurable and software programmable processors
US7703107B2 (en) * 2000-04-06 2010-04-20 Infineon Technologies Ag Virtual machine interface for hardware reconfigurable and software programmable processors
US7139791B1 (en) * 2000-07-13 2006-11-21 International Business Machines Corporation Apparatus and method for providing access to a data stream by a plurality of users at a same time
US7278142B2 (en) * 2000-08-24 2007-10-02 Veritas Operating Corporation Dynamic computing environment using remotely allocable resources
US7596784B2 (en) * 2000-09-12 2009-09-29 Symantec Operating Corporation Method system and apparatus for providing pay-per-use distributed computing resources
GB2377283B (en) * 2001-04-10 2004-12-01 Discreet Logic Inc Initialising modules
US20030093258A1 (en) * 2001-11-14 2003-05-15 Roman Fishstein Method and apparatus for efficient simulation of memory mapped device access
US6754734B2 (en) 2001-12-18 2004-06-22 International Business Machines Corporation Systems, methods, and computer program products to improve performance of ported applications, such as a database
US7113937B2 (en) 2001-12-18 2006-09-26 International Business Machines Corporation Systems, methods, and computer program products to improve performance of ported applications, such as a database, operating on UNIX system services for the OS/390
US6877045B2 (en) 2001-12-18 2005-04-05 International Business Machines Corporation Systems, methods, and computer program products to schedule I/O access to take advantage of disk parallel access volumes
US20050114549A1 (en) * 2003-11-26 2005-05-26 Durham David M. Mechanism for extensible binary mappings for adaptable hardware/software interfaces
US7543166B2 (en) * 2004-05-12 2009-06-02 Intel Corporation System for managing power states of a virtual machine based on global power management policy and power management command sent by the virtual machine
US7584244B2 (en) 2004-06-04 2009-09-01 Nokia Corporation System, method and computer program product for providing content to a terminal
US20060069828A1 (en) * 2004-06-30 2006-03-30 Goldsmith Michael A Sharing a physical device among multiple clients
US7376134B2 (en) 2004-08-02 2008-05-20 Novell, Inc. Privileged network routing
US7506343B2 (en) * 2004-08-19 2009-03-17 International Business Machines Corporation System and method for passing information from one device driver to another
US7546599B2 (en) * 2004-12-20 2009-06-09 Intel Corporation Method, apparatus and system for instructing a virtual device from a virtual machine
US20060167997A1 (en) * 2005-01-27 2006-07-27 Nokia Corporation System, method and computer program product for establishing a conference session and synchronously rendering content during the same
US20060195586A1 (en) * 2005-02-25 2006-08-31 Microsoft Corporation Sessions and terminals configured for binding in an extensible manner
US7720820B2 (en) * 2005-07-12 2010-05-18 Microsoft Corporation Logless persistent components for enterprise applications
US7883420B2 (en) * 2005-09-12 2011-02-08 Mattel, Inc. Video game systems
US20070087838A1 (en) * 2005-09-12 2007-04-19 Jonathan Bradbury Video game media
US20070087837A1 (en) * 2005-09-12 2007-04-19 Jonathan Bradbury Video game consoles
EP1909436A1 (en) * 2006-10-03 2008-04-09 International Business Machines Corporation System and method of integrating a node into a virtual ring
US8881163B2 (en) * 2007-12-07 2014-11-04 Microsoft Corporation Kernel processor grouping
US8327169B2 (en) * 2009-02-26 2012-12-04 International Business Machines Corporation Power management to maximize reduced power state for virtual machine platforms
US8825685B2 (en) * 2009-11-16 2014-09-02 Symantec Corporation Selective file system caching based upon a configurable cache map
US8843676B2 (en) 2012-06-27 2014-09-23 International Business Machines Corporation Optimizing an operating system I/O operation that pertains to a specific program and file
US9646021B2 (en) 2012-10-02 2017-05-09 At&T Intellectual Property I, L.P. Managing resource access in distributed computing environments
EP2992553A4 (en) 2013-05-03 2017-03-08 Honeywell International Inc. Lead frame construct for lead-free solder connections
US9680920B2 (en) * 2014-09-08 2017-06-13 International Business Machines Corporation Anticipatory resource allocation/activation and lazy de-allocation/deactivation
US10303782B1 (en) 2014-12-29 2019-05-28 Veritas Technologies Llc Method to allow multi-read access for exclusive access of virtual disks by using a virtualized copy of the disk
CN111228793B (zh) * 2020-01-21 2021-11-19 腾讯科技(深圳)有限公司 交互界面的显示方法和装置、存储介质及电子装置

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4152761A (en) * 1976-07-28 1979-05-01 Intel Corporation Multi-task digital processor employing a priority
US4091448A (en) * 1976-10-29 1978-05-23 Clausing Martin B Off-line, one-level/on-line, two-level timeshared automated banking system
US4104721A (en) * 1976-12-30 1978-08-01 International Business Machines Corporation Hierarchical security mechanism for dynamically assigning security levels to object programs
US4247906A (en) * 1978-11-13 1981-01-27 Wang Laboratories, Inc. Text editing system having flexible repetitive operation capability
JPS55112651A (en) * 1979-02-21 1980-08-30 Fujitsu Ltd Virtual computer system
US4527236A (en) * 1980-04-04 1985-07-02 Digital Equipment Corporation Communications device for data processing system
US4384324A (en) * 1980-05-06 1983-05-17 Burroughs Corporation Microprogrammed digital data processing system employing tasking at a microinstruction level
US4435780A (en) * 1981-06-16 1984-03-06 International Business Machines Corporation Separate stack areas for plural processes
US4403288A (en) * 1981-09-28 1983-09-06 International Business Machines Corporation Methods and apparatus for resetting peripheral devices addressable as a plurality of logical devices
US4543627A (en) * 1981-12-14 1985-09-24 At&T Bell Laboratories Internal communication arrangement for a multiprocessor system
US4553202A (en) * 1982-05-06 1985-11-12 International Business Machines Corporation User controlled dialog resource switching in a multi-tasking word processor
US4593349A (en) * 1982-07-22 1986-06-03 Honeywell Information Systems Inc. Power sequencer
US4604682A (en) * 1982-09-30 1986-08-05 Teleplex Corporation Buffer system for interfacing an intermittently accessing data processor to an independently clocked communications system
US4555775B1 (en) * 1982-10-07 1995-12-05 Bell Telephone Labor Inc Dynamic generation and overlaying of graphic windows for multiple active program storage areas
US4628446A (en) * 1982-12-06 1986-12-09 At&T Bell Laboratories Multichannel interface
JPS59140575A (ja) * 1983-01-21 1984-08-11 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 分散型通信及び処理ネツトワ−クにおける論理端末のアクセス方法
SE448919B (sv) * 1983-03-04 1987-03-23 Ibm Svenska Ab Metod for att overfora informationsenheter i ett datornetsystem, samt datornetsystem for genomforande av metoden
US4586037A (en) * 1983-03-07 1986-04-29 Tektronix, Inc. Raster display smooth line generation
DE3381300D1 (de) * 1983-03-31 1990-04-12 Ibm Abbildungsraumverwaltung und wiedergabe in einem bestimmten teil des bildschirms eines virtuellen mehrfunktionsterminals.
JPH0619747B2 (ja) * 1984-01-18 1994-03-16 株式会社日立製作所 I/o命令実行方法、i/o割込処理方法およびそれらを用いた計算機システム
DE3473665D1 (en) * 1984-06-25 1988-09-29 Ibm Graphical display apparatus with pipelined processors
US4761642A (en) * 1985-10-04 1988-08-02 Tektronix, Inc. System for providing data communication between a computer terminal and a plurality of concurrent processes running on a multiple process computer
US4916608A (en) * 1986-05-30 1990-04-10 International Business Machines Corporation Provision of virtual storage resources to an operating system control program
US4914619A (en) * 1987-10-19 1990-04-03 International Business Machines Corporation Apparatus and method for interconnecting an application of a transparent services access facility to remote source
US4956771A (en) * 1988-05-24 1990-09-11 Prime Computer, Inc. Method for inter-processor data transfer

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
山谷・秋山,仮想計算機,昭和55年5月20日、共立出版(株),P.48−51

Also Published As

Publication number Publication date
US5109510A (en) 1992-04-28
US5337412A (en) 1994-08-09
HK35093A (en) 1993-04-16
JPS62166435A (ja) 1987-07-22
DE3686873D1 (de) 1992-11-05
EP0229336A2 (en) 1987-07-22
EP0229336A3 (en) 1988-09-21
DE3686873T2 (de) 1993-04-22
CN86108480A (zh) 1987-07-29
EP0229336B1 (en) 1992-09-30
SG10993G (en) 1993-04-16
CN1005432B (zh) 1989-10-11

Similar Documents

Publication Publication Date Title
US5337412A (en) Method and apparatus for substituting real and virtual devices independent from an data processing system application program
US5029077A (en) System and method for controlling physical resources allocated to a virtual terminal
JP3659062B2 (ja) 計算機システム
US6859928B2 (en) Shared virtual desktop collaborative application system
US5315711A (en) Method and apparatus for remotely and centrally controlling a plurality of host processors
US5313581A (en) System and method for communication between windowing environments
US5226160A (en) Method of and system for interactive video-audio-computer open architecture operation
KR100208497B1 (ko) 윈도우 시스템 환경에서 시간임계처리의 운영방법
US20070288941A1 (en) Sharing kernel services among kernels
JPH0855002A (ja) オープンアプリケーションを表示画面に表示する方法及び仮想デスクトップシステム
JPH0689253A (ja) 汎用のオペレーティング・システム・インターフェースを有するデバイス・ドライバを含むデータ処理システム
JPH0795314B2 (ja) 周辺装置支援システム
JPS62171066A (ja) コプロセツサを有する仮想記憶仮想計算機型のデ−タ処理システム
WO1993025962A1 (en) Distributed applications processing network
JPH06100956B2 (ja) ポインタ制御を行うための装置
US6195710B1 (en) Operating system having shared personality neutral resources
JPH0799501B2 (ja) 複数アプリケーションの同時実行装置
US5265251A (en) Mechanism for allowing a single operation to shift the focus between user applications having direct hardware level access to multiple displays in a virtual terminal environment
EP0441509B1 (en) Method and system for single-operation focus shift between user applications in a virtual terminal environment
US7293075B2 (en) Method and apparatus for operating a data processing system using multiple console views
US5812846A (en) Method and apparatus for passing control from a first process to a second process
JPH06110717A (ja) 複合計算機システム
US5692191A (en) Address space utilization in a distributed data processing system
JPH0496139A (ja) Ms―dos上のマルチタスク制御方式