オペレーティングシステムの機能について

Engineering

オペレーティングシステムはどうやってシステムを監視するのか?

 「オペレーティングシステムは、システム全体を監視してます」と説明されることがありますが、その「監視」という言葉は比喩的な意味で使われています。

 アプリケーションでエラーが発生した時(例えば、0で割り算をしてしまったり、アクセスが許可されていないメモリにアクセスしようとしたとき)、周辺装置との入出力が終わった時、システムのタイマーが一定時間経過した時、といったできごとがあると「割り込み」と呼ばれるハードウェア機構が働きます。割り込みが発生すると、その時点でのCPUの状態がメモリに保存され、割り込みの種類に応じた割り込み処理ルーチンと呼ばれる手続きが実行されます。つまり、ここでオペレーティングシステムに制御が渡されるわけです。割り込み処理ルーチンで必要な処理が実行されると、メモリに保存されていたCPUの状態が元に戻されます。(特に問題がなければ)アプリケーションは実行を再開し、続きの処理を進めることができます。

 つまり、「常にシステムを監視している」という漠然とした理解ではなく、必要が生じたときには(割り込みによって)すぐにアプリケーションの実行が一時停止され、オペレーティングシステム内の適切な処理ルーチンが呼び出されるようになっている、と考えた方がいいでしょう。

参考文献:

「なるほどナットク! OSがわかる本」羽山 博 著 オーム社

ファンクションコール、ランタイムルーチン、ライブラリ、API等について

 システム側で開発・準備されたものをユーザーや開発者側が利用できるモジュールが用意されています。それらは、微妙に定義が異なっていたり、意味が異なっていたりするので一度まとめておこうと思います。

(1) ファンクションコール

(2) ランタイムルーチン

(3) ライブラリ

(4) API

コメント

タイトルとURLをコピーしました