SlideShare a Scribd company logo
1 of 24
Kernel (computing)
By M.HARRY JOSEPH
What is meant by kernel?
 In computing, the kernel is the central component of most
computer operating systems; it is a bridge between
applications and the actual data processing done at the
hardware level.
 The kernel's responsibilities include managing the system's
resources (the communication between hardware and
software components).
 Usually as a basic component of an operating system, a kernel
can provide the lowest-level abstraction layer for the
resources (especially processors and I/O devices) that
application software must control to perform its function.
 It typically makes these facilities available to application
processes through inter-process communication mechanisms
and system calls.
Operating system tasks
are done differently by different kernels,
depending on their design and implementation.
While monolithic kernels execute all the
operating system code in the same address space
to increase the performance of the system,
microkernels run most of the operating system
services in user space as servers, aiming to
improve maintainability and modularity of the
operating system. A range of possibilities exists
between these two extremes.
A kernel connects the application
software to the hardware of a computer.
A typical vision of a computer architecture as a series of abstraction layers:
hardware, firmware, assembler, kernel, operating system and applications
On the definition of "kernel"
 While it is today mostly called the kernel, originally the same part of the operating
system was also called the nucleus or core, and was conceived as containing only
the essential support features of the operating system.
 However the term core has also been used to refer to the primary memory of a
computer system, because some early computers used a form of memory called
core memory.
Features of kernel
A kernel will usually provide features for
 low-level schedulingof processes (dispatching),
 inter-process communication,
 process synchronization,
 context switching,
 manipulation of process control blocks, interrupt
handling,
 process creation and
 destruction, and
 process suspension and
 resumption
Kernel basic facilities
The kernel's primary purpose is to manage the
computer's resources and allow other programs to
run and use these resources.
Typically, the resources consist of:
 The CPU, the processor. This is the most central part
of a computer system, responsible for running or
executing programs on it.
 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)
Kernel basic facilities (Conti-)
 The kernel is responsible for deciding which memory
each process can use, and determining what to do
when not enough is available.
 Any Input/Output (I/O) devices present in the
computer, such as keyboard, mouse, disk drives,
printers, displays, etc. The kernel allocates requests
from applications to perform I/O to an appropriate
device (or subsection of a device, in the case of files on
a disk or windows on a display) 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 device).
monolithic kernels
 execute all of their code in the same address space
(kernel space) microkernels try to run most of their
services in user space, aiming to improve
maintainability and modularity of the codebase.
 Most kernels do not fit exactly into one of these
categories, but are rather found in between these two
designs.
 These are called hybrid kernels.
 More exotic designs such as nanokernels and
exokernels are available, but are seldom used for
production systems. The Xen hypervisor, for example, is
an exokernel.
monolithic kernel
 In a monolithic kernel, all OS services run
along with the main kernel thread, thus also
residing in the same memory area.
 This approach provides rich and powerful
hardware access.
 Some developers, such as UNIX developer
Ken Thompson, maintain that it is "easier to
implement a monolithic kernel“than
microkernels.
 The main disadvantages of monolithic
kernels are the dependencies between
system components — a bug in a device
driver might crash the entire system — and
the fact that large kernels can become very
difficult to maintain.
What is meant by microkernel?
In the microkernel
approach, the kernel itself
only provides basic
functionality that allows
the execution of servers,
separate programs that
assume former kernel
functions, such as device
drivers, GUI servers, etc.
The microkernel approaches:
• consists of defining a simple abstraction over the hardware, with a set of
primitives or system calls to implement minimal OS services such as
memory management, multitasking, and inter-process communication.
Other services, including those normally provided by the kernel, such as
networking, are implemented in user-space programs, referred to as
servers.
• Microkernels are easier to maintain than monolithic kernels, but the large
number of system calls and context switches might slow down the system
because they typically generate more overhead than plain function calls.
• A microkernel allows the implementation of the remaining part of the
operating system as a normal application program written in a high-level
language, and the use of different operating systems on top of the same
unchanged kernel.
• It is also possible to dynamically switch among operating systems and to
have more than one active simultaneously.[7]
Hybrid kernels
 This approach combines the speed and
