Multiplataforma

**Multiplataforma** é un termo empregado para referirse ós programas, sistemas operativos, linguaxes de programación, ou outra clase de software, que poidan funcionar en diversas plataformas. Por exemplo, unha aplicación multiplataforma podería executarse en Windows nun procesador x86, en GNU/Linux nun procesador x86, e en Mac OS X nun x86 (só para equipos Apple) ou nun PowerPC.

## Plataformas 
Unha plataforma é unha combinación de hardware e software usada para executar aplicacións; na súa forma máis simple consiste unicamente dun sistema operativo, unha arquitectura, ou unha combinación de ambos. A plataforma máis coñecida é probablemente Microsoft Windows nunha arquitectura x86; outras plataformas coñecidas son GNU/Linux e Mac OS X (que xa de seu son multiplataforma). Hai, doutra banda, aparellos como celulares que, a pesar de ser plataformas informáticas, non se consideran usualmente como tales.

O software en xeral está escrito de modo que dependa das características dunha plataforma particular; ben sexa o hardware, sistema operativo, ou máquina virtual en que se executa. A plataforma Java é unha máquina virtual multiplataforma, talvez a máis coñecida deste tipo, así como unha plataforma popular para facer software (que, por suposto, considérase multiplataforma).

### Plataformas de hardware 
Unha plataforma de hardware é unha arquitectura de computador ou de procesador. Por exemplo, os procesadores x86 e x86-64 son as arquitecturas máis comúns actualmente para os computadores caseiros. Entre os sistemas operativos existentes para estas arquitecturas cóntanse Windows, GNU/Linux, GNU/Hurd, Mac OS X, e BSD.
Outras plataformas non tan comúns alpha, arm, hppa, mips, mipsel, powerpc (antigos equipos Apple), sparc, s390. A maioría das distribucións GNU/Linux soportan estas arquitecturas.

### Plataformas de software 
As plataformas de software poden ser un sistema operativo, un contorna de programación, ou (máis comunmente) unha combinación de ambos. Unha excepción notable é a linguaxe de programación Java, que usa unha máquina virtual independente do sistema operativo para ler o código compilado, coñecido na xerga de Java como bytecode.

#### Plataforma Java 
Como se dixo anteriormente, a plataforma Java é unha excepción á regra xeral de que o sistema operativo constitúe a plataforma de software. A linguaxe Java prové unha máquina virtual ou "procesador virtual" que executa calquera código que sexa escrito en devandita linguaxe. Isto permite que o mesmo binario executable póidase usar en todos os sistemas compatibles co software Java. Isto ten, con todo, un prezo: os executables de Java non os pode executar directamente o sistema operativo, senón que fai falta un programa especial, a Máquina virtual Java, que sexa executado polo sistema operativo, e que execute o programa Java.

Por iso, Java ten limitacións en canto a admitir funcionalidades propias de cada sistema. Os programas de Java poden executarse polo menos nos sistemas Windows, GNU/Linux, e Solaris, co que a linguaxe está limitado ás funcionalidades que existan nos tres sistemas. Isto inclúe, por exemplo, redes e sockets, pero non entrada/saída directa do hardware.

## Véxase tamén 
* Arquitectura de conxunto de instrucións
* Arquitectura de computadores
* Multificar