3. Definitionkernel
ˈkəˈn(ə)l/
noun
noun: kernel; plural noun: kernels
1.
a softer, usually edible part of a nut, seed, or fruit stone
contained within its shell.
"the kernel of a walnut“
2.
the central or most important part of something.
"this is the kernel of the argument"
4. Formal Definition
• In computing, the kernel is a computer
program that manages input/output
requests from software and translates
them into data processing instructions for
the central processing unit and other
electronic components of a computer.
• The kernel is a fundamental part of a
modern computer's operating system.
6. Kernel Basic Facilities
The Central Processing Unit.
• This is the most central part of a
computer system, responsible for running or
executing programs.
• 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)
7. Kernel Basic Facilities
The computer's memory.
• 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.
• Often multiple programs will 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 not enough is available.
8. Kernel Basic Facilities
Input / Output (I/O) devices
• I/O devices present in the computer, such as
keyboard, mouse, disk drives, USB devices,
printers, displays, network adapters, etc.
• The kernel allocates requests from
applications to perform I/O to an appropriate
device and provides convenient methods for
using the device.
9. Memory management
• Virtual addressing:
Paging
Segmentation
• Data Stores:
Hard Drive
RAM
• Memory Partitions:
Kernel space
User space
10. Device management
1. On the hardware side:
Interfacing directly.
Using a high level interface.
Using a lower-level device driver (file drivers
using disk drivers).
Simulating work with hardware, while doing
something entirely different.
2. On the software side:
Allowing the operating system direct access to
hardware resources.
Implementing an interface for non-driver software.
Implementing a language, sometimes high-level.