初級システムアドミニストレータ/コンピュータシステム

出典: フリー教科書『ウィキブックス(Wikibooks)』
ナビゲーションに移動 検索に移動

コンピュータシステム[編集]

このページは、コンピュータなど情報機器のハードウェアと、OS(基本ソフトウェア)についてのページです。

コンピュータの種類[編集]

パーソナルコンピュータ(PC:Personal Computer)

この試験を受けるには、ある程度のPCの基礎知識が必須です。ですが特に説明は不要ですね。OSは、WindowsやMacOSを搭載しているものが一般的です。

PDA(Personal Data Assistance)

おもに個人の情報管理を行うために、持ち歩きに便利なサイズの情報端末のことです。スケジュール管理や住所録などの機能が入っています。シャープの液晶ザウルスや、iモードなどの携帯電話端末にこの機能を盛り込んだものも、PDAに含みます。  近年はノート型PCだけでなく、PDAを営業担当者に持たせて、客先での商談に活用する事例が増えています。生命保険の見積もり機能をPDAに盛り込み、客の目の前で見積もりができる、などの例があります。

ワークステーション(WS:Work Station)

サン・マイクロシステムズ社のワークステーションが有名です。今日ではPCとワークステーションの役割上の違いはほとんど無いですが、特に高性能が要求されるCAD分野(建築や電子設計など)やCAM分野(車の衝突シミュレーションなど)、コンピュータグラフィックス分野などで好んで用いられています。多くはOSとして、UNIXを搭載しています。

汎用コンピュータ(メインフレーム)

汎用機とも呼ばれます。NECのACOSや、日立のエンタープライズサーバが有名です。ハードウェアの単価は高価ですが、そのかわり長く培われた技術のため信頼性が非常に高く、過去の資産(蓄積されたデータやソフトウェア)を活かせることから、金融機関や保険・証券業の、基幹系(業務の生命線を握る部分)に根強い人気があります。また今日では、ハイエンドサーバとしての位置付けが注目されています。

HPC(High Performance Computer)

スーパーコンピュータとも呼ばれます。科学技術、特に気象予測や天文、核物理学、ゲノム解析などの分野で用いられます。地球シミュレータが有名です。

ハードウェア[編集]

集積回路(IC、LSI(Large Scale IC))

集積回路(IC)は、Integrated Circuitの略です。その作り方は、半導体(主にシリコン)の薄板上に、写真製版と似た技術を使って細かく電子回路を作り込んでいきます。

主記憶装置と補助記憶装置
主記憶装置 
CPUの割と近くにあって、データやプログラムを頻繁に書き換えたい場合に使う記憶装置です。一般には、RAMのIC(PCでは、DIMMと呼ばれるメモリモジュール)が、これにあたります。
補助記憶装置 
CPUが直接アクセスしに行けない場所にある記憶装置です。補助記憶装置に入っているデータを扱う場合は、一度そのデータを主記憶装置に持って来ないといけません。ハードディスクやCD-ROM、DVDなどが、これにあたります。
情報素子(RAM(ラム)とROM(ロム)の違い)

集積回路で作られたメモリICにおいて、電源を絶たれた時(PCの電源OFFなど)に、それまで記憶していた内容が消えてしまう性質(これを「揮発性」と呼びます)のメモリがRAMで、消えない性質(不揮発性)のものがROMです。なお、CD-ROMやDVD-RAMは集積回路ではないため、ここには分類されません。

SRAM(Static RAM)とDRAM(Dynamic RAM)の違いについて

データの最小構成である1ビットを記憶させるために、SRAMではフリップフロップ回路と呼ばれる回路を用います。それに対してDRAMは、キャパシタ(コンデンサ)を用い、そこに電荷(静電気)がたまっているか否かで1ビットを表します。SRAMはその高速性から、CPU内部など高速にデータを書き換えたい場所に使われることが多く、DRAMはSRAMに較べて(同じ記憶容量あたり)安く作れることから、大容量が好まれる主記憶装置に、よく用いられます。

フラッシュメモリ

ディジタルカメラの画像データ保存用や、USBメモリに用いられています。ROMに分類されますので、一度書き込んだ内容はバックアップ電源なしでも消えません。また、何度も消しては再書き込みができます。フラッシュメモリは「セクタ」と呼ばれる区画ごとにメモリ領域を管理していて、データはセクタ単位で消去・再書き込みができます。

【コラム】フラッシュメモリの語源
セクタ単位で「パッ」と消せるという、この「パッ」というイメージが、カメラのフラッシュのようなので、この名前になったそうです。日本の東芝が発明しました。
CPU(MPU・マイクロプロセッサ)

コンピュータシステムの中で、主に演算処理を行う装置を指す言葉です。中央処理装置(Central Processing Unit)とも呼ばれます。汎用コンピュータ(メインフレーム)では、CPUは巨大な装置を指していましたが、今日のパーソナルコンピュータではIC化されたMPU(Micro Processing Unit)を指します。

CCD(固体撮像素子)、CMOSイメージセンサ(CIS)

主にディジタルカメラやテレビカメラの受光部に用いられる、映像を取り込むための素子です。また、CCDと同様の機能を持ちながら、CMOSプロセスを採用することで消費電力とコストを抑えたCMOSイメージセンサのシェアが最近伸びています。今日の携帯電話のカメラの多くは、このCMOSイメージセンサが使われています。

プロセッサアーキテクチャ[編集]

CPUクロック

コンピュータのCPUが演算処理を行う際には、CPUの回路内部で、処理する回路同士でタイミングを取りながら(これを「同期をとる」と呼びます)処理をこなしています。これは丁度オーケストラの指揮者が、各楽器間のタイミングをとるのと同じです。そしてCPUにとっての指揮者のような存在が“CPUクロック”です。一般には、同一のCPUであればクロック数の値が大きいほど(クロックサイクルが早いほど)演算スピードが速くなり、ひいては処理能力が高くなると言えます。

CPUクロックの波形

CPUが演算処理を行う際の、いわば指揮者のような存在が、CPUクロックでした。CPUクロックの速さの単位は、ヘルツ(Hz)を用います。信号のオンとオフの定期的な繰り返しによる電圧の変化を、波とみなします。一度オンになってから次にオンになるまでの時間の幅が、1クロックの幅です。

【例題】 
1GHzのクロックの、1サイクル分の時間は、何ミリ秒・何マイクロ秒・何ナノ秒になるでしょうか?それぞれ換算して下さい。
【解答】 
1GHzなので、10億分の1秒ごとにオン・オフされます。

秒 = 0.000001ミリ秒 = 0.001マイクロ秒 = 1ナノ秒

MIPS値(ミップスち)

MIPS(Million Instructions Per Second)とは、CPUの処理能力を表す指標の一つで、1秒あたりCPUが処理できる命令語の個数(単位は100万)を表す値です。たとえば50MIPSとは、1秒あたりなので、5000万個の命令をこなせる、という意味です。

【コラム】CPUのクロックアップ 
しばしばPCの手軽な高速化手段として、PCユーザがCPUクロック数を高めに設定変更することで高速化する“クロックアップ”が行われます。これを個人が自己責任で行うのは勝手ですが、CPUの発熱が大きくなり、PC全体の耐久性や信頼性を損なうため、仕事で使うPCをクロックアップすることは厳に慎むべきです。

メモリアーキテクチャ[編集]

メモリキャッシュ

