機械とは本当は何なのか、プログラムとは何か、OSは何のためにあるのかを理解しましょう。
このレッスンを Kodokon で開くコンピュータ、スマートフォン、タブレット。どれもまったく同じことをしている機械です。とても単純な命令を、信じられないほどの速さで実行しているのです。その中身のうち、私たちに関係があるのは三つの部品です。プロセッサは働き手です。計算し、比べ、データを動かします。それも一秒間に何十億回も。メモリ(RAMとも呼びます)はその作業台です。プロセッサがいま使っているものを、手の届くところに置いておきます。ストレージ(ハードディスクやSSD)は戸棚です。機械の電源を切ってもファイルを保管し続けます。
メモリとストレージの違いは、初心者がいちばんつまずくところです。台所を思い浮かべてください。作業台は広いけれど、営業が終わればきれいに片づけられてしまいます。一方で戸棚は、昨日のものを今日もそのまま保っています。メモリもこれと同じです。速いけれど、機械の電源が切れると中身は完全に消えます。ストレージは遅いけれど、覚えています。停電で保存前の書類が消えてしまうのは、それが作業台の上にしかなかったからです。
プログラムとは、あらかじめ書かれた命令の並びで、機械がそれを順番に実行していきます。料理のレシピとまったく同じです。一つひとつの手順は、それだけ見れば他愛のないものですが、つながることで結果が生まれます。プログラミングとは、そのレシピを機械がたどれる言葉で書くこと、ただそれだけです。魔法のようなところは何もありません。あいまいさが残らないくらい小さな手順に、作業を分けていくのです。
プログラム「コーヒーを淹れる」:
1. 水タンクに水を入れる
2. カプセルを機械にセットする
3. 抽出口の下にカップを置く
4. ボタンを押す
5. 30秒待つ
6. カップを取り出す残る疑問は一つです。どのプログラムを動かすかを決めているのは誰か、ファイルを整理しているのは誰か、二つのアプリが互いの邪魔をしないようにしているのは誰か。それがオペレーティングシステム、ふつう略してOSと呼ばれるものです。オーケストラの指揮者にあたります。パソコンでの三大OSはWindows、macOS(AppleのMac)、Linuxです。スマートフォンではAndroidとiOSです。あなたのプログラムがハードウェアと直接やりとりすることは決してなく、必ずシステムを通します。
あなた
|
アプリケーション (ブラウザ、ゲーム、コードエディタ)
|
システム (Windows、macOS、Linux)
|
ハードウェア (プロセッサ、メモリ、ストレージ)