simpler design of a monolithic kernel with
the modularity and execution safety of a
microkernel.
 are a compromise between the monolithic
and microkernel designs.
 This implies running some services (such as
the network stack or the filesystem) in
kernel space to reduce the performance
overhead of a traditional microkernel, but
still running kernel code (such as device
drivers) as servers in user space.
Nanokernels
delegates virtually all services — including
even the most basic ones like interrupt
controllers or the timer — to device drivers to
make the kernel memory requirement even
smaller than a traditional microkernel
exokernel
An exokernel is a type of kernel that does not
abstract hardware into theoretical models.
Instead it allocates physical hardware resources,
such as processor time, memory pages, and disk
blocks, to different programs.
A program running on an exokernel can link to a
library operating system that uses the exokernel
to simulate the abstractions of a well-known OS,
or it can develop application-specific abstractions
for better performance.
Mac OS X
is based on Darwin, which uses a Hybrid
Kernel called XNU, which was created
combining the 4.3BSD kernel and the Mach
kernel.
Four popular categories or kinds of
Kernels namely
Monolithic kernels,
Microkernels,
Hybrid kernels and
 Exokernels.
Monolithic kernels
are part of Unix-like operating systems like Linux
,FreeBSD etc. These types of kernels consist of
the core functions of the operating system and
the device drivers with the ability to load
modules at runtime.
Microkernels
are part of the operating systems like AIX, BeOS,
Hurd, Mach, Mac OS X, MINIX, QNX. Etc. These
types of kernels normally provide only the
minimal services such as defining memory
address spaces, Inter-process communication
(IPC) and the process management. The other
functions such as running the hardware
processes are not handled directly by
microkernels.
Hybrid kernels
are part of the operating systems such as
Microsoft Windows NT, 2000 and XP. DragonFly
BSD etc. These types of kernels are extensions of
microkernels with some properties of monolithic
kernels. Unlike monolithic kernels, these types
of kernels are unable to load modules at
runtime on their own.
Exokernels
are evolving and still under experimental stage
in development of an operating system that
could incorporate multiple library operating
systems and are intended to simultaneously run
multiple operating systems of different kinds like
Linux and Microsoft Windows together using
appropriate Application Programming Interface
(API).

More Related Content

What's hot

Eucalyptus - An Open-source Infrastructure for Cloud Computing
Eucalyptus - An Open-source Infrastructure for Cloud ComputingEucalyptus - An Open-source Infrastructure for Cloud Computing
Eucalyptus - An Open-source Infrastructure for Cloud Computingelliando dias
 
Private Cloud Architecture
Private Cloud ArchitecturePrivate Cloud Architecture
Private Cloud ArchitectureDerek Keats
 
Containerized Cloud Computing - Redhat
Containerized Cloud Computing - RedhatContainerized Cloud Computing - Redhat
Containerized Cloud Computing - RedhatAmazon Web Services
 
Cloud computing security
Cloud computing security Cloud computing security
Cloud computing security Akhila Param
 
Layers and types of cloud
Layers and types of cloudLayers and types of cloud
Layers and types of cloudANUSUYA T K
 
What is Virtualization and its types & Techniques.What is hypervisor and its ...
What is Virtualization and its types & Techniques.What is hypervisor and its ...What is Virtualization and its types & Techniques.What is hypervisor and its ...
What is Virtualization and its types & Techniques.What is hypervisor and its ...Shashi soni
 
Cloud Application architecture styles
Cloud Application architecture styles Cloud Application architecture styles
Cloud Application architecture styles Nilay Shrivastava
 
Cloud security and compliance ppt
Cloud security and compliance pptCloud security and compliance ppt
Cloud security and compliance pptKrupa Rajani
 
Storage As A Service (StAAS)
Storage As A Service (StAAS)Storage As A Service (StAAS)
Storage As A Service (StAAS)Shreyans Jain
 
Chap 1 introduction to cloud computing
Chap 1 introduction to cloud computingChap 1 introduction to cloud computing
Chap 1 introduction to cloud computingRaj Sarode
 

