7. 計算機の仕組み
7.1ハードウエア
コンピュータのハードウエアは制御装置,演算装置,記憶装置,入力装置,出力装置で構成される.
いわゆるCPUというのは、この内の制御装置と演算装置を1つの集積回路にまとめたものである。
1中央処理装置(Central Processing Unit:CPU)
 計算機の中心部で、人間でいえば脳にあたり、つぎの2(3)装置よりなっている。
 制御装置:主記憶装置に記録されているプログラムを解読し、その指示にしたがって、主記憶装置、
 演算装置、入出力装置、補助記憶装置を制御する。これがプログラムの実行にあたる。この部分は
  CPU(したがって、コンピュータ)のヘッドクオータに相当する。
 演算装置:算術、論理、比較演算を行う装置である。
(キャッシュメモリー:主記憶装置へのアクセスの遅さをカバーするために、アクセス頻度の多いデータは、
 高速メモリー素子に記憶しておくための緩衝記憶装置である。)
2.主記憶装置:プログラムやデータを記憶しておく装置。高速のRAMで構成されている。単にメモリという。
3.入力装置:コンピュータへ情報を送り込む装置、キーボードやマウスなど。
4.出力装置:コンピュータから情報を取り込む装置、CRTやプリンターなど。
5.外部記憶装置:いろんな情報を格納しておく装置。制御信号によって、計算結果を保存したり、保存データ
  を主記憶装置におくったりする。ハードディスクやフロッピーディスクドライブなど。

           計算機の基本構成
記憶装置

ROM(Read Only Memory)不揮発性メモリー
  マスクROM:製造時に書き込み、書き換え不可能
  PROM:ユーザーが1度だけ書き込める。以後不可能
  UV-EPROM:電気的に書き込み。紫外線で消去可能。
  EEPROM: 電気的に書き込み。消去可能。MOS型トランジスタ2つで1つのセル(1ビット)
  フラッシュメモリ:EEPROMの改良(トランジスタ1つで1ビット)、消去は一斉に。
           NAND型フラッシュEEPROM、1,2バイト単位で消去可能
入出力装置
  入力装置:人間の目や耳にあたる。
  キーボード:タイプライタのようなキー配列を持った、直接入力用のボード。 もっとも基本的
  な入力装置。
  カードリーダ:入力媒体として穿孔カードを用いるカード読みとり装置。 穿孔カードは特殊な
  キーボードつきの穿孔機によって作成する。
  OCR(Optical Character Reader):手書き、または印刷された文字を光学的に読みとる装置。
    OMR(Optical Mark Reader):光学式マーク読みとり装置
  MICR(Magnetic Ink Character Reader):磁気インク読み取り装置  
  イメージスキャナ:画像読みとり装置 
  その他:マウス、ライトペン、タッチパネル、タブレット、音声入力装置、バーコードリーダ

  出力装置:口や手にあたる
  プリンタ:シリアル(ドット)プリンタ
       ラインプリンタ
       ページプリンタ
  表示装置:ブラウン管(CRT(Cathode Ray Tube):陰極線管)
       液晶ディスプレイ(LCD:Liquid Crystal Display)
       LED(Light Emitting Diode:発行ダイオ−ド)
  XYプロッタ
  音声応答装置:音声で出力する装置。一部の銀行で使用されている
  COM(Computer Output on Microfilm):処理結果を直接マイクロフィルムに出力する装置
 補助(外部)記憶装置:ノート類に相当する
 MT(Magnetic Tape) 1次元磁気メモリ
 FD(Floppy Disk ) 2次元磁気メモリ
    HD(Hard Disk )  3次元磁気メモリ
 RAM                電子ノート
    各種メモリーカード(コンパクトフラッシュ、スマートメディア、メモリーカードなど)
     USBメモリーキー
 CD−ROM、CD-R、CD−RW、DVD-ROM(RAM)、
 MO、MD,PD,EZ135,ZIP.....
  FDS-120(120MB、2HD,2DDも読み書きできる)
入出力インターフェイスについて

FDの表面(CAV角速度一定、外側のトラックほどセクタが長い)

