JPH0638237B2 - マルチプログラミング・モードで動作するデータ処理システム - Google Patents

マルチプログラミング・モードで動作するデータ処理システム

Info

Publication number
JPH0638237B2
JPH0638237B2 JP61282235A JP28223586A JPH0638237B2 JP H0638237 B2 JPH0638237 B2 JP H0638237B2 JP 61282235 A JP61282235 A JP 61282235A JP 28223586 A JP28223586 A JP 28223586A JP H0638237 B2 JPH0638237 B2 JP H0638237B2
Authority
JP
Japan
Prior art keywords
task
access
data processing
processing system
fpa
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
JP61282235A
Other languages
English (en)
Other versions
JPS62166434A (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 JPS62166434A publication Critical patent/JPS62166434A/ja
Publication of JPH0638237B2 publication Critical patent/JPH0638237B2/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/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • 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

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)

Description

【発明の詳細な説明】 A.産業上の利用分野 本発明は、マルチプログラミング・モードで走行するデ
ータ処理システムであつて、システムが1つのタスクか
ら他のタスクに切り換わり、新しいタスクへの切り換わ
りが行なわれた時に1つのタスクからデータを保護する
必要のあるデータ処理システムに関する。
B.従来技術 多くのデータ処理システムにおいて、システム上で走行
している全てのタスクあるいは、アプリケーシヨンによ
っては少ずしも使用されないシステムの機構がしばしば
存在する。また、その機構内にはデータ、状態及び制御
情報が記憶される事もある。マルチプログラミングのデ
ータ処理システムにおけるように、1つのタスクから他
のタスクへ切り換わりが行なわれる時、古いタスクに関
係する活性なデータから新しいタスクに関係するデータ
へ切り換えを行なう必要がある。通常のシステムでは、
これはプログラム・ステータス・ワード(PSW)又は
PSWの拡張部分によつて行なわれる。これは、ハード
ウエア・レジスタ中に記憶された値をメモリのプログラ
ム・ステータス保管(PSS)領域に書込む事によつて
保存し、次に新しいタスクに関係した値を読取り、そし
てそれらの新しい値をハードウエア・レジスタに転送す
る事によつてハードウエア的に行なわれる。他の実現形
態では、複数組のハードウエア・レジスタが設けられ、
その種々の組が種々のタスクに関係する。これらの環境
の下では、タスク切り換えは、活性レジスタを決定する
ポインタを古いタスクに関係した組から新しいタスクに
関係した組に切り換える事によつて行なわれる。別の実
現形態では、データの交換が制御プログラムによつて行
なわれる。
一般に、データの交換は、ハードウエア・レジスタと主
記憶のPSS領域との間で行なわれる。プログラム・ス
テータス保管領域が使用される毎に、より進歩したシス
テムは、新しいタスクにおけるエラーが他のタスクに関
係したデータを不注意に変更するのを防止するために保
護キーを使用する。
何の機構も使用しないタスクに切り換わつた時は、その
機構内で活性なデータを切り換える必要はない。新しい
タスクは機構内に記憶すべきデータを持たず、開始すべ
き動作も持たず、またその機構が存在する事を認識する
必要さえない。古いデータは機構内に活性なままとどま
る事ができ、古いタスクへ制御が戻されるのを待機する
事ができる。しかしながら、古いタスクに関係したデー
タは、新しいタスク中のプログラミング・エラーにさら
される。本発明はこのような環境の下におけるデータの
保護を取り扱う。
データを保護する常通の手段は次の通りである。
1.プログラム・ステータスに関係した保護メカニズム
がその機構を保護する事を可能にするように、たとえそ
れが不必要であつても、プログラム・ステータス・スワ
ツプを実行する。
2.その機構を使用しないプログラムがコンパイル又は
アセンブルされる毎に、その機構をアドレスする可能性
のある全ての命令をスクリーン・アウトするための検査
をコンパイラ又はアセンブラにおいて提供する。
3.その機構が、制御プログラムを通じてしかアクセス
され得ないようにする(おそらく、機械が特権モードに
ある事を要求する事によつて)。これは全てのアクセス
を実時間的にスクリーンし、その機構を使用しないプロ
グラムがプログラミング・エラーによりその機構を不注
意に参照する毎にプログラム・チエツクを生成する。
C.発明が解決しようとする問題点 上記の3つの解決法は各々欠点を有している。第1の方
法は、主記憶のプログラム・ステータス保管領域が使用
される場合にタスク切り換えに関する待ち時間を増加さ
せる。又この方法はステータス保管領域の大きさも増加
させる。これは、機構がオプシヨナルの場合に重大な問
題になり得、例えば浮動小数点演算加速機構の場合に真
実である。複数組レジスタの技術を使用する場合、待ち
時間の増加は最小限であるが、レジスタの組が、機構を
使用しないタスクのために浪費される。第2の方法は、
全てのコンパイラ及びアセンブラの作成者に通知し、管
理し、強制する必要があるという問題を有する。これは
IBM PCのようなオープン・アーキテクチヤを有す
る機械に関しては、特に問題である。この場合、第3者
のプログラム作成者が彼自身の直接的営業のためにコン
パイラ及びアセンブラを作成する事があるからである。
第3の方法は、実行時に性能の低下を生じる。性能が重
要なデバイスに関して、この方法は非常に有害である。
D.問題点を解決するための手段 本発明は、機構内にロツク・メカニズムを設ける事によ
つて上述の方法に対する第4の解決法を提供する。本発
明は、機構を使う必要のない新しいタスクにタスクが切
り換わる毎に、古いタスクに関係していたデータを保護
する単純で効率的な手段を提供する。機構は、動作の特
権モードにある時に、制御プログラムによつてだけロツ
ク又はアンロツクできる。機構がロツクされる時、機構
を操作し、制御するために使われる全ての問題モードの
命令は拒絶される。
E.実施例 第1図は、ブロツク図の形で、本発明が用いられる典型
的なデータ処理システムを示す。システムは、マイクロ
プロセツサ記憶チヤネル(MSC)12を有するマイク
ロプロセツサ11を含む。チヤネル12は記憶制御装置
13に接続される。記憶制御装置13は、さらに主記憶
14に接続される。又記憶チヤネル12はバス制御論理
16を経由してシステム・バス17及び入力/出力チヤ
ネル・コンバータ(IOCC)論理18に接続される。
IOCC論理18はI/Oバス19に接続される。
システム・バス17には浮動小数点演算加速器(FP
A)21が接続される。FPA21は、システムによつ
て実行される全てのタスクによつては使用されない型の
資源である。しかしながら、FPAがタスク、例えばタ
スクAによつて使用されていて、タスクAが割込みを受
ける場合、そのタスクに関するFPAユニツト中の、オ
ペランド及び状態等のパラメータが失なわれない事が重
要である。しかしながら、割込みをかける側のタスク、
タスクBがFPAユニツトへのアクセスを必要としない
ならば、従来技術に関して以前に述べたプログラム・ス
テータス・スワツプ動作を行なうのは非効率的である。
本発明は、FPAが割込まれたタスクAからの情報を含
んでいる時にタスクBによつてFPAユニツト21に対
するアクセスが要求される時を検出する事によつてこの
問題を解決する事に係る。また本発明は、未完了のFP
Aタスクの割込み時にFPAがロックされた後、特権タ
スクを除いて、FPAに対するアクセスを阻止する。
本発明の1実施例の動作が第2図に示されている。非特
権タスクAがFPAユニツト21をアクセスしていると
仮定する。これらの環境の下では、マイクロプロセツサ
11の割込み制御ステータス・レジスタ11a中の特権
モード・フラグがゼロにセツトされ、非特権タスクを示
す。FPAユニツトにおけるタスクAの終了の前にタス
クBがタスクAに割込みをかける場合、システム制御プ
ログラムは特権モードに行き、レジスタ11a中の特権
モード・フラグをセツトする。この特権モード・フラグ
はFPAユニツトのための割込みアドレス・レジスタ2
6の特権モード部分に転送される。レジスタ26中のこ
の特権モード・フラグは、割込みコマンドと共に、コマ
ンド・デコード論理27及びANDゲート28に転送さ
れ、FPAロツク・フリツプフロツプ29にロツク・コ
マンドを出す。フリツププロツプ29からのロツク出力
は、FPAユニツトへのアクセスを制御する制御シーケ
ンサに供給される。
もし非特権の割込みタスクBがFPAユニツト21への
アクセスを必要としないならば、ロツク・コマンドは有
効なままであり、FPAユニツト中のタスクAのステー
タスは保存される。しかしながら、割込みタスクBがF
PAユニツトへのアクセスを必要とすれば、それはロツ
クに出会い、これはプログラム・チエツクを生成する。
この時制御プログラムは特権コマンドを出す。これはコ
マンド・デコード論理27及びANDゲート32を経
て、FPAをアンロツクするように作用し、FPA中の
タスクAの情報の内容を(通常は主記憶中にある)プロ
グラム・ステータス保管領域に転送させる。もしタスク
Bがちようど開始するならば、それは通常の方式でFP
Aにアクセスする事を許される。しかし、タスクBが以
前にFPA動作の間に割込みを受けていたならば、タス
クBの実行を再開するためにプログラム・ステータス保
管領域からタスクBのデータとステータス情報を得る必
要がある。
従つて、システムは、FPAがアン・ロツクされていれ
ば、特権コマンド及び非特権コマンドの両者がFPAに
アクセスできるように動作する。しかしFPAがロツク
されていれば、特権コマンドのみがそれにアクセスでき
る。
事実上、入力アドレス・レジスタ26はFPAに関する
コマンド・レジスタである。というのはレジスタ26中
にはマイクロプロセツサ11からのFPAコマンドが存
在するからである。システムが、割込まれたタスクAの
実行を続行する作業に戻る時、タスクAのステータス保
管領域から情報がFPA機構に戻され、タスクAの実行
が再開される。
F.発明の効果 本発明の利点は次の通りである。
1.機構のステータス/状態及びデータの保護が完全に
達成される。
2.タスク切り換えの待ち時間が最小限になる。
3.プログラム・ステータス保管領域が、複雑化又は大
規模化しない。
4.複数のレジスタ組を使用する場合、使用しないプロ
グラムのために組を予約しておく必要がない。
5.保護メカニズムが制御プログラムによつて制御さ
れ、コンパイラ及びアセンブラの開発に影響を与えな
い。
6.保護メカニズムは、実行時に作用するので、計算さ
れたアドレス及び(実行時の)「計算された命令」に対
して有効である。
7.保護メカニズムに関して、連続的な性能の劣化は経
験されない。
8.間違いをおかしたプログラムのデバツグを助けるよ
うにプログラム・チエツクが生成される。
【図面の簡単な説明】
第1図は本発明が用いられるデータ処理システムのブロ
ツク図、 第2図は第1図のFPAにおける情報の保護に適用した
本発明の1実施例を説明する図である。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】複数の異なったタスクが実行され、該タス
    クの少なくとも1つが他のタスクによって割込まれる事
    が可能なマルチプログラミング・モードで動作するデー
    タ処理システムであって、 上記タスクの全部によっては必ずしも使用されない少な
    くとも1つの機構と、 上記機構に対してアクセスを要求する第1のタスクによ
    る該アクセスを許可する手段と、 次のタスクによる上記機構へのアクセスを禁止するため
    に、上記第1のタスクによるアクセスの後に該機構をロ
    ックする手段と、 上記第1のタスクに割り込む第2のタスクを調べて、該
    第2のタスクが上記機構に対するアクセスを要求するか
    どうかを判断する手段と、 上記第2のタスクが上記機構へのアクセスを要求しない
    場合、上記機構を上記ロック手段でロックしたまま、該
    機構内に記憶された第1のタスクに関連する状態情報を
    維持するとともに、該第2のタスクを実行する手段と、 上記第2のタスクが上記機構へのアクセスを要求する場
    合、上記第1のタスクに関連する状態情報を、該機構の
    外部に記憶する手段と、 上記第2のタスクによる上記機構へのアクセスを許可す
    るために、上記状態情報の記憶後に該機構へのアクセス
    のロックを解除する手段とを含む、 データ処理システム。
