「オペレーディングシステム」カテゴリーアーカイブ

【応用情報】
・OS の種類,特徴,機能,構成を修得し,応用する。
・ジョブ管理,タスク管理,記憶管理などOS の代表的な機能,役割を修得し,応用する。
・プログラムの形態,性質,OS の動向を修得し,応用する。

【基本情報】
・OS の種類,特徴,機能,構成を理解し,担当する事項に適用する。
・ジョブ管理,タスク管理,記憶管理などOS の代表的な機能について,管理の仕組みを
理解し,担当する事項に適用する。

【ITパスポート】
オペレーティングシステム(OS:Operating System)の必要性,機能,種類を理解する。

オペレーティングシステム(OS)

情報処理技術者試験での学習内容

【応用情報】
・OS の種類,特徴,機能,構成を修得し,応用する。
・ジョブ管理,タスク管理,記憶管理などOS の代表的な機能,役割を修得し,応用する。
・プログラムの形態,性質,OS の動向を修得し,応用する。

【基本情報】
・OS の種類,特徴,機能,構成を理解し,担当する事項に適用する。
・ジョブ管理,タスク管理,記憶管理などOS の代表的な機能について,管理の仕組みを
理解し,担当する事項に適用する。

【ITパスポート】
オペレーティングシステム(OS:Operating System)の必要性,機能,種類を理解する。

(1)OS の種類と特徴 ITパスポート 基本情報 応用情報

ソフトウェアの体系におけるOS の位置付けと必要性,汎用機用,パソコン用,リアルタイム用などのOS の種類,特徴を理解する。

用語例:システムソフトウェア,UNIX,PC 用OS,オープンOS,リアルタイムOS,VM(Virtual Machine:仮想マシン),互換性

(2)OS の機能と構成 ITパスポート 基本情報 応用情報

OS の機能,構成,カーネル,言語プロセッサなどを理解する。

用語例:マイクロカーネル,モノリシックカーネル,ミドルウェア,カーネルモード(スーパバイザモード),特権モード,ユーザモード,非特権モード,コンパイラ,インタプリタ,リンケージエディタ,サービスプログラム,仮想記憶管理,プロセス管理,タスク管理,記憶管理,データ管理,運用管理,障害管理,入出力管理,ユーザ管理,割込み,多重(マルチ)プログラミング,ブートストラップ,ネットワークブート,マルチブート,フラッシュブートローダ

(3)ジョブ管理 基本情報 応用情報

一つのまとまった仕事の単位であるジョブと,それを構成するジョブステップの概念,ジョブ管理の手順,ジョブ管理に関連する制御プログラムの役割を理解する。

用語例:ジョブスケジューラ,マスタスケジューラ,セション,省力化,自動運転,システム管理,バックグラウンドジョブ,バッチ処理,cron

(4)タスク管理 基本情報 応用情報

1.タスクと状態遷移

タスクとジョブステップ,スレッドとの関係,タスクの生成から実行,消滅までの状態遷移,ディスパッチャの役割を理解する。

用語例:軽量プロセス,実行可能状態,実行状態,待ち状態,プロセス,スレッド

2.多重(マルチ)プログラミング(マルチタスク)とスケジューリング

多重(マルチ)プログラミングの考え方,タスクのスケジューリングの代表的な方式について,スケジューリングの方法,特徴,スケジューリングにおけるトリガと優先順位の役割,同期制御・排他制御の必要性,実現方法を理解する。また,タスクとタスクの同期,タスク間でのデータの受け渡し,マルチスレッドの考え方,並列処理などを理解する。

用語例:プリエンプティブ方式,ノンプリエンプティブ方式,タイムスライス方式,イベントドリブン方式,フィードバック待ち行列方式,処理時間順方式,優先順,静的優先順位方式,動的優先順位方式,ラウンドロビン,SJF(Short Job First),最短時間順,割込み禁止,マルチCPU,排他制御,FCFS(First Come First Served),タイムクウォンタム,リソーススタベーション,SVC(Super Visor Call)割込み,入出力終了割込み,ディスパッチ

(5)データ管理 基本情報 応用情報

補助記憶装置へのアクセスを装置に依存しないインタフェースで応用プログラムに提供する機能を理解する。

用語例:レコード,スペース管理,カタログ管理,ファイル保護

(6)入出力管理 基本情報 応用情報

入出力装置を効率良く動作させる入出力制御方式の種類,特徴,チャネルの種類,データ転送方式など,入出力制御の仕組みを理解する。また,スプール,バッファリングなどCPUのアイドル時間を減らして効率を上げるための仕組みを理解する。

IOCS(Input/Output Control System:入出力制御システム),スプーリング,バッファプール,入出力ポート(I/O ポート),入出力マッピング(I/O マッピング),メモリマッピング,チャネル,チャネル制御方式,DMA(Direct Memory Access:直接記憶アクセス),チャネルサブシステム,セレクタチャネル,マル
チプレクサチャネル,入出力割込み,メモリマップドI/O,I/O マップドI/O

(7)記憶管理 基本情報 応用情報

1.実記憶管理

記憶領域の管理方式である固定区画方式,可変区画方式など,実アドレス空間の割当て方式の特徴,フラグメンテーションとその対策を理解する。また,主記憶装置を効率良く使うためのスワッピングとオーバレイを理解する。

用語例:実アドレス方式,単一連続割当て方式,記憶域管理アルゴリズム(ファーストフィット,ベストフィット,ワーストフィット),メモリコンパクション,ロールイン,ロールアウト,スワップイン,スワップアウト,セグメント方式,コンパクション

2.仮想記憶管理

実記憶と仮想記憶の関係,仮想記憶の有効性,仮想記憶方式の種類と特徴,動的アドレス変換の仕組みを理解する。また,ページング方式の代表的なページ置換えアルゴリズムについて,ページ置換え手順を理解する。

