0% found this document useful (0 votes)
67 views16 pages

Linux Operating System: Done by

This document provides an overview of the Linux operating system, including: 1) It describes the history of Linux beginning with its creation by Linus Torvalds in 1991 and key milestones in early versions. 2) It explains that Linux distributions package the kernel with applications and tools, and there are many varying distributions like Ubuntu, Debian, and Linux Mint. 3) The design principles of Linux are outlined, including its goals of speed, efficiency, standardization, and POSIX compliance. It also discusses the main components of the Linux system like the kernel, system libraries, and utilities. 4) Kernels modules are discussed as a way to extend kernel functionality by loading code on demand without rebooting

Uploaded by

Bhuvan Mh
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)
67 views16 pages

Linux Operating System: Done by

This document provides an overview of the Linux operating system, including: 1) It describes the history of Linux beginning with its creation by Linus Torvalds in 1991 and key milestones in early versions. 2) It explains that Linux distributions package the kernel with applications and tools, and there are many varying distributions like Ubuntu, Debian, and Linux Mint. 3) The design principles of Linux are outlined, including its goals of speed, efficiency, standardization, and POSIX compliance. It also discusses the main components of the Linux system like the kernel, system libraries, and utilities. 4) Kernels modules are discussed as a way to extend kernel functionality by loading code on demand without rebooting

Uploaded by

Bhuvan Mh
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/ 16

Done by

Abhinav R
Adnaan Khan
Akshar KH

Linux operating
Bhuvan MH
Chanan TM

system
SLIDESMANIA

system History Distribution Design Kernels Conclusion


Home

Objectives
system History Distribution
To explore the history of the UNIX operating system
from which Linux is derived and the principles upon
which Linux’s design is based
Also to learn more about Kernels, it modules and
implementation

Let's get started!


Design Kernels Conclusion
principles
SLIDESMANIA

system History Distribution Design Kernels Conclusion


System

The Linux system


● Linux is a modern, free operating system based on UNIX standards
● First developed as a small but self-contained kernel in 1991 by Linus Torvalds, with the major design
goal of UNIX compatibility, released as open source
● Its history has been one of collaboration by many users from all around the world, corresponding almost
exclusively over the Internet
● It has been designed to run efficiently and reliably on common PC hardware, but also runs on a variety
of other platforms
● The core Linux operating system kernel is entirely original, but it can run much existing free UNIX
software, resulting in an entire UNIX-compatible operating system free from proprietary code
● Linux system has many, varying Linux distributions including the kernel, applications, and
management tools
Next
SLIDESMANIA

system History Distribution Design Kernels Conclusion


History

The Linux kernel.


● Version 0.01 (May 1991) had no networking, ran only on 80386-compatible Intel
processors and on PC hardware, had extremely limited device-drive support, and
supported only the Minix file system
● Linux 1.0 (March 1994) included these new features:
○ Support for UNIX’s standard TCP/IP networking protocols
○ BSD-compatible socket interface for networking programming
○ Device-driver support for running IP over an Ethernet
○ Enhanced file system
○ Support for a range of SCSI controllers for
high-performance disk access
○ Extra hardware support
● Version 1.2 (March 1995) was the final PC-only Linux kernel
● Kernels with odd version numbers are development kernels, those with even
numbers are production kernels
SLIDESMANIA

system History Distribution Design Kernels Conclusion


History

The latest release is Linux Mint 21.2


"Victoria", released on July 16, 2023.
As an LTS release, it will be
supported until 2027. Linux Mint
Debian Edition, not compatible with
Ubuntu, is based on Debian and
updates are brought in continuously
between major versions (of LMDE)
SLIDESMANIA

system History Distribution Design Kernels Conclusion


Distribution

Linux distibution
Other operating systems like Microsoft combine each bit of codes internally and release it as a single
package. You have to choose from one of the version they offer. But Linux is different from them.
Different parts of Linux are developed by different organizations.

• A Linux distribution is an OS made through a software collection that contains the Linux kernel and
a package management system often.
• Usually, Linux users obtain their OS by downloading a Linux distribution, available for a range of
systems from embedded devices (e.g., OpenWrt) to robust supercomputers (e.g., Rocks Cluster
Distribution).
SLIDESMANIA