JP61282235A 1986-01-17 1986-11-28 マルチプログラミング・モードで動作するデータ処理システム Expired - Lifetime JPH0638237B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/820,462 US4794515A (en) 1986-01-17 1986-01-17 Protection of data in a multiprogramming data processing system
US820462 1986-01-17

Publications (2)

Publication Number Publication Date
JPS62166434A JPS62166434A (ja) 1987-07-22
JPH0638237B2 true JPH0638237B2 (ja) 1994-05-18

Family

ID=25230830

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61282235A Expired - Lifetime JPH0638237B2 (ja) 1986-01-17 1986-11-28 マルチプログラミング・モードで動作するデータ処理システム

Country Status (5)

Country Link
US (1) US4794515A (ja)
EP (1) EP0230350B1 (ja)
JP (1) JPH0638237B2 (ja)
BR (1) BR8700027A (ja)
DE (1) DE3774583D1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4853849A (en) * 1986-12-17 1989-08-01 Intel Corporation Multi-tasking register set mapping system which changes a register set pointer block bit during access instruction
US5317733A (en) * 1990-01-26 1994-05-31 Cisgem Technologies, Inc. Office automation system for data base management and forms generation
US6507909B1 (en) 1990-02-13 2003-01-14 Compaq Information Technologies Group, L.P. Method for executing trusted-path commands
JPH0468461A (ja) * 1990-07-10 1992-03-04 Canon Inc 資源管理方式
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
US5923887A (en) * 1996-05-20 1999-07-13 Advanced Micro Devices, Inc. Interrupt request that defines resource usage
US9063932B2 (en) 2009-12-18 2015-06-23 Vertafore, Inc. Apparatus, method and article to manage electronic or digital documents in a networked environment
US8700682B2 (en) 2009-12-24 2014-04-15 Vertafore, Inc. Systems, methods and articles for template based generation of markup documents to access back office systems
US9384198B2 (en) 2010-12-10 2016-07-05 Vertafore, Inc. Agency management system and content management system integration
US8731973B2 (en) 2011-04-19 2014-05-20 Vertafore, Inc. Overlaying images in automated insurance policy form generation
US9507814B2 (en) 2013-12-10 2016-11-29 Vertafore, Inc. Bit level comparator systems and methods
US9367435B2 (en) 2013-12-12 2016-06-14 Vertafore, Inc. Integration testing method and system for web services
US9747556B2 (en) 2014-08-20 2017-08-29 Vertafore, Inc. Automated customized web portal template generation systems and methods
US9600400B1 (en) 2015-10-29 2017-03-21 Vertafore, Inc. Performance testing of web application components using image differentiation

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4995548A (ja) * 1973-01-12 1974-09-10
FR2258112A5 (ja) * 1973-11-30 1975-08-08 Honeywell Bull Soc Ind
US4429360A (en) * 1978-10-23 1984-01-31 International Business Machines Corporation Process and apparatus for interrupting and restarting sequential list-processing operations
US4262332A (en) * 1978-12-28 1981-04-14 International Business Machines Corporation Command pair to improve performance and device independence
US4574350A (en) * 1982-05-19 1986-03-04 At&T Bell Laboratories Shared resource locking apparatus
US4524415A (en) * 1982-12-07 1985-06-18 Motorola, Inc. Virtual machine data processor
JPS60195646A (ja) * 1984-03-16 1985-10-04 Hitachi Ltd デ−タ処理装置
US4654786A (en) * 1984-04-11 1987-03-31 Texas Instruments Incorporated Data processor using picosquencer to control execution of multi-instruction subroutines in a single fetch cycle
JPS6159539A (ja) * 1984-08-30 1986-03-27 Nec Corp サブプロセツサのレジスタ退避/復帰方式

