高校「情報Ⅰ」単語帳 - 開隆堂「実践 情報Ⅰ」 - コンピュータの仕組み
コンピュータ 【電子計算機】 ⭐
与えられた手順に従って複雑な計算を自動的に行う機械。特に、電子回路などを用いてデジタルデータの入出力、演算、変換などを連続的に行うことができ、詳細な処理手順を人間などが記述して与えることで、様々な用途に用いることができる電気機械のこと。
歴史的には手回しで歯車などを駆動する機械式の自動計算機なども存在したが、現代でコンピュータと呼ばれる機械は一般に、マイクロプロセッサ(CPU/MPU)や半導体メモリなどの半導体集積回路(ICチップ)を中心に構成され、記憶装置に記録されたオペレーティングシステム(OS)やアプリケーションソフトといったコンピュータプログラム(ソフトウェア)を実行するものを指す。
コンピュータの分類
一般的にコンピュータそのものとみなされる機器には、個人向けの汎用コンピュータである「パーソナルコンピュータ」(PC:Personal Computer/パソコン)や、企業や官公庁などの情報システムで用いられる大規模・高性能コンピュータである「サーバ」(server)や「メインフレーム」(mainframe computer)、科学技術計算などに用いる超高性能コンピュータである「スーパーコンピュータ」(supercomputer)などがある。
また、現代の電気機器の多くは内部の装置の制御などのために機器内部に小型のコンピュータシステムを内蔵しており「組み込みシステム」(embedded system)と呼ばれる。
このような組み込み型のコンピュータを備えた機器には携帯電話・スマートフォンやタブレット端末、ビデオゲーム機、通信装置やネットワーク機器、テレビ受像機、ビデオレコーダー、デジタルカメラ、電子制御の家電製品や産業機械、輸送機械などがある。
コンピュータの構成
一般的なコンピュータは、プログラムの実行状況や各装置の状態を制御する「制御装置」、データの計算や加工を行う「演算装置」、データを記録する「記憶装置」、人間や他の機器など外界との情報のやり取りを行う「入力装置」および「出力装置」などで構成される。この五つの要素を「コンピュータの五大装置」(五大機能)と呼ぶこともある。
このうち、制御装置と演算装置は現代では一つの装置や半導体チップとして統合されていることが多く、これを「処理装置」(PU:Processing Unit)という。コンピュータシステム全体の制御を司る中心的な処理装置のことを「中央処理装置」(CPU:Central Processsing Unit)という。
記憶装置は当座の動作に必要なプログラムやデータの一時的な記憶に用いる「主記憶装置」(メインメモリ)と、永続的な記録に用いる「外部記憶装置」(ストレージ)あるいは「補助記憶装置」に分かれていることが多い。
計算手順はCPUに対する命令の列を記憶装置にデータとして記録し、順に読み出して実行していく方式(プログラム内蔵方式)になっており、これを「コンピュータプログラム」あるいは単にプログラムという。
ハードウェア ⭐⭐⭐
コンピュータ本体や内部の装置、周辺機器などの物理的な実体を伴う装置や機器、およびその部品、部材のこと。それ自体には形がないソフトウェアと対比される。
コンピュータの場合、処理装置や記憶装置、入出力装置、電子基板、ケーブル類、筐体などの部品や部材、およびその総体として物理的実体としてのコンピュータのことをハードウェアという。「ハード」と略されることも多く、「HW」「H/W」などの略号で示されることもある。
これに対し、コンピュータプログラムやデータなど、それ自体は物理的な実体を伴わない要素のことを「ソフトウェア」(software)と総称する。ソフトウェアの記録や伝送、表示や実行には必ず何らかのハードウェアが必要となる。
コンピュータ以外の分野でも、施設や設備、機器、部品、資材といった物理的実体をハードウェアと呼ぶことがあり、付随する非物理的な要素と対比する文脈で用いられる。例えば、劇場の建物や設備をハードウェア、そこで催される公演をソフトウェアと呼んだり、教育機関の校舎や備品をハードウェア、提供される教育プログラムをソフトウェアと呼んだりすることがある。
英語の “hardware” の原義は金物、金属製品という意味で、機械や生活用品などについて、木製のものなどと対比して金属製であることを表す言葉だった。現代では金属製かどうかはあまり重視されず、工具や冶具、装置、設備、資材、軍用装備品などを広く総称する言葉として用いられることが多い。
コンピュータの五大装置 ⭐
コンピュータのハードウェアを構成する主要な装置を5つに分類したもの。制御装置、演算装置、記憶装置、入力装置、出力装置の5つ。それぞれの機能(制御、演算、記憶、入力、出力)を指して「五大機能」と呼ぶこともある。
制御・演算
制御装置はプログラムに記述された命令の解釈・実行と他の装置の制御を行い、演算装置は算術演算や論理演算などのデータ処理を行う。この二つは現代のコンピュータ製品では中央処理装置(CPU:Central Processing Unit)として一つの半導体チップ(マイクロプロセッサ/MPU)にまとめられるのが一般的となっている。
記憶
記憶装置はプログラムやデータを保存する装置で、当座の使用のため一時的に保存することができる主記憶装置(メインメモリ)やCPU内部のレジスタおよびキャッシュメモリ、永続的な保管のために用いる補助記憶装置(外部記憶装置/ストレージ)に分類される。
メインメモリには、高速に読み書きできるが容量あたりの単価が高く、装置の電源を切ると内容が消えてしまう半導体メモリのDRAM(Dynamic Random Access Memory)が用いられることが多い。
ストレージには、読み書きは低速だが安価で電源を切っても内容が消えない装置や記憶媒体が用いられ、ハードディスクなどの磁気ディスク装置や、CDやDVDなどの光学ディスク装置、SSDやメモリーカード、USBメモリなどのフラッシュメモリ装置などがよく知られる。
入力・出力
入力装置は外部からデータを送り込むための装置で、人間による操作をコンピュータに伝えるマウスやキーボード、ペンタブレットなどのほか、外部の情報を取り込んでデジタルデータとしてコンピュータに伝送するイメージスキャナやマイク、カメラなどがある。
出力装置はコンピュータ内部のデータを外部に取り出すための装置で、ディスプレイやスピーカー、プリンタなどが該当する。
制御装置 ⭐⭐⭐
機械やシステムの構成要素のうち、主に他の要素の動作の制御などの機能を担うもの。コンピュータの場合はCPUの機能の一部として内蔵されている。
コンピュータの制御装置
コンピュータを構成する装置のうち、他の装置の制御を行うものを制御装置と呼ぶ。演算装置、記憶装置、入力装置、出力装置と合わせてコンピュータの五大装置という。
現代のコンピュータではほとんどの場合、演算装置と共に中央処理装置(CPU:Central Processing Unit)という装置の一部として実装される。また、CPUはマイクロプロセッサ(MPU:Micro-Processing Unit)と呼ばれる単一の半導体集積回路(ICチップ)の形で提供されている。
制御装置は演算装置やレジスタ(CPU内部の記憶回路)を操作して命令の実行制御を行ったり、メインメモリ(RAM)などの記憶装置とプロセッサ間のデータや命令の読み出しや書き込みの制御、外部の装置との信号の入出力制御などを行う。
初期のコンピュータの設計では演算装置とは独立・分離していたが、現代のプロセッサにおいては両者が統合されて一体的に設計されるため、両者の区別にはほとんど意味がなくなり、「実行ユニット」「プロセッサコア」のような用語で呼ばれることも多い。
ALU 【Arithmetic and Logic Unit】 ⭐⭐⭐
コンピュータを構成する基本的な装置の一つで、算術演算(四則演算)や論理演算などの計算を行う装置。現代のコンピュータでは制御装置とともにマイクロプロセッサ(CPU/MPU)などの論理回路の一部として実装されている。
加算器や論理演算器などの演算回路を持ち、整数の加減算、論理否定(NOT)、論理和(OR)、論理積(AND)、排他的論理和(XOR)などの基本的な演算を行うことができる。
これらの回路を組み合わせて、乗算や除算、余剰、実数(浮動小数点数)演算、否定論理和(NOR)、否定論理積(NAND)などの演算ができるようになっているものもある。
記憶装置 ⭐
コンピュータの構成要素の一つで、データやプログラムの保存・記憶を行うための装置。レジスタやキャッシュメモリなどCPU内部の半導体メモリ、メインメモリ(主記憶装置/RAM)、ストレージ(外部記憶装置/補助記憶装置)などに分類される。
用途や実装方式、性能、コストなどにより様々な種類の装置があり、これらを組み合わせてコンピュータシステムを構成する。一般に、より高速に読み書き可能な装置ほどコストが高かったり永続的な記憶ができない(電源を落とすと内容が失われる)という特性があるため、小容量の高速な装置、中容量の中速の装置、大容量の低速で永続記憶可能な装置を組み合わせ、状況や使用頻度などに応じて使い分ける。このような階層型の構造を「記憶階層」(memory hierarchy)という。
プロセッサ内部の記憶装置
最も高速だが大きな容量を取ることができないのはCPU(MPU/マイクロプロセッサ)の半導体チップ上に設けられた記憶素子の集合で、中でも、論理回路が処理や演算に直接用いる「レジスタ」(register)は一般的なプロセッサで数十バイトしかないが最も高速に動作する。
また、直近に使用したデータや使用頻度の高いデータをチップ内に保持しておいて、すぐ参照できるようにするための記憶素子を「キャッシュメモリ」(cache memory)という。プロセッサによっては搭載しないこともあるが、数KB(キロバイト)から数百KB程度であることが多い。キャッシュメモリ内部にも記憶階層がある場合があり、より高速だが容量の少ない順に1次キャッシュ、2次キャッシュ、3次キャッシュ、と2~3段階で構成される。
メインメモリ
メインメモリは主記憶装置とも呼ばれ、現代のコンピュータの大半では半導体メモリ素子の一種であるRAM(Random Access Memory)が用いられる。現代のパソコンなどでは数GB(ギガバイト)程度の容量であることが多い。
CPUはストレージに直接アクセスできないため、実行中のソフトウェアが当座必要なデータやプログラムはメインメモリに置いておく必要がある。内容は起動時や必要になった時点でストレージから読み込まれ、CPUが処理した結果なども一旦メインメモリに置かれる。電源を落とすと内容が失われるため、永続的に保管しておきたいものはストレージに書き込む必要がある。
RAMのメモリチップそのものを主基板(マザーボード/メインボード)などに直に実装する場合もあるが、パソコンなど汎用的なコンピュータの多くは、メモリチップをいくつか実装した小さな基板であるメモリモジュールを主基板上の専用の差込口(メモリスロット)に差し込んで装着する。
ストレージ
ストレージはコンピュータの電源が切れても内容が失われない装置で、永続的に必要なデータやプログラムの保存に用いられる。RAMなどに比べ動作が低速な装置が大半で、また、CPUから直に読み書きできないため、コントローラICなどを通じて内容をメインメモリとの間でやり取りする必要がある。駆動装置(ドライブ)と記憶媒体(メディア)が一体化している装置と、取り外して交換できる装置があり、後者はメディアを追加することで全体の容量を増やすことができる。
パソコンなどで主要な記憶装置としてよく用いられるのは磁気ディスクを装置内に固定したハードディスク(HDD:Hard Disk Drive)で、現代では数百GBから数TB(テラバイト)の製品がよく用いられる。ハードディスクに代わって台頭しているのが不揮発の半導体メモリの一種であるフラッシュメモリを用いたSSD(Solid State Drive)で、フラッシュメモリを用いたストレージには他にUSBメモリやメモリーカードなどもある。
データやプログラムの運搬や配布などによく用いられるのがレーザーで内容の読み書きを行う光学ディスクで、登場順にCD、DVD、Blu-ray Disc(ブルーレイディスク/BD)などがあり、この順に容量が大きく読み書きも高速である。CDは音楽・音声の記録や販売に、DVDやBDは映像ソフトの記録や販売に特によく用いられる。
入力装置 【入力機器】 ⭐⭐⭐
コンピュータなどの機器本体にデータや情報、指示などを与えるための装置。一般的には人間が操作して入力を行う装置のことを指し、手指の動きや打鍵を電気信号に変換して伝達するキーボードやマウス、タッチパネルなどが該当する。
コンピュータの登場以前から、ボタンやレバー、ツマミ、ペダルなどの入力装置が機械の操作に用いられてきたが、情報機器ではこれらに加えてより複雑で汎用的な情報入力を実現するため、多数の操作要素や高度な機構を持つ装置が発明された。
例えば、文字が刻印された小さな鍵盤が敷き詰められたキーボード、手で位置や移動を入力するためのマウスなどのポインティングデバイス、画面表示と位置入力を兼用するタッチパネルなどが発達した。特殊なゴーグルなどを利用して視線の方向を検知し、画面上の位置を指示して入力する装置なども開発されている。
ビデオゲームでは、数種類のボタンやスティック、加速度センサーなどを手のひらサイズに収めたゲームコントローラ(ジョイパッド/ジョイスティック)が最も一般的な入力装置として用いられるほか、カメラやセンサーなどを組みわせて四肢の動きを検知するシステムが用いられたり、実在の機械を模した専用の装置(ハンドルやレバー、フットペダルを組み合わせたレースゲーム用筐体など)が用いられることもある。
広義には、人間の動作に限らず外界から情報を取り込んで電気信号やデジタルデータとしてコンピュータに伝達する機器全般が含まれる。マイクやイメージスキャナ、ビデオカメラ、デジタルカメラ、バーコードリーダー、指紋センサー、X線撮影装置、超音波診断装置、光学式読み取り装置(OCRやOMR)などである。
出力装置 【アウトプットデバイス】 ⭐⭐⭐
コンピュータが扱う情報を利用者に認識できる形式で提示する装置。ディスプレイやプリンタ、スピーカーなどが含まれる。
コンピュータシステムを構成する主要な装置の一つで、データを人間に認識できる形で外部に物理的に出力する装置である。光の像を投影して画面を映し出すディスプレイ(モニタ)やプロジェクタ、紙などに印字・印刷を行うプリンタやプロッタ、音声を発するスピーカーやイヤフォンなどが該当する。
主に人間の視覚や聴覚に働きかける原理の機器が多いが、振動で情報を知らせるバイブレーターや、ゲームコントローラなどで操作感(押しやすさ、回しやすさなど)を状況に応じて変化させるフォースフィードバック機構など、触覚を利用する装置もある。
映画館や体験型アミューズメント施設などに見られる、映像に合わせて霧や風を吹き出す装置なども広義には出力装置の一種と言える。未だ研究段階ながら、香り(触覚)や味(味覚)を動的に合成してコンピュータからの出力とする装置も構想されている。
これに対し、人間や環境、外部の機器から情報を取り込んでデータとしてコンピュータ本体に伝える装置を「入力装置」(input device:インプットデバイス)といい、キーボードやマウス、タッチパネル、ゲームコントローラ、マイク、イメージスキャナ、各種センサーなどが含まれる。
出力装置と入力装置を合わせて「入出力装置」(I/O device)と総称することもある。イヤホンマイクやプリンタ複合機(イメージスキャナとしても利用できるプリンタ)、振動機能付きコントローラなど、入出力の両方の機能を一体的に提供する装置もある。
メモリ ⭐⭐
記憶、記憶力、回想、追憶、記念などの意味を持つ英単語。ITの分野ではコンピュータに内蔵される半導体集積回路(IC)を利用したデータの記憶装置を指すことが多い。
コンピュータを構成する装置の一つで、CPU(MPU/マイクロプロセッサ)などから直接読み書きすることができる記憶装置のことを「主記憶装置」(main memory:メインメモリ)というが、通常はこれを略してメモリと呼んでいる。また、主記憶装置を含む、半導体素子により電気的にデータの記憶や読み書きを行う記憶装置を総称して「半導体メモリ」という。
主記憶装置としてのメモリ
コンピュータ内部でCPUがソフトウェアの実行のために当座必要なプログラムやデータを記憶しておくための記憶装置を主記憶装置あるいはメモリという。一方、プログラムやデータを長期的、永続的に保管しておくために利用される装置は「外部記憶装置」「補助記憶装置」あるいは「ストレージ」(storage)などと呼ばれる。
一般に主記憶装置は外部記憶装置よりはるかに高速に動作する装置が用いられるが、単価や装置構成上の制約から少ない容量しか搭載することができない。このため、コンピュータは起動すると外部記憶から主記憶に必要なプログラムやデータを読み込んで実行し、必要なくなったデータなどは主記憶からすみやかに消去して新たに必要になったものと入れ替える。永続的に保管する必要があるデータなどは外部記憶へ書き込まれて保存される。
現代のコンピュータでは主記憶装置として、電気的に動作し高速に読み書きできる「RAM」(Randam-Access Memory)、特に「DRAM」(Dynamic RAM)を用いることが多いため、RAMやDRAMを主記憶装置あるいはメモリの同義語のように用いることが多い。歴史的にはRAM以外の装置が主記憶だった時代もあり、また、今後、RAMとは異なる原理の記憶装置を主記憶に用いるための技術の研究・開発も行われている。
RAM/DRAMは電源を落とすと内容が失われる「揮発性メモリ」の一種であるため、これを主記憶装置の特徴と説明することもあり、現代のコンピュータの設計については当てはまるが、本来これはRAM/DRAMの特性であり、他の装置を用いた場合はその限りではない。
半導体記憶装置としてのメモリ
電気的に情報を記録できる半導体素子を集積し、ある一定の容量のデータの記録、読み書きが可能な半導体集積回路(IC/LSI)を「半導体メモリ」あるいは単にメモリという。
半導体メモリ装置の多くは主記憶装置やそれに準じる用途に用いられるが、フラッシュメモリのように外部記憶装置(ストレージ)として用いられることがあり、主記憶装置をメモリと呼ぶ場合と紛らわしいので注意が必要である。
RAM
自由に読み書きできるが電源を断つと内容が失われる装置を「RAM」(Randam-Access Memory:ランダムアクセスメモリ)と呼び、記憶を保持するために定期的に電荷の再注入が必要な「DRAM」(Dynamic RAM:ダイナミックRAM)と不要な「SRAM」(Static RAM:スタティックRAM)に分かれる。
コンピュータの主記憶としてよく用いられるのはDRAMで、パソコンなどの場合は細長い電子基板にいくつかのDRAMチップ(メモリチップ)を実装したDRAMモジュール(メモリモジュール)をマザーボードに装着して利用する。
ROM
一方、電源を落としても記録内容が維持されるが、利用者が内容を書き込めないか書き込み方法に制約のある装置を「ROM」(Read-Only Memory:リードオンリーメモリ)という。コンピュータ内部に固定的に設置されてファームウェアやBIOSなどを記憶したり、プラチックのパッケージなどに収められてソフトウェアの流通などに用いられる。
このうち、製造時に内容を記録し、以後は内容の消去や上書きが一切できないものを「マスクROM」(Masked ROM)、利用者が特殊な装置を用いて一度だけ内容を記録できるものを「PROM」(Programmable ROM)、特殊な装置を用いて何度も内容の消去、再書込が可能なものを「EPROM」(Erasable Programmable ROM)という。
さらに、特殊な装置が不要で読み出しと同じ装置で消去、再書込ができるようにしたものは「フラッシュメモリ」(flash memory)と呼ばれ、自由に読み書き可能な不揮発メモリとして外部記憶装置(ストレージ)に利用される。
メインメモリ 【主記憶装置】 ⭐⭐⭐
コンピュータ内部でデータやプログラムを記憶する記憶装置のうち、中央処理装置(CPU)と基板上の電気配線などを通じて直に接続されたもの。「メモリ」「RAM」とも呼ばれる。
CPUの命令によって直に読み書きが可能な記憶装置で、実行中のプログラムコードや当座の処理に必要なデータなどが保存される。外部記憶装置(ストレージ)に比べ読み書き動作は桁違いに高速だが、単価が高いため機器に搭載できる容量は何桁か少ないのが一般的である。
現代のコンピュータでメインメモリとして用いられるのは半導体記憶装置(半導体メモリ)のRAM(Random Access Memory)の一種であるDRAM(Dynamic RAM)がほとんどで、機器の電源を切るなどして装置への通電を止めると記憶内容が失われるという特性がある。
このため、データやプログラムの永続的な保管にはストレージを用い、コンピュータの起動時にメインメモリに必要なプログラムなどを読み込んで実行するという動作が基本となっている。
また、現代のCPU製品の多くは内部にDRAMよりも高速な「キャッシュメモリ」と呼ばれる記憶回路を内蔵しているが、これはDRAMとのやり取りを高速化する一時的な保管場所としてのみ用いられ、プログラムから明示的に動作を制御することはできないようになっている。
ENIAC 【Electronic Numerical Integrator And Calculator】 ⭐
1946年にアメリカで開発された、最も初期の電子計算機の一つ。現代のコンピュータの祖先の一つとして知られる。
第二次大戦中の1943年、米陸軍が弾道計算などのために高速な計算機の開発を計画し、ペンシルベニア大学のジョン・モークリー(John W. Mauchly)氏やジョン・エッカート(John P. Eckert)氏を中心とするグループに資金を提供して開発を依頼した。終戦後の1946年に完成し、陸軍施設で1955年まで稼働した。
筐体は大きなロッカーを横に並べたような形状で、全体で幅30m×奥行き90cm×高さ2.4m、重量は27トンにも達したという。約18,000個の真空管をはじめ、ダイオードやリレーなどの素子を数千から数万個ずつ用いており、全体で約150kWの電力を消費した。十進数で10桁の数を20個同時に記憶し、加減算なら毎秒数千回、乗算や除算は数十回から数百回を実行できた。
主な特徴
当時は機械式の電気計算機は存在したが、ENIACは可動部をなくし、すべての計算やデータの伝送を電気的に行うことで極めて高速な動作が可能となった。また、機械の物理量の変化で計算を行うアナログ式の計算機械も既に存在したが、ENIACは数値を一桁ずつ計算するデジタル式の計算機の魁の一つであった。
機器の構造上あらかじめ実行できる計算や用途が決まっている専用計算機がほとんどだった中、ENIACは配線やスイッチの接続状態などを変更して計算手順を変更できるように設計され、ある程度汎用的に様々な用途や計算に利用できた。条件分岐や繰り返しなどを含む複雑なコンピュータプログラムを実行することもできた。
このように今日のコンピュータに繋がる特徴の多くを備えていたが、現在一般的な二進法ではなく十進法で数値を表す点や、プログラム内蔵方式ではない(後期には改造されてわずかにプログラムを内蔵できるようになった)点など、現在のコンピュータとは大きく異なっている点もある。
「世界初」を巡って
ENIACは登場当初からの知名度や、その後のコンピュータの発展に与えた影響などから長らく「世界初の電子式デジタルコンピュータ」などと呼ばれてきたが、1949年に英国で開発された「EDSAC」(Electronic Delay Storage Automatic Calculator)の方がプログラム内蔵方式を実現している点で今日のコンピュータの元祖にふさわしいとする意見もある。
また、大戦中の軍事機密が数十年を経て公開されたり、当時の状況についての研究・検証が進むに連れ、ENIACより先に作られた「アタナソフ・ベリー・コンピュータ」(ABC:Atanasoff-Berry Computer、1941年米)や「ハーバード・マークワン」(Harvard Mark I、1944年米)、「Z3」(1943年独)、「コロッサス」(Colossus、1943年英)などが、いくつかの技術やアイデアでENIACより先んじていたことが明らかになっている。
周辺機器 【ペリフェラル】 ⭐
コンピュータなど中心となる機器に繋いで使用する装置のこと。本体に何らかの機能を提供するために用いられ、単体では使用できないものが多い。
通常は機器本体の外部に設置してケーブルや無線などで接続・通信するものを指し、筐体内に据え付ける部品(パーツ)とは区別されるが、一部の記憶装置のように同じ機能でも内蔵型と外付型が両方存在する場合もあり、厳密に区別できるわけではない。
パソコンの主な周辺機器は入出力装置や外部記憶装置で、キーボードやマウス、ディスプレイ(モニター)、プリンタ、イメージスキャナ、スピーカー、ヘッドフォン、外付型のストレージやドライブ(ハードディスク、SSD、光学ドライブなど)、USBメモリなどがよく知られる。
ブロードバンドルータやWi-Fiアクセスポイント、NAS(Network Attached Storage)などのようにネットワーク上で複数の機器で共用するものや、デジタルカメラやデジタルオーディオプレーヤーのようにデータ管理はパソコンで行うが使用自体は単体で行うものも含める場合もある。
また、スマートフォンやタブレット端末、携帯ゲーム機、デジタルカメラなど携帯機器の場合はメモリーカードなどの電子機器だけでなくストラップやケース、液晶保護シート、タッチペンなどの器具も含まれるため、周辺機器と呼ばずに「アクセサリー」と呼称することが多い。
ストレージ 【外部記憶装置】 ⭐⭐⭐
コンピュータの主要な構成要素の一つで、データを永続的に記憶する装置。磁気ディスク(ハードディスクなど)や光学ディスク(CD/DVD/Blu-ray Discなど)、フラッシュメモリ装置(USBメモリ/メモリカード/SSDなど)、磁気テープなどがこれにあたる。
一般的には通電しなくても記憶内容が維持される記憶装置を指し、コンピュータが利用するプログラムやデータなどを長期間に渡って固定的に保存したり、他の機器へのデータの運搬や複製、配布などのために用いられる。
コンピュータ内には補助記憶装置とは別に、半導体記憶素子などでデータの記憶を行う主記憶装置(メインメモリ)が内蔵されており、利用者がプログラムを起動してデータの処理を行う際には補助記憶装置から必要なものをメモリに呼び出して使う。
同じコンピュータに搭載される装置同士で比較すると、補助記憶装置はメモリに比べて記憶容量が数桁(数十~数千倍)大きく、容量あたりのコストが数桁小さいが、読み書きに要する時間が数桁大きい。一般的な構成のコンピュータではメインメモリ容量の百倍から千倍程度の容量の固定内蔵ストレージを用意することが多い。
記録原理による分類
補助記憶装置装置は駆動装置(ドライブ)が記憶媒体(メディア)を操作して、記憶素子の物理状態に信号を対応付けて記録する。様々な動作原理の装置があり、主に磁気を利用するもの、レーザー光を利用するもの、電荷(半導体素子)を利用するものに分けられる。
磁気記録方式の補助記憶装置には磁気テープやハードディスク、フロッピーディスクなどがある。平たい媒体表面の磁性体の磁化状態を変化させて信号を記録する装置で、媒体を薄いテープ状にしてリールに巻き取った「磁気テープ」と、平たい円盤(ディスク)状にして中心軸(スピンドル)で高速に回転させる「磁気ディスク」に分かれる。
一昔前まで補助記憶装置の大半を占めていた方式で、現在でもパソコンに内蔵される固定補助記憶装置としてハードディスクがよく用いられる。磁気テープは容量あたりの単価が極めて安いという特徴から、現在でも企業や官公庁などの大規模なデータ保管に用いられることがある。
光学記録方式の補助記憶装置はCDやDVD、Blu-ray Discなどの光学ディスクで、信号を媒体表面の細かな凹凸や化学的な状態の変化として記録し、高速で回転させながらレーザー光を照射して反射光の変化を読み取る。
製造時にデータを記録する読み出し専用ディスクと利用時にデータの書き込みや上書きができる追記型や書き換え型のディスクがあり、前者は映像やソフトウェアなどのコンテンツの販売で、後者は映像の録画やデータのバックアップ、機器間のデータの運搬などでよく利用される。
近年では、読み出し専用メモリ(ROM)から発展した書き換え可能な不揮発メモリ(電源を落としても内容が消えない半導体メモリ)であるフラッシュメモリの大容量化、低価格化が進み、補助記憶装置装置として広く普及している。ハードディスクの代わりに固定内蔵ストレージとして用いられる「SSD」(Solid State Drive)、携帯機器の内蔵ストレージ、データの運搬に用いられるUSBメモリやメモリーカードなどがフラッシュメモリを応用した補助記憶装置である。
<$Fig:storagecomparison|center|true>ビット ⭐⭐⭐
情報量の最小単位で、二つの選択肢から一つを特定する情報の量。コンピュータなどでは0と1のいずれかを取る二進数の一桁として表される。
語源は “binary digit” (二進法の数字)を繋げて省略した表現と言われる。情報をすべてビット列に置き換えて扱うことを「デジタル」(digital)という。1ビットのデータが表す情報量は、投げたコインの表裏のように、二つの状態のいずれであるかを示すことができる。
複数のビットを連ねて一つのデータとすることで、2ビットなら4状態(22)、3ビットなら8状態(23)といったように、より多い選択肢を識別できる。一般に、nビットのデータは2のn乗個までの選択肢からなる情報を表現することができる。
例えば、大文字のラテンアルファベットは「A」から「Z」の26文字であるため、これを識別するのには4ビット(16値)では足りず、5ビット(32値)が必要となる。小文字を加えると52文字であるため、6ビット(64値)が必要となる。
派生単位
データの読み書きや伝送を行う場合、その速さを表す単位として1秒あたりの伝送ビット数であるビット毎秒(bps:bit per second)という派生単位が用いられる。
また、実用上はビットでは値が大きくなりすぎて不便なことも多いため、8ビットをまとめて一つのデータとした「バイト」(byte)という単位を用いる場面も多い。かつて何ビットを1バイトとするか機種により様々に分かれていた(7ビットバイトや9ビットバイトなどが存在した)名残りで、8ビットの集まりを「オクテット」(octet)とも呼ぶ。
倍量単位
大きな量を表す際には、SI単位系に則って接頭辞を付した倍量単位を用いる場合がある。
- 1000ビットを「キロビット」(kbit:kilobit)
- 100万ビットを「メガビット」(Mbit:megabit)
- 10億ビットを「ギガビット」(Gbit:gigabit)
- 1兆ビットを「テラビット」(Tbit:terabit)
- 1000兆ビットを「ペタビット」(Pbit:petabit)
- 100京ビットを「エクサビット」(Ebit:exabit)
という。また、コンピュータでは2の冪乗を区切りとするのが都合が良いことが多いため、独自の接頭辞を付した倍量単位が用いられることもある。
- 210(1024)ビットを「キビビット」(Kibit:kibibit)
- 220(約104万)ビットを「メビビット」あるいは「ミービビット」(Mibit:mebibit)
- 230(約10億7千万)ビットを「ギビビット」(Gibit:gibibit)
- 240(約1兆1千億)ビットを「テビビット」あるいは「ティービビット」(Tibit:tebibit)
- 250(約1126兆)ビットを「ペビビット」あるいは「ピービビット」(Pibit:pebibit)
- 260(約115京)ビットを「エクスビビット」あるいは「イクシビビット」(Eibit:exibibit)
という。この2進専用の接頭辞はIEC(国際電気標準会議)が標準化しており、一般にはあまり馴染みがないが記憶容量の表記などで用いられることがある。
ソフトウェア ⭐⭐⭐
コンピュータを動作させる命令の集まりであるコンピュータプログラムを組み合わせ、何らかの機能や目的を果たすようまとめたもの。プログラムが動作するのに必要なデータも含まれる。
コンピュータを構成する電子回路や装置などの物理的実体を「ハードウェア」(hardware)と呼ぶのに対し、それ自体は形を持たないプログラムや付随するデータなどをソフトウェアという。物理的には記憶装置(ストレージやメモリなど)の記録媒体における電気的あるいは磁気的、光学的な信号として存在する。
ソフトウェアはその役割により、ハードウェアの制御や他のソフトウェアへの基盤的な機能の提供、利用者への基本的な操作手段の提供などを行なう「オペレーティングシステム」(OS:Operating System/基本ソフト)と、特定の個別的な機能や目的のために作られた「アプリケーションソフト」(application software/応用ソフト)に大別される。
これらに加え、ハードウェアに組み込まれ基本的な制御を行う「ファームウェア」(firmware)や、OSとアプリケーションソフトの中間で特定分野の基本機能や共通機能を提供する「ミドルウェア」(middleware)などの分類が用いられることもある。
日本語の外来語としては慣用的に「ソフト」と略称することが多いが、英語の “soft” は「柔らかい」という形容詞の意味しかなく、組織名や製品名のネーミングなどで接頭辞や接尾辞のように用いられる場合などを除き、省略せず “software” と綴る。「SW」「S/W」などの略号で示されることもある。
プログラム以外の用例
コンピュータプログラムは含まないが、何らかの機器を介して内容の再生や鑑賞を行う記録物のことをソフトウェアと呼ぶ場合がある。例えば、音楽CDのような音声の記録物を「音楽ソフト」、DVD-Videoのような動画の記録物を「映像ソフト」のように呼ぶ。
IT関連以外の分野でも、施設や設備、機器、道具などの物理的実体と対比して、組織や業務、事業、催し、知識、技能、情報、記録といった人間の活動に属する無形の事柄をソフトウェアと呼ぶ場合がある。
記録物やイベントなどの用法については「コンテンツ」(content)もほぼ同義語であり、20世紀にはソフトと呼ぶことが多かった分野や業界でも現在ではコンテンツと呼ぶ方が一般的な場合が多い。
OS 【Operating System】 ⭐⭐⭐
ソフトウェアの種類の一つで、機器の基本的な管理や制御のための機能や、多くのソフトウェアが共通して利用する基本的な機能などを実装した、システム全体を管理するソフトウェア。
CPU(MPU/マイクロプロセッサ)や主記憶装置(メインメモリ)、外部記憶装置(ストレージ)、入出力装置などコンピュータのハードウェア資源の管理、外部の別の装置やネットワークとのデータ通信の制御などが主な役割で、コンピュータに電源が投入されると最初に起動し、電源が落とされるまで動作し続ける。
利用者に対するコンピュータの基本的な操作手段も提供し、入力装置による操作の受け付けや出力装置への情報の提示、基本ソフト自体が備える様々な機能の実行、記憶装置内に格納されたプログラムの起動や終了、ストレージに格納されたファイルやディレクトリの操作などを行うことができる。
アプリケーションソフトとの関係
基本ソフトの機能を利用し、OSの上で動作するソフトウェアを「アプリケーションソフト」(application software/応用ソフト)という。アプリケーションの開発者は、呼び出し規約(API:Application Programming Interface)に基づいて基本ソフトの提供する機能を利用することができ、開発の手間を省き操作性を統一することができる。
また、ハードウェアの仕様の細かな違いは基本ソフトが吸収してくれるため、ある基本ソフト向けに開発されたアプリケーションは、基本的にはその基本ソフトが動作する他のコンピュータでも使用できる。ただし、CPUの種類が異なるなど根本的な仕様が異なる場合は、同じOSでも機種ごとに調整されたプログラムが必要となる。
OSの種類
OSは動作する機器の種類や目的などに応じていくつかの異なるタイプに分かれる。最も一般的なのはパソコンやサーバなどの汎用コンピュータ向けの汎用OSで、サーバコンピュータの運用に特化した「サーバOS」、利用者が操作する端末での利用を想定した「クライアントOS」などに分かれる。
汎用OS以外にも、デジタル家電や産業機械などに制御用として組み込まれた特定目的の専用コンピュータの制御に特化した「組み込みOS」がある。中でも、乗り物の駆動装置の制御など、リアルタイム性の高い制御プログラムの実行に特化した設計のOSは「リアルタイムOS」と呼ばれる。
パソコン向けのOSとして広く利用されているものには米マイクロソフト(Microsoft)社の「Windows」シリーズや米アップル(Apple)社の「macOS」(旧Mac OS X)シリーズなどがある。サーバ向けのOSとしては「Linux」などのいわゆるUNIX系OSや、サーバ向けWindowsである「Windows Server」シリーズなどがよく知られる。スマートフォンやタブレット端末などのモバイル機器では米グーグル(Google)社の「Android」とApple社の「iOS」(iPad OS/watchOS)が市場を二分する。
OS 【Operating System】 ⭐⭐⭐
ソフトウェアの種類の一つで、機器の基本的な管理や制御のための機能や、多くのソフトウェアが共通して利用する基本的な機能などを実装した、システム全体を管理するソフトウェア。
CPU(MPU/マイクロプロセッサ)や主記憶装置(メインメモリ)、外部記憶装置(ストレージ)、入出力装置などコンピュータのハードウェア資源の管理、外部の別の装置やネットワークとのデータ通信の制御などが主な役割で、コンピュータに電源が投入されると最初に起動し、電源が落とされるまで動作し続ける。
利用者に対するコンピュータの基本的な操作手段も提供し、入力装置による操作の受け付けや出力装置への情報の提示、オペレーティングシステム自体が備える様々な機能の実行、記憶装置内に格納されたプログラムの起動や終了、ストレージに格納されたファイルやディレクトリの操作などを行うことができる。
アプリケーションソフトとの関係
オペレーティングシステムの機能を利用し、OSの上で動作するソフトウェアを「アプリケーションソフト」(application software/応用ソフト)という。アプリケーションの開発者は、呼び出し規約(API:Application Programming Interface)に基づいてオペレーティングシステムの提供する機能を利用することができ、開発の手間を省き操作性を統一することができる。
また、ハードウェアの仕様の細かな違いはオペレーティングシステムが吸収してくれるため、あるオペレーティングシステム向けに開発されたアプリケーションは、基本的にはそのオペレーティングシステムが動作する他のコンピュータでも使用できる。ただし、CPUの種類が異なるなど根本的な仕様が異なる場合は、同じOSでも機種ごとに調整されたプログラムが必要となる。
OSの種類
OSは動作する機器の種類や目的などに応じていくつかの異なるタイプに分かれる。最も一般的なのはパソコンやサーバなどの汎用コンピュータ向けの汎用OSで、サーバコンピュータの運用に特化した「サーバOS」、利用者が操作する端末での利用を想定した「クライアントOS」などに分かれる。
汎用OS以外にも、デジタル家電や産業機械などに制御用として組み込まれた特定目的の専用コンピュータの制御に特化した「組み込みOS」がある。中でも、乗り物の駆動装置の制御など、リアルタイム性の高い制御プログラムの実行に特化した設計のOSは「リアルタイムOS」と呼ばれる。
パソコン向けのOSとして広く利用されているものには米マイクロソフト(Microsoft)社の「Windows」シリーズや米アップル(Apple)社の「macOS」(旧Mac OS X)シリーズなどがある。サーバ向けのOSとしては「Linux」などのいわゆるUNIX系OSや、サーバ向けWindowsである「Windows Server」シリーズなどがよく知られる。スマートフォンやタブレット端末などのモバイル機器では米グーグル(Google)社の「Android」とApple社の「iOS」(iPad OS/watchOS)が市場を二分する。
アプリケーションソフト 【アプリ】 ⭐⭐⭐
ある特定の機能や目的のために開発・使用されるソフトウェア。利用者が目的に応じて導入し、オペレーティングシステム(OS)の上で動作させる。
現代のコンピュータではOSが機器(ハードウェア)を管理・制御しており、アプリケーションソフトはOSの機能を利用して動作する。「アプリケーション」(application)あるいは「アプリ」(app)と略されたり「応用ソフト」と訳されることもある。
用途や目的に応じて多種多様なアプリケーションソフトがあり、日常的に利用される代表的なものだけでも、ワープロソフトや表計算ソフト、画像閲覧・編集ソフト、動画・音楽再生ソフト(メディアプレーヤー)、ゲームソフト、Webブラウザ、電子メールソフト、カレンダー・スケジュール管理ソフト、電卓ソフト、カメラ撮影ソフト、地図閲覧ソフトなどがある。
企業などの業務で使われる、プレゼンテーションソフトやデータベースソフト、財務会計ソフト、人事管理ソフト、在庫管理ソフト、プロジェクト管理ソフト、文書管理ソフト、生産管理ソフトなどもアプリケーションソフトの一種である。
提供方法の違い
アプリケーションソフトは無償配布あるいは販売されているパッケージを利用者が入手・購入してオペレーティングシステム(OS)に組み込む作業を行うことで使用可能となる。この作業を「インストール」(install/installation)という。OS製品の中にはいくつかのアプリケーションソフトがあらかじめ組み込まれている(プリインストール)ものもある。
大企業や官公庁などが自社の業務に用いるアプリケーションソフトの中には、市販のパッケージソフトではなく自社で開発、あるいは外部の専門の事業者に委託して開発させた「カスタムアプリケーション」もある。市販のものに比べ開発コストはかかるが、自社業務に特化した仕様となっている。
業務などで用いる大規模なアプリケーションソフトの場合、コンピュータに導入された単体のソフトウェアで機能が完結しているとは限らず、機能やデータを提供する「サーバ」と利用者が操作する「クライアント」が連携して動作する「クライアントサーバ型」の構造になっているものもある。
モバイルアプリ/Webアプリ
近年ではスマートフォンやタブレット端末などの携帯機器にタッチ操作できるアプリケーションソフトを導入してパソコンなどの代わりに利用する場面が増えている。これらは「モバイルアプリケーション」と呼ばれ、慣用的に「アプリ」(app)と略されることが多い。
スマートフォンなどには機器や専用OSの開発元が「アプリストア」と呼ばれるネットサービスにアクセスするためのアプリをあらかじめ組み込んで販売しており、利用者はストアからほしいアプリを選んで端末に組み込んで使用する。iPhoneなどのiOS端末では米アップル(Apple)社の「App Store」のみが利用でき、Android端末では米グーグル(Google)社の「Google Playストア」が標準的なストアである。
また、SNSやECサイトなどのネットサービスでは、Webサイトに動的な要素を組み込んでアプリケーションソフトのように振る舞わせ、Webブラウザから操作する方式も広く普及している。このような実装形態を「Webアプリケーション」と呼ぶ。
他のソフトウェアとの違い
コンピュータのハードウェアに対する基本的な制御機能や、様々なソフトウェアが共通して利用する機能をまとめたソフトウェアは「オペレーティングシステム」(OS:Operating System、基本ソフト)と呼ばれる。また、OSとしての制御機能は持たないが、多くのアプリケーションソフトが必要とする特定分野のまとまった機能を提供するソフトウェアは「ミドルウェア」(middleware)と呼ばれる。
アプリケーションソフトの中でも、ファイルやフォルダの圧縮・解凍や、コンピュータウイルスの探知・駆除、記憶装置(メモリ・ストレージ)管理など、システムや他のソフトウェアの機能を補ったり、性能や操作性、安全性を向上させたりするものは「ユーティリティソフト」(utility software)と呼び、アプリケーションソフトとは別の分類とする場合もある。
アプリケーションソフトという用語や分類は、パソコンのように利用者が目的に応じて後からソフトウェアを追加して使用できる汎用コンピュータについて主に用いられ、組み込みソフトウェア(家電の制御ソフトなど)や特定用途の専用コンピュータなどでは、OSなどのシステム系のソフトウェアとアプリケーションソフトの区別や境目が明確でない場合もある。
プログラム ⭐⭐⭐
予定(表)、計画(表)、課程、式次第などの意味を持つ英単語。ITの分野では、コンピュータに行わせる処理を記述したコンピュータプログラムのことを略して単にプログラムということが多い。
コンピュータプログラム (computer program)
コンピュータが行うべき処理を順序立てて記述したもの。広義の「ソフトウェア」の一部であるが、実用上はプログラムとソフトウェアはほとんど同義のように扱われることが多い。
現代のコンピュータではプログラムは一定の形式に従ってデータとして表現され、記憶装置(メインメモリ)に格納される。実行時にはCPU(中央処理装置)がプログラムに記述された命令を順番に読み出して解釈・実行していく。
プログラムを作成する作業や工程を「プログラミング」(programming)、これを行う人や職種のことを「プログラマ」(programmer)という。人間がプログラムを記述する際には、人間が理解しやすい人工言語である「プログラミング言語」(programming language)を使うことが多い。プログラミング言語で記述されたプログラムを「ソースコード」(source code)という。
ソースコードはコンピュータが解釈・実行することができないため、コンパイラなどの変換ソフトによってコンピュータが解釈・実行できる機械語(マシン語)などで構成された「オブジェクトコード」(object code)に変換されてから実行される。スクリプト言語のように、この変換処理を開発時には行わず、実行時にインタプリタなどのソフトウェアによって動的に行う場合もある。