OSの最も核となる機能の部分をカーネルと呼ぶ。
個々のアプリケーションからOSの機能を利用するには、API(Application Program Interface)関数を利用する。
APIは、システムコール、スーパーバイザーコール(SVC)とも呼ばれる。
OSと周辺機器との間の接続には、デバイスドライバを利用する。
【 マイクロカーネル 】
OSの機能のうち、最小限の機能だけを有するカーネル。他の必要な機能はサービスとして実行する。
【 モノリシックカーネル 】
OSの機能をカーネルの中に多く含み、カーネルだけで多くの機能を提供できる。
【 カーネルモード(スーパバイザモード) 】
高い権限をもって処理を実行する。コンピュータ資源のあらゆる部分にアクセスが可能で実行する命令も優先度が高く設定されている。
ユーザーモードとはメモリ空間を隔離して実行されるので、他のアプリケーションの影響を受けにくくOSの本来の処理を実行する。
【 ユーザモード 】
アプリケーションソフトウェアを実行するモードで、比較的権限が低く、アプリケーションに必要な資源だけにアクセスできる。
コンピュータの電源を入れると、CPUはマザーボード上のROMに記憶されているBIOS(Basic Input/Output Software)と呼ばれるプログラムを実行する。
BIOSは入出力装置を使えるようにするプログラムで、その後補助記憶装置に保存されているOSをメモリにロードして、OSを利用できるようにする。
OSには、以下の役割がある。
ジョブ管理
人間から見たコンピュータの仕事の単位をジョブという。
「利用者があるデータをコンピュータに与えて、いくつかの処理を実行し、欲しい結果が得られる」といった場合の、一連の処理のことをいう。
ジョブはいくつかのプログラムを連続して実行していくわけだが、この 1 つひとつの処理をジョブステップという。
OSは、ジョブ管理によって、プログラムを連続実行させ、効率的に利用できるようにしている。
プロセス(タスク)管理
プログラムを実行するコンピュータから見た処理の単位をプロセス(タスク)という。
プロセス(タスク)は、生成されてから、「実行可能状態」「実行状態」「事象待ち状態」の 3 つの状態を繰り返しながら実行される。
複数のプロセス(タスク)があるとき(マルチタスクという)に、どのタスクを処理したらよいのかを制御するのが、プロセス(タスク)管理である。
処理するプロセス(タスク)を選ぶということは、すなわち、どのプロセス(タスク)にCPUタイムを割り当てるかを決める、ということ。
タイムシェアリングシステムや、マルチ(多重)プログラミング下で実行するような場合、必要となる機能である。
マルチプログラミングとは、OSの働きによって、複数のプログラムを見かけ上同時に実行させることをいう。
CPUのアイドルタイムを有効に使うために行う。
メモリ管理
メモリを効率的に利用するように管理する。また、実際のメモリ容量よりも多くの記憶容量を取り扱う仮想記憶の管理なども行う。
ファイル管理
データの入出力や、ファイルの管理のこと。
メインフレームの世界では、データ管理とよぶが、パソコンやワークステーションの OS では、ファイル管理とよばれるのが普通である。
デバイス管理
入出力機器などの周辺機器の管理を行う。
セキュリティ管理
ユーザがコンピュータ資源に何らかのアクセスするときに前もって認証する仕組み。
ユーザに適切なアクセスレベルを付与して、管理者の方針に基づいてアクセスを制限
www.it-shikaku.jp