0% found this document useful (0 votes)
2 views9 pages

An Operating System

An operating system (OS) is essential software that manages computer hardware and provides services for user applications, ensuring efficient execution of programs. Key characteristics include device and file management, memory and processor management, security, and user convenience. The document also discusses components like the shell and kernel, the architecture of Linux and UNIX, and the differences between command-line and graphical user interfaces.

Uploaded by

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

An Operating System

An operating system (OS) is essential software that manages computer hardware and provides services for user applications, ensuring efficient execution of programs. Key characteristics include device and file management, memory and processor management, security, and user convenience. The document also discusses components like the shell and kernel, the architecture of Linux and UNIX, and the differences between command-line and graphical user interfaces.

Uploaded by

jyoti.rani
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

INTRODUCTION TO OPERATING SYSTEM

• An operating system (OS) is a fundamental software component that acts


as an intermediary between computer hardware and user applications. It
provides a set of essential services and manages various resources to
enable efficient and controlled execution of programs.

• An operating system is software that manages computer hardware. The


hardware must provide appropriate mechanisms to ensure the correct
operation of the computer system and to prevent user programs from
interfering with the proper operation of the system. A more common
definition is that the operating system is the one program running at all
times on the computer (usually called the kernel), with all else being
application programs.

• An operating system is concerned with the allocation of resources and


services, such as memory, processors, devices, and information. The
operating system correspondingly includes programs to manage these
resources, such as a traffic controller, a scheduler, a memory
management module, I/O programs, and a file system.

Characteristics of Operating Systems


Let us now discuss some of the important characteristic features of operating
systems:
• Device Management: The operating system keeps track of all the
devices. So, it is also called the Input/Output controller that decides
which process gets the device, when, and for how much time.
• File Management: It allocates and de-allocates the resources and also
decides who gets the resource.
• Job Accounting: It keeps track of time and resources used by various
jobs or users.
• Error-detecting Aids: These contain methods that include the production
of dumps, traces, error messages, and other debugging and error-
detecting methods.
• Memory Management: It keeps track of the primary memory, like what
part of it is in use by whom, or what part is not in use, etc. and It also
allocates the memory when a process or program requests it.
• Processor Management: It allocates the processor to a process and then
de-allocates the processor when it is no longer required or the job is
done.
• Control on System Performance: It records the delays between the
request for a service and the system.
• Security: It prevents unauthorized access to programs and data using
passwords or some kind of protection technique.
• Convenience: An OS makes a computer more convenient to use.
• Efficiency: An OS allows the computer system resources to be used
efficiently.
• Ability to Evolve: An OS should be constructed in such a way as to
permit the effective development, testing, and introduction of new
system functions at the same time without interfering with service.
• Throughput: An OS should be constructed so that It can give maximum
throughput (Number of tasks per unit time).

Components of an Operating Systems


There are two basic components of an Operating System.
• Shell
• Kernel

Shell
Shell is the outermost layer of the Operating System and it handles the
interaction with the user. The main task of the Shell is the management of
interaction between the User and OS. Shell provides better communication
with the user and the Operating System Shell does it by giving proper input
to the user it also interprets input for the OS and handles the output from the
OS. It works as a way of communication between the User and the OS.

Kernel
The kernel is one of the components of the Operating System which works
as a core component. The rest of the components depends on Kernel for the
supply of the important services that are provided by the Operating System.
The kernel is the primary interface between the Operating system and
Hardware.

Functions of Kernel
The following functions are to be performed by the Kernel.
• It helps in controlling the System Calls.
• It helps in I/O Management.
• It helps in the management of applications, memory, etc.
The process operating system as User Interface:
1. User
2. System and application programs
3. Operating system
4. Hardware
• Every general-purpose computer consists of hardware, an operating
system(s), system programs, and application programs. The hardware
consists of memory, CPU, ALU, I/O devices, peripheral devices, and
storage devices. The system program consists of compilers, loaders,
editors, OS, etc. The application program consists of business programs
and database programs.
• Every computer must have an operating system to run other programs.
The operating system coordinates the use of the hardware among the
various system programs and application programs for various users. It
simply provides an environment within which other programs can do

