- ベストアンサー
【至急】メモリマップドファイルを利用したメモリの共有
課題で次のような問題が出ました。いくら調べてもぜんぜん見つかりません。 Windowsのメモリマップドファイルを利用したメモリの共有で,幾つかのプロセスが1つのメモリマップドファイルを共有することで起こりそうな問題と,その問題の解決に必要な事柄を述べる。
- kouhei1015
- お礼率46% (39/83)
- その他([技術者向] コンピューター)
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
例えば個室トイレを考えてみてください。 Aさんが最初にトイレに入りました。 でも鍵を掛け忘れました。 そこにBさんが入ってきてしまいました。 大変なことになりました。 個室トイレがメモリマップドファイルです。 鍵は「排他」という言葉に置き換えられます。 答えは出てますが、一応課題らしいのでこれらをキーにして少しは自分で調べてみてください。
関連するQ&A
- 共有メモリ メモリマップドファイルについての質問です。
共有メモリ メモリマップドファイルについての質問です。 visual C++ を用いて、異なるアプリケーション間でデータを共有するプログラムを作っています。 ネットで検索してみたところその内容を説明しているホームページがいくつかあったのですが、どうしても完成にたどり着くことができません。 どのようにしたらよいのでしょうか??
- 締切済み
- C・C++・C#
- 共有メモリをつかうときに・・
・共有メモリに入れるデータ(標準入力)をgetchar関数で得ることの問題点ってなんでしょうか。 共有メモリを使う上で注意することは、参照したいデータが他のプロセスによって変えられたりしないこと・・だと習ったのですがそこまではいいでしょうか。 となると、一文字一文字読み込んでいると、その途中でデータが更新されてしまう恐れがある・・ということですかね??
- ベストアンサー
- C・C++・C#
- 共有メモリの同時アクセスについて教えてください。
2つのプロセスが同時に同じ共有メモリにアクセスすることは可能ですか? ミューテックスや、セマフォなどの排他制御を外せばできたりしませんか? 片方のプロセスで共有メモリから、データの一部をHDDに保存しつつ、それと同時に、もう片方のプロセスで共有メモリからデータの中身を表示させたいのですが・・・。
- ベストアンサー
- C・C++・C#
- Windowsの共有メモリについて
Windows2000を利用しているのですが、Windowsの共有メモリは固定ファイルを利用すると思うのですが、 このファイルは通常どこ(フォルダ)にどのような形(ファイル名)で保存されているのでしょうか?
- 締切済み
- C・C++・C#
- 共有メモリでのデータ読み書きについて
Linuxで共有メモリを複数プロセスで読み書きする場合について質問させて頂きます。 CPUは32ビットで、共有メモリ上の、int(32ビット)の領域を 複数のプロセスで読み書きする場合を想定した場合、 セマフォ等でロックした方が良いのでしょうか? または、CPUが1命令で読み書きすることが可能 (と思っていますが、違っていればご指摘お願い致します)なので、 セマフォ等のロックをかけなくても、問題はないものなのでしょうか? 割りと良くありそうな疑問だと思ったのですが、 ウェブで調べた限りでは該当する質問はありませんでしたので、 質問させて頂きました。 ご回答宜しくお願い致します。
- ベストアンサー
- C・C++・C#
- 共有メモリの使い方について
開発環境:Win2000 SP4 VB6.0 SP5 共有メモリを使用して、別プロセスとデータの受け渡しを したいと思っております。 色々調べた結果、CreateFileMappingを使用するまでは、 理解できたのですが、受け渡すデータについて困っています。 受け取る際のデータの形式が Public Type typXYData xx(20000) As Long yy(20000) As Long End Type のユーザー定義型なっていて、64KBを越える為に宣言が できません。 このような場合はどうやって共有メモリからデータを 受け取ったらよいのでしょうか? 解かる方ご教授お願い致します。
- ベストアンサー
- Visual Basic
- メモリを増設すると共有できる人数って増えますか?
会社のあるPCのフォルダを共有にしているのですが、常駐ソフトを入れてから以前は問題なく見れていたと思われるファイルが見れないことが多いです。これはメモリを増やせば見れますか?常駐ソフトを入れたのとは関係があるのでしょうか?メモリでは解決しないのならばどうすればいいのでしょうか?教えてください。ちなみにWindowsXP環境です。
- ベストアンサー
- Windows XP
- 利用可能な物理メモリとは?
PCのシステム情報を開いたら、次にように表示されました. 合計物理メモリ 1,024,50 MB 利用可能な物理メモリ 517.92 MB まるで、全メモリのうち、たった半分だけが利用可能と受け取れるような表示です. そんなことはないと思います どなたか、この意味を教えていただけませんか. お願いします. 私のPCの環境は、次のとおりです NEC ValueOne PC-GV42XUZG3 Windows XP SP3
- ベストアンサー
- Windows系OS
- 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を利用しています。 最近「デジタルカメラモード」で撮影しているとデータ容量が足りなくて撮れません。 メモリがいっぱいなのかと言うとメモリ使用状況で確かめると「デジタルカメラフォルダ」にはまだまだ入ります。 ところが「共有メモリ」はもうすぐいっぱいになっています。 「デジタルカメラモード」で撮影したのになぜ「共有メモリ」に記録されるのでしょうか? 「共有メモリ」を使う内訳が知りたいです。
お礼
そういうことですか。有難う御座います。