メモリキャッシュとは、ツボを押さえた高速化に用いられる技法です。キャッシュ(cache)とは「隠し持つ・貯蔵する」という意味を持つ単語で、よく使うデータやプログラムを高速アクセスできるメモリに記憶させておき、そのメモリをCPUのすぐ近くに置いておくことで、高速なデータ処理を目指す技術のことです。具体的には、CPUのすぐ隣(今日ではCPUに内蔵)に高速なSRAMのキャッシュメモリを配置し、頻繁に使うデータをそこに置いておきます。

メモリの容量と性能について

SRAMとDRAMには、「速くて高いSRAM」「低速で安いDRAM」という違いがあります。そのため、大容量が求められる主記憶(今日のPCでは、DIMMのメモリモジュール)には安価なDRAMを用い、キャッシュメモリのように「ここぞ」という場所にはSRAMを用います。こうすることで、処理スピードとコストのバランスが取れたシステム構成が可能となります。

メモリの種類

RAMは大きく分けて、SRAMとDRAMに分けられます。また、DRAMを高速化したSDRAM(シンクロナスDRAM)が、今日のPCでは主記憶装置に用いられています。
ROMはフラッシュメモリ以外に、PROM、EPROM、EEPROM等の種類がありますが、出題頻度はごく低いので、メモリに関心ある方のみお調べ下さい。なお、CD-ROMやDVD-RAMは集積回路ではないので、ここには分類されません。

ビデオRAMについて

PCの画面をよく見ると、画面上の絵や文字は小さな粒の集まりで描かれていることがわかります。その粒(画素、ドット、ピクセル)ごとに色番号を指定することで、絵や文字を表示しています。 PCの画面制御には、ビデオコントローラと呼ばれる専用ICを用いるのが一般的です。そして今日のPCでは、主記憶とは別にビデオコントローラのためのメモリ(ビデオRAM(VRAM))も持たせる構成が一般的です。
より大容量のビデオRAMを搭載する事で、より多い色数や、より多くのピクセルを(つまり、より精細に)表示させることができます。ただし、いくらPC側にビデオRAMを搭載しても、それに対応できる高性能なディスプレイも用意しておく必要があります。

【例題】 
2MバイトのビデオRAMを用い、1024×768ドットで表示可能な色数は、以下のどれか。

  ア 16色   イ 256色   ウ 65536色   エ 16777216色

【解き方】 
表示可能な色数は、「1ピクセルあたり何ビットの情報量(ビット数)を用いるか」で決まります。各選択肢は1ピクセルあたり、アが4ビット(0.5バイト)、イが8ビット(1バイト)、ウが16ビット(2バイト)、エが24ビット(3バイト)の場合です。この画面の総ピクセル数は1,024×768で786,432ドットです。選択肢エだとメモリ容量が足りないので、ウ(2バイト×786,432ドット=1,572,864バイト≒1.6Mバイト)を選んでください。


補助記憶装置[編集]

ハードディスク(HD)

磁性体が塗られた円盤を1~複数枚用い、回しながら同心円状に磁気的に記録するものです。PCの起動時などにPC内部から「カラカラ(コリコリ)」という音が聞こえますが、これはハードディスク内のヘッド(読み書きのためのセンサ)が動いている音です。なお、ハードディスクは衝撃に弱く、また高速回転による発熱にも弱いため、取り扱いには注意が必要です。

CD(CD-ROM、CD-R)

読み出し時、ピットと呼ばれる小さな穴に赤色レーザ光線をあて、ピットの長短を検知することで0か1かを判別します。1枚で640Mバイトまで記録可能です。また、CD-ROMの記録フォーマットの規格(ISO9660フォーマット)に則っていれば、WindowsのPCで焼いた(書き込んだ)CD-RをMacintoshのPCで読んだり、オーディオ用のCDとして楽しむこともできます。

DVD(Digital Veasatile Disk)

原理はCDと同じですが、より短波長な青色レーザ光線を用いることで、記録密度を高めています。また2枚のディスクを貼り合わせて1枚のディスクとする(片面2層)事で、1枚あたり約4.7Gバイトまで扱えます。

光磁気ディスク(MO)[編集]

レーザ光線で熱し、冷える瞬間に磁場をかけることで、磁気データを記録するものです。過去に書き込んだデータの消去や、再書き込みも可能です。オーディオ用のMD(Mini Disk)も同じ原理を利用しています。

磁気テープ(MT)

もともとディジタル録音用であったDAT(Digital Audio Tape)など、磁気テープにデータを記録するものです。サーバのデータをバックアップする際によく用いられます。DDS-4などのテープストリーマもMTに分類されます。数10Gバイト単位の大容量データをバックアップできますが、バックアップに数時間から一晩かかる事もあるので、頻繁なバックアップには向きません。

半導体ディスク

USBメモリが代表的です。ハードディスクと同様に扱うことができる装置ですが、磁気ディスクのかわりにICメモリを用いるため、アクセス時間の短縮が図れます。また衝撃に強いことから、航空機のボイスレコーダ等にも用いられています。

スマートメディア

メモリカードの規格の一つです。ディジタルカメラの画像保存用や、ノートPC等に用いられる、主にフラッシュメモリを用いたメモリカードです。ソニーが中心となって策定した「メモリースティック」や、松下電器が中心となって策定した「SDメモリー」なども、広い意味でスマートメディアに分類されます。

記憶装置の、アクセス速度の比較

アクセス速度とは、CPU等から「データが欲しい」と要求されてから、実際にデータが取り出され始めるまでの時間を指します。主な記憶装置を、アクセス速度が速い(時間が短い)順に並べると、

  • SRAM(キャッシュメモリ) < DRAM < HD < CD-ROM < FD

となります。

保管性(バックアップ媒体として用いた場合のメリット・デメリット)

サーバ等に入っているデータを、障害に備えてバックアップをとる際に用いるバックアップ先の媒体は、以下の基準で選ぶと良いでしょう。

  • メディアの容量
  • バックアップスピード
  • 必要となる媒体数
  • コスト
  • 入手性

バックアップは定期的に(日次・週次・月次バックアップ)行い、複数世代(もしバックアップ先が故障しても、最悪の事態を避けられる)に渡ってとるのが理想です。また、データ保存専用のネットワークであるSAN(Storage Area Network)や、LAN上のファイルサーバから発展したNAS(Network Attached Storage)を利用し、そこをバックアップ先とする運用方法も、最近のトレンドです。

補助記憶装置の容量計算[編集]

補助記憶装置、特にハードディスクやフロッピーディスクの記憶容量を計算問題が、午前試験でよく出題されます。キーワードとして、同心円状の「トラック」と、扇形の「セクタ」との違いを押さえておきましょう。

【例題】初級シスアド平成13年春期午前問3 
フロッピーディスクを次の仕様でフォーマットしたとき,容量は約何Mバイトか。
総トラック数160
セクタ数/トラック9
セクタ長(バイト)512

 ア 0.5  イ 0.7  ウ 1.2  エ 1.4
 この例題の場合、全ての値を掛け算すれば求まります
 磁気ディスクではディスク内を、トラックと呼ばれる同心円と、セクタと呼ばれる扇形の区切りで管理していることも押えておきましょう。

【コラム】ファイルのアーカイブとアーカイバ 
関連のある複数のファイル(実行可能ファイルと、その取扱説明書ファイルなど)をまとめて1つのファイルとすることを、ファイルのアーカイブと呼びます。これによって、1回のダウンロードのみで必要なファイル群を手に入れることができるため、管理上のメリットがあります。アーカイブを行うためのユーティリティツール(ソフトウェア)をアーカイバと呼び、主にPCで用いられるZIPやLHA、主にUNIX系OSで用いられるtarが有名です。なおZIPやLHAは、アーカイブと同時にファイルを圧縮する機能も持っているため、これらを用いてファイルを圧縮する事をアーカイブと呼ぶ場合もあります。ですが本来、アーカイブとファイル圧縮とは、区別して考えるべき事項です。