useful work.

What is Linux
• Linux is a powerful and flexible family of operating systems that are free
to use and share. It was created by a person named Linus Torvalds in
1991. What’s cool is that anyone can see how the system works because
its source code is open for everyone to explore and modify. This
openness encourages people from all over the world to work together
and make Linux better and better. Since its beginning, Linux has grown
into a stable and safe system used in many different things, like
computers, smartphones, and big supercomputers. It’s known for being
efficient, meaning it can do a lot of tasks quickly, and it’s also cost-
effective, which means it doesn’t cost a lot to use. Lots of people love
Linux, and they’re part of a big community where they share ideas and
help each other out. As technology keeps moving forward, Linux will
keep evolving and staying important in the world of computers.

Linux Distribution
• Linux distribution is an operating system that is made up of a collection
of software based on Linux kernel or you can say distribution contains
the Linux kernel and supporting libraries and software. And you can get
Linux based operating system by downloading one of the Linux
distributions and these distributions are available for different types of
devices like embedded devices, personal computers, etc. Around 600 +
Linux Distributions are available and some of the popular Linux
distributions are:
• MX Linux
• Manjaro
• Linux Mint
• elementary
• Ubuntu
• Debian
• Solus
• Fedora
• openSUSE
• Deepin
Architecture of Linux
Linux architecture has the following components:
1. Kernel:
Kernel is the core of the Linux based operating system. It virtualizes the
common hardware resources of the computer to provide each process
with its virtual resources. This makes the process seem as if it is the sole
process running on the machine. The kernel is also responsible for
preventing and mitigating conflicts between different processes.
Different types of the kernel are:
• Monolithic Kernel
• Hybrid kernels
• Exo kernels
• Micro kernels
2. System Library:
Linux uses system libraries, also known as shared libraries, to implement
various functionalities of the operating system. These libraries contain
pre-written code that applications can use to perform specific tasks. By
using these libraries, developers can save time and effort, as they don’t
need to write the same code repeatedly. System libraries act as an
interface between applications and the kernel, providing a standardized
and efficient way for applications to interact with the underlying system.
3. Shell:
The shell is the user interface of the Linux Operating System. It allows
users to interact with the system by entering commands, which the shell
interprets and executes. The shell serves as a bridge between the user
and the kernel, forwarding the user’s requests to the kernel for
processing. It provides a convenient way for users to perform various
tasks, such as running programs, managing files, and configuring the
system.
4. Hardware Layer:
The hardware layer encompasses all the physical components of the
computer, such as RAM (Random Access Memory), HDD (Hard Disk
Drive), CPU (Central Processing Unit), and input/output devices. This
layer is responsible for interacting with the Linux Operating System and
providing the necessary resources for the system and applications to
function properly. The Linux kernel and system libraries enable
communication and control over these hardware components, ensuring
that they work harmoniously together.
5. System Utility: System utilities are essential tools and programs
provided by the Linux Operating System to manage and configure
various aspects of the system. These utilities perform tasks such as
installing software, configuring network settings, monitoring system
performance, managing users and permissions, and much more. System
utilities simplify system administration tasks, making it easier for users to
maintain their Linux systems efficiently.

What is UNIX:
• Unix is an Operating System that is truly the base of all Operating
Systems like Ubuntu, Solaris, POSIX, etc. It was developed in the 1970s
by Ken Thompson, Dennis Ritchie, and others in the AT&T Laboratories.
It was originally meant for programmers developing software rather than
non-programmers.
• Unix and the C were found by AT&T and distributed to government and
academic institutions, which led to both being ported to a wider variety
of machine families than any other operating system. The main focus that
was brought by the developers in this operating system was the Kernel.
Unix was considered to be the heart of the operating System. The
system Structure of Unix OS are as follows:
• UNIX is a family of multitasking, multiuser computer operating systems
developed in the mid 1960s at Bell Labs. It was originally developed for
mini computers and has since been ported to various hardware
platforms. UNIX has a reputation for stability, security, and scalability,
making it a popular choice for enterprise-level computing.
• The basic design philosophy of UNIX is to provide simple, powerful tools
that can be combined to perform complex tasks. It features a command-
line interface that allows users to interact with the system through a
series of commands, rather than through a graphical user interface (GUI).