用語例:ベースアドレス方式,セグメント方式,セグメントページング方式,単一仮想空間方式, 多重仮想空間方式, スラッシング, DAT ( Dynamic Address Translator:動的アドレス変換),TLB(Translation Lookaside Buffer),ページフォールト,ページイン,ページアウト,デマンドページング,ページリプレースメント,LRU,FIFO,ワーキングセット

(8)ネットワーク制御 基本情報 応用情報

ネットワーク制御プログラムの役割,機能,OS における位置付けを理解し,OS が提供する通信インタフェースを理解する。

用語例:ネットワークOS,LAN,WAN,プロトコル制御,リアルタイムOS,通信プロトコル,TCP/IP,OSI 基本参照モデル

(9)運用の管理 基本情報 応用情報

システム始動処理(OS の初期化),システム終了処理,オペレータとの交信,ユーザ管理機能,スケジューリング,システムモニタリングなど,運用に関する容易性や柔軟性を実現する機能を理解する。

用語例:プロファイル,ユーザアカウント,システム利用権,ファイルアクセス権,端末利用権,ディスククオータ

(10)ユーザ管理 基本情報 応用情報

ユーザアカウントの種類,特徴を理解し,アカウントの作成方法,パスワードの設定や変更方法,権限の付与や変更方法などを理解する。また,アカウントを一元管理するためのディレクトリサービスなどを理解する。

用語例:スーパユーザ,root,Administrator,ゲスト,管理者権限,LDAP,Active Directory

(11)セキュリティ制御 基本情報 応用情報

OS には,アクセス制御,フロー制御,推論制御,暗号化制御などのセキュリティ制御機能があることを理解し,OS での制御方法の種類と特徴を理解する。また,ファイル保護,外部からの侵入検出と防御などのセキュリティが施されたセキュリティカーネルの特徴を理解する。

用語例:外部セキュリティ,内部セキュリティ,多重レベルセキュリティ,BLP(Bell-LaPadula)モデル,ロギング機能,オーディット機能,アカウンタビリティ,信頼プロセス, 完全性, 隔離, 認証, 検証可能性, ITSEC ( Information Technology Security Evaluation Criteria)

(12)障害管理 基本情報 応用情報

障害の検出,試験と診断,自動訂正,障害の記録,再構成,リスタート,原因の解決など,障害発生から対策完了までの一連の工程を理解する。

用語例:タイマ監視,CPU 監視装置,ハードウェア障害,ソフトウェア障害,再構成(動的装置再構成,自動CPU 再構成),多重化(入出力パスの多重化,補助記憶装置の二重化,ライブラリの二重化,ディスクの二重書き),システムの多重化(デュアルシステム,デュプレックスシステム),ホットスタンバイシステム,障害回復ルーチン

(13)プログラムの形態と性質 応用情報

プログラムには,ソースプログラム,オブジェクトプログラムなどの形態があること,ソースプログラムの管理対象には,データ構造定義,レコード構造定義などのマクロソースがあることを理解する。また,再入可能プログラム,逐次再使用可能プログラムなどの性質と,それらの使用のされ方を理解する。

用語例:原始プログラム,目的プログラム,コンパイラ,ロードモジュール,ローダ,ライブラリ,動的リンキング,リエントラント,API,ABI(Application Binary Interface),POSIX(Portable Operating System Interface),SCM(Software Configuration Management:ソフトウェア構成管理)

(14)サービスプログラム 応用情報

サービスプログラムの種類と特徴を理解する。

用語例:ユーティリティプログラム,整列プログラム,併合プログラム,フォーマッティング,アーカイバ,データ編集,ファイルコピー,バックアップ

(15)OS の動向 応用情報

OS に関連する最新のトピックス,標準化,技術動向などを理解する。

用語例:移動型小型OS,JavaOS,携帯電話系OS,OSE(Open Systems Environment),ODP(Open Distributed Processing:開放型分散処理),セキュアOS,クラウドコンピューティング用OS

OSの種類と特徴

この記事での学習内容 ITパスポート 基本情報 応用情報

ソフトウェアの体系におけるOS の位置付けと必要性,汎用機用,パソコン用,リアルタイム用などのOS の種類,特徴を理解する。

用語例:システムソフトウェア,UNIX,PC 用OS,オープンOS,リアルタイムOS,VM(Virtual Machine:仮想マシン),互換性

オペレーティングシステム(Operating System:OS)

OSはプログラムの実行を管理するソフトウェアです。作業の運用(オペレーション)に由来しています。

OSは「プログラムを主記憶装置に読み込む」「ユーザが入力した文字を画面に表示させる」などといった、コンピュータの基本的な動作を指示するソフトウェアであり、OSがあることによって、さまざまなアプリケーションソフトを起動できるようになります。

OSの種類

主なOSには次のようなものがあります。

名前インタフェースハードウェア特徴
WindowsGUIPC
(PC/AT互換機)
マルチタスク、プラグアンドプレイ等に対応
PC向けOSのデファクトスタンダード
Mac OSGUIPC
(Macintosh)
マルチタスク、プラグアンドプレイ等に対応
GUIに優れ、マルチメディア系のソフトが豊富
UNIXCUIサーバマルチユーザ、マルチタスク対応OS
ソースコードが公開されており移植性が高い
LinuxCUIPC/サーバPC上でUNIX環境を作るために開発され、無償で配布されるOS

OSの働き

OSの主な働きには次のものがあります。

入出力管理
周辺機器のコントロールやヒューマンインタフェースの提供など、コンピュータが動作する環境を管理します。
タスク管理
タスクの実行管理を行います。一度に複数のアプリケーションを動かすOSの機能を、マルチタスクといいます。
メモリ管理
マルチメディア処理のような大容量のメモリが必要な処理にも対応できるよう、メモリの使用領域を管理して効率良く使えるようにします。
ファイル管理
ディレクトリ(フォルダ)などを使ってファイルを効率よく格納します。
ユーザ管理
ユーザIDの登録・抹消の管理、ユーザ別のアクセス権の管理を行います。

*ハードウェアやOSによって構成される、アプリケーションソフトを実行するための動作環境のことをプラットフォームといいます。

