サイトアイコン ymb

ソフトウェア



ソフトウェア
  1. オペレーティングシステム
  2. 言語処理プログラムとプログラム言語
  3. ファイル編成とアクセス法

     
 ソフトウェア体系
     |
     |–オペレーティングシステム(OS)
     |    |
     |    |–制御プログラム
     |    |
     |    |–処理プログラム
     |         |
     |         |–言語処理プログラム
     |         |
     |         |–サービスプログラム
     |         |
     |         |–アプリケーションプログラム
     |
     |
     |
     |–ユーザープログラム
     |
     |–データ
     |
     |–ドキュメントマニュアル

1.オペレーティングシステム
  • オペレーティングシステムの概念

     オペレーティングシステム(OS)は、コンピュータのプログラムの実行を制御する
    ソフトウェアである。コンピュータのユーザーが利用するプログラム(ユーザープログラム)
    はオペレーティングシステムの管理下で実行される。
  • オペレーティングシステムの構成

     オペレーティングシステムは、制御プログラムと処理プログラムに分類され、
    制御プログラムの制御のもとで処理プログラムが実行されることになっている。

    オペレーティングシステム
        |
        |–制御プログラム
        |     |
        |     |–監視プログラム
        |     |
        |     |–ジョブ管理
        |     |
        |     |–タスク管理
        |     |
        |     |–データ管理
        |
        |–処理プログラム
              |
              |–言語処理プログラム
              |
              |–サービスプログラム
              |
              |–アプリケーションプログラム


    (1) 制御プログラム

        制御プログラムは、ハードウェア資源の状態の監視、制御と、処理プログラム
       の実行の監視、制御を行っている。
       制御プログラムは、さらに監視プログラムと、ジョブ管理機能、タスク管理機能、
       データ管理機能を果たすプログラム群に分類される。

    (2) 監視プログラム

        監視プログラムは、ハードウェア資源の利用を監視し、資源の最適割り当てを
       行っている。

    (3) ジョブ管理

        ジョブはユーザーからみた仕事の単位のことであり、一般に複数のプログラムから
       構成されている。ジョブを構成する各処理ステップをジョブステップという。
     
       【ジョブ管理プログラムの構成】

       ①リーダの機能
          JCL(ジョブ制御言語)やプログラムなどの一連のデータの集合を
         入力ストリームという。リーダは読み取りプログラムともいい、入力ストリームを
         システム入力装置(SYSIN)から読み取り、スプールデータセットに格納する。

       ②イニシエータの機能
          ジョブの実行段階において、受け持ちのジョブクラスの入力ジョブ待ち行列の
         中からジョブ優先順位が最も高いジョブを選択し実行する。

       ③ターミネータの機能
          ジョブステップの実行が終了した後の作業を行う。後続のジョブステップが
         ある場合は、ジョブステップで使用した資源を解放して再びイニシエータに制御
         を渡す。後続がない場合は、資源を解放した後、ジョブを終了し、終了した
         ジョブを出力ジョブ待ち行列に登録する。

    (4) タスク管理

        制御プログラムが管理する仕事の単位をタスクという。コンピュータに対しジョブ
       として与えられた仕事は、制御プログラムによってタスクとしてとらえられ制御される。

       ①タスクの状態管理
         タスク管理プログラムは、ハードウェア資源をジョブクラスおよび優先順位に
        従ってタスクに割り当てる。タスクの状態管理の機能は、タスクの生成、状態の
        制御、消滅までの一連の動作を管理する。

       ②タスクの実行制御
         CPUを有効に利用するために、実行可能状態のタスクの中から優先順位の
        高いタスクを選択し、CPUの使用権を与え実行状態に移すことをタスクの実行
        制御機能という。

       ③割り込み制御
         割り込み制御機能は、入出力要求などの特定の状況が発生したとき、それに
        対応するたねに、現在実行中の処理を一時中断し、必要な処理を優先的に行う
        ものである。

       ④記憶割り振り
         記憶割り振りは、主記憶領域をプログラムやデータに割り振ることである。
        動的記憶割り振りは、プログラムおよびデータに対して割り当てられる記憶領域
        が、必要が生じた時点において適用される基準に従って決められる。

    (5) データ管理

        データ管理機能は、主としてデータセットの制御機能とアクセス機能のことをいう。

       ①データセットの制御機能
         データセット制御は、ファイル制御ともいい、データセットの名称などをカタログ
        (ファイル名、ファイル編成などの登録簿)へ登録し、それを使用してデータセット
        が補助記憶装置のどこに登録されているかつきとめ、データの読み書きを行う
        機能である。

       ②データセットのアクセス機能
         データセットへのアクセスとは、ファイル上に登録されているデータを読み書き
        することをいう。プログラムによるファイルのレコード(読み込みの単位)の
        読み込み・書き出しを行う方法をアクセス法という。
        データセットのアクセス機能とは、データセットの編成方法(順編成、索引編成等)
        に対応したデータセットの作成と、そのデータセットに対してデータの書き出し、
        読み込み、置換、追加、削除などを行うものである。


