0% found this document useful (0 votes)
6 views

TCS Day 1 - Linux Kernel

Uploaded by

arehojayega
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

TCS Day 1 - Linux Kernel

Uploaded by

arehojayega
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 11

LINUX KERNEL

Prepared by M.K. Prem Kumar


OBJECTIVES
In this Chapter, you will learn about:
 The Kernel
 The Linux Kernel
 Process Scheduler
 Memory Manager
 Virtual File System
 Network Interface
 IPC subsystem
 Communication between subsystems
THE KERNEL

• The Kernel is the core/central part of an Operating System.


• The Kernel controls all the programs in a Computer and provides services so that programs
can request the use of a disk, network card or other pieces of Hardware in the Computer. The
Kernel forwards these requests to Device Drivers which control the Hardware.
• There are different types of Kernels like Micro Kernel, Monolithic Kernel.
• Micro Kernel contains basic functionality.
• Monolithic Kernel contains many device drivers.
THE LINUX KERNEL

• The Linux Kernel is a monolithic kernel.


• In this kind of monolithic kernel, the Device Drivers are part of the kernel and are used in the
form of Loadable Kernel Modules.
• For example, when a new device is attached to a Computer running Linux, the device driver
module for this device can be dynamically loaded so that the Linux Kernel can use this device
driver to interact with the device.
PROCESS SCHEDULER

• The Linux Operating System provides a Multiuser, Multiprogramming environment.


• In a Multiprogramming environment, the Operating System (i.e.) the Kernel decides which
process gets the processor for execution and for how much time. This function is called
Process Scheduling. It is a subsystem of the Linux Kernel.
• The Kernel takes care of the following activities for Process Scheduling
- Keeps track of the Processor and the Process
- Allocates the Processor to a Process
- De-allocates the Processor when a Process is no longer required
MEMORY MANAGER

• In Linux, the Memory Management subsystem is responsible for managing the memory in the
System.
• The responsibilities of the Memory Management subsystem include implementation of Virtual
Memory, Demand Paging, Memory allocation both for kernel internal structures and user space
programs and so on.
• In Linux, many of the memory management settings can be done through configuration files
and by using the sysctl command.
VIRTUAL FILE SYSTEM

• The Linux Virtual File System or Virtual File System is a layer that sits on top of the actual File
System and allows the users to access different types of File Systems.
• In Linux, the Virtual File System is an Interface between the Kernel and the actual File System.
• The Virtual File System in Linux is similar to Registry in Microsoft Windows Operating System.
• The purpose of a Virtual File System is to allow client applications to access different types of
concrete File Systems in a uniform way. A Virtual File System can, for example, be used to
access local and network storage devices transparently without the client application noticing
the difference.
• It can be used to bridge the differences in Windows, Mac OSX, Unix File Systems, so that
applications can access files on local File Systems of those types without having to know what
type of File System they are accessing.
NETWORK INTERFACE

• A Network Interface is the point of interconnection between a Computer and a Private or Public
Network.
• A Network Interface is generally a Physical Network Interface Card (NIC), but it need not
always be in a Physical form. The Network Interface can be implemented in Software also. For
example, the loopback interface is not a physical device but a piece of Software. The loopback
interface is used in Test Environments.
• The Configuration of Network Interfaces needs to be appropriately done so that a Computer
System can communicate with other Computer Systems in a networked environment.
IPC SUBSYSTEM

• In a Linux System, there will a number of processes running. The following mechanisms can
be used in Linux for the Interprocess Communication also called IPC.
- Shared Files
- Shared Memory with Semaphores
- Pipes
- Message Queues
- Sockets
- Signals
COMMUNICATIONS BETWEEN DIFFERENT
SUBSYSTEMS

• In the Linux Environment, the above different subsystems depend on other subsystems.
• All subsystems depend on the Process Scheduler since all subsystems need to suspend and
resume processes.
• For another example, the Virtual File System uses the Network Interface to support a Network
File System and also uses the Memory Manager to provide a ramdisk device.
• There are many such dependencies between different subsystems in the Linux Environment.
• The diagram in the next page illustrates the dependencies between the different subsystems.

You might also like