Also Published As

Publication number Publication date
EP0230350B1 (en) 1991-11-21
US4794515A (en) 1988-12-27
DE3774583D1 (de) 1992-01-02
BR8700027A (pt) 1987-12-01
JPS62166434A (ja) 1987-07-22
EP0230350A3 (en) 1988-10-19
EP0230350A2 (en) 1987-07-29

Similar Documents

Publication Publication Date Title
Hedayati et al. Hodor:{Intra-Process} isolation for {High-Throughput} data plane libraries
US3916385A (en) Ring checking hardware
CA1313424C (en) Nonhierarchical program authorization mechanism
US9355262B2 (en) Modifying memory permissions in a secure processing environment
JP3546678B2 (ja) マルチos構成方法
US8364910B2 (en) Hard object: hardware protection for software objects
US7529916B2 (en) Data processing apparatus and method for controlling access to registers
US6601146B2 (en) Technique for efficiently transferring moderate amounts of data across address space boundary
US4442484A (en) Microprocessor memory management and protection mechanism
EP1966706B1 (en) Identifier associated with memory locations for managing memory accesses
JPH0638237B2 (ja) マルチプログラミング・モードで動作するデータ処理システム
Drepper The Cost of Virtualization: Software developers need to be aware of the compromises they face when using virtualization technology.
Lauer et al. A recursive virtual machine architecture
US6895583B1 (en) Task control block for a computing environment
US6886165B1 (en) Method for the direct call of a function by a software module by means of a processor with a memory-management unit (MMU)
Liedtke et al. Lazy process switching
US4493025A (en) Digital data processing system using unique means for comparing operational results and locations at which such results are to be stored
JP2001216172A (ja) マルチos構成方法
JP2001175486A (ja) 計算機システム
CN1016905B (zh) 在非微码数据处理系统上提供扩展的处理环境的装置和方法
US11630673B2 (en) System and method for physically separating, across different processing units, software for handling exception causing events from executing program code
CN117272412B (zh) 中断控制寄存器保护方法、装置、计算机设备及存储介质
JPS6126091B2 (ja)
Banerji et al. Protected shared libraries
Wald Utilization of a multiprocessor in command and control