補助記憶装置の性能計算[編集]

ディスクのフラグメンテーション(fragmentation)

ハードディスクで、データの書込み・消去・再書込みを繰り返すと、書き込まれたデータがツギハギ状になった領域が生じます。これがディスクの断片化(フラグメンテーション)と呼ばれる状態です。ディスクが断片化してしまってもファイルの読み書きそのものは可能ですが、ディスクアクセスの効率が落ちてしまい、ひいてはPC全体として処理が遅くなります。断片化を解消するためには、デフラグツール(Windowsに標準で入っている“ディスクデフラグ”と呼ばれるユーティリティツールなど)を用いて再編成を行うのが一般的ですが、データを一度別のメディアにコピーした上でハードディスクを初期化後、データを元のように書き込んでも同様の効果があります。

【例題】初級シスアド平成14年午前問9 
使用しているパソコンの処理能力が低下してきたので調査したところ,磁気ディスク装置の入出力時間が増大してきたことが分かった。この状況を改善するためにユーティリティを導入し,シーク動作を減少させて効率よくアクセスできるようにしたい。このとき,ユーティリティが行うべき適切な処理はどれか。ここで,利用する磁気ディスク装置は1台とする。
  • ア 大きなサイズのファイルを同一のディレクトリ(フォルダ)に格納する。
  • イ 各ファイルを磁気ディスク装置内の複数の領域に分散化する。
  • ウ 参照頻度の高いファイルを磁気ディスク装置内の連続した領域に格納する。
  • エ 参照頻度の高いファイルを同一のディレクトリ(フォルダ)に格納する。


【考え方】 
シーク動作とは、ハードディスク内部の磁気ヘッドが動く時のカラカラ音のことです。このカラカラができるだけ少なくなる(平均シーク時間の短縮)ようにするためには、ウのようにディスク上の連続した領域にデータが書き込まれている形が理想です。


【コラム】デフラグツールあれこれ 
Windowsに標準で入っている「ディスクデフラグ」も悪くないのですが、シマンテック社「ノートン・システムワークス」に入っているデフラグツールが、Windows PC用のデフラグツールとしては最強のように思います。いずれの場合でも、デフラグを実行させる際は動作している他のソフトウェアは全て終了させた上で、寝る前に開始して朝に終わらせるのがコツです。


入出力アーキテクチャと装置[編集]

入出力インタフェースについて

コンピュータと周辺機器や、周辺機器同士を電気的につなぐ際、お互いの接点になる部分を「インタフェース(interface)」と呼びます。インタフェースには様々な規格があり、コネクタの形状から通信スピード、信号の際の電圧などのプロトコルも規定されています。

バス(bus)

データが流れる道のことを、「バス」と呼ぶことがあります。これは、乗合バスにデータを乗せて行き来するイメージからついた名前です。 大きく分けて、シリアルバスとパラレルバスに分かれます。

シリアルバス(serial bus) 
データを、1本の信号線をオン/オフさせることでビットを送るイメージです。USB、シリアルATA、RS-232C、イーサネットのツイストペアケーブルは、シリアルでデータを送り届けています。
パラレルバス(pararell bus) 
シリアルバスが複数本あって、平行して一度にデータを送るイメージです。PC基板とハードディスクを接続するためのATAやSCSIなどは、パラレルでデータを送り届けています。


PC基板に、拡張ボードを接続するためのバス
PCIバス 
今日のPCに一般的に採用されている規格です。
AGPバス 
主にビデオコントローラとの接続を目的とした高速なバスです。
PCI Expressバス 
PCIを基にした、ビデオコントローラを接続する際に有利なバスです。
ISAバス 
以前ののPCに一般に採用されていたバスで、今日では主流の座をPCIバスに譲りました。


PC基板と、内蔵ハードディスクとを接続するためのバス
シリアルATA (またはSATA) 
今日の新しいPCの主流です。従来のATAに比べて細い(扱いやすい)ケーブルで接続でき、高速な伝送に対応しています。
ATA (またはIDE (Integrated Drive Electronics)) 
PCの基板と、内蔵ハードディスクやCD-ROMドライブを接続するインタフェースです。ほとんどのPCに標準で搭載されています。パラレル伝送のため、幅広のケーブル(リボンケーブル)を用いて接続します。
SCSI (Small Computer Standard Interface) 
スカジーと発音します。IDEに比べて高速な伝送に向くため、主に業務用サーバなどハイエンドな用途で用いられています。パラレル伝送で、デイジーチェーン接続と呼ばれる数珠つなぎ式で機器を増設できます。
eSATA (external SATA) 
シリアルATAが主に「内蔵」ハードディスクを接続するのに対し、eSATAは「外付け」ハードディスクの接続に向きます。
SAS (Serial Attached SCSI) 
SCSIインタフェースのシリアル版とも呼べます。シリアルATAとの間で上位互換性があります。


PC本体と、周辺機器とを接続するインタフェース
USB(Universal Serial Bus) 
USBは、PCと周辺機器を接続する際に一般に用いられるシリアルインタフェースで、USBハブを介して最大127台までの周辺機器をつなげることができます。
IEEE1394 
動画像など、高速な伝送をしたい時に使います。ソニーのハンディカムからPCに動画像を取り込む時のインタフェース(i.Link端子)も、正式な呼び名はIEEE1394です。
IrDA(Infrared Data Association) 
赤外線を使ったデータ通信の規格です。数mまでの距離をワイヤレスで通信でき、多くのノートPCや、一部の携帯電話が対応しています。
Bluetooth 
2.4GHz帯の周波数の電波を使ったデータ通信の規格です。10m程度の距離をワイヤレス通信でき、通信速度は1Mビット/秒です。一部のノートPCや、一部の携帯電話が対応しています。
RS-232C 
主にPCとTA(ターミナルアダプタ)、PCとアナログモデムなど、比較的低速な機器の接続に使う、歴史あるシリアルインタフェースです。
GPIB 
計測機器・医療機器・分析機器の業界では比較的標準的なインタフェースです。SCSIに似てパラレル伝送で、デイジーチェーン接続で最大15台までのデバイスを接続することができます。

なお、今日のPCでは、RS-232CやISAバスなどの古くからあるインタフェースがPC基板設計上のネックとなることが多いため、これらに替わってUSBやIEEE1394、PCIなどのインタフェースに絞った基板設計、いわゆる「レガシーフリー」と呼ばれる設計のPCが一般的です。

【コラム】パラレル伝送よりもシリアル伝送の方が速い? 
実は、世のトレンドは、シリアル伝送です。一昔前までは、どう見てもパラレル伝送の方が(データをまとめて送ることができるため)高速とされてきましたが、最近ではパラレル伝送にも限界があることが知られてきました。特に、複数本の信号線の間で同期をとるタイミングをとりにくい問題や、あまり信号帯域を高くとると信号線が電波を受発信するアンテナのように振舞ってしまい、隣近所の信号線に混信してしまうクロストークと呼ばれる現象の問題があります。そのため、パラレル伝送にこだわるよりもシリアル伝送で回路も単純化した方が、結果として速いというのが、最近のトレンドです。SCSIのシリアル版とも呼べるSASや、LVDS(Low Voltage Differential Signaling)と呼ばれるシリアル伝送技術(TIA/EIA-644)は、600Mビット/秒以上の伝送速度を手軽に扱えることから、今後の普及が期待されています。


入出力装置の種類と特徴[編集]

キーボード、ポインティングデバイス

