移植 (ソフトウェア)
出典: フリー百科事典『ウィキペディア(Wikipedia)』
移植(いしょく)とは、動植物に於いては本来の生育環境とは異なる場所に移動させてそのまま生育・繁殖させる行為をさすが、ソフトウェア等の場合に於いては、動作環境(コンピュータなどのハードウェアや、OSなどのソフトウェア基盤)の異なるプラットフォーム上で同じ動作をするソフトウェアを製作する事、若しくは元のソフトウェアを改変して、動作するように作り変えることを指す。
[編集] 概要
コンピュータにあっては、様々な思想に基いた様々なコンピュータやプログラム言語が、様々なメーカーから発売されている。かって古くはIBMとそれ以外の多くのメーカーが存在したメインフレーム市場において、次第にIBMとその互換機メーカーに集約された。今日でもパーソナルコンピュータの大半が、WindowsまたはMacintoshシリーズに集約され、大半のユーザーは、自分の使っているパソコンのOSだけを気にするようになっている。
これらのパソコンでは、OSに用意されたAPIや、それらによって利用されているデバイスドライバの働きによって、メーカーは元よりハードウェアの差異やメモリ構成の違いなどは気にせずとも同じソフトウェアが利用できる。これらは、OSが提供する標準化された環境で動作しているため、メーカーや機種の違いは関係無くなっている。
しかしWindowsとMacintoshシリーズでは、一部のソフトウェアを除いては、同じソフトウェアが動作しない。これらはOS側で提供している環境が異なるためである。これと同じように、世界中には様々なプログラミング言語が存在し、同じ動作をコンピュータにさせるためには、それぞれのプログラミング言語の仕様に則ったプログラムを作成しないと、動作するソフトウェアは作れない。例を挙げれば、プログラミングの基礎中の基礎とされるHello worldが挙げられる。この、“Hello world!”と表示するだけの、僅か数十文字程度のプログラムは、プログラミングに利用する言語によって様々に変化する(詳細はHello worldの項を参照のこと)。
[編集] 移植の歴史
特に動作環境が異なるコンピュータの多くでは、同じ動作・作業をさせるために、全く別々にプログラムを作成しなければ成らない場合もあり、旧来のハードウェア構成の差異を補正するOSやドライバーが無かった時代には、同メーカー・別シリーズのパソコン間でも、プログラムの大半を作り直す作業が必要とされた。
このため、特にパソコンが普及し始めていた1980年代に於いては、各ソフトウェアメーカーとも、採算性の上でシェアが狭い機種など、売上が見込めない機種にはソフトウェアの移植を行わないケースも見られた。その一方で、採算さえ取れそうなら、非常に性能の低いパソコン向けにでさえ、ソフトウェアメーカーは多大なプログラミングテクニックと試行錯誤という労力を費やしてでも、移植ソフトウェアを作り続けた。このため、日本のパソコン市場は1980年代末には8bit御三家と呼ばれる三強と、様々なメーカーからの互換性のあるMSXシリーズによる寡占化傾向が定着していた。
一方情報工学分野でも、様々なコンピュータメーカーから、多種多様な大型・小型を問わず1970年代以降、様々なコンピュータが発売・供給されたが、プラットフォームごとに操作方法が大きく違う事に辟易する利用者も多かった。その中で、マルチユーザー・マルチタスクの思想から生まれたUNIXは広く産官学分野に受け入れられ、様々なコンピュータ上に動作するUNIXの流れを汲むOSが移植された。
その中には、家庭にあるパソコン上でも同じOSを使いたいというユーザーもあらわれ、LinuxやFreeBSD等の、PC/ATパソコン上で動作するものも開発され、今日に至る。特にLinuxに到っては、家庭用ゲーム機や携帯機器・過去のコンピュータハードウェア等で動作させる事が、一部のマニア間で腕試しに競われた結果、Xboxやプレイステーション上でも動作する環境が開発されている。
[編集] 関連項目
- 医学用語の移植
- 個々のソフトウェアではなく、動作環境全体の移植である
カテゴリ: コンピュータ関連のスタブ項目 | ソフトウェア | コンピュータアーキテクチャ | コンピュータ史