OSの機能と構成

この記事での学習内容 ITパスポート 基本情報 応用情報

OS の機能,構成,カーネル,言語プロセッサなどを理解する。

用語例:マイクロカーネル,モノリシックカーネル,ミドルウェア,カーネルモード(スーパバイザモード),特権モード,ユーザモード,非特権モード,コンパイラ,インタプリタ,リンケージエディタ,サービスプログラム,仮想記憶管理,プロセス管理,タスク管理,記憶管理,データ管理,運用管理,障害管理,入出力管理,ユーザ管理,割込み,多重(マルチ)プログラミング,ブートストラップ,ネットワークブート,マルチブート,フラッシュブートローダ

システムソフトウェア

システムソフトウェアは、基本ソフトウェアとミドルウェアに大別されます。基本ソフトウェアというのは、広い意味でのOSです。

基本ソフトウェアには、狭義のOS、言語プロセッサ、サービスプログラムが含まれます。

ミドルウェア

ミドルウェアはOSとアプリケーションソフトウェアの中間で動作するソフトウェアです。多くのアプリケーションソフトウェアに共通する機能を標準的なインタフェースで提供します。

ミドルウェアの例としては、Java VMなどの仮想マシン環境や、データベース管理システム、クラスタ管理システム、統合運用管理システムなどがあります。

API(Application Programming Interface)

多くのアプリケーションに共通する、ウィンドウ操作や印刷などの機能については、OSやミドルウェアで用意されていることがあります。これらをアプリケーションから、呼び出すための仕様をAPIといいます。

OSの構成

OSはカーネルとカーネルモジュールから構成されています。

カーネルは、メモリ管理やタスク管理、周辺機器の管理などを行うOSの中核的な機能です。

カーネルモジュールは必要に応じてOSに追加される部品で、デバイスドライバなどがあります。

OSの実行モード

OSの実行モードには以下のものがあります。

  • カーネルモード:あらゆるハードウェアにアクセス可能(OSの実行モード)
  • ユーザモード:周辺機器やメモリへのアクセスが制限・監視される(通常のアプリケーションの実行モード)

マイクロカーネル

マイクロカーネルとは、オペレーティングシステムの同心円構造において、タスク管理やメモリ管理などの最小限の機能だけを担うように設計されたカーネルです。それ以外の機能は外側の層として作動します。マイクロカーネルの特徴は、簡潔で保守性が良いことです。

モノリシックカーネル

モノリシックカーネルとは、オペレーティングシステムの同心円構造において、プログラム管理、メモリ管理、入出力管理、ネットワーク管理などの基本的な機能をモノリシック(一枚岩)のように担うように設計されたカーネルです。

言語プロセッサ

言語プロセッサとは、ある文法に従うコンピュータ言語を処理するソフトウェアの総称です。オペレーティングシステムが作業を運用するのに対して、言語プロセッサは作業の段取り(プログラム)を準備するものです。

言語プロセッサには次のような種類があります。

名称特徴
アセンブラアセンブラ言語を機械語へ翻訳する。
コンパイラ高水準言語を機械語へ翻訳する。
インタプリタ高水準言語の文を一つひとつ解釈しながら実行する。
ジェネレータパラメータを入力してプログラムを生成する。
エミュレータ別の種類のコンピュータ用のプログラムを実行する。
トランスレータ高水準言語を異なる高水準言語に翻訳する。

言語プロセッサが入力するプログラムを原始プログラム、言語プロセッサが出力する機械語などのプログラムをオブジェクトモジュールといいます。

サービスプログラム

サービスプログラムとは、コンピュータの基本ソフトウェアの中で、オペレーティングシステム、言語プロセッサ以外の、様々な機能を提供するソフトウェアのことで、ユーティリティプログラムともいいます。

言語プロセッサがプログラムという製品(プロダクト)を提供するのに対して、サービスプログラムは利用者が直接何かを処理するための役務(サービス)を提供します。

プログラム実行の手助けになる機能や、システム運用のための定型業務を行うプログラムなどがあります。

 

ジョブ管理

この記事での学習内容 基本情報 応用情報

一つのまとまった仕事の単位であるジョブと,それを構成するジョブステップの概念,ジョブ管理の手順,ジョブ管理に関連する制御プログラムの役割を理解する。

用語例:ジョブスケジューラ,マスタスケジューラ,セション,省力化,自動運転,システム管理,バックグラウンドジョブ,バッチ処理,cron

ジョブ

ジョブとは、メインフレームコンピュータやサーバに処理させる一連の仕事のまとまりを指し、ユーザから見た仕事の単位となります。一つのジョブはバッチ処理させる幾つかのジョブステップのまとまりで、ジョブ制御言語によって記述されます。
一つのジョブステップはいくつかのタスクで構成されます。タスクはシステム側から見た仕事の単位となります。

ジョブステップ

ジョブステップとは、一つのジョブを構成するより小さな単位です。ジョブとタスクの中間のまとまりです。一つのジョブステップが一つのプログラムの実行に相当します。

ジョブ管理

ジョブ管理はオペレーティングシステムの管理作業の一つであり、ユーザから依頼されるジョブ及びジョブステップの実行を管理します。オペレーティングシステムを構成するジョブ管理プログラムが、次のような処理をします。

  • ジョブの起動
  • ジョブステップの実行順序の管理
  • ジョブの終了の監視・報告
  • 複数のジョブの実行順序の管理
  • 日時指定のジョブの実行や定例的なジョブの反復

なお、ジョブ管理プログラムの構成は下記のようになっています。

  • マスタスケジューラ
  • ジョブスケジューラ
    • リーダ
    • イニシエータ
    • ターミネータ
    • ライタ

マスタスケジューラ

マスタスケジューラは、ジョブスケジューラより上位の制御をするプログラムです。オペレータからの指示をジョブスケジューラに伝えたり、ジョブスケジューラからの状況報告をオペレータに伝えたりします。(ユーザとジョブ管理プログラムとのやりとりを管理する部分)