ポインティングデバイスとは、マウスなどGUI画面上の位置を指し示すための装置です。ここでは特に説明しません。

OCR(Optical Character Reader)

活字印刷や手書きの文字を、コンピュータにデータとして取り込む仕組みの総称です。たとえば郵便番号を読み取って自動的に仕分ける装置や、「読んde!ココ」などスキャナから活字を読み取るソフトウェアが、これにあたります。なお、マークシートを読み取るものはOMR(Optical Mark Reader)と呼びます。

ディスプレイの種類
TFT液晶 
今日の液晶ディスプレイの、主流となっている方式です。なお液晶ディスプレイは自分では発光せず、バックライトと呼ばれる光で後ろから照らしてやる必要があります。同じ画面サイズのCRTより、消費電力を低く抑えられます。
PDP(プラズマディスプレイパネル) 
薄型テレビの方式の一つとして、TFT液晶とシェアを争っています。液晶ディスプレイとの決定的な違いは、画素自体が光るため、バックライトを使わなくても色がわかる点です。
有機EL 
これも画素自体が光ります。一部の携帯電話で、液晶ディスプレイの置き換えとして採用されています。
CRT 
ブラウン管を使ったディスプレイです。古くからあり値段も安いですが、消費電力や重さの点で液晶ディスプレイに劣ります。
STN液晶 
最近は中古品としても見かけなくなったタイプです。TFT液晶よりも低コストで作れるのがメリットですが、画質や視野角の点でTFT液晶に劣ります。


プリンタ

プリンタについての出題は、dpi(Dot Per Inch)という単位を覚えて下さい。これはプリンタの性能を表す単位で、1インチの長さに何ドットを印刷できるかを表す値です。 たとえば100dpiのプリンタだと、1インチ(約2.54cm)の長さに100ドット印刷できるため、1インチ四方だと10,000ドットの印刷できるという意味です。もちろん、dpiの数字が大きいほど、より細かく印刷できることを表します。

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

WindowsやMacOSなどのOSは、人間の目にはきれいなGUIの部分しか見えませんが、OSの本当の値打ちは、GUIの裏で働いてくれているプログラム(ファイル管理、プロセス管理、メモリ管理など)の良し悪しで決まります。ここの出来が良いOSは、簡単に言えば「アプリケーションソフトの動作中に、原因不明で止まってしまう」ことが少なくて済みます。 OS選定、特に業務で使うPCのOS選定は、ぜひ「止まりにくい」かどうかを基準にして下さい。

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

PCなどでアプリケーションソフトを実行する時は、コンピュータの資源(リソース)をうまく活用して、特にCPUやメモリをムダなく効率的に使いながら実行する必要があります。そのための制御をしてくれるものが、OSです。OSの実体はプログラムの一種です。

OSの種類(UNIX、Linux、Windows、MacOS)

情報処理技術者試験では、各社・各団体が作るこれらOSの種類や特徴を問わせる問題は出題されません。出題ポイントは、OSによって特殊文字が文字化けすることと、UNIXおよびLinux上でウィンドウシステムを実現させるための仕組み(X Window System)の名称です。

文字化け

WindowsとMacOSでは、同じ文字コードに全く別の文字が定義されていることがあり、それが元での文字化け、または〓(ゲタ文字)が表示されることがあります。詳しくは、Webマスターのための文字化け講座の「Windowsでは表示されるが、Macでは文字化けする文字」をご参照下さい。初級シスアド試験の、特に午前問題では、「丸囲み数字」「全角ローマ数字」は、よく文字化けするという知識問題が出題されます。

【コラム】UNIX系OSでのGUI(X Window System) 
UNIXの世界では「GUIなんて邪道だ」という考えが永らく残っていました。たとえばコンピュータをサーバ専用に使う場合には、GUIはメモリやCPUパワーを食うだけだからムダだ、というわけです。ですが今日ではUNIXサーバにおいてもWebminなどGUIで管理できるツールを用いたり、クライアントではX Window SystemにWebブラウザやメール管理などを加えた「統合デスクトップ環境」であるKDEGNOMEをインストールする形が一般的です。


仮想記憶とスラッシング

あるソフトウェアを動作させるために必要なメモリとして「512Mバイト以上を推奨」と書かれているソフトを、実際には256Mバイトの主記憶メモリしか積んでいないPCにインストールし実行させようとすると、どうなるでしょうか?
この時、多くの場合ソフトは起動し、ほとんどの機能が動作します。ただし、時には使い物にならないまでに動作が遅くなる(「動作が重い」と感じる)ことが多いです。
ここに、2つの疑問点があります。

  1. 主記憶メモリの絶対量が足りないのにソフトを起動できたのは、なぜか?
  2. 動作が極端に重くなったのは、なぜか?


  1. の答は、OSが持つ「仮想記憶」と呼ばれる仕組みが働いたためです。
  2. の答は、仮想記憶が働く際には、ハードディスクへのアクセスが頻発するからです。


では、これらについて詳しくご説明しましょう。

搭載メモリよりも大きいデータを扱える ~仮想記憶~

仮想記憶とは、今日のほとんどのOSが持つ機能の名前です。これはOSが、アプリケーションソフトなどの実行中に「メモリが足りない」と判断した時、現在メモリ上にあるデータを一旦ハードディスクに書き出した(退避させた)上で、必要な別のデータをメモリ上に持ってきて、処理を続行する機能を指します。
これが、実際には256Mバイトしかメモリがないのに、512Mバイトのデータでも扱えた理由です。ソフトウェアの視点ら見れば、コンピュータ上にはありもしない512Mバイトのメモリがあるかのように見えることから、「仮想記憶」という名がつけられています。

動作が遅くなる ~スラッシング~

次に、動作が極端に重くなった理由を考えましょう。
メモリ上のデータをハードディスクに書き出し、必要な時にはまた元のメモリに戻す入れ替えサ行のことを、「スワッピング」と呼びます。そしてスワッピングが頻発し、動作が極端に重くなることを「スラッシング」と呼びます
初級シスアド試験では、このスラッシングが頻発する際の対処方法を問わせる問題がよく出題されます。最も効果的な対処方法は「PCに搭載するメモリを増やす」、または「とりあえず使っていない他のアプリケーションソフトを終了させて、現在使用中のソフトに主記憶領域を譲る」です

OSが持つ「ファイル管理機能」[編集]

OSが担う役割の中で、身近なものの一つに「ファイル管理機能」があります。ほとんどのOSでは、ファイルを「階層ディレクトリ構造」と呼ばれる形式で管理します。これはWindowsでいえば、丁度「フォルダ」の考え方と同じです。「Windowsでいうフォルダ = ディレクトリ」と覚えておいても差し支えありません。

親ディレクトリを表す“../”表記について

たとえばHTMLで、別のディレクトリにある画像ファイルの場所を指定する記述にも、この知識が必要です(なお、日本語環境のWindowsのコマンドプロンプトで同じことを行う場合は、“/(スラッシュ)”を“\(円記号)”に読み替えて下さい)。

[homepage]
    |-----------------+
[gazou]          [source]
  aPicture.gif      index.html

sourceディレクトリにあるHTMLファイル(index.html)から、[gazou]ディレクトリにあるaPicture.gifというファイル名を指定する際の書き方は、以下のようになります。 <img src="../gazou/aPicture.gif">

ファイル・レコード・フィールドの関係について

情報処理、特に古くからある帳票処理に用いられる(主にCOBOL言語で扱うデータの)ファイルは、多くの場合このような形式で保存されています。

