物理的な物体をハードウェアと呼ぶのに対し、 これらを使用するためのものをソフトウェアと呼ぶ。
| ソフトウェア | PC を動かす無形のしくみ | ||
| システムソフトウェア | PC の資源を有効活用するしくみ | 基本ソフトウェア | 制御プログラム、言語プロセッサ、サービスプログラムで構成 |
| ミドルウェア | 基本ソフトウェアと応用ソフトウェアの中間に位置し、 アプリケーションに依らない。DBMS、 通信管理ソフト、第四世代言語、運用管理ツール | ||
| 応用ソフトウェア | 業務に直接関わる、目的を達成するためのしくみ | 共通応用ソフトウェア | 文書作成ソフト、表計算ソフト、 会計ソフト、 医療診断用ソフト、ERP パッケージ、 CAD, CAI オーサリングシステム |
| 個別応用ソフトウェア | 大企業の業務用ソフトなど、個別に開発されたソフトウェア( 給与計算ソフト, 販売管理ソフト) | ||
4GL: 第四世代言語、ユーザが容易に使える言語やソフトウェアパッケージ
CAD:コンピュータ設計支援システム
CAI:コンピュータを利用した教育
| カスタムソフト | ユーザのために開発 | ||
| パッケージソフト | 万人向け、廉価 | 汎用パッケージ | 業務を特定しないソフト(文書作成ソフト、表計算ソフト) |
| 業務用パッケージ | 業務を特定したソフト(給与計算ソフト, 会計ソフト) | ||
| オンラインソフト | インターネットを通じて配布するソフトウェア | フリーソフトウェア | 無料で利用できる |
| シェアウェア | 一定の試用期間を経て購入を希望した場合に料金を支払うソフトウェア | ||
応用ソフト: 業務に直接関わるソフトウェア(パッケージソフト)
| 文書作成ソフト | フォントの変更や画像を含めたレイアウトが可能 | 印刷業務には DTP ソフト | ||
| 表計算ソフト | 数値を入力して計算させる | 別名 スプレッドシートソフト | ||
| データベースソフト | データを効率よく管理する | 別名 DBMS | ||
| グラフィックスソフト | 絵や動画を作成する | ペイント系 | 鉛筆や筆を使う感覚で絵を描く | |
| ドロー系 | 直線や曲線を組み合わせて図面を作成する | |||
| 3 次元グラフィックスソフト | CG の作成に使用 | |||
グループウェア:グループ活動を支援するツール
| 電子掲示板 | ネットワーク上の掲示板で、誰もが閲覧可能 |
| 電子メール | ネットワークを利用した手紙 |
| 電子会議 | 会議室を必要としない会議 |
| スケジュール管理 | プロジェクトメンバのスケジュールを記録し作業調整する |
| ドキュメントデータベース | プロジェクトメンバの文書を管理し、メンバがいつでも参照できる |
ファームウェア: ハードウェアの基本的な制御を行うソフトウェア
| 機器に組み込まれた ROM | 変更の少ないソフトウェアが組み込まれる | 周辺機器、家電製品 |
| フラッシュメモリに記憶されている | 機能の追加や不具合の修正が可能 | PC 本体に組み込まれる |
デバイスドライバ: 周辺機器が、新しい PC に繋いでも作動しないときに、 新しいバージョンのデバイスドライバをインストールする
標準的でない入出力装置には、 対応するデバイスドライバを組み込む必要があることがある。 購入時に附属していることが多い。
ドライバ:周辺装置を制御するソフトウェア
ハイブリッド CD-ROM: Mac OS と Windows OS の両方で使用可能な CD-ROM で、 両方のフォーマット形式で記憶させたデータであるため、共有可能
BIOS (Basic Input Output System): ROM に記憶されているソフトウェアで、PC 内部にあらかじめ塔載されている
shell: ユーザのコマンドを OS に渡すインタプリタ。 GUI アイコンを解釈したりする。
ソフトウェアの互換性
| アプリケーションの互換性 | OS (基本ソフトウェア) が異なるとアプリケーションソフトウェアは動かない |
| バージョンアップによる互換性 | 上位互換性があるものが多いが、 新バージョンのデータは旧バージョンのソフトウェアで使用できないことが多い |
| データの互換性 | 異なる OS を用いたデータ交換では、 相手の使えるデータ形式に変換して保存したり、 クロスプラットフォームアプリケーションソフトウェアを使用して、 データ変換なしにデータを交換したりする |
ソースコードが無償公開され、利用、改良、再配布が誰でも可能なソフトウェ アによる構築方法の名称についてまとめる。
| OS | Web サーバ | データベースサーバ | CGI スクリプト言語 | |
| LAMP | Linux | Apache | MySQL | PHP |
| LAPP | Linux | Apache | PostgreSQL | PHP |
言語プロセッサ: 人間の書いたプログラム言語を機械語に翻訳する
OS (広義の基本ソフトウェア) の構成: 制御プログラム(狭義のソフトウェア) + サービスプログラム + 言語プロセッサ
| 制御プログラム | ハードウェアを有効活用するためのプログラム | OS の代表的な管理プログラム | ジョブ管理 | ジョブを分解し、 主記憶プログラムのロードやハードウェア資源の割当てを管理 | |
| タスク管理 | マルチプログラミングの制御、 タスクの状態遷移の管理 | ||||
| データ管理 | 各種補助記憶装置がデータを処理できるように管理する | ||||
| 記憶管理 | 主記憶や仮想記憶の管理 | ||||
| その他 | 入出力管理 | 入出力装置の管理 | |||
| 通信管理 | 回線を使用した通信の管理 | ||||
| 処理プログラム | 高水準言語で書かれたソースプログラムを目的プログラムに翻訳 | 言語プロセッサ | |||
| 逐次翻訳 | インタプリタ | ソースプログラムを機械語に翻訳しながら実行 | |||
| 一括翻訳 | アセンブラ | アセンブラ言語を機械語に翻訳 | |||
| コンパイラ | ソースプログラムを機械語に翻訳 | ||||
| ジェネレータ | ソースプログラムの変数を解析し、プログラムを生成 | ||||
| サービスプログラム | コンピュータ利用を支援するプログラム群。ユーティリティプログラム | リンカ、ローダ、システム生成のサービスプログラムが連携してオブジェク トプログラムから実行可能なロードモジュールを作成 | |||
ジョブ=タスク群
タスクの状態遷移=実行可能状態, 実行状態, 待ち状態
| 実行可能状態 | CPU の割り当てが与えられるとすぐ実行できる状態 |
| 実行状態 | CPU で実行している状態 |
| 待ち状態 | 入出力動作の終了待ち状態 |
| MS-DOS | マイクロソフト社開発の OS で CUI で操作 |
| Windows | マイクロソフト社開発の OS で GUI で操作、マルチタスク可能 |
| Mac OS | アップルコンピュータ社の OS で、GUI |
| PC UNIX | ワークステーション標準 OS で、GUI も可能 |
| Linux | PC UNIX の一つ、オープンソース・フリーソフトウェア |
| MVS | IBM 社製の汎用計算機 |

ハードウェアとソフトウェアの役割分担について
| PC の起動 | 電源 ON | 起動プログラム |
| ブート | ||
| 部品、ビデオ、ボードチェック | ||
| メモリ (R/W) チェック | ||
| ディスクチェック (起動ドライブ) | ||
| OS のロード | ||
| ハードウェアチェック | OS の働き | |
| デバイスドライバロード | ||
| 国別対応キーボード設定 | ||
| フォント設定 | ||
| 日本語処理機能組み込み | ||
| ログインチェック | ||
| 繰り返す | コマンド入力待ち | |
| プログラムのロード | ||
| プログラムの実行 | ||
| プログラムの終了 | ||
| プログラムのメモリ開放 | ||
| PC の終了 | 終了ログアウト | |
| 電源 OFF |
OS の動きをまとめる。
アプリケーションプログラム実行中のデータの受け渡しについて