ユーザーアプリケーションが、ホストOSに対して、ファイル要求アクセスをする方法であって、ユーザーアプリケーションが、ホストOSに対して、要求するファイルに対応するミラーファイル番号を送信するステップと、ホストOSが、送信されてきたミラーファイル番号のデータが、ホストOS内にキャッシュされているかどうかを判断するステップと、ホストOSが、送信されてきたミラーファイル番号のデータが、ホストOS内にキャッシュされていないと判断される場合には、ブロックデバイスに対して、ミラーファイル番号のデータの読み出しを要求するステップと、ブロックデバイスが、要求のあったミラーファイル番号のセクタ番号から、そのセクタ番号に対応する実際のコンテンツが格納されたメモリのアドレスを取得し、そのコンテンツに対応するシーケンス番号を取得して、取得したシーケンス番号を変更するステップと、ブロックデバイスが、取得したメモリのアドレスのデータを読み出すステップと、ブロックデバイスが、読み出されたデータを、変更されたシーケンス番号を付加したデータにして、ホストOSに提供するステップと、ホストOSが、ユーザーアプリケーションに対して、ブロックデバイスから提供されてきたデータを提供するステップと、ホストOSが、送信されてきたミラーファイル番号のデータが、ホストOS内にキャッシュされていると判断される場合には、ユーザーアプリケーションに対して、ホストOS内にキャッシュされているデータを、ユーザーアプリケーションに提供するステップとを有する、ファイル要求アクセスをする方法。請求項1に記載の方法において提供されるファイルについて、ユーザーアプリケーションが、ファイルの整合性をチェックする方法であって、前回のファイル要求アクセスにおけるミラーファイル番号と、今回のファイル要求アクセスにおけるミラーファイル番号とを比較するステップと、比較の結果、これらミラーファイル番号が同一である場合には、ホストOS内にキャッシュされているデータが提供されていると判断するステップと、比較の結果、これらミラーファイル番号が異なる場合には、ブロックデバイスから読み出されたデータが提供されていると判断するステップとを有する、請求項1に記載の方法。請求項2に記載の方法において、ホストOS内にキャシュされているデータが提供されていると判断される場合には、ユーザーアプリケーションが、今回のファイル要求アクセスにおけるミラーファイル番号を変更して、ホストOSに対して、変更されたミラーファイル番号を送信するステップとを有する、請求項2に記載の方法。ミラーファイル番号の変更が、ミラーファイル番号の増加である、請求項1に記載の方法。ユーザーアプリケーションが、ホストOSに対して、ファイル要求アクセスをするシステムであって、ユーザーアプリケーションが、ホストOSに対して、要求するファイルに対応するミラーファイル番号を送信し、ホストOSが、送信されてきたミラーファイル番号のデータが、ホストOS内にキャッシュされているかどうかを判断し、ホストOSが、送信されてきたミラーファイル番号のデータが、ホストOS内にキャッシュされていないと判断される場合には、ブロックデバイスに対して、ミラーファイル番号のデータの読み出しを要求し、ブロックデバイスが、要求のあったミラーファイル番号のセクタ番号から、そのセクタ番号に対応する実際のコンテンツが格納されたメモリのアドレスを取得し、そのコンテンツに対応するシーケンス番号を取得して、取得したシーケンス番号を変更し、ブロックデバイスが、取得したメモリのアドレスのデータを読み出し、ブロックデバイスが、読み出されたデータを、変更されたシーケンス番号を付加したデータにして、ホストOSに提供し、ホストOSが、ユーザーアプリケーションに対して、ブロックデバイスから提供されてきたデータを提供し、ホストOSが、送信されてきたミラーファイル番号のデータが、ホストOS内にキャッシュされていると判断される場合には、ユーザーアプリケーションに対して、ホストOS内にキャッシュされているデータを、ユーザーアプリケーションに提供する、ファイル要求アクセスをするシステム。ユーザーアプリケーションからホストOSを経由して送信されてくるミラーファイル番号に基づくデータの読み出し要求に応答する方法であって、ブロックデバイスが、要求のあったミラーファイル番号のセクタ番号から、そのセクタ番号に対応する実際のコンテンツが格納されたメモリのアドレスを取得し、そのコンテンツに対応するシーケンス番号を取得して、取得したシーケンス番号を変更するステップと、ブロックデバイスが、取得したメモリのアドレスのデータを読み出すステップと、ブロックデバイスが、読み出されたデータを、変更されたシーケンス番号を付加したデータにして、ホストOSに提供するステップとを有する、読み出し要求に応答する方法。ユーザーアプリケーションからホストOSを経由して送信されてくるミラーファイル番号に基づいて、データの読み出し要求に応答する、ブロックデバイス内に設けられた、ファイルシステムであって、要求のあったミラーファイル番号のセクタ番号から、そのセクタ番号に対応する実際のコンテンツが格納されたメモリのアドレスを取得し、そのコンテンツに対応するシーケンス番号を取得して、取得したシーケンス番号を変更し、取得したメモリのアドレスのデータを読み出し、読み出されたデータを、変更されたシーケンス番号を付加したデータにして、ホストOSに提供する、ファイルシステム。ユーザーアプリケーションからホストOSを経由して送信されてくるミラーファイル番号に基づいて、データの読み出し要求に応答するために、ブロックデバイス内に設けられる、ミラーファイルエントリーテーブルMFETであって、要求のあったミラーファイル番号のセクタ番号から、そのセクタ番号に対応する実際のコンテンツが格納されたメモリのアドレスを取得し、そのコンテンツに対応するシーケンス番号を取得することができるように、セクタ番号、そのセクタ番号に対応する実際のコンテンツが格納されたブロックデバイス内に設けられるメモリのアドレス、および、データの読み出しの要求がある度にファイルシステムエミュレータによって変更されるシーケンス番号が対応付けられている、MFET。外部から送信されてくる、要求するファイルに対応するミラーファイル番号に対して、ホストOSが、送信されてきたミラーファイル番号のデータが、ホストOS内にキャッシュされているかどうかを判断するステップと、ホストOSが、送信されてきたミラーファイル番号のデータが、ホストOS内にキャッシュされていないと判断される場合には、ブロックデバイスに対して、ミラーファイル番号のデータの読み出しを要求するステップと、ブロックデバイスが、要求のあったミラーファイル番号から、対応するコンテンツが格納されたメモリのアドレスを取得し、そのコンテンツに対応するシーケンス番号を取得して、取得したシーケンス番号を変更するステップと、ブロックデバイスが、取得したメモリのアドレスのデータを読み出すステップと、ブロックデバイスが、読み出されたデータを、変更されたシーケンス番号を付加したデータにして、ホストOSに提供するステップと、ホストOSが、ユーザーアプリケーションに対して、ブロックデバイスから提供されてきたデータを提供するステップと、ホストOSが、送信されてきたミラーファイル番号のデータが、ホストOS内にキャッシュされていると判断される場合には、ユーザーアプリケーションに対して、ホストOS内にキャッシュされているデータを、外部に提供するステップとを有する、ファイル要求アクセスをする方法。ホストOSおよびブロックデバイスによって実行されるプログラムであって、外部から送信されてくる、要求するファイルに対応するミラーファイル番号に対して、ホストOSが、送信されてきたミラーファイル番号のデータが、ホストOS内にキャッシュされているかどうかを判断するプログラムコードと、ホストOSが、送信されてきたミラーファイル番号のデータが、ホストOS内にキャッシュされていないと判断される場合には、ブロックデバイスに対して、ミラーファイル番号のデータの読み出しを要求するプログラムコードと、ブロックデバイスが、要求のあったミラーファイル番号から、対応するコンテンツが格納されたメモリのアドレスを取得し、そのコンテンツに対応するシーケンス番号を取得して、取得したシーケンス番号を変更するプログラムコードと、ブロックデバイスが、取得したメモリのアドレスのデータを読み出すプログラムコードと、ブロックデバイスが、読み出されたデータを、変更されたシーケンス番号を付加したデータにして、ホストOSに提供するプログラムコードと、ホストOSが、ユーザーアプリケーションに対して、ブロックデバイスから提供されてきたデータを提供するプログラムコードと、ホストOSが、送信されてきたミラーファイル番号のデータが、ホストOS内にキャッシュされていると判断される場合には、ユーザーアプリケーションに対して、ホストOS内にキャッシュされているデータを、外部に提供するプログラムコードとを有する、プログラム。外部からホストOSを経由して送信されてくるミラーファイル番号に基づくデータの読み出し要求に応答する方法であって、ブロックデバイスが、要求のあったミラーファイル番号から、対応する実際のコンテンツが格納されたメモリのアドレスを取得し、そのコンテンツに対応するシーケンス番号を取得して、取得したシーケンス番号を変更するステップと、ブロックデバイスが、取得したメモリのアドレスのデータを読み出すステップと、ブロックデバイスが、読み出されたデータを、変更されたシーケンス番号を付加したデータにして、ホストOSに提供するステップとを有する、読み出し要求に応答する方法。外部からホストOSを経由して送信されてくるミラーファイル番号に基づくデータの読み出し要求に応答する、ブロックデバイスによって実行されるプログラムであって、ブロックデバイスが、要求のあったミラーファイル番号から、対応する実際のコンテンツが格納されたメモリのアドレスを取得し、そのコンテンツに対応するシーケンス番号を取得して、取得したシーケンス番号を変更するプログラムコードと、ブロックデバイスが、取得したメモリのアドレスのデータを読み出すプログラムコードと、ブロックデバイスが、読み出されたデータを、変更されたシーケンス番号を付加したデータにして、ホストOSに提供するプログラムコードとを有する、プログラム。受信機を内蔵し、受信機が受信したデータを直接記憶領域に書き込む外部記憶装置において、OSによるキャッシュの問題を回避可能にして、受信機の制御とダウンロードを可能とする方法が望まれる。ホストOSに対して、要求するファイルに対応するミラーファイル番号を送信する。ホストOS内にキャッシュされているかどうかを判断し、送信されてきたミラーファイル番号のデータが、キャッシュされていないと判断される場合には、ブロックデバイスに対して、ミラーファイル番号のデータの読み出しを要求する。ブロックデバイスが、そのセクタ番号に対応する実際のコンテンツが格納されたメモリのアドレスを取得し、そのコンテンツに対応するシーケンス番号を取得して、取得したシーケンス番号を変更し、取得したメモリのアドレスのデータを読み出す。読み出されたデータを、変更されたシーケンス番号を付加したデータにして、ホストOSに提供する。ホストOS内にキャッシュされていると判断される場合には、ホストOS内にキャッシュされているデータを提供する。OSによるキャッシュの問題OSのキャッシュによって、外部記憶装置のデータがキャッシュされてしまう。このファイルシステムのキャッシュにより、外部記憶装置側に新しいデータが到達してもOS側が新しいデータを認知しない。を解決することができる。図1は、本発明であるファイル要求アクセスを制御するシステムの全体構成を示す。ユーザーアプリケーションUserapplication10、ホストOSホストシステム20、ブロックデバイスBlockdevice30、が接続される関係として示されている。ブロックデバイス30内部には無線受信機mmWavetransceiver31が存在し、受信したコンテンツは直接メモリMemory32へと格納される。ミリ波などの広帯域無線通信で受信されるデータは非常に高速であるため、たとえばホストOS側が、携帯端末やタブレット端末のような外部インターフェイスに低速のIFしか持たない端末の場合、その低速のIFに受信速度が制限されてしまい、無線側の広帯域を生かせない。無線受信機31によって受信したコンテンツは、直接、ブロックデバイス30内部のメモリ32へ格納される。無線受信機31のハードウエアを制御するためのレジスタRegisterfilefortransceiver33もブロックデバイス30内部に存在する。メモリ32やレジスタ33へのアクセスは、調停回路34によって制御され、ホストOS20からのデータ操作と無線受信機からのデータ操作の両方を制御する。ホストOS20からのアクセスは、通常、ホストOS上で動作するユーザーアプリケーション10によって起動される。ユーザーアプリケーション10が、ブロックデバイス30内部のメモリ32や、ブロックデバイス30内部の無線受信機31の制御をレジスタ33経由で行いたい場合、本発明の構成においては、ホストOS20に標準的に備わっている標準ファイルIO22を用いて操作する。具体的には、ホストOS20の管理する通常のファイルと同様の操作であり、ファイルをopenし、ファイルに対するreadwriteが、OSの標準API経由でデバイスドライバ24を通り、物理インターフェイスInterface26を経て、ブロックデバイス30へのアクセスとなる。インターフェイス26経由で要求のあったreadwriteのアクセスは、ブロックデバイスのインターフェイスInterface35を通過してブロックデバイス内部へと伝わる。本発明の特徴的な構成では、この要求のあったアクセスはファイルシステムエミュレータFileSystemEmulator36によって解釈され、ブロックデバイス30内部のどのファイルに対するアクセスが発生したのかをアクセスされたファイルのセクタの値番号から検出し、それが後述のミラーファイルであるか否かを判定するとともに、ミラーファイルであればそのシーケンス番号Sequencenumberを変化変更させる。ホストOS20からのアクセスがread場合であれば、シーケンス番号Sequencenumberを返答データの末尾に付加する。このシーケンス番号Sequencenumberの付加されたデータは、ホストOS20を経由してユーザーアプリケーション10へと返信して提供され、ユーザーアプリケーション10は受け取ったシーケンス番号Sequencenumberを参照して、受けとったデータが実際にブロックデバイスから返信されたデータであるか否かを判定する。詳細は後述する。図2は、本発明におけるデータの流れを示す。ユーザーアプリケーション10が標準ファイルIO22経由でファイルアクセスを行うと、アクセス対象のファイルの格納されているセクタがホストOS20によって調べられ、そのセクタに対するアクセス要求がブロックデバイス30へ送られる。通常のブロックデバイスであれば、セクタから直接ブロックデバイス30内部のメモリ32のアドレスを計算して、そのアドレスのメモリにアクセスする。本発明の構成においては、ブロックデバイス30内部でいったんセクタの値をファイルシステムエミュレータFileSystemEmulator36が解釈し、通常のブロックデバイス同様に直接メモリ32へアクセス可能なセクタなのか、それともミラーファイルなのかを区別する。ここで、ミラーファイルとは、OS20内のファイルシステム上ではそれぞれ異なったファイルとして参照されるが、ブロックデバイス30内部の実際のメモリが同一の場所であるファイルである。図2においては、OS20から参照するファイルシステム上のMirrorfile1からMirrorfilenがすべてミラーファイルであり、OS20からは物理的に異なるファイルとして参照されるが、ブロックデバイス30内のメモリ内部のデータとしては同一のアドレス先のデータを参照する。本発明の構成では、ミラーファイルの参照する先として、ブロックデバイス内部のメモリでも、無線受信機制御のためのレジスタ群33であってもよい。さらに本発明では、このミラーファイルのデータの末尾には、シーケンス番号SN:Sequencenumberという、そのファイルにブロックデバイス30内部でアクセスが発生するたびに変更される典型的には、増加する値を付加する。図3は、シーケンス番号SN:Sequencenumberの動作をより詳細に示す。シーケンス番号Sequencenumberは、ブロックデバイス30に実際のファイルアクセスが発生するたびに値が変更増加する。これを用いることで、ユーザーアプリケーション10の側で、OS20によるファイルのキャッシュの有無の判定が可能となる。図3の例では、ユーザーアプリケーション10から2回のファイルアクセスを行った場合に関して、OS20のファイルキャッシュの有無で、シーケンス番号Sequencenumberの動作がどのように異なるかを例として示す。図3の左の図は、OS20によりファイルがキャッシュされる場合の動作を示したものである。ユーザーアプリケーションからファイルへの最初のアクセスが発生すると、OSにそのリクエストが到達し、OSはその時点でのキャッシュの有無をチェックする。図3の左の図のように、最初のアクセスではOS20にはキャッシュがないため、ブロックデバイス30への実アクセスが発生する。ブロックデバイス30はファイルアクセスを検出し、SequenceNumberの値を増加させ、ブロックデバイス30内部のメモリに格納されている最新の対象ファイルのデータにアクセスしOS20へデータを返答する。その際にSNをデータに末尾などに付加する。OS20は、受け取ったデータをユーザーアプリケーションへ返答して最初のファイルアクセスは完了する。引き続き2回目のファイルアクセスを同一ファイルに行った場合、今度はOS20がキャッシュを持っているためOS20はそのキャッシュの内容をユーザーアプリケーション10へと返答する。そのためブロックデバイス30への実アクセスは発生せず、2回目のファイルアクセスは終了となる。ここで、ユーザーアプリケーション10側は、最初と2回目のアクセスで得られたデータの末尾に付加されているSNの値を比較する。SNの値が同一であることから、ユーザーアプリケーションはこの2回目のデータはキャッシュであり、2回目のデータはブロックデバイス30への実アクセスをしていない古いデータキャッシュであることが判定可能となる。図3の右の図は、OS20によるキャッシュがない場合について示したものである。最初のファイルアクセスではOS20はキャッシュがないためブロックデバイス30へと実アクセスが発生し、ブロックデバイス30内部ではSNの値を増加させその値をファイルのデータの末尾などに付加して返答する。2回目のファイルアクセスが発生しても、OS20はキャッシュをしないためブロックデバイス30への実アクセスが再度発生し、ブロックデバイス30内部ではSNが同様に増加し、その値をファイルのデータの末尾などに付加して返答する。ユーザーアプリケーション10では、1回目、2回目のアクセスで得られたデータの末尾を比較すると値が異なるため、OS20によるキャッシュが無く、2回目も1回目同様にブロックデバイス30への実アクセスをした最新のデータであることが判定可能となる。図4は、ユーザーアプリケーション10、ホストOS20、ブロックデバイス30内部のファイルシステムエミュレータ、メモリの動作の流れを示す。図5は、キャッシュの有無をチェックするためのファイル整合性チェック部分のフローを示す。図6は、コンテンツテーブルおよびMirrorFileEntryTableMFETの構造を示す。ユーザーアプリケーション10が、OS20の標準ファイルIO22経由で、ファイルをアクセスした際に、ブロックデバイス30側のファイルシステムエミュレータ36が、ミラーファイルについての判定のために参照するものが、MirrorFileEntryTableMFET37である図1参照。ブロックデバイス30内部の無線受信機31によってダウンロードされたコンテンツは、図6aのコンテンツテーブルを用いて、各コンテンツがどのアドレス範囲内部に格納されているかを記憶する。図6bはミラーファイルの情報を管理するMirrorFileEntryTableMFETであり、ミラーファイルとコンテンツの格納されたメモリのアドレスの関連付けとSequenceNumberSNの管理を行う。コンテンツがダウンロードされると、ミラーファイルが複数個この図の例では64個がファイルシステム上に作成され、各ミラーファイルのOS20から参照される際のセクタがミラーファイルごとに決定する。そのセクタ番号がMFETの第1列のセクタ部分に記録される。第2列はファイルシステム上、対応するミラーファイルのファイル名を参考までに示しているが、このファイル名の情報はMFET自身が記憶する必要はかならずしも無い。ファイル名とセクタの対応付けは、OS20が参照するファイルシステム本体部分に通常通り記されているためである。第3列には、各ミラーファイルに対応する実体のコンテンツがメモリ上のどのアドレスに記録されているかを格納する。第4列は参考として対応する実体のコンテンツのファイル名を示しているがMFET自身が記憶する必要は必ずしも無い。この対応付けは図6aのコンテンツテーブルを参照することで判定可能なためである。そして、第5列にSequenceNumberSNを記録する。OS20経由でアクセスのあったファイルがミラーファイルかどうかの判定は、アクセスのあったファイルのセクタ番号がMFETの第1列のセクタに合致するか否かをチェックし、該当セクタがあった場合はミラーファイルであると判定できる。ミラーファイルであると判定された後は、ファイルのアクセスを、MFETの第3列で示されるブロックデバイス30内部のメモリのアドレスに対して行うことで、複数のミラーファイルからのアクセスを、実体がひとつだけのブロックデバイス30内部のメモリに格納された最新のコンテンツに対して行うことが可能となる。