[[計算機]][[プログラム]]の実行を制御する[[ソフトウェア]]であって、 [[スケジュール]], [[デバッグ]], 入出力制御, 課金処理, [[コンパイル]], [[記憶域]]割当, データ管理およびこれらに関連した 諸サービスを行うもの。 ([[JISX0211]]-1994 4.2.54) [1] オペレーティング・システムの役割: :[[資源管理者]]:ソフトウェア資源 (プログラム、データなど)、 ハードウェア資源 ([[CPU]], [[主記憶]], [[ディスク]], [[印刷機]]など) をいつ誰にどれだけ提供するかを決定し、 資源の有効活用を図ると共に[[利用者]]間での資源の共有を実現します。 :[[制御プログラム]]:[[利用者プログラム]]や[[ハードウェア]]を管理します。 :[[仮想機械]]:[[ハードウェア資源]]を[[プロセス]]や[[ファイル]]などに[[抽象化]]し、 [[利用者]]が操作しやすいプログラミング環境を提供します。 [2] オペレーティング・システムの[[核]]の構成要素: :[[プロセス管理]]: [[プロセス]]の生成、消滅、実行中の[[プロセス]]の状態の把握を行います。 :[[スケジューラ]]: [[プロセッサ]]の状態を把握し、[[プロセス]]にいつどれだけ割付けるかを管理します。 :[[同期]]: [[資源]]を共有する[[プロセス]]間の同期を行います。 :[[記憶管理]]: [[仮想記憶]]や[[プロセス]]への[[記憶]]領域の割付けの管理を行います。 :[[割込み制御]]: [[割込み]]の発生を検知し、[[割込み]]の要因を判定して適切な処理を呼出します。 :[[入出力制御]]: [[入出力装置]]の状態を把握し、効率良く利用できるように[[スケジューリング]]します。 :[[ファイル・システム]]: [[二次記憶装置]]上の領域の管理と論理的な[[ファイル]]へのアクセスを提供します。