0001井上陽助    055東京都新宿区高層ビル町1-2-3    [改行]
0002宇多山光    021大阪府吹田市太陽の塔2-3-4     [改行]
0003真田まさし   050静岡市清水区次郎町5-1        [改行]
0004松山千秋    048札幌市中央区時計台3-3        [改行]
0005吉田拓太郎   054福岡市博多区辛子明太町1-23     [改行]

このファイルでは、左から順に、

4バイト 
会員番号
16バイト 
氏名
3バイト 
年齢
40バイト 
住所
[改行]コード 
1行分(1件分)のデータの終了を示す

を表してみました。

  • レコードとは、今回のファイルでいえば1行分(1人分・1件分)のデータのことで、関係データベースで言う「タプル」に相当します。
  • フィールドとは、各データ項目(社員番号・氏名・年齢・住所)のことで、関係データベースで言う「属性」に相当します。

1つのファイルの中には個々のレコードがあり、1つのレコードの中には個々のフィールドがあるという、以下の図式が成り立ちます。この図式は、午前試験でたまに問われます。
ファイル > レコード > フィールド

OSが持つその他の機能[編集]

マルチタスク(マルチプログラミング)

マルチタスク(マルチプログラミング)とは、OSが同時に複数の仕事をこなすことができるという意味です。これも今日のPC用OSでは当たり前のことですが、たとえばWebサイトからファイルをダウンロードしながら、その間に文書を編集するといった処理が同時進行でできるよう作られたOSを「マルチタスクOS」と呼びます。

リアルタイム処理

リアルタイム処理とは、入力した処理の結果がすぐに返ってくるという意味です。マルチタスクOSが当たり前となった今日では、リアルタイム処理が当たり前のことではありますが、特に「バッチ処理(処理させたいデータをある程度ためてから、頃合をみて処理す方式)」の反対語として用いられることが多い言葉です。

排他制御(はいたせいぎょ)

排他とは、いわば「おまえ、あっち行け」と言った、のけものにすることを指す言葉です。人間世界ではあまり良い意味には使いませんが、コンピュータの世界では欠かせない考え方の一つです。たとえばLAN上のファイルサーバで共有されたWordのファイルを、誰かが編集しているとします。その途中で後から来た別の人が、同一のWordファイルを開こうとしたら、後の人のPCではそのファイルを編集させてはくれない仕組みが働きます。これが、OSが持つ排他制御の例です。

デッドロック

排他制御は便利な仕組みですが、排他制御には「デッドロック」と呼ばれる困った現象が起こる可能性がついてまわります。デッドロックとは、マージャンにたとえると「持ち持ち」の状態を表します。

【コラム】マージャンにおける「持ち持ち」とは? 
ある人が欲しい牌をもう一方が持っている、という関係が互いに成り立っていて、お互いに和了(あが)ることができない状態を指す言葉です。「Aさんが和了るために必要な牌Xを、Bさんが手離すのを待っている(Aさんは牌Yを抱えていて離さない)」「Bさんが和了るために必要な牌Yを、Aさんが手離すのを待っている(Bさんは牌Xを抱えていて離さない)」という場合です。

 排他制御のおかげで、マルチタスクで同時実行されている2つ以上のプロセス(プログラム)が、お互いにリソース(コンピュータ資源)の開放を待つ状態が延々と続くことがあります。これをデッドロックと呼びます。これは特に、マルチタスクを利用したソフトウェアやデータベースの設計時に、十分に考慮しないといけない問題です。

ヒューマンインタフェースの設計[編集]

インタフェース(interface)とは、日本語でいえば「接点」のことです。ヒューマンインタフェースとは、人間とコンピュータの接点、具体的にはコンピュータにとっての「外ヅラ」だととらえて下さい。

CUIとGUI

1990年代前半のPC、特にMS-DOSと呼ばれるOSを搭載していたPCでは、今日のWindowsでいうアイコンをクリックするかわりに、起動したいプログラム名をキーボードから打ち込んでEnterキーを押すことでプログラムを起動させていました。このように、コマンド(の文字列)をキーボードから入力しながら処理を進める形態を、CUI(Character User Interface)と呼びます(和製英語だそうです)。なお、ここでいうキャラクタとは「文字」という意味です。
ですが今日、PCというと、WindowsやMacOSなど、きれいな画面で操作できるPCが一般でしょう。統一感あるデザインの画面上で、やらせたい作業のアイコン(絵文字)をクリックすることで、ソフトウェアを起動したり必要なファイルを編集したりする、あれです。CUIが素っ気無い文字ベースのやり取りなのに対し、これらはカラフルなグラフィックスなので、GUI(Graphical User Interface)と呼ばれます(こちらは外人にも通用する英語です)。

GUIコンポーネント

この分野の出題ポイントは、GUIを構成する部品(GUIコンポーネント)の名前を問わせる問題です。具体的には、ボタン、チェックボックス、ラジオボタン、テキストボックス、プルダウンメニューの名称を覚えて下さい。他には、「画面遷移図(その実体は、状態遷移図)」を読ませる問題が、午前・午後ともに出題されることが多いです。詳しくは「状態遷移図」の項目をご覧下さい。

チェックボックスとラジオボタン 
チェックボックスとラジオボタンの決定的な違いは、チェックボックスは複数個(0個から全部まで)選択できるのに対し、ラジオボタンは1個だけしか選べない(これを「排他的に選択」と呼びます)、という違いがあります。
テキストボックスとテキストエリア 
2ちゃんねる等の掲示板システムには必須のものです。いわゆる「カキコミ」など、文字列を入力するための空欄のことです。テキストボックスが1行だけ入力できるのに対し、テキストエリアは複数行の文字列を入力できます。
プルダウンメニューとプルアップメニュー 
Windowsでいう、ウィンドウの上部に「 ファイル(F) 編集(E) 表示(V) 挿入(I) お気に入り(A) ツール(T) ヘルプ(H) 」と表示され、マウスでクリックすると下向きに伸びて表示されるメニュー項目が、プルダウンメニューです。対して、Windows画面の左下にあるスタートボタンのように、上向きに伸びて表示されるメニュー項目を、プルアップメニューと呼びます。


エンベデッドOS[編集]

エンベデッドOS(組み込みOS、とも訳されます)とは、PCほど大きくはないけど、立派にCPUを積んでいる装置(たとえば携帯電話やPDA、ちょっと複雑な家電製品など)に使われるOSです。有名なものではITRONや、WindowsCEなどがあります。

デバイスドライバ[編集]

PCなどのOSが、周辺装置を制御する際に使うソフトウェアのことです。今日では、制御用のソフトウェアはOSにほとんど組み込まれており、その組み込まれたソフトウェアに指示を与えるための詳細な設定項目一覧のことをデバイスドライバと呼びます。普通、周辺装置(特にPCIバスやPCカードといった、PCのハードウェアにベッタリと接続する装置)を買ってくると、その装置専用のデバイスドライバが、フロッピーディスクなどの形で同梱されています。

ミドルウェア[編集]

OSとアプリケーションソフトの中間に位置するソフトウェアを、ミドルウェアと呼びます。ミドルウェアは、さまざまな利用分野で共通に使える、基本的な処理機能を提供します。ミドルウェアに分類されるソフトウェアには、このようなものがあります。

DBMS (DataBase Management System) 
Microsoft SQL Serverなど、データベースの管理やSQLの実行環境を提供するソフトウェア
通信管理システム (ネットワークモニタ)
MRTGなど、ネットワークの混雑状況や装置の稼動状況を表示するソフトウェア
ソフトウェア開発支援ツール 
ソフトウェア開発の手助けをするCASEツール(Computer Aided Software Engineering)など


システムの構成技術[編集]

