概要
こちらの記事のPhase0-①です。
コンピュータの仕組みを理解しようとすると、「どこからどこまでが何をやっているのか」が分かりづらい。
コンピュータを低レイヤ(物理)→高レイヤ(アプリ)の順に整理し、それぞれの役割・具体例・関連職種を簡潔にまとめる。
なおこの記事では、生成AI(チャットGPT)とやりとりした内容や自身で調べた内容のみをまとめている。ロードマップに記載した書籍(コンピュータななぜ動くのか)の内容については次回の記事にまとめることとする。
目次
- ① 電気・物理レイヤ
- ② 論理回路レイヤ
- ③ CPU・コンピュータアーキテクチャ
- ④ OS(オペレーティングシステム)
- ⑤ プログラミング言語・ランタイム
- ⑥ ミドルウェア・インフラ
- ⑦ アプリケーション
- まとめ
① 電気・物理レイヤ
何をしているか
電気のON/OFF(0と1)を作る最も基本の層
学ぶ分野
- 電気・電子回路(電圧・電流・抵抗)
- 半導体(トランジスタ)
具体例
- トランジスタ
- 抵抗・コンデンサ
関連職種
- 電気エンジニア
- 半導体エンジニア
関連書籍
- ゼロから学ぶ電子回路
② 論理回路レイヤ
何をしているか
0と1を組み合わせて「計算のルール」を作る
学ぶ分野
- デジタル論理回路(AND, OR, NOT)
- フリップフロップ(記憶回路)
具体例
- ANDゲート
- 加算器
関連職種
- デジタル回路設計
- FPGAエンジニア
関連動画
ゆるコンピュータ科学ラジオより
関連書籍
- ゼロから学ぶディジタル論理回路
③ CPU・コンピュータアーキテクチャ
何をしているか
プログラム(命令)を解釈して実行する
学ぶ分野
- CPU構造(ALU・レジスタ)
- 命令セット(アセンブリ)
具体例
- CPU(Intel, ARM)
- 命令(ADD, MOV)
関連職種
- CPU設計者
- 組み込みエンジニア
補足
- アーキテクチャとは、「構造」とか「構成」みたいなことをカッコつけて言った用語
- CPUの解説は、レストランのたとえがわかりやすかった。メモリ(RAM)はよく作業台にたとえられるが、レストランは閉店すると作業台は綺麗に片付けるからPCをシャットダウンするとメモリのデータは消えるという説明がいくら調べ直しても見つからない。どこで見たんだっけなあ
④ OS(オペレーティングシステム)
何をしているか
ハードウェアをまとめて管理し、使いやすくする
学ぶ分野
- プロセス管理
- メモリ管理
- ファイルシステム
具体例
- Linux
- Windows
関連職種
- OSエンジニア
- インフラエンジニア
⑤ プログラミング言語・ランタイム
何をしているか
人間のコードを機械が理解できる形に変換する
学ぶ分野
- コンパイラ / インタプリタ
- 各種プログラミング言語(C, Java, Python)
具体例
- GCC(Cコンパイラ)
- JVM
関連職種
- ソフトウェアエンジニア
- 言語処理系エンジニア
⑥ ミドルウェア・インフラ
何をしているか
アプリケーションが動くための共通機能を提供する
学ぶ分野
- データベース
- ネットワーク
- サーバー
具体例
- MySQL
- Nginx
関連職種
- バックエンドエンジニア
- SRE
⑦ アプリケーション
何をしているか
ユーザーが直接使うソフトウェア
学ぶ分野
- Web開発
- UI/UX
具体例
- Webアプリ(SNS、ECサイト)
- スマホアプリ
関連職種
- フロントエンドエンジニア
- アプリ開発者
まとめ
コンピュータは以下のように「下から上へ」積み上がっている:
- 電気 → スイッチになる
- 論理回路 → 計算できる
- CPU → プログラムを実行できる
- OS → 使いやすくする
- 言語 → 人間が書けるようにする
- アプリ → ユーザーに価値を提供する