(57)【特許請求の範囲】
【請求項１】
アプリケーションからのファイルのアクセス要求に基づいてファイルのアクセスを制御するファイルアクセス制御方法において、
第１の記録媒体に記憶されたファイルについて、前記アプリケーションから更新要求があった場合に、
更新要求が、そのファイルについて最初のものであるかどうかを、対応テーブルを用いて判定するステップと、
前記判定ステップにより、最初の更新であると判定された場合に、
前記更新対象のファイルを、前記更新要求により指定された第１のファイル名を用いて、前記第１の記録媒体から検索するサブステップと、
前記検索された更新対象のファイルを、第１のファイル名とは異なる第２のファイル名で、第２の記録媒体にコピーするサブステップと、
前記第１のファイル名と、前記第２のファイル名を対応付けて対応テーブルに記憶するサブステップと、
前記第２の記録媒体にコピーされたファイルを前記更新要求に基づいて更新するサブステップとからなる処理を実行する第１の更新ステップと、
前記判定ステップにより、最初の更新でないと判定された場合に、
前記更新要求により指定された第１のファイル名に対応する前記第２のファイル名を対応テーブルから取得するサブステップと、
前記第２の記録媒体内の、前記第２のファイル名のファイルを、前記更新要求に基づいて更新するサブステップとからなる処理を実行する第２の更新ステップとを有することを特徴とするファイルアクセス制御方法。
【請求項２】
請求項１に記載のファイルアクセス制御方法において、
前記第１の記録媒体に記憶されたファイルについて、前記アプリケーションから参照要求があった場合に、
そのファイルについて、過去に更新要求があったかどうかを、対応テーブルを用いて判定するステップと、
前記判定ステップにより、過去の更新がないと判定された場合に、前記参照対象のファイルを、前記参照要求により指定された第１のファイル名を用いて、前記第１の記録媒体から読み出し、その内容を前記アプリケーションに送信する第１の参照ステップと、
前記判定ステップにより、過去の更新があると判定された場合に、
前記参照要求により指定された第１のファイル名に対応する前記第２のファイル名を対応テーブルから取得するサブステップと、
前記第２の記録媒体内の、前記第２のファイル名のファイルを読み出し、その内容を前記アプリケーションに送信するサブステップとからなる処理を実行する第２の参照ステップとを有することを特徴とするファイルアクセス制御方法。
【請求項３】
請求項１に記載のファイルアクセス制御方法において、
前記対応テーブルの内容と前記第２の記録媒体の内容が、前記ファイルのアクセス方法を実施する機器の電源を再投入することによって消去されることを特徴とするファイルアクセス制御方法。
【請求項４】
請求項３に記載のファイルアクセス制御方法において、
前記更新要求が、そのファイルについて最初のものであるかどうかを判定するステップは、前記更新要求により指定された前記第１のファイル名が、前記対応テーブル内に記憶されているかどうかを判定することによって行われることを特徴とするファイルアクセス制御方法。
【請求項５】
請求項３に記載のファイルアクセス制御方法において、
前記参照要求の対象ファイルについて、過去に更新要求があったかどうかを、判定するステップは、前記参照要求により指定された前記第１のファイル名が、前記対応テーブル内に記憶されているかどうかを判定することによって行われることを特徴とするファイルアクセス制御方法。
【請求項６】
非リアルタイムＯＳによるリアルタイムＯＳ構築方法であって、
前記非リアルタイムＯＳが起動した以降、少なくとも１回更新されたファイルを、元のファイル名とは別のファイル名で別の場所に配置するステップと、
前記少なくとも１回更新されたファイルについて更新要求があった場合は、対応する前記別の場所に配置された別のファイル名のファイルを更新するよう制御するステップと、
前記ＯＳが起動するまでに、以前に前記別の場所に配置されたファイルを消去するステップとを特徴とするリアルタイムＯＳ構築方法。
【請求項７】
アプリケーションからのファイルのアクセス要求に基づいて、ファイルのアクセスを制御するファイルアクセス制御装置において、
第１の記録媒体に記憶されたファイルについて、前記アプリケーションから更新要求があった場合に、
更新要求が、そのファイルについて最初のものであるかどうかを、対応テーブルを用いて判定する更新判定手段と、
前記更新判定手段により、最初の更新であると判定された場合に、
前記更新対象のファイルを、前記更新要求により指定された第１のファイル名を用いて、前記第１の記録媒体から検索する検索手段と、
前記検索された更新対象のファイルを、第１のファイル名とは異なる第２のファイル名で、第２の記録媒体にコピーするコピー手段と、
前記第１のファイル名と、前記第２のファイル名を対応付けて対応テーブルに記憶する対応テーブル記憶手段と、
前記第２の記録媒体にコピーされたファイルを前記更新要求に基づいて更新する第１のコピーファイル更新手段とからなる第１の更新手段と、
前記更新判定手段により、最初の更新でないと判定された場合に、
前記更新要求により指定された第１のファイル名に対応する前記第２のファイル名を対応テーブルから取得する更新ファイル名取得手段と、
前記第２の記録媒体内の、前記第２のファイル名のファイルを、前記更新要求に基づいて更新する第２のコピーファイル更新手段とからなる第２の更新手段とを有することを特徴とするファイルアクセス制御装置。
【請求項８】
請求項７に記載のファイルアクセス制御装置において、
前記第１の記録媒体に記憶されたファイルについて、前記アプリケーションから参照要求があった場合に、
そのファイルについて、過去に更新要求があったかどうかを、対応テーブルを用いて判定する更新履歴判定手段と、
前記更新履歴判定手段により、過去の更新がないと判定された場合に、前記参照対象のファイルを、前記参照要求により指定された第１のファイル名を用いて、前記第１の記録媒体から読み出し、その内容を前記アプリケーションに送信する第１の参照手段と、
前記更新履歴判定手段により、過去の更新があると判定された場合に、
前記参照要求により指定された第１のファイル名に対応する前記第２のファイル名を対応テーブルから取得する参照ファイル名取得手段と、
前記第２の記録媒体内の、前記第２のファイル名のファイルを読み出し、その内容を前記アプリケーションに送信するファイル読み出し手段とからなる第２の参照手段とを有することを特徴とするファイルアクセス制御装置。
【請求項９】
請求項７及び８のいずれかに記載のファイルアクセス制御装置において、
前記各手段が、ＵＮＩＸ（登録商標）システムにおいて稼働することを特徴とするファイルアクセス制御装置。
【請求項１０】
請求項９に記載のファイルアクセス制御装置において、
前記各手段、及び前記対応テーブルが、ＵＮＩＸ（登録商標）システムのＯＳカーネルに組み込まれることを特徴とするファイルアクセス制御装置。
【請求項１１】
請求項７及び８のいずれかに記載のファイルアクセス制御装置において、
前記第１の記録媒体、及び第２の記録媒体が、ハードディスクで構成されることを特徴とするファイルアクセス制御装置。
【請求項１２】
請求項１１に記載のファイルアクセス制御装置において、
前記各手段が、前記ハードディスクのコントローラ内で稼働することを特徴とするファイルアクセス制御装置。
【請求項１３】
非リアルタイムＯＳを用いたファイルアクセス制御装置であって、
前記非リアルタイムＯＳが起動した以降、少なくとも１回更新されたファイルを、元のファイル名とは別のファイル名で別の場所に配置するファイル配置手段と、
前記少なくとも１回更新されたファイルについて更新要求があった場合は、対応する前記別の場所に配置された別のファイル名のファイルを更新するよう制御する制御手段と、
前記ＯＳが起動するまでに、以前に前記別の場所に配置されたファイルを消去する消去普段とを特徴とするファイルアクセス制御装置。
【請求項１４】
コンピュータを、
第１の記録媒体に記憶されたファイルについて、前記アプリケーションから更新要求があった場合に、
更新要求が、そのファイルについて最初のものであるかどうかを、対応テーブルを用いて判定する更新判定手段と、
前記更新判定手段により、最初の更新であると判定された場合に、
前記更新対象のファイルを、前記更新要求により指定された第１のファイル名を用いて、前記第１の記録媒体から検索する検索手段と、
前記検索された更新対象のファイルを、第１のファイル名とは異なる第２のファイル名で、第２の記録媒体にコピーするコピー手段と、
前記第１のファイル名と、前記第２のファイル名を対応付けて対応テーブルに記憶する対応テーブル記憶手段と、
前記第２の記録媒体にコピーされたファイルを前記更新要求に基づいて更新する第１のコピーファイル更新手段とからなる第１の更新手段と、
前記更新判定手段により、最初の更新でないと判定された場合に、
前記更新要求により指定された第１のファイル名に対応する前記第２のファイル名を対応テーブルから取得する更新ファイル名取得手段と、
前記第２の記録媒体内の、前記第２のファイル名のファイルを、前記更新要求に基づいて更新する第２のコピーファイル更新手段とからなる第２の更新手段とを有するファイルアクセス制御装置として機能させるプログラム。
【請求項１５】
請求項１４に記載のプログラムにおいて、
前記第１の記録媒体に記憶されたファイルについて、前記アプリケーションから参照要求があった場合に、
そのファイルについて、過去に更新要求があったかどうかを、対応テーブルを用いて判定する更新履歴判定手段と、
前記更新履歴判定手段により、過去の更新がないと判定された場合に、前記参照対象のファイルを、前記参照要求により指定された第１のファイル名を用いて、前記第１の記録媒体から読み出し、その内容を前記アプリケーションに送信する第１の参照手段と、
前記更新履歴判定手段により、過去の更新があると判定された場合に、
前記参照要求により指定された第１のファイル名に対応する前記第２のファイル名を対応テーブルから取得する参照ファイル名取得手段と、
前記第２の記録媒体内の、前記第２のファイル名のファイルを読み出し、その内容を前記アプリケーションに送信するファイル読み出し手段とからなる第２の参照手段とをさらに有するファイルアクセス制御装置として、コンピュータに機能させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、いかなる状況で電源を遮断しても２次記憶装置内のデータの不整合を防止できる方法に関し、特に、電源遮断時に、正常にオペレーティング・システム（ＯＳ）を再起動できる方法に関する。
【０００２】
【従来の技術】
近年、多種多様な携帯型端末が普及し、ロボット制御技術等が飛躍的に発展している。これらに深く関連する技術として特に注目されているものに、リアルタイムＯＳがある。このＯＳは、リアルタイム処理に重点をおいて作られたマルチタスクＯＳであり、あるイベントが発生した場合に、すぐにイベントハンドラを起動して処理を行わなければならないような用途に適している。
【０００３】
ＤＯＳ、ＷＩＮＤＯＷＳ（登録商標）、ＵＮＩＸ（登録商標）のような非リアルタイムＯＳでは、ファイル入出力等の処理を実行していると、その処理が終わるまで他のイベント（例えば、急な電源の遮断）が発生しても、そのイベントハンドラが起動されない場合があるが、リアルタイムＯＳでは、所定のわずかな時間内に、確実にイベントハンドラが起動される。
【０００４】
このため、リアルタイムＯＳは、非常に高速にイベントの処理を行う必要のあるシステム、例えば、録画した映像をそのまますぐにデジタル化して放映するメディア変換などの用途に適している。また、リアルタイムＯＳは急に電源がオフされることを前提に設計されているため、ＯＳプログラムの起動に関わるような重要なファイルを書き換えて動作する構成にはなっていない。そのため、ＯＳの動作に関わるデータが中途半端に更新されたまま残されることがなく、次の電源オン時には、そのＯＳ等が正常に起動されることが保証される。
【０００５】
こうしたリアルタイムＯＳの代表的なものとしてはＩＴＲＯＮ（登録商標）がある。また、リアルタイムＯＳは、システムの内部に組み込まれて使用されることが多いので、ユーザがその存在に気付くことは少ない。前述のＩＴＲＯＮ（登録商標）も携帯電話をはじめとする様々な機器に組み込まれている。
【０００６】
しかし、最近、このリアルタイムＯＳとしてＵＮＩＸ（登録商標）を利用しようとする動きが活発になってきている。ＵＮＩＸ（登録商標）は、オープンシステムを容易に構築でき、その上で稼働する多くのアプリケーションを有し、更に他のシステムとのコネクティビティーにも優れているからである。
【０００７】
また、ＵＮＩＸ（登録商標）は、前述の通り、本来は非リアルタイムＯＳであって、ハードディスク等の２次記憶装置にアクセスしながら動作しており、ＵＮＩＸ（登録商標）の稼働しているパーソナル・コンピュータやワークステーションの電源を遮断する前には、ユーザによるシャットダウン処理が必要となる。
【０００８】
ここで、従来のＵＮＩＸ（登録商標）システムによるファイルのアクセス制御方法を、図７を参照して説明する。図７には、ＵＮＩＸ（登録商標）上で稼働するアプリケーション４１、パーソナル・コンピュータやワークステーション等のメインメモリ上に展開されたＵＮＩＸ（登録商標）のＯＳカーネル４２、及び読み書き両用媒体４３が示されている。
【０００９】
アプリケーション４１は、例えば、ユーザからのログイン要求に応じて、読み書き両用媒体４３内にある所定のファイルの属性を変更し、そのユーザにログインを可能とするアプリケーションである。また、読み書き両用媒体４３内のデータベースから１つのレコードを検索して、それをディスプレイ（不図示）上に表示し、ユーザがその内容を変更した場合に、その変更内容をデータベース内の当該レコードに反映するような検索・更新機能を備えたアプリケーションもある。
【００１０】
ＯＳカーネル４２は、アプリケーション４１からの命令（タスク）のスケジューリングを行ったり、ファイルの更新に際して排他制御等を行う。
【００１１】
読み書き両用媒体４３は、通常はハードディスクなどの２次記憶装置であり、データを読み取り、及び書き込み可能なものとして記憶する。この媒体４３には、前述した、ログインに際して更新されるファイルやユーザが利用するデータベースの他、ＯＳカーネルを立ち上げる時に読み込まれるＯＳの各種モジュールや、ＯＳやアプリケーションの稼働に際して参照、更新される数々の管理データ、制御データが記憶される。
【００１２】
図中、矢印で示されるように、アプリケーション４１からの読み込み命令があった場合、ＯＳカーネル４２がそれを処理し、読み書き両用媒体４３内の当該命令で指定されたデータがアプリケーション４１に送られる。一方、書き込み命令があった場合、ＯＳカーネル４２がそれを処理し、読み書き両用媒体４３内の指定したファイル又はファイルの属性が、アプリケーション４１からのデータによって更新される。
【００１３】
通常、こうしたＵＮＩＸ（登録商標）システムでは、すべてのデータが１つ、又は複数の読み書き両用媒体に記憶され、その更新内容は、そのまま次の電源オン時にも保存されている。
【００１４】
【発明が解決しようとする課題】
ＵＮＩＸ（登録商標）のような非リアルタイムＯＳでは、ハードディスク等に、随時必要な情報を読み込み、また書き込みながら動作しているため、ハードディスクへの書き込み中に、急に電源が遮断されると、データの不整合が生じて、次に電源を投入した場合に、正常に再起動できなくなる可能性がある。このため、ＵＮＩＸ（登録商標）のユーザは、電源を遮断する前に「シャットダウン」という、終了前の特別な処理を指示して、こうした不整合を防いでいる。
【００１５】
しかし、ＵＮＩＸ（登録商標）システムを、リアルタイムＯＳに利用しようとする場合には、どのような場合に電源を遮断されてもいいような構成になっていなければならず、このことが、ＵＮＩＸ（登録商標）システムをリアルタイムＯＳの用途に適用する上で大きな障害となっている。
【００１６】
また、ハードディスクへのデータの書き込みは、（１）実際のファイルの更新と、（２）そのデータの位置（ファイル）に関する情報の（ファイルシステム内ののファイル管理テーブルへの）書き込みを行うことで実現されるが、電源の遮断等によってそのどちらかが行われないような不完全な状況が生じる。ここでは、こうした状況を「データの不整合」と呼ぶことにする。
【００１７】
また更に、システム内で、整合性を保ちながら更新されるべき複数のファイルの組のうち少なくとも１つが、上記電源の遮断等によって正常に更新されなかった場合も、この「データの不整合」に含まれる。
【００１８】
一方、過去においては、ハードディスクのヘッドが、電源の突然の遮断等によってディスク面に接触し、データが破壊されるという問題が生じていたが、現在では、ハードディスクの電源が切れたときに、ヘッドが、ランディングゾーンと呼ばれるヘッド退避用のシリンダに自動的に退避されるので、ここでは、こうした、ヘッドの接触によるデータの破壊の危険性について考慮する必要はない。
【００１９】
従って、本発明の目的は、ＵＮＩＸ（登録商標）システムにおいてシャットダウン処理を必要とせず、どのような状況で電源が遮断されても正常に再起動可能な方法を提供することである。
【００２０】
更に、本発明の目的は、ＵＮＩＸ（登録商標）システムにおいて、どのような状況で電源が遮断されても、更新ファイルの不整合を生じない方法を提供することである。
【００２１】
【課題を解決するための手段】
このために本発明の方法は、２次記憶装置として、読み込み専用媒体と読み書き両用媒体を用意し、アプリケーションから書き込み命令があった場合に、その書き込み対象のファイルを読み込み専用媒体から読み書き両用媒体にコピーして、そのファイルを更新するとともに、そのファイルの、読み込み専用媒体における名前と、読み書き両用媒体における名前との対応付けを対応テーブルに記憶する。
【００２２】
更に、その後、ファイルの書き込み命令があった場合は、対象のファイルが対応テーブルにあるかどうかをチェックし、なければ、前記同様の処理を行い、あれば、対応テーブル内の対応する名前をもとに、読み書き両用媒体の対象ファイルを更新する。
【００２３】
また、こうして作成された読み書き両用媒体内の各ファイルと対応テーブルは、例えば、次の電源オンの際にＯＳが起動された後等に、消去される。
【００２４】
これによって、本発明は、更新されたファイルが、読み書き両用媒体に集められて管理され、次回の電源オン時に全て消去されるので、データの不整合が生じてＯＳ等の再起動ができないといったことを防ぐことができる。
【００２５】
本発明の方法によって、リアルタイムＯＳとして利用できるＯＳは、ＵＮＩＸ（登録商標）として稼働する特定のＯＳに限られるものではない。本発明の方法は、他のＵＮＩＸ（登録商標）オペレーティング・システムやＷＩＮＤＯＷＳ（登録商標）などの、非リアルタイムＯＳ全てに適用可能である。
【００２６】
また、本明細書において、ファイルの書き込み、ファイルの更新、及びそれに類する表現によって表された処理には、ファイルの内容の更新のみならず、ファイルのオーナーやタイムスタンプなどのファイルの属性についての更新も含まれる。
【００２７】
本発明の第１の実施態様によれば、アプリケーションからのファイルのアクセス要求に基づいてファイルのアクセスを制御するファイルアクセス制御方法が提供される。当該方法は、第１の記録媒体に記憶されたファイルについて、前記アプリケーションから更新要求があった場合に、更新要求が、そのファイルについて最初のものであるかどうかを、対応テーブルを用いて判定するステップと、前記判定ステップにより、最初の更新であると判定された場合に、第１の更新処理を行う第１の更新ステップと、前記判定ステップにより、最初の更新でないと判定された場合に、第２の更新処理を行う第２の更新ステップとを有するように構成される。ここで、第１の更新処理とは、前記更新対象のファイルを、前記更新要求により指定された第１のファイル名を用いて、前記第１の記録媒体から検索するサブステップと、前記検索された更新対象のファイルを、第１のファイル名とは異なる第２のファイル名で、第２の記録媒体にコピーするサブステップと、前記第１のファイル名と、前記第２のファイル名を対応付けて対応テーブルに記憶するサブステップと、前記第２の記録媒体にコピーされたファイルを前記更新要求に基づいて更新するサブステップとからなり、第２の更新処理とは、前記更新要求により指定された第１のファイル名に対応する前記第２のファイル名を対応テーブルから取得するサブステップと、前記第２の記録媒体内の、前記第２のファイル名のファイルを、前記更新要求に基づいて更新するサブステップとからなる。
【００２８】
本発明の第２の実施態様によれば、前記第１の実施形態において、前記第１の記録媒体に記憶されたファイルについて、前記アプリケーションから参照要求があった場合に、そのファイルについて、過去に更新要求があったかどうかを、対応テーブルを用いて判定するステップと、前記判定ステップにより、過去の更新がないと判定された場合に、前記参照対象のファイルを、前記参照要求により指定された第１のファイル名を用いて、前記第１の記録媒体から読み出し、その内容を前記アプリケーションに送信する第１の参照ステップと、前記判定ステップにより、過去の更新があると判定された場合に、第２の参照処理を行う第２の参照ステップとを有するように構成される。ここで、第２の参照処理とは、前記参照要求により指定された第１のファイル名に対応する前記第２のファイル名を対応テーブルから取得するサブステップと、前記第２の記録媒体内の、前記第２のファイル名のファイルを読み出し、その内容を前記アプリケーションに送信するサブステップとからなる。
【００２９】
本発明の第３の実施態様によれば、非リアルタイムＯＳによるリアルタイムＯＳ構築方法であって、前記非リアルタイムＯＳが起動した以降、少なくとも１回更新されたファイルを、元のファイル名とは別のファイル名で別の場所に配置するステップと、前記少なくとも１回更新されたファイルについて更新要求があった場合は、対応する前記別の場所に配置された  別のファイル名のファイルを更新するよう制御するステップと、前記ＯＳが起動するまでに、以前に前記別の場所に配置されたファイルを消去するステップとを特徴とするリアルタイムＯＳ構築方法が提供される。
【００３０】
また、本発明の第４の実施態様によれば、アプリケーションからのファイルのアクセス要求に基づいて、ファイルのアクセスを制御するファイルアクセス制御装置が提供される。当該装置は、第１の記録媒体に記憶されたファイルについて、前記アプリケーションから更新要求があった場合に、更新要求が、そのファイルについて最初のものであるかどうかを、対応テーブルを用いて判定する更新判定手段と、前記更新判定手段により、最初の更新であると判定された場合に、第１の更新処理を行う第１の更新手段と、前記更新判定手段により、最初の更新でないと判定された場合に、第２の更新処理を行う第２の更新手段とを有するように構成される。ここで、第１の更新手段とは、前記更新対象のファイルを、前記更新要求により指定された第１のファイル名を用いて、前記第１の記録媒体から検索する検索手段と、前記検索された更新対象のファイルを、第１のファイル名とは異なる第２のファイル名で、第２の記録媒体にコピーするコピー手段と、前記第１のファイル名と、前記第２のファイル名を対応付けて対応テーブルに記憶する対応テーブル記憶手段と、前記第２の記録媒体にコピーされたファイルを前記更新要求に基づいて更新する第１のコピーファイル更新手段とからなる。また、第２の更新手段は、前記更新判定手段により、最初の更新でないと判定された場合に、前記更新要求により指定された第１のファイル名に対応する前記第２のファイル名を対応テーブルから取得する更新ファイル名取得手段と、前記第２の記録媒体内の、前記第２のファイル名のファイルを、前記更新要求に基づいて更新する第２のコピーファイル更新手段とからなる。
【００３１】
また、本発明の第５の実施態様によれば、前記第４の実施形態において、前記第１の記録媒体に記憶されたファイルについて、前記アプリケーションから参照要求があった場合に、そのファイルについて、過去に更新要求があったかどうかを、対応テーブルを用いて判定する更新履歴判定手段と、前記更新履歴判定手段により、過去の更新がないと判定された場合に、前記参照対象のファイルを、前記参照要求により指定された第１のファイル名を用いて、前記第１の記録媒体から読み出し、その内容を前記アプリケーションに送信する第１の参照手段と、前記更新履歴判定手段により、過去の更新があると判定された場合に、第２の参照処理を行う参照手段とを有するように構成される。ここで、第２の参照手段は、前記参照要求により指定された第１のファイル名に対応する前記第２のファイル名を対応テーブルから取得する参照ファイル名取得手段と、前記第２の記録媒体内の、前記第２のファイル名のファイルを読み出し、その内容を前記アプリケーションに送信するファイル読み出し手段とからなる。
【００３２】
また更に、本発明の第６の実施形態によれば、非リアルタイムＯＳを用いたファイルアクセス制御装置であって、前記非リアルタイムＯＳが起動した以降、少なくとも１回更新されたファイルを、元のファイル名とは別のファイル名で別の場所に配置するファイル配置手段と、前記少なくとも１回更新されたファイルについて更新要求があった場合は、対応する前記別の場所に配置された  別のファイル名のファイルを更新するよう制御する制御手段と、前記ＯＳが起動するまでに、以前に前記別の場所に配置されたファイルを消去する消去普段とを有するように構成されるファイルアクセス制御装置が提供される。
【００３３】
【発明の実施の形態】
最初に、図１を参照して、本発明の方法によって元来非リアルタイムＯＳであるＯＳ（例えば、ＵＮＩＸ（登録商標）  ＯＳとして代表的なＬｉｎｕｘ）が、リアルタイムＯＳとして所定の機器に組み込まれる形態について説明する。図１には、その機器についてのブロック図が示されている。当該機器は、特定のものに限定されない。例えば、通常リアルタイムＯＳが組み込まれている携帯電話、携帯型情報機器、計測機器、ロボットの制御部など、多くの機器が考えられる。
【００３４】
また、図１は、本発明の方法を説明するために示されたものであるが、機器への組み込み形態という面では、従来のリアルタイムＯＳと同様である。
【００３５】
ＣＰＵ１１は、各構成要素の動作、及びデータのフローを制御するとともに、必要なデータ処理や計算を行う。また、後述するメモリ１２にロードされたＯＳやアプリケーションのプログラムからの命令を読み出して実行し、所定の機能を実行する。
【００３６】
メモリ１２は、通常はＤＲＡＭやＳＲＡＭといったＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であり、前述のように、各種プログラムが記憶される他、処理に必要な各種データが一時的に記憶される。メモリ１２に記憶されたプログラム、及びデータは、電源が遮断されれば、その内容は消去される。
【００３７】
外部記憶装置１３は、通常ハードディスクのような比較的大容量の２次記憶装置であり、本発明では、これを読み込み専用媒体、及び読み書き両用媒体として用いている。本発明の方法では、この記憶装置を１つ又は複数用いて、読み込み専用媒体と、読み書き両用媒体を構成する。読み込み専用、及び読み書き両用といった機能の区別は、ソフトウエア的に管理されるので、ハードウエアとして書き込みを禁じたり許容したりする機能を有する必要はない。
【００３８】
入力手段１４は通常、ユーザの指示等を入力するためのものであり、例えば、携帯電話や携帯型端末であれば、各種ボタンがこれに相当する。
【００３９】
出力手段１５は、一般的には、ＬＣＤ等からなる表示装置であり、ユーザの指示入力を促したり、所定の情報を表示するのに用いられる。
【００４０】
インタフェース１６は、広い意味で、外部とデータのやり取りを行うためのインタフェースであり、ネットワーク・インタフェースやＲＳ２３２ＣやＵＳＢなどの標準化されたデータ・インタフェース等を含む。また、ＣＤ−ＲＯＭ等の記録媒体に前記ＯＳやアプリケーションのプログラムが格納されている場合は、当該インタフェース１６を介して、外部記憶装置１３にストアすることもできる。
【００４１】
図１に示すブロック図は、リアルタイムＯＳが組み込まれる機器のほんの一例を示したに過ぎない。リアルタイムＯＳは今や多種多様な機器に組み込まれており、図１に示す以外の多くの形態で実施可能なことは当業者には明らかである。
【００４２】
次に、本発明の方法によるファイルのアクセス制御方法の第１の実施形態について説明する。図２は、本発明の方法に従い、ＵＮＩＸ（登録商標）をリアルタイムＯＳに適用したシステムの概念図を示している。
【００４３】
当該システムは、ＵＮＩＸ（登録商標）上で稼働するアプリケーション２１、メインメモリ上にロードされたＯＳカーネル２２、読み込み専用媒体２５、及び読み書き両用媒体２６を含んでおり、更に、ＯＳカーネル２２は、書き込み監視ブロック２３と対応テーブル２４を含んでいる。
【００４４】
読み込み専用媒体２５には、ＯＳ（ここではＵＮＩＸ（登録商標））とアプリケーションのプログラム（ロードモジュール）、及びこれらに関する設定ファイル等が記憶されている。
【００４５】
ＯＳのプログラムが、図１で説明したような機器の電源投入によって、メインメモリにロードされ（ＩＰＬ）、ＵＮＩＸ（登録商標）システムが起動される。その後ユーザ等によって適宜アプリケーションが起動される。
【００４６】
アプリケーション２１が読み込み専用媒体２５内のファイルを参照する場合、その読み込み命令はＯＳカーネル２２内の書き込み監視ブロック２３に送られ、そのブロック２３が、読み込み専用媒体２５から、指定されたファイルを読み出し、アプリケーション２１に送信する。
【００４７】
アプリケーション２１が読み込み専用媒体２５内のファイルを更新する場合、その命令は同様に書き込み監視ブロック２３に送られる。ブロック２３は、その命令が書き込み命令であると判断すると、以前にそのファイルが更新されていなければ、読み込み専用媒体２５から指定されたファイルを読み書き両用媒体２６にコピーするとともに、対応テーブルに両方のファイル名の対応を記憶する。
【００４８】
再びそのファイルがアプリケーション２１によって更新される場合は、対応テーブルを用いて、読み書き両用媒体２６内にある該当するファイルをアクセスし、更新する。
【００４９】
こうして、ＯＳが稼働している間に、前記読み書き両用媒体２６内に記憶されたファイルは、一旦、その機器の電源が遮断されれば（例えば、再度電源が投入された時点で）消去され、メインメモリに記憶されている対応テーブルは、電源の遮断により必然的に消去される。
【００５０】
従って、読み込み専用媒体２５内に記憶された各種ファイルは、読み込みのためにアクセスされたのみで、一切の更新がされておらず、たとえ急に電源が遮断されても、各ファイルの内容に不整合を生じることはない。
【００５１】
次に、図３のフローチャートに沿って、図２に示した書き込み監視ブロック２３の処理を、より詳細に説明する。
【００５２】
書き込み監視ブロック２３は、ＯＳプログラムのメインメモリへのロードと同時に、ＯＳカーネルの一部としてメインメモリ内に常駐し、アプリケーション２１からファイルのＩ／Ｏ要求があるかどうかを監視する（ステップＳ１０）。こうしたＩ／Ｏ要求には、ファイルの内容の参照、及び更新だけでなく、ファイルのオーナーやタイムスタンプなどのファイルの属性の参照、及び更新が含まれる。
【００５３】
ファイルのＩ／Ｏ要求があった場合（ステップＳ１０（ＹＥＳ））、そのＩ／Ｏ要求の対象となるファイル名が、対応テーブル２４のオリジナルファイル名に存在するか否かが判定される（ステップＳ１２）。テーブル内にない場合は（ステップＳ１２（ＮＯ））、ステップＳ１４に進み、そこで、そのＩ／Ｏ要求が、書き込み（更新）であるか否かが判定される。
【００５４】
アプリケーション２１からのＩ／Ｏ要求が書き込みである場合（ステップＳ１４（ＹＥＳ））、ステップＳ１６で、読み込み専用ファイル２５内の対象ファイルの内容が、読み書き両用媒体２６にコピーされ、そのファイルに、元のファイル名（オリジナルファイル名）とは異なる代替ファイル名が付けられる。
【００５５】
次に、ステップＳ１８に進み、そこで、対応テーブル２４に、オリジナルファイル名と代替ファイル名の対が１レコードとして追加される。
【００５６】
図４には、こうして作成された対応テーブル２４の一例が示されている。対応テーブル２４は、オリジナルファイル名と、これに対応する代替ファイル名を記憶する。一例を挙げると、「／ｄｅｖ／ｔｔｙｐ０」というオリジナルファイル名に対応する代替ファイル名として、「／ｒａｍ／ｔｍｐ０２２９８７６」という代替ファイル名が割り当てられている。
【００５７】
従って、ステップＳ１６では、読み込み専用媒体２５内の／ｄｅｖ／ｔｔｙｐ０というファイルが、読み書き両用媒体２６内に、／ｒａｍ／ｔｍｐ０２２９８７６というファイル名でコピーされたことになる。なお、ここではファイル名は、一般的なディレクトリ表示に従っており、例えば、／ｄｅｖ／ｔｔｙｐ０というのは、ルートディレクトリ「／」の下の「ｄｅｖ」というディレクトリの下の「ｔｔｙｐ０」というファイルを表している。
【００５８】
再び、図３のフローチャートに戻ると、ステップＳ１８で両方のファイル名を対応テーブル２４に登録した後、処理はステップＳ１２に戻る。
【００５９】
ステップＳ１２で、Ｉ／Ｏ要求の対象ファイル名が、対応テーブル２４のオリジナルファイル名に存在する場合は（ステップＳ１２（ＹＥＳ））、ステップＳ２２に進む。このように、ステップＳ１２でＹＥＳと判定されるのは、前述したステップＳ１６、Ｓ１８が行われた直後か、あるいは、ファイルのＩ／Ｏ要求が、そのＯＳが起動してから今までに少なくとも１回あった場合である。
【００６０】
ステップＳ２２では、対応テーブル２４から、Ｉ／Ｏ要求の対象となっているファイル名（オリジナルファイル名）に対応する代替ファイル名を取得する。次に、ステップＳ２４では、ステップＳ２２で取得した代替ファイル名を使用して、読み書き両用媒体２６にアクセスし、アプリケーション２１からの命令に従ってファイルを更新する。
【００６１】
ステップＳ１４において、アプリケーション２１からのＩ／Ｏ要求が書き込みでないと判定された場合は（ステップＳ１４（ＮＯ））、読み込み専用媒体２５内の対象ファイルにアクセスし、そのファイルを読み出す。
【００６２】
このようにして、本発明のファイルのアクセス制御方法では、ＯＳが起動した後、初めて更新がされる場合に、その対象ファイルが、読み込み専用媒体２５から読み書き両用媒体２６にコピーされる。また、読み書き両用媒体２６にコピーされ、更新されたファイルは、図２に関連して説明したように、対応テーブル２４とともにその後消去されるため、再度ＯＳが起動される場合には、全く更新のされていない、読み込み専用媒体２５内のファイルだけが使用される。
【００６３】
従って、本発明の方法で取り扱うことができるデータは、更新内容を保持する必要のないデータであり、毎回起動時に参照されるＯＳプログラムなどが、その主たる対象となる。
【００６４】
その反面、ＯＳやアプリケーションに関する環境設定データや、アプリケーションによって更新され、その内容が保持されるようなデータは、本発明の方法の対象外である。一般的には、このように保存の必要があるデータを書き込む場合、以下のような２つの方法が考えられる。
【００６５】
一つは、書き込んでいる期間は絶対に電源がオフとならないようにバッテリーを使用する方法で、電池で動作する携帯電話などが代表例である。また、ＩＳＤＮターミナルアダプタなども非常用電池を搭載することで絶対に電源がオフにならないようにすることができる。
【００６６】
もう一つの方法は、データを複数の記憶媒体に書き戻すとともに、書き戻したデータが正しいか検査できるようにチェックサムも書き込む方法がある。この方法では書き込み中に電源をオフにしても別の記憶媒体に「書き込む前のデータ」もしくは「書き込んだ後のデータ」のどちらかが保存されている。書き込み途中で電源をオフにしたときはチェックサムが合わないので、起動時にチェックサムを調べることで正しいデータを見つけられる。チェックサムを付けた上で複数書き込む方法を用いれば、最悪でも書き込む前の状態で起動することができる。この方法はパーソナル・コンピュータのＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）などでよく用いられている。
【００６７】
次に、本発明の方法による効果を端的に表す状況として、本発明の方法をｔｅｌｎｅｔログイン処理に応用した例について説明する。
【００６８】
図５は、ｔｅｌｎｅｔログインと、それに対応するシステムの処理を表したフローチャートである。
【００６９】
最初に、ステップＳ３０において、ログイン対象のコンピュータにネットワーク経由でのログイン要求があったかどうかを検知する。ログインがあった場合（ステップＳ３０（ＹＥＳ））、そのログインしたユーザの端末にログイン画面を表示し（ステップＳ３２）、ユーザに、そのログイン画面に対してログインユーザ名を入力させることにより、ログインユーザ名を取得する（ステップＳ３４）。
【００７０】
次に、ユーザに、そのログイン画面に対してパスワードを入力されることにより、パスワードを取得する（ステップＳ３６）。その後、ステップＳ３８において、取得したログインユーザ名とパスワードからそのユーザが正当なユーザであるかどうか判定される。不正なユーザである場合は（ステップＳ３８（ＮＯ））、ステップＳ４６に進み、ユーザの端末にエラーを表示して終了する。
【００７１】
正当なユーザであると判断された場合には（ステップＳ３８（ＹＥＳ））、ステップＳ４０において、ファイル「／ｄｅｖ／ｔｔｙｐ０」のオーナーを、前記取得したログインユーザ名に書き換える。このときに、図３で説明した本発明のファイルのアクセス制御方法が適用される。即ち、読み込み専用媒体２５に記憶されているファイル「／ｄｅｖ／ｔｔｙｐ０」が、例えば、前述したファイル「／ｒａｍ／ｔｍｐ０２２９８７６」という名前で読み書き両用媒体２６にコピーされた後に、そのオーナーがログインユーザ名に変更される。ここでの変更は、ファイルの内容自体の更新ではなく、ファイル属性の１つである「オーナー」の内容を更新するものである。
【００７２】
その後、前述のように、対応テーブル２４に、オリジナルファイル名と代替ファイル名を含んだレコードが１件追加される。
【００７３】
次に、前記書換処理が、何らかの原因で失敗した場合（ステップＳ４２（ＮＯ））、処理はステップＳ４６に進み、ユーザの端末にエラーを表示して終了する。
【００７４】
前記書換が成功すると（ステップＳ４２（ＹＥＳ））、ステップＳ４４でそのログインユーザ名によるログインが行われ、ネットワーク上、ｔｅｌｎｅｔを介して、ユーザがログイン先のコンピュータの許可された資源を用いて、一定の許可された操作・処理を行うことができるようになる。
【００７５】
次に、ステップＳ４０で、／ｄｅｖ／ｔｔｙｐ０が、従来の方法で直接更新されると仮定した場合について考えてみる。この更新の途中で、電源が遮断されると、ファイル／ｄｅｖ／ｔｔｙｐ０の内容が更新されているが、そのファイル管理情報が更新されていないといった、不整合な状態となる可能性があり、こうした不整合が生じた場合には、以降、ファイル／ｄｅｖ／ｔｔｙｐ０のアクセス又は参照ができなくなり、結果的にログイン処理ができなくなる可能性がある。
【００７６】
また、このファイル／ｄｅｖ／ｔｔｙｐ０を、単に（ハードウエア的、又はソフトウエア的に書き込みが禁止された）読み出し専用媒体に記憶してシステムを運用したのでは、ファイルが読み出せなくなるという危険性はなくなるが、逆にステップＳ４０のようなオーナーの書換ができなくなり、他のユーザがログインできないという環境になってしまう。
【００７７】
従って、図５のステップＳ４０に関して説明した方法によれば、このような電源遮断時の問題を生ずることなく、どのような状況においてもｔｅｌｎｅｔログインを実施することができる。
【００７８】
次に、本発明のファイルのアクセス制御方法の第２の実施形態について、図６を参照して説明する。
【００７９】
図６は、本発明の方法に従い、ＵＮＩＸ（登録商標）をリアルタイムＯＳに適用したシステムの概念図を示している。
【００８０】
図２に示した第１の実施形態と同様、アプリケーション３１は、ＵＮＩＸ（登録商標）上で稼働するものであるが、ＯＳカーネル３２は、第１の実施形態とは異なり、書き込み監視ブロックと対応テーブルを含んでいない。当該部分は、以下で説明するように、ＨＤユニット３８のコントローラ３３に組み込まれる。
【００８１】
従って、本実施形態では、ＯＳプログラムに修正を加えることなく、本発明の効果を達成できる。また、メインメモリから、書き込み監視ブロックと対応テーブルが除かれているため、その分、メモリ容量を圧迫することがなくなっている。
【００８２】
ＨＤユニット３８は、ハードディスクへのＩ／Ｏを制御するコントローラ３３と、ハードディスクによって構成される読み込み専用媒体３６、読み書き両用媒体３７とからなる。更に、コントローラ３３は、書き込み監視ブロック３４と対応テーブル３５を含んでいる。図６は概念的な表記のため、コントローラ３３内に、書き込み監視ブロック３４と対応テーブル３５が含まれるように示されているが、実際は、コントローラ３３が有するメモリー内に、書き込み監視ブロック３４を実行するプログラムがロードされ、そのメモリー内に対応テーブル３５が記憶される。
【００８３】
また、ここで、書き込み監視ブロック３４と対応テーブル３５は、図２に示す書き込み監視ブロック２３と対応テーブル２４と同様のものである。
【００８４】
こうした構成によっても、図２ないし図５で説明した本発明の方法を実現することができる。この第２の実施形態では、書き込み監視ブロック３４と対応テーブル３５を、実質的にＨＤユニット３８内に含むものであったが、ＯＳカーネル３２とＨＤユニット３８の間に配置される単独の装置としても実施することができる。
【００８５】
【発明の効果】
本発明のファイルのアクセス制御方法によって、シャットダウン処理を必要とせず、どのような状況で電源が遮断されても正常に再起動可能なシステムを、非リアルタイムＯＳを用いて構成することができる。
【００８６】
更に、本発明によって、どのような状況で電源が遮断されても、更新ファイルの不整合を生じない方法が提供される。
【図面の簡単な説明】
【図１】本発明のファイルのアクセス制御方法が適用される機器の構成を示すブロック図である。
【図２】本発明の第１の実施形態のファイルのアクセス制御方法の処理について示す概念図である。
【図３】本発明のファイルのアクセス制御方法の処理を示すフローチャートである。
【図４】本発明の対応テーブルの内容の一例を示す図である。
【図５】本発明のファイルのアクセス制御方法を、ｔｅｌｎｅｔログインの処理に適用した場合の処理を示すフローチャートである。
【図６】本発明の第１の実施形態のファイルのアクセス制御方法の処理について示す概念図である。
【図７】従来のＵＮＩＸ（登録商標）システムにおけるファイルのアクセス方法を概念的に示した図である。
【符号の説明】
１１  ＣＰＵ
１２  メモリ
１３  外部記憶装置
１４  入手手段
１５  出力手段
１６  インタフェース
２１、３１、４１  アプリケーション
２２、３２、４２  ＯＳカーネル
２３、３４  書き込み監視ブロック
２４、３５  対応テーブル
２５、３６  読み込み専用媒体
２６、３７、４３  読み書き両用媒体
３３  コントローラ
３８  ＨＤユニット
【図１】
0003613336.tif 000002
【図２】
0003613336.tif 000003
【図３】
0003613336.tif 000004
【図４】
0003613336.tif 000005
【図５】
0003613336.tif 000006
【図６】
0003613336.tif 000007
【図７】
0003613336.tif 000008