Access to Resources | In kernel mode, the program has direct and unrestricted access to system resources. | In user mode, the application program do not have direct access to system resources. In order to access the resources, a system call must be made. |
---|
Interruptions | In Kernel mode, the whole operating system might go down if an interrupt occurs | In user mode, a single process fails if an interrupt occurs. |
---|
Modes | Kernel mode is also known as the master mode, privileged mode or system mode. | User mode is also known as the unprivileged mode, restricted mode or slave mode. |
---|
Virtual address space | In kernel mode, all processes share a single virtual address space. | In user mode, all processes get separate virtual address space. |
---|
Level of privilege | In kernel mode, the applications have more privileges as compared to user mode. | While in user mode the applications have fewer privileges. |
---|
Restrictions | As kernel mode can access both the user programs as well as the kernel programs there are no restrictions. | While user mode needs to access kernel programs as it cannot directly access them. |
---|
Mode bit value | The mode bit of kernel-mode is 0. | While the mode bit of user-mode is 1. |
---|
Memory References | It is capable of referencing both memory areas. | It can only make references to memory allocated for user mode. |
---|
System Crash | A system crash in kernel mode is severe and makes things more complicated. | In user mode, a system crash can be recovered by simply resuming the session. |
---|
Access | Only essential functionality is permitted to operate in this mode. | User programs can access and execute in this mode for a given system. |
---|
Functionality | The kernel mode can refer to any memory block in the system and can also direct the CPU for the execution of an instruction, making it a very potent and significant mode. | The user mode is a standard and typical viewing mode, which implies that information cannot be executed on its own or reference any memory block; it needs an Application Protocol Interface (API) to achieve these things. |
---|