the basic hierarchy is: kernel space and user space
kernel takes care of distributing all resources – memory, cpu, devices (drives, gpu etc). if you need anything that is shared, you ask kernel via well documented API. that ensures isolation of competing processes.
the rest of programs live in user space where they do not have sufficient privileges to harm other processes. processes in user space can also communicate with each other via sockets, files, shared memory etc
Latest Answers