JP2016110514A - 情報処理装置、情報処理装置の制御方法、およびコンピュータプログラム - Google Patents
情報処理装置、情報処理装置の制御方法、およびコンピュータプログラム Download PDFInfo
- Publication number
- JP2016110514A JP2016110514A JP2014249416A JP2014249416A JP2016110514A JP 2016110514 A JP2016110514 A JP 2016110514A JP 2014249416 A JP2014249416 A JP 2014249416A JP 2014249416 A JP2014249416 A JP 2014249416A JP 2016110514 A JP2016110514 A JP 2016110514A
- Authority
- JP
- Japan
- Prior art keywords
- boundary
- device driver
- information processing
- access request
- processing apparatus
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】 ファイルシステムやアプリケーションの不具合に起因した管理領域の境界をまたぐアクセスに対して適切な処理を行うことを目的とする。【解決手段】 オペレーティングシステムの機能の一部であるファイルシステムからの記憶装置に対するアクセス要求を管理するデバイスドライバを有する情報処理装置であって、前記デバイスドライバに前記記憶装置の管理領域の境界に関する情報を保持させる保持手段と、前記ファイルシステムから前記デバイスドライバに対して前記アクセス要求を送信させる送信制御手段と、前記境界に関する情報に基づき、前記デバイスドライバに前記アクセス要求が前記管理領域の境界をまたぐものであるか否かを判定させ、前記デバイスドライバから前記判定に関する情報を通知させる制御手段と、を有することを特徴とする。【選択図】 図5
Description
本発明は、記憶装置へのアクセス要求を管理するデバイスドライバを有する情報処理装置、情報処理装置の制御方法、およびコンピュータプログラムに関する。
一般的なパーソナルコンピュータや組み込み機器などの情報処理装置が外部記憶装置にデータを記録する場合、情報処理装置を制御するオペレーティングシステム内のファイルシステムが用いられる。ファイルシステムは、外部記憶装置それぞれのファイル管理方式に応じた方法でアクセスをする。
ファイル管理方式として、オペレーティングシステムやオペレーティングシステムのバージョンごとに多くのものが提案されている。例えば、FAT(File Allocation Table)ファイルシステムは、多くの組み込み機器に採用されているファイル管理方式である。一般的なファイル管理方式は、ファイル管理領域や実データ領域などの複数の領域に分けて外部記憶装置のデータを管理している。
一方、一般的な外部記憶装置は、パーティションと呼ばれる複数の領域に分割することが可能である。それぞれのパーティションは別々の外部記憶装置のように扱うことが可能であり、それぞれのパーティションごとに別々のファイル管理方式を採用することも可能である。
上記の通り、外部記憶装置は、パーティションやファイル管理方式に応じた領域ごとに分けて管理されている。しかし、何かしらの不具合によって領域をまたぐアクセスが発生した場合、システムに不具合が発生する可能性がある。例えば、ファイル管理領域と実データ領域とに同時にアクセスした場合、ファイル管理上は存在しないはずのファイルが、実データとしては存在するなどの不具合が発生することが想定される。この場合、実データとしてのファイルは存在するが、ファイルシステムから当該ファイルを読みだすことは出来なくなってしまう。
特許文献1に開示されている技術では、所定のファイル管理方式で管理されている単一のパーティションに対して、複数種類のファイルシステムからのアクセスを防止することによって不具合の発生を防止することが開示されている。
特許文献1に開示されている技術によれば、複数種類のファイルシステムからのアクセスを原因とする不具合の発生を防止することが出来る。しかしながら、単一のファイルシステムからのアクセスであっても、当該ファイルシステムに不具合があった場合、複数の管理領域の境界をまたぐアクセスが発生してしまう可能性がある。また、オペレーティングシステム上で動作するアプリケーションの不具合によっても、上記管理領域の境界をまたぐアクセスが発生する可能性がある。このようなアクセスの発生は、主に、アプリケーションの開発段階で発生するものであるが、従来の技術では、ソースコードを目視するなどをして不具合を発見していた。
本発明は、上記課題を鑑みてなされたものであり、ファイルシステムやアプリケーションの不具合に起因した管理領域の境界をまたぐアクセスに対して適切な処理を行うことを目的とする。
本発明は、オペレーティングシステムの機能の一部であるファイルシステムからの記憶装置に対するアクセス要求を管理するデバイスドライバを有する情報処理装置であって、前記デバイスドライバに前記記憶装置の管理領域の境界に関する情報を保持させる保持手段と、前記ファイルシステムから前記デバイスドライバに対して前記アクセス要求を送信させる送信制御手段と、前記境界に関する情報に基づき、前記デバイスドライバに前記アクセス要求が前記管理領域の境界をまたぐものであるか否かを判定させ、前記デバイスドライバから前記判定に関する情報を通知させる制御手段と、を有することを特徴とする。
本発明によれば、ファイルシステムやアプリケーションの不具合に起因した管理領域の境界をまたぐアクセスに対して適切な処理を行うことが出来る。
(第一の実施形態)
図1は、本実施形態における情報処理装置100のハードウェア構成を示す図である。
図1は、本実施形態における情報処理装置100のハードウェア構成を示す図である。
CPU(Central Processing Unit)101は、バス105を介してROM102、RAM103、外部記憶装置304に記録されている各種コンピュータプログラムを実行するプロセッサーである。CPUは、各種コンピュータプログラムを実行することによって、以下の構成を制御する。
ROM102(Read Only Memory)は、読み出し専用の記憶媒体であり、各種コンピュータプログラムやデータが格納されている。RAM(Random Access Memory)103は、揮発性で高速なアクセスが可能な記憶媒体であり、各種コンピュータプログラムやデータが一時的に格納される。外部記憶装置304は、不揮発性で記憶容量が大きい記憶媒体である。外部記憶装置304は、ハードディスクドライブやSSD(Solid State Disk)などから構成され、各種コンピュータプログラムやデータを長期的に格納するために用いられる。バス105は、上記各構成をつなぎ、データの送受信を可能とする伝送経路である。以上が、本実施形態における情報処理装置100のハードウェア構成である。
次に、外部記憶装置304内に記憶されるデータや各種コンピュータプログラムのデータ構造について説明する。
図2は、本実施形態における外部記憶装置304内のデータ構造を示す図である。図2の左部に示す通り、外部記憶装置304は複数のパーティションに分割して管理することが可能である。各パーティションの領域は、それぞれ異なる外部記憶装置として扱うことが可能である。しかし、外部記憶装置304は、複数のパーティションを用いず、単一のパーティションで管理しても良く、本実施形態はパーティションの数に依存したものではない。一方、図2の右部に示す通り、各パーティション内部は、ファイル管理方式に対応した複数のファイル管理領域に分けて管理されている。図2は、ファイル管理方式としては、一般的なFATファイルシステムによるファイル管理領域を示したものである。
図2のReserved領域の先頭アドレスにはBPB(BIOS Parameter Block)と呼ばれるFATファイルシステムの構成を管理する領域がある。また、DATA領域にはクラスタという単位で実データを記録するほか、ファイルまたはディレクトリに関する情報を含むディレクトリエントリが記録される。FAT領域には、実データの次のクラスタ番号を表すFATが記録され、ファイルシステムはFATを読むことでクラスタの連結状況を知ることができる。ROOT領域にはルートディレクトリを格納する。
図3は、本実施形態における情報処理装置100が外部装置304に対してアクセスする際の機能の構成を示す図である。
アプリケーション301は、情報処理装置100のオペレーティングシステム上で動作するアプリケーションである。アプリケーション301はファイル単位での読み書きなどのアクセス要求をファイルシステム302に対して行う。
ファイルシステム302は、オペレーティングシステム内の機能の一部として動作し、ファイルアクセスなどを管理するシステムである。ファイルシステム302は、アプリケーション301からのアクセス要求を受けて、デバイスドライバ303に対して記録媒体のアドレス単位でアクセス要求を送信するように送信制御される。アクセス要求は、読み込みまたは書き込みの要求になるが、いずれにしても、アクセス先アドレスの先頭とアクセスのサイズが要求に含まれている。
デバイスドライバ303は、あらかじめオペレーティングシステムの機能の一部として組み込まれているか、情報処理装置100内にインストールされたソフトウェアであり、外部記憶装置304へのアクセスを直接的に管理する。デバイスドライバ303は、ファイルシステム302からのアクセス要求を受けて、アクセス要求に含まれるアドレスの先頭からサイズ分のアクセスを外部装置304に対して行う。尚、アプリケーション301、ファイルシステム302、デバイスドライバ303は、いずれも各種コンピュータプログラム(ソフトウェア)の一部であり、CPU101により実行される。
本実施形態は、アプリケーション301、ファイルシステム302の不具合などにより、外部記憶装置304に対して管理領域をまたぐアクセスの発生防止を目的としている。そこで、本実施形態では、デバイスドライバ303が、管理領域をまたぐアクセスが発生しているか否かを判定し、アクセス管理を適切に行う。
(前処理)
次に、デバイスドライバ303によって管理領域をまたぐアクセスが発生しているか否かを判定するため、デバイスドライバ303に管理領域の境界を記憶させる処理について説明する。管理領域の境界は、ファイル管理方式ごとに規定されている管理領域の境界アドレスとパーティションごとの境界アドレスとによって示される。
次に、デバイスドライバ303によって管理領域をまたぐアクセスが発生しているか否かを判定するため、デバイスドライバ303に管理領域の境界を記憶させる処理について説明する。管理領域の境界は、ファイル管理方式ごとに規定されている管理領域の境界アドレスとパーティションごとの境界アドレスとによって示される。
図4は、本実施形態におけるデバイスドライバ303が、管理領域の境界を記憶するフローを示した図である。尚、以下の各処理は、デバイスドライバ303が情報処理装置100にインストールされた際に自動的に行っても良いし、ユーザからの指示操作に基づき適切なタイミングで行っても良い。また、あらかじめ設定された時間ごとに行っても良いし、外部記憶装置304に初めてアクセスする際に行っても良い。
(ステップS401)ステップS401では、デバイスドライバ303は、ファイル管理方式で規定されている領域の境界を記憶するため、フォーマットパラメータをアプリケーション301から取得する。尚、ファイル管理方式がFATファイルシステムの場合は、外部記憶装置304のBPB領域にフォーマットパラメータが記録してあるため、ここから読み込んでもよい。(ステップS402)ステップS402では、デバイスドライバ303は、フォーマットパラメータを取得したら取得した値から境界アドレスを算出する。(ステップS403)ステップS403では、デバイスドライバ303は、外部記憶装置304のブートセクタから各パーティションの境界アドレスを読み込んで取得する。(ステップS404)ステップS404では、デバイスドライバ303は、ステップS402とステップS403で取得した境界アドレスの合計個数NをRAM103に記憶する。(ステップS405)ステップS405では、デバイスドライバ303は、ステップS402とステップS403で取得した境界アドレスN個をRAM103の静的変数として確保した配列Boundary[]に先頭の要素から順に記憶する。
以上の処理によって、デバイスドライバ303は、管理領域の境界をBoundary[]に記憶することが出来る。よって、管理領域の境界判定は、Boundary[]を参照することによって行われる。
(判定処理)
次に、デバイスドライバ303がアクセス要求を受け取った際に、当該アクセス要求が
管理領域をまたぐものであるか否かを判定する処理について説明する。図5は、本実施形態において、デバイスドライバ303が、管理領域の境界をまたぐアクセスが要求されたか否かを判定するフローを示す図である。
次に、デバイスドライバ303がアクセス要求を受け取った際に、当該アクセス要求が
管理領域をまたぐものであるか否かを判定する処理について説明する。図5は、本実施形態において、デバイスドライバ303が、管理領域の境界をまたぐアクセスが要求されたか否かを判定するフローを示す図である。
(ステップS501)ステップS501では、デバイスドライバ303は、アクセス要求がまたいでいるか否かの判定に必要な値を取得する。具体的には、アクセス要求に含まれているアクセス先アドレスの先頭Headと終端Tailを取得する。尚、Tailはアクセス先アドレスの先頭Headにアクセスのサイズを足し合わせることで得られる。そして、管理領域の境界を示す情報として、RAM103に記憶してある境界アドレスを保持する配列Boundary[]と、境界アドレスの個数Nを取得する。
(ステップS502)ステップS502では、デバイスドライバ303は、配列Boundary[]のインデクスiを用意し、0に初期化する。
(ステップS503)ステップS503では、デバイスドライバ303は、アクセス要求が境界アドレスをまたいでいるか否か判定を行う。アクセス先アドレスの先頭Headが境界アドレスBoundary[i]より小さく、かつ、終端Tailが境界アドレスBoundary[i]より大きい場合は境界アドレスをまたいだと判定する。そうでない場合はまたいでいないと判定する。境界アドレスをまたいだと判定された場合、ステップS504に処理を進める。境界アドレスをまたいだと判定されなかった場合、ステップS505に処理を進める。
(ステップS504)ステップS504では、デバイスドライバ303は、アクセス要求による境界アドレスをまたいだことが検出されたとして、検出結果の通知を行う。検出結果を通知する方法は、例えばファイルシステムに戻り値としてエラーを通知する方法がある。その他の方法としては、デバイスドライバ303にコールバック関数がユーザにより設定されることで、エラーをコールバック関数で通知する方法がある。通知後は、オペレーティングシステムの設定などに基づき、当該アクセス要求を拒絶する処理を行っても良い。
(ステップS505)ステップS505では、デバイスドライバ303は、配列Boundary[]に保持してある境界アドレスN個をすべて判定し終えたかを判定する。すべて判定し終えていないと判定された場合、ステップS506に処理を進める。すべて判定し終えたと判定された場合、ステップS507に処理を進める。
(ステップS506)ステップS506では、デバイスドライバ303は、配列Boundary[]に保持してある次の境界アドレスをまたいでいないかを判定するためにインデクスiをインクリメントする。その後、ステップS503に処理を戻す。
(ステップS507)ステップS507では、デバイスドライバ303は、管理領域の境界をまたぐアクセス要求がなされていないとみなし、外部記憶装置304に対してアクセス先アドレスの先頭から指定サイズ分のアクセスを行う。以上が本実施形態における処理である。本実施形態の処理によれば、外部記憶装置304へのアクセス要求が管理領域の境界をまたぐものでないか否かを適切に判定し、アクセス要求の管理を行うことが出来る。
(第二の実施形態)
第一の実施形態では、デバイスドライバ303がファイルシステム302から受け取った全てのアクセス要求に対して、境界アドレスをまたいでいるか否かを判定した。本実施形態では、デバイスドライバ303がアクセス要求を受け取った際に、次の2つの条件に該当する場合は、当該アクセス要求が管理領域の境界をまたぐものであるか否かの判定を行わない。
第一の実施形態では、デバイスドライバ303がファイルシステム302から受け取った全てのアクセス要求に対して、境界アドレスをまたいでいるか否かを判定した。本実施形態では、デバイスドライバ303がアクセス要求を受け取った際に、次の2つの条件に該当する場合は、当該アクセス要求が管理領域の境界をまたぐものであるか否かの判定を行わない。
1つ目の条件は、アクセス要求に含まれるアクセスのサイズが1セクタの場合である。2つ目の条件は、外部記憶装置304をフォーマットする場合である。いずれの場合も、アクセス要求が管理領域の境界をまたぐものであるか否かの判定は不要である。よって、本実施形態によれば、判定が必要な場合にだけ判定することが可能となり、システム全体のパフォーマンスを落とすことなく、適切なアクセス要求の管理が可能となる。尚、以下の本実施形態の説明において、第一の実施形態と同様の部分については、説明を省略するか簡略化する。
(前処理)
デバイスドライバ303が境界アドレスを記憶する前処理は第一の実施形態の(前処理)と同じである。よって、ここでは説明を省略する。
デバイスドライバ303が境界アドレスを記憶する前処理は第一の実施形態の(前処理)と同じである。よって、ここでは説明を省略する。
(フォーマットフラグの確保)
上記2つ目の条件に該当するか否かを判定するためには、デバイスドライバ303に対してフォーマット中であることを通知するための仕組みが必要になる。そのための仕組みとして、アプリケーション301またはファイルシステム302は、コンピュータプログラム起動時にフォーマットフラグを静的変数としてRAM103に確保する。
上記2つ目の条件に該当するか否かを判定するためには、デバイスドライバ303に対してフォーマット中であることを通知するための仕組みが必要になる。そのための仕組みとして、アプリケーション301またはファイルシステム302は、コンピュータプログラム起動時にフォーマットフラグを静的変数としてRAM103に確保する。
(フォーマット通知処理)
上記フォーマットフラグをRAM103上に確保した後に、アプリケーション301またはファイルシステム302がフォーマットする際、デバイスドライバ303に対してフォーマットしていることを通知する処理について、図6のフロー図を用いて説明する。
上記フォーマットフラグをRAM103上に確保した後に、アプリケーション301またはファイルシステム302がフォーマットする際、デバイスドライバ303に対してフォーマットしていることを通知する処理について、図6のフロー図を用いて説明する。
(ステップS601)ステップS601では、アプリケーション301またはファイルシステム302はフォーマットを開始する際には、フォーマットフラグをONにする。例えば、フォーマットフラグの1がフォーマットフラグのONを示す場合は、フォーマットフラグの値を1に変更する。ただし、フォーマットフラグのONを示す値として、1以外の値を用いても良い。(ステップS602)ステップS602では、アプリケーション301またはファイルシステム302はフォーマットを外部記憶装置304に対して行う。(ステップS603)ステップS603では、フォーマットを終了したらフォーマットフラグをOFFにする。例えば、フォーマットフラグの0がフォーマットフラグのOFFを示す場合は、フォーマットフラグの値を0に変更する。以上が、本実施形態において、判定処理の前にあらかじめ行っておく処理である。
(判定処理)
デバイスドライバ303による、フォーマット時またはアクセスのサイズが1セクタの場合を除いて、アクセス要求が境界アドレスをまたいでいないか否かを判定する処理について図7のフローチャートを用いて説明する。
デバイスドライバ303による、フォーマット時またはアクセスのサイズが1セクタの場合を除いて、アクセス要求が境界アドレスをまたいでいないか否かを判定する処理について図7のフローチャートを用いて説明する。
(ステップS701)ステップS701では、デバイスドライバ303は、アクセス要求に含まれるアクセスのサイズを取得する。(ステップS702)ステップS702では、デバイスドライバ303は、アクセスのサイズが1セクタであるか否かを判定する。アクセスのサイズが1セクタであると判定された場合、ステップS706に処理を進める。1セクタでないと判定された場合、ステップS703に処理を進める。(ステップS703)ステップS703では、デバイスドライバ303は、フォーマット時であるか否かを判定するためにRAM103にあるフォーマットフラグを参照する。(ステップS704)ステップS704では、デバイスドライバ303は、参照したフォーマットフラグがONであるか否かを判定する。フォーマットフラグがONであると判定された場合、ステップS706に処理を進める。フォーマットフラグがOFFであると判定された場合、ステップS705に処理を進める。(ステップS705)ステップS705では、デバイスドライバ303は、図5に示したフローチャートの処理を行う。すなわち、アクセス要求が管理境界をまたぐものであるか否かを判定するための処理である。(ステップS706)ステップS706では、デバイスドライバ303は、それより後の判定処理をスキップして外部記憶装置304に対してアクセス先アドレスの先頭から指定サイズ分のアクセスを行う。以上が、本実施形態における処理である。
(第三の実施形態)
本実施形態では、デバイスドライバ303は、最初のアクセス要求を受け取る前に、ファイルシステムの保持するファイル管理方式で規定されている境界が正しいか否かを判定する。次に、受け取ったアクセス要求が境界アドレスをまたいでいると判定された場合、ファイルシステムが持つ境界アドレスが書き換えられていないか否かをチェックし、推測される不具合の原因を通知する。尚、以下の説明では、第一の実施形態および第二の実施形態と同じである部分は、省略するか簡略化する。
本実施形態では、デバイスドライバ303は、最初のアクセス要求を受け取る前に、ファイルシステムの保持するファイル管理方式で規定されている境界が正しいか否かを判定する。次に、受け取ったアクセス要求が境界アドレスをまたいでいると判定された場合、ファイルシステムが持つ境界アドレスが書き換えられていないか否かをチェックし、推測される不具合の原因を通知する。尚、以下の説明では、第一の実施形態および第二の実施形態と同じである部分は、省略するか簡略化する。
(第一の判定処理)
以下の処理は、ファイルシステム302が外部記憶装置304をマウントしてから最初のアクセス要求を受け取るまでの間に行われる判定処理である。判定処理は、デバイスドライバ303がファイルシステム302の記憶する境界アドレスが正しいか否かを判定するものである。以下、図8のフロー図に沿って説明する。
以下の処理は、ファイルシステム302が外部記憶装置304をマウントしてから最初のアクセス要求を受け取るまでの間に行われる判定処理である。判定処理は、デバイスドライバ303がファイルシステム302の記憶する境界アドレスが正しいか否かを判定するものである。以下、図8のフロー図に沿って説明する。
(ステップS801)ステップS801では、デバイスドライバ303は、アプリケーション301からフォーマットパラメータを取得し、ファイル管理方式で規定されている境界アドレスを計算する。このとき境界アドレスの個数をN個とする。(ステップS802)ステップS802では、デバイスドライバ303は、RAM103に静的変数として確保した配列Boundary[]に対し、ステップS801で取得した境界アドレスを値の小さい方から順に格納する。(ステップS803)ステップS803では、デバイスドライバ303は、ファイルシステム302からファイル管理方式で規定されている境界アドレスを取得する。(ステップS804)ステップS804では、デバイスドライバ303は、RAM103に静的変数として確保した配列F_Boundary[]に対し、ステップS803で取得した境界アドレスを値の小さい方から順に格納する。(ステップS805)ステップS805では、デバイスドライバ303は、配列Boundary[]と配列F_Boundary[]の値を先頭要素から順番に比較し判定するためにインデクスiをRAM103に用意し、iを0に初期化する。(ステップS806)デバイスドライバ303は、デバイスドライバが算出した境界アドレスBoundary[i]とファイルシステムが保持する境界アドレスF_Boundary[i]の値を比較する。値が同じであれば、ステップS807に処理を進める。値が異なっている場合、ステップS809に処理を進める。(ステップS807)ステップS807では、デバイスドライバ303は、保持してある境界アドレスN個をすべて判定し終えたかを判定する。判定し終えたと判定された場合、処理を終了させる。判定し終えたと判定されなかった場合、ステップS808に処理を進める。(ステップS808)ステップS808では、次の境界アドレスを比較するためにインデクスiをインクリメントする。その後、ステップS806に処理を戻す。(ステップS809)ステップS809では、デバイスドライバ303は、ファイルシステムが保持する境界アドレスが正しくないためとみなし、その旨を通知する。
(第二の判定処理)
デバイスドライバ303が、アクセス要求が境界アドレスをまたいでいるか否かを判定する処理は第一の実施形態の(判定処理)と同じである。
デバイスドライバ303が、アクセス要求が境界アドレスをまたいでいるか否かを判定する処理は第一の実施形態の(判定処理)と同じである。
(通知処理)
図9は、デバイスドライバ303が、アプリケーション301またはファイルシステム302の推測される不具合の原因を通知する処理のフローを示す図である。
図9は、デバイスドライバ303が、アプリケーション301またはファイルシステム302の推測される不具合の原因を通知する処理のフローを示す図である。
(ステップS901)ステップS901では、デバイスドライバ303は、図5のステップS504で境界またぎが検出された時の配列Boundary[]のインデクスiを取得する。(ステップS902)ステップS902では、デバイスドライバ303は、本実施形態の<第一の判定処理>で記憶した、ファイルシステムの境界アドレスを保持する配列F_boundary[i]と配列Boundary[i]を比較する。値が同じである場合は、ステップS903に処理を進める。値が同じでない場合は、ステップS904に処理を進める。
(ステップS903)ステップS903では、デバイスドライバ303は、境界アドレスをまたいだ原因がファイルシステム302にあることを、アプリケーション301またはファイルシステム302に通知する。推測される原因としては、例えば、ファイルシステム302内のアクセス先アドレスを指定するプログラムに不具合がある、などがある。
(ステップS904)ステップS904では、デバイスドライバ303は、境界アドレスをまたいだ原因が、ファイルシステム302が保持する境界アドレスの領域が書き換えられたことにあると見なす。そして、ユーザまたはアプリケーション301またはファイルシステム302に原因を通知する。通知方法としては、例えばRAM上に確保しておいた変数にエラー番号を格納する方法がある。また他の方法として、デバイスドライバにコールバック関数を設定しておき、アクセス要求をエラー検出したら原因をコールバックする方法がある。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
S503 アクセス要求が境界アドレスをまたいでいるか否か判定
S504 検出結果の通知
S507 外部記憶装置304へのアクセス
S504 検出結果の通知
S507 外部記憶装置304へのアクセス
Claims (10)
- オペレーティングシステムの機能の一部であるファイルシステムからの記憶装置に対するアクセス要求を管理するデバイスドライバを有する情報処理装置であって、
前記デバイスドライバに前記記憶装置の管理領域の境界に関する情報を保持させる保持手段と、
前記ファイルシステムから前記デバイスドライバに対して前記アクセス要求を送信させる送信制御手段と、
前記境界に関する情報に基づき、前記デバイスドライバに前記アクセス要求が前記管理領域の境界をまたぐものであるか否かを判定させ、前記デバイスドライバから前記判定に関する情報を通知させる制御手段と、を有することを特徴とする情報処理装置。 - 前記管理領域の境界は、ファイル管理領域と実データの領域との境界と、互いに異なるパーティションの境界との少なくともいずれか一つであることを特徴とする請求項1に記載の情報処理装置。
- 前記アクセス要求には、アクセス先の先頭のアドレスと終端のアドレスとが含まれていることを特徴とする請求項1もしくは2のいずれか1項に記載の情報処理装置。
- 前記保持手段は、前記記憶装置のフォーマットパラメータに基づき前記管理領域の境界に関する情報を取得し、取得された当該管理領域の境界に関する情報を保持させることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
- 前記制御手段は、前記記憶装置がフォーマット中でなく、かつ前記アクセス要求のアクセスのサイズが1セクタでない場合、前記デバイスドライバに前記アクセス要求が前記管理領域の境界をまたぐものであるか否かを判定させることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
- 前記ファイルシステムからの情報に基づく境界に関する情報と、前記境界に関する情報とが同じであるか否かを前記デバイスドライバに判定させる第二の制御手段を更に有することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
- 前記第二の制御手段による判定の結果に基づき、前記制御手段は、前記通知される前記判定に関する情報を変更させることを特徴とする請求項6に記載の情報処理装置。
- 前記デバイスドライバは、前記アクセス要求に基づき前記記憶装置に対する情報処理装置の動作を制御することを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。
- オペレーティングシステムの機能の一部であるファイルシステムからの記憶装置に対するアクセス要求を管理するデバイスドライバを有する情報処理装置の制御方法であって、
保持手段が、前記デバイスドライバに前記記憶装置の管理領域の境界に関する情報を保持させる保持工程と、
送信制御手段が、前記ファイルシステムから前記デバイスドライバに対して前記アクセス要求を送信させる送信制御工程と、
制御手段が、前記境界に関する情報に基づき、前記デバイスドライバに前記アクセス要求が前記管理領域の境界をまたぐものであるか否かを判定させ、前記デバイスドライバから前記判定に関する情報を通知させる制御工程と、を有することを特徴とする情報処理装置の制御方法。 - コンピュータを、
オペレーティングシステムの機能の一部であるファイルシステムからの記憶装置に対するアクセス要求を管理するデバイスドライバを有する情報処理装置であって、
前記デバイスドライバに前記記憶装置の管理領域の境界に関する情報を保持させる保持手段と、
前記情報処理装置のファイルシステムから前記デバイスドライバに対して前記アクセス要求を送信させる送信制御手段と、
前記境界に関する情報に基づき、前記デバイスドライバに前記アクセス要求が前記管理領域の境界をまたぐものであるか否かを判定させ、前記デバイスドライバから前記判定に関する情報を通知させる制御手段と、を有することを特徴とする情報処理装置として機能させるためのコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014249416A JP2016110514A (ja) | 2014-12-09 | 2014-12-09 | 情報処理装置、情報処理装置の制御方法、およびコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014249416A JP2016110514A (ja) | 2014-12-09 | 2014-12-09 | 情報処理装置、情報処理装置の制御方法、およびコンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016110514A true JP2016110514A (ja) | 2016-06-20 |
Family
ID=56124447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014249416A Pending JP2016110514A (ja) | 2014-12-09 | 2014-12-09 | 情報処理装置、情報処理装置の制御方法、およびコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016110514A (ja) |
-
2014
- 2014-12-09 JP JP2014249416A patent/JP2016110514A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6605078B2 (ja) | 情報処理方法、情報処理装置、サーバ及びコンピュータ読み取り可能な記録媒体 | |
US10635323B2 (en) | Managing storage system | |
EP3502877B1 (en) | Data loading method and apparatus for virtual machines | |
JP4464378B2 (ja) | 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法 | |
US8161128B2 (en) | Sharing of data across disjoint clusters | |
CN107239319B (zh) | 一种虚拟机的数据存储方法和装置 | |
US8849966B2 (en) | Server image capacity optimization | |
US20140298333A1 (en) | Migration processing program, migration method, and cloud computing system | |
US9934243B2 (en) | System, method and computer program product for partially synchronous and partially asynchronous mounts/unmounts in a media library | |
US10635604B2 (en) | Extending a cache of a storage system | |
CN108475201B (zh) | 一种虚拟机启动过程中的数据获取方法和云计算系统 | |
US7849264B2 (en) | Storage area management method for a storage system | |
US11023153B2 (en) | Installation of operating system | |
CN109313593A (zh) | 存储系统 | |
US10969970B2 (en) | Storage optimization of database in volatile and non-volatile storing unit | |
CN109634524B (zh) | 一种数据处理守护进程的数据分区配置方法、装置及设备 | |
CN108595287B (zh) | 基于纠删码的数据截断方法及装置 | |
CN112748865B (zh) | 用于存储管理的方法、电子设备和计算机程序产品 | |
US9009204B2 (en) | Storage system | |
CN112433669A (zh) | 一种分布式存储卷在线迁移的方法、系统、设备及介质 | |
CN109508140B (zh) | 存储资源管理方法、装置、电子设备及电子设备、系统 | |
US10983818B2 (en) | Method and system for preventing execution of a dirty virtual machine on an undesirable host server in a virtualization cluster environment | |
US10430287B2 (en) | Computer | |
WO2018028321A1 (zh) | 一种虚拟外置存储设备的管理方法、装置及终端 | |
US9043533B1 (en) | Sizing volatile memory cache based on flash-based cache usage |