0% found this document useful (0 votes)
8 views

OVERVIEW OF SYSTEM SOFTWARE

The document provides an overview of operating systems and system software, detailing their roles as intermediaries between users and hardware. It discusses various types of system software, including operating systems, device drivers, firmware, utility software, and programming language translators, along with their functions and importance in managing computer resources. Additionally, it highlights the advantages, disadvantages, and issues related to system software, as well as the differences between system software and application software.
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)
8 views

OVERVIEW OF SYSTEM SOFTWARE

The document provides an overview of operating systems and system software, detailing their roles as intermediaries between users and hardware. It discusses various types of system software, including operating systems, device drivers, firmware, utility software, and programming language translators, along with their functions and importance in managing computer resources. Additionally, it highlights the advantages, disadvantages, and issues related to system software, as well as the differences between system software and application software.
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
You are on page 1/ 57

Unit-1

Operating System
• An Operating system is an interface between users and the hardware of a
computer system. It is a system software that is viewed as an organized
collection of software consisting of procedures and functions, providing an
environment for the execution of programs. The operating system manages
system software and computer hardware resources. It allows computing
resources to be used in an efficient way. Programs interact with computer
hardware with the help of operating system. A user can interact with the
operating system by making system calls or using OS commands.
OVERVIEW OF SYSTEM
SOFTWARE

System Software :- System software refers to the


low-level software that manages and controls a
computer’s hardware and provides basic services to
higher-level software. There are two main types of
software: systems software and application software.
Systems software includes the programs that are
dedicated to managing the computer itself, such as the
operating system, file management utilities, and disk
operating system (or DOS).
• What is System Software?
• System software is software that provides a platform for other software. Some examples can be operating systems, antivirus
software, disk formatting software, computer language translators, etc. These are commonly prepared by computer
manufacturers. This software consists of programs written in low-level languages, used to interact with the hardware at a very
basic level. System software serves as the interface between the hardware and the end users.
• System software refers to the collection of programs and software components that enable a computer or computing device to
function properly. It acts as an intermediary between the user and the computer hardware, allowing the user to interact with
the hardware and use various applications and programs. Some common types of system software include operating systems
(such as Windows, macOS, or Linux), device drivers, utility programs, programming languages, and system libraries.
• Operating systems are the most important type of system software, as they provide the foundational framework for all other
software and applications to run on the computer. They manage computer resources, such as memory and processing power,
and provide a user interface for users to interact with the system. Device drivers are another important type of system
software, as they allow the operating system to communicate with hardware devices such as printers, scanners, and graphics
cards. Utility programs provide additional functionality to the operating system, such as disk defragmentation, virus scanning,
and file compression.
• Examples of System Software
• System software is a type of computer program that is designed to run a computer’s hardware and application programs and
examples of system software include operating systems (OS) (like macOS, Linux, Android, and Microsoft Windows), game
engines, search engines(like google,Bing,Yahoo!), industrial automation, computational science software, and (SaS)software
as a service applications.
Types of System Software
• Operating systems (OS): Windows, Linux, macOS, etc.

• Device drivers: software that enables the communication between hardware


and OS.

• Firmware: pre-installed low-level software that controls a device’s basic


functions.

• Utility software: tools for system maintenance and optimization.

• Programming Language Translator/ Boot Loader: Programming


language translators are programs that translate code written in one
programming language into another programming language.
• Why use System Software?
• Here are some reasons why system software is necessary:
1. Hardware Communication: System software serves as an interface between the hardware and software
components of a computer, enabling them to communicate and work together.

2. Resource Management: System software manages computer resources such as memory, CPU usage, and
storage, optimizing their utilization and ensuring that the system operates efficiently.

3. Security: System software provides security measures such as firewalls, antivirus software, and encryption,
protecting the system and its data from malware, viruses, and other security threats.

4. User Interface: System software provides a user interface that allows users to interact with the computer or
computing device and perform various tasks.

5. Application Support: System software supports the installation and running of applications and software on
the system.