2.言語処理プログラムとプログラム言語
  • 言語処理プログラムの概念

     プログラマがプログラム言語を使って記述したプログラムのこと原始プログラム
    (ソースプログラム)という。これはそのままではコンピュータ上で実行できないので、
    オペレーティングシステムに含まれる言語処理プログラムによってコンピュータが理解
    できる機械語のプログラムに翻訳する必要がある。この機械語のプログラムを
    目的プログラム(オブジェクトプログラム)という。

    原始
    プログラム

    プログラム
    言語

    言語処理
    プログラム

    翻訳

    目的
    プログラム

    機械語

  • 言語処理プログラムの種類

     言語処理プログラムとしては、コンパイラ、アセンブラ、インタプリタ、ジェネレータが
    ある。

    (1) コンパイラ
        自然言語に近い表現で理解しやすいFORTRAN、COBOL、ALGOL、PL/I
       などのコンパイラ言語で記述された原始プログラムを翻訳して目的プログラムを
       作り出すことをコンパイルという。そして、コンパイルを行う言語処理プログラムを
       コンパイラと呼んでいる。

    (2) アセンブラ
        アセンブラ言語を使って記述された原始プログラムを機械語の目的プログラムに
       翻訳することをアセンブルという。そして、アセンブルを行う言語処理プログラムが
       アセンブラである。

    (3)インタプリタ
        原始プログラムの命令を、プログラムの実行に応じて1命令ごとに機械語に
       翻訳し、直接実行するプログラムをインタプリタと呼んでいる。

    (4) ジェネレータ
        ジェネレータは、パラメータを受け取って、ある骨組み(スケルトン)に従った機械語
       のプログラムを自動的に生成する言語処理プログラムである。

  • プログラム言語の体系

     プログラム言語には、広範囲な問題を処理するのに適した汎用プログラム言語と、
    特定の分野の問題を解決するために開発された特殊問題向きプログラム言語に
    大別される。
     そして、汎用プログラムはさらに、低水準言語(機械向き言語)と高水準言語
    (問題向き言語)に分類される。

    プログラム言語
        |
        |–汎用プログラム言語
        |     |
        |     |–低水準言語
        |     |     |
        |     |     |–機械語
        |     |     |
        |     |     |–アセンブラ言語
        |     |
        |     |–高水準言語
        |           |
        |           |–非手続き向き言語
        |           |       |
        |           |       |–PRG
        |           |
        |           |–手続き向き言語
        |                  |
        |                  |–FORTRAN
        |                  |
        |                  |–COBOL
        |                  |
        |                  |–PL/I
        |                  |
        |                  |–BASIC
        |                  |
        |                  |–PASCAL
        |
        |–特殊問題向きプログラム言語
              |
              |–リスト処理用
              |     |
              |     |–LISP
              |
              |–シミュレーション用
              |     |
              |     |–GPSS・SIMSCRIPT
              |     |
              |     |–DYNAMO
              |
              |–システム記述用
      
                 |
      
                 |–BLISP
      
                 |
      
                 |–C言語


    (1) 低水準言語(機械向き言語)

        低水準言語は、コンピュータの構造を反映し、機械に密接したプログラム言語で
       ある。

    (2) 高水準言語(問題向き言語)

        自然言語に近い表現で記述され、機械に密接した言語ではないプログラム言語
       のことを高水準言語という。

       ①手続き向き言語
         プログラムの中で、命令の実行順序を指定することによって、問題解決の手続き
        をプログラムが記述できるようになっている言語である。

       ②非手続き向き言語
         プログラムの命令の実行する順序を指定せず、あれかじめ決められた処理
        手続きの中に、パラメータによって処理方法や出力方法を指定できるように
        なっている。

    (3) 特殊問題向きプログラム言語

        特定の分野の問題を解決するために開発されたプログラム言語である。

       ①リスト処理用言語
         リスト構造のデータを取り扱うのに適したように設計されているプログラム言語
        であり、代表としてLISPがある。

       ②シミュレーション用言語
         シミュレーションを行うのに適したように設計されたプログラム言語である。
        離散系(データの性質によりとびとびの値を対象)の処理に適したGPSSと、
        連続系(連続する値を対象)の処理に向いているDYNAMOなどがある。

       ③システム記述用言語
         オペレーティングシステムのプログラムの記述などに適したように設計された
        プログラム言語である。代表として、C言語がある。

  • 代表的なプログラム言語

    (1) FORTRAN

        FORmula
    TRANslatorの略で、米国IBM社によって初めてのコンパイラ言語
       として開発されたプログラム言語である。科学技術計算向きの言語として広く使用
       されるようになった。

    (2) COBOL

        COmmon Business
    Oriented
    Languageの略で、最も広く使用されている
       プログラム言語である。COBOLは事務処理向きのプログラム言語であり、
       ファイルに記憶されたデータを効率よく処理できることなどに特徴がある。

    (3) ALGOL

        ALGOrithmic
    Languageの略で、現在では一部の研究者を除いてほとんど
       使用されていないが、PL/I、PASCAL、C言語などに影響を与えた。
       科学技術計算のアルゴリズム(算法)を記述するのに適したプログラム言語である。

    (4) PL/I

        Programming
    Language
    oneの略で、比較的新しいプログラム言語である。
       科学技術計算用の機能と、事務処理用の機能の両方を備えた用途の広い
       プログラム言語である。

    (5) BASIC

        Beginner’s
    All-Purpose Symbolic
    Instruction
    Codeの略で、会話型の
       処理を行うことと、インタプリタ型式で実行されることなどに特徴がある。

    (6) C言語

        オペレーティングシステムのUNIXがC言語で記述されているためシステム記述
       言語と呼ばれている。

    (7) PASCAL

        ALGOL系のプログラム言語である。科学技術計算向きであるが、教育分野にも
       広く利用されている。

    (8) RPG

        Report Program
    Generatorの略で、非手続き向き言語である。
       入力ファイルと出力データの内容や書式に関する情報をパラメータとして与える
       ことによって報告書作成用のプログラムを自動生成することができる。


