User space
User space is the portion of the main memory that the kernel allocates for user processes.
There is a hierarchy within the user space with several different groups of user processes:
- Basic services
- Run at the bottom level and therefore are closest to ther kernel. Comprises small components that perform single, uncomplicated tasks. Examples include network configuration, the communication bus, and diagnostic logging
- Utiility services
- The middle level: larger components such as mail, print, and database services
- Services controllable by the user
- The top level: complicated tasks that the user controls directly such as using a web-browser, editing a text file
What is a user?
A user is an entity that can run processes and own files.
At the level of users, a user is associated with a user name however the kernel does not manage usernames, it identifies users via numeric identifiers called user IDs.
Users exist in order to support permissions and access boundaries. A user may terminate or modify the behaviour of its own processes (within limits) but cannot interfere with another user’s proceses. In addition, users may own files and choose whether to share them with other users.
Root user (superuser)
A Linux system normally has a number of users in addition to the ones that correspond to the real human users. The most important is root. The root user can terminate and alter another user’s processes and access any file on the local system.
A person who can operate as root is an administrator on a typical user system.