Los componentes básicos de la familia de sistemas operativos Linux , que se basan en el kernel de Linux , la biblioteca GNU C , BusyBox o bifurcaciones de los mismos como μClinux y uClibc , se han programado con un cierto nivel de abstracción en mente. Además, existen distintas rutas de código en el lenguaje ensamblador o el código fuente C que admiten cierto hardware. Por lo tanto, el código fuente se puede compilar con éxito en — o compilar de forma cruzada para — una gran cantidad de arquitecturas de computadora .
Además, el software libre y de código abierto requerido también se ha desarrollado para interactuar entre Linux y el hardware en el que se ejecutará Linux. Por ejemplo, hay compiladores disponibles, por ejemplo, GNU Compiler Collection (GCC) y LLVM / Clang . Para la compilación cruzada se encuentran disponibles una serie de cadenas de herramientas completas , como la cadena de herramientas GNU , OpenWrt Buildroot u OpenEmbedded . El Proyecto Yocto está dirigido a casos de uso integrados.
La sección de portabilidad del artículo del kernel de Linux contiene información y referencias a detalles técnicos.
Tenga en cuenta que otros componentes, como un servidor de visualización o programas como Blender , pueden estar presentes o ausentes. Básicamente, cualquier software tiene que ser portado, es decir, adaptado específicamente, a cualquier tipo de hardware en el que se supone que debe ejecutarse. El nivel de abstracción que se ha tenido en cuenta al programar ese software en primer lugar dicta el esfuerzo necesario.
El término relevante es de portar destino es arquitectura de computadora ; comprende el (los) conjunto (s) de instrucciones y la (s) microarquitectura (s) del (los) procesador (s), al menos de la CPU . El objetivo también comprende el "diseño del sistema" de todo el sistema, ya sea una supercomputadora , una computadora de escritorio o algún SoC , por ejemplo, en caso de que se esté utilizando algún bus único . En otros tiempos, el controlador de memoria era parte del chipset en la placa base y no en la CPU troquel .
Aunque el soporte de un conjunto de instrucciones específico es tarea del compilador, el software debe escribirse con un cierto nivel de abstracción en mente para hacer posible esta portabilidad. Cualquier código escrito en lenguaje ensamblador será específico del conjunto de instrucciones.
El soporte de una microarquitectura específica incluye optimizaciones para la jerarquía de caché de la CPU , el TLB , etc.
Lanzamientos
- DEC Alpha (
alpha
) - Dispositivos analógicos
- Familia ARM de conjuntos de instrucciones (32 y 64 bits) (
arm
yarm64
):- Acorn Archimedes y RiscPC series (las máquinas originales fueron compatibles en 2.6.22 [1] ) [2]
- Allwinner
- Procesadores diseñados por Apple
- Broadcom VideoCore
- DEC StrongARM
- Samsung Exynos
- Marvell (anteriormente Intel) XScale
- Zaurus afilado
- HiSilicon
- iPAQ
- Palm, Inc. 's de tungsteno de mano [3]
- Gamepark Holdings ' GP2X
- Abrir Pandora
- MediaTek
- Tableta de Internet Nokia 770
- Nokia N800
- Nokia N810
- Nokia N900
- Nomadik
- NovaThor (descatalogado)
- gumstix
- Sony Mylo
- Qualcomm Snapdragon
- Nvidia Tegra
- TI OMAP
- Psion 5, 5MX, Serie 7, netBook
- Rockchip
- Algunos modelos de iPods de Apple (consulte iPodLinux )
- OpenMoko Neo 1973 , Neo FreeRunner
- Procesadores multimedia i.MX de Freescale (anteriormente Motorola )
- Atmel AVR32 (eliminado desde 4.12) (
avr
) - Axis Communications ' ETRAX CRIS (reducido desde 4,17)
- Texas Instruments TMS320 familia de DSP de Texas Instruments
- TMS320C64x
- Arquitectura 68k de Freescale (anteriormente Motorola ) (68020, 68030, 68040, 68060) ( ):
m68k
- Algunas amigas : A1200 , A2500 , A3000 , A4000
- Apple Macintosh II , LC , Quadra , Centris y las primeras series Performa
- Algunas computadoras Atari (TT y Falcon030)
- Fujitsu FR-V (eliminado desde 4.17) (
frv
) - Hexágono de Qualcomm (
hexagon
) - Hewlett-Packard 's PA-RISC (
parisc
) - Arquitectura H8 de Renesas Technology, anteriormente Hitachi (
h8300
)- H8 / 300
- H8 / 500
- Máquinas de negocios internacionales ( IBM )
- System / 390 ( 31 bits ) (
s390
) (eliminado desde 4.1 a favor des390x
excepto para elcompat
modo de espacio de usuario ) - z / Arquitectura ( IBM Z e IBM LinuxONE ) ( 64 bits ) (
s390x
)
- System / 390 ( 31 bits ) (
- Imagination META [4] (eliminado desde 4.17)
- Intel IA-64 Itanium, Itanium II (
ia64
) [5] - arquitectura x86 (
x86
):- IBM PC compatibles con procesadores IA-32 y x86-64 :
- Intel 80386 (eliminado desde 3.8), 80486 y sus variantes AMD , Cyrix , Texas Instruments e IBM
- Toda la serie Pentium y sus variantes Celeron y Xeon
- Intel Core procesadores
- AMD 5x86, K5 , K6 , Athlon (todas las versiones de 32 bits), Duron , Sempron
- x86-64 : arquitectura de procesador de 64 bits, ahora oficialmente conocida como AMD64 (AMD) o Intel64 (Intel); soportado por los procesadores Athlon 64 , Opteron e Intel Core 2 , entre otros
- Series Cyrix 5x86, 6x86 (M1), 6x86MX y MediaGX (National / AMD Geode)
- Procesadores VIA Technologies Eden (Samuel II), VIA C3 y VIA C7 (todos de 32 bits) y VIA Nano (x86-64)
- Microsoft 's Xbox (procesador Pentium III), a través de la Xbox Linux proyecto
- Estación de trabajo visual SGI (procesador (es) Pentium II / III con chipset SGI)
- Estación de trabajo Sun Microsystems Sun386i (80386 y 80486)
- La compatibilidad con las CPU 8086 , 8088 , 80186 , 80188 y 80286 está en desarrollo (la bifurcación ELKS ) [6]
- IBM PC compatibles con procesadores IA-32 y x86-64 :
- M32R de Mitsubishi (caído desde 4.17) (
m32r
) - Microblaze de Xilinx (
microblaze
) - Arquitectura MIPS (
mips
):- Dingoo
- Procesadores de red Amazon y Danube de Infineon
- Ingenic Jz4740
- Loongson (compatible con MIPS) y los modelos 2 y 2E, de BLX IC Design Ltd ( China )
- Algunos modelos de PlayStation 2 , a través del proyecto PS2 Linux
- Puerto PlayStation Portable uClinux 2.4.19 [1]
- Conjuntos de chips inalámbricos Broadcom
- Dreambox (modelos HD) [7]
- Procesadores de paquetes Cavium Octeon
- MN103 de Panasonic Corporation (eliminado desde 4.17) (
mn10300
) - OpenRISC (
openrisc
)- Familia OpenRISC 1000 en la línea principal del kernel de Linux a partir de 3.1
- Más allá del semiconductor OR1200
- Más allá del semiconductor OR1210
- Energía ISA :
- Servidores IBM
- Arquitectura PowerPC (
powerpc
):- Celda de IBM
- La mayoría de las computadoras Apple anteriores a Intel (todas las Power Macintosh basadas en PCI , soporte limitado para las Power Macs NuBus más antiguas )
- Clones del PCI Power Mac comercializados por Power Computing , UMAX y Motorola
- Amigas actualizado con una tarjeta "Power-UP" (como Blizzard o CyberStorm)
- Placa base AmigaOne de Eyetech Group Ltd ( Reino Unido )
- Samantha de Soft3 (Italia)
- Sistemas IBM RS / 6000 , iSeries y pSeries
- Placas Pegasos I y II de Genesi
- Nintendo GameCube y Wii , a través de Nintendo GameCube Linux
- Proyecto BlackDog de Realm Systems, Inc.
- Sony PlayStation 3
- Xbox 360 de Microsoft , a través del proyecto free60
- CPU V-Dragon de Culturecom
- Matriz de compuertas programables en campo (FPGA) Virtex II Pro de Xilinx con núcleos PowerPC
- Dreambox (modelos que no son HD) [8]
- RISC-V
- SPARC (
sparc
)- SPARC (32 bits):
- Sun-4 (caído desde 2.6.27)
- SPARCstation / SPARCserver series (sun4m, sun4d) sun4c (eliminado desde la versión 3.5)
- LEÓN
- UltraSPARC (64 bits):
- Serie Sun Ultra
- Hoja solar
- Fuego del sol
- Sistemas SPARC Enterprise , también basados en los procesadores UltraSPARC T1 , UltraSPARC T2 , UltraSPARC T3 y Ultra SPARC T4
- SPARC (32 bits):
- SuperH
- Sega Dreamcast (SuperH SH4)
- HP Jornada 680 a través de distribución Jlime (SuperH SH3)
- Núcleos Synopsys DesignWare ARC , desarrollados originalmente por ARC International (
arc
) - Núcleo S + (eliminado desde 4.17) (
score
) - Tilera (caído desde 4.17)
- Xtensa de Tensilica
- UniCore32 (
unicore32
)
Los procesadores adicionales (particularmente el 68000 y ColdFire de Freescale ) son compatibles con la variante μClinux sin MMU .
Ver también
- Comparación de los núcleos del sistema operativo
- Comparación de sistemas operativos
- Subconjunto de kernel de Linux integrable
- Linux en modo de usuario
Referencias
- ^ "Base de datos del controlador del kernel de Linux: CONFIG_ARCH_ARC: Archimedes" . cateee.net . Consultado el 5 de enero de 2021 .
- ^ "ARM Linux - Acorn - Descripción general" . www.arm.linux.org.uk . Consultado el 5 de enero de 2021 .
- ^ Linux en Palm Tungsten E
- ^ https://lwn.net/Articles/522188/
- ^ "Linux 5.4 Eliminación de soporte para SGI Altix - Phoronix con Itanium IA64" . www.phoronix.com . Consultado el 5 de enero de 2021 .
- ^ Proyecto ELKS
- ^ Datos técnicos de Dream Multimedia DM 800 PVR Archivado el 27 de mayo de 2008 en la Wayback Machine.
- ^ "Datos técnicos Dream Multimedia DM 500 +" . Archivado desde el original el 30 de mayo de 2008.
enlaces externos
- Jae Yun Moon y Lee Sproull (noviembre de 2000). "Esencia del trabajo distribuido: el caso del kernel de Linux" . Primer lunes . 5 (11).
- BlueCat - Guía de migración del kernel de Linux