We are going through core Linux Architecture and now in this article, we are going in and looking at user space.
User Space is comprised of user applications and we are right now talking about of kind of focusing on user applications.
User Space is a Kernel allocated memory space that is dedicated to user processes and we have already spoken about this little bit in the previous article. So user process is a process that a user directly interacts with. For Ex. : – GUIs, servers, shell etc.
In general, a process is simply a state or image in memory. So the user space can refer to the memory that comprises the entire collection of running user processes. So the question is now, Is this collection organized? The answer is in a modular fashion. i.e. this is really very important as this is what the architecture of Linux has done something super helpful thing by the developer community which is the Modular approach.
Let’s see what is Modular? Modular is the first layer which is closest to the Kernel, comprised of simpler tasks like Network Configuration, communication Bus, Diagnostic logging etc. This is kind of simpler but simple relative to things like the Web Browser because they are comprised of multiple kinds of Modules. So to speak and the layers are built on to each other so usually, the diagnostic logging is not going to be referencing one on a chain above it and that’s how they are built. So the top layer is closest to the user i.e. user interface, web browser etc.
Process ownership:- Every userspace process has a user owner and what is a user? It is only a general understanding of permissions in the Linux. Therefore a user is an entity that can run processes and own files. Processes are said to run as their owner. For Ex: – crond is running as root. The owner of the process is tied to a certain level of privileges.
But we can see the difference, user and things like that.
Here our discussion on core Linux architecture gets completed. I hope these articles will be helpful to you.
Visit – Hostdens