ジョブスケジューラ

ジョブスケジューラは、待ち行列として並んでいるジョブの実行順序を制御します。

ジョブスケジューラは下記のプログラムから構成されています。

リーダ

ジョブ管理プログラムの最初の処理をするリーダは、ユーザから依頼された一連のジョブ制御分を入力して、解釈するプログラムです。

イニシエータ

イニシエータはジョブに必要な資源を割り振る準備処理をして、プログラムの実行を開始します。

ジョブの実行順序は、下記のようなルールで管理されます。

  1. 原則としてジョブは入力された順序に実行されます。
  2. 優先順位が指定されていれば、それに従います。
  3. 前提となるジョブの正常終了や異常終了に応じて、後継のジョブの実行開始や実行中止が指定されていれば、それに従います。
  4. 開始日時が指定されていれば、それに従います。
ターミネータ

ターミネータは、ジョブが使用した資源を解放する後始末をします。

ライタ

ライタは、ジョブの出力を処理します。例えばプリンタへの出力は速度が遅いので、指定したプログラムの実行中は高速な外部記憶装置へいったん出力して、ライタがプリンタへの出力を引き継ぎます。ジョブの実行とプリンタへの出力を並行処理することによって、コンピュータシステムの効率を向上させます。

ジョブスケジューリング

ジョブ管理プログラムでの、ジョブの処理順序をまとめると、以下のようになります。

  1. リーダが一連のジョブ制御文を入力する。
  2. ジョブスケジューラが、ジョブの実行順序をスケジューリングする。
    1. イニシエータがジョブの開始処理をする。
    2. <ジョブステップとして指定したプログラム群が実行される>
    3. ターミネータがジョブの終了処理をする。
  3. 必要ならマスタスケジューラが、オペレータとジョブスケジューラのやりとりを仲介する。
  4. ライタがジョブの報告を出力する。

タスク管理

この記事での学習内容 基本情報 応用情報

  • タスクとジョブステップ,スレッドとの関係,タスクの生成から実行,消滅までの状態遷移,ディスパッチャの役割を理解する。
  • 多重(マルチ)プログラミングの考え方,タスクのスケジューリングの代表的な方式について,スケジューリングの方法,特徴,スケジューリングにおけるトリガと優先順位の役割,同期制御・排他制御の必要性,実現方法を理解する。また,タスクとタスクの同期,タスク間でのデータの受け渡し,マルチスレッドの考え方,並列処理などを理解する。

用語例:軽量プロセス,実行可能状態,実行状態,待ち状態,プロセス,スレッド、プリエンプティブ方式,ノンプリエンプティブ方式,タイムスライス方式,イベントドリブン方式,フィードバック待ち行列方式,処理時間順方式,優先順,静的優先順位方式,動的優先順位方式,ラウンドロビン,SJF(Short Job First),最短時間順,割込み禁止,マルチCPU,排他制御,FCFS(First Come First Served),タイムクウォンタム,リソーススタベーション,SVC(Super Visor Call)割込み,入出力終了割込み,ディスパッチ

タスクとジョブステップ

ジョブステップは一つのプログラムの実行に相当し、一つのプログラムはいくつかの小さなタスクに分解されて、CPUや入出力チャネルなどのハードウェアで実行されます。

ジョブステップの実行順序は、ユーザがジョブ制御分によって指定することができます。これは人間の作業の日程計画に相当します。

一方、タスクの実行順序はユーザが指定するというよりも、前のタスクの実行終了によるCPUや入出力チャネルの空き具合に応じて、臨機応変に決定されます。

スレッド

タスクと似た仕事の単位には、プロセスやスレッドがあります。これらはオペレーティングシステムの種類によって用語の異なる同義語であることがあります。あるいはハードウェアの並列処理の細かさによる階層関係であることもあります。

典型的には、一つのタスクが幾つかのプロセスで構成され、一つのプロセスが幾つかのスレッドで構成されます。それらが並行処理の単位になり、ハードウェアを有効利用して、性能を向上させます。

タスクの生成から実行

タスクは、ハードウェアで実行される小さな作業単位であり、次のように状態遷移をして処理されます。

タスクが生成されると「実行可能状態」になります。ディスパッチャによって実行可能状態から「実行状態」になります。

タスクの消滅までの状態遷移(実行可能状態、実行状態、待ち状態)

実行状態のタスクは、入出力処理の間は待ち状態になります。入出力処理が終わると実行可能状態になります。
実行状態のタスクは、割り込みがあると実行状態から実行可能状態になります。

どちらの場合も実行可能状態のタスクはディスパッチャによる実行再開を待ちます。

タスクの実行が完了すると、使用した資源が開放され、タスクは消滅します。

ディスパッチャ

ディスパッチャとは並行処理されている複数のタスクやプロセスに、次々とCPUへ割り振るプログラムです。CPUの処理は極めて短時間なので、人間がジョブ制御文で実行順序を計画するよりも、ディスパッチャに実行制御を任せるほうが効率的です。

優先度順方式

スケジューリングの一種である優先度準方式は、各タスクに優先度を設定して、優先度の順に実行する方式です。

即時処理すべき業務と、それ以外の業務を区別することなどに役立ちます。優先度に低いタスクは、待ち時間が長引く可能性があります。

ラウンドロビン方式

スケジューリングの一種であるラウンドロビン方式は、中断されたタスクが待ち行列の最後に並ぶことによって、グルグル回るように順番が来るという単純な方式です。

多重プログラミング(マルチプログラミング)

多重プログラミングとは、1台のコンピュータで複数のプログラムを見かけ上並行処理する方式です。タスク管理などによってCPUと入出力チャネルを並行処理させることによって、ハードウェア資源を有効に利用し、処理能力を向上させます。

多重プログラミングにおけるタスクのスケジューリング方式には以下のような種類があります。

プリエンプティブ方式