system History Distribution Design Kernels Conclusion


Distribution

Linux distibution
• A Linux distribution is composed of a Linux
kernel, GNU libraries and tools, other software, a
window system, documentation, a desktop
environment, and a window manager.
• Almost every added software is open-source and
free and becomes available both as in source
code and compiled binary form, permitting
changes to the actual software.
SLIDESMANIA

system History Distribution Design Kernels Conclusion


Design principles

● Linux is a multiuser, multitasking system with a full set of UNIX-compatible tools


● Its file system adheres to traditional UNIX semantics, and it fully implements the
standard UNIX networking model
● Main design goals are speed, efficiency, and standardization
● Linux is designed to be compliant with the relevant POSIX documents; at least two
Linux distributions have achieved official POSIX certification
○ Supports Pthreads and a subset of POSIX real-time process control
● The Linux programming interface adheres to the SVR4 UNIX semantics, rather than
to BSD behavior
SLIDESMANIA

system History Distribution Design Kernels Conclusion


Design principles

Components of Linux system


 Like most UNIX implementations, Linux is composed of three main bodies of code;
the most important distinction between the kernel and all other components.
 The kernel is responsible for maintaining the important abstractions of the operating
system
 Kernel code executes in kernel mode with full access to all the physical resources
of the computer
 All kernel code and data structures are kept in the same single address space
SLIDESMANIA

system History Distribution Design Kernels Conclusion


Design principles

Components of Linux system

● The system libraries define a standard set of functions


through which applications interact with the kernel, and
which implement much of the operating-system
functionality that does not need the full privileges of
kernel code
● The system utilities perform individual specialized
management tasks
● User-mode programs rich and varied, including
multiple shells like the bourne-again (bash)
SLIDESMANIA

system History Distribution Design Kernels Conclusion


Kernels

Kernel modules
● Kernel modules are pieces of code that can be loaded and unloaded into the kernel
upon demand. They extend the functionality of the kernel without the need to
reboot the system.
Custom codes can be added to Linux kernels via two methods.
• The basic way is to add the code to the kernel source tree and recompile the kernel.
• A more efficient way is to do this is by adding code to the kernel while it is
running. This process is called loading the module, where module refers to the
code that we want to add to the kernel.
SLIDESMANIA

system History Distribution Design Kernels Conclusion


Kernels

Module management
● Supports loading modules into memory and letting them talk to the rest of the
kernel
● Module loading is split into two separate sections:
○ Managing sections of module code in kernel memory
○ Handling symbols that modules are allowed to reference
● The module requestor manages loading requested, but currently unloaded,
modules; it also regularly queries the kernel to see whether a dynamically loaded
module is still in use, and will unload it when it is no longer actively needed
SLIDESMANIA

system History Distribution Design Kernels Conclusion


Kernels

Driver registration
● A device driver is a piece of code that configures and manages a device. The device driver code
knows how to configure the device sending data to the device, and it knows how to process
requests which originate from the device.
● When the device driver code is loaded into an operating system such as Linux, it exposes
interfaces to the user space so that the user application can communicate with the device. Without
the device driver, the OS or the application will not have a clear picture of how to deal with a
device.
SLIDESMANIA

system History Distribution Design Kernels Conclusion


Kernels

Driver registration
● Allows modules to tell the rest of the kernel that a new driver has become available
● The kernel maintains dynamic tables of all known drivers, and provides a set of
routines to allow drivers to be added to or removed from these tables at any time
● Registration tables include the following items:
○ Device drivers
○ File systems
○ Network protocols
○ Binary format
SLIDESMANIA

system History Distribution Design Kernels Conclusion


Kernels

In Linux, we access the device by using a


file access technique.

Basically, we do read-write operations on a


device. That’s why the device driver has to
create a device file interface at the user’s space,
so that user-level programs can communicate
with the hardware, using traditional file access
system calls such as open, close, read, write,
etc.

There are various categories of Linux device


drivers(as shown in Figure ). There are
character drivers which take care of character
devices
SLIDESMANIA

system History Distribution Design Kernels Conclusion


Conclusion
SLIDESMANIA

system History Distribution Design Kernels Conclusion

You might also like