ディスクアレイ(Disk Array)

ハードディスクを複数個使う事で、アクセス速度の向上や、信頼性アップを目指す技術の総称です。主にRAID(Redundant Array of Inexpensive Disks)の技術が用いられます。

RAID0 
複数台のディスクスでストライピングし、アクセス速度を高速化する
RAID1 
複数台のディスクでミラーリングし、信頼性を向上させる
RAID3 
パリティディスクを1台用意し、いずれか1台が故障してもデータの復旧を可能とする
RAID5 
原理はRAID3と同じだが、パリティデータを分散させる


【コラム】排他的論理和とRAID3、RAID5 
RAID3とRAID5の処理を行うには「排他的論理和(はいたてきろんりわ)」と呼ばれる計算を素早く行わないといけません。
排他的論理和
入力1入力2出力
000
011
101
110

どれか一列(故障した1台のハードディスクと考えて下さい)のデータが消えたとしても、残りの列(生き残っているハードディスク)のデータ同士で排他的論理和の演算をすれば、故障した1台のデータが復旧できます。今日ではPCの基板(マザーボード)にRAID0やRAID1の機能が搭載されたものも売られています。ですがRAID3とRAID5は通常、専用の拡張ボード(多くはPCIバス)を買わないと構成できません。そしてそのボードは秋葉原では5万円程度と、300Gバイトのハードディスク(約1万円)を2台買うよりも高いため、RAID1とRAID5のどちらの構成を採用するかは迷うところです。

バッチ処理とオンラインリアルタイム処理

バッチ(batch)とはもともと、パンや陶器を釜で焼く時の1焼き分のことです。転じて、まとめて1束分という意味もあります。 コンピュータの世界でバッチ処理とは、仕事をある程度ためておいて、頃合を見てまとめて一気に処理を行う、という意味になります。たとえばマークシート解答用紙を人数分まとめて採点したり、ためておいた一ヶ月分の取引データを月末に一気に処理する、などです。
対してオンラインリアルタイム処理とは、仕事をためずスグに処理することです。たとえば銀行のATMでお金をおろす場合、数秒後には処理が終わってくれますが、これはオンラインリアルタイム処理の一つの例です。なお、呼べば応えるような処理なので「対話型処理」という言葉も同じ意味で使われます。
なおマイクロソフト社のOSの用語「バッチファイル」は、綴りは同じですが、今回のバッチ処理とは全く違う意味の言葉です。

集中処理と分散処理(クライアントサーバシステム)

汎用機(メインフレーム)に処理を集中させるTSS(Time Sharing System)処理は、1990年代前半頃まで一般に用いられてきた処理形態でした。しかしたとえば、PC200台分の性能を持った1台の汎用機に処理を集中させるのと、PCを200台買ってきてLANで接続するのでは、後者のほうがはるかに安くつくことに世間が気づき始めました。
そこで今日では、処理を各PCに分散させ、専門的な処理が必要な場合にはサーバを用いる「クライアントサーバシステム(CSS : Client Server System)」と呼ばれる処理形態が一般的となりました。
クライアントサーバシステムにより、お値段は格段に安くなりました。ですがコンピュータの運用管理の点では、集中処理の場合はほぼ一ヶ所(中央のみ)を押さえておけば済んでいたものが、分散処理の場合はエンドユーザ側にも負担がかかる、という問題点があります。 エンドユーザコンピューティングの推進役である初級シスアドとしては、運用管理は大事な仕事の一つとなり、また試験出題の重要なポイントでもあるのです。

集中処理と分散処理を比べると…
比較項目集中処理(マスタスレーブシステム)分散処理(クライアントサーバシステム)軍配
エンドユーザ教育の手間そもそもユーザに触らせないユーザが多いので面倒集中処理
処理能力の価格性能比低い(ハードの単価が高い)高い(ハードの単価が安い)分散処理
セキュリティの高めやすさ守るべき箇所が限られている全体を守らないといけない集中処理
システム全体の信頼性高い(古くからの実績あり)低い(故障率が高い)集中処理
拡張性低い(やや面倒)高い(非常に簡単)分散処理
インターネットとの親和性最近は高くなりつつある非常に高い分散処理


3層クライアントサーバシステム(3層C/S)

特にデータベースを用いる処理では、実際のデータベースをアクセスする処理はサーバに任せて、クライアントは画面表示に徹する、という形をとることがあります。その場合の構築の考え方として、「3層クライアントサーバシステム」という考え方があります。これはシステム(特にデータベースのシステム)を論理的に「プレゼンテーション層」「ファンクション(アプリケーション)層」「データベース層」の3つの階層に分け、それぞれ別々のコンピュータに役割を振り分ける考え方です。そのメリットは、各コンピュータに機能を振り分けるメリットは、どこかの層に変更が加わったとしても、他の層の変更が最小限で済むことです。

各層の名前各層の役割実体
プレゼンテーション層データの表示や入力を担当する層検索結果を表示するソフトや、ブラウザがインストールされた、クライアントのPC
ファンクション (アプリケーション)層業務処理を行うプログラム(アプリケーションソフト)や、Webサーバ機能を実現させるソフトの層アプリケーションサーバや、Webサーバ(IISやApache)
データベース層実際のデータ管理(データ格納など)を担当する層DBMSがインストールされたデータベースサーバ


ストアドプロシージャ

3層クライアントサーバシステムで、データベース検索することを考えましょう。そして検索するたびに、クライアントPCからサーバに向かってSQLステートメントが少しずつ流れるとします。 これでは通信回線の無駄使いにもなりますし、なにより辛気臭いです。 そこで、よく使うSQLステートメントをあらかじめサーバ側に登録しておいて、それに名前をつけておくと、クライアントPCからはその名前を指定するだけですぐに検索処理を行うことができます。この、よく使うSQLステートメントの集まりのことを「ストアドプロシージャ」と呼びます。

分散データベース

何台かのデータベースサーバに同じデータを重複して持たせる構成を、分散データベースと呼びます。これによりサーバ1台あたりの負荷を減らせるメリットがありますし、たとえば東京本社と大阪支店のデータベースサーバに同じデータを持たせておけば、東京本社だけにデータを置いておく場合に比べて、全体の通信量を減らすこともできます。

2相コミットメント

分散データベースを用い、複数台のデータベースサーバで同じデータを共有する場合には、どこかの拠点で書き換わったデータを他の全てのデータベースサーバに反映させなければなりません。その際に使われるのが、2相コミットメントと呼ばれるやり方です。簡単に言えば、「みんな、データを書き換える準備は良いか?」と問いかけ、全員からのOKの返事が来てから「では、書き換えて下さい」と指示し、全員からの書き換え完了の通知を得てから処理を終了する、という2段階を踏む仕組みです。
なお、一台でも異常があったならば「ロールバック」と呼ばれる、いわば「なかったことにする処理」を行い、再度2相コミットメントを試みます。
なおロールバックの反対語「ロールフォワード」は、データベースの障害回復(システムが停止した際、再度データベースを復旧させる)の際に行われるもので、障害発生までに行われたデータ更新の内容を、更新ログを基にして忠実にたどる処理を指します。

トランザクション管理

トランザクションとは「一件分の処理」と考えて下さい。マルチタスクOSのコンピュータでは、トランザクションが2本以上、平行して実行されることがあります。そこで欠かせないのが排他制御(共有ロック、占有ロック)です。排他とは「お前、あっちへ行け」という意味の言葉ですが、あるトランザクションが作業の途中に他人にいじられたくないデータがあった場合に、そのデータにロックをかける処理のことを排他制御と呼びます。 あるトランザクションがデータにかける排他制御には、大きく分けて2種類あります。

