Within the kernel of a computer, memory management and device management are considered as two different kernel basic facilities. They are found alongside process management and system calls. All of these basic facilities help the kernel to manage the computer's resources as well as allowing other programs to use and run these resources.
The kernel of a computer will have full access to the system's memory and is required to allow any processes to access this memory when needed. To do this, the kernel carries out virtual addressing. Within virtual addressing it is possible to make a given physical address to appear as a virtual address, i.e. Another address. These virtual address spaces are different for different processes.
The memory that is processed to access one virtual address may be different to the memory that a process accesses at the same address. These spaces allow ever program on the computer to run as if it is the only one and stops these applications from crashing each other. Virtual addressing can also be used to create virtual partitions of memory in disjointed areas. One of these areas will be reserved for the kernel and other for applications.
Device drivers, processed by the kernel, are used in order to control the peripherals that are connected to the computer. These peripherals need to be accessed by processes to perform useful functions. A list of the available devices is maintained by a kernel and is either known in advance, configured by the user or detected by the operating system at run time.
Device management is a very operating system specific topic and each of the drivers is handled differently by the different kinds of kernel design. The thing that they all have in common is that the kernel is required to provide the input output to allow drivers to access their devices.
These two different facilities within the kernel of a computer are used alongside process management and system calls to help the kernel carry out its role within the system.