4 votos

¿Por qué Android difiere tanto de Linux?

He leído todas las preguntas relacionadas aquí, pero no responden a mis preguntas o no están actualizadas ya que Android está particularmente incluido en el kernel de Linux ( > 3.x.x).

Por qué Google no coge una distribución de Linux (por ejemplo Debian) y le añade controladores para pantallas táctiles, servicio móvil, etc y crea un entorno de escritorio para pantallas táctiles.

Si los módulos del núcleo no se incluyen en el núcleo Linux, sería posible utilizar el núcleo Linux simplificado y añadir estos módulos (y eliminar algunos, como los controladores innecesarios).

Hoy en día no se podrá ejecutar Linux estándar en todos los teléfonos inteligentes y tabletas, porque faltan controladores, pero podrían haber sido escritos para Linux, no para Android.

Se habría ahorrado el doble de desarrollo de nuevas funciones

0 votos

Probablemente porque el equipo de desarrollo quería tener más libertad a la hora de desarrollar. Escribir un kernel para ser incluido en linux significa que tienes que seguir ciertos estándares para que sea aceptado. Además, puede que los desarrolladores del núcleo no sintieran la necesidad de algunas de esas funcionalidades, que habrían sido rechazadas, por lo que simplemente siguieron su propio camino y están tratando de devolver partes de lo que han hecho como un "proyecto paralelo".

2 votos

Llamamos a una distribución "basada en Linux" aunque sólo utilice el kernel de Linux, lo que en última instancia significa que Linux es sólo un kernel, no un sistema operativo. Así, Android utiliza el kernel de Linux, con fuertes modificaciones para soportar las características de los dispositivos móviles, sobre todo la gestión de la energía. La gente no llama a Android una distribución Linux porque no utiliza ningún (o mucho) software GNU estándar y otras librerías como otras distribuciones basadas en Linux. Su pregunta es como preguntar por qué iOS es diferente de Mac OSX ;-)

8voto

Andy Brudtkuhl Puntos 1714

¿Por qué Google no tomó una distribución de Linux... y creó un entorno de escritorio para pantallas táctiles?

Porque no querían crear un entorno de escritorio para pantallas táctiles: querían crear un nuevo sistema operativo para smartphones. Los teléfonos inteligentes (y antes, las PDA) basados no solo en el núcleo Linux, sino también en el espacio de usuario GNU, con el mismo entorno de programación que Linux de escritorio, existieron durante años antes que Android, pero fueron un enorme fracaso comercial.

La principal ventaja de usar una distribución GNU/Linux es la idea de que puedes simplemente recompilar todas las mismas aplicaciones para tu nuevo hardware, en lugar de tener que escribir una nueva aplicación. Pero esto nunca ha funcionado en la práctica. Una interfaz de usuario diseñada para funcionar con un teclado y un ratón en una gran pantalla de PC simplemente no funciona en la pantalla táctil de un teléfono. La forma en que los programas interactúan entre sí en un PC con almacenamiento casi ilimitado y sin necesidad de conservar la energía simplemente no funciona con los requisitos limitados de energía y almacenamiento de un teléfono. Las formas de diseñar gráficos e interfaces de usuario para pantallas de PC, con disposición de píxeles y ppp fijos, ya han quedado superadas para los PC, y los teléfonos necesitan algo mejor. Además, los smartphones introducen nuevas funciones -disponibilidad de localización ubicua, módems y telefonía celular y Bluetooth- a las que los PC nunca han ofrecido a las aplicaciones una forma estándar de acceder.

El equipo de Android se propuso ofrecer una interfaz de programación (la Marco para Android ) para permitir a los autores de aplicaciones acceder a toda la funcionalidad necesaria, de una forma que antes no estaba disponible. Se propusieron aislar las aplicaciones entre sí para proteger la integridad y la batería del dispositivo de una forma que no era posible en ninguna distribución de Linux existente. Se propusieron crear un nuevo subsistema gráfico para evitar caer en la dependencia de la comunidad Linux de X Windows. Se propusieron crear un éxito comercial, que nunca antes se había logrado con dispositivos portátiles basados en Linux.

Lograron todos esos objetivos, haciendo exactamente aquello de lo que te quejas. Android es mucho más grande que sólo algunos controladores de Linux, y muchos controladores de kernel para dispositivos Android eventualmente vuelven a la corriente principal de Linux.

0 votos

Muy buenos argumentos, pero creo que el éxito comercial es sobre todo marketing: Compra todos los portátiles/ordenadores, preinstala Linux (por ejemplo, Ubuntu) en todas partes, patrocina tutoriales en YouTube y paga por anuncios de televisión y será un éxito.

0 votos

Entiendo cosas como reescribir el servidor de pantalla y aislar las aplicaciones, pero eso no explica por qué el kernel tiene que ser tan diferente. Estoy seguro de que será posible para Google beneficiarse de las nuevas características del kernel de Linux sin dejar de crear su propia plataforma única.

1voto

user4847410 Puntos 23

La clave de esta respuesta es licencia

Cuando el equipo de Android empezó a programar Android probaron muchos kernels pero ninguno era tan bueno (para sus necesidades) así que se conformaron con Linux.

Ahora se plantea la cuestión de que ,

> Por qué Google huía de Linux

Debemos saber que Google por aquel entonces ya tenía en mente el modelo de Android

Así que debemos pensar de manera opuesta Si Android se basara en Linux, los fabricantes de equipos originales tendrían que abrir sus fuentes, lo que daría lugar a una competencia muy escasa y acabaría con el trabajo de Android.

Así que cuando Google no vio otro camino se decidió por Linux, pero trató de mantenerse alejado de la licencia GNU GPL V2.

Así que en su carrera hicieron Linux como el núcleo y Android se ejecuta en la parte superior de la misma

0 votos

Nada impide que Android se base en Linux, con controladores tanto de código abierto como de código cerrado y un espacio de usuario de código abierto: de hecho, así es exactamente como funciona Android. es desarrollado.

0 votos

@DanHulme Voy a editar y añadir más información

1voto

BnMcG Puntos 460

Si bien la razón original para crear el sistema operativo (Android) podría haber sido la concesión de licencias, la razón por la que el teléfono inteligente no está ejecutando una distribución estándar de Linux es batería .

Participé en una iniciativa para trasladar Linux y Java a los teléfonos inteligentes, más o menos al mismo tiempo que Android. Podíamos conseguir que una versión reducida de una distribución de Linux funcionara en los dispositivos que teníamos, en aquel momento entre 20 minutos y media hora.

Aunque, con la moderna tecnología de baterías, Android está aflojando las restricciones, las versiones originales estaban muy muy optimizadas, para la duración de la batería. Aun así, el Dream original no solía aguantar un día entero sin cambiar la batería.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X