(57)【要約】【課題】高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能で且つ開発が容易な情報処理装置、画像形成装置、タスク実行方法、そのプログラム及びそのプログラムを記録した記録媒体を提供する。【解決手段】情報処理装置１は、汎用ＯＳであるＯＳカーネル１０１及び入出力デバイス３００を制御する複数のドライバ１１０を有して構成され、更に、本実施形態特有のアクセス制御部２０とハードウェア状態管理部３０と割込み制御部４０を有して構成される。ＯＳカーネル１０１は仮想記憶機能や、このほか、汎用ＯＳにおいて一般的に標準で搭載されているメモリ保護機能等の機能を備えている。この構成においてアクセス制御部２０は、１つ以上のドライバ１１０のうち何れかを選択的に入出力デバイス３００に接続する。また、１つのタスクを実行している間、アクセス制御部２０は、他のタスクの割込みを禁止する。【選択図】          図１
2004265301.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも仮想記憶機能を有するオペレーティングシステムが実装された情報処理装置において、
前記情報処理装置との間でデータの入出力を行う入出力デバイスと、
前記入出力デバイスを制御する複数のデバイスドライバと、
前記複数のデバイスドライバの何れかの前記入出力デバイスへのアクセスを選択的に制御するアクセス制御手段と、を有し、
前記アクセス制御手段は、１つのタスクで要求されるデバイスドライバを該タスクで要求される入出力デバイスへ選択的にアクセスさせることを特徴とする情報処理装置。
【請求項２】
前記アクセス制御手段に割込み情報を入力する割込み制御手段と、
前記入出力デバイスの状態情報を管理する状態管理手段と、を有し、
前記アクセス制御手段は、前記状態管理手段において管理されている前記状態情報に基づいて前記割込み制御手段から入力された前記割込み情報を受け付け、該割込み情報に基づいて前記タスクで要求されるデバイスドライバを該タスクで要求される入出力デバイスへ選択的にアクセスさせることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記デバイスドライバは、複数の前記入出力デバイスを制御可能であり、
前記アクセス制御手段は、同一のタスクにおいて前記デバイスドライバのアクセス先を切り換えることを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記入出力デバイスは、原稿の画像データを読み取る原稿読取り手段と、画像データを印刷出力する印刷出力手段とを含み、
前記デバイスドライバは、前記原稿読取り手段と前記印刷出力手段とを制御可能であることを特徴とする請求項１から３の何れか１項に記載の情報処理装置。
【請求項５】
少なくとも仮想記憶機能を有するオペレーティングシステムが実装された画像形成装置であって、
原稿の画像データを読み取る原稿読取り手段と、
画像データを印刷出力する印刷出力手段と、
前記原稿読取り手段及び前記印刷出力手段を制御可能なデバイスドライバと、
前記デバイスドライバのアクセス先を前記原稿読取り手段と前記印刷出力手段とで切り換えるアクセス制御手段と、を有し、
前記アクセス制御手段は、同一のタスクの実行時に、前記デバイスドライバのアクセス先を前記原稿読取り手段と前記印刷出力手段とで切り換えることを特徴とする画像形成装置。
【請求項６】
前記アクセス制御手段に割込み情報を入力する割込み制御手段と、
前記原稿読取り手段及び／又は前記印刷出力手段の状態情報を管理する状態管理手段と、を有し、
前記アクセス制御手段は、前記状態管理手段において管理されている前記状態情報に基づいて前記割込み制御手段から入力された前記割込み情報を受け付け、該割込み情報に基づいて前記タスクで要求されるデバイスドライバを該タスクで要求される前記原稿読取り手段又は前記印刷出力手段へ選択的にアクセスさせることを特徴とする請求項５記載の画像形成装置。
【請求項７】
データの入出力を行う入出力デバイスと、該入出力デバイスを制御する複数のデバイスドライバとを有し、少なくとも仮想記憶機能を有するオペレーティングシステムが実装された情報処理装置におけるタスク実行方法であって、
１つのタスクで要求されるデバイスドライバを該タスクで要求される入出力デバイスへ選択的にアクセスさせるアクセスステップと、
アクセス状態にある前記デバイスドライバと前記入出力デバイスとを用いて前記タスクを実行するタスク実行ステップと、を有し、
前記アクセスステップでは、前記オペレーティングシステムの制御に依存せずに、前記デバイスドライバと前記入出力デバイスとを選択的にアクセスさせることを特徴とするタスク実行方法。
【請求項８】
前記アクセスステップは、前記オペレーティングシステムから出力された割込み情報に基づいて、前記デバイスドライバの割込みハンドラを呼び出すことで、前記入出力デバイスと該デバイスドライバとを選択的にアクセスさせることを特徴とする請求項７記載のタスク実行方法。
【請求項９】
前記アクセスステップは、前記タスクで要求される入出力デバイスの状態に基づいて、前記割込み情報を受け付ける又は禁止することを特徴とする請求項８記載のタスク実行方法。
【請求項１０】
原稿の画像データを読み取る原稿読取り手段と、画像データを印刷出力する印刷出力手段とを有し、少なくとも仮想記憶機能を有するオペレーティングシステムが実装された画像形成装置におけるタスク実行方法であって、
前記デバイスドライバと前記原稿読取り手段とを選択的にアクセスさせるアクセスステップと、
前記デバイスドライバの制御に基づいて前記原稿読取り手段で前記原稿の画像データを読み取る画像データ読取りステップと、
前記デバイスドライバのアクセス先を前記印刷出力手段に切り換えるアクセス先切替えステップと、
前記デバイスドライバの制御に基づいて前記画像データを印刷出力する印刷出力ステップと、を有し、
前記アクセスステップ，画像データ読取りステップ，前記アクセス先切替えステップ及び前記印刷出力ステップを、前記オペレーティングシステムの制御に依存せずに、１つのタスク実行中に行うことを特徴とするタスク実行方法。
【請求項１１】
データの入出力を行う入出力デバイスと、該入出力デバイスを制御する複数のデバイスドライバとを有し、少なくとも仮想記憶機能を有するオペレーティングシステムが実装された情報処理装置を機能させるためのプログラムであって、
１つのタスクで要求されるデバイスドライバを該タスクで要求される入出力デバイスへ選択的にアクセスさせるアクセス処理と、
アクセス状態にある前記デバイスドライバと前記入出力デバイスとを用いて前記タスクを実行するタスク実行処理と、を前記コンピュータに実行させ、
前記アクセス処理は、前記オペレーティングシステムの制御に依存せずに、前記デバイスドライバと前記入出力デバイスとを選択的にアクセスさせることを特徴とするプログラム。
【請求項１２】
前記アクセス処理は、前記オペレーティングシステムから出力された割込み情報に基づいて、前記デバイスドライバの割込みハンドラを呼び出すことで、前記入出力デバイスと該デバイスドライバとを選択的にアクセスさせることを特徴とする請求項１１記載のプログラム。
【請求項１３】
前記アクセスス処理は、前記タスクで要求される入出力デバイスの状態に基づいて、前記割込み情報を受け付ける又は禁止することを特徴とする請求項１２記載のプログラム。
【請求項１４】
原稿の画像データを読み取る原稿読取り手段と、画像データを印刷出力する印刷出力手段とを有し、少なくとも仮想記憶機能を有するオペレーティングシステムが実装された画像形成装置を機能させるためのプログラムであって、
前記デバイスドライバと前記原稿読取り手段とを選択的にアクセスさせるアクセス処理と、
前記デバイスドライバの制御に基づいて前記原稿読取り手段で前記原稿の画像データを読み取る画像データ読取り処理と、
前記デバイスドライバのアクセス先を前記印刷出力手段に切り換えるアクセス先切替え処理と、
前記デバイスドライバの制御に基づいて前記画像データを印刷出力する印刷出力処理と、を前記コンピュータに実行させ、
前記アクセス処理，画像データ読取り処理，前記アクセス先切替え処理及び前記印刷出力処理を、前記オペレーティングシステムの制御に依存せずに、１つのタスク実行中に行うことを特徴とするプログラム。
【請求項１５】
請求項１１から１５の何れか１項に記載の前記プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置、画像形成装置、タスク実行方法、そのプログラム及びそのプログラムを記録した記録媒体に関し、特に汎用オペレーティングシステム（ＯＳ）が実装された情報処理装置、画像形成装置、タスク実行方法、そのプログラム及びそのプログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
近年、複写機にファクシミリやその他の機能を統合した複合機に代表される画像形成装置では、画像データをデジタルデータとして内部で取り扱う、いわゆるデジタル複合機が主流となっている。
【０００３】
デジタル複合機は、画像データをデジタルで保持できるため、高画質化や画像処理の柔軟性の点で従来のアナログ式よりも優れている。また、デジタル複合機は、ネットワークプリンティング機能やマルチＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）機能等、多様な機能を搭載している。
【０００４】
これらの機能の多くは、ソフトウェア（Ｓ／Ｗ）としてデジタル複合機のコントローラに実行されている。また、コントローラの多くは、組み込み用途向けリアルタイムオペレーティングシステム（ＲＴＯＳ）を搭載し、複数のＳ／Ｗをアプリケーションタスクとして実行している。尚、ＲＴＯＳとは、組み込み用途に特化して設計・実装されたオペレーティングシステム（ＯＳ）であり、アプリケーションタスクの優先度制御やハードウェア（Ｈ／Ｗ）デバイスからの割込みの高速な応答性などを実現している。
【０００５】
一般的にＲＴＯＳには、高速な処理（リアルタイム性）や単純でコンパクトなプログラムであること（コンパクト性）等が要求される。このため、信頼性や安定性や汎用性等の面がある程度犠牲にされて設計されることがある。例えば、Ｗｉｎｄｏｗｓ（登録商標）  ＯＳやＵＮＩＸ（登録商標）  ＯＳ等の多くのＯＳ（以下、このようなＯＳを汎用ＯＳという）で採用されている仮想記憶機能は、殆どのＲＴＯＳにおいて標準で搭載されていない。このため、ＲＴＯＳが組み込まれた装置において実行できるプログラムの種類及び数は、実装された実メモリの容量に制限される。尚、仮想記憶機能は、一般的に利用頻度の低いアプリケーションをハードディスクドライブ（以下、ＨＤＤと略す）等の二次以降の記憶装置に退避させる（スワップアウト）ことで実メモリの容量を確保し、必要なプログラムをロードできるようにする機能である。このほかにも、例えばメモリ保護機能やファイルシステム等の機能も、多くのＲＴＯＳには標準で搭載されていない。
【０００６】
図４に、汎用ＯＳを用いて構成した場合の画像形成装置１００の構成を示す（これを従来技術１とする）。画像形成装置１００は、汎用ＰＳであるＯＳカーネル１０１及び入出力デバイス３００を制御するドライバ（図４では、スキャナドライバ１１１，プリンタドライバ１１２，ＵＩ（ユーザインタフェース）ドライバ１１３，ネットワークドライバ１１４を例示；以下、任意のドライバの符号を１１０とする）を有して構成されている。ＯＳカーネル１０１とドライバ１１０とは、所謂ミドルウェア（Ｍ／Ｗ）１０２に含まれる構成であり、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等において実行されることで実現されている。アプリケーション（図４では、スキャンアプリケーション２０１，プリントアプリケーション２０２，コピーアプリケーション２０５を例示；以下、任意のアプリケーションの符号を２００とする）は、ＯＳカーネル１０１の制御の下で実行されるソフトウェアであり、ユーザプロセスとして図示しないＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメモリに展開される。また、入出力デバイス３００は、例えばハードディスクドライブ（ＨＤＤ）やスキャナデバイスやキーボード，マウス等のユーザインタフェース（ＵＩ）デバイスやプリンタデバイス（プリンタエンジンともいう）やネットワークアダプタ等の周辺機器であり、例えばＰＣＩバス等のバスを介してＭ／Ｗ１０２とのデータの入出力が実現される。
【０００７】
このような構成において、物理メモリに空き領域２０６を確保する必要が生じた場合、ＯＳカーネル１０１は仮想記憶機能を用いて、何れかのアプリケーション（例えばコピーアプリケーション２０５）を、図５に示すように、２次記憶装置であるＨＤＤ上に設けた仮想空間２１０にスワップアウトする。このような制御により、汎用ＯＳ環境下では、物理メモリ以上のアプリケーションの実行が要求された場合もで高い信頼性及び高い安定性でこれを実行することができる。
【０００８】
尚、汎用ＯＳにおいて、ＦｒｅｅＢＳＤやＮｅｔＢＳＤやＯｐｅｎＢＳＤ等のＵＮＩＸ互換ＯＳは、オープンソースライセンスを採用しており、ソースコードの取得に関しては極めて低いコストで実現できるため、多くのＳ／Ｗが開発されつつある。但し、Ｓ／Ｗの規模が十分に小さく、他のＯＳ環境への移植も考慮する必要が無ければ、ＲＴＯＳ環境の下で動作するＳ／Ｗを構築することは十分に可能である。
【０００９】
しかしながら、デジタル複合機等の画像処理装置が高機能化し、様々なアプリケーションタスクが実行されることで大規模化すると、ＲＴＯＳのシンプルな機構による問題が顕著に現れてしまう。具体的には、仮想記憶機能を持っていないため、実メモリの容量を超えるタスクをメモリにロードし、実行することができない。また、メモリ保護機能が搭載されていないＲＴＯＳでは、メモリアクセスに不具合（バグ等）を持つタスクが他のタスクやＲＴＯＳそのもののプログラムデータを破壊することを防止する手段がない。更に、このような破壊される状況によっては、システムがハングアップするなどの現象を解析することが極めて困難となる。
【００１０】
一方、汎用ＯＳは、仮想記憶機能やメモリ保護機能等を標準で備えているため、高機能なシステムを安定して実行することができる。しかしながら、このような汎用ＯＳは、多くの場合、多機能化・高信頼化・高安定化のために、リアルタイム性やコンパクト性等が犠牲にされている。このため、一般的に汎用ＯＳは、必ずしも組み込み用途には向いていない。即ち、ある機能をユーザプロセスのアプリケーションで実装した場合、仮想記憶機能を用いることで、搭載された実メモリの容量で許容されるよりも多くのアプリケーションを実行することが可能となる。しかしながら、仮想記憶機能を用いると、一旦、実メモリにロードしたユーザアプリケーションが常に実メモリに常駐しているという保証がなくなる。例えばＨＤＤにスワップアウトされたプログラムを実行する際は、これを再度実メモリにロード（スワップイン）しなければならない。このため、実行するまでにタイムラグが発生してしまう。
【００１１】
このスワップインに係るオーバヘッドは、現実的にリアルタイム処理には向かず、高い応答性が要求される場合には致命的となる。特に複数のデバイス同士で連続して制御する場合、具体的にはスキャナのように画像データを取り込むデバイスとプリンタのように画像を出力するデバイスとを組み合わせたデジタル複合機を構成した場合、スキャナからの画像取込みをユーザプロセスレベルのアプリケーションでハンドリングすると、このアプリケーションが汎用ＯＳの持つプロセススケジューリングの対象であるため、ＨＤＤからスワップインするタイムラグが発生する可能性がある。このような場合、画像取込みからプリンタ出力までの複写機としての性能にばらつきが発生してしまう。
【００１２】
このように、組み込み用途向けＯＳと汎用ＯＳとは相反する性能を有しているため、双方の利点を活かし、リアルタイム性と信頼性と安定性とに優れたプラットホームを実現することは困難であった。
【００１３】
このような問題を解決する従来技術としては、例えば以下に示す特許文献１で開示されるような、複数のＯＳを用途に応じて単一の計算機（コンピュータ）に組み込む技術が存在する。図６に、この技術を用いて構成した画像形成装置２００の構成を示す（これを従来技術２とする）。
【００１４】
図６に示すように、画像形成装置２００は、スキャンタスク１５１やプリントタスク１５２やＵＩタスク１５３やコピータスク１５５等のような、リアルタイム性を要求するタスクをＲＴＯＳ１０３環境下で実行し、その他ユーザプロセスとして立ち上げられるアプリケーション２００やネットワークを介したデータの送受信等は、高信頼性及び高安定性が実現できる汎用ＯＳ環境下で実行するように構成されている。
【００１５】
この従来技術によれば、高機能な汎用ＯＳとリアルタイム処理に優れたＲＴＯＳとが組み合わされたハイブリッドなＯＳ構成が実現できる。従って、画像処理等の比較的複雑なアプリケーションを汎用ＯＳ上で実行させ、デバイスドライバ等のリアルタイム性が要求されるＳ／ＷをＲＴＯＳ上で実行させることが可能となり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【００１６】
【特許文献１】
特開平１１−１４９３８５号公報
【００１７】
【発明が解決しようとする課題】
しかしながら、上記のように複数のＯＳを使用した場合、ライセンスコストや保守コスト等が多く発生するという問題が存在する。また、複数のＯＳ間の情報のやり取りのための制御が煩雑化し、開発に要する手間が増大するという問題も存在する。特に、複数のＯＳを用いた場合では、デバイスから通知される割込みソースを最適なＯＳに配分する作業において非常に複雑で且つ高い応答性が要求される。
【００１８】
本発明は、上記の問題に鑑みてなされたもので、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能で且つ開発が容易な情報処理装置、画像形成装置、タスク実行方法、そのプログラム及びそのプログラムを記録した記録媒体を提供することを目的とする。
【００１９】
【課題を解決するための手段】
かかる目的を達成するために、本発明は、請求項１記載のように、少なくとも仮想記憶機能を有するオペレーティングシステムが実装された情報処理装置において、前記情報処理装置との間でデータの入出力を行う入出力デバイスと、前記入出力デバイスを制御する複数のデバイスドライバと、前記複数のデバイスドライバの何れかの前記入出力デバイスへのアクセスを選択的に制御するアクセス制御手段と、を有し、前記アクセス制御手段が、１つのタスクで要求されるデバイスドライバを該タスクで要求される入出力デバイスへ選択的にアクセスさせるように構成される。デバイスドライバのアクセス先の入出力デバイス、又は入出力デバイスへアクセスさせるデバイスドライバを、アクセス制御手段を用いて選択的に切り換えるよう構成することで、オペレーティングシステムの制御に依存することなく、デバイスドライバと入出力デバイスとの接続を確立できるため、例えばオペレーティングシステムに設けられたタスクスケジューラによる割込みを禁止することができ、リアルタイム性が要求されるタスクを優先して実行できるようになる。また、例えばユーザプロセスとして立ち上げられたアプリケーションの動作は、仮想記憶機能を有するオペレーティングシステムにより制御されるため、高信頼性や高安定性を実現することができる。更に、これを実現するための構成を、オペレーティングシステムに追加して容易に組み込むことができるソフトウェアモジュールで実現することが可能であり、且つオペレーティングシステムのカーネル構成を大きく変更する必要が無いため、効率的且つ容易に、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【００２０】
また、請求項１記載の情報処理装置は、好ましくは請求項２記載のように、前記アクセス制御手段に割込み情報を入力する割込み制御手段と、前記入出力デバイスの状態情報を管理する状態管理手段と、を有し、前記アクセス制御手段が、前記状態管理手段において管理されている前記状態情報に基づいて前記割込み制御手段から入力された前記割込み情報を受け付け、該割込み情報に基づいて前記タスクで要求されるデバイスドライバを該タスクで要求される入出力デバイスへ選択的にアクセスさせるように構成される。通常のデバイスドライバに組み込まれている割込みハンドラを用いることで、開発を容易化することが可能となる。また、割込み制御を入出力デバイスの状態に基づいて許可／禁止できるように構成することで、例えばリアルタイム性が要求されるタスクの実行時には、割込みを禁止するような制御が可能となり、情報処理装置のリアルタイム性が向上される。
【００２１】
また、請求項１又は２記載の前記情報処理装置は、好ましくは請求項３記載のように、前記デバイスドライバが、複数の前記入出力デバイスを制御可能であり、前記アクセス制御手段が、同一のタスクにおいて前記デバイスドライバのアクセス先を切り換えるように構成される。複数のデバイスを単一のデバイスドライバで制御できる構成により、ＵＮＩＸのような汎用ＯＳでも複数のデバイスを連携した制御を決められた処理時間内に行うことが可能になる。
【００２２】
また、請求項１から３の何れか１項に記載の前記情報処理装置は、例えば請求項４記載のように、前記入出力デバイスが、原稿の画像データを読み取る原稿読取り手段と、画像データを印刷出力する印刷出力手段とを含み、前記デバイスドライバが、前記原稿読取り手段と前記印刷出力手段とを制御可能であるように構成されても良い。これにより、ＵＮＩＸのような汎用ＯＳをプラットホームとして画像形成装置を構成した場合でも、コピー等のタスクのリアルタイム性を損なうことがない。
【００２３】
また、本発明は、請求項５記載のように、少なくとも仮想記憶機能を有するオペレーティングシステムが実装された画像形成装置であって、原稿の画像データを読み取る原稿読取り手段と、画像データを印刷出力する印刷出力手段と、前記原稿読取り手段及び前記印刷出力手段を制御可能なデバイスドライバと、前記デバイスドライバのアクセス先を前記原稿読取り手段と前記印刷出力手段とで切り換えるアクセス制御手段と、を有し、前記アクセス制御手段が、同一のタスクの実行時に、前記デバイスドライバのアクセス先を前記原稿読取り手段と前記印刷出力手段とで切り換えるように構成される。原稿読取り手段及び印刷出力手段を有し、また、これら両方を制御できるデバイスドライバを実装し、更に、各々のデバイスに複数のドライバからのアクセスを選択的に可能にする仕組みを提供することで、適宜、スキャン機能，プリント機能，ダイレクトコピー機能を使い分けることが可能な画像形成装置が実現でき、更にまた、デバイスドライバのアクセス先を、アクセス制御手段を用いて選択的に切り換えるよう構成することで、オペレーティングシステムの制御に依存することなく、デバイスドライバと原稿読取り手段及び印刷出力手段との接続を確立できるため、例えばオペレーティングシステムに設けられたタスクスケジューラによる割込みを禁止することができ、リアルタイム性が要求されるコピー等のタスクを優先して実行できるようになる。また、例えばユーザプロセスとして立ち上げられたアプリケーションの動作は、仮想記憶機能を有するオペレーティングシステムにより制御されるため、高信頼性や高安定性を実現することができる。更に、これを実現するための構成を、オペレーティングシステムに追加して容易に組み込むことができるソフトウェアモジュールで実現することが可能であり、且つオペレーティングシステムのカーネル構成を大きく変更する必要が無いため、効率的且つ容易に、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【００２４】
また、請求項５記載の前記画像形成装置は、好ましくは請求項６記載のように、前記アクセス制御手段に割込み情報を入力する割込み制御手段と、前記原稿読取り手段及び／又は前記印刷出力手段の状態情報を管理する状態管理手段と、を有し、前記アクセス制御手段が、前記状態管理手段において管理されている前記状態情報に基づいて前記割込み制御手段から入力された前記割込み情報を受け付け、該割込み情報に基づいて前記タスクで要求されるデバイスドライバを該タスクで要求される前記原稿読取り手段又は前記印刷出力手段へ選択的にアクセスさせるように構成される。通常のデバイスドライバに組み込まれている割込みハンドラを用いることで、開発を容易化することが可能となる。また、割込み制御を入出力デバイスである原稿読取り手段及び印刷出力手段の状態に基づいて許可／禁止できるように構成することで、例えばリアルタイム性が要求されるタスクであるコピー実行時には、割込みを禁止するような制御が可能となり、画像形成装置のリアルタイム性が向上される。
【００２５】
また、本発明は、請求項７記載のようにデータの入出力を行う入出力デバイスと、該入出力デバイスを制御する複数のデバイスドライバとを有し、少なくとも仮想記憶機能を有するオペレーティングシステムが実装された情報処理装置におけるタスク実行方法であって、１つのタスクで要求されるデバイスドライバを該タスクで要求される入出力デバイスへ選択的にアクセスさせるアクセスステップと、アクセス状態にある前記デバイスドライバと前記入出力デバイスとを用いて前記タスクを実行するタスク実行ステップと、を有し、前記アクセスステップでは、前記オペレーティングシステムの制御に依存せずに、前記デバイスドライバと前記入出力デバイスとを選択的にアクセスさせるように構成される。デバイスドライバのアクセス先の入出力デバイス、又は入出力デバイスへアクセスさせるデバイスドライバを、アクセス制御手段を用いて選択的に切り換えるよう構成することで、オペレーティングシステムの制御に依存することなく、デバイスドライバと入出力デバイスとの接続を確立できるため、例えばオペレーティングシステムに設けられたタスクスケジューラによる割込みを禁止することができ、リアルタイム性が要求されるタスクを優先して実行できるようになる。また、例えばユーザプロセスとして立ち上げられたアプリケーションの動作は、仮想記憶機能を有するオペレーティングシステムにより制御されるため、高信頼性や高安定性を実現することができる。更に、これを実現するための構成を、オペレーティングシステムに追加して容易に組み込むことができるソフトウェアモジュールで実現することが可能であり、且つオペレーティングシステムのカーネル構成を大きく変更する必要が無いため、効率的且つ容易に、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【００２６】
また、請求項７記載の前記アクセスステップは、好ましくは請求項８記載のように、前記オペレーティングシステムから出力された割込み情報に基づいて、前記デバイスドライバの割込みハンドラを呼び出すことで、前記入出力デバイスと該デバイスドライバとを選択的にアクセスさせるように構成される。通常のデバイスドライバに組み込まれている割込みハンドラを用いることで、開発を容易化することが可能となる。
【００２７】
また、請求項８記載の前記アクセスステップは、好ましくは前記タスクで要求される入出力デバイスの状態に基づいて、前記割込み情報を受け付ける又は禁止するように構成される。割込み制御を入出力デバイスの状態に基づいて許可／禁止できるように構成することで、例えばリアルタイム性が要求されるタスクの実行時には、割込みを禁止するような制御が可能となり、情報処理装置のリアルタイム性が向上される。
【００２８】
また、本発明は、請求項１０記載のように、原稿の画像データを読み取る原稿読取り手段と、画像データを印刷出力する印刷出力手段とを有し、少なくとも仮想記憶機能を有するオペレーティングシステムが実装された画像形成装置におけるタスク実行方法であって、前記デバイスドライバと前記原稿読取り手段とを選択的にアクセスさせるアクセスステップと、前記デバイスドライバの制御に基づいて前記原稿読取り手段で前記原稿の画像データを読み取る画像データ読取りステップと、前記デバイスドライバのアクセス先を前記印刷出力手段に切り換えるアクセス先切替えステップと、前記デバイスドライバの制御に基づいて前記画像データを印刷出力する印刷出力ステップと、を有し、前記アクセスステップ，画像データ読取りステップ，前記アクセス先切替えステップ及び前記印刷出力ステップを、前記オペレーティングシステムの制御に依存せずに、１つのタスク実行中に行うように構成される。原稿読取り手段及び印刷出力手段を有し、また、これら両方を制御できるデバイスドライバを実装し、更に、各々のデバイスに複数のドライバからのアクセスを選択的に可能にする仕組みを提供することで、適宜、スキャン機能，プリント機能，ダイレクトコピー機能を使い分けることが可能な画像形成装置が実現でき、更にまた、デバイスドライバのアクセス先を、アクセス制御手段を用いて選択的に切り換えるよう構成することで、オペレーティングシステムの制御に依存することなく、デバイスドライバと原稿読取り手段及び印刷出力手段との接続を確立できるため、例えばオペレーティングシステムに設けられたタスクスケジューラによる割込みを禁止することができ、リアルタイム性が要求されるコピー等のタスクを優先して実行できるようになる。また、例えばユーザプロセスとして立ち上げられたアプリケーションの動作は、仮想記憶機能を有するオペレーティングシステムにより制御されるため、高信頼性や高安定性を実現することができる。更に、これを実現するための構成を、オペレーティングシステムに追加して容易に組み込むことができるソフトウェアモジュールで実現することが可能であり、且つオペレーティングシステムのカーネル構成を大きく変更する必要が無いため、効率的且つ容易に、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【００２９】
また、本発明は、請求項１１記載のように、データの入出力を行う入出力デバイスと、該入出力デバイスを制御する複数のデバイスドライバとを有し、少なくとも仮想記憶機能を有するオペレーティングシステムが実装された情報処理装置を機能させるためのプログラムであって、１つのタスクで要求されるデバイスドライバを該タスクで要求される入出力デバイスへ選択的にアクセスさせるアクセス処理と、アクセス状態にある前記デバイスドライバと前記入出力デバイスとを用いて前記タスクを実行するタスク実行処理と、を前記コンピュータに実行させ、前記アクセス処理は、前記オペレーティングシステムの制御に依存せずに、前記デバイスドライバと前記入出力デバイスとを選択的にアクセスさせるように構成される。デバイスドライバのアクセス先の入出力デバイス、又は入出力デバイスへアクセスさせるデバイスドライバを、アクセス制御手段を用いて選択的に切り換えるよう構成することで、オペレーティングシステムの制御に依存することなく、デバイスドライバと入出力デバイスとの接続を確立できるため、例えばオペレーティングシステムに設けられたタスクスケジューラによる割込みを禁止することができ、リアルタイム性が要求されるタスクを優先して実行できるようになる。また、例えばユーザプロセスとして立ち上げられたアプリケーションの動作は、仮想記憶機能を有するオペレーティングシステムにより制御されるため、高信頼性や高安定性を実現することができる。更に、これを実現するための構成を、オペレーティングシステムに追加して容易に組み込むことができるソフトウェアモジュールで実現することが可能であり、且つオペレーティングシステムのカーネル構成を大きく変更する必要が無いため、効率的且つ容易に、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【００３０】
また、請求項１１記載の前記アクセス処理は、好ましくは請求項１２記載のように、前記オペレーティングシステムから出力された割込み情報に基づいて、前記デバイスドライバの割込みハンドラを呼び出すことで、前記入出力デバイスと該デバイスドライバとを選択的にアクセスさせるように構成される。通常のデバイスドライバに組み込まれている割込みハンドラを用いることで、開発を容易化することが可能となる。
【００３１】
また、請求項１２記載の前記プログラムは、好ましくは請求項１３記載のように、前記アクセスス処理が、前記タスクで要求される入出力デバイスの状態に基づいて、前記割込み情報を受け付ける又は禁止するように構成される。割込み制御を入出力デバイスの状態に基づいて許可／禁止できるように構成することで、例えばリアルタイム性が要求されるタスクの実行時には、割込みを禁止するような制御が可能となり、情報処理装置のリアルタイム性が向上される。
【００３２】
また、本発明は、請求項１４記載のように、原稿の画像データを読み取る原稿読取り手段と、画像データを印刷出力する印刷出力手段とを有し、少なくとも仮想記憶機能を有するオペレーティングシステムが実装された画像形成装置を機能させるためのプログラムであって、前記デバイスドライバと前記原稿読取り手段とを選択的にアクセスさせるアクセス処理と、前記デバイスドライバの制御に基づいて前記原稿読取り手段で前記原稿の画像データを読み取る画像データ読取り処理と、前記デバイスドライバのアクセス先を前記印刷出力手段に切り換えるアクセス先切替え処理と、前記デバイスドライバの制御に基づいて前記画像データを印刷出力する印刷出力処理と、を前記コンピュータに実行させ、前記アクセス処理，画像データ読取り処理，前記アクセス先切替え処理及び前記印刷出力処理を、前記オペレーティングシステムの制御に依存せずに、１つのタスク実行中に行うように構成される。原稿読取り手段及び印刷出力手段を有し、また、これら両方を制御できるデバイスドライバを実装し、更に、各々のデバイスに複数のドライバからのアクセスを選択的に可能にする仕組みを提供することで、適宜、スキャン機能，プリント機能，ダイレクトコピー機能を使い分けることが可能な画像形成装置が実現でき、更にまた、デバイスドライバのアクセス先を、アクセス制御手段を用いて選択的に切り換えるよう構成することで、オペレーティングシステムの制御に依存することなく、デバイスドライバと原稿読取り手段及び印刷出力手段との接続を確立できるため、例えばオペレーティングシステムに設けられたタスクスケジューラによる割込みを禁止することができ、リアルタイム性が要求されるコピー等のタスクを優先して実行できるようになる。また、例えばユーザプロセスとして立ち上げられたアプリケーションの動作は、仮想記憶機能を有するオペレーティングシステムにより制御されるため、高信頼性や高安定性を実現することができる。更に、これを実現するための構成を、オペレーティングシステムに追加して容易に組み込むことができるソフトウェアモジュールで実現することが可能であり、且つオペレーティングシステムのカーネル構成を大きく変更する必要が無いため、効率的且つ容易に、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【００３３】
また、本発明は、請求項１５記載のように請求項１１から１５の何れか１項に記載の前記プログラムを記録媒体に記録して提供するものである。これにより、このプログラムを広く頒布することが可能となる。
【００３４】
【発明の実施の形態】
以下、本発明の好適な一実施形態について図面を用いて詳細に説明する。図１は、本実施形態による情報処理装置１の概略構成を示すブロック図である。
【００３５】
本実施形態において、プラットホームには、例えばＵＮＩＸ等の汎用オペレーティングシステム（ＯＳ）を用いる。尚、この汎用ＯＳには、特にＦｒｅｅＢＳＤやＮｅｔＢＳＤやＯｐｅｎＢＳＤ等のオープンソースライセンスを採用しているものを適用するとなおよい。
【００３６】
図１に示すように、情報処理装置１は、汎用ＯＳであるＯＳカーネル１０１及び入出力デバイス３００を制御するドライバ１１０ａ，１１０ｂ，…（以下、任意のドライバの符号を１１０とする）を有して構成され、更に、本実施形態特有のアクセス制御部２０とハードウェア状態管理部３０と割込み制御部４０を有して構成されている。ＯＳカーネル１０１とドライバ１１０とアクセス制御部２０とハードウェア状態管理部３０と割込み制御部４０とは、所謂ミドルウェア（Ｍ／Ｗ）２に含まれる構成であり、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等において実行されることで実現されるものである。但し、ＯＳカーネル１０１は、１次キャッシュ等のメインメモリに格納されたデータをハードディスクドライブ（ＨＤＤ）等の二次的な記録装置に移動する、所謂スワップアウトを行う仮想記憶機能や、このほか、汎用ＯＳにおいて一般的に標準で搭載されているメモリ保護機能等の機能を備えている。
【００３７】
アプリケーション２００ａ，２００ｂ，２００ｃ，…（以下、任意のアプリケーションの符号を２００とする）は、ＯＳカーネル１０１の制御の下で実行されるソフトウェアであり、ユーザプロセスとして図示しないＲＡＭ（ＲａｎｄｏｍＡｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメモリに展開されるものである。また、入出力デバイス３００は、例えばハードディスクドライブ（ＨＤＤ）やスキャナデバイスやキーボード，マウス等のユーザインタフェース（ＵＩ）デバイスやプリンタデバイス（プリンタエンジンともいう）やネットワークアダプタ等の周辺機器であり、例えばＰＣＩバス等のバスを介してＭ／Ｗ２とのデータの入出力が実現されるものである。
【００３８】
アクセス制御部２０は、ドライバ１１０と入出力デバイス３００とのアクセスを制御するための構成である。ハードウェア状態管理部３０は、ハードウェアである入出力デバイス３００の現在の状態情報を保持するための構成である。ハードウェア状態管理部３０において保持されている状態情報は、適宜、アクセス制御部２０へ通知される。割込み制御部４０は、入出力デバイス３００が発行した割込み信号を認識したＯＳ（ＯＳカーネル１０１）からの指示（割込み要求）に基づいて、アクセス制御部２０へ割込みを通知するための構成である。即ち、アクセス制御部２０は、割込み制御部４０からの割込み指示に基づいて、対象の入出力デバイス３００へのアクセスを許可するドライバ１１０を切り換える。
【００３９】
以上のような構成において、アクセス制御部２０は、１つ以上のドライバ１１０のうち何れかを選択的に入出力デバイス３００に接続する。即ち、１つの入出力デバイス３００に対して複数のドライバ１１０が設けられた構成において、アクセス制御部２０は、何れかのドライバ１１０を選択し、これの割込みハンドラを呼び出すことで、対象のドライバ１１０を入出力デバイス３００へアクセスさせる。また、１つのタスクを実行している間、アクセス制御部２０は、他のタスクの割込みを禁止する。換言すれば、ハードウェア状態管理部３０において対象の入出力デバイス３００が動作状態であると格納されている場合、アクセス制御部２０は、割込み制御部４０からの割込み情報を受け付けない。これにより、アクセス制御部２０を介したドライバ１１０と入出力デバイス３００とのデータの送受信が中断されることが禁止されるため、目的のタスクをリアルタイム性良く実行することができる。換言すれば、タイムシェアリング機能等を行う汎用ＯＳの制御に依存することなく、タスクを実行することができるため、情報処理装置１のリアルタイム性が向上される。但し、アクセス制御部２０において割込みが禁止されている場合、割込み制御部４０が、ＯＳカーネル１０１から受信した割込み情報を、割込みが許可されるまで一時保持しておくようにおくように構成すると良い。
【００４０】
次に、上記の情報処理装置１を用いて画像形成装置１０を構成した場合について、以下に図面を用いて詳細に説明する。図２は、画像形成装置１０の構成を示すブロック図である。
【００４１】
図２に示すように、画像形成装置１０は、入出力デバイス３００として、スキャナデバイス３０１とプリンタデバイス３０２とＵＩデバイス３０３とネットワークアダプタ３０４とを有している。また、ミドルウェア（Ｍ／Ｗ）２Ａには、ＯＳカーネル１０１の他に、ドライバ１１０として、スキャナデバイス３０１を制御するためのスキャナドライバ１１１と，プリンタデバイス３０２を制御するためのプリンタドライバ１１２と，ＵＩデバイス３０３を制御するためのＵドライバ１１３と，ネットワークアダプタ３０４を制御するためのネットワークドライバ１１４とが設けられている。即ち、各入出力デバイス３００には、これを制御するためのドライバ１１０が設けられている。更に、Ｍ／Ｗ２Ａには、入出力デバイス３００との接続を制御するためのアクセス制御部２０（２１，２２，２３，２４）が個々に設けられている。これらアクセス制御部２１，２２，２３，２４には、ハードウェア状態管理部（図中『状態』で示す）３１，３２，３３，３４及び割込み通知部（図中『割込』で示す）４１，４２，４３，４４が個々に１つずつ設けられている。即ち、１つの入出力デバイス３００には、アクセス制御部２０とハードウェア状態管理部３０と割込み制御部４０とが１つずつ設けられている。
【００４２】
更に、Ｍ／Ｗ２Ａには、スキャナデバイス３０１及びプリンタデバイス３０２を制御することで画像形成装置１０を複写機として機能させるためのダイレクトコピードライバ１５が設けられている。このダイレクトコピードライバ１５に対応するアクセス制御部２０には、アクセス制御部２１及び２２がそれぞれスキャナドライブ１１１及びプリンタドライバ１１２と共有する形で用いられる。
【００４３】
このほか、画像処理装置１０には、ＯＳカーネル１０１の制御の下で実行されるアプリケーション２００として、スキャナデバイス３０１を用いて原稿の画像データを取り込む機能を提供するためのスキャナアプリケーション２０１と，スキャナデバイス３０１で取り込まれた画像データ又はネットワークアダプタ３０４を介して入力された画像データをハード出力する機能を提供するためのプリントアプリケーション２０２と，スキャナデバイス３０１で原稿の画像データを取り込み，更にこの画像データをプリンタデバイス３０２を用いてハード出力する機能（所謂コピー機能）を提供するためのコピーアプリケーション２０５とを有している。
【００４４】
以上のような構成を有することで、画像形成装置１０は、ネットワークを介して入力された画像データを出力するネットワークプリンタとしても、原稿台（スキャナデバイス３０１）に載置された原稿をコピーする複写機としても、また、スキャナデバイス３０１で取り込んだ画像データをネットワークへ出力するネットワークスキャナとしても機能することができる。
【００４５】
ネットワークプリンタとして機能する場合（以下、この機能をネットワークプリンタ機能という）、画像形成装置１０は、ネットワークアダプタ（ネットワークインともいう）３０４を経由してホストコンピュータからプリントデータ（画像データ）を受信し、これを内部でプリントデータ出力用フォーマットに適宜画像処理した後、プリンタデバイス３０２から出力する。
【００４６】
より詳細には、ＬＡＮ等のネットワークからネットワークアダプタ３０４を介して受信したプリントデータを、プリントアプリケーション２０２で適宜プリントデータ出力用フォーマットに変換し、これをＯＳカーネル１０１のインタフェースを介してプリンタドライバ１１２に入力する。プリンタドライバ１１２は、アクセス制御部２２にアクセスし、データの送信制御とプリンタデバイス３０２との通信制御とを行う。アクセス制御部２２を介してアクセスされたプリンタデバイス３０２は、割込み信号をＯＳカーネル１０１へ発行する。ＯＳカーネル１０１は、この割込み信号に基づいて割込み情報を生成し、これを該当する割込み制御部４２へ入力する。割込みが禁止されていない場合、割込み制御部４２は、割込み情報をアクセス制御部２２に入力する。アクセス制御部２２は、割込み情報に含まれるドライバ（ここではプリンタドライバ１１２）の割込みハンドラを呼び出す。その後、プリンタドライバ１１２は、アクセス制御部２２を経由してプリンタデバイス３０２を制御することで、プリントデータをハード出力する。また、プリンタデバイス３０２は、自己の状態が遷移した場合、逐次このことをハードウェア状態管理部３２に通知する。尚、アクセス制御部２２は、定期的又は適宜、ハードウェア状態管理部３２に状態を問い合わせることで、プリンタデバイス３０２の現在の状態を知得し、要求された割込みの許可と禁止とを判断する。このような制御がなされることで、ネットワークから受信したプリントデータをプリンタデバイス３０２を用いてハード出力することができる。即ち、画像形成装置１０がネットワークプリンタとして機能する。
【００４７】
また、ネットワークスキャナとして機能する場合（以下、この機能をネットワークスキャナ機能という）、画像形成装置１０は、ネットワークアダプタ３０４を介してホストコンピュータから受け取ったスキャン要求又はＵＩデバイス３０３を用いてユーザから入力されたスキャン要求に基づいて、物理的なインタフェースであるスキャナデバイス３０１を制御して原稿の画像データを取り込む。また、取り込んだ画像データは、ユーザ環境での利用に適したファイルフォーマットに変換され、その後、例えば画像形成装置１０に設けられたＨＤＤ等の二次記憶装置に格納されるか、ネットワークアダプタ３０４を介して該当するホストコンピュータへ送信される。
【００４８】
より詳細には、ネットワークアダプタ３０４を介してホストコンピュータから、又は、ＵＩデバイス３０３を用いてユーザからスキャン要求（動作指示）が入力されると、スキャナアプリケーション２０１が、ＯＳカーネル１０１を介してスキャナドライバ１１１にスキャン動作を指示する。スキャナドライバ１１１は、アクセス制御部２１にアクセスし、データの送信制御とスキャナデバイス３０１との通信制御とを行う。アクセス制御部２１を介してアクセスされたスキャナデバイス３０１は、割込み信号をＯＳカーネル１０１へ発行する。ＯＳカーネル１０１は、この割込み信号に基づいて割込み情報を発行し、これを該当する割込み制御部４１へ入力する。割込みが禁止されていない場合、割込み制御部４１は、割込み情報をアクセス制御部２１に入力する。アクセス制御部２１は、割込み情報に含まれるドライバ（ここではスキャナドライバ１１１）の割込みハンドラを呼び出す。その後、スキャナドライバ１１２は、アクセス制御部２１を経由してプリンタデバイス３０１を制御することで、原稿の画像データを取り込む。また、スキャナデバイス３０１は、自己の状態が遷移した場合、逐次このことをハードウェア状態管理部３１に通知する。尚、アクセス制御部２１は、定期的又は適宜、状態管理部３１に状態を問い合わせることで、スキャナデバイス３０１の現在の状態を知得し、要求された割込みの許可と禁止とを判断する。このような制御がなされることで、ネットワークから又はＵＩデバイス３０３から入力されたスキャン要求に基づいて原稿の画像データを取り込み、これを例えばＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）規格等の所定の圧縮形式の画像データに変換し、電子ファイルとして原稿画像が得られる。尚、得られた電子ファイル（画像データ）は、画像形成装置１０に設けられたＨＤＤ等の二次記憶装置に格納されるか、ネットワークアダプタ３０４を介して該当するホストコンピュータへ送信される。
【００４９】
また、複写機として機能する場合（以下、この機能をダイレクトコピー機能という）、画像形成装置１０は、例えばＵＩデバイス３０３を用いてユーザから入力されたスキャン要求に基づいて、物理的なインタフェースであるスキャナデバイス３０１を制御して原稿の画像データを取り込む。また、取り込んだ画像データは、画像形成装置１０内部でプリントデータ出力用フォーマットに適宜が像処理された後、プリンタデバイス３０２で印刷されてハード出力される。
【００５０】
より詳細には、ＵＩデバイス３０３を用いてユーザからコピー要求（動作指示）が入力されると、コピーアプリケーション２０５が、ＯＳカーネル１０１を介してダイレクトコピードライバ１５にコピー動作を指示する。ダイレクトコピードライバ１５は、まず、アクセス制御部２１にアクセスし、データの送受信制御とスキャナデバイス３０１との通信制御とを行う。アクセス制御部２１を介してアクセスされたスキャナデバイス３０１は、割込み信号をＯＳカーネル１０１へ発行する。ＯＳカーネル１０１は、この割込み信号に基づいて割込み情報を発行し、これを該当する割込み制御部４１へ入力する。割込みが禁止されていない場合、割込み制御部４１は、割込み情報をアクセス制御部２１に入力する。アクセス制御部２１は、割込み情報に含まれるドライバ（ここではダイレクトコピードライバ１５）の割込みハンドラを呼び出す。このような制御がなされることで、画像形成装置１０では、まず、原稿の画像データが取得される。尚、この画像データは、バッファメモリ等に一時保持される。次に、画像形成装置１０は、画像データをプリントデータとして、プリントアプリケーション２０２で適宜プリントデータ出力用フォーマットに変換し、これをＯＳカーネル１０１のインタフェースを介してダイレクトコピードライバ１５に入力する。ダイレクトコピードライバ１５は、アクセス制御部２２にアクセスし、データの送信制御とプリンタデバイス３０２との通信制御とを行う。アクセス制御部２２を介してアクセスされたプリンタデバイス３０２は、割込み信号をＯＳカーネル１０１へ発行する。ＯＳカーネル１０１は、この割込み信号に基づいて割込み情報を発行し、これを該当する割込み制御部２２へ入力する。本機能ではこの状態で割込みが許可されているため、割込み制御部２２は、そのまま割込み情報をアクセス制御部２２に入力する。アクセス制御部２２は、割込み情報に含まれるドライバ（ここではダイレクトコピードライバ１５）の割込みハンドラを呼び出す。その後、ダイレクトコピードライバ１５は、アクセス制御部２２を経由してプリンタデバイス３０２を制御することで、プリントデータをハード出力する。このような制御がなされることで、搭載されたスキャナデバイス３０１とプリンタデバイス３０２とを利用して、画像形成装置１０を複写機として機能させることが可能となる。
【００５１】
また、上記で例示したネットワークプリンタ機能とネットワークスキャナ機能とダイレクトコピー機能とが盛り込まれた画像形成装置１０の動作を図３のフローチャートに示す。
【００５２】
図３において、画像形成装置１０は、ネットワークからプリントデータが入力された場合（ステップＳ１０１のＹｅｓ）、このプリントデータを受信し（ステップＳ１０２）、プリンタアプリケーション２０２を用いてプリントデータに含まれるＪＣＬヘッダにパース処理を施す（ステップＳ１０３）。次に、プリントデータに含まれる全ての画像データに対してプリンタアプリケーション２０２を用いてＰＤＬ処理を施し（ステップＳ１０４及びステップＳ１０５）、その後、これを上述したような手順によりプリンタデバイス２０２からハード出力する（ステップＳ１０６）。
【００５３】
また、画像形成装置１０は、ネットワークからプリントデータを受信せず（ステップＳ１０１のＮｏ）にスキャン指示（要求）がネットワークから入力された場合（ステップＳ１０７のＹｅｓ）、上述したような手順によりスキャナデバイス２０１から全ての原稿の画像データを取得する（ステップＳ１０８〜ステップＳ１１０）。その後、取得した全画像データをネットワークを介してスキャン指示を発行したホスト（コンピュータ）に転送する（ステップＳ１１１）。
【００５４】
更にまた、画像形成装置１０は、ネットワークからプリントデータを受信せず（ステップＳ１０１のＮｏ）且つネットワークからスキャン要求が入力されず（ステップＳ１０７のＮｏ）にコピー指示（要求）が入力された場合（ステップＳ１１２のＹｅｓ）、上述したような手順によりスキャナデバイス２０１から原稿の画像データを取得し（ステップＳ１１３）、これにコピーアプリケーション２０５を用いて所定の画像処理を施した（ステップＳ１１４）後、上述したような手順によりプリンタデバイス２０２からこれをハード出力する（ステップＳ１１５）。尚、ステップＳ１１３からステップＳ１１５までの処理は、原稿１ページ毎又は１部毎に全ページが終了するまで繰り返される（ステップＳ１１６）。
【００５５】
以上のように、スキャナデバイス及びプリンタデバイスを情報処理装置に接続し、スキャンイン用デバイスドライバ及びプリンタ用デバイスドライバの他にスキャナデバイスとプリンタデバイスとを共に制御するダイレクトコピードライバを備え、更に、各々のデバイスに複数のドライバからのアクセスを選択的に可能にする仕組みを提供することで、適宜、スキャン機能，プリント機能，ダイレクトコピー機能を使い分けることができるようになる。また、ユーザプロセスとして立ち上げられたアプリケーションの動作等は信頼性や安定性が実現できる汎用ＯＳの制御の下で実現され、リアルタイム性が要求されるコピー動作等は汎用ＯＳの制御に依存せずに実現されるため、目的に応じて高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能な情報処理装置、特に画像形成装置が実現できる。とりわけ、汎用ＯＳの制御に依存することなく複数のデバイスを単一のデバイスドライバで制御できる構成により、ＵＮＩＸのような汎用ＯＳでも複数のデバイスを連携した制御を決められた処理時間内に行うことが可能になる。更に、これを実現するための構成を、汎用ＯＳに追加して容易に組み込むことができるソフトウェアモジュールで実現しているため、効率的且つ容易に上記のような効果を得られる情報処理装置、特に画像形成装置を開発できる。更にまた、本実施形態は、デバイス毎のデバイスドライバでなく、ダイレクトコピードライバ１５のような機能毎のデバイスドライバを組み込むことができるように構成されているため、情報処理装置の改良による利便性の向上の可能性を大幅に拡大することが達成される。
【００５６】
尚、以上で説明した実施形態は本発明の好適な一実施形態にすぎず、本発明はその趣旨を逸脱しない限り種々変形して実施可能である。
【００５７】
【発明の効果】
以上説明したように、本発明によれば、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能で且つ開発が容易な情報処理装置、画像形成装置、タスク実行方法、そのプログラム及びそのプログラムを記録した記録媒体が実現できる。
【図面の簡単な説明】
【図１】本発明の一実施形態による情報処理装置１の概略構成を示すブロック図である。
【図２】図１に示す情報処理装置１を適用した画像形成装置１０の構成を示すブロック図である。
【図３】図２に示す画像形成装置１０の動作を示すフローチャートである。
【図４】従来技術１による画像形成装置１００の構成を示すブロック図である。
【図５】図４に示す画像形成装置１００において仮想記憶機能による作用を説明するための図である。
【図６】従来技術２による画像形成装置２００の構成を示すブロック図である。
【符号の説明】
１  情報処理装置                      ２、２Ａ  Ｍ／Ｗ
１０  画像形成装置                    １５  ダイレクトコピードライバ
２０、２１、２２、２３、３４  アクセス制御部
３０、３１、３２、３３、３４  ハードウェア状態管理部
４０、４１、４２、４３、４４  割込み制御部
【図１】
2004265301.tif 000003
【図２】
2004265301.tif 000004
【図３】
2004265301.tif 000005
【図４】
2004265301.tif 000006
【図５】
2004265301.tif 000007
【図６】
2004265301.tif 000008