コンピュータの基本構造
プログラミングを始める前に、コンピュータがどのように動いているかを理解しましょう。
コンピュータの3つの主要部品
コンピュータは大きく分けて3つの部品で構成されています。
┌─────────────────────────────────────────────────┐
│ コンピュータ │
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────────────┐ │
│ │ CPU │ │ メモリ │ │ ストレージ │ │
│ │ (頭脳) │ │ (作業台) │ │ (倉庫) │ │
│ └─────────┘ └─────────┘ └─────────────────┘ │
│ ↑ ↑ ↑ │
│ └────────────┴──────────────┘ │
│ データのやり取り │
└─────────────────────────────────────────────────┘
1. CPU(Central Processing Unit)- 頭脳
役割: 計算と命令の実行
CPUは「中央演算処理装置」と呼ばれ、コンピュータの頭脳です。
- プログラムの命令を1つずつ読み取って実行する
- 足し算、引き算などの計算を行う
- 条件に応じて次に何をするか判断する
例え: 料理人
料理人が「レシピ(プログラム)」を読んで、「材料を切る」「火にかける」などの指示を1つずつ実行するイメージです。
2. メモリ(RAM)- 作業台
役割: 一時的なデータの保管
メモリは「作業台」のようなものです。
- CPUが今まさに使っているデータを置く場所
- 電源を切ると中身は消える(揮発性)
- 高速にアクセスできる
例え: 料理の作業台
料理人が今使っている材料や調理中の料理を置く作業台です。作業が終わったら片付けます。
3. ストレージ(SSD/HDD)- 倉庫
役割: 永続的なデータの保管
ストレージは「倉庫」のようなものです。
- ファイルやプログラムを保存する場所
- 電源を切っても中身は消えない(不揮発性)
- メモリより遅いがたくさん保存できる
例え: 食材倉庫
使わない材料や保存食を置いておく倉庫です。必要なときに取り出します。
実際の動作の流れ
あなたがプログラムを実行するとき、こんな流れで動きます:
1. ストレージからプログラムを読み込む
[ストレージ] ──読み込み──→ [メモリ]
2. CPUがメモリ上のプログラムを実行
[メモリ] ←──命令取得──→ [CPU]
←──結果保存──→
3. 結果をストレージに保存(必要な場合)
[メモリ] ──書き込み──→ [ストレージ]
なぜこれを知る必要があるのか?
Rustを学ぶ上で、特にメモリの理解が重要です。
Rustは「メモリ安全」を重視する言語で、プログラムがメモリをどう使うかを細かく制御します。Phase 2で「所有権」という概念を学びますが、それはメモリの管理に関係しています。
今は「メモリは一時的な作業台」ということを覚えておいてください。
まとめ
| 部品 | 役割 | 特徴 |
|---|---|---|
| CPU | 計算・実行 | 頭脳、命令を処理 |
| メモリ | 一時保管 | 高速、電源OFFで消える |
| ストレージ | 永続保管 | 大容量、電源OFFでも残る |
確認テスト
Q1. CPUの役割として正しいものはどれ?
Q2. メモリ(RAM)の特徴として正しいものはどれ?
Q3. プログラム実行の正しい順序はどれ?
Q4. 「メモリはファイルを永続的に保存する場所」という説明について正しいものはどれ?
Q5. ストレージの特徴として正しいものはどれ?
次のドキュメント: 02_what_is_programming.md