What's hot (20)

CloudStack Architecture
CloudStack ArchitectureCloudStack Architecture
CloudStack Architecture
 
Cloud computing report
Cloud computing reportCloud computing report
Cloud computing report
 
Eucalyptus - An Open-source Infrastructure for Cloud Computing
Eucalyptus - An Open-source Infrastructure for Cloud ComputingEucalyptus - An Open-source Infrastructure for Cloud Computing
Eucalyptus - An Open-source Infrastructure for Cloud Computing
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Private Cloud Architecture
Private Cloud ArchitecturePrivate Cloud Architecture
Private Cloud Architecture
 
Virtual machine
Virtual machineVirtual machine
Virtual machine
 
Containerized Cloud Computing - Redhat
Containerized Cloud Computing - RedhatContainerized Cloud Computing - Redhat
Containerized Cloud Computing - Redhat
 
Cloud computing security
Cloud computing security Cloud computing security
Cloud computing security
 
Kernels and its types
Kernels and its typesKernels and its types
Kernels and its types
 
Distributed Computing
Distributed ComputingDistributed Computing
Distributed Computing
 
Layers and types of cloud
Layers and types of cloudLayers and types of cloud
Layers and types of cloud
 
Cluster Computing
Cluster ComputingCluster Computing
Cluster Computing
 
What is Virtualization and its types & Techniques.What is hypervisor and its ...
What is Virtualization and its types & Techniques.What is hypervisor and its ...What is Virtualization and its types & Techniques.What is hypervisor and its ...
What is Virtualization and its types & Techniques.What is hypervisor and its ...
 
Cloud Computing Architecture
Cloud Computing ArchitectureCloud Computing Architecture
Cloud Computing Architecture
 
Cloud Application architecture styles
Cloud Application architecture styles Cloud Application architecture styles
Cloud Application architecture styles
 
Kernel (OS)
Kernel (OS)Kernel (OS)
Kernel (OS)
 
Cloud security and compliance ppt
Cloud security and compliance pptCloud security and compliance ppt
Cloud security and compliance ppt
 
Storage As A Service (StAAS)
Storage As A Service (StAAS)Storage As A Service (StAAS)
Storage As A Service (StAAS)
 
Chap 1 introduction to cloud computing
Chap 1 introduction to cloud computingChap 1 introduction to cloud computing
Chap 1 introduction to cloud computing
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 

Similar to What is a Kernel in Computing

Linux kernel Architecture and Properties
Linux kernel Architecture and PropertiesLinux kernel Architecture and Properties
Linux kernel Architecture and PropertiesSaadi Rahman
 
Kernel. Operating System
Kernel. Operating SystemKernel. Operating System
Kernel. Operating Systempratikkadam78
 
lecture 1 (Part 2) kernal and its categories
lecture 1 (Part 2) kernal and its categorieslecture 1 (Part 2) kernal and its categories
lecture 1 (Part 2) kernal and its categoriesWajeehaBaig
 
Mohammad ali
Mohammad aliMohammad ali
Mohammad aliali12424
 
Embedded Operating System-Kernel Features.pptx
Embedded Operating System-Kernel Features.pptxEmbedded Operating System-Kernel Features.pptx
Embedded Operating System-Kernel Features.pptxssuseradc877
 
Hybrid kernel
Hybrid kernelHybrid kernel
Hybrid kernelAbu Azzam
 
SEC.3 Linux vs Unix Kernel.pptxnnnnnnnnnnnnnnnnnnnn
SEC.3 Linux vs Unix Kernel.pptxnnnnnnnnnnnnnnnnnnnnSEC.3 Linux vs Unix Kernel.pptxnnnnnnnnnnnnnnnnnnnn
SEC.3 Linux vs Unix Kernel.pptxnnnnnnnnnnnnnnnnnnnnabdulrahmaanwalid
 
OS-description
OS-descriptionOS-description
OS-descriptionsfu-kras
 