Some of the key features of UNIX include:


1. Multiuser support: UNIX allows multiple users to simultaneously access
the same system and share resources.
2. Multitasking: UNIX is capable of running multiple processes at the same
time.
3. Shell scripting: UNIX provides a powerful scripting language that allows
users to automate tasks.
4. Security: UNIX has a robust security model that includes file permissions,
user accounts, and network security features.
5. Portability: UNIX can run on a wide variety of hardware platforms, from
small embedded systems to large mainframe computers.

• Today, UNIX is widely used in enterprise-level computing, scientific


research, and web servers. Many modern operating systems,
including Linux and macOS, are based on UNIX or its variants.

Figure – system structure


• Layer-1: Hardware: It consists of all hardware related information.
• Layer-2: Kernel: It interacts with hardware and most of the tasks like
memory management, task scheduling, and management are done by
the kernel.
• Layer-3: Shell commands: Shell is the utility that processes your
requests. When you type in a command at the terminal, the shell
interprets the command and calls the program that you want. There
are various commands like cp, mv, cat, grep, id, wc, nroff, [Link] and
more.
• Layer-4: Application Layer: It is the outermost layer that executes
the given external applications.
• Figure – kernel and its block diagram
• This diagram shows three levels: user, kernel, and hardware.

• The system call and library interface represent the border between user
programs and the kernel. System calls look like ordinary function calls in
C programs. Assembly language programs may invoke system calls
directly without a system call library. The libraries are linked with the
programs at compile time.
• The set of system calls into those that interact with the file subsystem
and some system calls interact with the process control subsystem. The
file subsystem manages files, allocating file space, administering free
space, controlling access to files, and retrieving data for users.
• Processes interact with the file subsystem via a specific set of system
calls, such as open (to open a file for reading or writing), close, read,
write, stat (query the attributes of a file), chown (change the record of
who owns the file), and chmod (change the access permissions of a file).
• The file subsystem accesses file data using a buffering mechanism that
regulates data flow between the kernel and secondary storage devices.
The buffering mechanism interacts with block I/O device drivers to
initiate data transfer to and from the kernel.
• Device drivers are the kernel modules that control the operator of
peripheral devices. The file subsystem also interacts directly with “raw”
I/O device drivers without the intervention of the buffering mechanism.
Finally, the hardware control is responsible for handling interrupts and
for communicating with the machine. Devices such as disks or terminals
may interrupt the CPU while a process is executing. If so, the kernel may
resume execution of the interrupted process after servicing the interrupt.
• Interrupts are not serviced by special processes but by special functions
in the kernel, called in the context of the currently running process.

Interaction with CLI and GUI


CLI is the word form used for Command Line Interface. CLI permits users to
put in writing commands associate degree exceedingly in terminal or
console window to interact with an operating system. CLI is a platform or
medium wherever users answer a visible prompt by writing a command and
get the response from the system, for this users have to be compelled to
kind command or train of command for performing the task. CLI is suitable
for pricey computing wherever input exactitude is the priority.

GUI stands for Graphical User Interface. GUI permits users to use the
graphics to interact with an operating system. In the graphical user
interface, menus are provided such as windows, scrollbars, buttons,
wizards, painting pictures, alternative icons, etc. It’s intuitive, simple to find
out, and reduces psychological feature load. In GUI, the information is
shown or presented to the user in any form such as: plain text, videos,
images, etc.

You might also like