備忘録まとめ記事：「机」に例えるハードウェアの基本 ～ CPU・メモリ・ディスクの簡単整理 ～

## はじめに
今回は、コンピューターやサーバーにとって必要不可欠な、CPU・メモリ・ディスクといった主要なハードウェアコンポーネントについてまとめます。

:::note warn
***この記事の内容は基本的なものですが、それぞれの違いを理解することで、適切なリソース配分ができるようになると思います。***
:::

また、この記事は未来の自分への備忘録として体系的に整理したものですが、***この情報が他の方の技術的な参考になれば嬉しいです！***

## 書こうと思ったきっかけ
最近、自宅のVirtualBox上にUbuntuサーバーを導入した際、ホストOSのリソースが不足して起動できないというエラーが発生しました。

私は普段、Windows 11をホストOSとして使用し、その上で仮想化ソフトウェアであるVirtualBoxを使い、複数のゲストOSを構築しています。

:::note alert
***しかし、ゲストOSが増えるにつれ、ホストOSやゲストOSのリソース配分を見直す必要性を感じました。***
:::

特に、メモリやディスクの割り当て量について「どのくらいが適切なのか」を調べる中で、自分の中で曖昧だった部分が多いことに気づきました。***この機会に改めて整理しようと思ったのがこの記事を書くきっかけです。***

なお、過去の記事でVirtualBoxやゲストOSについても紹介していますので、興味のある方はぜひ参考にしてみてください。

https://qiita.com/free-honda/items/ca757d6414a8ea344ea1

https://qiita.com/free-honda/items/835300a0a18b206352cc

## CPU・メモリ・ディスクの概要イメージ

コンピュータの構造は、机の使い方に例えると以下のようにイメージできます。

![スクリーンショット 2025-01-03 8.57.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/719d7388-21a5-deb9-53be-e2c49cca681e.png)
引用画像：https://academy.gmocloud.com/wp/know/20150413/929

ITを学び始めた頃、このような概念がなかなかイメージできませんでした。

:::note warn
- **CPU:**
頭脳であり、机の上で作業をする人。データを計算し、指示を出します。

- **メモリ:**
作業台。頻繁に使う道具や資料を一時的に広げておく場所で、広いほど多くの作業を同時に進められます。

- **ディスク（ストレージ）:**
引き出しや棚。必要なデータや道具を長期的に保管しておく場所で、作業台（メモリ）が足りなくなったときにも補助します。
:::

***基本情報技術者試験の問題やYouTubeの解説動画が非常に参考になりました。***

# 1. CPU（Central Processing Unit）

**CPUはコンピュータの**「**頭脳**」ともいえる部分で、すべての計算や制御を行う重要なコンポーネントです。

:::note info
***ソフトウェアの指示を受けて計算を行い、その結果をメモリやディスクに渡します。***
:::


## 主な役割
- プログラムの実行（命令の処理）
- データの計算
- システム全体の制御

## 重要な指標
- **クロック速度**: 1秒間に処理できる命令数を示す（例: 3.5GHz）。
- **コア数**: 並列処理能力を示す（例: デュアルコア、クアッドコア）。
- **スレッド数**: 仮想的なコアを増やして処理能力を向上させる（例: Hyper-Threading）。

## 例
- **高性能CPU**（例: Intel Core i9、AMD Ryzen 9）  
  - ゲームや動画編集など負荷が高い作業に適しています。
- **省電力CPU**（例: Intel Atom）  
  - エネルギー効率が求められるモバイルデバイスやIoTデバイスに適しています。


# 2. メモリ（RAM: Random Access Memory）

**メモリはデータの一時的な保管場所**で、CPUが計算を行う際に必要なデータやプログラムを一時的に保存します。

:::note info
***メモリの容量が大きいほど、多くのデータを高速に処理できます。***
:::

## 主な役割
- データの一時保存
- ソフトウェアの動作をサポート

## 重要な指標
- **容量**: GB単位で表され、作業の同時実行能力に影響します（例: 8GB、16GB）。
- **速度**: MHz単位で表され、データの読み書き速度に影響します（例: 3200MHz）。
- **種類**: DDR4やDDR5など、世代ごとに速度や効率が向上します。

## 例
- **メモリ不足の場合**  
  - 複数のアプリケーションを同時に実行するとシステムが遅くなる。  
- **メモリが多い場合**  
  - 動画編集や仮想環境の使用が快適に行える。


# 3. ディスク（ストレージ）

**ディスクはデータの永続的な保管場所**で、OSやアプリケーション、個人ファイルなどが保存されます。

:::note info
***ディスクはシステムの起動やデータのバックアップなど、コンピュータの基本的な動作を支える重要な役割を担っています。***
:::


## 主な種類
- **HDD（ハードディスクドライブ）**  
  - 大容量で低コストだが、速度が遅い。
- **SSD（ソリッドステートドライブ）**  
  - 高速で耐衝撃性があるが、価格が高め。
- **NVMe SSD**  
  - SSDの中でも特に高速で、最新の規格。

## 重要な指標
- **容量**: GBまたはTB単位で表され、データの保存量を示します。
- **速度**: 読み込み・書き込み速度が性能に大きく影響します。
- **耐久性**: 書き込み可能な総データ量（TBW）で表されます。

## 例
- **HDD**: 大量のデータを低コストで保存する用途に適しています。
- **SSD**: 起動時間やアプリのレスポンスを高速化したい場合に有効です。

## まとめ

最後までお読みいただきありがとうございました。今回は基本的な内容でしたが、改めて知識を体系的に整理することで、自分自身の理解も深まりました。

:::note warn
***最近は技術検証に集中するあまり、基本的な知識の整理や復習を怠りがちでしたが、今回の記事投稿が良い機会となりました。***
:::

***この内容がどなたかの学習や技術理解の助けになれば幸いです！***

## 参考記事

https://www.td-sys.com/column/1939.html

https://qiita.com/mergit/items/98b0753288d8b1422479

https://qiita.com/frozencatpisces/items/529abd26dfb2b807d322

https://qiita.com/kuromame1020611/items/c6128d3e80a70d334691