共有ロック 
他のトランザクションが参照するだけなら、許可されます(データの更新はさせません)。
占有ロック 
他のトランザクションには全く触らせません(データの更新も参照もさせません)。


システムの構成方式[編集]

デュアルシステム、デュプレックスシステム

ともにシステムの信頼性を上げるための仕組みで、たいへん紛らわしい用語ですが、その違いを見てみましょう。

デュアルシステム
2台のシステムで同じ処理をさせて、出てきた結果が同じ値ならば、その答えを信用するというやり方です。ここ一番でのミスが許されないシステム(軍事防衛や宇宙開発など)に使われる方式で、高い信頼性ですがお金のかかるシステムです。
デュプレックスシステム
2台のシステムを用意し、片方がダウンしたら、予備であるもう片方を使うやり方です。予備のシステムがどのように待っているかで、以下の3種類に分けられます。
ホットスタンバイ  予備のシステムには常に電源が入っていて、瞬時に切り替えられる
ウォームスタンバイ 予備のシステムには電源は入っているが、普段は別の用途に使われている
コールドスタンバイ 予備のシステムは、電源すら入っていない


システムの性能[編集]

「待ち行列理論」の応用[編集]

待ち行列理論とは、処理の窓口(郵便局の窓口やWebサーバなど、何らかの処理を到着順に受け付ける窓口)の混み具合によって、処理を待たされる時間がどのように変化するかを予測する、OR(オペレーションズリサーチ)手法の一つです。
ここでは一例としてM/M/1待ち行列モデルの計算式を挙げます。この数式を用いると、待たされる平均時間がおよそ見積もれます。
平均待ち時間
なお、窓口利用率は忙しさを表す率であり、Tsは平均サービス時間です。たとえば、1時間あたり24人の来客があり、来客1件あたり平均2分の処理時間がかかる場合には、 窓口利用率
Tsは2分なので、で、平均8分待たされる、と見積もられます。
ところで、Tsを定数とすると、窓口利用率 ρ の値によって、平均待ち時間が変わってきます。

  • ρ が0.1の時、平均待ち時間は約13秒
  • ρ が0.5の時、平均待ち時間は2分
  • ρ が0.8の時、平均待ち時間は8分

窓口が処理の限界に近づくほど、並んでいて待たされる時間が長くなることがわかります。実生活でもそうですね、急な仕事が入った場合、暇な時だとすぐに対応できますが、忙しい時だとなかなか対応できないものです。そしてこの待ち行列理論のグラフは、CSMA/CD方式のLANであるイーサネット(共有のLAN媒体にアクセスが集中すると、コリジョンによってLANが使い物にならなくなる)や、車の量が倍に増えただけで渋滞になってしまう道路などもこの理論で説明がつきます。

性能計算[編集]

レスポンスタイム、ターンアラウンドタイム
レスポンスタイム(平均応答時間) 
前述の「待ち行列理論」などで求めた「平均待ち時間」に、自身の処理をしてもらう時間を足した上で、処理結果が返ってき始めるまでの時間を指します。
ターンアラウンドタイム 
上記のレスポンスタイムに、処理結果が全て返ってくるまでの時間を足した値を指します。

たとえば、クライアントのWebブラウザにURLを打ち込み、Enterキーを押したとします(この瞬間にストップウォッチを押します)。そしてしばらく待って、あて先のWebサーバが処理をした後に、返答であるHTMLデータを送り返し始めます。

  • クライアントのWebブラウザで表示が始まる瞬間までの時間、それはレスポンスタイムです。
  • そしてそのまま計り続け、全てのHTMLデータが表示され終わるまで計ると、それがターンアラウンドタイムです。

運用しているシステムのレスポンスタイムを体で覚えておくと、「今、Webサーバにアクセスが集中しているな」といったネットワーク診断が、勘でできるようになります。

スループット

スループット(実効速度)とは、その名の通り「実際に使い物になるスピード」のことです。たとえばイーサネット(CSMA/CD)、特に全二重対応していない10BASE2や10BASE5などでは、先の待ち行列理論のグラフにもあるように、10Mビット/秒の限界近くまで使おうとするとLANとして使い物にならなくなります。条件にもよりますが、伝送効率はせいぜい30%位で考えておいて下さい。そしてこの場合のスループットは、3Mビット/秒と言えるわけです。

ベンチマーク

「情報化と経営」分野で出てくる用語「ベンチマーキング」との混同に注意して下さい。
コンピュータの性能評価におけるベンチマークとは、システムの性能を測る時の指標のことです。たとえばパソコン雑誌、特に自作PCが好きな人が読む雑誌には、最新のPCの処理能力を多角的に比べるグラフ(たとえばMS-Wordのマクロばかりを処理させてみたり、ゲームソフトであるFINAL FANTASYの画面表示の速さを競ってみたり)がいっぱい出ていますが、これらこそがベンチマーク(ベンチマーク・テスト)です。

システムの信頼性・経済性[編集]

稼働率(アベイラビリティ)の計算

稼働率の計算問題とは、いわば「ある瞬間に、システムが使いものになっている確率」を計算することです。まずは「稼働率」と「故障率」という言葉を覚えて下さい。
たとえば稼働率が0.9という値だったとすると、

  • 「10時間のうち、平均9時間は動いている」
    • (逆に言えば、平均1時間は壊れている)
  • 「ある瞬間にそのシステムを見たときに、動いている確率は90%」
    • (逆に言えば、壊れている確率は10%)

という意味です。そして故障率は、「システムは、動いているか故障しているかの、どちらかしかない」と考えるため、故障率 = (1 - 稼働率)の式で求まります。
この手の計算問題を解くために覚えていただく用語は、MTBFとMTTRです。ここでは、システムは「動いている」か「(故障などで)止まっている」かのどちらかの状態しかない、とします。そして動いている時間のことをMTBF、止まっている時間のことをMTTRと呼びます。システムは「動いている」か「止まっている」かのどちらかの状態しかないため、(動いている時間+止まっている時間)でトータルの時間が求まります。そして稼働率とは、「トータルの時間のうち、動いている時間の割合」のことですので、稼働率はこう定義されます。この式は覚えて下さい。

稼働率 = 動いている時間 ÷ (動いている時間 + 止まっている時間)
詳しく言うと、MTBF(Mean Time Between Failure)は「平均故障間隔」とも呼ばれ、システムが動き始めてから故障するまで(故障したものは修理して再使用)の平均時間を表します。そしてMTTR(Mean Time To Repair)は「平均修理時間」とも呼ばれ、システムが壊れてから修理してまた動くまでの平均時間を表します。

【例題】 
初級シスアド平成14年秋期午前問16

あるシステムにおいて,MTBFとMTTRがともに1.5倍になったとき,アベイラビリティ(稼働率)は何倍になるか。

  • ア 2/3
  • イ 1.5
  • ウ 2.25
  • エ 変わらない


MTBFとMTTRから稼働率を求める数式を覚えていないと解けない問題ですが、覚えていれば小学校の算数のレベルです。答はエだと求まりましたでしょうか。

稼働率の計算[編集]

初級シスアド試験で確率の問題を問わせる場合、システムの稼働率にからめて出題するパターンが多いです。ここでは稼働率を用いての出題パターンを見てみましょう。
なお、システムは「きまぐれな時に壊れ、きまぐれな時間が経てば勝手に復旧する」というのが、この手の計算問題の大前提です。そのため、ただの確率計算の問題だととらえて解いて下さい。

直列の場合の、全体の稼働率

