If it's for security reasons, so that one application cannot harm another, why is it not like that in the desktop Linux distros?

If desktop operating systems do prefer interaction between applications, why isn't it the same in the mobile ones? What's the difference?

What needs does a desktop Linux have that justify interaction between applications, that Android doesn't have?


Why does every application run as a separate user?

Because Android enforces a far stronger process isolation as traditional (desktop) operating systems like Unix, Linux or Windows, while still allowing interaction between applications (IPC is one of the strengths of Android) secured by a good security model.

If it's for security reasons, so that one application cannot harm another?

It is mostly for privacy reasons, but also comes in handy from a security perspective. The strong isolation of Apps in Android guarantees that no App can affect another App.

why is it not like that in the desktop Linux distros?

Most modern desktop multi-user systems have the focus on isolating users. Processes are also isolated, but not as strong as on Android. For example, if you install a program on Linux or Windows, it will have full access to your private user data. On Android, if not special permission is granted, it will have only access to its own data.

A while ago, the fact that Android apps that request the READ_EXTERNAL_STORAGE permission also get access to the users pictures residing in /sdcard/DCIM was a big shop stopper. Somehow, nobody seemed to remember that under a normal GNU/Linux or Windows installation, every installed app that is run by the user has full access to it's private data.

Android is a few steps ahead compared to traditional operating systems when it comes to permissions and access control for normal end-users. Typical Linux installations for end-users don't expose those features yet. Likely because nobody has written nice, user-friendly GUIs for them. And if there will be ever another Windows version after Win8, we likely see a similar permissions system there too.

  • What happens when you want to add a new user? – Reflection Jan 26 '14 at 19:14
  • That's an excellent question. I suggest that you ask it as new question here. – Flow Jan 26 '14 at 22:29
  • For those interested: asked here – Reflection Jan 28 '14 at 18:08

Desktop and server systems have a completely different usage model, and they have system administrators to mediate access between users and applications (by setting appropriate group permissions, etc).

With Android there's no room for that kind of thing - your biggest target user base is completely non technical, and security is a must. So things default to high security - no app can fool with another's data. Further, mobile apps tend to be small, and focused on one task, so limiting them to just their own data isn't much of a hardship.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.