6. Customization: System software allows for customization of the system settings and configuration, giving
users greater control over their computing environment.
• Features of System Software
• The most important features of system software are as below.
1.Memory Management: operating system perform memory management. The OS keeps track of the
primary memory and allocates the memory when a process requests it.

2.Processor Management: OS performs process management. Allocates the main memory (RAM) to a
process and de-allocates it when it is no longer required.

3.File Management: Operating system perform file management. Allocates and de-allocates the
resources and decides who gets the resources.

4.Security: Prevents unauthorized access to programs and data using passwords.

5.Error-detecting Aids: Production of dumps, traces, error messages, and other debugging and error-
detecting methods.

6.Scheduling: The OS schedules the process through its scheduling algorithms.


Types of System Software
• 1. Operating System

• An operating system (OS) is a type of system software that manages a computer’s hardware and software resources. It provides common
services for computer programs. An OS acts as a link between the software and the hardware. It controls and keeps a record of the execution
of all other programs that are present in the computer, including application programs and other system software.

• Important Tasks Performed by the Operating System


• The main functions of operating systems are as follow:

• Resource Management: The operating system manages and allocates memory, CPU time, and other hardware resources among the various
programs and processes running on the computer.

• Process Management: The operating system is responsible for starting, stopping, and managing processes and programs. It also controls the
scheduling of processes and allocates resources to them.

• Memory Management: The operating system manages the computer’s primary memory and provides mechanisms for optimizing memory
usage.

• Security: The operating system provides a secure environment for the user, applications, and data by implementing security policies and
mechanisms such as access controls and encryption.

• File Management: The operating system is responsible for organizing and managing the file system, including the creation, deletion, and
manipulation of files and directories.

• Device Management: The operating system manages input/output devices such as printers, keyboards, mice, and displays. It provides the
necessary drivers and interfaces to enable communication between the devices and the computer.
2. Device Drivers
• Device drivers are a class of system software that
minimizes the need for system troubleshooting.
Internally, the operating system communicates with
hardware elements. Device drivers make it simple to
manage and regulate this communication.
• To operate the hardware components, the operating
system comes with a variety of device drivers. The
majority of device drivers, including those for a
mouse, keyboard, etc., are pre-installed in the
computer system by the businesses that make
computers.
3. Firmware
• These are the operational programs installed on
computer motherboards that assist the operating system
in distinguishing between Flash, ROM, EPROM, and
memory chips. However, managing and controlling all
of a device’s actions is the main purpose of
any firmware software. For initial installation, it makes
use of non-volatile chips.
• There are mainly two main types of firmware chips:
• BIOS (Basic Input/Output System) chip.

• UEFI (Unified Extended Firmware Interface) chips.


4. Utility Software
• System Software and application software interact through utility
software. A third-party product called utility software is created to
lessen maintenance problems and find computer system defects. It
is included with your computer’s operating system.
• Listed below are some particular attributes of utility software:
• Users benefit from protection from threats and infections.

• WinRAR and WinZip are programs that aid in reducing disk size.

• It assists with disk partitioning and functions as a windows disk


management service.

• It makes it easier for users to back up old data and improves system
security.

• It operates as a disk defragmenter to organize the dispersed files on


the drive.

• It aids in the recovery of lost data.


5. Programming Language Translator
• Programming language translators are programs that translate code written in one programming language into another programming
language. below are examples of programming language translator.

• Compiler: A compiler is a software that translates the code written in one language to some other language without changing the meaning
of the program. The compiler is also said to make the target code efficient and optimized in terms of time and space.
A compiler performs almost all of the following operations during compilation pre-processing, lexical analysis, parsing, semantic
analysis (syntax-directed translation), conversion of input programs to an intermediate representation, code optimization, and code
generation. Examples of compilers may include gcc(C compiler), g++ (C++ Compiler ), javac (Java Compiler), etc.

