ソフトウェア

基本ソフトウェア

 言語プロセッサー

 プログラムを作るには、設計図を書き、「プログラム言語」という記号で書きあらわす。大きなプログラムでは、これが何万行にもなり、この設計図を「ソースコード」と呼ぶ。
 出来上がったソースコードは、コンピュータで実行できるよう、一度変換する(これもコンピュータでやる)。変換したプログラムを「実行コード」とか「バイナリコード」と呼ぶ。
 コンピュータで実際に使われるプログラムは、この「バイナリコード」である。WindowsもMSオフィスも、マイクロソフトの製品は、このバイナリーコードでできている。
 変換されたバイナリーコードは、それ専用のコンピュータでしか実行できない。Windows用のバイナリーコードは、Windowsパソコンでしか動かない。Mac用に変換されたら、Mac専用になる。同じソースコードを使って、Windows用とMac用の2種類のバイナリーコードを作れる。ただし、そのコンピュータの機能が異なるのでそれぞれのチューニングが必要である。

言語プロセッサー 説明
機械語
(machine)
 コンピュータの演算/制御装置 (MPU) の動作命令は 2 進数で表される。これを機械語と呼び、一つの動作に対して一つのコードが存在する。同じ動作でも MPU の種類によってコードは異なる。コンピュータが実行可能なのは機械語だけ。機械の動作を直接指示するために、きめ細かい指定が可能であり、機械の機能を最大限に利用できる。
アセンブラ
(assembler)
 機械語のコードを一対一対応で、自然言語の単語(ニーモニック)に翻訳したもの。無意味な 2 進数に比べて覚えやすく書き間違いも少ないし、読んで理解しやすい。機械語に翻訳する処理系をアセンブラと呼び、アセンブラで機械語に翻訳することをアセンブル、機械語をアセンブリ言語に逆翻訳することをディスアセンブルと呼ぶ。
コンパイラ
(compiler)
 より人間が理解しやすい構文を持った言語で、高級言語と呼ばれる。マシン固有の機械語に翻訳する処理系(ソフトウェア)をコンパイラと呼ぶ。コンパイラで機械語に翻訳する事をコンパイルと呼び、コンパイラによって生成された機械語のファイルを実行ファイル(オブジェクト・ファイル)と呼ぶ。マシン固有の機械語の実行ファイルを用意してから実行することになるので実行速度も機械語に順ずる。PL/1、C/C++、 FORTRAN、 COBOL、 Pascal など。
インタプリタ
(interpretive)
 プログラムの実行時に、ソースプログラムの命令文を逐次、実行可能な形式に変換しながら処理を進める形式の言語。インタープリタ型言語は、実行時にソースプログラムの機械語への翻訳のプロセスが存在するため、コンパイラ型言語にくらべて実行速度が低下する。実行時に翻訳、実行する処理系をインタープリタと呼ぶ。 Shell Script, Perl, LISP, BASIC, JavaScript など。プログラムが未完成でも作成した部分だけを実行することができ、デバッグがしやすい。対話処理やTSSに適している。
ジェネレータ  必要なパラメータを指定することにより、原始プログラムあるいは目的プログラムを生成・実行する。機能要素ごとのプログラムを備えており、コンパイラ言語のように詳細な処理手順を記述しなくても、最適化された機械語を得ることができる。そのため、プログラム開発や保守の生産性は高い
クロスコンパイラ 言語プロセッサが動作するコンピュータとは別の機械語をもつコンピュ−タの目的プログラムを生成する言語プロセッサである
プリコンパイラ  主処理プログラムの条件に合わせるための事前処理や前準備的な編集を行う言語プロセッサのこと。たとえば、構造化プログラミング用の疑似言語を用いて作成した原始プログラムを、COBOLやFortranなとの既存のコンパイラ言語に置き換える。また、簡易言語で作成したプログラムを、既存の高級言語などに置き換えるものもプリコンパイラに含まれる
ロ一ダ  プログラムの実行に先立って、ロードモジュールを主記憶装置にローデインクするためのサービスプログラムである。ローダは、相対アドレスで示されたプログラムを、主記憶装置の絶対アドレスに割り当てていく