プリエンプティブ方式は、本格的なタイムスライス方式です。オペレーティングシステムがハードウェアタイマを用いて、もれなく制御する方式です。

タイムスライス方式

スケジューリングの一種であるタイムスライス方式は、ハードウェア大麻によるクロック割込みによって、一定時間(タイムクォンタム)で次のタスクに切り替える方式です。長時間を要するタスクの終了を、他のタスクが待つ必要がなくなります。

タイムクォンタム

タイムクォンタムとは、タイムスライス方式においてタスクを切り替える一定時間のことです。タイムクォンタムを短くするほど、タスクの待ち時間が減る可能性が高まります。

タイムクォンタムと切替回数は反比例するので、タイムクォンタムを短くするほど、切替処理のオーバーヘッドが増える欠点があります。

ノンプリエンプティブ方式

ノンプリエンプティブ方式とは、簡易的なタイムスライス方式です。オペレーティングシステムの管理のもとに実行されるプログラムの側が、自発的に空き時間を開放する方式です。

オペレーティングシステムの処理が完結になりますが、何らかの理由で空き時間の開放がなされないと、ハードウェア資源の利用効率が落ちるという欠点があります。

マルチタスク(プログラミング)の実行イメージ

以下の2つのプログラムを並行処理させた場合のイメージは以下のようになります。

  • プログラムA:CPU(20ms)→I/O(30ms)→CPU(20ms)→I/O(40ms)→CPU(10ms)
  • プログラムB:CPU(10ms)→I/O(30ms)→CPU(20ms)→I/O(20ms)→CPU(20ms)

データ管理

この記事での学習内容 基本情報 応用情報

補助記憶装置へのアクセスを装置に依存しないインタフェースで応用プログラムに提供する機能を理解する。

用語例:レコード,スペース管理,カタログ管理,ファイル保護

データ管理

データ管理とは、論理的なファイルの入出力の管理です。オペレーティングシステムの一部である、データ管理プログラムが管理します。

特にメインフレームコンピュータのデータ管理では、次のようなことを扱います。

  • 物理的な入出力単位であるブロックを、論理的な入出力単位であるレコードとして扱えるようにする。
  • 固定長レコードや可変長レコードなどの様々な種類のレコードを扱う。
  • ファイルの開始処理および後始末処理をまとめて、オープン処理およびクローズ処理のモジュール呼び出しで済むように抽象化する。
  • 順編成ファイルや区分編成ファイルなどの、様々な編成のファイルを扱う。

 

入出力管理

この記事での学習内容 基本情報 応用情報

入出力装置を効率良く動作させる入出力制御方式の種類,特徴,チャネルの種類,データ転送方式など,入出力制御の仕組みを理解する。また,スプール,バッファリングなどCPUのアイドル時間を減らして効率を上げるための仕組みを理解する。

IOCS(Input/Output Control System:入出力制御システム),スプーリング,バッファプール,入出力ポート(I/O ポート),入出力マッピング(I/O マッピング),メモリマッピング,チャネル,チャネル制御方式,DMA(Direct Memory Access:直接記憶アクセス),チャネルサブシステム,セレクタチャネル,マルチプレクサチャネル,入出力割込み,メモリマップドI/O,I/O マップドI/O

入出力管理

入出力管理とは、コンピュータ本体と入出力装置との間の入出力の管理です。次のような機能があります。

  • オペレーティングシステム全体での標準的な入出力方式と、装置ごとの固有の処理を仲介する。装置ごとの固有の処理のアダプタとなるプログラムをデバイスドライバといいます。
  • データを直接に入出力するのではなく、バッファを経由させることによって、コンピュータ本体と入出力装置を並行処理させて性能を向上させる。バッファとはデータを一時的に保存する場所のことで、バッファ用の領域のことをバッファプールといいます。
  • プリンタなどの低速な装置の入出力データを、高速な外部記憶装置を経由させることによって性能を向上させる。この方式をスプーリングといいます。

入出力制御

入出力制御方式は、各種の入出力装置を効率よく動作させる方式のことです。データ管理や入出力管理と比べると、ハードウェア側の細かな制御です。入出力制御方式には、次のようなものがあります。

プログラム制御方式
プログラム中の入出力命令を実行して、レジスタを経由して、主記憶装置と入出力装置との間のデータのやり取りをします。低速な入出力処理の間、CPUが待たされます。
DMA(Direct Memory Access)方式
DMA方式とはプログラムが入出力命令を実行した時に、DMAコントローラという専用のハードウェアが主記憶装置と入出力装置との間のデータのやり取りをします。CPUと入出力装置が並行処理されます。
チャネル制御方式
チャネル制御装置という専用のプロセッサが。主記憶装置上のチャネルプログラムを解読して、一連の入出力命令とCPUとを並行処理します。元のプログラムはチャネルプログラム単位の処理依頼だけをします。

チャネル

チャネルとは、入出力や通信のためのデータの通路のことです。電気ケーブルに対応する物理チャネルと、一対一には対応しない論理チャネルとがあります。

チャネル制御装置(チャネルコントローラ)は、チャネルを経由してデータをやり取りする簡単なプロセッサです。CPUと入出力装置の並行処理を可能にします。DMAコントローラもこの仲間です。

入出力割込み

外部割込みの一種であり、入出力が完了したり、入出力に異常が起きたりした時に起こります。入出力割込みが起きるまでは、CPUは他のタスクを処理できるので、並行処理によって性能を向上させることができます。

 

記憶管理

この記事での学習内容 基本情報 応用情報

  • 記憶領域の管理方式である固定区画方式,可変区画方式など,実アドレス空間の割当て方式の特徴,フラグメンテーションとその対策を理解する。また,主記憶装置を効率良く使うためのスワッピングとオーバレイを理解する。
  • 実記憶と仮想記憶の関係,仮想記憶の有効性,仮想記憶方式の種類と特徴,動的アドレス変換の仕組みを理解する。また,ページング方式の代表的なページ置換えアルゴリズムについて,ページ置換え手順を理解する。