• Interpreter: An interpreter is a computer program that directly executes, i.e. it performs instructions written in a programming
or scripting language. Interpreters do not require the program to be previously compiled into a machine language program. An interpreter
translates high-level instructions into an intermediate form, which is then executed.
Interpreters are fast as it does not need to go through the compilation stage during which machine instructions are generated. The
interpreter continuously translates the program until the first error is met. If an error comes it stops executing. Hence debugging is easy.
Examples may include Ruby, Python, PHP, etc.

• Assembler: An assembler is a program that converts the assembly language into machine code. It takes the basic commands and
operations and converts them into binary code specific to a type of processor.
Assemblers produce executable code that is similar to compilers. However, assemblers are more simplistic since they only convert low-
level code (assembly language) to machine code. Since each assembly language is designed for a specific processor, assembling a
program is performed using a simple one-to-one mapping from assembly code to machine code. On the other hand, compilers must
convert generic high-level source code into machine code for a specific processor.
Uses of System Software
1. Operating systems: An operating system is a type of system software that manages computer
hardware and software resources and provides common services for computer programs. Operating
systems are used in a wide variety of applications, from personal computers to servers, supercomputers,
and embedded systems.

2. Device drivers: Device drivers are a type of system software that allow operating systems to
communicate with hardware devices such as printers, scanners, and graphics cards. Without device
drivers, operating systems would not be able to interact with hardware devices, making them useless.

3. Firmware: Firmware is a type of system software that provides low-level control over hardware devices
such as BIOS firmware, firmware for embedded systems, and firmware for network devices such as
routers and switches.

4. System utilities: System utilities are a type of system software that performs routine maintenance tasks
such as disk cleanup, defragmentation, antivirus scanning, and system backups. These utilities help
ensure that the computer system is running efficiently and securely.

5. Programming tools: Programming tools are a type of system software that is used by developers to
create, debug, and optimize software applications. These tools include compilers, debuggers, integrated
development environments (IDEs), and performance analysis tools.
Issues in System Software
1. Compatibility Issues: System software may not be compatible with certain hardware
components, which can cause errors or crashes.

2. Security Issues: System software may contain vulnerabilities that can be exploited by hackers
or malware to gain unauthorized access to the system or steal sensitive data.

3. Performance Issues: System software may not be optimized for the hardware or may be
resource-intensive, which can cause the system to slow down or freeze.

4. Update Issues: System software updates may contain bugs or compatibility issues that can cause
problems with the system or other software components.

5. Licensing Issues: Some system software may require licensing or activation, which can cause
problems if the license expires or if there are licensing errors.

6. User Interface Issues: The user interface of system software may not be intuitive or may be
difficult to use, which can affect the user experience.
Advantages of System Software
1. Resource management: System software manages and allocates resources such as
memory, CPU, and input/output devices to different programs.

2. Improved performance: System software optimizes the performance of the computer and
reduces the workload on the user.

3. Security: System software provides security features such as firewalls, anti-virus protection, and
access controls to protect the computer from malicious attacks.

4. Compatibility: System software ensures compatibility between different hardware and software
components, making it easier for users to work with a wide range of devices and software.

5. Ease of use: System software provides a user-friendly interface and graphical environment,
making it easier for users to interact with and control the computer.

6. Reliability: System software helps ensure the stability and reliability of the computer, reducing
the risk of crashes and malfunctions.

7. Increased functionality: System software provides a range of tools and utilities for performing
various tasks, increasing the functionality and versatility of the computer.
Disadvantages of System Software
1. Complexity: System software can be complex and difficult to understand, especially for non-
technical users.

2. Cost: Some system software, such as operating systems and security software, can be
expensive.

3. System Overhead: The use of system software can result in increased system overhead, which
can slow down the performance of the computer and reduce its efficiency.

4. Vulnerability: System software, especially the operating system, can be vulnerable to security
threats and viruses, which can compromise the security and stability of the computer.

5. Upgrades: Upgrading to a newer version of system software can be time-consuming and may
cause compatibility issues with existing software and hardware.

