Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

コンピュータの基本構造

プログラミングを始める前に、コンピュータがどのように動いているかを理解しましょう。

コンピュータの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