こんにちは。
立命館大学2回生、情報理工学部に所属している畑野です。
未来電子テクノロジーのインターン生として、マーケティングの業務を行いながらプログラミングコースの受講をしております。
ところで、皆さんはOSについて知っていますか?
パソコンのOSではMAC OSやWindows、Linuxなどが有名ですね。
近年では、スマートフォンやタブレット端末などが急速に普及しており、iOSやAndroidもOSとして広く認知されているのではないでしょうか。
しかし、このようにOSの概念が周知される反面、OSの本質はあまり知られていないように思います。
この記事を読まれている方の中にも、OSの名前は知っているけれど何をしているのかは知らないという方がおられるのではないでしょうか。
かく言う私もOSについて知悉している訳ではありませんが…
□なぜOS?
プログラミングの勉強をしているインターン生がなぜOSについての記事を執筆するに至ったのか…
それは、OSがプログラミングと深く関係しているからです。
そして、この記事を通してプログラミングに対して興味を持ってもらいたいと考えています。
□OSがプログラミングと深く関係している!?
パソコンはOSなしではほとんど何もできません。
そして、OSはプログラミングなしでは動きません。
OSは音楽再生アプリやお絵描きアプリ、テキストエディタなどのアプリケーション(ソフトウェア)の仲間なのです。
□分かりやすい例で考えよう
ちょっと難しかったかもしれませんね。
先ほどのお話を人間の身体で例えてみましょう。
私たち人間は心臓を初めとして様々な臓器によって構成されていますよね。
それぞれの臓器(ソフトウェア)が上手く動作することによって、人間の身体(パソコン)が機能するのです。
つまり、パソコンを動かすためのOSやその他のソフトウェアは、人間の身体で例えると臓器のようなものなのです。
もっと具体的に言うと、脳がOSと似たような機能を持っています。
□OSの仕事とは
単刀直入に言いますと、OSはタイムスケジューリングや列整理をしています。
もちろんこれだけではありません。
ですが、全てを説明すると大変なので、今回はこの二つについて解説します。
□タイムスケジューリング
タイムスケジューリングはその名の通り、「いつ」「どのような仕事をするのか」を制御することですね。
皆さんも日々タイムスケジューリングをしているのでは無いでしょうか。
課題やレポート、卒業論文などの「仕事」は終わらせないとまずいので、上手くスケジューリングしてこなしていくでしょう。
実は、OSもほぼ同じようなことをしています。
OSはパソコンの中でプログラムという「仕事」が全て順調に終わるために、重要なプログラムを先に処理したり(割込み)、一旦別のプログラムを実行したりします(制御移動)。
身近なもので割込みと言えば、やけどをした時の反射が考えられます。
身体を熱いものから遠ざけるために脳が「手を離せ」という指令を出し、これまでしていた行動が止まってしまいますよね。
制御移動は簡単です。
私たちが歩くとき、右足を前に出して左足を前に出しますよね。
右足に制御が移って左足に制御が移る、それを繰り返して「歩く」ことが可能となるのです。
これと似たような考え方が、制御移動です。
タイムスケジューリングは、やけどなどの割込みや歩くための制御移動などによってたくさんのプログラムを上手く動作させているのです。
□列整理(専門用語ではありません。調べても出てこないと思います。)
列整理はもはや言うまでもありませんね。
人気のお店で行列ができると、それを整理するための人がいます。
その人は、必ず早く列に並んだ人から順番にレジに誘導します。
そして、列に並ぼうとしている人はその列の最後に並んでもらうようにします。
OSではプログラム(列に並ぶ人)をたくさん処理しなければならないこともあります。
そのような時にOSは、プログラムを整理(列整理)するのです。
OSは列整理をする人とは違い、早く終わらせたいプログラム(人気の商品を早く買って家に帰りたい人)を列の先頭に持っていくこともあります。
OSの列整理では、順番よりも優先順位を重要視するのです。
□さいごに
OSが何をするものなのか、ざっくりと分かってもらえたでしょうか。
一言で表すと、OSは脳です。
プログラミングを勉強していると、OSを作ることがどれだけ難しいことなのかよくわかります。
というか、どれだけ勉強してもOSなんて作れる気がしません。
やはり、OSを作った人は凄いと思います。
皆さんもぜひプログラミングを勉強してみて、その凄さを体感してみませんか。