6. Limited Customizability: Some system software may have limited options for customization,
making it difficult for users to personalize their computing experience.

7. Dependency: Other software programs and devices may depend on the system software,
making it difficult to replace or upgrade without disrupting other systems.
Difference between System Software and Application Softwar
System Software Application Software

System Software maintains the system resources and gives the


Application software is built for specific tasks.
path for application software to run.

While high-level languages are used to write the application


Low-level languages are used to write the system software.
software.

It is general-purpose software. While it’s a specific purpose software.

Without system software, the system stops and can’t run. While Without application software system always runs.

System software runs when the system is turned on and stops


While application software runs as per the user’s request.
when the system is turned off.

Example: System software is an operating system, etc. Example: Application software is Photoshop, VLC player, etc.
I/O manager in an operating system
• An I/O manager in an operating system (OS) controls the
flow of data between a computer system and its
input/output (I/O) devices.
• I/O Devices:-
• Keyboards
• Microphones
• Mice
• Network interface cards
• Mouse
• Output devices:-
• Monitor/Display.
• Printer
• Speakers
• Headphones/Earphones
• Projectors
• Plotters,
• Digital Signage Display,
• Touchscreens, etc.
Components of Operating System
• An operating system is a large and complex system that can only be created by partitioning
into small parts. These pieces should be a well-defined part of the system, carefully defining
inputs, outputs, and functions.
• Although Windows, Mac, UNIX, Linux, and other OS do not have the same structure, most
operating systems share similar OS system components, such as file, memory, process, I/O
device management.
• The components of an operating system play a key role to make a variety of computer system
parts work together. There are the following components of an operating system, such as:
1.Process Management
2.File Management
3.Network Management
4.Main Memory Management
5.Secondary Storage Management
6.I/O Device Management
7.Security Management
8.Command Interpreter System
• Process Management
• The process management component is a procedure for managing many processes running
simultaneously on the operating system. Every running software application program has one
or more processes associated with them.
• For example, when you use a search engine like Chrome, there is a process running for that
browser program.
• Process management keeps processes running efficiently. It also uses memory allocated to
them and shutting them down when needed.
• The execution of a process must be sequential so, at least one instruction should be executed
on behalf of the process.
Functions of process management
• Process creation and deletion.
• Suspension and resumption.
• Synchronization process
• Communication process
• File Management
• A file is a set of related information defined
by its creator. It commonly represents
programs (both source and object forms)
and data. Data files can be alphabetic,
numeric, or alphanumeric.
• Function of file management
• The operating system has the following
important activities in connection with file
management:
• File and directory creation and deletion.
• For manipulating files and directories.
• Mapping files onto secondary storage.
• Backup files on stable storage media.
• Network Management
• Network management is the process of administering and
managing computer networks. It includes performance
management, provisioning of networks, fault analysis, and
maintaining the quality of service.
• A distributed system is a collection of computers or
processors that never share their memory and clock.
In this type of system, all the processors have their
local memory, and the processors communicate with
each other using different communication cables,
such as fibre optics or telephone lines.
• The computers in the network are connected through
a communication network, which can configure in
many different ways. The network can fully or partially
connect in network management, which helps users
design routing and connection strategies that
overcome connection and security issues.
Functions of Network
management
• Network management provides the following
functions, such as:
• Distributed systems help you to various
computing resources in size and function. They
may involve minicomputers, microprocessors,
and many general-purpose computer systems.
• A distributed system also offers the user access
to the various resources the network shares.
• It helps to access shared resources that help
computation to speed up or offers data
availability and reliability.
• Main Memory management
• Main memory is a large array of storage or bytes,
which has an address. The memory
management process is conducted by using a
sequence of reads or writes of specific memory
addresses.
• It should be mapped to absolute addresses and
loaded inside the memory to execute a program.
The selection of a memory management method
depends on several factors.
• However, it is mainly based on the hardware
design of the system. Each algorithm
requires corresponding hardware support.
Main memory offers fast storage that can be
accessed directly by the CPU. It is costly and
hence has a lower storage capacity. However,
for a program to be executed, it must be in
the main memory.
• Functions of Memory management
• An Operating System performs the following functions
for Memory Management in the operating system:
• It helps you to keep track of primary memory.
• Determine what part of it are in use by whom, what part
is not in use.
• In a multiprogramming system, the OS decides which
process will get memory and how much.
• Allocates the memory when a process requests.
• It also de-allocates the memory when a process no
longer requires or has been terminated.
• Secondary-Storage Management
• The most important task of a computer system is to execute
programs. These programs help you to access the data from the
main memory during execution. This memory of the computer
is very small to store all data and programs permanently. The
computer system offers secondary storage to back up the main
memory.
• Today modern computers use hard
drives/SSD as the primary storage of both
programs and data. However, the secondary
storage management also works with
storage devices, such as USB flash drives and
CD/DVD drives. Programs like assemblers
and compilers are stored on the disk until it
is loaded into memory, and then use the disk
is used as a source and destination for
processing.
• Functions of Secondary storage management
• Storage allocation
• Free space management
• Disk scheduling
• I/O Device Management
• One of the important use of an operating system that helps
to hide the variations of specific hardware devices from the
user.
• Functions of I/O management
• It offers a buffer caching system
• It provides general device driver code
• It provides drivers for particular hardware
devices.
• I/O helps you to know the individualities of a
specific device.
• Security Management
• The various processes in an operating system need to be secured from other
activities. Therefore, various mechanisms can ensure those processes that want to
operate files, memory CPU, and other hardware resources should have proper
authorization from the operating system.
• Security refers to a mechanism for controlling the access of programs, processes,
or users to the resources defined by computer controls to be imposed, together
with some means of enforcement.