3.ファイル編成とアクセス法
  • ファイル編成とアクセス法


     ファイルとは、1つの単位として取り扱われる関連したレコードの集合のことをいう。
    ファイルのアクセス法は、ファイルの呼び出し方法ともいい、プログラムにおけるファイル
    からのレコードの読み込みやファイルへのレコードの書き出しなどを行うときの方法の

    ことをいう。


    (1) 順次アクセス方式

        順次アクセスは、順次処理、シーケンシャル処理などともいい、ファイルに記録
       されているレコードを先頭のレコードから順番に処理することである。

    (2) 直接アクセス方式

        直接アクセス方式は、乱処理、ランダムアクセスともいい、キーを指定してファイル
       の中から必要なレコードを読み込んだり、ファイルへ書き出したりする処理のことで
       ある。

  • ファイルの編成方法

     ファイルの編成方法としては、順次編成ファイル、直接編成ファイル、索引順次編成
    ファイル、区分編成ファイルがある。

    (1) 順次編成ファイル

        順次編成は、ファイル内にレコードが先頭から順番に連続して記憶されたファイル
       である。

    (2) 直接編成ファイル

        直接編成は、レコードのキーの値をもとにして、直接アクセス記憶装置(DASD)
       上に記憶するアドレスを求め、直接アクセスを行うことができるファイルの編成方法
       である。

    (3) 索引順次編成ファイル

        索引順次編成は、レコードのキー項目を登録した索引をもつようにし、
       順次アクセスと直接アクセスを効率よく行うことができる編成方法である。

    (4) 区分編成ファイル

        区分編成は、複数の順次編成ファイルをメンバと呼ばれる単位で、1つのファイル
       上に登録し、複数のメンバを管理するためのディレクトリ(登録簿)を作成して、
       メンバごとのアクセスを可能にしたファイル編成である。

  • ファイルの種類

     ファイルを用途別に分類すると、マスタファイル、トランザクションファイル、
    ワークファイル、システムファイル、プログラムファイル、データファイルなどがある。

       ①マスタファイル
         マスタファイルは、基本ファイルともいい、比較的長い期間にわたって保存
        されるデータを含むファイルで、更新されながらも継続的に使用される。

       ②トランザクションファイル
         トランザクションファイルは、更新ファイル、変動ファイルともいい、新規に
        発生した一時的なデータを含むファイルであり、マスタファイルを更新するために
        使用される。

       ③ワークファイル
         ワークファイルは、処理の中間結果を一時的に保存しておくために利用される
        ファイルである。

       ④システムファイル
         コンピュータメーカーから提供されるオペレーティングシステムを記録する
        ファイルをシステムファイルと呼ぶことがある。

       ⑤プログラムファイル
         原始プログラム、目的プログラムなどを記録したファイルのことを
        プログラムファイルという。

       ⑥データファイル
         いろいろなユーザプログラムで利用されるデータが記録されたファイルのことを
        データファイルという。