プログラム言語 特  徴 対応する言語プロセッサ
アセンブラ 機械語に最も近い低級言語。機械語を表意記号に対応させたもの。 アセンブラ
COBOL  事務処理向けに開発された言語。英語の単語に似た記述をする。
 標準的な言語の開発のためアメリカでコンピュータメーカーやユーザーが集まり、CODASYLという組織が作られた。COBOLはこのCODASYLが中心となって1960年に最初の仕様が発表され、その後改良されていった。
 FORTRAN同様に、ANSI、JISなどで標準化が図られている。主な特徴は、次のとおりである。
・ファイル処理機能が高い→事務計算向け。
・英語の表現をベースとしており、英語を知っていれば理解しやすい。
・ほとんどの汎用コンピュータで使用可能。
コンパイラ
FORTRAN  科学技術計算向けに開発された言語。スーパーコンピュータでも使用される。
 1957年にIBM社によって開発された最初の高水準言語で、その後ANSI(米国規格協会)やJISでその標準化が図られ、現在では世界中で広く利用されている。主な特徴は、次のとおりである。
・命令の記述が数式の表現と似ているため、複雑な数値演算が得意→科学技術計算向け。
・COBOLなどと比べるとファイルの使用に制約があり、データ量の多い処理にはあまり向かない。
コンパイラ
PL/1 IBM社とそのユーザー団体(SHARE)によって開発されたものである。
FORTRAN、COBOLおのおのの長所を兼ね備え、事務計算、科学技術計算の両方に対応できるようにしたのが特徴で、そのためコンパイラが複雑で大きなものとなっている。
 機能的には完成されたものになっているが、FORTRAN、COBOLほどには普及していない。
コンパイラ
C  UNIXを開発するために開発された言語。ほかの機種への移植性が高い。現在最もよく使用 コンパイラされている。
 C言語はもともとUNIXというOSを記述する言語として、AT&Tのベ
ル研究所で開発された言語である。特定のハードに依存せずに移植しやすく、文法上の制約が少なく、コンパクトにプログラムを記述できるという特長がある。UNIXの普及とともにC言語も広く普及している。またオブジェクト指向を取り入れたC++もある。
コンパイラ
BASIC  プログラム開発の教育用言語。
 1960年にダートマス大学で開発された言語である。COBOL、FORTRANとは異なり、インタプリタをその基本として、プログラマーが会話形式でプログラム作成を行っていくことをめざしており、ミニコンやパソコン向けの言語といえる。構造化に向かないため本格的なプログラミングには向かない。
 近年はこのBACICにビジュアルプログラミングツールを付加したVisualBasic、(Windows用)、VIPBasic、(マッキントッシュ用)なども生まれている。
インタプリタ
JAVA  Javaは、米国サン・マイクロシステムズが開発したオブジェクト指向のプログラム言語である。ネットワーク上にあるプログラムをダウンロードしてWebブラウザ上で動作させることができるため、OSや機種に依存せずにプログラムを利用できるという特徴があり、インターネットを介した利用が広がっている。
 ネットワークを前提にしたプログラム言語。機種による動作の差がない。インタープリタ型言語に分類される。一旦コンパイラでバイトコードと呼ばれる中間言語に変換してから、それを JavaVM (Java Virtual Machine) と呼ばれる処理系でインタープリタ型言語として実行する。バイトコードは JavaVM にとっては機械語であり、 JavaVM がインストールされたOSにとってはアセンブリ言語と同様なので、その解釈/実行は通常のインタープリタによる変換作業よりも高速。
コンパイラ
Perl  テキストファイルを処理するのに適した言語である。テキストファイルなどでスクリプトを記述し、インタブリ夕方式で処理するので、コンパイルの必要がない。ホームページのアクセスカウンタや入力フォームのCGIを記述するときに使われている。 インタプリタ
Java Script  JavaScriptは名前の示すとおりスクリプト言語であり、Webブラウザ上で動作する。
 Netscape Communications 社が開発したプログラミング言語。同社の Netscape Navigator 2.0 で初めてサポートされ、Microsoft 社の Internet Explorer 3.0 でも同様の機能がサポートされた。