• For example, memory addressing hardware helps
to confirm that a process can be executed within its
own address space. The time ensures that no process
has control of the CPU without renouncing it. Lastly,
no process is allowed to do its own I/O to protect,
which helps you to keep the integrity of the various
peripheral devices.
• Security can improve reliability by detecting latent
errors at the interfaces between component
subsystems. Early detection of interface errors can
prevent the foulness of a healthy subsystem by a
malfunctioning subsystem. An unprotected resource
cannot misuse by an unauthorized or incompetent
user.
• Command Interpreter System
• One of the most important components of an
operating system is its command interpreter. The
command interpreter is the primary interface
between the user and the rest of the system.
• Many commands are given to the operating system by control statements. A
program that reads and interprets control statements is automatically executed
when a new job is started in a batch system or a user logs in to a time-shared
system. This program is variously called.
• The control card interpreter,
• The command-line interpreter,
• The shell (in UNIX), and so on.
• Its function is quite simple, get the next command statement, and execute it.
The command statements deal with process management, I/O handling,
secondary storage management, main memory management, file system
access, protection, and networking.
• Functions of Operating System
1.Process Management: OS manages the processes within a system, which includes process
creation, scheduling, and termination. It further encompasses process synchronization and
deadlocks.
2.Memory Management: The OS allows the allocation and deallocation of memory according
to the requirements of a program. The OS ensures the optimal usage of the RAM in this
respect. Techniques that involve paging, segmentation, and virtual memory are employed for
that.
3.File System Management: It provides ordering and control of files in any place of storage. It
gives a structuring mechanism and provides access control through the concept called
permissions.
4.Device Management: OS controls the communication with its hardware and software. This
includes device drivers, management of Input/Output, and even efficient utilization of
peripheral devices such as printers and scanners etc.
5.Security & Access Control: It will check unauthorized users or processes from accessing
system resources through its implementation of user authentication, encryption, etc.
6.User Interface (UI): The OS will provide users with a means of interaction with the system,
either by a Graphical User Interface or Command-Line Interface.
Types of Operating Systems
• 1. Batch Operating System
• 2. Multi-Programming O.S
• 3. Multi-Process O.S
• 4. Multi-User O.S
• 5. Distributed O.S
• 6. Mobile O.S
• 7. Network O.S
1. Batch Operating System
• This type of operating system does not interact with the computer directly. There is an operator which
takes similar jobs having the same requirements and groups them into batches. It is the responsibility of
the operator to sort jobs with similar needs. Batch Operating System is designed to manage and execute a
large number of jobs efficiently by processing them in groups.
• Advantages of Batch Operating System

