タグ

programmingとメモリに関するfjwr38のブックマーク (4)

  • Blogger

    Google のウェブログ公開ツールを使って、テキスト、写真、動画を共有できます。

  • 共有メモリとファイルシステム――その1

    今回は、mmap(2)で共有メモリを実装すると処理能力の向上が見込めること、そしてその実装方法にはいくつもの選択肢があることを紹介し、次回以降の比較につなげていく。(編集部) 共有メモリ活用方法のバリエーション 第5回では、プロセス間でデータをやりとりする方法としてパイプpipe(2)と共有メモリmmap(2)の双方を取り上げ、それぞれの利点・欠点について紹介した。 パイプpipe(2)を使う方法は実装がシンプルだし、概念としても分かりやすい。どのタイミングでロックがかかるかも明確だ。一方、小さいサイズのデータを何度もやりとりするようなケースでは、大量のread(2)/write(2)システムコールが発生し、効率が悪いことも紹介した。 共有メモリmmap(2)を使う方法は、pipe(2)/read(2)/write(2)と比べて実行速度の面で利点がある。共有メモリを使うと、それぞれ独立した

    共有メモリとファイルシステム――その1
  • 変数

    変数はメモリに確保される 変数と言うとデータを入れておく箱と言う説明がよく出てきます。まったくその通りなのですが、C言語を使っていく上ではもう一歩踏み込んでコンピューター上でどうなっているのかを知っている必要があります。当たり前のことですが、変数はメモリ上に確保されます。コンピューター上のメモリはハード的には全部同じでもソフト的には領域を区切ってそれぞれに役割を割り振って動作していますのでその理解が重要です。 きちんと理解すればC言語で起こりがちなメモリ関連の障害やバグに適切に対応できるようになります。 C言語のメモリの使い方 C言語でメモリを理解する場合大雑把にコード(code)、データ(data)、ヒープ(heap)、スタック(stack)の4つに分けて考えることができます(実際にはさらにいくつかに分かれる場合があります)。C言語の入門書ではこの話は滅多に見かけませんが初心者と中級者

  • CODE コードから見たコンピュータのからくり: 本

    CODE コードから見たコンピュータのからくり: 本
  • 1