Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

/proc file:

The Proc psuedo file system is a real time, memory resident file system
that tracks the processes running on your machine and the state of your
system. Read on to learn how to get the most out of the /proc file system.

The most striking factor about the /proc file system is the fact that the
file system doesn't exist on any particular media. The /proc File System
is a pseudo file system residing in the virtual memory and
maintains highly dynamic data on the state of your operating system. Most
of the information in the /proc file system is updated to match the
current state of the operating system. The contents of the /proc file
system can be read by anyone who has the requisite permissions. However,
certain parts of the /proc file system can be read only by the owner of
the process and of course root. The contents of the /proc filesystem are
used by many utilities which grab the data from the particular /proc
directory and display it.

Since the /proc file system is a virtual file system and resides in
memory, a new /proc file system is created every time your Linux machine
reboots. Take a look at the snapshot of the root directory shown above.
The size of the proc directory is 0 and the last time of modification is
the current date.

The /proc filesystem

/proc/cpuinfo
Information about the processor, such as its type, make, model, and
performance.

/proc/devices
List of device drivers configured into the currently running kernel.

/proc/dma
Shows which DMA channels are being used at the moment.

/proc/filesystems
Filesystems configured into the kernel.

/proc/interrupts
Shows which interrupts are in use, and how many of each there have been.

/proc/ioports
Which I/O ports are in use at the moment.

Types of kernel:

The kernel internally contains many components, such as a memory manager, scheduler,
numerous device drivers, a file system, and so on.

In monolithic kernel operating system all services are provided in the operating system
kernel itself. monolithic operating system is one big program. Being ‘one big program’ all
the services are associated with one another. This is prone to system crashes, because, if
one particular function fails, the entire system will be brought to halt. In regards to resource
management, it is difficult for the programmer to debug or implement the system. The only
advantages of being monolithic are it deals with resource management rapidly.

A Microkernel tries to run most services - like networking, filesystem, etc. - as daemons / servers in user
space. All that's left to do for the kernel are basic services, like memory allocation, scheduling, and
messagingthis concept makes the kernel more responsive (since much functionality resides in
preemptible user-space threads and processes, removing the need for context-switching into the kernel
proper), and improves the stability of the kernel by reducing the amount of code running in kernel space.
A drawback is the amount of messaging and Context Switching involved, which makes microkernels
conceptually slower than monolithic kernels.

A hybrid kernel is, as its name indicates, a hybrid between a Monolithic kernel and a Microkernel. Unlike
a microkernel where everything takes place in user level servers and drivers, the designers of a hybrid
kernel may decide to keep several components inside kernel and some outside.

Exokernels are an attempt to separate security from abstraction, making non-overrideable parts of the
operating system do next to nothing but securely multiplex the hardware.

You might also like