2021.10.14ブログ
OSとは何?
皆様、こんにちは。代表の小林です。今までコンピュータについての記事(コンピュータは0、1で計算をする?、コンピュータで扱うデータ、コンピュータで扱う色情報、コンピュータで数値をどうやって表す?、コンピュータで扱う文字情報、マシン語、アセンブリ言語、そして高級言語へ)を数回に渡って書いていますが、今回はOSについて書きたいと思います。聞いたことはある言葉だと思うのですが、OSってなんですか?と聞かれると答えられない方も多いのではないでしょうか?
OS(Operating System)
OSはOperating Systemの略で、Operation(操作)をするシステムということです。何を操作するかというとコンピュータを操作します。主な役割としては、ファイルの管理、メモリ管理、タスク管理、入出力管理の4つがあります。
ファイル管理
ファイルはコンピュータ上でデータを扱う単位のことで、ドキュメント、写真、動画などそれぞれのデータごとにファイルが作られます。ファイルがどの位置にあるかや、どのソフトウェアと紐付けられているかなどを管理しているのがファイル管理です。
メモリ管理
メモリはコンピュータの主要要素の一つです。メモリは何度も記事に出てくるのでご存知かとは思うのですが、データを保存するためのデバイス(電子素子)です。メモリ上にすべてのデータが乗ればよいのですが、コスト的に難しいため乗せることができません。そのため、分割して必要なときだけメモリ上にロードします。この場合、どのデータをメモリのどの番地においたかを管理する必要があります。それを行うのがOSの仕事というわけです。
タスク管理
タスク(task)というのは、日本語でいうと仕事になります。要するに、コンピュータ上で実行される処理(=仕事)がタスクになります。みなさんは意識せずに使っていますが、コンピュータ上ではいくつもの仕事を一度に扱っています。Webブラウザを開きながら、エディタでドキュメントを書くことや、音楽を流して作業している人もいるかも知れません。この手の色々な処理をどのように実行させるかを管理するのがOSの仕事です。実際に処理をするCPUは一つでも、一度に動かせているように見せているのは、短い時間で処理を区切ってタスクを切り替えながら実行しているためです。
入出力管理
マウスやキーボードなどの入力や音、表示などの出力を管理するのもOSの仕事です。何がどこからやってきて、どういう情報が届いたかなどを見ながら適切に処理してくれています。OSが動かないと何もできないというのがわかりますね。スマートフォンのOS(例えばiOSなど)だと、フリック、ピンチインやピンチアウトといった指で操作するあの動作もOSが管理しています。ないと困るのがわかりますよね。
まとめ
今回はOSについて書きました。OSは、日本語の説明では「基本ソフトウェア」と呼んでいるのをよく見ます。「基本」ってなに?と思いませんでしたでしょうか。コンピュータを使う上で当たり前のように使っているので意識しないレベルの内容ですが、重要な役割を担っているのがわかりましたでしょうか。プログラミングの勉強をする上でOSがどういう動きをしているかを理解するのは重要です。お役に立てば幸いです。
プログラミングを学ぶなら「ドクターコード」
ドクターコードはタイムレスエデュケーションが提供しているオンラインプログラミング学習サービスです。初めての方でもプログラミングの学習がいつでもできます。サイト内で質問は無制限にでき、添削問題でスキルアップ間違いなしです。ぜひお試しください。