Download as pdf or txt
Download as pdf or txt
You are on page 1of 22

Introduction to System

Software
System software is the backbone of a computer, responsible for managing
hardware resources and providing a platform for running applications. In this
presentation, we'll explore the functions, types, and importance of system
software in modern computing.

SP by Swapnali Pawar
System Software

• System software is a type of computer program that is designed to run a


computer's hardware and application programs. If we think of the
computer system as a layered model, the system software is the
interface between the hardware and user applications. The operating
system is the best-known example of system software. The OS manages
all the other programs in a computer.

• System software is used to manage the computer itself. It runs in the


background, maintaining the computer's basic functions so users can
run higher-level application software to perform certain tasks.
Essentially, system software provides a platform for application
software to be run on top of.
The Function of System Software

Resource Management Security Backup & Maintenance

System software manages System software provides System software performs


computer resources such as security through functions like backup and maintenance tasks
memory, processing power, and user authentication, access such as defragmentation,
devices like printers and control, and firewalls. cleaning up files, and installing
scanners. updates.
Important features of system software
Computer manufacturers usually develop the system software as an integral part of the computer. The
primary responsibility of this software is to create an interface between the computer hardware they
manufacture and the end user.
System software generally includes the following features:

1.High speed-
System software must be as efficient as possible to provide an effective platform for higher-level
software in the computer system.
2.Hard to manipulate-
It often requires the use of programming language, which is more difficult to use than a more intuitive
user interface (UI).
3.Written in a low-level computer language-
System software must be written in a computer language the central processing unit (CPU) and other
computer hardware can read.
4.Close
SP to the system-
It connects directly to the hardware that enables the computer to run.
5.Versatile-
System software must communicate with both the specialized hardware it runs on and the higher-
level application software that is usually hardware-agnostic and often has no direct connection to the
hardware it runs on. System software also must support other programs that depend on it as they
evolve and change.
Types of System Software
Operating Systems Utility Programs

The most essential component of system Utility software assists the operating system in
software is the operating system, which performing maintenance tasks and other
provides a control interface for the computer functions such as compression, file
and user. management, and system optimization.
Operating Systems
1 2 3

Windows macOS Linux

The most popular operating Designed specifically for An open-source operating


system for personal Apple devices, macOS offers system with free
computers, Windows has a a sleek and intuitive distribution, Linux is highly
wide range of software and interface with tight configurable and often used
hardware compatibility. hardware integration. for servers and
supercomputers.
Utility Programs

Compression File Management System Optimization &


Maintenance
Utility programs like WinZip can The Windows File Explorer
compress files to save space offers a graphical interface to Tools like CCleaner can remove
and make them easier to share. manage files and folders. temporary files and other junk
data to optimize system
performance.
Device Drivers
1 Printer Drivers 2 Audio Drivers 3 Video Drivers

Enable your computer to Manage sound input and Control the display
communicate with your output for devices like output of your computer
printer and control its speakers, headphones, and compatibility with
functions. and microphones. graphics hardware.
Examples of system software
• The BIOS (basic input/output system)-
• gets the computer system started after it's turned on and manages the data flow between the OS and attached
devices, such as the hard drive, video adapter, keyboard, mouse and printer.
• The boot program-
• loads the OS into the computer's main memory or random access memory (RAM).
• An assembler-
• takes basic computer instructions and converts them into a pattern of bits that the computer's processor can use
to perform its basic operations.
• A device driver-
• controls a particular type of device that is attached to your computer, such as a keyboard or mouse. The driver
program converts the more general I/O instructions of the OS to messages that the device type can understand.
• Additionally, system software can also include system utilities, such as the disk defragmenter and System
Restore, and development tools, such as compilers and debuggers.
• Operating systems-
SP
• The computer's OS is a well-known example of system software. Widely used operating systems include
Microsoft Windows, macOS and Linux. Unlike other system software types, the average computer user regularly
interacts with the computer OS through its graphical UI (GUI) and, with some operating systems, a less complex
command-line interface (CLI).Because a GUI is a program that sits on top of the OS, it may be referred to
as application software, not system software. In other words, the GUI is application software that makes it
possible for the user to manipulate parts of the OS.
Important tasks performed by the operating system
The main responsibility of the operating system is to manage a computer's software and hardware resources. It is the computer's
main control program. The OS controls and maintains a record of all other programs on the computer, including both application and
system software. The OS creates an environment that all other computer programs run within and provides service to those other
applications.
• File Management and process scheduling-
The OS allocates resources and prioritizes which programs should receive the resources and in what order. For
example, a digital audio workstation application may require a certain level of processing power when being used.
The OS decides how much power the application gets from the CPU and manages the effects of that allocation on
other applications. If a more critical process is happening elsewhere on the computer, the OS might sacrifice some of
the power the digital audio workstation has requested, for example, to ensure the other process can be completed.
• Processor and memory management.-
The OS allocates the computer's memory to a process when needed and deallocates it when the process is finished.
• Error detection-
The OS detects, tracks and debugs errors in the computer's other programs.
• Security-
SP
The OS uses passwords to protect the computer's programs and data from unauthorized access.
• Control and management-
The OS uses compilers, assemblers and interpreters to control and manage other programs on the computer. These
language processers are pieces of system software that translate the high-level languages -- Java, Python and C++ --
that many computer programs are written in into low-level machine code instructions, which is essentially a series
of 1s and 0s that the computer's CPU can read.
Difference between system software and
application software

