Do not kick me - OS kernel

The kernel is the basic part of the operating system, which is responsible for all his tasks. It takes oversee all system elements. Kernel communication is the core of the operating system. It provides system services such as device management and memory allocation of processor time to processes and error handling. Responsibilities include communication with hardware support for file systems and control processes. If the kernel is a large program that will be responsible for all tasks of the operating system then kernel is called monolithic or uniform. This technique is fairly easy, as well as written kernels are fast and stable. The problem may be in this case of the development of the project and to find an error (ang. Debugging - "debugging"). This technique is little outdated. Another method is to create tiny kernel - corresponding microkernel only for the simplest tasks and several programs which are responsible for other functions. This method is very elegant "orders" code, but then the problem becomes fast communication between these parts of the kernel (the monolithic system is a simple, almost natural - no longer here). Nano-kernel could be super-small nucleus, which kicked everything that is not necessary. Speaking of small, medium and large kernels hook up with the concept of scalability. The system can be called scalable, if you can adapt your requirements to the hardware on which it operates. Most often cited example - half jokingly, half seriously - is an example of a coffee maker and great multiprocessor server. If the system fit on the coffee machine and at the same time is able to take advantage of the great server – then it is (highly) scalable. An example of scalable system is QNX. Since the kernel is built directly from the hardware, so it is dependent on the machine part of the operating system. In fact this is the only part of the operating system, which is sometimes written in assembly language. Apart from a few minor exceptions, mostly related to the entry-exit, the other layers of the system can be written in more convenient (and reliable) high level programing language.


Do you like this article? Please share on Facebook or back to Knowledge Base index