0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

まとめ 基本情報技術者 ソフトウェアについて

Posted at

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

  • ジョブ管理

    • ジョブの「実行順序**」**の管理をする機能。
    • ジョブとは、「ユーザーがコンピュータに依頼する仕事**」**の単位
    • アプリケーションとハードウェアを繋ぐ橋
  • スプーリング

    「CPU」と「低速の入出力装置」の間のデータ転送を「高速の補助記憶装置」に仲介させる技術

  • バッファ

    • スプーリングで使用する「高速の補助記憶装置」のことを「バッファ」「緩衝記憶装置」という
    • CPUと主記憶装置の差を補う「キャッシュメモリ」もバッファ
    • 主記憶装置とハードディスクの差を補う「デジスクキャッシュ」もバッファ
  • タスク管理

    • 「タスクの実行順序」の管理をする機能
    • タスクとは、「OSがCPUに出す命令」の単位
  • マルチタスク

    • 複数のタスクを「あたかも同時に実行されている」ように見せる技術
    • 本当は「頻繁に素早くタスクを切り替えているだけ」
    • CPUは一度に一個しか作業を実行できない
  • タスクを切り替える方法

    • プリエンプティブ

      • CPUの使用権を「OS」が管理する方法
      • 主流
    • ノンプリエンプティブ

      • CPUの使用権を「タスク」が管理する方法
    • タスクの移動

      • ディスパッチ

        実行可能状態から実行状態に移動すること

      • プリエンプション

        実行状態から実行可能状態に移ること

  • タスクスケジューリング

    名前 説明
    到着順方式 実行可能状態になった順番に処理する方式
    優先度順方式 タスクに優先度を設定し、優先度順に処理する方式
    動的優先度順方式 基本は優先度順方式と同じだが、待ち時間の長さに応じて優先度を徐々に上げていく方式
    ラウンドロビン方式 CPUを使用する時間を定め、その時間内に処理が終わらない場合は、次のタスクに使用権が与えられる方式
    多重待ち行列方式 ラウンドロビン方式に優先順位を加味させた方式
    処理時間順方式 タスクの処理時間が短いものから処理する方式
    イベントドリブン方式 マウス操作によるイベントでCPUの使用権を切り替える方式
  • 記憶管理

    • 記憶装置を効率的に利用するための機能
    • 仮想記憶管理
      • 「補助記憶装置」の一部をあたかも「主記憶装置」であるかのように扱う方式

      • セグメンテーション方式

        仮想記憶(論理的な記憶領域)と実記憶(主記憶装置の物理的な記憶領域)を「セグメント(可変長)」の領域に分割して管理する方法

      • ページング方式

        仮想記憶(論理的な記憶領域)と実記憶(主記憶装置の物理的な記憶領域)を「ページ(固定長)」の領域に分割して管理する方法

        • ページテーブル

          「仮想アドレス(仮想記憶のアドレス)」と「物理アドレス(実記憶のアドレス)」は「ページテーブル」と呼ばれる表で管理

          • ページイン

            「プログラムを実行するページが実記憶にない」場合、ページフォールトが割り込みした後、補助記憶装置から実記憶へページを書き込むこと

          • ページフォールト

            「プログラムを実行するページが実記憶にない」場合は、「ページフォールト」という割り込みが発生する

          • ページアウト

            「実記憶に空きがない場合」実記憶から補助記憶へページを書き出すこと

            • 置き換えアルゴリズム(どのページを書き出すのか)
              • LRU(Least Recently Used)
              • LFU(Least Frequency Used)
              • FIFO(First In First Out)
          • スラッシング

            • 割り当てられる実記憶が小さい時にページイン、ページアウトが頻繁に起こること
            • スループット(処理能力)が低下する

データ管理

  • ファイルシステム
    • データのまとまりを「ファイル」として扱うこと
    • ディレクトリ
      • ファイルを格納する場所
      • ツリー構造で管理
        • ルートディレクトリ

          最上位のディレクトリ

        • カレントディレクトリ

          ユーザーの作業中のディレクトリのこと

        • パス

          • ファイルやディレクトリを示す文字列
          • 「/」で区切る
          • 「/」で始まる時はルートディレクトリからの始まりを表す(絶対パス)
          • 「.」はカレントディレクトリを表す(「./」でカレントディレクトから)
          • 「..」は一回層上を表す
  • バックアップ
    • フルバックアップ
      • 常に全てバックアップをとる
      • 時間かかる。復旧簡単
    • 差分バックアップ
      • フルバックアップ以降の新たなデータのみバックアップ
      • 時間まあまあかかる。復旧まあまあ簡単
    • 増分バックアップ
      • 前回のバックアップからの増分のみバックアップ
      • 時間かからない。復旧大変

開発ツール

  • ソースコード

    • 人間が読みやすいプログラミング言語で書かれたプログラム
  • オブジェクトコード

    • 0,1に変換されたプログラム

    • リンカ

      オブジェクトコードにライブラリを追加するツール

      • ロードモジュール

        リンカで生成された「実行可能プログラム」

  • コンパイラ

    • ソースコード→オブジェクトコードに変換
    • 手順(最適化コンパイラ)
      1. 字句解析(ソースコードの間違いチェック)
      2. 構文解析(プログラムの文法チェック)
      3. 意味解析(プログラムの手続きチェック)
      4. 最適化(計算の順序などを改善、効率の良いプログラムに変換)
      5. コード生成(オブジェクトコードを生成)
  • テストツール

    • 静的テスト

      • プログラムは実行せず、ドキュメントやソースコードをチェックすること

      • ソースコード解析ツール

        プログラムの誤りをチェックするテストツール

    • 動的テスト

      • プログラムを実行しテストすること
  • インタプリタ

    • ソースコードを一文字づつ解釈しながら実行するツール
    • コンパイラは一括解釈、実行

オープンソースソフトウェア(OSS)

  • 一般公開されているソースコード

  • Eclipse

    • OSSの統合開発環境
    • 統合開発環境
      • 「IDE」
      • テキストエディタやコンパイラ、テストツールなど、開発に必要なツールが一つにまとまったソフトウェア
  • コピーレフト

    プログラムの著作権は作者にあるが、誰でもプログラムの複製、改変、再配布ができ、さらに「2次著作物にオリジナルと同じ配布条件を適用する」こと

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?