【メモリとストレージ】プログラミングに必要な保存と計算の区別
記事更新日:2024-02-02
保存と計算を
区別する
区別する
意味としては、区別してるけど
Deciding(決定)が重要
「保存と計算」の区別
「2つを明確に区別すること」が大事だと言われてる
- store
- 保存
- 取得するときは、「メモリの読み取り」
- 静的な情報
- computation(calculation)
- 計算
- 取得するときは、「関数の呼び出し」
- 動的な情報
保存されたものを取得するのか、計算するのか
それぞれの動きを理解することが、決定に役立つ
1.メモリの読み取り
「メモリの読み取り」とは、データを「特定のメモリアドレスから取得」すること
メモリ(memory)とメモリアドレス
- メモリ
- memory、コンピュータの主記憶装置
- 変数などの小さいものも、すべてメモリに配置される
- 特徴
- 高速にアクセスできる
- 電源が切れたらデータは消える(短期記憶)
- メモリアドレス
- memoryを取り出すための住所
- データがメモリに配置されるときに、アドレスが作られる
- アドレスは、コンピュータのOSが管理している
memory:思い出すこと、思い出、記憶、記憶の機能
コンピュータでは主に、短期記憶の意味をとる
思い出は、常にメモリの中
メモリの割り当て(allocation)・解放(freeing)
メモリの一部分を占領して使い、最後は解放する
- プログラムの実行中
- メモリ割り当て:memory allocation
- 日本語では「メモリ領域の確保」ともいう
- 英語は、割り当ても確保も allocation
- allocationとは、資源(土地、財産、予算、人員、時間)を割り当てること
- メモリ割り当て:memory allocation
- プログラムの終了後
- メモリ解放:freeing memory
メモリを自由にしてあげることが、解放
値の取得(retrieving a value) = メモリへのアクセス(accessing memory)
メモリにアクセスするから、値が取得できる
- テーブルや配列は、メモリに格納されている
- 値の取得時は、メモリアドレスでメモリにアクセスして読み取る
人間はなかなか思い出せないけど、コンピュータはアドレスですぐに思い出せる
住所がないと、手紙も送れない
2.関数の呼び出し
メモリにアクセスするのは同じ、そのあとが違う
- 関数もメモリにあるため、メモリにアクセスして取得する
- 関数の取得後
- 関数の実行中:関数用のメモリが割り当てられる
- 関数の終了後:関数用のメモリは解放される
- メモリの解放によって、計算結果は消える
コンピュータは計算結果を消しちゃう
だから、こっちで結果を管理(保存)するしかない
管理方法を決定するのがストレージ決定(ストレージ管理とも呼ばれる)
つまり、答えは常にわからない
ストレージの決定
デジタルな保存場所としてのストレージ
ストアも、ストレージも、保存場所のこと
- store
- 商品やアイテムの保存、保存場所
- 物理的な場所
- storage
- データを保存する場所
- デジタルな場所
- ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)など
コンビニエンス・ストアは、商品を保存する場所
プログラミングでは様々な意味をもつ
- データを保持する場所は、すべてストレージと見なせる
- データベース、ファイルシステム、コンポーネント、配列など
- データの保存、読み込み、削除を実施することもストレージと呼ぶ
ストレージ管理が、人間の役割
ストレージを管理する、決定する
いろいろ決めなきゃいけない
- ストレージの決定
- どこに保存するかを決める
- 保存する方法を決める
- メモリにどうアクセスするかを決める
- コードの書き方を決める
そのときの内容によって、自分で考えて決める
たとえば、こういうこと
ストレージ決定の例
変数に直接アクセスするのか、クラス・オブジェクト・関数・メソッドを介してアクセスするのか
さまざまな手法は、ストレージ管理の工夫によるものだった
とにかく、どう書くかを決めるために学ぶ
保存と計算を
区別して
ストレージを決定する
区別して
ストレージを決定する
2024-02-02
編集後記:
この記事の内容がベストではないかもしれません。