¿Por qué cada aplicación se ejecuta como un usuario independiente en Android?

Si es por motivos de seguridad, para que una aplicación no pueda dañar a otra, ¿por qué no es así en las distribuciones Linux de escritorio?

Si los sistemas operativos de escritorio sí prefieren la interacción entre aplicaciones, ¿por qué no ocurre lo mismo en los móviles? ¿Cual es la diferencia?

¿Qué necesidades tiene un Linux de escritorio que justifiquen la interacción entre aplicaciones, que Android no tiene?

Respuestas (2)

¿Por qué cada aplicación se ejecuta como un usuario independiente?

Porque Android impone un aislamiento de procesos mucho más fuerte que los sistemas operativos tradicionales (de escritorio) como Unix, Linux o Windows, al mismo tiempo que permite la interacción entre aplicaciones (IPC es uno de los puntos fuertes de Android) asegurada por un buen modelo de seguridad.

Si es por razones de seguridad, ¿para que una aplicación no pueda dañar a otra?

Es principalmente por razones de privacidad, pero también es útil desde una perspectiva de seguridad. El fuerte aislamiento de las aplicaciones en Android garantiza que ninguna aplicación pueda afectar a otra aplicación.

¿Por qué no es así en las distribuciones de escritorio de Linux?

La mayoría de los sistemas multiusuario de escritorio modernos se centran en aislar a los usuarios. Los procesos también están aislados, pero no tan fuertes como en Android. Por ejemplo, si instala un programa en Linux o Windows, tendrá acceso completo a sus datos privados de usuario. En Android, si no se otorga un permiso especial, solo tendrá acceso a sus propios datos.

Hace un tiempo, el hecho de que las aplicaciones de Android que solicitan el READ_EXTERNAL_STORAGEpermiso también tengan acceso a las imágenes de los usuarios que residen en ellas /sdcard/DCIMfue un gran obstáculo. De alguna manera, nadie parecía recordar que bajo una instalación normal de GNU/Linux o Windows, cada aplicación instalada que ejecuta el usuario tiene acceso completo a sus datos privados.

Android está unos pasos por delante en comparación con los sistemas operativos tradicionales cuando se trata de permisos y control de acceso para usuarios finales normales. Las instalaciones típicas de Linux para usuarios finales aún no exponen esas características. Probablemente porque nadie ha escrito interfaces gráficas de usuario agradables y fáciles de usar para ellos. Y si alguna vez habrá otra versión de Windows después de Win8, es probable que también veamos un sistema de permisos similar.

¿ Qué sucede cuando desea agregar un nuevo usuario ?
Esa es una excelente pregunta. Le sugiero que lo haga como una nueva pregunta aquí.
Para los interesados: pregunte aquí

Los sistemas de escritorio y servidor tienen un modelo de uso completamente diferente y tienen administradores de sistema para mediar el acceso entre usuarios y aplicaciones (estableciendo los permisos de grupo apropiados, etc.).

Con Android no hay espacio para ese tipo de cosas: su base de usuarios objetivo más grande es completamente no técnica y la seguridad es imprescindible. Por lo tanto, las cosas están predeterminadas en alta seguridad: ninguna aplicación puede engañar con los datos de otra persona. Además, las aplicaciones móviles tienden a ser pequeñas y enfocadas en una tarea, por lo que limitarlas solo a sus propios datos no es una gran dificultad.