インタプリタ
Java Applet  WebサーバーからAppletと呼ばれる小さなJavaプログラムをダウンロードしてWebブラウザ上、またはOS上のJavaVMの上で動作する。しかし、現状ではJavaVMの起動、動作が遅いためJavaAppletを使うことは少ない。
 サーバーサイドJavaプログラムはいくつかの技術があるが、この中でもWebサーバーの機能拡張として使われているServletやEJB(Enter prise Java Beans)が注目されている。これらはJava言語の生産性の高さや、安定性から最近の電子商取引の基盤技術として使われはじめている。
インタプリタ

 Java Script

 WWWを使っているほとんどの人の環境で動作する。さらに、制作にあたって特別なツールが必要となることもなく、単純なテキストエディタがあれば作成できる。またスクリプト言語であるため、コンパイルといった作業も必要ない。そのため、数あるスクリプト言語の中でも非常に敷居の低いスクリプト言語である。
 Java ScriptはWebブラウザ側、要するにクライアント側で動作する。これは、Webサーバーの管理者でなくともWebページにさまざまな機能の追加が簡単にできる、ということを示している。CGIなどと比較して、この部分は非常に大きなメリットでありそのため、ほとんど同じことをするのであればCGIよりはJavaScriptで実装させたほうがよい。

 CGI(Common Gateway Interface

 WWWサーバがバックエンドプログラム(CGIプログラム)との間で情報の送受信に使用するインタフェースである。ブラウザからWWWサーバ経由で、データベースサーバに処理要求を行うような会話型のページを作成するときに利用する。CGIプログラムを開発するための言語として、UNlXではPerl、WindowsではVisual Basic、C++などが使われている。

 オペレーティングシステム(Operating System )

 一般にオペレーティングシステム(OS)という場合は、基本ソフトウェアの核となる制御プログラムのことをさす。これは、コンピュータの資源を有効に利用しソフトウェアを有効に操作(Operate)するためのソフトウェア群のことである。よく言われるDOSは(Disk Operation System)である。
 もともとOSは、非常に高価な大型コンピュータを複数のユーザーが効率よく利用するための仕掛けとしで誕生した。汎用コンピュータのためのOSであることから汎用OSと呼ばれた。現在のパソコン用のOSもこの流れをくむものである。

 コンピュータは当初、仕事を処理するプログラムの固まり(ジョブと呼ばれる)を一つずつ順次処理するスタイルで利用された。バッチ処理と呼ぶ方式である。処理Aを完了してから処理Bを開始、それが完了してから処理Cを開始するといった形態である。
 その後、複数のユーザーが同時にコンピュータを会話型で利用できるように登場したのがタイムシェアリング・システム(TSS)と呼ばれるOS。TSSは処理時間を細かく一定の刻みで分割しておき、複数のユーザーの処理を切り替えながら順番に少しずつ実行することによって、見掛け上同時に複数ユーザーの仕事を処理できる仕掛けである。例えば100msごとに、ユーザー1の処理A、ユーザー2の処理B……ユーザーNの処理と切り替えながら、N人のユーザーの処理を実行するのである。当時は、会話型といっても数秒程度でコンピュータが応答すれば許されたので100msごとに切り替えれば20〜30人のユーザーに対して同時にサービスできた。

 代表的なOSとしてはマイクロソフトのウィンドウズ(Windows)、アップル社の製品に搭載されているmacOS。グーグル社が提供しているChromeOS。アメリカAT&T社のベル研究所で開発されたユニックス(Unix )、ヘルシンキ大学の大学院生(当時)Linus Torvalds氏によって開発された無料のリナックス(Linux)などがある。 最近ではスマートフォン用としてアップル社のiPhone用のiOS。グーグル社が開発したAndroidOS。などがある。

  制御プログラムは、ハードウェアとアプリケーションソフトとの仲介役となり、アプリケーションソフトが効率よく動くようにハードウェアを制御する。
  ハードウェアは、CPUの性能、周辺機器の種類や性能、機種やメーカ、また、その設定内容により千差万別である。制御プログラムはこのハードウェア間の違いを埋め、アプリケーションソフトが動作する環境を提供することを目的としている。
 市販されているアプリケーションソフト(パッケージソフト)も、このOSに準拠して作成されているものが多く、同じOSを使用していれば、ハードウェアの環境が違っていてもアプリケーションソフトを利用することができる。逆に、ハードウェアの環境が同じでも、OSが違えばアプリケーションソフトを動かすことはできない。
 コンピュータ業界では、各メーカによるハードウェアの開発とソフトウェア規格などの標準化とが、繰り返し行われている。同じOSを使用していれば、ハードウェアが異なってもアプリケーションは全く同じように動作するのが理想である。しかし、ハードウェアに違いがありすぎると、OSで環境をすべて同じように扱うことができなくなり、アプリケーション側で各メーカのハードウェアに対応する形をとった例も少なくない。

 従来のOSネットワーク機能が付属しておらず、ネットワーク接続のためのソフトウェアをインストールしなければならなかったが現在のOSには初めからネットワーク機能が付属していてそのようなOSを「NOS(Network Operating System)」と呼んでいる。
 NOSは、ネットウーク上の他のコンピュータにある資源(リモート資源)をあたかも自分のコンピュータにある資源(ローカル資源)のように使用するための機能(共有機能)と、その使用を制限する機能(セキュリティ管理機能)を提供している。共有機能の代表的なサービスとしては、ファイル共有、プリンタ共有が挙げられる。

 制御プログラムの機能
1)ファイルの管理
  ファイルの登録、削除、補助記憶装置への保存などのファイル管理を行う。