ITT Project Information Technology Basic
ITT Project Information Technology BasicITT Project Information Technology Basic
ITT Project Information Technology BasicMayank Garg
 
Operating system 15 micro kernel based os
Operating system 15 micro kernel based osOperating system 15 micro kernel based os
Operating system 15 micro kernel based osVaibhav Khanna
 
LinuxOS-1 (1).ppt
LinuxOS-1 (1).pptLinuxOS-1 (1).ppt
LinuxOS-1 (1).pptSavitha74
 
Introduction to Unix operating system Chapter 1-PPT Mrs.Sowmya Jyothi
Introduction to Unix operating system Chapter 1-PPT Mrs.Sowmya JyothiIntroduction to Unix operating system Chapter 1-PPT Mrs.Sowmya Jyothi
Introduction to Unix operating system Chapter 1-PPT Mrs.Sowmya JyothiSowmya Jyothi
 

Similar to What is a Kernel in Computing (20)

In a monolithic kerne1
In a monolithic kerne1In a monolithic kerne1
In a monolithic kerne1
 
In a monolithic kerne1
In a monolithic kerne1In a monolithic kerne1
In a monolithic kerne1
 
KERNEL.pptx
KERNEL.pptxKERNEL.pptx
KERNEL.pptx
 
Linux kernel Architecture and Properties
Linux kernel Architecture and PropertiesLinux kernel Architecture and Properties
Linux kernel Architecture and Properties
 
Kernel. Operating System
Kernel. Operating SystemKernel. Operating System
Kernel. Operating System
 
lecture 1 (Part 2) kernal and its categories
lecture 1 (Part 2) kernal and its categorieslecture 1 (Part 2) kernal and its categories
lecture 1 (Part 2) kernal and its categories
 
Walking around linux kernel
Walking around linux kernelWalking around linux kernel
Walking around linux kernel
 
In a monolithic kernel
In a monolithic kernelIn a monolithic kernel
In a monolithic kernel
 
Mohammad ali
Mohammad aliMohammad ali
Mohammad ali
 
Embedded Operating System-Kernel Features.pptx
Embedded Operating System-Kernel Features.pptxEmbedded Operating System-Kernel Features.pptx
Embedded Operating System-Kernel Features.pptx
 
Hybrid kernel
Hybrid kernelHybrid kernel
Hybrid kernel
 
Bhagyashri k os-tutorial1
Bhagyashri k os-tutorial1Bhagyashri k os-tutorial1
Bhagyashri k os-tutorial1
 
SEC.3 Linux vs Unix Kernel.pptxnnnnnnnnnnnnnnnnnnnn
SEC.3 Linux vs Unix Kernel.pptxnnnnnnnnnnnnnnnnnnnnSEC.3 Linux vs Unix Kernel.pptxnnnnnnnnnnnnnnnnnnnn
SEC.3 Linux vs Unix Kernel.pptxnnnnnnnnnnnnnnnnnnnn
 
OS-description
OS-descriptionOS-description
OS-description
 
ITT Project Information Technology Basic
ITT Project Information Technology BasicITT Project Information Technology Basic
ITT Project Information Technology Basic
 
Exokernel
ExokernelExokernel
Exokernel
 
Operating system 15 micro kernel based os
Operating system 15 micro kernel based osOperating system 15 micro kernel based os
Operating system 15 micro kernel based os
 
LinuxOS-1 (1).ppt
LinuxOS-1 (1).pptLinuxOS-1 (1).ppt
LinuxOS-1 (1).ppt
 
Introduction to Unix operating system Chapter 1-PPT Mrs.Sowmya Jyothi
Introduction to Unix operating system Chapter 1-PPT Mrs.Sowmya JyothiIntroduction to Unix operating system Chapter 1-PPT Mrs.Sowmya Jyothi
Introduction to Unix operating system Chapter 1-PPT Mrs.Sowmya Jyothi
 
Studies
StudiesStudies
Studies
 

More from Teja Bheemanapally (20)

Teradata
TeradataTeradata
Teradata
 
Teradata
TeradataTeradata
Teradata
 