• Multiple users can share the batch systems.

• The idle time for the batch system is very less.

• It is easy to manage large work repeatedly in batch systems.

• Disadvantages of Batch Operating System

• CPU is not used efficiently. When the current process is doing IO, CPU is free and could
be utilized by other processes waiting.

• The other jobs will have to wait for an unknown time if any job fails.

• In batch operating system, average response time increases as all processes are
processed one by one.

• Examples of Batch Operating Systems: Payroll Systems, Bank Statements, etc.


2. Multi-Programming Operating System
• Multiprogramming Operating Systems can be simply illustrated as
more than one program is present in the main memory and any one
of them can be kept in execution. This is basically used for better
utilization of resources.

• Advantages of Multi-Programming Operating System

• CPU is better utilized and overall performance of the system


improves.

• It helps in reducing the response time.


• Multi-Processing Operating System
• Multi-Processing Operating System is a type of Operating System in which
more than one CPU is used for the execution of resources. It betters the
throughput of the System.
• Advantages of Multi-Processing Operating System

• It increases the throughput of the system as processes can be


parallelized.

• As it has several processors, so, if one processor fails, we can


proceed with another processor.
• Multi User Operating Systems
• These systems allow multiple users to be active at the same time.
These system can be either multiprocessor or single processor with
interleaving.
• Distributed Operating System
• These types of operating system is a recent advancement in the world
of computer technology and are being widely accepted all over the
world and, that too, at a great pace. Various autonomous
interconnected computers communicate with each other using a shared
communication network. Independent systems possess their own
memory unit and CPU. These are referred to as loosely coupled
systems or distributed systems . These systems’ processors differ in
size and function. The major benefit of working with these types of the
operating system is that it is always possible that one user can access
the files or software which are not actually present on his system but
some other system connected within this network i.e., remote access is
enabled within the devices connected in that network.
• Advantages of Distributed Operating System

• Failure of one will not affect the other network communication, as all systems are independent of each other.

• Electronic mail increases the data exchange speed.

• Since resources are being shared, computation is highly fast and durable.

• Load on host computer reduces.

• These systems are easily scalable as many systems can be easily added to the network.

• Delay in data processing reduces.

• Disadvantages of Distributed Operating System

• Failure of the main network will stop the entire communication.

• To establish distributed systems the language is used not well-defined yet.

• These types of systems are not readily available as they are very expensive. Not only that the underlying software is
highly complex and not understood well yet.

• Examples of Distributed Operating Systems are LOCUS, etc.


• Network Operating System
• These systems run on a server and provide the capability to manage data, users,
groups, security, applications, and other networking functions. These types of
operating systems allow shared access to files, printers, security, applications, and
other networking functions over a small private network. One more important
aspect of Network Operating Systems is that all the users are well aware of the
underlying configuration, of all other users within the network, their individual
connections, etc. and that’s why these computers are popularly known as tightly
coupled systems .
• Advantages of Network Operating System

• Highly stable centralized servers.

• Security concerns are handled through servers.

• New technologies and hardware up-gradation are easily integrated into the system.

• Server access is possible remotely from different locations and types of systems.

• Disadvantages of Network Operating System

• Servers are costly.

• User has to depend on a central location for most operations.

• Maintenance and updates are required regularly.

• Examples of Network Operating Systems are Microsoft Windows Server 2003,


Microsoft Windows Server 2008, UNIX, Linux, Mac OS X, Novell NetWare, BSD, etc.
• Mobile Operating Systems
• These operating systems are mainly for mobile devices. Examples of such
operating systems are Android and iOS.

You might also like