2台のシステムがあって、先のシステムで処理したデータをもとに後のシステムが処理する(ダイヤルアップルータの次にPCが来る、など)、とします。

----[ A ]---[ B ]----

そして、それぞれの稼働率が、0.8と0.7だとします。この場合の、2台あわせた「システム全体の稼働率を求めよ」という場合の解き方は、単に掛け算で求めます。

システム単体の場合の稼働率より、どうしても小さい数字になりますね。

並列の場合の、全体の稼働率

次に、2台のシステムがあって、そのうちどちらか1台でも動いていればとりあえずOK、という場合の稼働率の計算を考えます。

     +--[ A ]--+
----+         +----
    +--[ B ]--+

これには公式があります。

全体の稼働率 = 1 - (1 - 稼働率A) × (1 - 稼働率B)
           = 1 - 故障率A × 故障率B


実際に計算する問題が出た場合に備え、全部の組み合わせとそれが起こる確率を書き出す方法も覚えておいて下さい。ここで○印は稼働している、×印は壊れているという意味です。

システムAシステムBそれが起こる確率その値を採用?
○(0.8)○(0.9)0.72はい
○(0.8)×(0.1)0.08はい
×(0.2)○(0.9)0.18はい
×(0.2)×(0.1)0.02いいえ

2台のうち1台でも○であれば構わないので、その値を採用するかどうかは右端の列のようになります。そして、採用する確率の値を、すべて足し算してやればOKです。ですのでが求まりす。
システム単体の場合の稼働率より、大きな数字になりますね。信頼性の高いシステムを組む時の考え方の一つに、このように「システムを二重化する」というものがあります。ちなみに先ほどの公式は、ここでいう「いいえ」の行の値を求め、それを1から引いた値を求める式です。

【例題】初級シスアド平成13年度秋期午前問12 
稼働率Rの装置で構成された,図のようなシステム全体の稼働率を表す式はどれか。ここで,並列に接続されている部分は,どちらかの装置が稼働していればよく,直列に接続されている部分は両方の装置が稼働していなければならない。
    +--[ R ]--+  +--[ R ]--+
---+         +--+         +---
   +--[ R ]--+  +--[ R ]--+

ア (1-(1-R2))2 イ 1-(1-R2)2 ウ (1-(1-R)2)2 エ 1-(1-R)4

【解き方】 
並列になっている部分を先に求め、その値が左右に直列になっている、と考えます。並列になっている部分1ヶ所は、(1-(1-R)×(1-R))から、(1-(1-R)2)になります。それが左右に2つあるため、直列とみなして(1-(1-R)2)2となり、答はウになります。更に解く時間を短縮するには、Rに計算しやすい数字(0.9など)を入れて、図から稼働率(0.9801)を求め、その数字と同じ答が求まる数式を四択から選んであげてください。


【応用】 
3台のシステムA,B,Cがある。それぞれの単体の稼働率は,0.7, 0.8, 0.9 である場合の、全体の稼働率を求めたい。
  • 問題1 「3台中、1台が動いていればOK」の場合の稼働率
  • 問題2 「3台中、2台が動いていればOK」の場合の稼働率
  • 問題3 「3台中、3台とも動いていればOK」の場合の稼働率
【解き方】 
すべての組み合わせを書いてみます。
いいえ
システムAシステムBシステムCそれが起こる確率問題1の条件で採用?問題2の条件で採用?問題3の条件で採用?
○(0.7)○(0.8)○(0.9)0.504はいはいはい
○(0.7)○(0.8)×(0.1)0.056はいはいいいえ
○(0.7)×(0.2)○(0.9)0.126はいはいいいえ
○(0.7)×(0.2)×(0.1)0.014はいいいえいいえ
×(0.3)○(0.8)○(0.9)0.216はいはいいいえ
×(0.3)○(0.8)×(0.1)0.024はいいいえいいえ
×(0.3)×(0.2)○(0.9)0.054はいいいえいいえ
×(0.3)×(0.2)×(0.1)0.006いいえいいえいいえ


【正解】 
それぞれの条件で、○の行の値を足すと、
  • 問題1:0.994
  • 問題2:0.902
  • 問題3:0.504

が求まります。

信頼性設計

試験によく出る用語(5つの“フ”)は、以下の4つに分類できます。違いをしっかり押さえておいて下さい。

フールプルーフ(fool proof) 
使用者が、操作を間違えようにも間違えられないように作っておくこと。
フェールセーフ(fail safe) 
故障した信号機が赤信号のままになるなど、システムに障害が発生しても安全な側へと働くこと。
フェールソフト(fail soft) 
システムに障害が発生しても、全面停止には至らないように作っておくこと。なお、フェールソフトで辛うじて動き続けている状態を、縮退運転(フォールバック(fall back))と呼ぶ。
フォールトトレラント(fault tolerant) 
システムに障害が発生しても、本来の性能をすべて維持しながら運転し続けるように作っておくこと。


信頼性評価とRAS(Reliability, Availability, Serviceability)


システムの信頼性を語る上で出てくる用語、RAS(Reliability, Availability, Serviceability)とは、以下の3種類の特性を言います。なお、通信ネットワーク用語のRAS(Remote Access Server:プロバイダ側でダイヤルアップ接続を受け付ける装置)とは全く別物ですので注意して下さい。

信頼性(Reliability) 
システム障害の起こりにくさ。MTBFの長さで表されます。
可用性(Availability) 
システムが使い物になっている確率。いかに稼働率が1(100%)に近いかで表されます。
保守性(Serviceability) 
システムに障害が起こった場合、修理のしやすさ。MTTRの短さで表されます。


【コラム】 
RASIS(Reliability, Availability, Serviceability, Integrity, Security)

RASISとは、上記のRASに以下の2点を加えたものです。

完全性(Integrity) 
複数のユーザがシステムを使ったとしても、データが一貫していること。排他制御の良し悪しなどで決まってきます。
安全性(Security) 
処理されるデータが外部へと漏れず、秘密に保たれていること。


経済性(システムの採算)

採算性の計算については、中学校レベルの連立方程式で解ける出題が中心です。

バスタブ曲線

風呂のバスタブを横から見たような形のグラフであることから名付けられました。多くの方に経験があると思いますが、買ってきた工業製品が一番故障しやすい時期というのは、買ってすぐ(数週間以内)の時期です。これを初期故障と呼びます。その時期が済むと、ときたま故障(偶発的故障)するけども、おおむね安定して動いてくれる時期が長く続き、やがて古さからくる故障(経年劣化)で悩まされる時期が来ます。これをグラフで描いたものが、バスタブ曲線です。

【コラム】 
このバスタブ曲線は、そのまま「製品を買う際の(相対的な)コスト」にもあてはめられます。まず新製品は、新技術が投入されていたりして割高なのが普通です。やがて「市場で“こなれてきた”時期」が続いた後で、やがては同じものを入手しようにもなかなか入手できない時期がやってきます。システム構築の際は、あまりにも新技術に手を出しすぎたり、あまりにも古い技術に固執したりすると、トータルコストが高くつく要因となることを肝に銘じておきましょう。


章末問題[編集]

この章で学んだことを確認しましょう。

問題 解答・解説
2MバイトのビデオRAMを用い、1024×768ドットで表示可能な色数は、以下のどれか。
  • ア. 16色
  • イ. 256色
  • ウ. 65536色
  • エ. 16777216色


フロッピーディスクを次の仕様でフォーマットしたとき,容量は約何Mバイトか。(総トラック数:160,セクタ数/トラック:9,セクタ長(バイト):512)
  • ア. 0.5MB
  • イ. 0.7MB
  • ウ. 1.2MB
  • エ. 1.4MB