用語例:実アドレス方式,単一連続割当て方式,記憶域管理アルゴリズム(ファーストフィット,ベストフィット,ワーストフィット),メモリコンパクション,ロールイン,ロールアウト,スワップイン,スワップアウト,セグメント方式,コンパクション、ベースアドレス方式,セグメント方式,セグメントページング方式,単一仮想空間方式, 多重仮想空間方式, スラッシング, DAT ( Dynamic Address Translator:動的アドレス変換),TLB(Translation Lookaside Buffer),ページフォールト,ページイン,ページアウト,デマンドページング,ページリプレースメント,LRU,FIFO,ワーキングセット

実記憶管理

実記憶管理とは、それぞれのプログラムとそのためのデータが使用する主記憶装置の領域の確保および解放の管理です。基本的な領域の区画方法の管理、限られた主記憶装置領域の有効利用、および領域の制約の解消などを行います。

固定区画方式

固定区画方式とは、主記憶管理の区画方式の一種であり、主記憶を固定長の区画として管理する方式です。管理が簡単ですが、それぞれのプログラムが使用する領域は可変なので、使用されない部分が無駄になります。固定区画方式には区画が一つだけの単一区画方式と多重区画方式とがあります。

単一区画方式は、区画が一つだけであり、最も簡単な方式です。

多重区画方式は、複数の区画を設けて、それぞれのプログラムに割り当てます。単一区画方式より少し管理が複雑になりますが、複数のプログラムを処理できます。

いずれの方法でも、プログラムが使用しない部分が無駄になります。

可変区画方式

可変区画方式とは、主記憶管理の区画方式の一種であり、それぞれのプログラムに必要なだけの可変長の領域を割り当てるため、主記憶装置の利用効率が高まります。

各プログラムの実行が終了すると、使用していた領域は開放されます。次々に実行されるプログラムの使用領域の大きさはそれぞれ異なるので、空き領域が細分化されて利用しにくくなるという、フラグメンテーションが発生します。

フラグメンテーション対策

主記憶装置や仮想記憶用の外部記憶装置の空き領域は、次々とプログラムを実行して、領域の確保と開放を繰り返しているうちに、領域が細分化されて再利用しにくくなるという、フラグメンテーションが発生します。

使用中の領域を移動させて隣り合わせに配置し直して、細分化されていた空き領域を隣り合わせにまとめて再利用しやすく処理をデフラグメンテーション又はコンパクションといいます。

ガベージコレクション

ガベージコレクションとは、「ゴミ集め」という意味の言葉であり、プログラムが使用しなくなった主記憶領域を集めて、再利用に備えることです。主記憶領域の再利用に備える処理には次のような種類があります。

  • プログラムの実行終了時に、一括して領域を解放する。解放のためのオーバーヘッドが少なくて済みますが、きめ細やかな再利用はできません。
  • プログラムの実行中に、関数実行などによって、きめ細かく領域の確保と解放を行う。領域の有効利用ができますが、開放のためのオーバーヘッドが多くなります。

ガベージコレクションは、専用のプログラムが使用しなくなった領域を開放するので、領域の有効利用とオーバーヘッドのバランスをとることができます。

オーバーレイ方式(セグメント方式)

オーバーレイ方式は、一つのプログラムを主記憶装置の区画に収まる大きさのセグメントに分割しておき、実行するセグメントをその都度外部記憶装置からロードする方式です。オペレーティングシステムの主記憶管理よりも、プログラム側とプログラム管理が主記憶装置の使用方法を考慮する方式です。

仮想記憶

仮想記憶とは、領域の物理的なアドレスとは別に仮想的なアドレスを設けて管理される記憶領域です。飛び飛びの領域を一連の領域として利用したりします。

フラグメンテーション対策として、プログラムやデータを移動したり、空き領域をまとめたりする必要が無いことと、主記憶装置の全体の大きさや区画の大きさを気にせずに、大きな領域を使用できることが仮想記憶のメリットです。

処理しなければならないプログラムやデータが主記憶装置の空き領域に格納しきれない時、一旦ハードディスク上の仮想記憶領域へ一部を書き出し、必要に応じて主記憶装置と仮想記憶の間でプログラムやデータを入れ替えながら処理を進める方法で、この入れ替えをスワッピングといいます。

補助記憶装置は主記憶装置よりも低速なので、スワッピングが多発すると処理に時間がかかるのが仮想記憶のデメリットです。

スワップイン(ロールイン)

仮想記憶のスワッピングにおいて、プログラムやデータを補助記憶装置から主記憶装置へ読み込むことをスワップイン又はロールインといいます。

スワップアウト(ロールアウト)

仮想記憶のスワッピングにおいて、プログラムやデータを主記憶装置から補助記憶装置へ書き出すことをスワップアウト又はロールアウトといいます。

スワッピングの欠点

仮想記憶と、主記憶装置の容量不足で実行できなかったプログラムを動かせるようになります。その反面、転送速度の遅いハードディスクなどの補助記憶装置に繰り返しアクセスしなければならないという欠点があります。そのため、スワッピングが多発すると、全体の処理速度が低下してしまいます。

スラッシング

スラッシングとは、仮想記憶にロードされたプログラムの数が多すぎたり、巨大なプログラムがロードされたりして、主記憶装置と補助記憶装置との間のプログラムやデータのやり取りが頻繁になり、補助記憶装置が激しく作動していながら、プログラムの実行がなかなか進まないことです。

スラッシングへの対策としては、プログラムの数や大きさを制限したり、主記憶装置を容量の大きいものに取り替えるといったことがあります。

仮想記憶管理

仮想記憶管理とは、仮想記憶を取り扱う管理のことです。ハードウェア側の仮想記憶管理の機構が処理する場合があります。また、オペレーティングシステムの記憶管理プログラムが介在する方式もあります。

仮想記憶管理を行うために必須なのが、動的アドレス変換機構(DAT:Dynamic Address Translator)と呼ばれるものです。

