はじめに
プログラマーの皆さんは自分が書いたコードがどのようにして動いているのか疑問に思ったことがございませんか?
今回は 「コンピュータはなぜ動くのか」 という本を読んで知ったことを書きたいと思います。
まだ本の前半部分しか読めていないのですが、とても面白かったです!
多分本の後半を読む頃には前半部分を少し忘れてしまっているかもしれないので、忘れないように新しい知見や感じたことなどを簡単にまとめたいと思います!
コンピューターは何でできている??
コンピュータには回路図というものが必ず存在します
回路図には以下の4つが含まれています
- CPU
- 処理を行う
- クロック・ジェネレーター
- CPUが動作するためのリズム(クロック)を生成し、タイミングを調整する
- メモリー
- CPUが高速にデータを扱うための場所。データの読み書きは速いけど、電源が切れるとデータが消える
- I/O
- 入出力を担当し、ハードウェア(キーボードやディスプレイなど)とコンピュータのやりとりを行う
(回路図には含まれていませんが…)
- ハードディスク
- データを長期間保存するための場所。データの読み書き速度はメモリより遅いが、電源が切れてもデータは保持される
回路図はどのように動くか
今回はパソコンで起動するところからGoogleにログインする時の順番を追っていきましょう!!
1.起動ボタンを押す
ユーザーがPCの起動ボタンを押すと、I/O装置が動作を開始します。
2.BIOS/UEFIが起動
起動ボタンを押すと、まずBIOSまたはUEFI(基本的な入出力システム)が動作し、ハードディスクやメモリなどのハードウェアが正常に動いているかチェックします。
3.OSがメモリにロードされる
ハードディスクからOSがメモリに読み込まれ、CPUによって処理が行われ、PCのホーム画面が表示されます。
4.Googleを起動
ホーム画面が表示されたら、ユーザーがブラウザを開き、Googleにアクセスします。このとき再びI/Oが動作し、ブラウザが起動します。
5.Googleのページが表示される
Googleのソースコードがインターネット経由でサーバーから取得され、CPUがそれを処理して画面に表示します。
6.ログイン情報の入力
ユーザーがGoogleのログイン画面でメールアドレスやパスワードを入力し、ログインボタンを押します(このときもI/Oが動作しています)。
7.サーバーにアクセス
入力された情報がインターネット経由でGoogleのサーバーに送信され、サーバー側でユーザーの情報が確認されます。
8.トークンの発行
ユーザー情報が正しければ、サーバー側でセッションが作成され、トークンが発行されてPCのメモリにキャッシュされます。
9.ログイン成功
トークンを基にユーザーは認証され、Googleにログインできます。
さいごに
今回、PCの起動からGoogleにログインするまでの流れを見てきました。コンピュータは多くの複雑な処理を背景に動作しており、ハードウェアとソフトウェアが密接に連携しています。CPU、メモリ、I/Oなどがそれぞれの役割を果たし、私たちが普段使っているPCが正常に動いていることを理解することができました。
コンピュータが動く仕組みを知ることは、プログラムを書く際にも役立ちます。
「コンピュータはなぜ動くのか」を読み終えたらまた、気づいたことなどまとめた記事を書きたいと思います!!