Unit 2
Unit 2
2.1 Introduction
2.2 Objectives
2.3 Linux Operating System
2.4 Evolution of Linux
2.5 Characteristics of Linux
2.6 Linux Kernel
2.7 Fundamental Architecture of Linux
2.8 Process Management in Linux
2.9 Memory Management in Linux
2.10 Linux File System
2.11 Security Features in Linux
2.12 Windows Vs Linux
2.13 Summary
2.14 Solutions/Answers
2.15 Further Readings
2.1 INTRODUCTION
Operating system is system software, which acts as an interface between user
applications and hardware devices such as input/output devices, memory, file system,
etc. It schedules both type of tasks, systems and users’, and provides common core
services such as a basic user interface. The two major goals of any operating system
(OS) are:
Convenience: It transforms the raw hardware into a machine that is more
accessible to users.
Efficiency: It efficientlymanages the resources ofthe overall computer system.
Operating systemconsists of the following components for achieving the goals:
Kernel: The main task of the kernel is to optimize the usage of the hardware,
running the required programs, satisfying the user’s requirements.
Application Programming Interface (API): A collection of rules,
which describes how services have to be required from the kernel, and
how we receive the answer from it.
Shell: Its’ task is the interpretation of commands. The shell can be command
line (CLI - Command Line Interface, such as DOS), or graphic - GUI -
interface (e.g.: Windows)
Services and Utilities: These supplementary programs enhance the user’s
experience (e.g.: word processors, translator programs) and are not
inseparable parts of the system. 269
Case Studies Operating systems may be categorized into various types based on their functionality
such as single user single task operating systems, single user multitasking operating
systems, multi-programmed operating system, multiuser operating systems, distributed
operating systems, network operating system, multiprocessor operating system, real
time operating systems and embedded operating systems. Disk Operating System
(DOS), Windows, UNIX, LINUX, Macintosh (macOS) are some of the examples of
the operating systems. The typical services that an operating systemprovides include:
a task scheduler, memory manager, disk manager, network manager, Other I/O services
and security manager. This section provides a case study of LINUX operating system.
This unit provides basic structure ofthe Linux, its process management; file management
and memory management techniques.
2.2 OBJECTIVES
After the completion of this unit, you will be able to:
Understand the basic functions of Linux Operating System
Identify the characteristics of the Linux Operating System
Know the evolution of Linux operating system
Understand the process management of Linux and compare with other OS
Understand the memory management approaches in Linux
Understand the File management in Linux
Understand the security features of Linux
Linux has several distributions. Some popular and dominant LINUX distributions for
Desktops include:
Linux Mint
Ubuntu
OpenSUSE
Mageia
Manjaro
Fedora
Arch Linux
Debian
Kali Linux
Elementary OS
Some of the popular Linux distributions, in the Servers category, include:
Red Hat Enterprise Linux (RHEL)
CentOS
Ubuntu Server
SUSE Enterprise Linux
Applications
Shell
Kernel
Hardware
All user programs and applications are executed in user space. User Space cannot
directly access the memory and hardware. It accesses the hardware through kernel
space. Processes or programs which are running in user space only access some part
of memory bysystemcall. Due to full protection, crashes in user mode are recoverable.
GNU C library provides the mechanism switching user space application to kernel
space.
282 /home
/root Case Study – LINUX
/srv
/media
/mnt
/tmp
/home: The ‘/home’directory stores users personnel files. After the ‘/home’there is a
directory which is generally named at the user’s name like we have ‘/home/
sssit’. Inside this directory we have our sub-directories like Desktop,
Downloads, Documents, pictures, etc.
/root: The ‘/root’directoryis the home directoryofthe root user. The ‘/root’directory
is different from (/) root.
/srv: The term ‘srv’ is short for service. The ‘/srv’ directorycontains server specific
data for services provided by the system like www, cvs, rysync, ftp, etc.
/media: The ‘/media’ directory acts as a mount point for removable media devices
such as CD-Rom, floppy, USB devices, etc.This is newlyintroduced directory
and hence a system can run without this directory also.
/mnt : The term ‘mnt’ stands for mount. The ‘/mnt’ directory should be empty and
sysadmins can only mount temporary filesystems.
/tmp : The term ‘tmp’stands for temporary. Data stored in ‘/tmp’is temporary and
may use either disk space or RAM. When system is rebooted, files under this
directory is automatically deleted. So it is advisable that never use ‘/tmp’ to
store important data.
/var/lib
/var/log : The ‘/var/log’ directory contains all log files.
/var/cache: The ‘/var/cache’ directory stores application cache data. Cache data are
locally generated by I/O or calculation. Cache must be able to regenerate
or restore the data. These files can be deleted without any loss of data.
/var/spool: The ‘/var/spool’ directoryis used to spool the files waitingto be processed.
For example, printing queues and mail queues.
/var/lib: The ‘/var/lib’ directory stores the files that contains state information like
databases. File’s data modifies as their respective programs run.
/lost+found: During system crash or in any other situation when Linux file system
checker (fsck) recovers lost data, that data is stored in this directory.
Data may or may not be in a good condition.
2.10.6 OS Management
Majority of Linux distributions incorporate software management facilities based
on package files and sets of specially prepared Web sites, known
as repositories or channels. Package management utilities construct or update working
copies of software fromthese packages, and execute anyother setup tasks that packages
require. Repositories enable the management tools to automaticallyprovide the correct
version of each software product, by downloading the required packages directly
from the relevant repository. Most systems also use checksums and digital signature
tests to ensure that packages are authentic and correct. Inaddition, package management
tools can identify outdated versions of software by checking the software installed on
a system against the packages in the repositories. This means that you can ensure that
all of the supported software on your system does not suffer from known security
vulnerability, simplybyrunning the update routine.
Check Your Progress 1
1) Mention the important features of LINUX Operating System.
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
2) Describe the architecture of LINUX.
........................................................................................................................
........................................................................................................................
........................................................................................................................
290 ........................................................................................................................
Case Study – LINUX
2.12 SUMMARY
In this unit, we have discussed issues broadly related to features of LINUX OS,
Architecture and components of LINUX, process management, memory
management and file system in LINUX operating system. In this unit, we also discussed
several theoretical concepts of LINUX system in detail, often useful in your lab for
practice.
i. Linux operating system can work on different types of hardware devices and
Linux kernel supports the installation of any kind of hardware platform.
ii. Linux is an Open Source software i.e., Linux Source code is freely
available. Linux also allow us to upgrade the source code. Manycollaborative
groups are working to upgrade and develop their own versions.
vii. Security: Linux operating system offers user security systems using
authentication features like encryption of data or password protection
or controlled access to particular files.
Hardware: All physical components of the computer that provides services to the
user like CPU, RAM, Hard Disk, Monitor, Printer, etc., are known as hardware
components of the computers.
Kernel: This is the main component of the Linux operating system. Only through
the Kernel, we can directly communicate with the hardware components.
Shell: The shell layer is in between application layer and the kernel. Shell will take
the input from the user applications and sends to the kernel in the form of
instructions and takes output from the kernel and forwards it as a result to the user
application.
Applications: These are the utility programs for the users that run on shell. These
applications like text editor, web browsers, spread sheet applications, etc.
291
Case Studies
2.14 FURTHER READINGS
1. Richard Pertersen, Linux: The Complete Reference, Sixth Edition, McGraw Hill,
2017.
2. MachteltGarrels, Introduction to Linux: A Hands-On Guide, UNIX Academy
Publicaions, 2007.
3. Jason Cannon, Linux for Beginners:An Introductionto the Linux Operating System
and Command Line, Kindle Edition, 2013.
4. Linux System Programming, Robert Love, O’Reilly, 2014.
5. K. Srirengan, Understanding UNIX, PHI, 2002.
292