ハードディスクの構造
CD−ROM:トラックは螺旋状で、線速度は一定(CLV:Constant Linear Velocity)でセクター長は
   一定となる。したがって、外側のトラックほどセクターが多くなり、トラック毎に速度を変える
   必要がある。8ビットデータを14ビットデータに変換して記録する(EFM変換:8to14Modulation)
   記録容量:740MB、
   記録方式:9種類のピット列の組み合わせによる。

DVD―RAM:連続した複数のトラックを1つのゾーンとして、ゾーン内ではセクター数が一定(ZoneCLV)
   記録容量:2.6GB(片面記録、TYPE)、5.26GB(両面記録、TYPE)
   記録方式:相変化記録
色の表示について
・カラーディスプレイ:
  光の3原色、R(赤)、G(緑)、B(青)を用いた、和色混合方式による。この場合は
    R+G+Bは無色(白)になる。また、3色の濃さをそれぞれ1ビットにすると、
    23=8色しか発色できないが、それを1色あたり、1バイト(8ビット)、256段階の濃さにすると、
    256x256x256=16,777,216種類の色を造ることができる。3種の小さな蛍光スポットが1ピクセ
   ルを形成し、その3スポットによく制御された電子ビームがあたり、発色させる。

・カラープリンター:
  3原色として、シアン(C),マゼンタ(M)、イェロー(Y)を用いた,差色混合方式による。
    この場合は、1点に、C,M,Yインクが重なってプリントされる。C,M,Yのそれぞれの濃度さ
    によって、いろんな色が発色する。同じ濃さのC+M+Yからは、同じ濃さの黒ができる。このように
    して発色させた黒はくすんでいるために、別に、黒インキを用意しているプリンタ−もある。
    グラデーション表示は、スポットの粗密で表す(誤差拡散方式)。

7.2ソフトウエア(Soft ware:利用技術)
  JISによる定義:データ処理システムの運用に関する計算プログラム、手順、規則、およびそれらに
関する文書。「コンピュータ、ソフトがなければただの箱」といわれるがこれは、”いくら立派なハードが
あっても、適当なソフトが無ければ何の役にも立たない。”という意味である。 上のソフトの内、計算機に
読み込むプログラムは大きく分けると、応用ソフト(Application program)と基本ソフト(OS:
Operating System)になる。

1応用プログラムとOS
 応用プログラム(アプリ)というのは一般利用者が直接使用するプログラムで、ワープロ、表計算ソフト、
各種解析プログラムなどである。 これらのプログラムは通常、直接にはハードウエア(物理的資源という)
を制御しない。OSというのは、アプリとハードとの中を取り持ったり、コンピュータがスムーズに作動する
ように、入出力などの環境を設定したり、周辺装置を制御するプログラムである。 

2 OSの役割
 計算機のハードウエアは非常に複雑で、普通のユーザが直接利用するのはほとんど不可能である。
OSの役割はユーザが計算機を効率よく、快適に、使いやすく利用できるようなサービスと環境を提供する
ことである。したがって、ユーザが直接使用する計算機システムはむき出しのハードウエアではなくて、
OSの提供するソフトなシステムである。

3 OSの構成
 OSは制御プログラム群と処理プログラム群より構成されている。

3.1制御プログラム(モニタ(monitor))
タスク管理プログラム(supervisor):ハードの動作状況の監視とプログラム群の実行を集中管理する。
 タスクとは、資源を使う最小実行単位。実行可能なタスクのうち、最優先順位のタスクにcpuの使用権
 を割り当てる。(このプログラムをディスパッチャーという)
ジョブ管理:ユーザプログラムの投入から結果の出力までの進行を管理する。
 ジョブとは、人から見た仕事の単位。複数のジョブのスケジューリング、ユーザーとの情報交換を行う。
 ジョブの実行に際しては、ジョブ制御文(JCL)を使う。
データ管理:各種ファイルの集中管理
通信制御: コンピュータ間でのデータの送受信などを制御するプログラム。


3.2処理プログラム
言語翻訳プログラム: 
   *アッセンブラー:機械語に近い記号言語。高速だが、cpuに依存する。
   *コンパイラー:ソースプログラム(人間が可読)をオブジェクトプログラム(実行形式)に翻訳した後に
   実行するプログラム。
   *インタプリタ:ソースプログラムを1命令ごとに、機械語または中間語に、翻訳して即実行する。
   *ジェネレータ:パラメータにより、プログラムを自動的に生成する。
