【コンピューターサイエンス】 コンピューターとはなにか

はじめに

自分はとある企業でエンジニアとしてキャリアを積んできました。 大学では、コンピューターサイエンス(以降CS)を専攻していなかったため、業務の中でちょくちょく知らない(だけどなんとかなる)ような場面に出くわすことがありました。

しかし、今よりも高みを目指そうとしたとき、CSをきちんと理解しないと行けないなと感じ、これからCSを基礎から学び直しをしようと思います。

そこで得た知識をアウトプットするということが目的です。間違いがあればぜひご指摘下さい。

(知見のある方からすると当たり前だよと思うようなことがまとまっていますがあしからず。)

コンピュータを構成する4つの基本機能

今2023年現在、コンピューターは至るところに存在しています。 例えば、電卓のような単純な計算、ECサイトでのショッピング、VRデバイスを用いたゲームなど。

それらを構成する要素は非常に複雑だと考えてしまうかもしれません。 しかし、実はそれはとてもシンプルでほとんどすべてのコンピューターは以下の4つで構成されています。

  • Input
    • キーボードやマウスなど、実世界から受け取るためのデバイス
  • Output
    • モニターやスピーカーなど、コンピューター内部で処理された情報を出力するデバイス
  • Storage
    • 情報を蓄積するデバイス
  • Processor
    • コンピューターに蓄積された情報を処理する電子回路

コンピュータを形成する2つのコンポーネント

コンピュータを形成するコンポーネントとして、 ハードウェアソフトウェア がある。

その名の通り、ハードウェアは形を伴うもので以下が主要なものである。

  • CPU(Central Processing Unit)
    • コンピュータの頭脳。あらゆるプロセスを実行する
  • マザーボード
    • 全コンポーネントを接続する主回路基盤
  • メモリ
  • Input/Outputデバイス

などが挙げられる。

逆にソフトウェアは形を伴わないもので、コンピュータに何をすべきかを指示するプログラムや、データ、命令の集合を指す。 これらはすべてコンピュータ上では、バイナリ(0か1)で管理されている。

ソフトウェアがなければ、コンピュータは機能しないががハードウェアがなければ(実行するもの)、ソフトウェアが機能しないという関係になっているため、どちらも欠かせない存在である。