• ベストアンサー

【至急】メモリマップドファイルを利用したメモリの共有

課題で次のような問題が出ました。いくら調べてもぜんぜん見つかりません。 Windowsのメモリマップドファイルを利用したメモリの共有で,幾つかのプロセスが1つのメモリマップドファイルを共有することで起こりそうな問題と,その問題の解決に必要な事柄を述べる。

質問者が選んだベストアンサー

  • ベストアンサー
  • ttyp03
  • ベストアンサー率28% (277/960)
回答No.1

例えば個室トイレを考えてみてください。 Aさんが最初にトイレに入りました。 でも鍵を掛け忘れました。 そこにBさんが入ってきてしまいました。 大変なことになりました。 個室トイレがメモリマップドファイルです。 鍵は「排他」という言葉に置き換えられます。 答えは出てますが、一応課題らしいのでこれらをキーにして少しは自分で調べてみてください。

kouhei1015
質問者

お礼

そういうことですか。有難う御座います。

関連するQ&A

  • 共有メモリ メモリマップドファイルについての質問です。

    共有メモリ メモリマップドファイルについての質問です。 visual C++ を用いて、異なるアプリケーション間でデータを共有するプログラムを作っています。 ネットで検索してみたところその内容を説明しているホームページがいくつかあったのですが、どうしても完成にたどり着くことができません。 どのようにしたらよいのでしょうか??

  • 共有メモリをつかうときに・・

    ・共有メモリに入れるデータ(標準入力)をgetchar関数で得ることの問題点ってなんでしょうか。 共有メモリを使う上で注意することは、参照したいデータが他のプロセスによって変えられたりしないこと・・だと習ったのですがそこまではいいでしょうか。 となると、一文字一文字読み込んでいると、その途中でデータが更新されてしまう恐れがある・・ということですかね??

  • 共有メモリの同時アクセスについて教えてください。

    2つのプロセスが同時に同じ共有メモリにアクセスすることは可能ですか? ミューテックスや、セマフォなどの排他制御を外せばできたりしませんか? 片方のプロセスで共有メモリから、データの一部をHDDに保存しつつ、それと同時に、もう片方のプロセスで共有メモリからデータの中身を表示させたいのですが・・・。

  • Windowsの共有メモリについて

    Windows2000を利用しているのですが、Windowsの共有メモリは固定ファイルを利用すると思うのですが、 このファイルは通常どこ(フォルダ)にどのような形(ファイル名)で保存されているのでしょうか?

  • 共有メモリでのデータ読み書きについて

    Linuxで共有メモリを複数プロセスで読み書きする場合について質問させて頂きます。 CPUは32ビットで、共有メモリ上の、int(32ビット)の領域を 複数のプロセスで読み書きする場合を想定した場合、 セマフォ等でロックした方が良いのでしょうか? または、CPUが1命令で読み書きすることが可能 (と思っていますが、違っていればご指摘お願い致します)なので、 セマフォ等のロックをかけなくても、問題はないものなのでしょうか? 割りと良くありそうな疑問だと思ったのですが、 ウェブで調べた限りでは該当する質問はありませんでしたので、 質問させて頂きました。 ご回答宜しくお願い致します。

  • 共有メモリの使い方について

    開発環境:Win2000 SP4 VB6.0 SP5 共有メモリを使用して、別プロセスとデータの受け渡しを したいと思っております。 色々調べた結果、CreateFileMappingを使用するまでは、 理解できたのですが、受け渡すデータについて困っています。 受け取る際のデータの形式が Public Type typXYData xx(20000) As Long yy(20000) As Long End Type のユーザー定義型なっていて、64KBを越える為に宣言が できません。 このような場合はどうやって共有メモリからデータを 受け取ったらよいのでしょうか? 解かる方ご教授お願い致します。

  • メモリを増設すると共有できる人数って増えますか?

    会社のあるPCのフォルダを共有にしているのですが、常駐ソフトを入れてから以前は問題なく見れていたと思われるファイルが見れないことが多いです。これはメモリを増やせば見れますか?常駐ソフトを入れたのとは関係があるのでしょうか?メモリでは解決しないのならばどうすればいいのでしょうか?教えてください。ちなみにWindowsXP環境です。

  • 利用可能な物理メモリとは?

    PCのシステム情報を開いたら、次にように表示されました.   合計物理メモリ   1,024,50 MB 利用可能な物理メモリ  517.92 MB まるで、全メモリのうち、たった半分だけが利用可能と受け取れるような表示です. そんなことはないと思います どなたか、この意味を教えていただけませんか. お願いします. 私のPCの環境は、次のとおりです   NEC ValueOne PC-GV42XUZG3 Windows XP SP3

  • staticのメモリ共有について

    staticについて調べたのですが、その内容があっているのかどうか 間違い・アドバイスなどありましたら是非伺いたいと思います。 よろしくお願い致します。 ------------------------------------------------------------  シェルから起動されるJavaでバッチ処理を行うアプリケーションを  作成していまして、サーバマシンの複数のプロセスから起動されます。  (つまりjavaコマンドが複数回同時に実行されます)  1回の実行の間保持しておきたい値をstaticなクラス変数に格納しています。  そしてそれは、1回の実行の間はずっと同じなのですが、  プロセスごとに異なる値です 。  この時、この1回の実行の間に保持しておきたい"static"な変数は  次のプロセスから実行された時に書き換えられるのか?  という疑問がでたのが始まりです。  マルチスレッドの処理はありません。 ------------------------------------------------------------ 調べたところ、 ■1台で2つ以上のJavaアプリケーションを実行する場合、  それぞれのアプリケーションを個別にjavaコマンドで起動・・・  =>javaコマンド毎に"個別のJVMが"それぞれのプロセス上で動作する。 ■フィールドをstatic指定するとクラス変数となり、  ロードされたクラスごとに"JVM上に"1つしか存在しない変数となる。 ・以上の2点から、staticの変数がメモリ上で共有されるのは  1つのJVM(1プロセス)内での話しであり、他のプロセスから  その値を書き換えられる事はないと考えています。  そして、1プロセス内でのマルチスレッドな処理を行っている場合、  staticな変数の値は注意が必要だけど、  複数プロセスでシングルスレッドな処理を行っている場合、  (性能などの問題上staticにするかどうか良し悪しはあるとしても)  staticな変数の値の不整合について  考慮は不要と考えても宜しいのでしょうか? 経験が浅い為、確信が持てずにいる状況です。 宜しくお願い致します。

    • ベストアンサー
    • Java
  • V601Tの共有メモリ

     ボーダフォンのV601Tを利用しています。  最近「デジタルカメラモード」で撮影しているとデータ容量が足りなくて撮れません。  メモリがいっぱいなのかと言うとメモリ使用状況で確かめると「デジタルカメラフォルダ」にはまだまだ入ります。  ところが「共有メモリ」はもうすぐいっぱいになっています。  「デジタルカメラモード」で撮影したのになぜ「共有メモリ」に記録されるのでしょうか?  「共有メモリ」を使う内訳が知りたいです。