Linux or unix interview questions
Linux or unix interview questionsLinux or unix interview questions
Linux or unix interview questions
 
Linux notes
Linux notesLinux notes
Linux notes
 
Linux crontab
Linux crontabLinux crontab
Linux crontab
 
Linux basic commands
Linux basic commandsLinux basic commands
Linux basic commands
 
Linux01122011
Linux01122011Linux01122011
Linux01122011
 
Kernel (computing)
Kernel (computing)Kernel (computing)
Kernel (computing)
 
Installing red hat enterprise linux1
Installing red hat enterprise linux1Installing red hat enterprise linux1
Installing red hat enterprise linux1
 
Linux basic commands tutorial
Linux basic commands tutorialLinux basic commands tutorial
Linux basic commands tutorial
 
Common linuxcommandspocketguide07
Common linuxcommandspocketguide07Common linuxcommandspocketguide07
Common linuxcommandspocketguide07
 
50 most frequently used unix
50 most frequently used unix50 most frequently used unix
50 most frequently used unix
 
Basic commands
Basic commandsBasic commands
Basic commands
 
File system hierarchy standard
File system hierarchy standardFile system hierarchy standard
File system hierarchy standard
 
40 basic linux command
40 basic linux command40 basic linux command
40 basic linux command
 
15 practical grep command examples in linux
15 practical grep command examples in linux15 practical grep command examples in linux
15 practical grep command examples in linux
 
25 most frequently used linux ip tables rules examples
25 most frequently used linux ip tables rules examples25 most frequently used linux ip tables rules examples
25 most frequently used linux ip tables rules examples
 
Shell intro
Shell introShell intro
Shell intro
 
6 stages of linux boot process
6 stages of linux boot process6 stages of linux boot process
6 stages of linux boot process
 
Installing red hat enterprise linux1
Installing red hat enterprise linux1Installing red hat enterprise linux1
Installing red hat enterprise linux1
 

Recently uploaded

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 

Recently uploaded (20)

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 

