OSの役割 ~ プログラムが魔法でないとわかればプログラマになれる 24

OSの役割

入力と出力を通してOSについて説明しました。アプリではキーボードやディスプレイのことを深く考えなくてもあらかじめ用意された命令を使って簡単に扱えます。このようにOSにはコンピューターという物理的な装置と中で動くプログラムを繋ぐ役割があります。

OSには他にもたくさんの役割があります。プログラムを書くときに自分自身がプログラムをするのかOSの機能を使うだけなのかを区別する基礎知識としてもう少しOSの役割をみてみましょう。

コンピューターの電源を入れるとすぐに操作できる状態になります。スマートフォンであればアプリが並んだホーム画面が表示されるでしょう。OSがなければ画面が表示されません。真っ黒なままです。画面が表示されるということ自体がOSが動いている証拠です。

アプリを起動する前から画面タッチの入力を受け付けるようになっています。OSが画面タッチの入力を真っ先に受け付けてくれなければアプリ1つ立ち上げることができません。OSには新しいアプリを入れたり削除したりする機能もあります。Wi-Fiに接続する機能もありますし、USBを挿せば自動的に認識して使えるようにする機能もあります。

このようにOSにはアプリを起動する以前に必要となる操作や、コンピューターを使う上で必要となる基礎的な機能を提供する役割があります。

アプリからOSの機能を使う

OSには基礎的な動きをするプログラムがたくさん組み込まれています。OS自身もこれらのプログラムを利用することで成り立ってしますが、アプリからも利用できるようになっています。例えば自分で書いているプログラムで現在時刻を使いたかったとします。時刻合わせのために時刻サーバーと通信するプログラムを書く必要はありません。OSが時刻合わせを行いながら現在時刻を管理しているからです。OSから現在時刻を教えてもらう命令を書くだけで現在時刻を使うことができます。

インターネット接続も同様です。接続する設定や接続状態などはOSが管理していますから、自分自身のプログラムではこのURLに通信するという命令を書くだけです。他にもストレージ(ハードディスクやSSDなどのデータを保存するものの総称)からデータを読み込むのも物理的な機器のことを考える必要はありません。ファイルやフォルダを指定してデータを読み込んだり保存したりする命令を使うことができます。

OSもプログラム

OSとアプリの違いはなんでしょうか。大抵のOSに電卓アプリがもともと入っていますがこれはOSの一部と言えるでしょうか。一般的には電卓アプリはOSの一部と言わないでしょう。では先ほど例に出したWi-Fiの接続はどうでしょうか。これも見方によってはWi-Fi接続するためのアプリですからOSの一部とは言えないかもしれません。ではハードディスクやSSDを認識して使えるようにする機能ならどうでしょうか。

OSというととても大きな塊のようですが、実際には色々な動きをする個々のプログラムをたくさん組み合わせて作られています。OS自体がプログラミング言語を使って開発されているプログラムなのでアプリとOSで役割こそ違いますが根本的には区別できません。どちらもコンピューターで動くプログラムです。OSの仕組みの中で動くように作ったプログラムをアプリと呼んでいるだけです。

<続きは現在執筆中です、最新話にご興味があればフォローお願いします>

>>全記事を見る

この記事が気に入ったらサポートをしてみませんか?