Portabilidad del núcleo Linux y arquitecturas soportadas

artículo de lista de Wikimedia

La Portabilidad del núcleo Linux y arquitecturas soportadas, se refiere a que originalmente escrito para procesadores Intel i386, el núcleo Linux fue recodificado para facilitar la portabilidad de éste.

Ubiquidad de Núcleo Linux: sistema embebido, teléfono inteligente, computadora personal y Supercomputadora.

Los componentes básicos de la familia de sistemas operativos Linux, que se basan en el kernel Linux, la biblioteca GNU C, BusyBox o sus bifurcaciones como μClinux y uClibc, se han programado teniendo en cuenta un cierto nivel de abstracción. Además, hay distintas rutas de código en lenguaje ensamblador o código fuente C que admiten cierto hardware. Por lo tanto, el código fuente se puede compilar con éxito o compilar de forma cruzada para una gran cantidad de arquitecturas informáticas.

Habiendo sido reescrito una vez para la arquitectura Motorola 68K, la perspectiva de las tediosas reescrituras para cada arquitectura posible, incitada por Linus Torvalds, se enfocaba en poseer una base de código modular que pudiese ser portada hacia diferentes arquitecturas con un mínimo de esfuerzo.

Carpetas específicas de arquitectura en las fuentes del núcleo, se dirigen a detalles particulares de cada procesador soportado, mientras todas las ventajas radican el en hecho de compartir un idéntico código de núcleo.

La modularidad adicional fue alcanzada por el núcleo 2.0 con módulos dinámicamente cargables.

Linux en los dispositivos portátiles

editar
 
iPod ejecutando un núcleo Linux.

Es posible instalar el núcleo Linux en cualquier dispositivo o máquina de carácter portátil, como por ejemplo, un teléfono celular, o un ordenador de mano, siempre y cuando el núcleo se compile para las necesidades de dicho dispositivo. El concepto no es completamente aplicable a las computadoras portátiles, aunque Linux puede instalarse allí también. Aun cuando Linus Torvalds no ideó originalmente Linux como un sistema portable, ha evolucionado en esa dirección. Linux es ahora de hecho, uno de los núcleos de sistema operativo más ampliamente portados, y funciona en sistemas muy diversos que van desde iPAQ (una handheld) hasta un zSeries (un mainframe masivo, muy costoso). Está planeado que Linux sea el sistema operativo principal de las nuevas supercomputadoras de IBM, Blue Gene cuando su desarrollo se complete.

De todos modos, es importante notar que los esfuerzos de Torvalds también estaban dirigidos a un tipo diferente de portabilidad. Según su punto de vista, la portabilidad es la habilidad de compilar fácilmente en un sistema aplicaciones de los orígenes más diversos; así, la popularidad original de Linux se debió en parte al poco esfuerzo necesario para tener funcionando las aplicaciones favoritas de todos, ya sean GPL o de Código abierto.

Lista de arquitecturas soportadas

editar

El núcleo Linux soporta las siguientes arquitecturas:

Arquitectura raíz o tipo Arquitectura
específica
Alpha
Intel (Altera) NIOS II ARM - nios2[1]  
Analog Devices
Andes Technology NDS32 (nd32)[4]​ (incluido en el kernel v5.18.6)  
Argonaut RISC Core (ARC[5]​) de ARC International  
Arquitectura ARM[6]​ (32 y 64-bit) (arm y arm64
Atmel AVR32 (eliminado desde 4.12[10]​) (avr32)  
C-SKY[11]
Elbrus-8S
Familia de Texas Instruments TMS320 de DSP de Texas Instruments
  • TMS320C64x (c6x)[12]​ (incluido en el núcleo v5.18.6)
ETRAX CRIS de Axis Communications (retirado desde 4.17)
Freescale (anteriormente Motorola 68k arquitecturas (68020, 68030, 68040, 68060) (m68k)[13]
Fujitsu FR-V (retirado desde 4.17) (frv)
PA-RISC[14]​ de Hewlett-Packard (parisc)
H8 arquitectura de Renesas Technology, anteriormente Hitachi. (h8300)
  • H8/300
  • H8/500
IBM
Intel IA-64[16]​ Itanium, Itanium II (ia64)[17]
x86 (x86)[18]
M32R de Mitsubishi (retirado desde 4.17) (m32r).
Microblaze de Xilinx (m32r).
MIPS (mips)[20]​:
MN103 from Panasonic Corporation (dropped since 4.17) (mn10300)
NEC v850e
Olivetti
  • PDA Olivetti DaVinci, con procesadores DragonBall.
OpenRISC[24]​, series de procesador open core (openrisc)
  • Beyond semiconductor OR1200
  • Beyond semiconductor OR1210
Power Architecture (Power ISA)
PowerPC[25]
RISC-V (riscv)[27]
SPARC (sparc)[28]
SuperH (sh)[29]
Synopsys DesignWare Núcleos ARC, desarrollados originalmente por ARC International (arc)
S+core (retirado desde 4.17) (score)
Tilera (retirado desde 4.17)
Xtensa[30]​ de Tensilica
Transmeta Crusoe
UniCore32 (unicore32)

Procesadores adicionales (particularmente los 68000 de Freescale y ColdFire) están soportadas por la variante MMU-less μClinux.

Referencias

editar
  1. Nios II Specific Documentation
  2. Blackfin
  3. Versión 2.6.22
  4. «Linux_4.17 - Linux Kernel Newbies». 
  5. ARC architecture, kernel.org
  6. ARM Architecture, kernel.org
  7. «Linux Kernel Driver DataBase: CONFIG_ARCH_ARC: Archimedes». cateee.net. Consultado el 5 de enero de 2021. 
  8. «ARM Linux - Acorn - Overview». www.arm.linux.org.uk. Consultado el 5 de enero de 2021. 
  9. Linux on Palm Tungsten E
  10. «Kernel/Git/Torvalds/Linux.git - Linux kernel source tree». 
  11. «Csky « arch - kernel/Git/Torvalds/Linux.git - Linux kernel source tree». 
  12. «Arch/C6x: New architecture port for linux [LWN.net]». 
  13. m68k Architecture - kernel.org
  14. PA-RISC Architecture - kernel.org
  15. s390 Architecture
  16. IA-64 Architecture - kernel.org
  17. «Linux 5.4 Dropping Support For The Itanium IA64-Powered SGI Altix - Phoronix». www.phoronix.com. Consultado el 5 de enero de 2021. 
  18. x86-specific Documentation - kernel.org
  19. ELKS project
  20. MIPS-specific Documentation, kernel.org
  21. LoongArch Architecture - kernel.org
  22. uClinux on the PSP
  23. «Dream Multimedia DM 800 PVR technical data». Archivado desde el original el 27 de mayo de 2008. Consultado el 14 de junio de 2023. 
  24. OpenRISC Architecture
  25. powerpc - kernel.org
  26. «Dream Multimedia DM 500 + technical data». Archivado desde el original el 30 de mayo de 2008. 
  27. RISC-V architecture
  28. Sparc Architecture - kernel.org
  29. SuperH Interfaces Guide - kernel.org
  30. Xtensa Architecture - kernel.org

Véase también

editar

Enlaces externos

editar