TCS Day 1 - Linux Kernel
TCS Day 1 - Linux Kernel
• 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.