What is a Kernel in Computing

  • 2. What is meant by kernel?  In computing, the kernel is the central component of most computer operating systems; it is a bridge between applications and the actual data processing done at the hardware level.  The kernel's responsibilities include managing the system's resources (the communication between hardware and software components).  Usually as a basic component of an operating system, a kernel can provide the lowest-level abstraction layer for the resources (especially processors and I/O devices) that application software must control to perform its function.  It typically makes these facilities available to application processes through inter-process communication mechanisms and system calls.
  • 3. Operating system tasks are done differently by different kernels, depending on their design and implementation. While monolithic kernels execute all the operating system code in the same address space to increase the performance of the system, microkernels run most of the operating system services in user space as servers, aiming to improve maintainability and modularity of the operating system. A range of possibilities exists between these two extremes.
  • 4. A kernel connects the application software to the hardware of a computer.
  • 5. A typical vision of a computer architecture as a series of abstraction layers: hardware, firmware, assembler, kernel, operating system and applications
  • 6. On the definition of "kernel"  While it is today mostly called the kernel, originally the same part of the operating system was also called the nucleus or core, and was conceived as containing only the essential support features of the operating system.  However the term core has also been used to refer to the primary memory of a computer system, because some early computers used a form of memory called core memory.
  • 7. Features of kernel A kernel will usually provide features for  low-level schedulingof processes (dispatching),  inter-process communication,  process synchronization,  context switching,  manipulation of process control blocks, interrupt handling,  process creation and  destruction, and  process suspension and  resumption
  • 8. Kernel basic facilities The kernel's primary purpose is to manage the computer's resources and allow other programs to run and use these resources. Typically, the resources consist of:  The CPU, the processor. This is the most central part of a computer system, responsible for running or executing programs on it.  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)
  • 9. Kernel basic facilities (Conti-)  The kernel is responsible for deciding which memory each process can use, and determining what to do when not enough is available.  Any Input/Output (I/O) devices present in the computer, such as keyboard, mouse, disk drives, printers, displays, etc. The kernel allocates requests from applications to perform I/O to an appropriate device (or subsection of a device, in the case of files on a disk or windows on a display) 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 device).
  • 10. monolithic kernels  execute all of their code in the same address space (kernel space) microkernels try to run most of their services in user space, aiming to improve maintainability and modularity of the codebase.  Most kernels do not fit exactly into one of these categories, but are rather found in between these two designs.  These are called hybrid kernels.  More exotic designs such as nanokernels and exokernels are available, but are seldom used for production systems. The Xen hypervisor, for example, is an exokernel.
  • 11. monolithic kernel  In a monolithic kernel, all OS services run along with the main kernel thread, thus also residing in the same memory area.  This approach provides rich and powerful hardware access.  Some developers, such as UNIX developer Ken Thompson, maintain that it is "easier to implement a monolithic kernel“than microkernels.  The main disadvantages of monolithic kernels are the dependencies between system components — a bug in a device driver might crash the entire system — and the fact that large kernels can become very difficult to maintain.
  • 12. What is meant by microkernel? In the microkernel approach, the kernel itself only provides basic functionality that allows the execution of servers, separate programs that assume former kernel functions, such as device drivers, GUI servers, etc.
  • 13. The microkernel approaches: • consists of defining a simple abstraction over the hardware, with a set of primitives or system calls to implement minimal OS services such as memory management, multitasking, and inter-process communication. Other services, including those normally provided by the kernel, such as networking, are implemented in user-space programs, referred to as servers. • Microkernels are easier to maintain than monolithic kernels, but the large number of system calls and context switches might slow down the system because they typically generate more overhead than plain function calls. • A microkernel allows the implementation of the remaining part of the operating system as a normal application program written in a high-level language, and the use of different operating systems on top of the same unchanged kernel. • It is also possible to dynamically switch among operating systems and to have more than one active simultaneously.[7]
  • 14. Hybrid kernels  This approach combines the speed and simpler design of a monolithic kernel with the modularity and execution safety of a microkernel.  are a compromise between the monolithic and microkernel designs.  This implies running some services (such as the network stack or the filesystem) in kernel space to reduce the performance overhead of a traditional microkernel, but still running kernel code (such as device drivers) as servers in user space.
  • 15. Nanokernels delegates virtually all services — including even the most basic ones like interrupt controllers or the timer — to device drivers to make the kernel memory requirement even smaller than a traditional microkernel
  • 16. exokernel An exokernel is a type of kernel that does not abstract hardware into theoretical models. Instead it allocates physical hardware resources, such as processor time, memory pages, and disk blocks, to different programs. A program running on an exokernel can link to a library operating system that uses the exokernel to simulate the abstractions of a well-known OS, or it can develop application-specific abstractions for better performance.
  • 17. Mac OS X is based on Darwin, which uses a Hybrid Kernel called XNU, which was created combining the 4.3BSD kernel and the Mach kernel.
  • 18.
  • 19.
  • 20. Four popular categories or kinds of Kernels namely Monolithic kernels, Microkernels, Hybrid kernels and  Exokernels.
  • 21. Monolithic kernels are part of Unix-like operating systems like Linux ,FreeBSD etc. These types of kernels consist of the core functions of the operating system and the device drivers with the ability to load modules at runtime.
  • 22. Microkernels are part of the operating systems like AIX, BeOS, Hurd, Mach, Mac OS X, MINIX, QNX. Etc. These types of kernels normally provide only the minimal services such as defining memory address spaces, Inter-process communication (IPC) and the process management. The other functions such as running the hardware processes are not handled directly by microkernels.
  • 23. Hybrid kernels are part of the operating systems such as Microsoft Windows NT, 2000 and XP. DragonFly BSD etc. These types of kernels are extensions of microkernels with some properties of monolithic kernels. Unlike monolithic kernels, these types of kernels are unable to load modules at runtime on their own.
  • 24. Exokernels are evolving and still under experimental stage in development of an operating system that could incorporate multiple library operating systems and are intended to simultaneously run multiple operating systems of different kinds like Linux and Microsoft Windows together using appropriate Application Programming Interface (API).