JP2006155467A - Digital composite machine, its control method, program, and storage medium - Google Patents
Digital composite machine, its control method, program, and storage medium Download PDFInfo
- Publication number
- JP2006155467A JP2006155467A JP2004348351A JP2004348351A JP2006155467A JP 2006155467 A JP2006155467 A JP 2006155467A JP 2004348351 A JP2004348351 A JP 2004348351A JP 2004348351 A JP2004348351 A JP 2004348351A JP 2006155467 A JP2006155467 A JP 2006155467A
- Authority
- JP
- Japan
- Prior art keywords
- file system
- unit
- cpu
- document
- page
- 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.)
- Withdrawn
Links
Images
Abstract
Description
本発明は、画像形成装置のファイルシステムに関する。 The present invention relates to a file system of an image forming apparatus.
ファイルシステムにはファイルを管理するための管理テーブル等メモリを大きく使用するテーブル情報が必要である。 The file system requires table information that uses a large amount of memory, such as a management table for managing files.
又、別の従来例としては、特許文献1をあげることが出来る。
As another conventional example,
一般的にマルチCPUシステム上のファイルシステムは、そのファイルシステムが全く同等のものであっても、プログラムおよびテーブル情報を、それぞれのCPU上に搭載していた。ファイルシステムのテーブル情報は巨大であるため、複数のCPU上に管理テーブルを別々に持つことはメモリの無駄使いであるといえる。また、各CPU上のファイルシステムの整合性を取ることが困難であるという問題があった。 In general, a file system on a multi-CPU system has programs and table information mounted on each CPU even if the file systems are completely equivalent. Since the file system table information is enormous, having separate management tables on a plurality of CPUs can be said to be a waste of memory. Further, there is a problem that it is difficult to maintain the consistency of the file system on each CPU.
マルチCPUシステムに搭載された各CPU上のファイルシステムが全く同一のテーブル情報を必要とする場合、上記複数のCPUで上記複数のファイルシステムにおいて、管理テーブルを共有することでメモリの節約になる。複数のCPUから必要に応じて、ファイルシステムを使用する際、同時にアクセスするとデータの整合が取れなくなるため、排他制御を行う必要がある。排他制御にはファイルシステムのマウントおよびアンマウントを使用する。仮にA,B二つのCPUがあるとして、システム起動時にはAのみがファイルシステムをマウントしている状態である。Aがファイルシステムにアクセス後、アンマウントし、Bがその後マウントし、ファイルシステムにアクセスする。上記マウント処理は自分以外の全てのCPUがファイルシステムをアンマウントしているときにのみ可能である。 When the file system on each CPU mounted in the multi-CPU system requires exactly the same table information, memory can be saved by sharing the management table in the plurality of file systems with the plurality of CPUs. When using a file system as needed from a plurality of CPUs, it is necessary to perform exclusive control because data cannot be matched if accessed simultaneously. File system mount and unmount are used for exclusive control. Assuming that there are two CPUs A and B, when only the A is mounted, the file system is mounted. After A accesses the file system, it unmounts, and B then mounts and accesses the file system. The mount process can be performed only when all the CPUs other than itself are unmounting the file system.
ファイルシステムにはファイルを管理するための管理テーブル等メモリを大きく使用するテーブル情報が必要である。一般的にマルチCPUシステム上のファイルシステムは、プログラムおよびテーブル情報を、それぞれのCPU上に搭載していた。ファイルシステムのテーブル情報は巨大であるため、複数のCPU上に管理テーブルを別々に持つことはメモリの無駄使いであるといえる。また、各CPU上のファイルシステムの整合性を取ることが困難であるという問題があった。マルチCPUシステムに搭載された各CPU上のファイルシステムが全く同一のテーブル情報を必要とする場合、上記複数のCPUで上記複数のファイルシステムにおいて、管理テーブルを共有することでメモリの節約になる。複数のCPUから必要に応じて、ファイルシステムを使用する際、同時にアクセスするとデータの整合が取れなくなるため、排他制御を行う必要がある。排他制御にはファイルシステムのマウントおよびアンマウントを使用する。仮にA,B二つのCPUがあるとして、システム起動時にはAのみがファイルシステムをマウントしている状態である。Aがファイルシステムにアクセス後、アンマウントし、Bがその後マウントし、ファイルシステムにアクセスする。上記マウント処理は自分以外の全てのCPUがファイルシステムをアンマウントしているときにのみ可能である。複数のCPU上の複数のファイルシステムにおいて、テーブル情報を共有することでメモリの節約になる。また、テーブル情報を共有することにより、データの整合性を容易にとることが出来る。 The file system requires table information that uses a large amount of memory, such as a management table for managing files. In general, a file system on a multi-CPU system has programs and table information mounted on each CPU. Since the file system table information is enormous, having separate management tables on a plurality of CPUs can be said to be a waste of memory. Further, there is a problem that it is difficult to maintain the consistency of the file system on each CPU. When the file system on each CPU mounted in the multi-CPU system requires exactly the same table information, memory can be saved by sharing the management table in the plurality of file systems with the plurality of CPUs. When using a file system as needed from a plurality of CPUs, it is necessary to perform exclusive control because data cannot be matched if accessed simultaneously. File system mount and unmount are used for exclusive control. Assuming that there are two CPUs A and B, when only the A is mounted, the file system is mounted. After A accesses the file system, it unmounts, and B then mounts and accesses the file system. The mount process can be performed only when all the CPUs other than itself are unmounting the file system. In a plurality of file systems on a plurality of CPUs, memory is saved by sharing table information. Further, by sharing table information, data consistency can be easily obtained.
以下、本発明の実施の形態を図面を参照して説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図1は本発明に係る電子部品としてのコントローラ部が搭載された画像入出力装置(データ処理装置)の一実施の形態を示すブロック構成図であって、該画像入出力装置100は、LAN(Local Area Network)600にてホストコンピュータ(本実施の形態では第一のホストコンピュータ601、第二のホストコンピュータ602)に接続されている。 FIG. 1 is a block diagram showing an embodiment of an image input / output device (data processing device) on which a controller unit as an electronic component according to the present invention is mounted. A local area network (600) is connected to a host computer (in this embodiment, a first host computer 601 and a second host computer 602).
上記画像入出力システム100は、画像データの読取処理を行うリーダ装置(リーダー部)200と、画像データの出力処理を行うプリンタ装置(プリンタ部)300と、画像データの入出力操作を行うキーボード、及び画像データや各種機能の表示/設定などを行う液晶パネルを備えた操作部150と、リーダー装置200を制御して読み込んだ画像データや、LAN600を介してホストコンピュータ601、602より受信したコードデータから生成される画像データを格納/保存できる画像記憶部160を装着し、これら各構成要素に接続されて該構成要素を制御する単一の電子部品からなる制御装置(コントローラ部)110で構成されている。
The image input /
リーダー装置200は、原稿用紙を搬送する原稿給紙ユニット250と、原稿画像を光学的に読み取って電気信号としての画像データに変換するスキャナユニット210とを有し、プリンタ装置300は、記録用紙を収容する複数段の給紙カセットを備えた給紙ユニット310と、画像データを記録用紙に転写/定着するマーキングユニット(部)320と、印字された記録用紙にソート処理やステイプル処理を施し、外部に排出する排紙ユニット(部)330とを有している。
The
制御装置110は、リーダー部200を制御して、原稿の画像データを読込み、プリンタ部300を制御して画像データを記録用紙に出力してコピー機能を提供する。また、リーダー部200から読取った画像データを、コードデータに変換し、ネットワーク600を介してホストコンピュータ601,602へ送信するスキャナ機能、ホストコンピュータからネットワーク600を介して受信したコードデータを画像データに変換し、プリンタ部300に出力するプリンタ機能、その他の機能ブロックを有している。
The control device 110 controls the
図2はリーダ部200及びプリンタ部300の詳細を示す断面図である。
FIG. 2 is a cross-sectional view showing details of the
リーダー部200では、原稿給送ユニット250に積層された原稿用紙がその積層順に従って、先頭から順次1枚ずつプラテンガラス211上へ給送され、スキャナユニット210で所定の読み取り動作が終了した後、読み取られた原稿用紙は、プラテンガラス211上の原稿を排出トレイ219に排出される。また、原稿用紙がプラテンガラス211上に搬送されると、ランプ212を点灯し、次いで光学ユニット213の移動を開始させ、原稿用紙を下方から照射し走査する。そして、原稿用紙からの反射光は、複数のミラー214、215、216、及び、レンズ217を介してCCDイメージセンサ(以下「CCD」と記す)218へ導かれ、走査された原稿画像はCCD218によって読み取られる。CCD218で読み取られた画像データは、所定の処理が施された後、コントローラユニット110に転送される。
In the
原稿給送ユニット250が原稿流し読み機能を有している場合、原稿給送部250に積層された原稿用紙は、原稿流し読み位置240を一定の速度で通過する。この場合、光学ユニット213は原稿流し読み位置240に移動し、等速で搬送される原稿をランプ212によって照射し、CCD218によって随時読み取ることで画像データを生成し、コントローラユニット110に転送される。
When the
次いで、プリンタ部300では、コントローラ部110から出力された画像データに対応するレーザ光が、レーザドライバ321により駆動されるレーザ発行部322から発行され、感光ドラム323にはレーザ光に応じた静電潜像が形成され、現像器324により前記静電潜像の部分に現像剤が付着される。
Next, in the
一方、レーザ光の照射開始と同期したタイミングで、カセット311、カセット312、カセット313、カセット314、手差し給紙段315のいずれかから記録用紙が給紙されて転写部325に搬送路331により搬送され、感光ドラム323に付着している現像剤を記録用紙に転写する。画像データが転写された記録用紙は搬送ベルト326によって、定着部327に搬送され、定着部327における加熱・加圧処理により画像データが記録紙に定着される。定着部327を通過した記録紙は搬送路335、搬送路334を通り、排紙ビン328に排出される。印字面を反転して排紙ビン328に排出する場合には、搬送路336、搬送路338まで導かれ、そこから記録紙を逆方向に搬送し、搬送路337、搬送路334を通り、排紙ビン328に排出される。図に記していないが、排紙ビンの変わりに、排紙ユニットを装着することが可能で、排紙ユニットは排出された記録用紙を束ねて記録用紙の仕分け、仕分けされた記録用紙のステイプル処理などを行うことができる。
On the other hand, recording paper is fed from any of the
また、画像データを記録用紙に両面記録する場合は、定着部327を通過したあと、記録紙は、搬送路336からフラッパ329によって搬送路333に導かれ、その後、記録紙を逆方向に搬送し、フラッパ329によって搬送路338、再給紙搬送路332へ導かれる。再給紙搬送路332へ導かれた記録紙は上述と同様にして搬送路331を通り、転写部325へ給紙される。
When image data is recorded on both sides of a recording sheet, after passing through the
図3は制御装置(コントローラ部)110の詳細を示すブロック図である。 FIG. 3 is a block diagram showing details of the control device (controller unit) 110.
すなわち、メインコントローラ111は、CPU112と、バスコントローラ113と、後述する各種コントローラ回路を含む機能ブロックを内蔵すると共に、ROM I/F115を介してROM114と接続され、DRAM I/F117を介してDRAM116と接続され、コーデックI/F118を介してコーデック119と接続され、また、ネットワークI/F123を介してネットワークコントローラ121と接続され、コネクタ122によりLAN600との間で所定の制御動作を行う。
That is, the main controller 111 includes a CPU 112, a
ROM114は、メインコントローラ111のCPU112で実行される各種制御プログラムや演算データが確認されている。DRAM116は、CPU112が動作するための作業領域や画像データを蓄積するための領域として使用される。コーデック119はDRAM116に蓄積されたラスターイメージデータをMH/MR/MMR/JBIGなどの周知の圧縮方式で圧縮し、また圧縮されたデータをラスターイメージに伸長する。また、コーデック119にはSRAM120が接続されており、該SRAM120は前記コーデック119の一時的な作業領域として使用される。
In the ROM 114, various control programs executed by the CPU 112 of the main controller 111 and calculation data are confirmed. The
また、前記メインコントローラ111はスキャナバス141を介してスキャナI/F140に接続され、プリンタバス146を介してプリンタI/F145に接続され、さらにPCIバス等の汎用高速バス125を介して拡張ボードを接続するための拡張コネクタ124及び入出力制御部(I/O制御部)126に接続されている。
The main controller 111 is connected to the scanner I / F 140 via the
I/O制御部126はリーダ部200やプリンタ部300との間で制御コマンドを送受信するための調歩同期式のシリアル通信コントローラ127が2チャンネル装備されており、該シリアル通信コントローラ127はI/Oバス128を介してスキャナI/F140及びプリンタI/F145に接続されている。
The I / O control unit 126 is equipped with two channels of an asynchronous
スキャナI/F140は、第一の調歩同期シリアルI/F143及び第一のビデオI/F144を介してスキャナコネクタ142に接続され、さらに該スキャナコネクタ142はリーダ部200のスキャナユニット210に接続されている。そして、スキャナI/F140はスキャナユニット210から受信した画像データに対し所望の2値化処理や、主走査方向及び/又は副走査方向の変倍処理を行い、またスキャナユニット210から送られてきたビデオ信号に基づいて制御信号を生成し、スキャナバス141を介してメインコントローラ111に画像データを転送する。
The scanner I / F 140 is connected to the scanner connector 142 via the first asynchronous serial I / F 143 and the first video I / F 144, and the scanner connector 142 is further connected to the
また、プリンタI/F145は、第2の調歩同期シリアルI/F148及び第2のビデオI/F149を介してプリンタコネクタ147に接続され、さらに該プリンタコネクタ147はプリンタ部300のマーキングユニット320に接続されている。そして、プリンタI/F145はメインコントローラ111から出力された画像データにスムージング処理を施して該画像データをマーキングユニット320に出力し、さらにマーキングユニット320から送られたビデオ信号に基づいて、生成された制御信号をプリンタバス146に出力する。
The printer I /
そして、CPU112は、ROM114からROMI/F115を介して読み込まれた制御プログラムに基づいて動作し、例えば、第1及び第2のホストコンピュータ601、602から受信したPDL(ページ記述言語)データを解釈し、ラスターイメージデータに展開処理を行う。 The CPU 112 operates based on a control program read from the ROM 114 via the ROM I / F 115 and interprets, for example, PDL (page description language) data received from the first and second host computers 601 and 602. The raster image data is expanded.
また、バスコントローラ113は、スキャナI/F140プリンタI/F145、その他拡張コネクタ124等に接続された外部機器から入出力されるデータ転送を制御するものであり、バス競合時のアービトレーション(調停)やDMAデータ転送の制御を行う。即ち、例えば、上述したDRAM116とコーデック119との間のデータ転送や、スキャナユニット210からDRAM116へのデータ転送、DRAM116からマーキングユニット320へのデータ転送等は、バスコントローラ113によって制御され、DMA転送される。
The
また、I/O制御部126は、LCDコントローラ131及びキー入力I/F130を介してパネルI/F132に接続され、パネルI/F132は操作部150に接続されている。また、前記I/O制御部126は不揮発性メモリとしてのEEPROM135に接続され、またE−IDEコネクタ161を介して画像データの書き込み/読み出しが可能なハードディスクドライブ(HDD)162に接続され、さらに、機器内で管理する日付と時刻を更新/保存するリアルタイムクロックモジュール133に接続されている。尚、リアルタイムクロックモジュール133はバックアップ用電池134に接続されて該バックアップ用電池134によりバックアップされている。
The I / O control unit 126 is connected to the panel I /
図4はメインコントローラ111の内部詳細を示すブロック構成図である。 FIG. 4 is a block diagram showing the internal details of the main controller 111.
プロセッサコア401は、64ビットのプロセッサバス(SCバス)を介して、システム・バス・ブリッジ(SBB)402に接続される。SBB402は4×4の64ビットクロスバスイッチであり、プロセッサコア401の他に、キャッシュメモリを備えたSDRAMやROMを制御するメモリコントローラ403と専用のローカルバス(MCバス)で接続されており、さらに、グラフィックバスであるGバス404、IOバスであるBバス405と接続され、全部で4つのバスに接続される。SBB402は、これら4モジュール間を、可能な限り同時平行接続を確保することができるように設計されている。また、データの圧縮伸張ユニット(CODEC)418とも、CODEC I/Fを介して接続されている。
The
Gバス404はGバスアービタ(GBA)406により協調制御されており、スキャナやプリンタと接続するためのスキャナ/プリンタコントローラ(SPC)408に接続される。また、Bバス405は、Bバスアービタ(BBA)407により協調制御されており、SPC408のほか、電力管理ユニット(PMU)409、インタラプトコントローラ(IC)410、UARTを用いたシリアルインタフェースコントローラ(SIC)411、USBコントローラ412、IEEE1284を用いたパラレルインタフェースコントローラ(PIC)413、LANコントローラ(LANC)414、汎用入出力コントローラ(MISC)415、PCIバスインタフェース(PCIC)416にも接続されている。
The
Bバスアービタ407はBバス405を協調制御するアービトレーションであり、Bバス405のバス使用要求を受け付け、調停の後、使用許可が選択された一つのマスタに与えられ、これにより同時に2つ以上のマスタがバスアクセスを行うのを禁止している。尚、アービトレーション方式は3段階の優先権を有し、それぞれの優先権に複数のマスタが割り当てられる。
The
インタラプトコントローラ410は、上述した各機能ブロック及びコントローラユニット110の外部からインタラプトを集積し、CPU401がサポートするコントローラ類408、411−416及びノンマスカブルインタラプト(NMI)に再配分する。
The interrupt
電力管理ユニット409は機能ブロック毎に電力を管理し、さらに1チップで構成されている電子部品としてコントローラユニット110の消費電力量の監視を行う。すなわち、コントローラユニット110は、CPU401を内蔵した大規模なASIC(特定用途向けIC)で構成されており、このため全ての機能ブロックが同時に動作すると大量の熱を発生して、コントローラ部110自体が破壊されてしまう虞がある。
The
そこで、このような事態を防止するために各に機能ブロック毎に消費電力を管理し、各機能ブロックの消費電力量はパワーマネージメントレベルとして電力管理ユニット409に集積される。そして、該電力管理ユニット409では各機能ブロックの消費電力量を合計し、該消費電力量が限界消費電力を超えないように各機能ブロックの消費電力量を一括して監視する。
Therefore, in order to prevent such a situation, the power consumption is managed for each functional block, and the power consumption amount of each functional block is integrated in the
Gバスアービタ406は中央アービトレーション方式によりGバス404を協調制御しており、各バスマスタに対して専用の要求信号と許可信号とを有する。尚、バスマスタへの優先権の付与方式として、全てのバスマスタを同じ優先権として、公平にバス権を付与する公平アービトレーションモードといずれか一つのバスマスタに対して優先的にバスを使用させる優先アービトレーションモードのいずれかを指定することができる。
The
図5は、操作部150の例を示す図である。
FIG. 5 is a diagram illustrating an example of the
500は、ユーザーインターフェイスであり、種々のコピーモード(例えば、両面設定、グループ、ソート、ステイプル出力等)を設定することが可能である。なお、これらのコピーモード設定手段は、ハードキーであっても、タッチパネルに表示されるソフトキーであっても良い。501は、スタートボタンで、このボタンが押されたことを契機にコピー処理が開始される。
A
図6は、スタートボタン501押下によりコピー処理が開始された後に、コピーモードとして、原稿の読取り蓄積を繰り返し行う「連続読込モード」が選択されたときにユーザーインターフェース500に表示される原稿読込設定画面502の例である。原稿読込設定画面502には、それまで読み込んだ画像を表示されるモードに入るための「確認」ボタン503と、それまで読み込んだ画像を一括出力するための「読込終了」ボタン504が備えられている。
FIG. 6 shows a document reading setting screen displayed on the
図7は、原稿読込設定画面502で「確認」ボタン503が押下されたときに表示される読込画像確認画面で、505の領域にはそれまでに蓄積された画像の総ページ数および表示中のページ番号が表示される。506および507は、蓄積された画像のページを移動させる「ページ移動」ボタンで、506を押下すると前ページに、507を押下すると次ページに移動する。508および509は、確認用画像の拡大/縮小表示を行うための「拡大/縮小」ボタンで、508を押下すると確認用画像は縮小表示され、509を押下すると確認用画像は拡大表示される。510は、蓄積画像確認画面で、505に表示されているページの内容が表示される。511は「再読込」ボタンで、「再読込」ボタン511が押下されるとそのときに表示されていたページを記憶し、画像確認画面をクローズする。画像確認画面がクローズされると502の原稿読込設定画面に戻り原稿読込が可能になる。このとき、原稿読込は再読込モードで実行される。512は「閉じる」ボタンで、「閉じる」ボタン512が押下されると画像確認画面はクローズされる。原稿確認画面がクローズされると502の原稿読込設定画面に戻り原稿読込が可能になる。このとき、原稿読込は連続読込モードで実行される。
FIG. 7 shows a read image confirmation screen that is displayed when the “Confirm” button 503 is pressed on the original
なお、上述の連続読込モードとは、読込んだ画像データが蓄積記憶された最後尾(最終画像)から再度画像データの蓄積記憶を行い、処理中に蓄積記憶された全画像データを1組の画像データとして扱うことを意味し、再読込モードとは、蓄積記憶された特定の画像データを、新たに読み込んだ画像データに置き換えることを意味する。また、何れの場合も原稿読込み指示はスタートボタン501押下により行われる。 Note that the above-described continuous reading mode refers to storing and storing image data again from the end (final image) in which the read image data is stored and stored, and storing all image data stored and stored during processing as a set. This means that the data is handled as image data, and the re-read mode means that specific image data stored and stored is replaced with newly read image data. In either case, the document reading instruction is performed by pressing the start button 501.
図8は、本発明における連続読込コピー処理のフローチャートである。 FIG. 8 is a flowchart of the continuous read copy process in the present invention.
S1001では、スタートボタン501が押下されたことによるスタート指示がされたか否かを判別する。スタートボタン501が押下されていない場合はスタートボタン501が押下されるまでその判別を繰り返す。スタートボタン501が押下された場合はS1002に進み、「連続読込モード」が選択されたかの確認を行う。S1002にて「連続読込モード」が設定されていない場合、S1012に進み、通常のコピー処理を行い処理を終了する。「読込画像確認モード」が設定された場合、S1003に進み、自動紙送り装置(DF)にセットされた原稿束の読込み、または、圧板上に置かれた原稿の読込みを行う原稿読込処理を実行する。処理が終了すると操作部150による指示が可能になる。S1004では、画像記憶部160に蓄積された画像確認処理(プレビュー処理)の指示がされたか否かを判別する。画像確認処理実行が指示された場合、S1005に進み画像確認処理(プレビュー処理)を行い、その後S1006に進む。画像確認処理実行の指示が無い場合はS1006に進む。S1006では、「再読込」が指示されたか否かを判別する。再読込の指示はS1005のプレビュー処理内で行われ、再読込の指示がされると、再読込の対象となるページの画像格納場所が記憶さる。再読込が指示されるとS1007に進み、再読込の指示がされない場合はS1008に進む。S1007では、再読込指示がされた時に記憶されたページの画像データ破棄(削除)処理を実行する。その後、S1003に戻り原稿読込処理を実行し、再読込み対象ページの画像データを置き換える。なお、原稿読込処理S1003は、自動紙送り装置(DF)にセットされた全原稿の読込処理、圧板上に置かれた原稿の読込み処理の他、自動紙送り装置にセットされた原稿から指定枚数の読込処理を行うことが可能で、再読込み時は、読込枚数が1ページという指定がされる。S1008は、連続読込処理中止の指示の判別を行う。S1008で中止の指示があった場合はS1009に進み、それまで読込蓄積した画像データの全てを破棄する読込画像破棄処理S1009を実行した後、コピー処理を終了する。S1008で中止の指示が無い場合はS1010に進む。S1010では読込終了指示の判別を行う。S1010で読込終了が指示された場合S1011に進み、それまで読込んだ画像データを全て印刷する読込画像印刷処理を実行した後、コピー処理を終了する。S1010で読込終了が支持されない場合はS1013に進み読込指示の判別を行う。S1013で読込の指示があった場合、S1003に戻り原稿読込処理を実行する。S1013で読込の指示が無い場合はS1004に戻る。つまり、操作部160による指示が何も無いときは、画像確認、再読込、中止、読込終了、読込の何れかの指示待ちになる。
In step S1001, it is determined whether or not a start instruction has been given due to the start button 501 being pressed. If the start button 501 is not pressed, the determination is repeated until the start button 501 is pressed. If the start button 501 is pressed, the process advances to step S1002 to check whether “continuous reading mode” is selected. If the “continuous reading mode” is not set in S1002, the process proceeds to S1012 and a normal copy process is performed and the process is terminated. If the “read image confirmation mode” is set, the process advances to step S1003 to execute a document reading process of reading a bundle of documents set on the automatic paper feeder (DF) or reading a document placed on a pressure plate. To do. When the process ends, an instruction from the
図9は、原稿読込処理のフローチャートである。 FIG. 9 is a flowchart of the document reading process.
S2001では、自動紙送り装置(DF)の状態の判別を行う。DFがオープンの時はS2006に進み、圧板からの原稿読込処理を行い処理を終了する。DFがクローズの時はS2002に進み、DFに原稿がセットされているか否かの判別を行う。DFに原稿がセットされていない場合はS2006に進み、圧板からの原稿読込処理を行い処理を終了する。DFに原稿がセットされている場合はS2003に進み、再読込処理が指示されているか否かの判別を行う。S2003にて再読込が指示されていると判別した場合はS2004に進み、DFにセットされた原稿から1ページだけ画像を読込み処理を終了する。S2003にて再読込が指示されていないと判別した場合はS2005に進み、DFにセットされた原稿の全ページの読込み処理を行い処理を終了する。 In S2001, the state of the automatic paper feeder (DF) is determined. When the DF is open, the process proceeds to S2006, the original reading process from the pressure plate is performed, and the process is terminated. When the DF is closed, the process proceeds to S2002, and it is determined whether or not a document is set on the DF. If no document is set in the DF, the process proceeds to S2006, where the document reading process from the pressure plate is performed, and the process ends. If a document is set in the DF, the process proceeds to S2003, and it is determined whether or not a re-read process is instructed. If it is determined in S2003 that re-reading is instructed, the process proceeds to S2004, and the image reading process for one page from the document set in the DF is terminated. If it is determined in S2003 that re-reading is not instructed, the process proceeds to S2005, where all pages of the document set in the DF are read, and the process ends.
図10は、蓄積画像確認(プレビュー)処理のフローチャートである。 FIG. 10 is a flowchart of accumulated image confirmation (preview) processing.
S3001では、蓄積画像の確認を行う画像格納先の指定がされているかの判別を行う。連続読込コピー処理で繰り返し読込まれる画像データは、実行中の連続読込コピー処理が使用している画像格納先である文書管理部900のジョブ管理部902配下に管理されており、ジョブ管理部902を指定することで、それまでに読込蓄積した画像データの先頭ページから最終ページまでたどることが可能なように管理されている。S3001で指定が無い場合は処理を終了する。つまり、プレビュー処理は実行されない。S3001で指定があった場合はS3002に進み蓄積された画像の先頭ページを特定する。S3003では蓄積されている画像データから、蓄積画像確認画面510に表示する画像データの生成を行う。本実施例では、蓄積画像確認画面510に表示する直前に画像データの生成を行っているが、原稿読込蓄積時に蓄積画像確認画面表示用の画像データを生成し、オリジナル画像と対応付けて外部記憶部160に格納しておいても良い。S3004では、S3003で生成された画像データを蓄積画像確認画面510に表示する。S3005は入力指示待ちで、入力指示をループして待っている。S3006では次ページを表示する指示がされたかの判別を行い、次ページ表示の指示がされた場合はS3007に進む。S3007では蓄積されている画像データの最後尾かを判別し、最後尾であった場合はS3005に戻り再度入力指示待ちになる。S3007で最後尾で無いと判別した場合、S3003に進み特定されたページの蓄積画像確認画面表示用の画像データの生成を行い処理を繰り返す。S3008では、前ページ表示の指示がされたかの判別を行う。前ページ表示の指示がされた場合はS3009に進み、蓄積されている画像データの先頭かの判別を行う。先頭と判別した場合はS3005に戻り再度入力指示待ちになる。先頭で無いと判別した場合、S3003に進み特定されたページの蓄積画像確認画面表示用の画像データの生成を行い処理を繰り返す。S3010では蓄積画像確認画面510に表示されている画像を縮小表示する指示がされたかの判別を行う。縮小表示が指示されたと判別した場合はS3003に進み特定されたページの蓄積画像確認画面表示用の画像データの生成を行い処理を繰り返す。縮小表示の指示が無い場合S3011に進み、拡大表示の指示がされたかの判別を行う。S3011で拡大表示の指示がされたと判別した場合は指定された場合S3003に進み特定されたページの蓄積画像確認画面表示用の画像データの生成を行い処理を繰り返す。拡大表示の指示が無い場合S3012に進み、画像再読込の指示がされたか判別を行う。S3012で画像再読込の指示がされた場合、S3013に進み、現在表示されているページが文書管理部900のどこで管理されているか等を特定する識別情報を記憶(保持)し処理を終了する。ここで保持された情報が前述の画像読込処理に伝わり、再読込処理が実行される。S3012で再読込の指示が無い場合S3005に戻り入力指示待ちとなる。
In step S3001, it is determined whether an image storage destination for checking the stored image has been specified. The image data read repeatedly in the continuous reading copy process is managed under the
図11は、制御装置110の内部ソフトウェア構造を示す図である。700はコントローラソフトウェアであり、その中はプロトコル解釈部701、ジョブ制御部702、デバイス部703で構成されている。プロトコル解釈部701はホストコンピュータ601や、操作部150から、各インタフェース(411−414)を介して送られてきたコマンド(プロトコル)を解釈し、ジョブ制御部702に対してジョブの実行を依頼する。ジョブ制御部702は、プロトコル解釈部の依頼に基づき種々のジョブを実行する。デバイス部703は、画像入出力システム100を構成する各ユニットを制御するドライバソフトを含み、ジョブ制御部702がジョブを実行する際に使用される。
FIG. 11 is a diagram illustrating an internal software structure of the control device 110.
図12は、ジョブ制御部702の構造を示す図である。
FIG. 12 is a diagram illustrating the structure of the
同図において700はコントローラソフトウェア、701はプロトコル解釈部、702はジョブ制御部、703はデバイス部である。ジョブ制御部702は、ジョブ生成部800、ジョブ処理部810、ドキュメント処理部820、ページ処理部830、バンド処理部840、デバイス割り当て部850を有している。また、ジョブ処理部810は、ジョブ管理部811、バインダ管理部812、ドキュメント管理部813を有している。また、デバイス部703は、第1デバイス851、第2デバイス852及び第3デバイス853等複数のデバイスを有する事が可能となっている。
In the figure, 700 is controller software, 701 is a protocol interpretation unit, 702 is a job control unit, and 703 is a device unit. The
ホストコンピュータ601,602や、操作部150から送られてきた一連の操作依頼は、コマンド(プロトコル)という形で、各インタフェース(411−414)を介して送られてくる。送られてきたコマンドは、プロトコル解釈部701で解釈された後、ジョブ制御部702に送られる。この時点でコマンドは、ジョブ制御部702が理解できる形に変換される。
A series of operation requests sent from the host computers 601 and 602 and the
ジョブ生成部800はジョブ814を生成する。ジョブ814にはコピージョブ、プリントジョブ、スキャンジョブ及びファックスジョブ等様々なジョブが存在する。プロトコル解釈部701により解釈されたプロトコルには、例えば、プリントジョブならば印刷する文書の名前や印刷部数、出力先の排紙トレイの指定等の種々の設定情報や、印刷データ自体(PDLデータ)等が含まれる。ジョブ814はジョブ処理部810に送られ処理が行われる。ジョブ処理部810は、ジョブを構成する複数のバインダの出力順など、ジョブ全体に関わる設定がされるジョブ管理部811、バインダを構成する複数のドキュメントの出力順など、バインダ全体に関わる設定がされるバインダ管理部812、ドキュメントを構成する複数のページの出力順など、ドキュメント全体に関わる設定がされるドキュメント管理部813を有し、ジョブ814全体に関する設定や処理が行われる。
The job generation unit 800 generates a
更に、ジョブ処理部810では、ジョブ814全体に関する設定や処理以外は、ジョブ814を構成するさらに小さな仕事の単位であるバインダ815に分割し、また、バインダ815全体に関する設定や処理以外は、バインダ815を構成するさらに小さな仕事の単位であるドキュメント816に分割し処理する。ドキュメント816は入力ドキュメント821と1対1に対応付けされており、入力ドキュメント821は、ドキュメント処理部820により出力ドキュメント822に変換処理される。例えば、原稿の束をスキャナで読み取り、複数のイメージデータに変換するスキャンジョブを考えると、原稿の束に関する設定や操作の手順が書かれているのが入力ドキュメント821であり、複数のイメージデータに関する設定や操作の手順が書かれているのが出力ドキュメント822である。そして、紙の束を複数のイメージデータに変換する役割を持っているのがドキュメント処理部820である。
Further, the
ドキュメント処理部820は、ドキュメント単位の入力ドキュメント821から出力ドキュメント822への変換処理を行い、ドキュメント全体に関する設定や処理以外は、更に小さな仕事の単位である入力ページ831に分割し、ページ処理部830に処理を依頼する。これは、ちょうどジョブ処理部815がジョブ単位の処理に専念して、更に細かい仕事のためにバインダ815、ドキュメント816を生成するのと同じである。ドキュメント単位の設定及び操作は、具体的にはページの並び替え、両面印刷の指定、表紙の付加、OHP中差し等のページ順序に関するものである。
The
ページ処理部830は、ページ単位の入力ページ831から出力ページ832への変換処理を行う。例えば、上述のスキャンジョブの場合、入力ページ831には読み取りの解像度、読み取りの向き(ランドスケープ/ポートレイト)等の各種設定や、手順が書かれており、出力ページ832にはイメージデータの格納場所等の設定や手順が書かれている。
The
ここまでは、ジョブの単位を徐々に小さくして、ページの単位で扱えるようにすることを説明してきた。高価なシステムで1ページ分のページメモリを持てるならば、最終的にページ単位までジョブを細分化して処理すればよい。しかし、現実にはメモリのコスト等の問題から1ページ分のページメモリを持てない場合には、数ライン分のメモリ(バンドメモリ)でジョブ814を処理するシステムもある。このような場合、ページを更に細かい単位であるバンドに分割して変換処理を行う。それが入力バンド841、バンド処理部840、出力バンド842であり、これらの動作に関してはページの場合と同様である。
Up to this point, we have explained that the job unit is gradually reduced so that it can be handled in page units. If an expensive system can have a page memory for one page, the job may be subdivided and processed in units of pages. However, in reality, there is a system that processes the
ジョブ処理部810、ドキュメント処理部820、ページ処理部830及びバンド処理部840は、いずれも処理を進める際に画像入出力システム100を構成する種々の物理デバイスを使用する。当然、複数の処理部が同時に仕事を進めるとデバイスの競合が発生するので、それを調停するのがデバイス割り当て部850である。例として図に示した第1〜第3のデバイス851〜853は、デバイス割り当て部850により上述した各処理部に割り当てられる論理デバイスであり、例えば、ページメモリやバンドメモリ、原稿給紙ユニット250、マーキングユニット320エンジン及びスキャナユニット210等が考えられる。
The
図13は、画像記憶部160に蓄積される画像データを管理する文書管理部900の管理構造を示す図である。
FIG. 13 is a diagram illustrating a management structure of the
文書管理部900は、フォルダ管理部901、ジョブ管理部902、バインダ管理部903、ドキュメント管理部904、ページ管理部905で構成され、それぞれ管理情報(属性値)を持っている。文書管理部900は、1つまたは複数のフォルダ管理部901で構成され、フォルダ管理部901の管理情報が格納されている。フォルダ管理部901は、1つまたは複数のジョブ管理部902で構成され、ジョブ管理部902の管理情報が格納されている。ジョブ管理部902は、1つまたは複数のバインダ管理部903で構成され、バインダ管理部902の管理情報が格納されている。さらに、ジョブ管理部902は、ジョブ制御部702において処理されるジョブ814の動作に必要な情報で、ジョブ管理部811に格納されている属性値を格納/保存することができる。バインダ管理部903は、1つまたは複数のドキュメント管理部904で構成され、ドキュメント管理部904の管理情報が格納されている。さらに、バインダ管理部903は、ジョブ制御部702において処理されるバインダ815の動作に必要な情報で、バインダ管理部812に格納されている属性値を格納/保存することができる。ドキュメント管理部904は、1つまたは複数のページ管理部905で構成され、ページ管理部905の管理情報が格納されている。さらに、ドキュメント管理部904は、ジョブ制御部702において処理されるドキュメント管理部813に格納されている属性値や、ドキュメント処理部820により処理された出力ドキュメント822の属性値を格納/保存することができる。ページ905は、画像記憶部160に保存された、スキャナで読込んだ1ページ分の画像データ、ホストコンピュータから送信されたPDLを展開した1ページ分の画像データ、FAXで受信した1ページ分の画像データなどと対応付けられている。さらに、ページ管理部905は、ジョブ制御部702のページ処理部830により処理された出力ページ832の属性値を格納/保存することができる。つまり、文書管理部900に保存された情報と、画像記憶部160に保存された画像データから画像蓄積時に投入されたジョブ814を再現することが可能である。また、保存されている情報を再設定することで投入時のジョブと異なる動作をさせることも可能である。
The
図14は主記憶装置(CPU−AとCPU−Bが共有してアクセスすることが出来る共有メモリ)にアクセスすることが可能なマルチCPUシステムの説明図である、ここでは仮に2つのCPUを搭載したシステムに関して説明するが図14のCPU−A、CPU−B以外のCPUを使用した場合に関しても当発明は該当するものとする。図14中の1001はCPU−A、1002はCPU−B、1003は共有メモリ、1004はシステムバスブリッジ、1005はメモリコントローラ、1006はハードディスクコントローラ、1007はハードディスクである。1004、1005に関しては、図4中で説明したとおりであり、CPUとメモリのデータアクセス方法に関しての説明はここでは省く。CPU−AおよびCPU−Bは、それぞれ、システムバスブリッジ、メモリコントローラを介して、1003共有メモリに対して、データのリード、ライトが可能である。1006ハードディスクコントローラは、メモリコントローラ同様、ハードディスクへの読み書きを制御するコントローラであり、図3にあるようなE−IDEコネクタを介してハードディスクと接続されている。1007ハードディスクはE−IDE規格のハードディスクであり、主記憶装置(共有メモリ)対し、非常に容量が大きい。CPU−AおよびCPU−Bからハードディスクコントローラを介してアクセスすることが可能である。
FIG. 14 is an explanatory diagram of a multi-CPU system that can access a main storage device (shared memory that can be shared and accessed by CPU-A and CPU-B). Here, two CPUs are temporarily installed. Although the system will be described, the present invention also applies to the case where a CPU other than the CPU-A and CPU-B in FIG. 14 is used. In FIG. 14, 1001 is CPU-A, 1002 is CPU-B, 1003 is shared memory, 1004 is a system bus bridge, 1005 is a memory controller, 1006 is a hard disk controller, and 1007 is a hard disk.
図15は一般的なファイルシステムに関する説明である。1100はCPU、1101はCPU上で動作するファイルシステムのプログラム、1102は主記憶装置(メモリ)上のファイルシステムの管理テーブル、1109はハードディスクである。通常のファイルシステムは、ハードディスクを1ブロックあたり数百Byteから数キロByte程度の細かいブロックにわけ、ファイルの中身等のデータを格納している。そのデータの入出力をファイル、ディレクトリなどのリードライトで提供するものがファイルシステムである。通常のファイルシステムは、ハードディスクにファイルの中身等のデータを、主記憶装置(メモリ)に対し、ファイルシステムの管理テーブルを持っている。一般的にハードディスクは大容量ではあるが、メモリに比べ低速であり、メモリは高速ではあるが小容量である。このため上記のような、頻繁にアクセスする管理テーブルや、一時的なバッファはメモリ上に、データの中身はハードディスク上に持つ場合が多い。今回の実施例で使用するファイルシステムは、管理テーブルをハードディスク上とメモリ上に重複して持ち、Syncという動作でメモリとハードディスクの管理テーブル間の整合を取るファイルシステムである。1102管理テーブルは、1103のハードディスクのどのブロックが使用済みでデータが入っているか、1104のファイル名や属性などの情報から構成されている。
FIG. 15 illustrates a general file system. Reference numeral 1100 denotes a CPU, 1101 denotes a file system program operating on the CPU, 1102 denotes a file system management table on the main storage (memory), and 1109 denotes a hard disk. A normal file system divides a hard disk into small blocks of about several hundred bytes to several kilobytes per block, and stores data such as file contents. A file system provides input / output of data by read / write of files, directories, and the like. A normal file system has a file system management table for data such as file contents on a hard disk and a main storage device (memory). Generally, a hard disk has a large capacity, but is slower than a memory, and a memory has a small capacity although it is fast. Therefore, in many cases, the frequently accessed management table and temporary buffer are stored in the memory, and the contents of the data are stored on the hard disk. The file system used in this embodiment is a file system that has a management table in duplicate on the hard disk and in the memory, and that matches between the management table of the memory and the hard disk by an operation called Sync. The 1102 management table is composed of information such as the file name and attributes of 1104 which block of the
例えば、ファイル名やファイルの属性などの変更を行った際、実際に書き換えられるデータは、1102管理テーブルの1104情報である。1105ハードディスクへの書き込みは現時点では行われていない。Syncを行った際に1102管理テーブルの内容と1105ハードディスクの内容の整合が取られ、ハードディスク上の管理テーブルへ情報が書き込まれる。 For example, the data that is actually rewritten when the file name or file attribute is changed is 1104 information in the 1102 management table. 1105 Writing to the hard disk is not currently performed. When Sync is performed, the contents of the 1102 management table and the contents of the 1105 hard disk are matched, and information is written to the management table on the hard disk.
一般的にファイルシステムを介してハードディスクへアクセスするためにはファイルシステムをマウントする必要がある。マウントに関しては、UNIX(登録商標)等のファイルシステムと同等のためここでは詳しく説明しない。また、ファイルシステムを使用しない場合にはファイルシステムをアンマウントする必要がある。アンマウントに関してはUNIX(登録商標)等のファイルシステムと同等のためここでは詳しく説明しない。 Generally, in order to access a hard disk via a file system, it is necessary to mount the file system. Since mounting is equivalent to a file system such as UNIX (registered trademark), it will not be described in detail here. If the file system is not used, it is necessary to unmount the file system. Since unmounting is equivalent to a file system such as UNIX (registered trademark), it will not be described in detail here.
図16は図15の一般的なファイルシステムを元に図14のデュアルCPU使用時のシステムにおいての説明図である。 FIG. 16 is an explanatory diagram of the system using the dual CPU of FIG. 14 based on the general file system of FIG.
図中2001はCPU−A、2002はCPU−A上で実行されるファイルシステムのプログラム(以下ファイルシステムA)、2003は2002ファイルシステムAが使用する管理テーブルA、2004はCPU−B、2005はCPU−B上で実行されるファイルシステムのプログラム(以下ファイルシステムB)、2006はファイルシステムBが使用する管理テーブルB、2007はハードディスク、2008はハードディスク上に重複して持っている管理テーブル、2009はハードディスクないのデータである。ハードディスクは、ファイルシステムA、ファイルシステムBからアクセスされる。管理テーブルA、管理テーブルBは主記憶装置(メモリ)上に配置されている。ファイルシステムAおよびファイルシステムBは全く同一のファイルシステムであるため、二つのファイルシステムが使用する管理テーブルA、管理テーブルBも同一のものである。このように全く同一の巨大な管理テーブルを重複して持っているということはメモリを大きく無駄遣いしているということである。図14の説明でもしたように、ファイルシステムAがSync動作を行うと、管理テーブルAの内容と2008ハードディスク上の管理テーブルとの間に整合が取られる。また、ファイルシステムBがSync動作を行うと、管理テーブルBの内容と2008ハードディスク上の管理テーブルとの間に整合が取られる。 In the figure, 2001 is CPU-A, 2002 is a file system program (hereinafter referred to as file system A) executed on CPU-A, 2003 is a management table A used by 2002 file system A, 2004 is CPU-B, and 2005 is CPU-B. File system program (hereinafter referred to as file system B) executed on CPU-B, 2006 is a management table B used by file system B, 2007 is a hard disk, 2008 is a management table duplicated on the hard disk, 2009 Is hard disk data. The hard disk is accessed from file system A and file system B. The management table A and the management table B are arranged on the main storage device (memory). Since the file system A and the file system B are exactly the same file system, the management tables A and B used by the two file systems are also the same. In this way, having the same huge management table identically means that a large amount of memory is wasted. As described with reference to FIG. 14, when the file system A performs the Sync operation, the contents of the management table A and the management table on the 2008 hard disk are matched. In addition, when the file system B performs the Sync operation, matching is made between the contents of the management table B and the management table on the 2008 hard disk.
例えば、仮に2002ファイルシステムAが「ファイル1」という名称のファイルを「ファイルA」という名称に変更した場合を考える。同時にファイルシステムBが、ファイルシステムAが名称変更した「ファイル1」と同一のファイルを「ファイルB」という名称に変更したとする。この時点でお互いにSyncをすれば、先にSyncをした方のファイル名変更はあとからSyncしたファイルシステムのファイル名変更情報に上書きされ、矛盾が生じることになる。このように、管理テーブルをファイルシステムAとファイルシステムBで別々に管理テーブルA、管理テーブルBとして使用することはメモリの無駄遣いであるばかりか、データの整合が取れなくなるなどの欠点がある。
For example, consider a case where the 2002 file system A changes a file named “
図17は本提案のファイルシステムの概念図である。図中2101はCPU−A、2102はCPU−A上で実行されるファイルシステムのプログラム(以下ファイルシステムA)、2103はCPU−B、2104はCPU−B上で実行されるファイルシステムのプログラム(以下ファイルシステムB)、2105はファイルシステムAおよびファイルシステムBが共通で使用するファイルシステムのメモリ上の管理テーブルである。2106はハードディスク、2107はハードディスク上に重複して持っている管理テーブルである。 FIG. 17 is a conceptual diagram of the proposed file system. In the figure, 2101 is a CPU-A, 2102 is a file system program executed on CPU-A (hereinafter referred to as file system A), 2103 is CPU-B, and 2104 is a file system program executed on CPU-B ( Hereinafter, file system B) and 2105 are management tables on the memory of the file system used in common by file system A and file system B. Reference numeral 2106 denotes a hard disk, and 2107 denotes a management table duplicated on the hard disk.
図17は図16の2つある管理テーブルをファイルシステムAおよびファイルシステムBの一つの共通管理テーブルとしたものである。 FIG. 17 shows the two management tables in FIG. 16 as one common management table for the file system A and the file system B.
CPU−A,CPU−Bがそれぞれ使用するファイルシステムであるファイルシステムA、ファイルシステムBは全く同一のファイルシステムであるから、管理テーブルはひとつ、2105共通管理テーブルのみがあればいいことになる。これによりメモリの大きな節約になる。ただし、一つの共通管理テーブルに対してファイルシステムA、ファイルシステムBが同時にアクセスすると管理テーブルの整合が保たれないため、下記のような手段でこれを制御する。 Since file system A and file system B, which are file systems respectively used by CPU-A and CPU-B, are exactly the same file system, only one management table is required, and only the 2105 common management table is required. This saves a lot of memory. However, if the file system A and the file system B access one common management table at the same time, the management table is not matched, and this is controlled by the following means.
マウント、アンマウントの仕組みである。図17ではCPU−BがファイルシステムBに対してマウント除隊、CPU−AがファイルシステムAに対してアンマウント状態である。マウント状態とは、アプリケーションプログラムが自分が動作しているCPU上で動作しているファイルシステムに対して、制御命令を伝えられる状態にある状態を指す。つまり、CPU−BはファイルシステムBに対して、ファイル名の変更やファイルのリードライト等の制御命令を実行できる状態であるといえる。CPU−AはファイルシステムAに対してアンマウント状態であり、ファイルシステムAにたして、ファイル名の変更やファイルのリードライト等の制御命令を実行しても、ファイルシステムAは応答しない。したがって、ファイルシステムAが共通管理テーブルに対してアクセスせず、ハードディスクにもアクセスできない。上記の方法により、メモリの節約、ファイルシステムAとファイルシステムB間の管理テーブルの整合性が保たれる。 It is a mechanism for mounting and unmounting. In FIG. 17, the CPU-B is dismounted from the file system B, and the CPU-A is unmounted from the file system A. The mount state refers to a state in which the application program is in a state where a control command can be transmitted to the file system operating on the CPU on which the application program is operating. That is, the CPU-B can be said to be in a state where it can execute control commands such as file name change and file read / write on the file system B. The CPU-A is in an unmounted state with respect to the file system A, and the file system A does not respond to the file system A even if a control command such as a file name change or file read / write is executed. Therefore, the file system A does not access the common management table and cannot access the hard disk. By the above method, memory saving and consistency of the management table between the file system A and the file system B are maintained.
2108は共有メモリ、2109は共有メモリの特定アドレスに配置されたマウント情報である。図ではCPU−BがファイルシステムBをマウントしている状態をあらわしているが、2109マウント情報には、CPU−BがファイルシステムBをマウントしている旨が記述されている。
マウントしようとするCPUは、2109マウント情報を参照し、だれもマウントしていないことを確認してからでないとマウントすることが出来ない。仮に、この状態で、CPU−AがファイルシステムAをマウントしようと試みた場合、2109マウント情報を参照し、CPU−Bがマウントしている旨を検出し、CPU−AはファイルシステムAのマウントをあきらめる。 The CPU to be mounted can mount only after confirming that no one is mounted by referring to the 2109 mount information. If the CPU-A attempts to mount the file system A in this state, the 2109 mount information is referenced to detect that the CPU-B is mounted, and the CPU-A mounts the file system A. Give up.
図18は図17の状態から、CPU−BがファイルシステムBをアンマウントした状態である。CPU−BがファイルシステムBに対してアンマウントを行うと、共有メモリ上のマウント情報に対して、CPU−Bはアンマウントした旨を記述する。今までにCPU−Bがマウントしていた場合は、CPU−BのアンマウントによってマウントしているCPUがなくなるので、Nobodyという記述がされ、上記のように誰もマウントしていない状態となる。 FIG. 18 shows a state where the CPU-B unmounts the file system B from the state of FIG. When CPU-B unmounts the file system B, the fact that CPU-B has unmounted the mount information on the shared memory is described. If CPU-B has been mounted so far, no CPU is mounted by unmounting CPU-B, so the description is “Nobody” and nobody is mounted as described above.
図19は図18の状態から、CPU−AがファイルシステムAをマウントした状態である。 FIG. 19 shows a state in which the file system A is mounted by the CPU-A from the state of FIG.
CPU−AがファイルシステムAに対してマウント動作を行うと、共有メモリ上の2109マウント情報に対して参照を行う。ここでマウント情報が、誰もマウントしていないことを表すNobodyという記述がされている場合は、CPU−Aのマウント要求が通り、CPU−Aがマウントでき図19の状態へとなる。かりに、CPU−Aがマウント動作を行ったとき、CPU−Bがマウントしていたとする。CPU−Aはマウントしようとするとき、2109マウント情報を参照し、CPU−Bがマウントしている旨を検出し、CPU−AはファイルシステムAのマウントをあきらめる。 When the CPU-A performs a mount operation on the file system A, it refers to 2109 mount information on the shared memory. If the mount information is described as “Nobody” indicating that no one is mounted, the CPU-A mount request passes, and the CPU-A can be mounted, and the state shown in FIG. 19 is obtained. It is assumed that CPU-B is mounted when CPU-A performs the mounting operation. When CPU-A tries to mount, it refers to the 2109 mount information, detects that CPU-B is mounted, and CPU-A gives up mounting the file system A.
CPU−A,CPU−Bともマウントしておらず、両方が同時にマウントを試みた場合、両方同時に2109マウント情報を参照し、CPU−A,CPU−Bともにマウント情報がNobodyであると認識する場合があるため、2109マウント情報を参照する際にはセマフォをとるなどして、排他する必要が在る。セマフォに関しては一般的なものであるためここでの説明は省くことにする。 When neither CPU-A nor CPU-B is mounted and both try to mount at the same time, both refer to 2109 mount information at the same time, and both CPU-A and CPU-B recognize that the mount information is Nobody Therefore, when referring to the 2109 mount information, it is necessary to exclude it by taking a semaphore or the like. Since semaphores are general, they will not be described here.
図20は図16でCPU−AがファイルシステムAをマウントしようとする際のフローチャートである。S3001でCPU−AがファイルシステムAをマウントしようとする、S3002で共有メモリ上のマウント情報を参照する。S3003で同時にマウントしないようにセマフォを取得する。S3004でマウント情報がNobodyであれば、S3005に、S3004でNobodyでなければS3009に分岐する。S3005ではNobodyであったマウント情報をCPU−Aと書き換える。現在マウントしているのはCPU−Aであるという意味である。S3006で先ほど取得したセマフォを開放する。S3007で実際にマウントを行う。S3008でマウント完了となる。S3004から分妓したS3009ではS3004で現在マウントしているCPUがほかにいるため、CPU−Aはマウントすることをあきらめなくてはいけない。S3003で取得したセマフォをS3010で開放し、S3011で終了する。 FIG. 20 is a flowchart when the CPU-A attempts to mount the file system A in FIG. In step S3001, the CPU-A attempts to mount the file system A. In step S3002, the mount information on the shared memory is referred to. In step S3003, a semaphore is acquired so as not to be mounted at the same time. If the mount information is Nobody in S3004, the process branches to S3005, and if it is not Nobody in S3004, the process branches to S3009. In S3005, the mount information that was Nobody is rewritten as CPU-A. This means that it is CPU-A that is currently mounted. In step S3006, the previously acquired semaphore is released. In step S3007, actual mounting is performed. Mounting is completed in S3008. In S3009 divided from S3004, since there is another CPU currently mounted in S3004, CPU-A must give up mounting. The semaphore acquired in S3003 is released in S3010, and the process ends in S3011.
図21はCPU−AがファイルシステムAをアンマウントしようとする際のフローチャートである。S3101でCPU−AがファイルシステムAをアンマウントしようとする。S3102で共有メモリ上のマウント情報を参照する。現在マウントしているCPUがCPU−Aであれば、S3103へ、マウント情報に記述されている情報がCPU−A以外であれば、CPU−AがアンマウントすることはできないのでS3106へ分岐する。現在マウントしているCPUがCPU−Aであり、CPU−AがファイルシステムAをアンマウントしようと場合はS3103でマウント情報をNobodyと書き換え、S3104でアンマウント作業を行う。S3106ではアンマウントの中止をし、終了する。 FIG. 21 is a flowchart when the CPU-A attempts to unmount the file system A. In step S <b> 3101, the CPU-A attempts to unmount the file system A. In step S3102, the mount information on the shared memory is referred to. If the currently mounted CPU is CPU-A, the process proceeds to S3103. If the information described in the mount information is other than CPU-A, CPU-A cannot be unmounted, and the process branches to S3106. If the currently mounted CPU is CPU-A and CPU-A intends to unmount the file system A, the mount information is rewritten as Nobody in S3103, and the unmount operation is performed in S3104. In step S3106, unmounting is canceled and the process ends.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004348351A JP2006155467A (en) | 2004-12-01 | 2004-12-01 | Digital composite machine, its control method, program, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004348351A JP2006155467A (en) | 2004-12-01 | 2004-12-01 | Digital composite machine, its control method, program, and storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006155467A true JP2006155467A (en) | 2006-06-15 |
Family
ID=36633651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004348351A Withdrawn JP2006155467A (en) | 2004-12-01 | 2004-12-01 | Digital composite machine, its control method, program, and storage medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006155467A (en) |
-
2004
- 2004-12-01 JP JP2004348351A patent/JP2006155467A/en not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8248650B2 (en) | Image processing apparatus, image processing method, and image processing program | |
JP4164516B2 (en) | Image output device, history management method, and history management program | |
JP2007188226A (en) | Digital multifunctional machine and its control method | |
US8289581B2 (en) | Image processing apparatus, transfer job managing method, program for implementing the method, and storage medium storing the program | |
JP2006222580A (en) | Image processing apparatus and control method thereof, program and, storage medium | |
JP2008097356A (en) | Digital multifunction machine, control method therefor, program, and storage medium | |
JP2005144797A (en) | Printing device, data processing device, print processing method, storage medium storing computer-readable program and program | |
JP2008140191A (en) | File system | |
JP2009100101A (en) | Digital composite machine | |
JP2008099013A (en) | Digital complex machine, control method thereof, program and storage medium | |
JPH1145034A (en) | Image forming device | |
JP4054756B2 (en) | Image processing apparatus, image processing method, and storage medium storing computer-readable program | |
JPH1145031A (en) | Image forming device | |
JP2006155467A (en) | Digital composite machine, its control method, program, and storage medium | |
JP2010004271A (en) | Image processing device | |
JP2007028183A (en) | Image copying machine | |
JP2006222581A (en) | Image forming apparatus and control method thereof, computer program, and storage medium | |
JP2006347066A (en) | Digital multi-functioned machine, and control method, program and storing medium therefor | |
JP2009087302A (en) | Image forming apparatus | |
JP2007043553A (en) | Fax, program, and storage medium | |
JP2006155163A (en) | Digital composite machine, its control method, program, and storage medium | |
JP2004058499A (en) | Control method for image formation device | |
JP2006056062A (en) | Image copying apparatus | |
JP2006173843A (en) | Image information i/o device | |
JP2004007047A (en) | Digital copying apparatus, its control method, its program and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080205 |