タグ

メモリに関するkwyのブックマーク (5)

  • プログラムがメモリをどう使うかを理解する(1)

    この記事の狙い この記事は、端的に言えば この図が言わんとしていることを理解できるようになるための解説を目指しています。 昨今のプログラミング環境において、メモリの管理方法やその実態は、詳細を知らずとも目的を達成できるようになっています。といっても、実際にはメモリは無尽蔵に使えません。制約が厳しい環境下で動かさねばならないプログラムもありますし、多少潤沢に使える環境であっても、無駄に浪費するよりは、必要最低限のメモリで効率よく動作するプログラムの方が、多くの場面においては良いプログラムと言えるでしょう。 メモリのことなど知らなくてもプログラムを書けるのは一つの理想ではありますが、現実的にはその裏に隠されている(抽象化されている)仕組みを知っておいたほうが有利です。また、昨今のレトロゲームにおけるタイムアタックで駆使されるメモリ書き換えのテクニックなども、何故そういったことが可能なのかを知る

    プログラムがメモリをどう使うかを理解する(1)
  • パソコンユーザーのためのDRAM入門 Part 1 パソコンにおけるDRAM、DRAMの構造 - Qiita

    序 : プロセッサへの嫉妬 DRAMさん「最近みんなCPUGPUにばかりうつつを抜かしやがって…。みんながやれRyz○nだの、FinFET ○nmだの盛り上がって、みんなが次世代プロセッサを楽しみにしている。新しいアーキテクチャやISAが出てきて話題も絶えない。」 DRAMさん「たしかによ…CPUはパソコンの花形だし、GPUの性能上げればゲームのグラフィックスがきれいになるよ。それに比べると俺は目立たない。」 DRAMさん「挙句の果てに、Memory wallだなんて言われて、CPUGPUの足を引っ張る存在だと疎まれている。」 DRAMさん「だけど…だけど…俺がいなかったらパソコンは動かない…!それに、俺だって頑張ってる!お腹にviaを貫通させたりして、CPUGPUの足を引っ張らないようにしている!」 DRAMさん「だから…だから…俺を…DRAMを…見てくれ…!!!」 対象読者 DR

    パソコンユーザーのためのDRAM入門 Part 1 パソコンにおけるDRAM、DRAMの構造 - Qiita
  • Goならわかる Linuxのメモリ管理

    Beyond Engineering: The Future of Platforms @ AllDayDevOps, Oct 2023

    Goならわかる Linuxのメモリ管理
  • メモリとスタックとヒープとプログラミング言語 | κeenのHappy Hacκing Blog

    κeenです。 今回の話は別にRustに限ったものではないのですが、よくRustを始めたばかりの人がスタックとヒープが分からないと言っているのをみかけるので少しメモリの話をしますね。 厳密な話というよりは雰囲気を掴んで欲しいという感じです。 メモリは配列 プログラム(プロセス)のメモリには実行するプログラム(機械語)やグローバル変数/定数、関数の引数やローカル変数、その他プログラムで使うデータ領域などを置きます。 プロセスに割り当てられるメモリというのは、1つの巨大なのっぺらな配列みたいなものです。サイズも決まってます。64bit OSなら2^64 byteです。 0 2^64 +--------------- ----+ | | | | | ~~ | | +--------------- ----+ これは仮想的なメモリなので実際の物理メモリに2^64 byteの配列がドンと確保される訳

    メモリとスタックとヒープとプログラミング言語 | κeenのHappy Hacκing Blog
  • メモリを使用する、とは

    この投稿は「Windows & Microsoft技術 基礎 Advent Calendar 2015」の16日目の記事です。 稿では、Windows(広く一般のOSでも、基礎的な知識としては適合する)の、「メモリ使用量」の取り扱いについてまとめたものです。特に、コードからメモリを使用するとはどういうことなのかがちょっとでも明らかになれば良いかなと思っています。 普通の人、普通のプログラム、普通のプロセス .NET環境であったり、C++で各ネイティブなコードであったり、通常プログラムを書くと「ユーザープロセス空間」で動くコードがビルドされます。C#でコードを書けば、newしたりすることで、「どこかにあるメモリ」を適量確保し、それを使用可能にしてくれます。 このメモリ使用量はどのように決まってくるのか? 例えば以下のコード: var data = new byte[10 * 1000 *

    メモリを使用する、とは
  • 1