2)周辺装置の制御
  ディスプレイ、キーボード、プリンタといった人出力装置や、ハードディスクをはじめとする補助記憶装置など、周辺装置のはたらきを制御する。

3)CPU・メモリの管理
  複数の仕事(ジョブ)を並行して行うためのCPUの時間分割や、アプリケーションプログラムが使う記憶領域の割り当てなどを行う。

4〉 プログラムの制御
  プログラムの実行の順序や優先度の管理などを行い、プログラムが効率よくはたらくように制御する。

5〉 ヒューマンインタフエースの実施
  画面の表示や、マウス操作の処理などを行う。
注意)UNIXについて

 BIOS(Basic Input/output System

 BIOSとはパソコンを制御するためのもっとも基本となるプログラムのこと。マザーボード上に装備された小さなフラッシュメモリなどの不揮発メモリに書き込まれていて、電源を切断しても記憶内容が保持される。電源管理、日付管理、パワーマネジメントなどコンピュータの動作に関わる設定、パソコンに接続されたさまざまな周辺パーツを管理する役割を担っている。

 パソコンの電源を入れると、まず最初に起動するのがBIOSである。BIOSは、マザ一に接続されたCPUやメモリ、HDD、FDD、光ドライブ、さらにはキーボードやマウスなどのチェックを行い、その情報をもとにOSへの橋渡しを行う。つまりBlOSが正しく認識できない機器があると、その性能は十分に発揮されない。
 新しいCPUや新規格のメモリ、大容量のHDDなど、マザーよりも後に発売されたものは、BIOSが「知らない」可能性が高い。そこでBIOSをアップデートして知らせてやる必要がある。以前はBIOSはROMと呼ばれる部品に記録されていて書き換えることができなかったが、最近はフラッシュメモリーを使うことで必要があればほとんどの場合書き換えられるようになっている。現在ほとんどの操作をディスプレイとキーボードを用いてソフトウエア的に行なうことができるようになった。

 BIOSのアップデートは、通常MS-DOS環境で行う。基本的な流れはメーカーを問わずほとんど同じ。起動ディスクを使ってMS-DOSを立ち上げ、専用の書き換えツールを使って書き換えるだけである。なお、最近では、ウインドウズ上でアップデートが行えるツールを用意しているマザーボードメーカーも多い。

 デバイスドライバー(Device Driver)

 プリンターやスキャナー、デジタルカメラなど多種多様なハードウェアを接続し、機能をどんどん拡張していけるように柔軟性を実現しているのが「デバイスドライバー」(以下、ドライバー)である。
  ドライバーは実際にハードウェアを制御している。各機器の柔軟性を高めるために独立しており、自由に追加できる。例えばアプリケーションから「印刷」の操作をすると、Windowsを介してプリンタードライバーに指示が送られる。
 ドライバーとはパソコンのソフトの一種であり、ハ−ドウェアを制御するプログラムである。パソコンのソフトが「アプリケーション」と「OS(Operating System)」の2つに分けられることはご存じだろう。プリンターやハードディスクなどハードウェアの管理を行うのがOSの役割の一つだが、実はWilldowsなどのOSは直にハードウェアをコントロールしているわけではない。OSはまずドライバーに指令を送り、実際にはドライバーがハードウェアを動かしている。

 こういうブロックを積み上げるような構造になっているのは、多様な機器に素早く対応するためである。OSの中核部分から各ハードウェアに固有の制御プログラムを切り離し、ドライバーとして独立させておく。そうすれば新製品が発売されたとしてもドライバーを追加するだけで利用できるようになる。
 プリンターひとつとっても、メーカーごと、機種ごとに機能は異なるし、制御方法も異なる。もしドライバーがなかったとすれば、新製品が登場するたぴにOSのアップグレードが必要になってしまう。

 言語プログラム

 FEP (Front End Processor

 古くは、大型コンピュータシステムにおいて、メインプロセッサの負担を軽減するためにデータの前処理やデータ転送の制御などを行なう補助プロセッサのことをあらわしていた。転じて、データの前処理や入力の補助を行なう装置やソフトウェア一般を指すようになり、MS-DOSシステム上では日本語を入力するために用いる、かな漢字変換ソフトウェア(ジャストシステムの「ATOK」など)の総称として定着した。現在では日本語入力ソフトウェアはIM(Input Method )と呼ばれることが多いが、未だにこの意味でFEPという用語を用いる場合もある。

 IME( Input Method Editor

 Windowsシステム上で日本語や中国語など、文字の多い言語で入力を行なうために必要な変換ソフト。英語の場合、アルファベットがキーボード上にすべて配置されているため、キーボードからそのまま入力すれば文書を作成できる。しかし、日本語の場合はひらがなやカタカナ、漢字など、使用される文字がとてもたくさんある。そこで日本語の文書を作成するには、キーボードから、かな入力かローマ字入力でひらがなを入力し、それを漢字やカナの混じった文章に変換する。この役目を担うのが「IME」で、“日本語入力ソフト”とも呼ばれている。日本語用のIMEとしては、Windows に標準で添付されているMicrosoft社のMS-IMEの他に、ジャストシステムのATOKやバックスのVJEなどが有名。これがなければ日本語は表示できない。

特殊文字変換
「…」あまり  「々」「〃」おなじ  「∴」ゆえに  「∵」なぜならば  「゛」だくてん  

 HTML(Hyper Text Markup Language)

 インターネットのホームページを作成するための基本言語。
WWWで閲覧する文書(画像のデータなども含む)を記述するのに使用されるマークアップ言語である。タグといわれる記号を入れることで、ある文書から別のページや他のサーバの情報を呼び出すことができる。
 この言語を使って作られたページを、Internet Explorer(インターネットエクスプローラー)やNetscape(ネットスケープ)などのブラウザを通して見ることで、いつも目にする画像や動画が含まれたホームページとして閲覧できるようになる。

 HTMLは、WWW(World Wide Web)のプロトコルであるHTTP(Hyper Text Trans for Protocol)とともに、ヨーロッパのCERN(原子核研究所)で生まれ、現在では、WWW全体をW3C (World Wide Web Consotium) http://www.w3.org/という非営利団体が規格の決定などを行っている。
 パスの表現において、“../“は親ディレクトリを表し、“/”は、パス表現の先頭にある場合はルートディレクトリを、中間にある場合はディレクトリまたは、ファイル名の区切りを表す。

絶対パス:「http://〜」から始まるパス
 ホームページの住所そのもので、どのファイルから見ても固定の表現方法である。リンクや他のサイトにあるファイルにアクセスする時に使用する。
相対パス:「../index.html」などのパス
 あるファイルから見て、目的のファイルがどこにあるか、という位置を表わす方法である。同じサイト内にあるファイルにアクセスする時に使用する。

 PDF(Portable Document Format

 PostScriptは、米国アドビシステムズが1985年に発表したページ記述言語である。機種に依存しないコンピュータ言語の一種で、デスクトップパブリッシングでは、デファクトスタンダード(世界標準)ということができる。WordやExcelなどのファイルを渡すとき、相手のパソコン環境がよくわからない場合には、元のファイルを変換してPDFファイルにすることで、ほとんどの場合、問題なく見てもらうことができる。テキスト、グラフィックスの両方に対応し、プリンタなどの解像度に関係なく文字やグラフィックス、画像などを高品位で出力できるのが特徴である。
PDFの特徴
  1. レイアウトはそのまま保持
     PDFファイルなら、元の文書ファイルを作成したアプリケーションソフトや使用しているフォントの有無に関わらず、元の文書と同じ見た目で表示・印刷ができる。PDF形式ファイルの表示や印刷を行うには、アドビシステムズ社が無料配布しているAdobe Readerなどのソフトを利用できる。
  2. データを圧縮してコンパクトにできる
     データを圧縮して格納することで、元のファイルよりもサイズを小さくできる場合がある。元のファイルに含まれている文字やイラスト、写真などの要素や、文書をPDF化するアプリケーションソフトによって、圧縮率は変わってくる。
  3. 重要なファイルはパスワードでガード
     情報の機密性を保持するため、パスワードによるセキュリティ機能が用意されている。親展と同じように特定の人だけに見てほしい場合や、企画書や決算書などのように内容を変更されたくない場合に有効である。

 ブラウザー(Browser)

 Webページを閲覧するためのアプリケーションソフト。インターネットからHTMLファイルや画像ファイル、音楽ファイルなどをダウンロードし、レイアウトを解析して表示、再生する。フォームを使用してユーザがデータをWebサーバに送信したり、JavaScriptやFlash、およびJavaなどで記述されたアプリケーションソフトを動作させたりすることも可能である。世界初のグラフィカルなWebブラウザはNCSAによって開発されたMosaicである。現在では、Microsoft社のInternet Explorerがかなりのシェアを占めるほか、Mosaic開発チームが興したNetscape Communications社のNetscape Communicator(Navigator)、Netscape社が立ち上げたオープンソースプロジェクト「Mozilla.org」によるFirefox、Opera Software社(ノルウェー国)のOperaなどが著名なWebブラウザである。また、テキストしか表示できない環境でも利用できる「テキストベースWebブラウザ」と呼ばれるものもある。テキスト限定の環境ではもちろん画像は表示できないが(「画像が表示できる」テキストベースWebブラウザというのもあり、テキストベースだが画像も表示可能という環境では画像を表示させることができる)、HTMLファイルをタグに合わせて整形した状態で読むことができる。テキストベースWebブラウザとしてはw3mやlynxが著名である。

 URL(Uniform Resource Locator

インターネット上の情報提供者(場所)を指定する表記方法。
「プロトコル名://サーバー名/ディレクトリ名/ファイル名」という形式。

 SSI (Server Side Includes

 サーバー側が処理した結果を置き換えてくれるコメントの書式のこと。SSI は以下のようなコメントの書式で表現され、SSIをサポートしないサーバーでは何も起こらないようになっている。
<!--#exec cmd="/bin/ls"-->
SSI には以下のような機能がある。
SSI はプロバイダで使用を禁止していたり、Web サーバーがサポートしていない場合もある。
ファイル名には「.shtml」の拡張子を付け、パーミッションは「644」で動作はOK。
ブラウザが扱うデータとその拡張子
拡張子 説明 処理するもの
.html, .htm HTML形式 ブラウザ
.gif, .jpeg, .jpg 静止画像 ブラウザ
.doc WORDの文書 MS WORD
.xls EXCELのデータ MS EXCEL
.ppt PowerPointのデータ MS PowerPoint
.avi MSの動画 ブラウザ
.qt, .mov Quick Time:動画 ブラウザ
.mpeg MPEG:動画 ブラウザ
.ra Real Audio:音声 Real Audio
.wav Wave形式の音声 ブラウザ
.aif, .aiff Aiff形式の音声 ブラウザ
.au, .snd AU形式の音声 ブラウザ
.pdf PDFのデータ アクロバットリーダー
.xdm StreamWorksのデータ StreamWorksクライアント