Tuesday, March 21, 2017

Unit III: The Kernel

The Kernel

      
      The kernel is a computer program that is the core or the brain of a computer's operating system, with complete control over everything in the system and it is also the first program loaded on start-up. A kernel is the part of the operating system that mediates access to system resources. It is responsible for enabling multiple applications to effectively share the hardware by controlling access to CPU, memory, disk Input and Output devices, and networking. And the kernel's primary function is to mediate access to the computer's resources.

The central processing unit

  
  In the Central Processing Unit (CPU) the kernel takes responsibility for deciding at any time which of the many running programs should be allocated to the processor or processors, each of which can usually run only one program at a time.


Random-access memory

      
     We know that Random-access memory is used to store both program instructions and data. Typically, both need to be present in memory in order for a program to execute. Sometimes, multiple programs want access to memory, frequently demanding more memory than the computer has available. The kernel is responsible for deciding which memory each process can use, and determining what to do when the memory is not enough.




Input/output (I/O) devices

   
    Input and Output devices include such peripherals as keyboards, mice, disk drives, printers, network adapters, and display devices. Here, the kernel allocates requests from applications to perform I/O to an appropriate device and provides convenient methods for using the device typically abstracted to the point where the application does not need to know implementation details of the devices. Input and Output devices include such peripherals as keyboards, mice, disk drives, printers, network adapters, and display devices.


Other functions are:




Memory management

     The kernel has full access to the system's memory and must allow processes to safely access this memory as they require it. Sometimes, the first step in doing this is virtual addressing, usually achieved by paging and/or segmentation. Virtual addressing allows the kernel to make a given physical address appear to be another address, or the virtual address.


Device management

  

   Through device drivers, the kernel controls processes that need access to the peripherals which are connected to the computer to perform useful functions. A device driver is a computer program that enables the operating system to interact with a hardware device. It provides the operating system with information of how to control and communicate with a certain piece of hardware. The driver is an important and vital piece to a program application. 


System calls

    In computing, a system call is how a program requests a service from an operating system's kernel that it does not normally have permission to run. System calls provide the interface between a process and the operating system. Most operations interacting with the system require permissions not available to a user level process, e.g. I/O performed with a device present on the system, or any form of communication with other processes requires the use of system calls.

No comments:

Post a Comment