コンピュータにおけるプラットフォーム (: platform) とは、主に、オペレーティングシステム (OS) やハードウェアといった基礎部分を指す。コンピューティングプラットフォーム (: computing platform) と呼ばれることもある。

概要

編集

一般的なコンピュータ・プログラムアプリケーションソフトウェア)の実行ファイル(バイナリ)は、実行環境であるそれぞれのOSに依存し、例えばWindowsmacOSLinuxなどの各OS上でのみ動作する専用のバイナリとして構築(ビルド)される。また、特定のプロセッサCPUGPU)向けのネイティブ機械語コードを生成するプログラミング言語で開発されたソフトウェアは、互換性のあるハードウェア上でしか動作しない。例えば、PowerPCプロセッサ用のLinux上では、PowerPCプロセッサ用のMac OS X向けあるいはx86/x64プロセッサ用のLinux向けAdobe Readerは動作しない。また、x86/x64プロセッサ用のWindows上では、ARMアーキテクチャのプロセッサ (ARM32/ARM64) 用にビルドされたWindowsネイティブアプリケーションは動作しない。ただし、ABIエミュレーションレイヤーを持つOSなど、異なるプロセッサ向けのバイナリを動作させることができる環境もある。

プラットフォーム非依存とクロスプラットフォーム

編集

特定のOSやハードウェアに依存しないことをプラットフォーム非依存 (: platform-independent) と言う。例えば、Javaは各プラットフォームにおいてJavaアプリケーションが動作する仮想のプラットフォームを実装することによって、プラットフォーム非依存を実現させている。ちょうど異なるプラットフォーム上に介在としてJavaプラットフォームという仮想化された共通プラットフォームがあり、共通プラットフォーム上でJavaアプリケーションが動作する。プロセッサ命令セットはJavaバイトコードおよびJava仮想マシンによって抽象化される。

またプラットフォームの差異をミドルウェアで吸収し、複数のプラットフォームで動作するように設計したソフトウェアをクロスプラットフォームと呼ぶ。

マイクロソフト.NET FrameworkもJavaとよく似たアプリケーション開発・実行プラットフォームであり、プロセッサに依存しない共通中間言語を生成することができ、共通言語基盤の仕様に従った共通言語ランタイム上で動作する。.NET FrameworkはWindows専用であるが、のちにMono.NET CoreによってWindows以外のOSにも移植され、クロスプラットフォームとなった。

プログラムのソースコードを実行時に翻訳・解釈するスクリプト言語動的プログラミング言語で書かれたソフトウェアもプラットフォーム非依存・クロスプラットフォームであることが多い。

OpenCLプラットフォーム

編集

OpenCLではInstallable Client Driver (ICD) Loaderの仕組みによって、1つのシステム上に複数のベンダーによる実装すなわち複数のOpenCLドライバーが共存できるようになっている[1]。このOpenCL実装のことをプラットフォームと呼ぶ。各OpenCLプラットフォームは、OpenCL対応ハードウェアの抽象化であるOpenCLデバイスを複数持つことができる。

脚注

編集

関連項目

編集

📚 Artikel Terkait di Wikipedia

OpenCL

OpenCL(オープンシーエル、英: Open Computing Language)は、マルチコアCPUやGPU、Cellプロセッサ、DSPなどによる異種混在の計算資源(ヘテロジニアス環境、ヘテロジニアス・コンピューティング、英: heterogeneous)を利用した並列コンピューティングのた

コンピュータ略語一覧

ACK Acknowledge ACL アクセス制御リスト (Access Control List) ACM Association for Computing Machinery ACPI Advanced Configuration and Power Interface ADSL 非対称デジタル加入者線

GTK (ツールキット)

Gazpacho – Pythonで書かれたGTKツールキット用のGUIビルダー。 Crow Designer – 独自のGuiXml形式とGuiLoaderライブラリを使用している。 Stetic – MonoDevelopの一部で、Gtk#向けである。 Gambas(バージョン2.0以降、BASICベース)

PyTorch

PyTorchに使うことのできるデータローダには以下が存在する: DataLoader (torch.utils.data.DataLoader) - PyTorch標準のデータローダ。 DataLoader2 (torchdata.dataloader2.DataLoader2) -

Unified Extensible Firmware Interface

http://fedoraproject.org/wiki/Features/EFI ^ [1] ELILO: EFI Linux Boot Loader ^ “Linux_3.3 1.10. EFI boot support” (英語). Linux Kernel Newbies. 2020年7月19日閲覧。

X68000

(フロッピードライブ、ハードディスク、拡張スロット、ADPCMオーディオ用DMA) ROM: 256KB IPL (Initial Program Loader) ROM および BIOS-ROM 768KB キャラクタジェネレータROM:24×24および16×16各々7238文字の漢字フォント2種、1

3DCGソフトウェア

ジオメトリーキャッシュシステム。読み込み用のXMesh Loaderと保存用のXMesh Saverがあり、XMesh Loaderは無料となっている。3ds Max向けのXMesh MX、Maya向けのXMesh MY、Nuke向けのXMesh NK Loaderが存在する。オープンソース化された。 Point

NixOS

望む機能を記述することで構成できる。例として、下記はSSHデーモンを実行するミニマルなマシンの設定である。 { boot.loader.grub.device = "/dev/sda"; fileSystems."/".device = "/dev/sda1"; services