対応するシラバスの範囲(応用情報技術者試験シラバス Ver.7.2):大分類「コンピュータシステム」の中分類5「ソフトウェア」
一言で言うと
- OSのしくみ(タスク管理・記憶管理)、コンパイラなどの言語処理ツール、開発ツール、UNIX系OS
覚え方の軸
OSの構成と機能
- OSは「広い」と「狭い」の2つの意味がある
- 制御プログラムは3部品
- カーネルの仕事は「〇〇管理」で並べる
- 「大きな単位 → 小さな単位」
- 守りの仕組みは「特権があるか」で分ける
タスク(プロセス)管理
- タスクの状態は3つ(実行可能・実行・待ち)、矢印は6本
- スケジューリングは「途中で取り上げるか(プリエンプティブか)」で分ける
- 「待たせすぎ」問題と、その対策をセットで覚える
- 協調の仕方は「待ち合わせる(同期)」と「同時に触らせない(排他)」の2つ
- 重さで並べる
記憶管理
- 「実記憶(本物のメモリ)」と「仮想記憶(ディスクを使って大きく見せる)」の2本立て
- すき間(フラグメンテーション)は「区画の中」か「区画の外」かで2種類
- 空き領域の選び方は「最初・最小・最大」の3つ
- ページングは「表で変換 → なければ割込み → 読み込み → 満杯なら追い出す」の流れ
- 追い出し方の3つは「いつ使ったか・何回使ったか・いつ入ったか」
言語処理ツール
- 言語プロセッサは「何から何へ変換するか」「いつ翻訳するか」で分ける
- コンパイラの手順は5段階、順番ごと覚える
- 最適化は「速くする」か「小さくする」か
- ライブラリは「いつつなぐか」で分ける
- 「本物か、まねか」
開発ツール
- テストツールは「プログラムを動かすかどうか」で2つに分ける
- 動的ツールは「何を知りたいか」で選ぶ
- 「ある時点を写す」⇔「動いている最中を見る」
- バージョン管理は「本体が1つ(集中型)」か「各自が丸ごとコピーを持つ(分散型)」か
UNIX系OS
- UNIXは「何でもファイル」
- パスは「どこから出発するか」で2種類
- ファイル名と中身は別々に管理する
- 入出力の流れを変える記号
- CGは「形を作る → 絵にする → 見た目を整える」
ページ一覧
| テーマ | 何の話か |
|---|---|
| OSの構成と機能 | OSは制御プログラム(カーネル・デバイスドライバ・ファイルシステム)が中核。カーネルモードとユーザモードで身を守る |
| タスク(プロセス)管理 | タスクの3状態、スケジューリング方式、同期・排他制御(セマフォ)、デッドロック、プロセスとスレッド |
| 記憶管理 | 実記憶の割当て(フラグメンテーション、フィット方式)、仮想記憶とページング、ページ置換え(LRU・FIFO)、スラッシング |
| 言語処理ツール | 言語プロセッサの種類、コンパイラの5段階と最適化、リンクとライブラリ、make |
| 開発ツール | 静的・動的テストツール、IDE、リポジトリ、バージョン管理(Subversion・Git) |
| UNIX系OS | ファイルの木構造とパス、iノード、リダイレクション・パイプ、OSSの定義、CGの技術 |