動的アドレス変換の代表的な方式としては、ページングという方式があります。(他の方式として、セグメント方式、セグメントページング方式など)

ページング方式

ページング方式は、主記憶とプログラムを固定長であるページに分割し、効率よく記憶管理する方法です。「大きなプログラムの実行でも、ごく短い時間を見れば、必要なのはほとんど一部のみである」という性質を利用したもので、この場合のプログラムの実行は下記の手順で行われます。

  1. 主記憶とプログラムをページ単位に分割
  2. 実行に必要なページを補助記憶から主記憶にロード(ページイン)
  3. 必要なページが主記憶上にない場合、ページ不在の割り込み(=ページフォルト)が発生します。この時、補助記憶から主記憶城の空きスペースにページインします。
  4. どんどんロードしていくと、主記憶に空きスペースがなくなります。
  5. ページ置き換えアルゴリズムに従い、置き換え対象のページを決定します。
  6. 実行に必要のないページを補助記憶に退避します(ページアウト)
  7. 実行に必要なページを主記憶上にロードします(ページイン)

ページイン、ページアウトの操作を総じて、ページングと呼んでいます。また、ページングが多発する現象をスラッシングといいます。

ページフォールト

ページフォールトとは、必要な仮想記憶のページが主記憶装置上にない状態です。ページフォールトは、割込みの形で仮想記憶管理の機構に知らされます。

ページ置き換え

ページ置き換えとは、ページング方式の記憶管理において、主記憶装置の空き領域が不足した時、ページの置き換えをする処理です。ページ置き換えアルゴリズムが使われます。

ページ置き換えアルゴリズム(FIFO,LRU)

ページ置き換えアルゴリズムとは、ページング方式の記憶管理において、主記憶装置の空き領域が不足した時、ページを置換する処理のアルゴリズムです。

FIFOやLRU、LFUというページ置き換えアルゴリズムがあります。

FIFO(First In First Out)
最初に読み込まれたページを最初に補助記憶装置へ書き出すというアルゴリズムです。処理は簡単ですが、頻繁に使われているページが書き出されると性能が低下します。
LRU(Least Recently Used)
最も長く使われていないページを補助記憶装置へ書き出すというアルゴリズムです。使用履歴が必要なのでアルゴリズムは少し複雑ですが、頻繁に使われているページは主記憶装置にある確率が高いので、性能が良くなります。
LFU(Least Frequency Used)
最も使用頻度の低いページを補助記憶装置へ書き出すというアルゴリズムです。使用履歴が必要なのでアルゴリズムは少し複雑ですが、頻繁に使われているページは主記憶装置にある確率が高いので、性能が良くなります。

セグメント方式

セグメント方式は、プログラムやデータをセグメントという可変の大きさの区分で記憶管理をする方式です。セグメントが仮想記憶やメモリ保護の単位になります。各セグメントの先頭アドレスと大きさは、セグメントテーブルで管理されます。

一定の大きさのページという区分を用いるページング方式より、手間はかかりますが、領域のムダは少なくなります。

セグメントページング方式

セグメントページング方式は、ページング方式とセグメント方式を組み合わせた方式です。セグメントテーブルの各セグメントにページテーブルをリンクします。

ページング方式の簡潔さを活かしつつ、セグメントの種類によってプログラムのセグメントを書き換え禁止にしたり、リードオンリーのセグメントを共有したりすることができます。

ネットワーク制御

この記事での学習内容 基本情報 応用情報

ネットワーク制御プログラムの役割,機能,OS における位置付けを理解し,OS が提供する通信インタフェースを理解する。

用語例:ネットワークOS,LAN,WAN,プロトコル制御,リアルタイムOS,通信プロトコル,TCP/IP,OSI 基本参照モデル

ネットワーク制御

ネットワーク制御とは、コンピュータがネットワークを経由してデータの送信・受信をすることやその際の通信異常などを制御することです。オペレーティングシステムの機能の一つであり、入出力管理が入出力装置を管理するように、ネットワーク制御はネットワークアダプタやLANカードなどのネットワーク用の装置を制御します。高水準の処理はネットワーク管理ともいいます。通信制御・通信管理も類似の概念です。

通信プロトコルはコンピュータ同士がネットワーク経由で通信を行うために、ネットワーク全体で決められた通信手順です。送信するデータの他に、送信先アドレス、発信元アドレスなどを付加する規約です。

OSI参照モデルは国際最標準化機構(ISO)が定めた次の表のような階層モデルの規定です。ネットワークを扱うシステムを階層的にして、全体を簡潔かつ柔軟にするのに役立ちます。

7アプリケーション層ユーザレベルの通信。メールやファイルの転送等。
6プレゼンテーション層データの表現方法。圧縮や文字コード、暗号化など。
5セッション層通信の開始から終了までの1回分の手順。プログラム間の会話単位の制御。
4トランスポート層エラー訂正や再送信などの信頼性の確保。
TCP(Transmission Control Protocol)など。
3ネットワーク層通信経路の選択(ルーティング)
IP(Internet Protocol)など。
2データリンク層装置間の信号の送受信。
スイッチングHUBなど。
1物理層物理的なコネクタの形状や電気的な信号

 

 

運用の管理

この記事での学習内容 基本情報 応用情報

システム始動処理(OS の初期化),システム終了処理,オペレータとの交信,ユーザ管理機能,スケジューリング,システムモニタリングなど,運用に関する容易性や柔軟性を実現する機能を理解する。

用語例:プロファイル,ユーザアカウント,システム利用権,ファイルアクセス権,端末利用権,ディスククオータ

運用に関する容易性や柔軟性を実現する機能

オペレーティングシステムの基本的な昨日は、個々のプログラムの運用(実行)を管理することです。その他プログラム群の全体の運用管理をする機能もあります。それによってユーザが全体の運用をする操作が用意かつ安全になります。また、オプションも選択できて、ユーザ間の違いに柔軟に対応します。

