The basic functions of kernel security check failure are to load and execute processes, manage I / O and provide an interface between kernel space and user space programs.
With rare exceptions, kernel security check failure are not limited to their basic functionality. The functions of the micro-cores are generally found in the cores: a memory manager and a scheduler, as well as inter-process communication functions .
Apart from the previously listed functions, many kernels also provide less fundamental functions such as:
file system management ;
several specialized schedulers ( batch , real time, inputs / outputs, etc.);
notions of extended processes such as light processes ;
network media ( TCP / IP , PPP , firewall , etc.);
network services ( NFS , etc.).
Finally, most kernels also provide driver models and drivers for the hardware.
In addition to the basic features, all of the following features (including hardware drivers, network and file system functions, or services) are not necessarily provided by an operating system kernel. These operating system functions can be implemented both in the user space and in the kernel security check failure itself. Their implementation in the core is done for the sole purpose of increasing performance. Indeed, according to the design of the kernel, the same function called from the user space or the kernel space has a notoriously different time cost. If this function call is common, it may be useful to integrate these functions with the kernel to increase performance.
These techniques are used to overcome kernel defects such as high latencies . Whenever possible, it is best to write software out of the kernel security check failure in the user space. Indeed, writing in kernel security check failure space supposes the absence of mechanisms such as the protection of the memory. It is therefore more complex to write software running in the kernel space rather than in the user space, the bugs and security flaws being more dangerous.
The scheduler of an operating system only makes sense in a multitasking system. It manages the order in which the instructions of different tasks are executed and is responsible for the backup and restoration of the context of the tasks (this context is made up of processor registers), also called context switching .
Most modern schedulers allow to indicate on which processor are performed the tasks. Some also allow you to migrate tasks to other machines in a compute cluster .
The scheduling algorithm determines which task should execute in priority and on which processor. This algorithm must make it possible to use the resources of the machine efficiently.
The scheduling can be of the “cooperative” type: the tasks must be written in such a way as to cooperate with one a006nother and thus accept their suspension for the execution of another task. Scheduling can also be preemptive : the scheduler is responsible for interrupting the tasks and choosing the next one to execute. Some kernels themselves are preemptive: the scheduler can interrupt the kernel security check failure itself to make room for an activity (typically, always in the kernel) of higher priority