JPH05216614A - 共用オフスクリーン・ピクセル記憶装置を付与する方法と装置 - Google Patents

共用オフスクリーン・ピクセル記憶装置を付与する方法と装置

Info

Publication number
JPH05216614A
JPH05216614A JP4201904A JP20190492A JPH05216614A JP H05216614 A JPH05216614 A JP H05216614A JP 4201904 A JP4201904 A JP 4201904A JP 20190492 A JP20190492 A JP 20190492A JP H05216614 A JPH05216614 A JP H05216614A
Authority
JP
Japan
Prior art keywords
window
access
storage
program
shared memory
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.)
Granted
Application number
JP4201904A
Other languages
English (en)
Other versions
JP3645276B2 (ja
Inventor
Bruce Mcintyre
ブルース・マッキンタイア
Curtis Priem
カーティス・プリーム
Robert Rocchetti
ロバート・ロッチェッティ
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH05216614A publication Critical patent/JPH05216614A/ja
Application granted granted Critical
Publication of JP3645276B2 publication Critical patent/JP3645276B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Digital Computer Display Output (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

(57)【要約】 (修正有) 【目的】ハードウェア用の文脈の切り換えにシステムの
呼出しを不要にする。 【構成】保持されたウインドゥ部分用に使用され、図形
アクセレータで制御されるフレーム・バッファ記憶装置
の一時記憶域へのアプリケーション・プログラムによる
図形アクセスを可能にする方法で、ウインドゥ領域の保
持された部分が最初に余剰フレーム・バッファ記憶装置
内への存在を示す一時記憶域用のシステム記憶装置内に
共用メモリ・ファイル共用メモリ・ファイルは処理に際
して共用記憶域の使用を示す記憶装置を有するを確立す
るステップを有する方法において、別の処理手順の状態
が図形アクセレータに記憶される間に図形アクセレータ
へのアクセスが試みられるごとにページフォルトを作成
する段階と、ページフォルトに応答してデバイスの駆動
装置を呼び出して図形アクセレータに記憶された文脈を
アクセスを試みる処理手順の文脈へと切り換える段階、
とを有する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はディスプレー記憶装置に
関し、特に直接的な図形アクセスが可能であるオフ・ス
クリーン・ピクセル・データを記憶するためにディスプ
レー記憶装置を利用する方法と装置に関する。
【0002】
【従来の技術】コンピュータはその最も簡単な様式で
は、データを単一のプログラムからデータを記憶するフ
レーム・バッファに書き込んで、データが出力ディスプ
レーへと書き込まれることができるようにされる。この
単一プログラムのデータが出力ディスプレー全体をカバ
ーする。出力ディスプレー上に一時に一つ以上のプログ
ラムをディスプレーしたい場合は、コンピュータ・シス
テムはその他の処理と並んで、何らかの方法で各プログ
ラムをディスプレーできるスクリーンの異なる部分(ウ
インドゥ)を付与し、情報を各プログラムから適正なウ
インドゥに向け、各々の適正部分が提示されるように異
なるウインドゥの重複に注意を払うことが必要である。
【0003】上記のタスクの全てが各個のプログラムに
よって実行される場合は、異なるプログラムが互いに干
渉しないようにプログラム相互間で大量のチェックが行
われなければならない。このことによってシステムの動
作速度が遅くなり、設計が貧弱なソフトウェアの場合は
システムの動作を歪めることがある。このため、より先
進的なコンピュータ・システムはディスプレーされる情
報を制御するため、フレーム・バッファへの書き込み動
作全体を担うウインドゥ・システムのプログラムを設計
している。ウインドゥ・システムはディスプレー全体を
制御する。このシステムは個々のアプリケーション・プ
ログラムから情報をディスプレーする要求を受け、これ
らの要求をシステム記憶装置に記憶し、異なるプログラ
ムをディスプレーできるウインドゥを選択し、アプリケ
ーション・プログラムによって付与され、主記憶装置に
記憶された要求をフレーム・バッファへの本文及び図形
出力へと変換し、ウインドゥの重複を制御し、要求に応
じてデータをウインドゥのカバーされた部分に記憶して
後に検索できるようにし、多くのプログラムを単一の出
力ディスプレー装置でディスプレーするのに必要な全て
の動作を実行する。このことによってプログラムがその
出力を提示する際に正しく動作することが保証され、ア
プリケーション・プログラマがディスプレー目的で多く
の手順を書き込む必要がなくなる。
【0004】ウインドゥは一般に出力ディスプレー上の
可変サイズの方形ピクセルとして表される。一つのウイ
ンドゥが別のウインドゥと重複すると、重複されたウイ
ンドゥからのピクセル部分は出力ディスプレー上では見
えなくなる。重複されたウインドゥの目視不能部分が出
力ディスプレー上のウインドゥ重複構造の変化によって
再び目視可能状態になると、このウインドゥからの以前
は目視不能であったピクセル領域は修復されなければな
らない。場合によってはプログラムがこのウインドゥに
対して新たに露出された領域を修復する出力を送ること
が可能である。別な場合には、通常は修復の複雑さによ
り、ウインドゥ・システムが出力の流れから以前にピク
セル領域に現れたピクセルを覚えており、ウインドゥ・
システムがピクセルを必要であるものとして保持し、復
元するように処理し、プログラムを空き状態に留めてお
いて、必要になると予測される修復動作を無視するよう
にする方法をプログラムは優先する。ある種のウインド
ゥ・システムはこの処理を保持されたウインドゥと呼ば
れる機構で支援する。ウインドゥの損傷領域を修復する
ことにわずらわされたくないアプリケーション・プログ
ラムはこの機構をウインドゥ・システムから要求する。
【0005】ウインドゥ・システムがこれらの動作の全
てを実行するように設計されている場合でも、それらを
利用するにはある種の困難さが伴う。例えば、ウインド
ゥ・システムが支援しないある種の図形処理がある場合
がある。更に、このようなウインドゥ・システムのプロ
グラムを実行するコンピュータ・システムはそれ自体が
フレーム・バッファに直接書き込みを行う各個のプログ
ラムのように迅速には情報のディスプレー動作を行わな
い。必要なオーバヘッドを備えたウインドゥ・システム
のプログラムは出力ディスプレーを毎秒10回しか変更
し得ないことがあり、一方、ライブ・ビデオ・ディスプ
レーは観察者に対して歪みが見えないように動作を描写
するには毎秒60回ディスプレーされることを要求す
る。
【0006】図形処理の動作全体を加速するため、多く
の図形ディスプレー機能の中央処理装置の使用を少なく
して図形情報のディスプレーを加速する種々の図形アク
セレータが設計されてきた。コンピュータ・システムに
よっては各個のアプリケーション・プログラムからのデ
ータがウインドゥ・システムをバイパスすることがで
き、図形アクセレータに直接書き込まれることによっ
て、出力ディスプレー上での図形画像の描写を大幅に加
速するものがある。代表的には極めて迅速な図形プログ
ラムが描写を加速するためにこの機能を利用している。
しかし、ウインドゥ・システムのプログラムは、ディス
プレー上でのウインドゥ領域の割当てと処理を制御し、
且つ極めて迅速な描写を必要としない別のアプリケーシ
ョン・プログラム用の図形画像の描写を制御するための
多重タスクの環境でも利用されている。その結果、2つ
の別個の処理手順、すなわちウインドゥ・システムによ
るウインドゥの配置と運動の制御と、アプリケーション
・プログラムによるウインドゥ用のデータの供給とが、
アプリケーション・プログラムが直接的に図形アクセス
を行うウインドゥ用の図形アクセレータのハードウェア
を共用しなければならない。
【0007】コンピュータ・システムで実行されている
多重の処理手順が、適正に動作するために、実行されて
いる処理手順の状態に関する情報(処理手順の状態を定
義するデータ、一般には単に“状態”と呼ばれる)を記
憶するハードウェアの一部を共用したい場合は、異なる
処理手順が特定のハードウェアを利用したい場合ごとに
何らかの手段によってハードウェアの状態が変更されな
ければならない。すなわち、目下実行されている処理手
順は、これが停止した時点から処理を継続できるよう
に、状態が再開される際にハードウェア内で復元可能で
あるようにその状態が保存されなければならない。更
に、実行されるべき処理手順は、これが適正に実行され
るようにハードウェア内でその状態が復元されなければ
ならない。この動作は一般に状態の保存と復元、もしく
は文脈の切り換えと呼ばれている。
【0008】伝統的には、処理手順はハードウェアの特
定の部分の独占的な利用を要求し、これを一定期間独占
的に利用する。この独占的な利用を確保するため、処理
手順はオペレーティング・システムへ呼出しを行う。オ
ペレーティング・システムは多くの点検を実施し、最終
的には文脈の切り換えを達成するものと想定される。こ
のような呼出しには多くの時間を要し、中央処理装置が
他の機能を果たせなくなる。コンピュータが単一のアプ
リケーション・プログラムを実行している場合は、この
ような呼出しは頻繁には行われないので所要時間は決定
的に重要ではない。しかし、同時に多数の異なるアプリ
ケーション・プログラムを多重タスクとして実行するコ
ンピュータ・システムの場合は、文脈の切り換えを達成
するためのアプリケーション・プログラムからのシステ
ムの伝統的な呼出し手順を極めて頻繁に利用しなければ
ならず、システム動作の速度が大幅に遅くなる原因にな
る。
【0009】一般に多数の文脈切り換えを必要とする複
数個のプロセッサ(例えば中央処理装置及び浮動点プロ
セッサ)を使用しているシステムでは、オペレーティン
グ・システムには文脈の切り換えを達成するために処理
手順によってシステムの呼出しを行う必要性をなくし、
ひいてはそれに必要な時間を短縮するために、従来長期
にわたってスケジューリング機能が備えられてきた。し
かし、このような自動的な文脈切り換え機構は一般に、
システム内の他のハードウェアを利用するためには活用
できなかった。
【0010】出力ディスプレー上の複数個のウインドゥ
に多重のアプリケーション・プログラムの結果を同時に
ディスプレーする場合のように極めて大量のデータの伝
送を処理手順が必要とする場合は、極めて広範囲の文脈
切り換えが必要である。例えば、図形アクセレータは出
力ディスプレー上のウインドゥに同時にディスプレーさ
れる別個のアプリケーション・プログラムに関する状態
を記憶する。この状態は、その他の要素と並んで個々の
ウインドゥの位置、アプリケーション・プログラムによ
って使用されるカラー・モード、及びプログラムによっ
てディスプレーされるべき結果が二重バッファリングさ
れているかどうか、及びその他の多数の要素を描写す
る。この処理手順の実行時には同時にウインドゥ・シス
テムの動作に必要な状態が図形アクセレータに記憶され
る。
【0011】多重タスク環境では通常は、処理手順の実
行中の時間全体にわたってソフトウェアが必要とする全
てのハードウェア資源の独占的な利用を要求するか、そ
れがハードウェアを必要とするごとにハードウェアを明
確に要求するために、ソフトウェアが書き込まれなけれ
ばならない。限定されたハードウェア資源の最大限の共
用を可能にするために、良好に書き込まれたソフトウェ
アは一般に、共用されたハードウェアへの独占的なアク
セス権を保持するのに費やす時間を限定している。しか
し、明確なアクセス要求は一般に時間を費やすので、多
くのソフトウェアは、アクセス要求があるにしてもどの
様な種類のアクセスが実際に要求されているかを知るこ
となく、比較的トップレベルのコードでアクセス要求を
行う。多重タスク・システムでは、処理手順による中央
処理装置の利用ごとに図形アクセレータへのアクセス要
求が促されるならば、中央処理装置と時分割している異
なる処理手順による無数の要求によって、図形ハードウ
ェアが必ずしも要求されていない場合でも常時文脈の切
り換えがなされるであろう。これらの要求の各々がオペ
レーティング・システムへの呼出しを要求するならば、
多重ウインドゥの実際のディスプレー速度はアクセス要
求の処理のオーバヘッドのみに起因して劇的に遅くな
る。異なるアプリケーション・プログラムによる図形ア
クセレータの実際の利用の度にしかアプリケーション・
プログラムによってシステムの呼出しが要求されない場
合でも、要求によって多くの時間が無駄になる。
【0012】最近になって、アプリケーション・プログ
ラムによるシステムの呼出しを必要とせずに、複数の処
理手順が中央処理装置と数学的コープロセッサに加えて
ハードウェア・デバイスを利用できる文脈切り換え機構
が提案されている。本出願の出願人に譲渡されている1
989年9月28日出願のD.ローゼンタール他の米国
特許出願番号第07/413,976号「デバイスの文
脈切り換えの方法と装置」はこのようなシステムを開示
している。この発明の教示によれば、処理手順によるハ
ードウェア・デバイスの利用要求とこれに付随する文脈
の切り換えは、システムの呼出しから、ハードウェアと
オペレーティング・システム内に既に組み込まれ、最適
化されたソフトウェアの双方から構成されたシステムの
仮想記憶域管理部分へと移行している。デバイス上で動
作しない処理手順によりデバイスを利用しようとする試
みだけでページフォルトがトリガされ、これはシステム
の仮想記憶域管理部分によって自動的に処理されて、文
脈の切り換えが達成される。記憶域管理機能は文脈切り
換えを効率よく実行するように既に準備されている。
【0013】アプリケーション・プログラムから明確な
アクセス要求を除去することによって文脈切り換えに含
まれるオーバヘッドの量が劇的に減少する。記憶域管理
装置は特定のハードウェア部分に関してデバイスの励振
器を呼び出す。デバイスの励振器は自動動作として文脈
切り換えを行うように準備されている。好ましい実施例
では、処理手順が特定のハードウェア・デバイスを実際
にはアクセスしない場合は、デバイスの文脈切り換えは
決してなされない。図形アクセレータと共に使用する場
合は、処理手順は行われる文脈切り換えを縮減し、図形
アクセレータ・ハードウェアを用いて複数のアプリケー
ション・プログラムを多重ウインドゥに提示する際に生
ずる文脈切り換えの速度を加速するように機能する。こ
の新規の発明は同時に実行される多重図形アプリケーシ
ョン・プログラム用の直接的な図形アクセス支援に必要
な文脈切り換えを大幅に加速するものである。
【0014】しかし、最近になってディスプレーと関連
するオフスクリーン・データを記憶するために余剰フレ
ーム・バッファ記憶装置を利用する新規の方法が開発さ
れている。例えば、オフスクリーン記憶装置に別のウイ
ンドゥの部分によってカバーされた図形ウインドゥ内の
第2のデータ表現を記憶することが有用である場合が多
い。この第2の表現によって別のウインドゥ部分により
カバーされたウインドゥ部分内のピクセル・データ用の
一時記憶装置(代表的には“保持されたウインドゥ”と
呼ばれる)が提供される。このピクセル・データは重複
したウインドゥがカバー位置から除去されるとスクリー
ンに復元できるように保存される。このオフスクリーン
に保持されたウインドゥを局域的にディスプレー・ハー
ドウェア内に記憶することができれば、システム記憶装
置内にデータを記憶するのに必要な時間を大幅に節減で
きる。アプリケーション・プログラム用に二重バッファ
リングを行うディスプレー・システムには二重バッファ
リングが利用されない期間中、相当量の未使用のフレー
ム・バッファ記憶装置がある。前記の最近の発明がなさ
れる以前は、この目的でディスプレー記憶装置を利用す
るには、オフスクリーン記憶装置の割当てに時間が掛か
り過ぎた。1991年6月17日付け出願され、本発明
の出願人に譲渡されているマッキンタイヤ他の米国特許
出願連続番号第 号「オフスクリーン・ディ
スプレー記憶装置の割当て方法」は、このオフスクリー
ン・ディスプレー記憶装置を利用する方法を詳細に開示
している。
【0015】一般的には、ウインドゥ・システムは保持
されたウインドゥのピクセル・データの記憶と更新を制
御する。しかし、アプリケーション・プログラムによる
直接的な図形アクセスがなされる場合は、ウインドゥ・
システムはピクセル・データを制御せず、従って、ウイ
ンドゥの目下目視不能な保持部分内のデータを更新し
て、ウインドゥの目視可能部分に対してアプリケーショ
ン・プログラムによって成される更新と対応させること
ができない。その結果、ウインドゥがカバーされていな
い場合は古くなったピクセル・データが供給されること
がある。アプリケーション・プログラムを呼び出す必要
なくウインドゥのカバーされた部分を更新するには、直
接的図形アクセスを利用するアプリケーション・プログ
ラムが、それが目視可能な記憶装置に書き込むと同時に
オフスクリーン記憶装置に書き込み可能であることが必
要である。このことは特に古い出力を覚えており、復元
する能力を備えずにアプリケーション・プログラムが書
き込まれている場合に当てはまる。この二重アクセスは
前述の最初の特許出願に開示されている機構によっては
不可能である。
【0016】アプリケーション・プログラムにとってフ
レーム・バッファ内のオフスクリーン記憶装置を直接的
に図形アクセスすることが有用であるだけではなく、デ
ィスプレー上で実行されている任意のアプリケーション
・プログラムについて二重バッファリングが必要である
場合は、この二重バッファリング用にオフスクリーン用
のフレーム・バッファのスペースを付与しなければなら
ない。このような場合は、フレーム・バッファの(二重
バッファリング用には目下使用されていない)余剰スペ
ース内に記憶された保持されたウインドゥ又は同様のオ
フスクリーン・データは全てシステム記憶装置へと除去
されなければならない。その結果、データがシステム記
憶装置に記憶されている場合は、アプリケーション・プ
ログラムもウインドゥの保持された部分に直接的な図形
アクセスを行う必要があろう。更に、ウインドゥ・シス
テムはオフスクリーン・データがフレーム・バッファに
記憶されているにせよ、システム記憶装置に記憶されて
いるにせよ、その移動を制御するので、アプリケーショ
ン・プログラムとウインドゥ・システムの双方がフレー
ム・バッファ又はシステム記憶装置内に保持されたウイ
ンドゥのデータを処理できなければならない。従ってオ
フスクリーン又はシステム記憶装置の何れかのピクセル
・データに共用してアクセスする機構を必要とするだけ
ではなく、オフスクリーン記憶装置内にある場合はアク
セスの同期化と、図形ハードウェアの文脈切り換えを確
実にする方法が必要である。
【0017】
【発明が解決しようとする課題】従って、本発明の課題
はフレーム・バッファ記憶装置内のオフスクリーン・デ
ータの記憶に使用されるハードウェアの文脈切り換えを
実行するためにシステムの呼出しの必要をなくすること
である。
【0018】本発明の別の課題はフレーム・バッファの
余剰の記憶域に記憶されたオフスクリーン・データ用の
状態の文脈切り換えを自動化することである。
【0019】本発明の付加的な課題はフレーム・バッフ
ァの余剰記憶域、又はシステム記憶装置の何れに記憶さ
れている場合でもオフスクリーン・データ用の状態の文
脈切り換えを自動化することである。
【0020】
【課題を解決するための手段】本発明の前記の課題及び
その他の課題は、保持されたウインドゥ部分用に使用さ
れ、図形アクセレータによって制御されるフレーム・バ
ッファ記憶装置の一時記憶域へのアプリケーション・プ
ログラムによる直接的な図形アクセスを可能にする方法
であって、ウインドゥ領域の保持された部分が最初に余
剰フレーム・バッファ記憶装置内に存在することを示す
一時記憶域用のシステム記憶装置内に共用メモリ・ファ
イル、この共用メモリ・ファイルは処理に際して共用記
憶域が使用されることを示す記憶装置を有している、を
確立するステップを有する方法において、別の処理手順
の状態が図形アクセレータに記憶されている間に図形ア
クセレータへのアクセスが試みられるごとにページフォ
ルトを作成する段階と、ページフォルトに応答してデバ
イスの駆動装置を呼び出して図形アクセレータに記憶さ
れた文脈をアクセスを試みる処理手順の文脈へと切り換
える段階、とを有する方法によって解決される。
【0021】本発明の前記の、及びその他の課題と特徴
は貼付図面を参照した本発明の以下の詳細な説明によっ
てより明解に理解されよう。図中同一の素子には同一の
参照符号が付されている。
【0022】
【表記方法と用語】以下の詳細な説明の部分の中にはコ
ンピュータ記憶装置内のデータ・ビットでの動作を記号
的表現で説明している部分がある。これらの説明と表現
はデータ処理の分野の専門家がその研究の本質を他の専
門家に最も有効に伝達するために用いられる手段であ
る。処理動作とは、物理量の物理的処理を必要とする動
作である。必ずとは限らないが通常は、これらの物理量
は記憶、伝送、結合、比較及びその他の処理が可能であ
る電気又は磁気信号の形式をとっている。場合によって
は、主として一般に用いられているという理由から、こ
れらの信号をビット、数値、要素、記号、文字、用語、
数字等で表すことが便利であることが実証されている。
しかし、これらの用語及びそれに類する用語は全て適宜
の物理量に関連するものであり、これらの物理量に付与
された便利なラベルの役割を果たすものに過ぎないこと
を留意されたい。
【0023】更に、実行される処理は人間のオペレータ
によって行われる知的な演算に関連する加算又は比較の
ような用語で呼ばれる場合が多い。しかし、多くの場合
は本発明の部分を構成する本明細書で説明するどの演算
も人間のオペレータによるこのような能力は必要なく、
望まれるものでもない。本発明の動作を実行する有用な
機械には汎用のディジタル・コンピュータ又はこれに類
する装置が含まれている。いずれの場合も、コンピュー
タを操作する操作方法と計算自体の方法との区別に留意
されたい。本発明は電気的又はその他の(例えば機械
的、化学的)物理信号を処理して別の必要な物理信号を
生成するための方法と装置に関するものである。
【0024】
【実施例】本発明は異なるコンピュータ動作システムを
実行する多くのコンピュータ・システムの何れにも応用
できるが、理解を用意にするため、以下の説明ではユニ
ックス・オペレーティング・システムの文脈で説明する
ことにする。更に、出力ディスプレー上の複数個のウイ
ンドゥのディスプレーを制御する機構はXウインドゥ・
システム又はこれと同類のウインドゥ管理システムの文
脈で説明する。
【0025】既に指摘したように、前記の第1の特許出
願の発明は特に図形アクセレータを使用した処理手順間
の文脈の切り換え速度を加速して、図形のアプリケーシ
ョン・プログラムがウインドゥ・システムのプログラム
によって制御されるディスプレー内でウインドゥに対し
て直接的に図形アクセスを行うことができるように考案
されたものである。前記発明は図形アクセレータを目下
使用していないプログラムがハードウェアの当該部分に
アクセスを試みるごとにシステムの呼出しをする必要な
く自動的に文脈の切り換えとアクセスの同期化を行える
ようにするものである。アクセスを試みているプログラ
ムは直接的図形アクセスを試みるアプリケーション・プ
ログラムの一つであることもでき、又はウインドゥ・シ
ステムのプログラムであってもよい。
【0026】ハードウェアへのアクセスを求めるプログ
ラムは最初に2つのプログラム間で共用されている記憶
装置のページ(ロック・ページと呼ばれる)に書き込
む。このロック・ページはそれがハードウェアを使用
中、又は共用記憶域を使用中にプログラムへの独占的な
アクセスを付与するために利用される。プログラムがア
プリケーション・プログラムである場合は、時限的な期
間の経過後にこの独占的な使用は終了する。又、前記期
間の経過前にアプリケーション・プログラムがデバイス
を明確に解放しない場合は、デバイスは解放される。デ
バイス(図形アクセレータ)が別のプログラムによって
目下ロックされていない場合は、このプログラムは直ち
に実行を開始する。デバイスが別のプログラムによって
目下ロックされている場合は、プログラムは共用された
記憶域ロック・ページに書き込みを試み、ページフォル
トを誘発する。オペレーティング・システム内の仮想記
憶域管理ソフトウェアは記憶域のこのページを特別のペ
ージとして認識し、ページフォルトを処理するためにデ
バイスの励振器を呼び出す。そこでデバイスの励振器は
デバイスを目下ロックしているプログラムが明確にこれ
を解放し、又は使用期間が経過するまでロックアウトさ
れたプログラムを休止させる。プログラムがウインドゥ
・システムのプログラムであった場合は、共用された記
憶域のページに関する任意の状態情報(例えばその位
置、サイズ及びクリップの形状)が確実に更新されたこ
とをプログラムが確認するまでロックは解除されない。
【0027】アプリケーション・プログラムが共用され
たメモリ・ファイルを首尾よくロックすると、アプリケ
ーション・プログラムが必要とする任意の状態情報が更
新され、図形ハードウェアを使用する権利を有するもの
と見なすことができる。新たなロックを有するプログラ
ムが図形ハードウェアを使用する最後のプログラムでは
なかった場合は、ハードウェアに対する最初のアクセス
によって別のページフォルトが誘発され、その結果デバ
イスの励振器が別個に呼び出され、そこで励振器は図形
ハードウェアにプログラムが発見することを期待する文
脈をロードし、それによってプログラムはハードウェア
を独占的に使用できることを認識することができる。次
に、プログラムは図形ハードウェアの使用が終了するま
で進行し、そこでロック動作と同様の動作で共用された
記憶域のページのロックを解除する。
【0028】デバイスの励振器はオペレーティング・シ
ステムの一部であるが、それ自体、ある種の処理動作
(例えばピクセル・アクセスの同期化又はデバイスの文
脈切り換え)がなされると呼び出されるように仮想記憶
域管理システムと符合している。このように、デバイス
の励振器はアプリケーション・プログラム又はウインド
ゥ・システム・プログラムによって呼び出されるシステ
ムに対する要求を短絡し、それによって共用いの区域又
はデバイスにアクセスの同期化又は文脈の切り換えが必
要である度に文脈切り換えの速度を速める。前記の特許
出願に開示されている好ましい実施例の一つでは、前記
発明はプログラムが実際に図形アクセレータを必要とす
る場合に限って文脈切り換えを起動するように機能する
ことによって、コンピュータ・システムの動作速度を大
幅に高める。前記発明はウインドゥ・システム・プログ
ラムとアプリケーション・プログラムの双方が図形アク
セレータにアクセスするのに必要な極めて迅速な文脈切
り換えを可能にすることによって、アプリケーション・
プログラムが視覚的ディスプレー上のピクセルへのアク
セスを付与する。
【0029】前述のとおり、ユニックス・オペレーティ
ング・システムではアプリケーション・プログラムは代
表的には同時に動作され、その結果が出力ディスプレー
上のウインドゥ内に同時にディスプレーされる複数のプ
ログラムの一つとして実行される。複数のウインドゥ内
の複数のアプリケーション・プログラムを提示した出力
ディスプレーが図1に示されている。これらのウインド
ゥの一つの部分がカバーされる場合は、カバーされた部
分のデータが一時記憶域に保持されて、カバーしている
ウインドゥが除去されたときに再度ディスプレーされる
ようにすることが望ましい。ウインドゥ・システムは一
般にこのような動作を達成するように準備されている。
その他の理由と並んで上記の理由から、多くのアプリケ
ーション・プログラムがウインドゥ・システムのプログ
ラムが保持されたウインドゥを作成することを要求す
る。しかし、前述の発明はアプリケーション・プログラ
ムがウインドゥの目視可能部分にアクセスするために利
用することができるものの、ウインドゥ・システムは前
記発明を利用して記憶域の保持されたウインドゥ部分内
のデータにアクセスできる唯一のプログラムである。こ
のように、ウインドゥ・システムを利用する場合はアプ
リケーション・プログラムはディスプレーされているウ
インドゥの目視可能部分に直接的に図形アクセスが可能
であったとしても、ウインドゥ領域の保持された部分へ
のアクセスはできない。その結果、直接的な図形アクセ
スが可能であるアプリケーション・プログラムはそのウ
インドゥの目視可能部分のピクセルを急速に更新できる
ものの、ウインドゥの任意のカバー部分内のピクセルを
更新するにはウインドゥ・システム・プログラムに依存
しなければならない。
【0030】本発明によってアプリケーション・プログ
ラムはデータがオフスクリーンのフレーム・バッファ記
憶装置にある場合も、システム記憶装置にある場合もウ
インドゥ・スペースの保持された部分への直接的な図形
アクセスが可能になる。
【0031】アプリケーション・プログラムが開始され
ると、アプリケーション・プログラムは一般にプログラ
ムに所定量の仮想記憶アドレス・スペースを割り当て
る。この仮想記憶スペースが図2に示されている。一般
に、アプリケーション・プログラムはプログラム命令コ
ード及びプログラム・データと共にアプリケーション・
プログラムが利用できる仮想ドレス・スペースの僅かな
部分しか占めない。アプリケーション・プログラムが特
定のハードウェア・デバイスを使用したい場合、アプリ
ケーション・プログラムはオペレーティング・システム
に対して使用される特定のデバイスに対応するファイル
・システム内の特定のファイルを開くように求めること
によってハードウェア・デバイスの使用を要求する。デ
バイスがシステムに付属し、そのプログラム用に利用で
きる場合は、オペレーティング・システムはアプリケー
ション・プログラムにファイル記述子を戻して当該のデ
バイス用の識別子を付与する。そこでプログラムはこの
記述子を利用してデバイスを照会し、オペレーティング
・システムに対してアプリケーション・プログラム用に
残されている未使用の仮想記憶アドレスの一部を割当
て、特定のハードウェア・デバイスと関連するレジスタ
と記憶装置を前記の仮想記憶アドレスのスペースにマッ
ピングすることを要求する。それによってアプリケーシ
ョン・プログラムがハードウェア・デバイスをアドレス
指定できる一組の仮想アドレスが付与される。
【0032】同様にして、ウインドゥ・システムが図形
アクセレータ(ハードウェア・デバイス)を使用したい
場合はウインドゥ・システムはオペレーティング・シス
テムに対してデバイスの使用を可能にする特定のファイ
ルを開くように要求し、オペレーティング・システムか
らデバイスの記述子を受理し、その仮想記憶スペースの
一部を図形アクセレータ内のレジスタ及び記憶アドレス
用に残しておく。それによってウインドゥ・システムが
図形アクセレータをアドレス指定可能である第2の一組
の仮想アドレスが付与される。
【0033】アプリケーション・プログラムによる図形
アクセレータへの直接的なアクセスなしで、ウインドゥ
・システムが出力ディスプレーを制御するためだけに使
用される場合は、ウインドゥ・システムに割り当てられ
た仮想記憶スペースへの図形アクセレータの前記マッピ
ングを介して、ウインドゥ・システムだけが図形アクセ
レータにアクセスできる。次に各々のアプリケーション
・プログラムがそのデータをウインドゥ・システムに供
給し、このウインドゥ・システムは代表的には、割り当
てられた特定のウインドゥに前記データを伝送する準備
ができるまで、このデータをシステム記憶装置に送る。
この種類の動作では、ウインドゥ・システムだけが図形
アクセレータ及前記マッピングを介して、ウインドゥ・
システムだけが図形アクセレータにアクセスできる。次
に各々のアプリケーション・プログラムがそのデータを
ウインドゥ・システムに供給し、このウインドゥ・シス
テムは代表的には、割り当てられた特定のウインドゥに
前記データを伝送する準備ができるまで、このデータを
システム記憶装置に送る。この種類の動作では、ウイン
ドゥ・システムだけが図形アクセレータ及びフレーム・
バッファ記憶装置にアクセスするので、プログラムが出
力ディスプレーのウインドゥ内にデータをディスプレー
するには文脈の切り換えは必要ない。
【0034】しかし、アプリケーション・プログラム
(代表的には図形プログラム)が直接的に図形アクセレ
ータにアクセスし、且つウインドゥを確立し、これを移
動させるためにウインドゥ・システムを利用したい場合
は、アプリケーション・プログラムとウインドゥ・シス
テムの双方がデバイスにアクセスできなければならな
い。更に、頻繁な同期化と文脈の切り換えが必要であ
る。このことにより、異なる仮想アドレスを使用してい
る2つのプログラムが図形ディスプレーの符合のために
同じ物理的アドレスにアクセスすることが必要である。
更に、ウインドゥのサイズ、位置及び重複を管理してい
るウインドゥ・システムが直接的な図形アクセスを利用
してこれらの情報の変化を適時にアプリケーション・プ
ログラムに通信できることが必要である。このことを達
成するため、2つのプログラムは互いに干渉しないよう
に何らかの方法で相互に通信しなければならない。これ
は双方のプログラムがアクセスできる記憶装置の共用記
憶域を使用することによって達成された。
【0035】目視可能ウインドゥへの直接的な図形アク
セスを行うことを望むアプリケーション・プログラムが
開始されると、プログラムはウインドゥ・システムに対
して、それが直接アクセスできるウインドゥを作成した
いこと及びウインドゥは共用されるべきであることを信
号で伝達する。次にウインドゥ・システムはシステム記
憶装置内に共用されたメモリ・ファイルを作成し、双方
のプログラムはこのファイルを開き、それぞれの仮想記
憶アドレス・スペースへと記憶域を割当てる。次にこの
共用されたメモリ・ファイルは同期機構と、ウインドゥ
・システムからアプリケーション・プログラムへと情報
を適時に通信する方法として、これらの目的専用に使用
される。共用メモリ・ファイルにはロック・ページと、
少なくとも一つの状態ページとが含まれる。状態ページ
はアプリケーション・プログラムとウインドゥ・システ
ムの双方を理解する共通のデータ構造を含んでいる。こ
のデータ構造はウインドゥの状態を示すための種々の標
識と情報を有している。例えば、データ構造はウインド
ゥがフレーム・バッファ記憶装置のどの位置にあるかを
その座標によって示し、又、目下どのプログラムがウイ
ンドゥを制御しているかを告げる。各プログラムは更
に、図2に示すように、フレーム・バッファを別個にそ
れぞれの仮想記憶アドレス・スペースにマッピングする
ので、図形アクセレータのレジスタを用いては達成でき
ない動作の場合は、フレーム・バッファ記憶装置へのア
クセスを直接得ることができる。
【0036】いくつかのウインドゥ・システムを使用す
ることによって得られる利点の一つはウインドゥの保持
機構である。ウインドゥの保持された部分には目視可能
ウインドゥの任意のカバーされた部分のデータのコピー
が含まれている。ウインドゥの保持された部分は代表的
にはシステム記憶装置内に記憶される。目視可能ウイン
ドゥが図1に示すようにディスプレー上の第2のウイン
ドゥによってカバーされている場合は、ウインドゥの保
持された部分はカバーされた部分に送られる最後のデー
タのコピーを保存するために利用され、カバーを外され
た場合はウインドゥを復元することができる。前述した
ように機能する従来の形式のウインドゥ・システムで
は、ウインドゥ・システム・プログラムだけがこの保持
されたウインドゥのデータにアクセスすることができ
た。その結果、アプリケーション・プログラムによる直
接的な図形アクセスを介して目視可能ウインドゥのカバ
ー部分だけにデータが供給された場合は、アプリケーシ
ョン・プログラムはウインドゥの保持された部分にアク
セスできないのでデータは損逸してしまう。アプリケー
ション・プログラムはウインドゥの更新を担っているの
で、ウインドゥ・システム・プログラムはウインドゥの
カバー部分の更新が必要かどうかを知りえない。その結
果、ウインドゥのカバーが外されると、ウインドゥは古
いデータをディスプレーすることになる。一般に極めて
迅速な図形プログラムだけが直接的な図形アクセス機構
を使用しているので、これらのプログラムは特定のアプ
リケーション・プログラムがプロセッサの制御を獲得
し、その時点で目視可能状態になったウインドゥ部分へ
の新たなデータの書き込みが可能になるまでは、カバー
を外される度に歪んだウインドゥをディスプレーする場
合が多かった。
【0037】ディスプレーと関連したオフスクリーン・
データを記憶するために余剰のフレーム・バッファ記憶
装置を利用するように開発された前述の新規の方法によ
って、ウインドゥの保持された部分を極めて利便に記憶
できる大量の記憶域が得られる。例えば、アプリケーシ
ョン・プログラム用に二重バッファリングを実行するデ
ィスプレー・システムは二重バッファリングが実施され
ていない期間中は、相当量の未使用のフレーム・バッフ
ァ記憶域をもたらす。この記憶域を保持されたウインド
ゥの支援と、同様のディスプレー関連データ用に利用で
きれば、図形処理動作の速度を大幅に加速することがで
きる。この情報はディスプレー・ハードウェア内に局域
的に記憶することができるので、システム記憶装置内に
情報を記憶し、これを更新するために通常は必要である
時間を大幅に節減できる。しかし、ウインドゥの保持さ
れた部分をアプリケーション・プログラムによって直接
アクセスでき、従ってウインドゥ及びディスプレーの同
様の部分のカバーが外された時に古いデータの問題が発
生しなければ更に一層好ましいであろう。
【0038】上記のことを達成するため、本発明はアプ
リケーション・プログラムによるシステムの呼出しの必
要性が無くなるように急激なアクセス同期化とデバイス
の文脈切り換えの利用を拡張し、第2の共用記憶機構の
使用によりウインドゥの保持された部分への直接的なア
クセスを可能にし、この直接アクセスを保持されたウイ
ンドゥを内部に記憶できる余剰のフレーム・バッファ記
憶装置とシステム記憶装置の双方に拡大し、プログラム
間の同期化と通信を達成するために、プログラムが互い
に干渉しないようにロック機構の利用を拡大したもので
ある。本発明の方法の段階は図3に詳しく示されてい
る。
【0039】この方法の第1段階はウインドゥ・システ
ムの動作の実際の背景になるものである。この段階10
で、ウインドゥ・システム・プログラムは動作を開始す
る。このプログラムは仮想記憶スペースを受理し、フレ
ーム・バッファと図形アクセレータのレジスタをこのス
ペースにマッピングする。
【0040】アプリケーション・プログラムが目視可能
ウインドゥと、目視可能ウインドゥ内にカバーされたデ
ータのコピーを含んでいる保持されたウインドゥの双方
に直接アクセスしたい場合は、アプリケーション・プロ
グラムは共用されるべきウインドゥを作成したい旨を
(段階20)、又、ウインドゥ・システムの保持された
ウインドゥの機能を利用したい旨を(段階30)ウイン
ドゥ・システムに対して通信する。次にアプリケーショ
ン・プログラムはこのウインドゥの目視可能部分に直接
アクセスすることを要求する(段階40)。これにはウ
インドゥ・システムの承認が必要である。この承認が与
えれたものと仮定すると、ウインドゥ・システムの応答
及びウインドゥ・システムとアプリケーション・プログ
ラムとのインタラクションが段階50、60及び70に
示すように、ウインドゥの目視可能部分に関して前述し
たように継続される。しかし、このインタラクションは
本発明によってウインドゥの保持された部分をも含むよ
うに拡張されている。
【0041】次に、アプリケーション・プログラムはウ
インドゥ・システム・プログラムに対して保持されたウ
インドゥ・スペースへのアクセスを望んでいる旨の信号
を送る。(段階80)ウインドゥ・システムが共用の保
持されたウインドゥに対する直接的な図形アクセス要求
を承認すると、ウインドゥ・システムは段階90に移行
して、ウインドゥの保持された部分に関する同期情報用
の付加的な共用メモリ・ファイルを作成し、共用メモリ
・ファイルの第1ページをこのファイル用の状態ページ
として初期設定する。ウインドゥ・システムが任意のウ
インドゥを作成すると、これはウインドゥ識別子を供給
し、この識別子はウインドゥの保持された部分用の共用
メモリ・ファイル名に利用されて、ウインドゥ・システ
ムとアプリケーション・プログラムの双方に知られてい
るファイル・システム内の独自のファイル名が付与され
る。次に、ウインドゥ・システムは(依然として段階9
0において)、この付加的な共用メモリ・ファイルのフ
ァイル・サイズを拡大して、ウインドゥの保持された部
分内の全てのピクセルを包括するのに充分なサイズに
し、この記憶域の全てをその仮想記憶域アドレス・スペ
ースへとマッピングする。
【0042】段階90を実施する際に、オフスクリーン
・フレーム・バッファ記憶装置が保持されたウインドゥ
のデータ用に活用できる場合は、ウインドゥ・システム
は先ず自動的に前記の記憶装置を割当てようと試みる。
それが不可能である場合は、ウインドゥ・システムはウ
インドゥ・データをシステム記憶装置に送る。ウインド
ゥの保持された部分がシステム記憶装置内にある場合
は、ピクセルは共用されたメモリ・ファイルのピクセル
領域にコピーされる。ウインドゥ・システムはアプリケ
ーション・プログラムに対して、共用メモリ・ファイル
の状態ページ内の情報によって、ウインドゥの保持部分
がオフスクリーン・フレーム・バッファ記憶装置内にあ
るのか、共用メモリ・ファイルのピクセル領域内にある
のかを指示する。ウインドゥの保持部分が図形アクセレ
ータによって制御されたオフスクリーン・フレーム・バ
ッファ記憶装置内に送られると、ピクセル・データはそ
れがウインドゥ・システムによって保持されたウインド
ゥの共用メモリ・ファイルのピクセル領域に移動されな
い限り、同じ位置に留まる。前記の状態が生じ、ピクセ
ル・データが後に別の位置のオフスクリーン記憶域内に
送り戻されると、アプリケーション・プログラムはウイ
ンドゥ・システムによって更新された共用メモリ・ファ
イルの状態ページに次にアクセスする際に、新たな位置
を通知する。
【0043】アプリケーション・プログラムは更に段階
100で付加的な共用メモリ・ファイルをその仮想記憶
スペースにマッピングする(図2を参照)。アプリケー
ション・プログラムがウインドゥ・システムに対してウ
インドゥを作成するように要求すると、ウインドゥ・シ
ステムはウインドゥの識別子を王よプログラムに戻す。
そこでアプリケーション・プログラムはこのウインドゥ
識別子をこのウインドゥを含むそれ以外の全ての通信に
利用する。アプリケーション・プログラムとウインドゥ
・システムの双方がこの独自の識別子のことを知ってお
り、この識別子から保持されたウインドウの共用メモリ
・ファイル用のファイル名を構成する方法を知っている
ので、アプリケーション・プログラムはウインドゥの保
持された部分へのアクセスを得るにはどのファイルを開
き、その仮想記憶アドレス・スペースにマッピングする
べきかを自動的に知る。アプリケーション・プログラム
は同様にしてウインドゥの目視可能部分用の共用メモリ
・ファイルを発見する。
【0044】前述したように、この第2共用メモリ・フ
ァイルの第1ページはアプリケーション・プログラムと
ウインドゥ・システムの双方がウインドゥの保持部分に
関して通信できるデータ構造を備えている。このデータ
構造は共用された情報の状態を示すための種々の標識を
有している。例えば、データ構造はファイルがフレーム
・バッファのオフスクリーン記憶域にあるか、システム
記憶装置内の共用メモリ・ファイルのピクセル領域内に
あるかを告げる。更にこのデータ構造は特にウインドゥ
の保持部分が余剰のフレーム・バッファ記憶域にある場
合はその座標によって位置を示し、一つ以上のフレーム
・バッファが起動している場合はどのフレーム・バッフ
ァに位置しているかを示す。このウインドゥ位置の情報
は、アプリケーション・プログラムが図形アクセレータ
のレジスタを介しては得られない動作用にフレーム・バ
ッファ記憶域を直接アクセスする必要がある場合はアプ
リケーション・プログラムによって利用されることがで
きる。
【0045】アプリケーション・プログラムは目視可能
なウインドゥ・スペースと保持されたウインドゥ・スペ
ースの状態を構成するピクセルと共用メモリ・ファイル
の双方を直接アクセスするので、アプリケーション・プ
ログラムがウインドゥの目視可能部分の内容を更新する
場合、これはウインドゥの保持部分内の任意の必要な領
域を同時に更新することができる。そこで、ウインドゥ
の重複部分が後にカバーを外される場合は、新たにカバ
ーを外された部分のデータはウインドゥ・システムによ
ってスクリーンにコピーされた場合も古いデータではな
い。
【0046】ウインドゥの目視可能部分と保持部分の双
方で直接的な図形アクセスを求めるウインドゥ・システ
ムとアプリケーション・プログラムとの双方が適宜の共
用記憶域通信領域を確立すると、それらの同期インタラ
クションは次のように進展する。
【0047】ウインドゥ・システムとアプリケーション
・プログラムの双方は仮想記憶システムがウインドゥの
目視可能部分用の共用記憶ロック・ページへの専有アク
セスを許容するように既に要求している(段階50及び
80)。双方のプログラムとも何れか一方が共用記憶域
の状態ページ内の任意の状態情報を変更し、またはウイ
ンドゥの目視可能部分または保持部分の何れかのピクセ
ル領域をアクセスする前に、共用記憶域ロック・ページ
へのアクセスを試みることによってこれらの共用された
領域を先ず「ロック」するという規則に従う(段階11
0又は段階130)。このアクセスが有効である場合に
は、このアクセスによって仮想記憶システムはアクセス
を行うプログラムをこれらの記憶域の全ての一時的な専
有者として扱うようにされる。何れのプログラムもロッ
クを付与されていない場合にロック・ページへのアクセ
スが試みられると、仮想記憶システムによってそのプロ
グラムには即座にロックが付与される。処理手順は必要
である任意の状態又はピクセルの変更を行いつつ継続
し、その後、ロック動作と同様のアクセスを用いてロッ
ク・ページのロックを解除する。しかし、一つのプログ
ラムがロック解除されないロック・ページを有し、別の
プログラムがロック・ページへのアクセスを試みる場合
は、このプログラムは仮想記憶システムのページフォル
ト機構によってブロックされ、ロック・ページのロック
が解除されるまで励振器によって休止状態に置かれる。
ウインドゥ・システムはそれが所望する期間だけロック
状態を維持できるという一種の特別の特権を有している
が、過剰に長期間に渡ってロック状態を維持するアプリ
ケーション・プログラムは時間切れになり、デバイスの
励振器が割り込んで、ロックをアプリケーション・プロ
グラムから解除する。
【0048】ウインドゥ・システムが共用された記憶域
の状態情報を更新する必要があるたびに、ウインドゥ・
システムは直接的な図形アクセスを行う全てのアプリケ
ーション・プログラムがそのロックを放棄するまで待機
して、待機中は新たなロックが付与されることを防止
し、その後、ウインドゥ・システムは影響された全ての
ウインドゥをロックし、ピクセルをオフスクリーン記憶
域から共用ピクセル領域へと移動することを含む更新を
行い、その後、全てのロックを解除する。
【0049】このようにして、共用記憶域の状態情報、
またはピクセル情報の何れかをアクセスする前にロック
を確保することが直接的な図形アクセスを行うアプリケ
ーション・プログラムの要求であるので、アプリケーシ
ョン・プログラムが過渡状態で状態情報又はピクセル情
報の何れかに遭遇することは不可能である。アプリケー
ション・プログラムは一旦ロックを確保すると、ロック
の解除に先立ってウインドゥの目視可能なピクセル領域
と保持されたピクセル領域の双方を更新でき、又、更新
しなければならないことが保証される。
【0050】このように、ウインドゥ・システムは全て
のアプリケーション・プログラムが共用記憶域の状態ペ
ージ内の状態情報を更新する必要があるときは、常に直
接的な図形アクセスからロック・アウトされることを保
証するためにロック・ページを利用する。同様にして、
アプリケーション・プログラムが直接図形アクセスを用
いてそのウインドゥの内容を更新したい場合は(段階1
30)、アプリケーション・プログラムは先ず前述の方
法でウインドゥの目視可能部分用の共用記憶域のロック
・ページに書き込む。アプリケーション・プログラムが
アクセスを得て、共用記憶域のロック・ページをロック
すると、ウインドゥの目視可能部分と保持部分の双方用
の状態情報の全てが完全且つ正確であるものと見なすこ
とができる。そこでアプリケーション・プログラムはこ
の情報を利用してウインドゥの目視可能部分と保持部分
の双方の内容の更新をどのように行うかを決定すること
ができ、ロックを放棄する前に更新を行う。再度、別の
プログラムの状態が図形アクセレータ上に記憶されてい
る場合、図形デバイスをアクセスしようとする試みによ
ってページフォルトが生成され、デバイスの励振器を文
脈の切り換えを達成するための動作状態にする。
【0051】前述したように、デバイス用の励振器はオ
ペレーティング・システムの一部ではあるが、これはそ
れ自体が仮想記憶域管理システムと符合するので、アク
セスの試みによりデバイスの文脈切り換えが行われるべ
き場合は呼び出される(段階120又は段階140)。
従って、励振器はデバイス用に文脈切り換えが必要であ
るごとに、アプリケーション・プログラムによるシステ
ムの呼出し要求を短絡させるために利用される。これに
よって高速の図形処理動作の伝送速度を維持できる速度
で極めて迅速に切り換えを行うことができる。
【0052】一般的には、ウインドゥ・システムが一旦
準備されると(段階110)、ウインドゥ・システムは
共用された保持ウインドゥの状態領域にそれほど関与す
る必要はない。通常はウインドゥのサイズ変更の際に、
すなわち二重バッファリングがウインドゥの保持部分に
より使用中のフレーム・バッファの領域を必要とする場
合、及び記憶されたピクセル・データが共用メモリ・フ
ァイルのピクセル記憶域に移動する必要がある場合に状
態情報を変更するだけである。後者の場合は、ウインド
ゥ・システムはアプリケーション・プログラムをロック
アウトすることによってウインドゥの保持部分用の共用
メモリ・ファイルへのアクセスを確保する。これは直接
的な図形アクセスの特権を有する全てのアプリケーショ
ン・プログラム用の全ての共用メモリ・ファイルに「全
ロック」指令を発することによって達成される。全ロッ
ク指令はロック解除されたこれらの共用メモリ・ファイ
ルをロックし、使用中の任意のファイルでの時間切れ期
間を待機し、その後、先取り(プリエンプション)が必
要な場合は、これらの共用メモリ・ファイルを先取り
し、ロックする。ウインドゥ・システムが共用メモリ・
ファイル上でロックを得ると、ウインドゥ・システムは
ピクセル・データが共用メモリ・ファイルのピクセル領
域内にあることを指示するためにデータ構造内の呼称を
変えて、データが移動した場合にアプリケーション・プ
ログラムがウインドゥの保持部分用のピクセルを発見
し、これらをアクセスできるようにする。最後に、ウイ
ンドゥ・システムはデータをフレーム・バッファの余剰
記憶スペースから、ファイルの第2ページの第1バイト
で始まる共用メモリ・ファイルのピクセル領域へと移動
させる。
【0053】次にアプリケーション・プログラムが保持
されたウインドゥ記憶域に書き込むために共用メモリ・
ファイルへのアクセスを得ると(段階130)、アプリ
ケーション・プログラムはシステム記憶装置内の共用メ
モリ・ファイルのピクセル記憶域内にファイルがあるこ
とを示す情報を状態ページに発見する。ウインドゥのサ
イズが変更されている場合は、ウインドゥ・システムは
共用メモリ・ファイルの状態ページ内に古い標識をセッ
トし、ファイルの名称がファイル・システムから削除さ
れたことを確認するために点検し、同じ名称であるが、
新たなウインドゥのサイズに適したサイズのファイルを
再度作成し、このファイルを再度初期状態に設定する。
アプリケーション・プログラムが古い共用記憶域に次に
アクセスしようと試みると、アプリケーション・プログ
ラムは古い標識を発見し、古いファイルを閉じ、新たな
ファイルを再開し、再度マッピングすべきであることを
知る。
【0054】これまで本発明を好ましい実施例に基づい
て説明してきたが、本発明の精神と範囲から逸脱するこ
となく専門家には種々の修正と変更が可能であることが
理解されよう。例えば、本発明は代表して保持されたウ
インドゥとして説明してきた実施例だけではなく、ウイ
ンドゥ・システムにより付与される多重バッファリング
支援を利用したアプリケーション・プログラムの場合は
多重オフスクリーン・バッファにも利用できる。従って
本発明は特許請求の範囲によってのみ限定されるべきも
のである。
【0055】
【発明の効果】以上説明してきたように、本発明によれ
ばフレーム・バッファ記憶域内のオフ・スクリーン・デ
ータの記憶域で利用されるハードウェア用の文脈切り換
えを行うためにシステムを呼び出す必要がなく、データ
がオフスクリーンのフレーム・バッファ記憶域にある場
合も、システム記憶装置内にある場合でもウインドゥの
保持部分に直接図形アクセスを行うことができので、処
理時間を大幅に短縮できる。
【図面の簡単な説明】
【図1】複数の重複するウインドゥを示す出力ディスプ
レー・スクリーンの状態を示す図である。
【図2】直接図形アクセスを有するアプリケーション・
プログラム用の仮想アドレス・マップである。
【図3】本発明に従った方法を示す流れ図である。
【図4】本発明に従った方法を示す流れ図である。
フロントページの続き (72)発明者 カーティス・プリーム アメリカ合衆国 94536 カリフォルニア 州・フレモント・ケタリング テラス・ 4052 (72)発明者 ロバート・ロッチェッティ アメリカ合衆国 95014 カリフォルニア 州・カッパチーノ・ケンドル ストリー ト・22261

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 保持されたウインドゥ部分用に使用さ
    れ、図形アクセレータによって制御されるフレーム・バ
    ッファ記憶装置の一時記憶域への直接的な図形アクセス
    を可能にする方法であって、保持されたウインドゥ領域
    が最初に余剰フレーム・バッファ記憶装置内に存在する
    ことを示す一時記憶域用のシステム記憶装置内の共用メ
    モリ・ファイル、この共用メモリ・ファイルは処理に際
    して共用記憶域が使用されることを示す記憶装置を有し
    ている、を確立するステップを有する方法において、別
    の処理手順の状態が図形アクセレータに記憶され、かつ
    図形アクセレータへのアクセスが試みられるごとにペー
    ジフォルトを作成する段階と、ページフォルトに応答し
    てデバイスの駆動装置を呼び出して図形アクセレータに
    記憶された文脈をアクセスを試みる処理手順の文脈へと
    切り換える段階、とを有することを特徴とする方法。
  2. 【請求項2】 保持されたウインドゥ用に使用され、図
    形アクセレータによって制御されるフレーム・バッファ
    記憶装置の一時記憶域への直接的な図形アクセスを可能
    にする方法であって、保持された部分を有するべきウイ
    ンドゥ用に第1共用メモリ・ファイルをシステム記憶装
    置内に確立する段階と、別のプログラムがウインドゥを
    使用している場合はプログラムの使用を阻止する手段を
    第1共用部分に付与する段階と、第1共用部分の別のプ
    ログラムがウインドゥを使用している場合はプログラム
    の使用を阻止する装置に応答する、ウインドゥの保持さ
    れた部分用の第2共用メモリ・ファイルをシステム記憶
    装置内に付与する段階と、処理手順によって共用領域が
    使用されたことを示す記憶域を有する、保持されたウイ
    ンドゥ領域が最初に余剰フレーム・バッファ記憶装置内
    に存在することを示すための手段を第2共用メモリ・フ
    ァイルに付与する段階と、図形アクセレータへのアクセ
    スが試みられ、別の処理手順の状態が図形アクセレータ
    に記憶されるごとにページフォルトを作成する段階と、
    ページフォルトに応答してデバイスの駆動装置を呼び出
    して、図形アクセレータが空くと図形アクセレータに記
    憶された文脈を、アクセスを試みる処理手順の文脈へと
    切り換える段階、とを有することを特徴とする方法。
  3. 【請求項3】 保持されたウインドゥ用に使用され、
    図形アクセレータによって制御される一時記憶域への直
    接的な図形アクセスを可能にする装置において、 保持された部分を有するべきウインドゥの目視可能部分
    用の第1共用メモリ・ファイルをシステム記憶装置内に
    確立する装置と、 別のプログラムがウインドゥを使用している場合はプロ
    グラムがウインドゥを使用することを阻止する、第1共
    用メモリ・ファイル内の手段と、 別のプログラムがウインドゥを使用している場合はプロ
    グラムがウインドゥを使用することを阻止するための第
    1共用メモリ・ファイル内の手段に応答する、ウインド
    ゥの保持された部分用の第2共用メモリ・ファイルをシ
    ステム・メモリ内に確立する手段と、 保持されたウインドゥ領域が余剰フレーム・バッファ記
    憶装置又はシステム記憶装置内に存在するかどうかを示
    す、第2共用メモリ・ファイル内の手段と、 共用メモリ・ファイルの各々を図形アクセレータへのア
    クセスを有する各プログラムの仮想アドレス・スペース
    へとマッピングする手段と、 図形アクセレータへのアクセスが試みられ、且つ別の処
    理手順の状態が図形アクセレータに記憶されるごとにペ
    ージフォルトを作成する手段と、 別の処理手順の状態が図形アクセレータに記憶されると
    ページフォルトに応答して、図形アクセレータが空くと
    図形アクセレータに記憶されている文脈をアクセスを試
    みている処理手順の文脈へと切り換える手段と、 を有することを特徴とする装置。
JP20190492A 1991-07-05 1992-07-06 直接的な図形アクセスを可能にする方法および装置 Expired - Lifetime JP3645276B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US726304 1991-07-05
US07/726,304 US5245702A (en) 1991-07-05 1991-07-05 Method and apparatus for providing shared off-screen memory

Publications (2)

Publication Number Publication Date
JPH05216614A true JPH05216614A (ja) 1993-08-27
JP3645276B2 JP3645276B2 (ja) 2005-05-11

Family

ID=24918050

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20190492A Expired - Lifetime JP3645276B2 (ja) 1991-07-05 1992-07-06 直接的な図形アクセスを可能にする方法および装置

Country Status (5)

Country Link
US (1) US5245702A (ja)
EP (1) EP0521684B1 (ja)
JP (1) JP3645276B2 (ja)
KR (1) KR100278327B1 (ja)
DE (1) DE69211231T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008529115A (ja) * 2005-01-24 2008-07-31 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチ・プロセッサ環境において共有されるリソースへのアクセスを管理する方法

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5353343A (en) * 1992-04-30 1994-10-04 Rockwell International Corporation Telephonic switching system with a user controlled data memory access system and method
US5652913A (en) * 1992-10-13 1997-07-29 Microsoft Corporation System for providing intercommunication of I/O access factors stored in a shared data structure, accessed and maintained by both file system and device driver
EP0610677A3 (en) * 1993-02-12 1995-08-02 Ibm Communication device management module operating in two modes.
JP2561801B2 (ja) * 1993-02-24 1996-12-11 インターナショナル・ビジネス・マシーンズ・コーポレイション プロセス・スケジューリングの管理方法およびシステム
US5559954A (en) * 1993-02-24 1996-09-24 Intel Corporation Method & apparatus for displaying pixels from a multi-format frame buffer
US5552803A (en) * 1993-08-06 1996-09-03 Intel Corporation Method and apparatus for displaying an image using system profiling
US5572232A (en) * 1993-08-06 1996-11-05 Intel Corporation Method and apparatus for displaying an image using subsystem interrogation
US5751270A (en) * 1993-08-06 1998-05-12 Intel Corporation Method and apparatus for displaying an image using direct memory access
US5652601A (en) * 1993-08-06 1997-07-29 Intel Corporation Method and apparatus for displaying a color converted image
US5546103A (en) * 1993-08-06 1996-08-13 Intel Corporation Method and apparatus for displaying an image in a windowed environment
AU6018294A (en) * 1993-12-02 1995-06-19 Taligent, Inc. Method and apparatus for displaying hardware dependent graphics in an object-oriented operating system
US5664139A (en) * 1994-05-16 1997-09-02 Compaq Computer Corporation Method and a computer system for allocating and mapping frame buffers into expanded memory
US5577188A (en) * 1994-05-31 1996-11-19 Future Labs, Inc. Method to provide for virtual screen overlay
US5613125A (en) * 1994-06-17 1997-03-18 Motorola, Inc. Method and system for selectively defining hardware parameters in an executable operating system program
US5598525A (en) 1995-01-23 1997-01-28 Cirrus Logic, Inc. Apparatus, systems and methods for controlling graphics and video data in multimedia data processing and display systems
US5784047A (en) * 1995-04-28 1998-07-21 Intel Corporation Method and apparatus for a display scaler
US5751979A (en) * 1995-05-31 1998-05-12 Unisys Corporation Video hardware for protected, multiprocessing systems
US5757386A (en) * 1995-08-11 1998-05-26 International Business Machines Corporation Method and apparatus for virtualizing off-screen memory of a graphics engine
US6412031B1 (en) * 1998-02-10 2002-06-25 Gateway, Inc. Simultaneous control of live video device access by multiple applications via software locks and in accordance with window visibility of applications in a multiwindow environment
US6185582B1 (en) 1998-06-17 2001-02-06 Xerox Corporation Spreadsheet view enhancement system
US6230170B1 (en) 1998-06-17 2001-05-08 Xerox Corporation Spatial morphing of text to accommodate annotations
US6584479B2 (en) 1998-06-17 2003-06-24 Xerox Corporation Overlay presentation of textual and graphical annotations
US6256649B1 (en) 1998-06-17 2001-07-03 Xerox Corporation Animated spreadsheet for dynamic display of constraint graphs
US6510470B1 (en) * 1998-12-18 2003-01-21 International Business Machines Corporation Mechanism allowing asynchronous access to graphics adapter frame buffer physical memory linear aperture in a multi-tasking environment
US6295068B1 (en) 1999-04-06 2001-09-25 Neomagic Corp. Advanced graphics port (AGP) display driver with restricted execute mode for transparently transferring textures to a local texture cache
JP2001016593A (ja) * 1999-06-25 2001-01-19 Mitsubishi Electric Corp 画像復号表示装置
JP2004135300A (ja) * 2002-09-20 2004-04-30 Ricoh Co Ltd 画像形成装置,共有データ管理方法および共有データ管理システム
US7313764B1 (en) * 2003-03-06 2007-12-25 Apple Inc. Method and apparatus to accelerate scrolling for buffered windows
US7318133B2 (en) * 2003-06-03 2008-01-08 Hitachi, Ltd. Method and apparatus for replicating volumes
US20050088449A1 (en) * 2003-10-23 2005-04-28 Blanco Leonardo E. Child window redirection
US20050140692A1 (en) * 2003-12-30 2005-06-30 Microsoft Corporation Interoperability between immediate-mode and compositional mode windows
US7921373B2 (en) * 2004-04-05 2011-04-05 Panasonic Corporation Display screen management apparatus
US7412662B2 (en) * 2004-04-12 2008-08-12 Microsoft Corporation Method and system for redirection of transformed windows
US20060017738A1 (en) * 2004-07-23 2006-01-26 Juraj Bystricky System and method for detecting memory writes to initiate image data transfers
US8788787B2 (en) * 2005-03-02 2014-07-22 The Boeing Company Systems, methods and architecture for facilitating software access to acceleration technology
US7616218B1 (en) * 2005-12-05 2009-11-10 Nvidia Corporation Apparatus, system, and method for clipping graphics primitives
US9405564B2 (en) * 2006-05-10 2016-08-02 The Mathworks, Inc. System and method for targeting commands to concurrent computing units executing a concurrent computing process
US7631168B1 (en) 2006-05-10 2009-12-08 The Math Works, Inc. Graphical interface for grouping concurrent computing units executing a concurrent computing process
US8347064B1 (en) 2006-09-19 2013-01-01 Nvidia Corporation Memory access techniques in an aperture mapped memory space
US8352709B1 (en) 2006-09-19 2013-01-08 Nvidia Corporation Direct memory access techniques that include caching segmentation data
US8543792B1 (en) 2006-09-19 2013-09-24 Nvidia Corporation Memory access techniques including coalesing page table entries
US8601223B1 (en) 2006-09-19 2013-12-03 Nvidia Corporation Techniques for servicing fetch requests utilizing coalesing page table entries
KR20080031595A (ko) * 2006-10-04 2008-04-10 삼성전자주식회사 오프스크린 버퍼링 관리 장치 및 방법
US8700883B1 (en) 2006-10-24 2014-04-15 Nvidia Corporation Memory access techniques providing for override of a page table
US8707011B1 (en) 2006-10-24 2014-04-22 Nvidia Corporation Memory access techniques utilizing a set-associative translation lookaside buffer
US8533425B1 (en) 2006-11-01 2013-09-10 Nvidia Corporation Age based miss replay system and method
US8706975B1 (en) 2006-11-01 2014-04-22 Nvidia Corporation Memory access management block bind system and method
US8504794B1 (en) 2006-11-01 2013-08-06 Nvidia Corporation Override system and method for memory access management
US8347065B1 (en) 2006-11-01 2013-01-01 Glasco David B System and method for concurrently managing memory access requests
US8607008B1 (en) 2006-11-01 2013-12-10 Nvidia Corporation System and method for independent invalidation on a per engine basis
US8700865B1 (en) 2006-11-02 2014-04-15 Nvidia Corporation Compressed data access system and method
US20080244155A1 (en) * 2007-03-30 2008-10-02 Kyungwoo Lee Methods and apparatus to protect dynamic memory regions allocated to programming agents
US20090319933A1 (en) * 2008-06-21 2009-12-24 Microsoft Corporation Transacted double buffering for graphical user interface rendering
US20090328080A1 (en) * 2008-06-25 2009-12-31 Microsoft Corporation Window Redirection Using Interception of Drawing APIS
US8384738B2 (en) * 2008-09-02 2013-02-26 Hewlett-Packard Development Company, L.P. Compositing windowing system
US10146545B2 (en) 2012-03-13 2018-12-04 Nvidia Corporation Translation address cache for a microprocessor
US9880846B2 (en) 2012-04-11 2018-01-30 Nvidia Corporation Improving hit rate of code translation redirection table with replacement strategy based on usage history table of evicted entries
US10241810B2 (en) 2012-05-18 2019-03-26 Nvidia Corporation Instruction-optimizing processor with branch-count table in hardware
US20140189310A1 (en) 2012-12-27 2014-07-03 Nvidia Corporation Fault detection in instruction translations
US10108424B2 (en) 2013-03-14 2018-10-23 Nvidia Corporation Profiling code portions to generate translations

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4047243A (en) * 1975-05-27 1977-09-06 Burroughs Corporation Segment replacement mechanism for varying program window sizes in a data processing system having virtual memory
US4903218A (en) * 1987-08-13 1990-02-20 Digital Equipment Corporation Console emulation for a graphics workstation
JPH01181163A (ja) * 1988-01-13 1989-07-19 Seiko Instr & Electron Ltd 図形表示システム
US5043923A (en) * 1988-10-07 1991-08-27 Sun Microsystems, Inc. Apparatus for rapidly switching between frames to be presented on a computer output display
US5016161A (en) * 1989-04-12 1991-05-14 Sun Microsystems, Inc. Method and apparatus for the flow control of devices
US5127098A (en) * 1989-04-12 1992-06-30 Sun Microsystems, Inc. Method and apparatus for the context switching of devices
US5159665A (en) * 1989-11-27 1992-10-27 Sun Microsystems, Inc. Graphics accelerator system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008529115A (ja) * 2005-01-24 2008-07-31 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチ・プロセッサ環境において共有されるリソースへのアクセスを管理する方法
JP4866864B2 (ja) * 2005-01-24 2012-02-01 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチ・プロセッサ環境において共有されるリソースへのアクセスを管理する方法およびプログラム

Also Published As

Publication number Publication date
DE69211231T2 (de) 1996-10-10
EP0521684A3 (en) 1993-04-28
DE69211231D1 (de) 1996-07-11
EP0521684B1 (en) 1996-06-05
EP0521684A2 (en) 1993-01-07
KR100278327B1 (ko) 2001-02-01
US5245702A (en) 1993-09-14
KR930002950A (ko) 1993-02-23
JP3645276B2 (ja) 2005-05-11

Similar Documents

Publication Publication Date Title
JP3645276B2 (ja) 直接的な図形アクセスを可能にする方法および装置
JP3659062B2 (ja) 計算機システム
US6204847B1 (en) Shared virtual desktop collaborative application system
US5127098A (en) Method and apparatus for the context switching of devices
US7650603B2 (en) Resource management for virtualization of graphics adapters
JP4979880B2 (ja) グラフィックス処理ユニットのマルチスレッド式カーネル
JP2001508212A (ja) インスタンス化を用いた共有オペレーティングシステムカーネルコードに対する効率的なマルチユーザアクセスを提供するためのオブジェクトおよび方法
JPH0664538B2 (ja) 仮想計算機データ処理システムにおけるバッチ・タスク処理の中断方法
JPH0644085A (ja) アクセスを実行する方法及び装置並びにコンピュータシステム
JP2002536754A (ja) 代替型表示コンテンツコントローラ
JPH0786839B2 (ja) マルチタスク式データ処理システム
JPH0635732A (ja) 記憶装置の領域割り当て方法
JPH0895757A (ja) マイクロカーネル・データ処理システム用のマスタ・サーバ・プログラム・ロード方法および装置
US5504920A (en) Video driver system for communicating device specific primitive commands to multiple video controller types
JP3241367B2 (ja) 表示制御方式
JPH06309183A (ja) グラフィックス資源共用アクセス方法および装置
KR20040074628A (ko) 코프로세서의 성능을 개선하기 위한 시스템 및 방법
JPH0452491B2 (ja)
JPH0651733A (ja) ウィンドウ処理表示システム
JPH10283323A (ja) 計算機の表示占有ユーザ切換装置
JPH05189181A (ja) 表示方式
JPH06214813A (ja) 仮想計算機表示制御方式
JPH08507630A (ja) メモリ管理装置およびメモリ管理方法
JPH04114238A (ja) 情報処理装置
JPH0373031A (ja) メモリアクセス制御方式

Legal Events

Date Code Title Description
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050203

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080210

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090210

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100210

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100210

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110210

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120210

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120210

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130210

Year of fee payment: 8

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130210

Year of fee payment: 8