アプリがコンピュータのメモリを使うには2通りの方法がある
2016年現在、コンピュータに搭載されているメモリは4GBだ。
スマホも2GBのメモリを内蔵している。
私が初めて購入した30万円のMacのメモリ容量は16MBだった。
かつてドッグイヤーと言われたCPU速度は進化をやめてしまった。
パソコン用のOSはWindowsXPを境にして進化をやめてしまった。
スマホ用のOSはiOS5、android5を最後にして進化をやめてしまった。
ここ10年はソフトウェアが大きく進歩してきた恩恵を私たちは受けてきた。
これから10年はロボティクスや有機ELをはじめとするハードウェアの進化が進んでいくだろう。
-
コンピュータにおけるメモリの話しに戻ろう。
4GBのメモリのうちアプリで使うことができるのはその半分だ。
搭載メモリの半分は通常OSによって消費されるからだ。
アプリがコンピュータのメモリを使うには次の2通りの方法がある。
・スタック (オート変数)
アプリがシステムコールやファンクションを実行するときに、CPU内にあるSPレジスタがポイントするメモリ領域に1ワード(ワードとはレジスタの容量サイズのこと)ずつデータを棚に積み木を置くように積んでいく、最後にファンクション実行後に戻るメモリ位置を指定して実行する。
実行が完了したらメモリは自動的に解放される。
スタックは実行するファンクションでしか使用できないのだ。
・ヒープ (静的変数)
アプリがmalloc()などのシステムコールによって山盛りになったメモリから一定量のメモリ領域を確保する。
free()などのシステムコールによって領域を解放する。
クラス・インスタンスはヒープ内に作成される。
ヒープはそのメモリ位置を知ることができればアプリのどこからでも使用することができるのだ。
2023年12月 | ||||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
  |   |   |   |   | 1 | 2 |
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |   |   |   |   |   |   |
iOS
web
?スA?スv?ス?ス?スフ抵ソス?ス??
?スu?ス?ス?スb?スN?ス`?スF?ス[?ス?ス?ス^?ステ搾ソス?スZ?スp
?スV?ス?ス?ス?ス?スミ会ソス
?スT?スE?ス?ス謨ァ?ス?ス
?ス?ス?ス{?スフなりた?ス?ス