言語変換プログラム:
  *トランスレータ:ソースプログラムの変換
  *エミュレータ:別機種のプログラムを実行
  *クロスコンパイラ:別種類のコンピュータ用オブジェクトに翻訳する。
  *プリコンパイラー:コンパイルの前処理を行う。
リンカー(リンケージエディター):コンパイラーで生成されたオブジェクトモジュールを組み合わせて、
  実行可能なロードモジュールを作成する。このとき、ロードモジュールライブラリに格納されている関数など
 (LIB)をリンクしてロードモジュールを作成する。
その他:DLL(Dynamic Link Library):複数のプログラムで共通の処理を行うモジュール集で、OSにより
  プログラム実行時に、自動的に取り込まれる。
プログラム言語:
FORTRAN:IBM,最初のコンパイラ、技術計算用
COBOL:コンパイラ言語、事務処理用
BASIC:J.G.Kemeny,インタプリタ、
Pascal:N.Wirth,構造化プログラミング
C:ベル研究所、UNIX、移植性に優れている、コンパイラー
APL:会話型、記述が簡単
Ada:米国防省、システム記述用
Smalltalk:オブジェクト指向言語、
LISP:J.Mcarthy(MIT),リスト処理、AI用
Prolog:A.Colmerauer,AI用
SQL:RDB記述用
JAVA:
サービスプログラム:システム編集プログラム
           ハードウエア診断プログラム
           ライブラリアン、
                      ファイルユティリティなど各種ユティリティ


4いろいろなOS
 OSの変遷
  MVS: IBMの汎用コンピュータ用
  ACOS: NECの汎用コンピュータ用
    OSIV:富士通の汎用コンピュータ用
    VOS3:日立の汎用コンピュータ用
    VMS: DECのVAX用
  UNIX:ミニコン、ワークステーション(WS)用のOS
           マルチユーザ−マルチジョブ、分散処理
    Windows NT/2000(Unicode,Win32API,CPU-independence)
  OS/2    :パソコン(80286CPU以上で動作)用のOS
           シングルユーザ−マルチジョブ(プリエンプティブ゛)
  MS−DOS  :パソコン用OS、シングルユーザ−シングルジョブ
    CP/M    :8ビットパソコン用OS

現在のOS
MacOS-MacintoshのOS、
     OS-X---NEXTSTEPの後継

Windows系 
     Microsoft社のOS
     Win95,98,2000,me,NT,XP

UNIX系  1969ベル研で開発されたOS(MULTICS)を源とする。
     このOSはTSSを特徴とするOSでどんどん巨大化した。
     これを簡素化したOSとしてPDP7(DECのミニコン)上でUNIXが誕生した。
     1975にソースコードが一般公開され、数種類のUNIXに分岐する。
       SystemV系- 商用マシン用(HP-UXなど)   
       BSD系--Berkeley Software Distribution
         カリフォルニア大学で開発され、TCP/IPが実装された。
PC-UNIX  PC-UX NEC-PC98LX(i286)
      FreeBSD, NetBSD i386以降で, 無償。 BSD/OS(有償)。 
      LINUX(SystemV系) 
       Linus Benedict Torvaldsが大学時代にカーネルを開発した
       リーナスは開発中のバージョンをインターネット上に公開した。
       世界中のプログラマーが開発、デバッグに参加し、日々その
       機能が進化している。無償、ネットワーク、サーバー機能に
       優れているために、そのシェア―は世界中に広がりつある。


5ユ−ザインタフェース
    CUI:Character User Interface
            人間とコンピュータ間のコミュニケーションを文字(コマンド)
      を用いて行う。
       ls, cp, mv, cd, mkdir......

  GUI:Graphical User Interface
            人間とコンピュータ間のコミュニケーションを絵文字(icon)
      などを用いてグラフィカルに行う。
     system7-MacOS(ノンプリエンプティブ)
     Windows3.1−MS−DOS(ノンプリエンプティブ)
     NEXTSTEP−1988−WYSIWYG(プリエンプティブ゛)
     Xwindow−unix(プリエンプティブ゛)