「初級システムアドミニストレータ/コンピュータシステム」の版間の差分

削除された内容 追加された内容
Ldays (トーク | 投稿記録)
編集の要約なし
タグ: モバイル編集 モバイルウェブ編集
Ef3 (トーク | 投稿記録)
<table class="wikitable">
8 行
=== コンピュータの種類 ===
; パーソナルコンピュータ(PC:Personal Computer)
: この試験を受けるには、ある程度のPCの基礎知識が必須です。ですが特に説明は不要ですね。OSは、WindowsやMacOSを搭載しているものが一般的です。<br>
; PDA(Personal Data Assistance)
: おもに個人の情報管理を行うために、持ち歩きに便利なサイズの情報端末のことです。スケジュール管理や住所録などの機能が入っています。シャープの液晶ザウルスや、iモードなどの携帯電話端末にこの機能を盛り込んだものも、PDAに含みます。
 : 近年はノート型PCだけでなく、PDAを営業担当者に持たせて、客先での商談に活用する事例が増えています。生命保険の見積もり機能をPDAに盛り込み、客の目の前で見積もりができる、などの例があります。<br>
; ワークステーション(WS:Work Station)
: サン・マイクロシステムズ社の[http://jp.sun.com/products/desktop/ws/index.html ワークステーション]が有名です。今日ではPCとワークステーションの役割上の違いはほとんど無いですが、特に高性能が要求されるCAD分野(建築や電子設計など)やCAM分野(車の衝突シミュレーションなど)、コンピュータグラフィックス分野などで好んで用いられています。多くはOSとして、UNIXを搭載しています。<br>
; 汎用コンピュータ(メインフレーム)
: 汎用機とも呼ばれます。[http://www.sw.nec.co.jp/acosclub/ NECのACOS]や、[http://www.hitachi.co.jp/Prod/comp/Mparallel/AP8000/index.html 日立のエンタープライズサーバ]が有名です。ハードウェアの単価は高価ですが、そのかわり長く培われた技術のため信頼性が非常に高く、過去の資産(蓄積されたデータやソフトウェア)を活かせることから、金融機関や保険・証券業の、基幹系(業務の生命線を握る部分)に根強い人気があります。また今日では、ハイエンドサーバとしての位置付けが注目されています。<br>
; HPC(High Performance Computer)
: スーパーコンピュータとも呼ばれます。科学技術、特に気象予測や天文、核物理学、ゲノム解析などの分野で用いられます。[http://www.es.jamstec.go.jp/ 地球シミュレータ]が有名です。<br>
 
=== ハードウェア ===
; 集積回路(IC、LSI(Large Scale IC))
: 集積回路(IC)は、Integrated Circuitの略です。その作り方は、半導体(主にシリコン)の薄板上に、写真製版と似た技術を使って細かく電子回路を作り込んでいきます。<br>
; 主記憶装置と補助記憶装置
; 主記憶装置 : 物理的にも電気的にもCPUの割と近くにあって、データやプログラムを頻繁に書き換えたい場合に使う記憶装置です。一般には、RAMのIC(PCでは、DIMMと呼ばれるメモリモジュール)が、これにあたります。
; 補助記憶装置 : CPUが直接アクセスしに行けない場所にある記憶装置です。補助記憶装置に入っているデータを扱う場合は、一度そのデータを主記憶装置に持って来ないといけません。ハードディスクやCD-ROM、DVDなどが、これにあたります。
; 情報素子(RAM(ラム)とROM(ロム)の違い)
: 集積回路で作られたメモリICにおいて、電源を絶たれた時(PCの電源OFFなど)に、それまで記憶していた内容が消えてしまう性質(これを「揮発性」と呼びます)のメモリがRAMで、消えない性質(不揮発性)のものがROMです。なお、CD-ROMやDVD-RAMは集積回路ではないため、ここには分類されません。<br>
; SRAM(Static RAM)とDRAM(Dynamic RAM)の違いについて
: データの最小構成である1ビットを記憶させるために、SRAMではフリップフロップ回路と呼ばれる回路を用います。それに対してDRAMは、キャパシタ(コンデンサ)を用い、そこに電荷(静電気)がたまっているか否かで1ビットを表します。SRAMはその高速性から、CPU内部など高速にデータを書き換えたい場所に使われることが多く、DRAMはSRAMに較べて(同じ記憶容量あたり)安く作れることから、大容量が好まれる主記憶装置に、よく用いられます。<br>
; フラッシュメモリ
: ディジタルカメラの画像データ保存用や、USBメモリに用いられています。ROMに分類されますので、一度書き込んだ内容はバックアップ電源なしでも消えません。また、何度も消しては再書き込みができます。フラッシュメモリは「セクタ」と呼ばれる区画ごとにメモリ領域を管理していて、データはセクタ単位で消去・再書き込みができます。
 
<br>
: 【{{コラム|フラッシュメモリの語源|
:: セクタ単位で「パッ」と消せるという、この「パッ」というイメージが、カメラのフラッシュのようなので、この名前になったそうです。日本の東芝が発明しました。}}
; CPU(MPU・マイクロプロセッサ)
: コンピュータシステムの中で、主に演算処理を行う装置を指す言葉です。中央処理装置(Central Processing Unit)とも呼ばれます。汎用コンピュータ(メインフレーム)では、CPUは巨大な装置を指していましたが、今日のパーソナルコンピュータではIC化されたMPU(Micro Processing Unit)を指します。<br>
; CCD(固体撮像素子)、CMOSイメージセンサ(CIS)
: 主にディジタルカメラやテレビカメラの受光部に用いられる、映像を取り込むための素子です。また、CCDと同様の機能を持ちながら、CMOSプロセスを採用することで消費電力とコストを抑えたCMOSイメージセンサのシェアが最近伸びています。今日の携帯電話のカメラの多くは、このCMOSイメージセンサが使われています。<br>
 
=== プロセッサアーキテクチャ ===
; CPUクロック
コンピュータのCPUが演算処理を行う際には、CPUの回路内部で、処理する回路同士でタイミングを取りながら(これを「同期をとる」と呼びます)処理をこなしています。これは丁度オーケストラの指揮者が、各楽器間のタイミングをとるのと同じです。そしてCPUにとっての指揮者のような存在が“CPUクロック”です。一般には、同一のCPUであればクロック数の値が大きいほど(クロックサイクルが早いほど)演算スピードが速くなり、ひいては処理能力が高くなると言えます。<br>
; CPUクロックの波形
: CPUが演算処理を行う際の、いわば指揮者のような存在が、CPUクロックでした。CPUクロックの速さの単位は、ヘルツ(Hz)を用います。信号のオンとオフの定期的な繰り返しによる電圧の変化を、波とみなします。一度オンになってから次にオンになるまでの時間の幅が、1クロックの幅です。<br>
; 【例題】 : 1GHzのクロックの、1サイクル分の時間は、何ミリ秒・何マイクロ秒・何ナノ秒になるでしょうか?それぞれ換算して下さい。
; 【解答】 : 1GHzなので、10億分の1秒ごとにオン・オフされます。
49 ⟶ 50行目:
= 0.001マイクロ秒
= 1ナノ秒
 
<br>
; MIPS値(ミップスち)
MIPS(Million Instructions Per Second)とは、CPUの処理能力を表す指標の一つで、1秒あたりCPUが処理できる命令語の個数(単位は100万)を表す値です。たとえば50MIPSとは、1秒あたり<math>50\times 1000000=50000000</math>なので、5000万個の命令をこなせる、という意味です。
 
<br>
; 【{{コラム|CPUのクロックアップ : |しばしばPCの手軽な高速化手段として、PCユーザがCPUクロック数を高めに設定変更することで高速化する“クロックアップ”が行われます。これを個人が自己責任で行うのは勝手ですが、CPUの発熱が大きくなり、PC全体の耐久性や信頼性を損なうため、仕事で使うPCをクロックアップすることは厳に慎むべきです。}}
 
=== メモリアーキテクチャ ===
; メモリキャッシュ
69 ⟶ 71行目:
  ア 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バイト)を選んでください。
 
<br>
=== 補助記憶装置 ===
; ハードディスク(HD)
79 ⟶ 81行目:
==== 光磁気ディスク(MO) ====
レーザ光線で熱し、冷える瞬間に磁場をかけることで、磁気データを記録するものです。過去に書き込んだデータの消去や、再書き込みも可能です。オーディオ用のMD(Mini Disk)も同じ原理を利用しています。
 
<br>
; 磁気テープ(MT)
もともとディジタル録音用であったDAT(Digital Audio Tape)など、磁気テープにデータを記録するものです。サーバのデータをバックアップする際によく用いられます。DDS-4などのテープストリーマもMTに分類されます。数10Gバイト単位の大容量データをバックアップできますが、バックアップに数時間から一晩かかる事もあるので、頻繁なバックアップには向きません。
 
<br>
; 半導体ディスク
USBメモリが代表的です。ハードディスクと同様に扱うことができる装置ですが、磁気ディスクのかわりにICメモリを用いるため、アクセス時間の短縮が図れます。また衝撃に強いことから、航空機のボイスレコーダ等にも用いられています。<br>
99 ⟶ 101行目:
* 入手性
バックアップは定期的に(日次・週次・月次バックアップ)行い、複数世代(もしバックアップ先が故障しても、最悪の事態を避けられる)に渡ってとるのが理想です。また、データ保存専用のネットワークであるSAN(Storage Area Network)や、LAN上のファイルサーバから発展したNAS(Network Attached Storage)を利用し、そこをバックアップ先とする運用方法も、最近のトレンドです。
 
<br>
=== 補助記憶装置の容量計算 ===
補助記憶装置、特にハードディスクやフロッピーディスクの記憶容量を計算問題が、午前試験でよく出題されます。キーワードとして、同心円状の「トラック」と、扇形の「セクタ」との違いを押さえておきましょう。
; 【例題】初級シスアド平成13年春期午前問3 : フロッピーディスクを次の仕様でフォーマットしたとき,容量は約何Mバイトか。
<table borderclass="1wikitable">
<tr><th>総トラック数</th><td>160</td></tr>
<tr><th>セクタ数/トラック</th><td>9</td></tr>
109 ⟶ 111行目:
</table>
 ア 0.5  イ 0.7  ウ 1.2  エ 1.4
 
<br>
 この例題の場合、<b>全ての値を掛け算すれば求まります</b>。<br>
 磁気ディスクではディスク内を、トラックと呼ばれる同心円と、セクタと呼ばれる扇形の区切りで管理していることも押えておきましょう。<br>
; 【{{コラム|ファイルのアーカイブとアーカイバ : |関連のある複数のファイル(実行可能ファイルと、その取扱説明書ファイルなど)をまとめて1つのファイルとすることを、ファイルのアーカイブと呼びます。これによって、1回のダウンロードのみで必要なファイル群を手に入れることができるため、管理上のメリットがあります。アーカイブを行うためのユーティリティツール(ソフトウェア)をアーカイバと呼び、主にPCで用いられるZIPやLHA、主にUNIX系OSで用いられるtarが有名です。なおZIPやLHAは、アーカイブと同時にファイルを圧縮する機能も持っているため、これらを用いてファイルを圧縮する事をアーカイブと呼ぶ場合もあります。ですが本来、アーカイブとファイル圧縮とは、区別して考えるべき事項です。}}
 
<br>
=== 補助記憶装置の性能計算 ===
; ディスクのフラグメンテーション(fragmentation)
122 ⟶ 124行目:
* ウ 参照頻度の高いファイルを磁気ディスク装置内の連続した領域に格納する。
* エ 参照頻度の高いファイルを同一のディレクトリ(フォルダ)に格納する。
 
<br>
; 【考え方】 : シーク動作とは、ハードディスク内部の磁気ヘッドが動く時のカラカラ音のことです。このカラカラができるだけ少なくなる(平均シーク時間の短縮)ようにするためには、ウのようにディスク上の連続した領域にデータが書き込まれている形が理想です。
 
<br>
; 【{{コラム|デフラグツールあれこれ : |Windowsに標準で入っている「ディスクデフラグ」も悪くないのですが、シマンテック社「ノートン・システムワークス」に入っているデフラグツールが、Windows PC用のデフラグツールとしては最強のように思います。いずれの場合でも、デフラグを実行させる際は<b>動作している他のソフトウェアは全て終了させた上で、寝る前に開始して朝に終わらせる</b>のがコツです。}}
 
<br>
=== 入出力アーキテクチャと装置 ===
; 入出力インタフェースについて
135 ⟶ 137行目:
; シリアルバス(serial bus) : データを、1本の信号線をオン/オフさせることでビットを送るイメージです。USB、シリアルATA、RS-232C、イーサネットのツイストペアケーブルは、シリアルでデータを送り届けています。
; パラレルバス(pararell bus) : シリアルバスが複数本あって、平行して一度にデータを送るイメージです。PC基板とハードディスクを接続するためのATAやSCSIなどは、パラレルでデータを送り届けています。
 
<br>
; PC基板に、拡張ボードを接続するためのバス
; PCIバス : 今日のPCに一般的に採用されている規格です。
141 ⟶ 143行目:
; PCI Expressバス : PCIを基にした、ビデオコントローラを接続する際に有利なバスです。
; ISAバス : 以前ののPCに一般に採用されていたバスで、今日では主流の座をPCIバスに譲りました。
 
<br>
; PC基板と、内蔵ハードディスクとを接続するためのバス
; シリアルATA (またはSATA) : 今日の新しいPCの主流です。従来のATAに比べて細い(扱いやすい)ケーブルで接続でき、高速な伝送に対応しています。
148 ⟶ 150行目:
; eSATA (external SATA) : シリアルATAが主に「内蔵」ハードディスクを接続するのに対し、eSATAは「外付け」ハードディスクの接続に向きます。
; SAS (Serial Attached SCSI) : SCSIインタフェースのシリアル版とも呼べます。シリアルATAとの間で上位互換性があります。
 
<br>
; PC本体と、周辺機器とを接続するインタフェース
; USB(Universal Serial Bus) : USBは、PCと周辺機器を接続する際に一般に用いられるシリアルインタフェースで、USBハブを介して最大127台までの周辺機器をつなげることができます。
157 ⟶ 159行目:
; GPIB : 計測機器・医療機器・分析機器の業界では比較的標準的なインタフェースです。SCSIに似てパラレル伝送で、デイジーチェーン接続で最大15台までのデバイスを接続することができます。
なお、今日のPCでは、RS-232CやISAバスなどの古くからあるインタフェースがPC基板設計上のネックとなることが多いため、これらに替わってUSBやIEEE1394、PCIなどのインタフェースに絞った基板設計、いわゆる「レガシーフリー」と呼ばれる設計のPCが一般的です。
 
<br>
; 【{{コラム|パラレル伝送よりもシリアル伝送の方が速い? :| 実は、世のトレンドは、シリアル伝送です。一昔前までは、どう見てもパラレル伝送の方が(データをまとめて送ることができるため)高速とされてきましたが、最近ではパラレル伝送にも限界があることが知られてきました。特に、複数本の信号線の間で同期をとるタイミングをとりにくい問題や、あまり信号帯域を高くとると<b>信号線が電波を受発信するアンテナのように振舞ってしまい、隣近所の信号線に混信してしまう</b>クロストークと呼ばれる現象の問題があります。そのため、パラレル伝送にこだわるよりも<b>シリアル伝送で回路も単純化した方が、結果として速い</b>というのが、最近のトレンドです。SCSIのシリアル版とも呼べるSASや、LVDS(Low Voltage Differential Signaling)と呼ばれるシリアル伝送技術(TIA/EIA-644)は、600Mビット/秒以上の伝送速度を手軽に扱えることから、今後の普及が期待されています。}}
 
<br>
 
=== 入出力装置の種類と特徴 ===
; キーボード、ポインティングデバイス
ポインティングデバイスとは、マウスなどGUI画面上の位置を指し示すための装置です。ここでは特に説明しません。
 
<br>
; OCR(Optical Character Reader)
活字印刷や手書きの文字を、コンピュータにデータとして取り込む仕組みの総称です。たとえば郵便番号を読み取って自動的に仕分ける装置や、「読んde!ココ」などスキャナから活字を読み取るソフトウェアが、これにあたります。なお、<b>マークシートを読み取るものはOMR(Optical Mark Reader)</b>と呼びます。
 
<br>
; ディスプレイの種類
; TFT液晶 : 今日の液晶ディスプレイの、主流となっている方式です。なお<b>液晶ディスプレイは自分では発光せず、バックライトと呼ばれる光で後ろから照らしてやる</b>必要があります。同じ画面サイズのCRTより、消費電力を低く抑えられます。
174 ⟶ 176行目:
; CRT : ブラウン管を使ったディスプレイです。古くからあり値段も安いですが、消費電力や重さの点で液晶ディスプレイに劣ります。
; STN液晶 : 最近は中古品としても見かけなくなったタイプです。TFT液晶よりも低コストで作れるのがメリットですが、画質や視野角の点でTFT液晶に劣ります。
 
<br>
; プリンタ
プリンタについての出題は、<b>dpi(Dot Per Inch)という単位を覚えて下さい</b>。これはプリンタの性能を表す単位で、1インチの長さに何ドットを印刷できるかを表す値です。
たとえば100dpiのプリンタだと、1インチ(約2.54cm)の長さに100ドット印刷できるため、1インチ四方だと10,000ドットの印刷できるという意味です。もちろん、dpiの数字が大きいほど、より細かく印刷できることを表します。
 
<br>
=== オペレーティングシステム(OS:Operating System) ===
WindowsやMacOSなどのOSは、人間の目にはきれいなGUIの部分しか見えませんが、OSの本当の値打ちは、GUIの裏で働いてくれているプログラム(ファイル管理、プロセス管理、メモリ管理など)の良し悪しで決まります。ここの出来が良いOSは、簡単に言えば「アプリケーションソフトの動作中に、原因不明で止まってしまう」ことが少なくて済みます。
OS選定、特に業務で使うPCのOS選定は、ぜひ「止まりにくい」かどうかを基準にして下さい。
 
<br>
; オペレーティングシステム(OS:Operating System)とは
PCなどでアプリケーションソフトを実行する時は、コンピュータの資源(リソース)をうまく活用して、特にCPUやメモリをムダなく効率的に使いながら実行する必要があります。そのための制御をしてくれるものが、OSです。OSの実体はプログラムの一種です。
 
<br>
; OSの種類(UNIX、Linux、Windows、MacOS)
情報処理技術者試験では、各社・各団体が作るこれらOSの種類や特徴を問わせる問題は出題されません。出題ポイントは、OSによって特殊文字が文字化けすることと、UNIXおよびLinux上でウィンドウシステムを実現させるための仕組み(X Window System)の名称です。
 
<br>
; 文字化け
WindowsとMacOSでは、同じ文字コードに<b>全く別の文字が定義されている</b>ことがあり、それが元での文字化け、または〓(ゲタ文字)が表示されることがあります。詳しくは、[http://www.shtml.jp/mojibake/machine.html Webマスターのための文字化け講座]の「Windowsでは表示されるが、Macでは文字化けする文字」をご参照下さい。初級シスアド試験の、特に午前問題では、<b>「丸囲み数字」「全角ローマ数字」は、よく文字化けする</b>という知識問題が出題されます。
 
<br>
; 【{{コラム|UNIX系OSでのGUI(X Window System) : |UNIXの世界では「GUIなんて邪道だ」という考えが永らく残っていました。たとえばコンピュータをサーバ専用に使う場合には、GUIはメモリやCPUパワーを食うだけだからムダだ、というわけです。ですが今日ではUNIXサーバにおいても[http://jp.webmin.com/ Webmin]などGUIで管理できるツールを用いたり、クライアントではX Window SystemにWebブラウザやメール管理などを加えた「統合デスクトップ環境」である[http://www.kde.org/ KDE]や[http://www.gnome.org/ GNOME]をインストールする形が一般的です。}}
 
<br>
; 仮想記憶とスラッシング
あるソフトウェアを動作させるために必要なメモリとして「512Mバイト以上を推奨」と書かれているソフトを、実際には256Mバイトの主記憶メモリしか積んでいないPCにインストールし実行させようとすると、どうなるでしょうか?<br>
この時、<b>多くの場合ソフトは起動し、ほとんどの機能が動作します</b>。ただし、<b>時には使い物にならないまでに動作が遅くなる</b>(「動作が重い」と感じる)ことが多いです。
 
<br>
ここに、2つの疑問点があります。
# 主記憶メモリの絶対量が足りないのにソフトを起動できたのは、なぜか?
# 動作が極端に重くなったのは、なぜか?
 
<br>
# の答は、OSが持つ「仮想記憶」と呼ばれる仕組みが働いたためです。
# の答は、仮想記憶が働く際には、ハードディスクへのアクセスが頻発するからです。
 
<br>
では、これらについて詳しくご説明しましょう。
 
<br>
; 搭載メモリよりも大きいデータを扱える ~仮想記憶~
仮想記憶とは、今日のほとんどのOSが持つ機能の名前です。これはOSが、アプリケーションソフトなどの実行中に「メモリが足りない」と判断した時、現在メモリ上にあるデータを一旦ハードディスクに書き出した(退避させた)上で、必要な別のデータをメモリ上に持ってきて、処理を続行する機能を指します。<br>
これが、実際には256Mバイトしかメモリがないのに、512Mバイトのデータでも扱えた理由です。ソフトウェアの視点ら見れば、コンピュータ上にはありもしない512Mバイトのメモリがあるかのように見えることから、「仮想記憶」という名がつけられています。
 
<br>
; 動作が遅くなる ~スラッシング~
次に、動作が極端に重くなった理由を考えましょう。<br>
217 ⟶ 219行目:
=== OSが持つ「ファイル管理機能」 ===
OSが担う役割の中で、身近なものの一つに「ファイル管理機能」があります。ほとんどのOSでは、ファイルを「階層ディレクトリ構造」と呼ばれる形式で管理します。これはWindowsでいえば、丁度「フォルダ」の考え方と同じです。「Windowsでいうフォルダ = ディレクトリ」と覚えておいても差し支えありません。
 
<br>
; 親ディレクトリを表す“../”表記について
たとえばHTMLで、別のディレクトリにある画像ファイルの場所を指定する記述にも、この知識が必要です(なお、日本語環境のWindowsのコマンドプロンプトで同じことを行う場合は、“/(スラッシュ)”を“\(円記号)”に読み替えて下さい)。
226 ⟶ 228行目:
sourceディレクトリにあるHTMLファイル(index.html)から、[gazou]ディレクトリにあるaPicture.gifというファイル名を指定する際の書き方は、以下のようになります。
<b>&lt;img src="../gazou/aPicture.gif"&gt;</b>
 
<br>
; ファイル・レコード・フィールドの関係について
情報処理、特に古くからある帳票処理に用いられる(主にCOBOL言語で扱うデータの)ファイルは、多くの場合このような形式で保存されています。
245 ⟶ 247行目:
1つのファイルの中には個々のレコードがあり、1つのレコードの中には個々のフィールドがあるという、以下の図式が成り立ちます。この図式は、午前試験でたまに問われます。<br>
<b>ファイル > レコード > フィールド</b>
 
<br>
=== OSが持つその他の機能 ===
; マルチタスク(マルチプログラミング)
マルチタスク(マルチプログラミング)とは、OSが同時に複数の仕事をこなすことができるという意味です。これも今日のPC用OSでは当たり前のことですが、たとえばWebサイトからファイルをダウンロードしながら、その間に文書を編集するといった処理が同時進行でできるよう作られたOSを「マルチタスクOS」と呼びます。
 
<br>
; リアルタイム処理
リアルタイム処理とは、入力した処理の結果がすぐに返ってくるという意味です。マルチタスクOSが当たり前となった今日では、リアルタイム処理が当たり前のことではありますが、特に「バッチ処理(処理させたいデータをある程度ためてから、頃合をみて処理す方式)」の反対語として用いられることが多い言葉です。
 
<br>
; 排他制御(はいたせいぎょ)
排他とは、いわば「おまえ、あっち行け」と言った、のけものにすることを指す言葉です。人間世界ではあまり良い意味には使いませんが、コンピュータの世界では欠かせない考え方の一つです。たとえばLAN上のファイルサーバで共有されたWordのファイルを、誰かが編集しているとします。その途中で後から来た別の人が、同一のWordファイルを開こうとしたら、後の人のPCではそのファイルを編集させてはくれない仕組みが働きます。これが、OSが持つ排他制御の例です。
 
<br>
; デッドロック
排他制御は便利な仕組みですが、排他制御には「デッドロック」と呼ばれる困った現象が起こる可能性がついてまわります。デッドロックとは、マージャンにたとえると「持ち持ち」の状態を表します。
; 【{{コラム|マージャンにおける「持ち持ち」とは? : |ある人が欲しい牌をもう一方が持っている、という関係が互いに成り立っていて、お互いに和了(あが)ることができない状態を指す言葉です。「Aさんが和了るために必要な牌Xを、Bさんが手離すのを待っている(Aさんは牌Yを抱えていて離さない)」「Bさんが和了るために必要な牌Yを、Aさんが手離すのを待っている(Bさんは牌Xを抱えていて離さない)」という場合です。
 排他制御のおかげで、マルチタスクで同時実行されている2つ以上のプロセス(プログラム)が、お互いにリソース(コンピュータ資源)の開放を待つ状態が延々と続くことがあります。これをデッドロックと呼びます。これは特に、マルチタスクを利用したソフトウェアやデータベースの設計時に、十分に考慮しないといけない問題です。}}
 
<br>
=== ヒューマンインタフェースの設計 ===
インタフェース(interface)とは、日本語でいえば「接点」のことです。ヒューマンインタフェースとは、人間とコンピュータの接点、具体的にはコンピュータにとっての「外ヅラ」だととらえて下さい。
 
<br>
; CUIとGUI
1990年代前半のPC、特にMS-DOSと呼ばれるOSを搭載していたPCでは、今日のWindowsでいうアイコンをクリックするかわりに、起動したいプログラム名をキーボードから打ち込んでEnterキーを押すことでプログラムを起動させていました。このように、コマンド(の文字列)をキーボードから入力しながら処理を進める形態を、CUI(Character User Interface)と呼びます(和製英語だそうです)。なお、ここでいうキャラクタとは「文字」という意味です。
 
<br>
ですが今日、PCというと、WindowsやMacOSなど、きれいな画面で操作できるPCが一般でしょう。統一感あるデザインの画面上で、やらせたい作業のアイコン(絵文字)をクリックすることで、ソフトウェアを起動したり必要なファイルを編集したりする、あれです。CUIが素っ気無い文字ベースのやり取りなのに対し、これらはカラフルなグラフィックスなので、GUI(Graphical User Interface)と呼ばれます(こちらは外人にも通用する英語です)。
 
<br>
; GUIコンポーネント
この分野の出題ポイントは、GUIを構成する部品(GUIコンポーネント)の名前を問わせる問題です。具体的には、ボタン、チェックボックス、ラジオボタン、テキストボックス、プルダウンメニューの名称を覚えて下さい。他には、「画面遷移図(その実体は、状態遷移図)」を読ませる問題が、午前・午後ともに出題されることが多いです。詳しくは「状態遷移図」の項目をご覧下さい。
 
<br>
; チェックボックスとラジオボタン : チェックボックスとラジオボタンの決定的な違いは、チェックボックスは複数個(0個から全部まで)選択できるのに対し、ラジオボタンは1個だけしか選べない(これを「排他的に選択」と呼びます)、という違いがあります。
; テキストボックスとテキストエリア : 2ちゃんねる等の掲示板システムには必須のものです。いわゆる「カキコミ」など、文字列を入力するための空欄のことです。テキストボックスが1行だけ入力できるのに対し、テキストエリアは複数行の文字列を入力できます。
; プルダウンメニューとプルアップメニュー : Windowsでいう、ウィンドウの上部に「 ファイル(F) 編集(E) 表示(V) 挿入(I) お気に入り(A) ツール(T) ヘルプ(H) 」と表示され、マウスでクリックすると下向きに伸びて表示されるメニュー項目が、プルダウンメニューです。対して、Windows画面の左下にあるスタートボタンのように、上向きに伸びて表示されるメニュー項目を、プルアップメニューと呼びます。
 
<br>
=== エンベデッドOS ===
エンベデッドOS(組み込みOS、とも訳されます)とは、PCほど大きくはないけど、立派にCPUを積んでいる装置(たとえば携帯電話やPDA、ちょっと複雑な家電製品など)に使われるOSです。有名なものではITRONや、WindowsCEなどがあります。
=== デバイスドライバ ===
PCなどのOSが、周辺装置を制御する際に使うソフトウェアのことです。今日では、制御用のソフトウェアはOSにほとんど組み込まれており、その組み込まれたソフトウェアに指示を与えるための詳細な設定項目一覧のことをデバイスドライバと呼びます。普通、周辺装置(特にPCIバスやPCカードといった、PCのハードウェアにベッタリと接続する装置)を買ってくると、その装置専用のデバイスドライバが、フロッピーディスクなどの形で同梱されています。
 
<br>
=== ミドルウェア ===
OSとアプリケーションソフトの中間に位置するソフトウェアを、ミドルウェアと呼びます。ミドルウェアは、さまざまな利用分野で共通に使える、基本的な処理機能を提供します。ミドルウェアに分類されるソフトウェアには、このようなものがあります。
286 ⟶ 288行目:
; 通信管理システム (ネットワークモニタ) : MRTGなど、ネットワークの混雑状況や装置の稼動状況を表示するソフトウェア
; ソフトウェア開発支援ツール : ソフトウェア開発の手助けをするCASEツール(Computer Aided Software Engineering)など
 
<br>
=== システムの構成技術 ===
; ディスクアレイ(Disk Array)
294 ⟶ 296行目:
; RAID3 : パリティディスクを1台用意し、いずれか1台が故障してもデータの復旧を可能とする
; RAID5 : 原理はRAID3と同じだが、パリティデータを分散させる
 
<br>
; 【{{コラム|1=排他的論理和とRAID3、RAID5 : |2=RAID3とRAID5の処理を行うには「排他的論理和(はいたてきろんりわ)」と呼ばれる計算を素早く行わないといけません。
<table borderclass="wikitable">
<tr><th colspan="3">排他的論理和</th></tr>
<tr><th>入力1</th><th>入力2</th><th>出力</th></tr>
304 ⟶ 306行目:
<tr><td>1</td><td>1</td><th>0</td></tr>
</table>
どれか一列(故障した1台のハードディスクと考えて下さい)のデータが消えたとしても、残りの列(生き残っているハードディスク)のデータ同士で排他的論理和の演算をすれば、故障した1台のデータが復旧できます。今日ではPCの基板(マザーボード)にRAID0やRAID1の機能が搭載されたものも売られています。ですがRAID3とRAID5は通常、専用の拡張ボード(多くはPCIバス)を買わないと構成できません。そしてそのボードは秋葉原では5万円程度と、300Gバイトのハードディスク(約1万円)を2台買うよりも高いため、RAID1とRAID5のどちらの構成を採用するかは迷うところです。}}
 
<br>
; バッチ処理とオンラインリアルタイム処理
バッチ(batch)とはもともと、パンや陶器を釜で焼く時の1焼き分のことです。転じて、まとめて1束分という意味もあります。
コンピュータの世界でバッチ処理とは、仕事をある程度ためておいて、頃合を見てまとめて一気に処理を行う、という意味になります。たとえばマークシート解答用紙を人数分まとめて採点したり、ためておいた一ヶ月分の取引データを月末に一気に処理する、などです。
 
<br>
対してオンラインリアルタイム処理とは、仕事をためずスグに処理することです。たとえば銀行のATMでお金をおろす場合、数秒後には処理が終わってくれますが、これはオンラインリアルタイム処理の一つの例です。なお、呼べば応えるような処理なので「対話型処理」という言葉も同じ意味で使われます。
 
<br>
なおマイクロソフト社のOSの用語「バッチファイル」は、綴りは同じですが、今回のバッチ処理とは全く違う意味の言葉です。
 
<br>
; 集中処理と分散処理(クライアントサーバシステム)
汎用機(メインフレーム)に処理を集中させるTSS(Time Sharing System)処理は、1990年代前半頃まで一般に用いられてきた処理形態でした。しかしたとえば、PC200台分の性能を持った1台の汎用機に処理を集中させるのと、PCを200台買ってきてLANで接続するのでは、後者のほうがはるかに安くつくことに世間が気づき始めました。
 
<br>
そこで今日では、処理を各PCに分散させ、専門的な処理が必要な場合にはサーバを用いる「クライアントサーバシステム(CSS : Client Server System)」と呼ばれる処理形態が一般的となりました。
 
<br>
クライアントサーバシステムにより、お値段は格段に安くなりました。ですがコンピュータの運用管理の点では、集中処理の場合はほぼ一ヶ所(中央のみ)を押さえておけば済んでいたものが、分散処理の場合はエンドユーザ側にも負担がかかる、という問題点があります。
エンドユーザコンピューティングの推進役である初級シスアドとしては、運用管理は大事な仕事の一つとなり、また試験出題の重要なポイントでもあるのです。
 
<br>
<table borderclass="wikitable">
<tr><th colspan="4">集中処理と分散処理を比べると…</th></tr>
<tr><th>比較項目</th><th>集中処理(マスタスレーブシステム)</th><th>分散処理(クライアントサーバシステム)</th><th>軍配</th></tr>
332 ⟶ 334行目:
<tr><td align="center">インターネットとの親和性</td><td align="center">最近は高くなりつつある</td><td align="center">非常に高い</td><th>分散処理</th></tr>
</table>
 
<br>
; 3層クライアントサーバシステム(3層C/S)
特にデータベースを用いる処理では、実際のデータベースをアクセスする処理はサーバに任せて、クライアントは画面表示に徹する、という形をとることがあります。その場合の構築の考え方として、「3層クライアントサーバシステム」という考え方があります。これはシステム(特にデータベースのシステム)を論理的に「プレゼンテーション層」「ファンクション(アプリケーション)層」「データベース層」の3つの階層に分け、それぞれ別々のコンピュータに役割を振り分ける考え方です。そのメリットは、各コンピュータに機能を振り分けるメリットは、どこかの層に変更が加わったとしても、他の層の変更が最小限で済むことです。
<table borderclass="wikitable">
<tr><th>各層の名前</th><th>各層の役割</th><th>実体</th></tr>
<tr><th>プレゼンテーション層</th><td align="center">データの表示や入力を担当する層</td><td align="center">検索結果を表示するソフトや、ブラウザがインストールされた、クライアントのPC</td></tr>
342 ⟶ 344行目:
<tr><th>データベース層</th><td align="center">実際のデータ管理(データ格納など)を担当する層</td><td>DBMSがインストールされたデータベースサーバ</td></tr>
</table>
 
<br>
; ストアドプロシージャ
3層クライアントサーバシステムで、データベース検索することを考えましょう。そして検索するたびに、クライアントPCからサーバに向かってSQLステートメントが少しずつ流れるとします。
これでは通信回線の無駄使いにもなりますし、なにより辛気臭いです。
そこで、よく使うSQLステートメントをあらかじめサーバ側に登録しておいて、それに名前をつけておくと、クライアントPCからはその名前を指定するだけですぐに検索処理を行うことができます。この、よく使うSQLステートメントの集まりのことを「ストアドプロシージャ」と呼びます。
 
<br>
; 分散データベース
何台かのデータベースサーバに同じデータを重複して持たせる構成を、分散データベースと呼びます。これによりサーバ1台あたりの負荷を減らせるメリットがありますし、たとえば東京本社と大阪支店のデータベースサーバに同じデータを持たせておけば、東京本社だけにデータを置いておく場合に比べて、全体の通信量を減らすこともできます。
 
<br>
; 2相コミットメント
分散データベースを用い、複数台のデータベースサーバで同じデータを共有する場合には、どこかの拠点で書き換わったデータを他の全てのデータベースサーバに反映させなければなりません。その際に使われるのが、2相コミットメントと呼ばれるやり方です。簡単に言えば、「みんな、データを書き換える準備は良いか?」と問いかけ、全員からのOKの返事が来てから「では、書き換えて下さい」と指示し、全員からの書き換え完了の通知を得てから処理を終了する、という2段階を踏む仕組みです。
 
<br>
なお、一台でも異常があったならば「ロールバック」と呼ばれる、いわば「なかったことにする処理」を行い、再度2相コミットメントを試みます。
 
<br>
なおロールバックの反対語「ロールフォワード」は、データベースの障害回復(システムが停止した際、再度データベースを復旧させる)の際に行われるもので、障害発生までに行われたデータ更新の内容を、更新ログを基にして忠実にたどる処理を指します。
 
<br>
; トランザクション管理
トランザクションとは「一件分の処理」と考えて下さい。マルチタスクOSのコンピュータでは、トランザクションが2本以上、平行して実行されることがあります。そこで欠かせないのが排他制御(共有ロック、占有ロック)です。排他とは「お前、あっちへ行け」という意味の言葉ですが、あるトランザクションが作業の途中に他人にいじられたくないデータがあった場合に、そのデータにロックをかける処理のことを排他制御と呼びます。
363 ⟶ 365行目:
; 共有ロック : 他のトランザクションが参照するだけなら、許可されます(データの更新はさせません)。
; 占有ロック : 他のトランザクションには全く触らせません(データの更新も参照もさせません)。
 
<br>
=== システムの構成方式 ===
; デュアルシステム、デュプレックスシステム
374 ⟶ 376行目:
::: ウォームスタンバイ 予備のシステムには電源は入っているが、普段は別の用途に使われている
::: コールドスタンバイ 予備のシステムは、電源すら入っていない
 
<br>
=== システムの性能 ===
==== 「待ち行列理論」の応用 ====
388 ⟶ 390行目:
* &rho; が0.8の時、平均待ち時間は8分
窓口が処理の限界に近づくほど、並んでいて待たされる時間が長くなることがわかります。実生活でもそうですね、急な仕事が入った場合、暇な時だとすぐに対応できますが、忙しい時だとなかなか対応できないものです。そしてこの待ち行列理論のグラフは、CSMA/CD方式のLANであるイーサネット(共有のLAN媒体にアクセスが集中すると、コリジョンによってLANが使い物にならなくなる)や、車の量が倍に増えただけで渋滞になってしまう道路などもこの理論で説明がつきます。
 
<br>
=== 性能計算 ===
; レスポンスタイム、ターンアラウンドタイム
397 ⟶ 399行目:
* そしてそのまま計り続け、全てのHTMLデータが表示され終わるまで計ると、それがターンアラウンドタイムです。
運用しているシステムのレスポンスタイムを体で覚えておくと、「今、Webサーバにアクセスが集中しているな」といったネットワーク診断が、勘でできるようになります。
 
<br>
; スループット
スループット(実効速度)とは、その名の通り「実際に使い物になるスピード」のことです。たとえばイーサネット(CSMA/CD)、特に全二重対応していない10BASE2や10BASE5などでは、先の待ち行列理論のグラフにもあるように、10Mビット/秒の限界近くまで使おうとするとLANとして使い物にならなくなります。条件にもよりますが、伝送効率はせいぜい30%位で考えておいて下さい。そしてこの場合のスループットは、3Mビット/秒と言えるわけです。
 
<br>
; ベンチマーク
「情報化と経営」分野で出てくる用語「ベンチマーキング」との混同に注意して下さい。
 
<br>
コンピュータの性能評価におけるベンチマークとは、システムの性能を測る時の指標のことです。たとえばパソコン雑誌、特に自作PCが好きな人が読む雑誌には、最新のPCの処理能力を多角的に比べるグラフ(たとえばMS-Wordのマクロばかりを処理させてみたり、ゲームソフトであるFINAL FANTASYの画面表示の速さを競ってみたり)がいっぱい出ていますが、これらこそがベンチマーク(ベンチマーク・テスト)です。
 
<br>
=== システムの信頼性・経済性 ===
; 稼働率(アベイラビリティ)の計算
稼働率の計算問題とは、いわば「ある瞬間に、システムが使いものになっている確率」を計算することです。まずは「稼働率」と「故障率」という言葉を覚えて下さい。
 
<br>
たとえば稼働率が0.9という値だったとすると、
* 「10時間のうち、平均9時間は動いている」
416 ⟶ 418行目:
** (逆に言えば、壊れている確率は10%)
という意味です。そして故障率は、「システムは、動いているか故障しているかの、どちらかしかない」と考えるため、故障率 = (1 - 稼働率)の式で求まります。
 
<br>
この手の計算問題を解くために覚えていただく用語は、MTBFとMTTRです。ここでは、システムは「動いている」か「(故障などで)止まっている」かのどちらかの状態しかない、とします。そして動いている時間のことをMTBF、止まっている時間のことをMTTRと呼びます。システムは「動いている」か「止まっている」かのどちらかの状態しかないため、(動いている時間+止まっている時間)でトータルの時間が求まります。そして稼働率とは、「トータルの時間のうち、動いている時間の割合」のことですので、稼働率はこう定義されます。この式は覚えて下さい。
 
稼働率 = 動いている時間 ÷ (動いている時間 + 止まっている時間)
<math>= \frac{MTBF}{MTBF + MTTR}</math>
 
<br>
詳しく言うと、MTBF(Mean Time Between Failure)は「平均故障間隔」とも呼ばれ、システムが動き始めてから故障するまで(故障したものは修理して再使用)の平均時間を表します。そしてMTTR(Mean Time To Repair)は「平均修理時間」とも呼ばれ、システムが壊れてから修理してまた動くまでの平均時間を表します。
; 【例題】 : 初級シスアド平成14年秋期午前問16
あるシステムにおいて,MTBFとMTTRがともに1.5倍になったとき,アベイラビリティ(稼働率)は何倍になるか。
 
<br>
* ア 2/3
* イ 1.5
* ウ 2.25
* エ 変わらない
 
<br>
MTBFとMTTRから稼働率を求める数式を覚えていないと解けない問題ですが、覚えていれば小学校の算数のレベルです。答はエだと求まりましたでしょうか。
 
<br>
=== 稼働率の計算 ===
初級シスアド試験で確率の問題を問わせる場合、システムの稼働率にからめて出題するパターンが多いです。ここでは稼働率を用いての出題パターンを見てみましょう。<br>
442 ⟶ 444行目:
<math>0.8 \times 0.7 =0.56</math><br>
システム単体の場合の稼働率より、どうしても小さい数字になりますね。
 
<br>
; 並列の場合の、全体の稼働率
次に、2台のシステムがあって、そのうちどちらか1台でも動いていればとりあえずOK、という場合の稼働率の計算を考えます。
451 ⟶ 453行目:
全体の稼働率 = 1 - (1 - 稼働率A) × (1 - 稼働率B)
= 1 - 故障率A × 故障率B
 
<br>
実際に計算する問題が出た場合に備え、全部の組み合わせとそれが起こる確率を書き出す方法も覚えておいて下さい。ここで○印は稼働している、×印は壊れているという意味です。
<table borderclass="wikitable">
<tr><th>システムA</th><th>システムB</th><th>それが起こる確率</th><th>その値を採用?</th></tr>
<tr><td align="center">○(0.8)</td><td align="center">○(0.9)</td><td align="center">0.72</td><th>はい</th></tr>
461 ⟶ 463行目:
</table>
2台のうち1台でも○であれば構わないので、その値を採用するかどうかは右端の列のようになります。そして、採用する確率の値を、すべて足し算してやればOKです。ですので<math>0.72+0.08+0.18=0.98</math>が求まりす。
 
<br>
システム単体の場合の稼働率より、大きな数字になりますね。信頼性の高いシステムを組む時の考え方の一つに、このように「システムを二重化する」というものがあります。ちなみに先ほどの公式は、ここでいう「いいえ」の行の値を求め、それを1から引いた値を求める式です。
 
<br>
; 【例題】初級シスアド平成13年度秋期午前問12 : 稼働率Rの装置で構成された,図のようなシステム全体の稼働率を表す式はどれか。ここで,並列に接続されている部分は,どちらかの装置が稼働していればよく,直列に接続されている部分は両方の装置が稼働していなければならない。
+--[ R ]--+ +--[ R ]--+
472 ⟶ 474行目:
ウ (1-(1-R)<sup>2</sup>)<sup>2</sup>
エ 1-(1-R)<sup>4</sup>
 
<br>
; 【解き方】 : 並列になっている部分を先に求め、その値が左右に直列になっている、と考えます。並列になっている部分1ヶ所は、(1-(1-R)×(1-R))から、(1-(1-R)<sup>2</sup>)になります。それが左右に2つあるため、直列とみなして(1-(1-R)<sup>2</sup>)<sup>2</sup>となり、答はウになります。更に解く時間を短縮するには、Rに計算しやすい数字(0.9など)を入れて、図から稼働率(0.9801)を求め、その数字と同じ答が求まる数式を四択から選んであげてください。
 
<br>
; 【応用】 : 3台のシステムA,B,Cがある。それぞれの単体の稼働率は,0.7, 0.8, 0.9 である場合の、全体の稼働率を求めたい。
* 問題1 「3台中、1台が動いていればOK」の場合の稼働率
481 ⟶ 483行目:
 
; 【解き方】 : すべての組み合わせを書いてみます。
<table borderclass="wikitable">
<tr><th>システムA</th><th>システムB</th><th>システムC</th><th>それが起こる確率</th><th>問題1の条件で採用?</th><th>問題2の条件で採用?</th><th>問題3の条件で採用?</th></tr>
<tr><td align="center">○(0.7)</td><td align="center">○(0.8)</td><td align="center">○(0.9)</td><td align="center">0.504</td><th>はい</th><th>はい</th><th>はい</th></tr>
492 ⟶ 494行目:
<tr><td align="center">×(0.3)</td><td align="center">×(0.2)</td><td align="center">×(0.1)</td><td align="center">0.006</td><th>いいえ</th><th>いいえ</th><th>いいえ</th></tr>
</table>
 
<br>
; 【正解】 : それぞれの条件で、○の行の値を足すと、
* 問題1:0.994
498 ⟶ 500行目:
* 問題3:0.504
が求まります。
 
<br>
; 信頼性設計
試験によく出る用語(5つの“フ”)は、以下の4つに分類できます。違いをしっかり押さえておいて下さい。
505 ⟶ 507行目:
; フェールソフト(fail soft) : システムに障害が発生しても、全面停止には至らないように作っておくこと。なお、フェールソフトで辛うじて動き続けている状態を、縮退運転(フォールバック(fall back))と呼ぶ。
; フォールトトレラント(fault tolerant) : システムに障害が発生しても、本来の性能をすべて維持しながら運転し続けるように作っておくこと。
 
<br>
; 信頼性評価とRAS(Reliability, Availability, Serviceability)
 
<br>
システムの信頼性を語る上で出てくる用語、RAS(Reliability, Availability, Serviceability)とは、以下の3種類の特性を言います。なお、通信ネットワーク用語のRAS(Remote Access Server:プロバイダ側でダイヤルアップ接続を受け付ける装置)とは全く別物ですので注意して下さい。
; 信頼性(Reliability) : システム障害の起こりにくさ。MTBFの長さで表されます。
; 可用性(Availability) : システムが使い物になっている確率。いかに稼働率が1(100%)に近いかで表されます。
; 保守性(Serviceability) : システムに障害が起こった場合、修理のしやすさ。MTTRの短さで表されます。
 
<br>
; 【{{コラム】 : |RASIS(Reliability, Availability, Serviceability, Integrity, Security)|RASISとは、上記のRASに以下の2点を加えたものです。
RASISとは、上記のRASに以下の2点を加えたものです。
; 完全性(Integrity) : 複数のユーザがシステムを使ったとしても、データが一貫していること。排他制御の良し悪しなどで決まってきます。
; 安全性(Security) : 処理されるデータが外部へと漏れず、秘密に保たれていること。}}
 
<br>
; 経済性(システムの採算)
採算性の計算については、中学校レベルの連立方程式で解ける出題が中心です。
 
<br>
; バスタブ曲線
風呂のバスタブを横から見たような形のグラフであることから名付けられました。多くの方に経験があると思いますが、買ってきた工業製品が一番故障しやすい時期というのは、買ってすぐ(数週間以内)の時期です。これを初期故障と呼びます。その時期が済むと、ときたま故障(偶発的故障)するけども、おおむね安定して動いてくれる時期が長く続き、やがて古さからくる故障(経年劣化)で悩まされる時期が来ます。これをグラフで描いたものが、バスタブ曲線です。
 
<br>
; 【{{コラム】 : |バスタブ曲線|このバスタブ曲線は、そのまま「製品を買う際の(相対的な)コスト」にもあてはめられます。まず新製品は、新技術が投入されていたりして割高なのが普通です。やがて「市場で“こなれてきた”時期」が続いた後で、やがては同じものを入手しようにもなかなか入手できない時期がやってきます。システム構築の際は、あまりにも新技術に手を出しすぎたり、あまりにも古い技術に固執したりすると、トータルコストが高くつく要因となることを肝に銘じておきましょう。}}
 
<br>
=== 章末問題 ===
この章で学んだことを確認しましょう。