SP
Assembler
• The Assembler is a Software that converts an assembly language code to machine
code. It takes basic Computer commands and converts them into Binary Code that
Computer’s Processor can use to perform its Basic Operations. These instructions are
assembler language or assembly language.
• We can also name an assembler as the compiler of assembly language. This is because
a compiler converts the high-level language to machine language. On the other hand,
an assembler is doing the same task but, for assembly language, the name compiler of
assembly language

SP
What is an Assembly Language?

• An assembly language is a low-level language. It gives instructions to the processors for


different tasks. It is specific for any processor. The machine language only consists of 0s
and 1s therefore, it is difficult to write a program in it. On the other hand, the assembly
language is close to a machine language but has a simpler language and code.
• We can create an assembly language code using a compiler or, a programmer can write it
directly. Mostly, programmers use high-level languages but, when more specific code is
required, assembly language is used. It uses opcode for the instructions.
An opcode basically gives information about the particular instruction. The symbolic
representation of the opcode (machine level instruction) is called mnemonics.
Programmers use them to remember the operations in assembly language.
• For example ADD A,B
SP

• Here, ADD is the mnemonic that tells the processor that it has to perform additional
function. Moreover, A and B are the operands. Also, SUB, MUL, DIVC, etc. are other
mnemonics.
Types of Assembler

Assemblers generate instruction. On the basis of a number of phases used to convert


to machine code, assemblers have two types:

1. One-Pass Assembler
These assemblers perform the whole conversion of assembly code to machine code
in one go.

2. Multi-Pass/Two-Pass Assembler
These assemblers first process the assembly code and store values in the opcode
SP

table and symbol table. And then in the second step, they generate the machine
code using these tables.
2. Multi-Pass/Two-Pass Assembler
These assemblers first process the assembly code and store values in the opcode table and symbol table. And then in the
second step, they generate the machine code using these tables.
a) Pass 1
•Symbol table and opcode tables are defined.
•keep the record of the location counter.
•Also, processes the pseudo instructions.
b) Pass 2
•Finally, converts the opcode into the corresponding numeric opcode.
•Generates machine code according to values of literals and symbols.

SP
Some Important Terms

•Opcode table:
They store the value of mnemonics and their corresponding
numeric values.

•Symbol table:
They store the value of programming language symbols used by the
programmer, and their corresponding numeric values.

SP
•Location Counter:
It stores the address of the location where the current instruction
will be stored.
Compiler Assembler

Compiler converts the high-level language An assembler converts the assembly level
source code into machine level language language code into the machine level
code. language code.
The input of a compiler is high-level Where as, its input is low level assembly
language source code. code.
Compiler converts the whole source code Assembler does not convert the code in
to machine code at once. one go.
It has the following phases: lexical analysis,
syntax analysis, semantic analysis,
An assembler completes the task in two
intermediate code generation, code
passes.
optimization, code generation and error
handling.
SP
It produces a machine code in form of It produces binary code in form of 0s and
mnemonics. 1s.

Examples are Java, C, C++ etc. compilers. Examples of assemblers are GAS, GNU etc.
The Importance of System
Software in Maintenance
System software plays a critical role in ensuring the efficient and secure operation
of a computer. A well-maintained system will run faster, keep your data protected,
and avoid issues like crashes and slowdowns. By understanding the functions and
types of system software, you can take steps to optimize and improve your
computer's performance.
Q&A
Q1. What is an assembler?

Q2. What is an assembly language?

Q3. What are mnemonics?

Q4. What are the types of assembler?


SP

Q5. What is the basic difference between a compiler and an


assembler?
Q1. What is an assembler?
An assembler is software that converts the assembly language code into machine code (binary language).

Q2. What is an assembly language?


An assembly language is a low-level language. In addition, it is specific for each processor and give the
instructions to a processor. Moreover, it uses mnemonics for the instructions.

Q3. What are mnemonics?


Mnemonics are the symbolic representation of machine-level instructions. Moreover, it is used by programmers
so that they can remember machine level processes easily.

Q4. What are the types of assembler?


On the basis of passes it has two types as follows:
•One-pass assembler
•Multi-pass/two-pass
SP assembler

Q5. What is the basic difference between a compiler and an assembler?


A compiler converts the high-level language code into machine code, on the other hand, an assembler converts
the assembly language code into machine code (binary language).
In Conclusion
System Types Functions Importance
Software
Operating systems, Resource Optimizes
Provides a utility programs, and management, performance and
foundation for device drivers security, and protects your data
modern computing maintenance tasks
Thank You !

SP

You might also like