オペレーティングシステム(OS)
オペレーティングシステムについて
定義
オペレーティングシステム(OS)とは、ハードウェアを管理し、アプリケーションがハードウェアへアクセスするためのインタフェースを提供するソフトウェア。
ハードウェアって?
定義より例で理解したほうが良い気がする。例としては、以下。
- CPU
- メモリー
- ストレージ
- ネットワークカード
インタフェースの提供、の意味
ハードウェアの違いを吸収し統一的なアクセス方法を規定すること。アプリケーションはハードウェアの違い(例えばCPUの違いや、ネットワークカードの違い)を意識する必要はない。具体的には、アプリケーションのプログラミング時にハードウェア依存したコードにならない*1。
OSが管理するリソース
OSは上記のハードウェアだけではなく、ソフトウェアで定義されたリソースの管理とそれらにアクセスするためのインタフェースの提供も行う。 - ハードウェア - ソフトウェアとして定義されたリソース - 例)ユーザー、アクセス権、ファイルシステム、排他制御
参考にしたもの
この @uchan_nos 氏の一連の考察ツイートが非常に参考になる。
「そもそもOSって何だろう?」
https://mobile.twitter.com/uchan_nos/status/1257219121910972423
*1:実際にそういうハードウェアの違いを意識した実装が皆無かは不明。あるかもしれないし、まれにありそうな気もするが筆者がよくわかってない