システム指導処理は、システムの開始時にはオペレーティングシステムのさまざまな初期化のプログラム群を一連の手続きにまとめて、ユーザの操作を容易にします。また日常のシステムの指導のときには、基盤となるプログラム群をまとめて実行開始します。

システム終了処理は、電源をオフにする前に、基盤として実行されていたプログラム群をまとめて終了させます。

運用の面倒を見るオペレータのためには、システムと更新する機能、システムの状態を監視するためのシステムモニタリング機能、および定形操作や期日指定の処理を容易にするスケジューリング機能があります。

その他に、ユーザ管理、セキュリティ制御、および障害管理の機能があります。

 

 

ユーザ管理

この記事での学習内容 基本情報 応用情報

ユーザアカウントの種類,特徴を理解し,アカウントの作成方法,パスワードの設定や変更方法,権限の付与や変更方法などを理解する。また,アカウントを一元管理するためのディレクトリサービスなどを理解する。

用語例:スーパユーザ,root,Administrator,ゲスト,管理者権限,LDAP,Active Directory

ユーザアカウントの種類

ユーザアカウントは、ユーザの権利の単位となる「口座」に相当します。ユーザアカウントはユーザ名やパスワードによって識別されます。その他のユーザ固有の情報やオプション指定を含めてプロファイルといいます。

ユーザアカウントには権限の異なる次のような種類があります。

スーパユーザ
システムのすべての操作ができる管理者権限を持つユーザです。オペレーティングシステムによっては、rootやAdministratorといいます。
標準ユーザ
一般的なファイル、フォルダ、およびプログラムへのアクセス、自分のプロファイルの変更、およびスーパユーザが許可するソフトウェアやハードウェアのインストールやアンインストールの権限を持ちます。このような権限の範囲が付与されることによって、一つのシステムを他のユーザと共用することができます。
ゲスト
システムを一時的に使用するユーザです。所定のゲスト用のユーザ名やパスワードを用いてシステムを使用します。ソフトウェアやハードウェアのインストール及びアンインストールはできません。また、ファイルの新規作成、削除、および保存には制限がつきます。

管理者権限

システムのすべての操作ができる権限を管理者権限といいます。あらゆすソフトウェアおよびハードウェアのインストールおよびアンインストール、システムの基盤となる設定、ファイル、およびフォルダへのアクセス、およびそれらの新規作成、変更、削除ができます。また、ユーザアカウントの許可や設定変更などの権限も持ちます。

ディレクトリサービス

ディレクトリサービスは、システムやネットワーク上にあるユーザプロファイルやプリンタ等の共有資源のプロファイルを管理するサービスです。

ここでいうディレクトリとは住所録や案内図という意味を持ちます。

LDAP(Lightweight Directory Access Protocol)

LDAPは、ネットワークのディレクトリサービスにアクセスするためのプロトコルの一種です。ユーザプロファイルや共有資源の扱いを標準化することに役立ちます。

セキュリティ制御

この記事での学習内容 基本情報 応用情報

OS には,アクセス制御,フロー制御,推論制御,暗号化制御などのセキュリティ制御機能があることを理解し,OS での制御方法の種類と特徴を理解する。また,ファイル保護,外部からの侵入検出と防御などのセキュリティが施されたセキュリティカーネルの特徴を理解する。

用語例:外部セキュリティ,内部セキュリティ,多重レベルセキュリティ,BLP(Bell-LaPadula)モデル,ロギング機能,オーディット機能,アカウンタビリティ,信頼プロセス, 完全性, 隔離, 認証, 検証可能性, ITSEC ( Information Technology Security Evaluation Criteria)

セキュリティ制御

セキュリティ制御とは、システムの機密性、安全性、可用性、およびアカウンタビリティを保つための制御です。アクセス制御、暗号化制御、外部からの侵入の防御・検出、ロギング機能、オーディット機能などがあります。これらの制御や機能による記録は、記録を根拠にする説明に利用でき、アカウンタビリティを保ちます。

アクセス制御

ユーザごとにシステムの利用券を定義し、アクセスを管理することです。セキュリティポリシに沿わないアクセスはOSが強制的に制御する、管理者権限をできるだけ分散化するなどの仕組みを設定します。

暗号化制御

情報を暗号化して機密が第三者にもれないようにすることです。

外部からの侵入の防御・検出

ファイアウォール機能によって外部からの不正アクセスを防ぎます。

ロギング機能

ロギング機能は、システムのエラーや警告が発生した時に、その情報をファイルに記録する機能です。システムの安全性および可用性を保つのが主な目的です。

オペレータなどが障害に気づいた時に、ログファイルを分析して、原因を究明することができます。また、信頼できないプロセスが実行されようとした時の警告、あるいは監査の成功や失敗なども記録して、監査にも利用されます。

オーディット機能

オーディット機能(監査機能)は、ユーザのシステムへのアクセスやファイルへのアクセスなどセキュリティに関する事象を記録する機能です。

オーディットの記録はシステムの機密性および安全性が保たれていることの証拠や、機密性や安全性を損なったユーザを特定する証拠になります。

 

障害管理

この記事での学習内容 基本情報 応用情報

障害の検出,試験と診断,自動訂正,障害の記録,再構成,リスタート,原因の解決など,障害発生から対策完了までの一連の工程を理解する。

用語例:タイマ監視,CPU 監視装置,ハードウェア障害,ソフトウェア障害,再構成(動的装置再構成,自動CPU 再構成),多重化(入出力パスの多重化,補助記憶装置の二重化,ライブラリの二重化,ディスクの二重書き),システムの多重化(デュアルシステム,デュプレックスシステム),ホットスタンバイシステム,障害回復ルーチン

障害管理

障害管理は、システムのハードウェア障害やソフトウェア障害に対処する機能です。システムの安全性および可用性を保つのが主な目的です。

障害の検出、自動訂正、障害の記録、システムの再構成、リスタートなどが含まれます。

オペレータやユーザは、障害管理機能を用いて、障害の影響範囲限定、現象把握、切り分け、原因究明、修正、およびシステムの復旧をします。