Introduction To System
Software
MODULE 1
CONTENT
• Concept
• Programming Language Domain
• Generation of Languages
• System Program and Programming
• System Software and Application Software
• Examples of System Software
CONCEPT
Semantic Gap
Application Execution
Domain Domain
CONCEPT
Specification Execution
Gap Gap
Application PL Execution
Domain Domain Domain
• Languages are used for communication
• Natural Mode of Communication: Human
Languages
PROGRAMMING • To complete task from Machine: Use program or
LANGUAGE Request to machine
DOMAIN
• Programs are written in: Programming
Languages
• Generation of Languages:
• First Generation Language (Machine Language)
• Second Generation Language (Assembly Language)
• Third Generation Language (High Level Language)
GENERATION OF LANGUAGES
1ST GENERATION 2ND GENERATION 3RD GENERATION
• Also known as Machine Language • Also known as Assembly Language • Also known as High Level Language
• Binary Language – Uses '0' and '1' • Specific Meaningful words Mnemonics • Syntax uses English keywords which
are easy to understand
• Easy Understandable instructions to • Not easily understood by machine
computers • Languages are not machine oriented
• Program need to be translated into
• Used for internal structure of program machine language • Program need to be translated
into machine language
• Advantage • The translator is known as 'Assembler'
Increase speed of Processing
• Slow processing in comparison with 1st
and 2nd Generation Languages
No need of translation
• The translator is known as 'Compiler'
• Disadvantage
Difficult to Learn • Example: C, C++, Java
Error Prone
• A language processor is software which bridges a specification or
execution gap.
• A spectrum of language processors is designed to meet practical
requirements
LANGUAGE • Language Processing Activities
PROCESSOR Program Generation: Bridges Specification Gap
Program Execution: Bridges Execution Gap
Source Language Target
Program Processor Program
Representation Views • User Interface:
of Computer System
• Accepts users commands for using services provided by the operating system
• initiates execution of one or more programs for fulfilment of command
User
• Application Program or Language Processors:
• Implements the user’s application (Student's View)
User Interface
• assists in development of a program (Programmer's View)
Application Language
Program Processor • Operating System:
Operating System • controls operation of computer
• provides a set of services for executing programs and using resources of the
Hardware computer
System Software
• It is a collection of program that facilitates execution of programs
and use of resources in a computer system
User
• It contains an hierarchical arrangement of layers in which
programs in upper layers use facilities provided by the layer
User Interface
below it
Application Language
Program Processor • Goals of System Software
Operating System 1. User Convenience
2. Efficient Use
Hardware 3. Non Interference
1. User Convenience
Facet Example
GOALS OF
Fulfilment of Necessity Ability to execute the program
SYSTEM Use the File System
SOFTWARE Good Service Speedy response to Computational Request
User friendly Interfaces Easy-to-use Command
Graphical User Interfaces (GUI)
New Programming Concurrent Programming
Model
Web – oriented Features Means to set up web enabled servers
Evolution Add New Features
Use new Computer Technologies
2. Efficient Use
• System software must efficiently use fundamental
computer resources like CPU, Memory, Disks and
other I/O Devices
• Poor efficiency can occur if a program does not use
GOALS OF the resource allocated to it which further results in
SYSTEM snowballing effect.
SOFTWARE
• Snowballing Effect: If the resource is allocated to a
user, it is denied to other programs that need it.
These programs can’t execute and hence the
resources allocated to them also remains idle
• To achieve efficiency, the system software must
minimize the waste of resources by programs and
its own overhead.
3. Non-Interference
GOALS OF The system software must ensure that no person
SYSTEM
SOFTWARE can illegally use programs and resources in the
system or interfere with them
• System Sofware: It is a collection of programs
• System Program: Each Program in the collection
of system software
• Design Goals of System Programs:
SYSTEM PROGRAM ✔ The program should function correctly under all
AND conditions
SYSTEM ✔ The program should be effective in its computing
PROGRAMMING environment
✔ The program should be portable
✔ The program should be able to evolve to provide
new functionalities and adapt to new technologies
• System Programming: It is the set of techniques
used to realize the design goals of system
TYPES OF SOFTWARE
SYSTEM SOFTWARE APPLICATION SOFTWARE
• Coordinates the functions and activities of hardware • Any tool that functions and is operated by means of
and software computer and allow end user to accomplish specific task
• Controls operations of computer hardware • Most common programs run in foreground of computer
• Supports variety of programs that enables smooth • Tend to perform useful task which are not related with
execution of computer hardware communication
• It provides infrastructure over which programs can • Dependent on system software to communicate to
operate physical components
• User can focus on application rather than internal • Examples: Industrial Automation, Office Suite, Media
mechanism of Machine Players, Computer Games
SYSTEM SOFTWARE
Physical Machine
System Software
Operating Device Language
Loaders Linkers Text Editors
System Drivers Processors
Interpreter Compiler Assembler Macroprocessor
SYSTEM SOFTWARE
Physical Machine
System Software
Operating
System
• Mediator between User Programs and
Hardware
• Allocation of Resources and Services
OPERATING • It includes
SYSTEM
• Process Management
• Memory Management
• File System Management
• Secondary Storage Management
• Program to manage these resources:
Scheduler, Traffic Controller
SYSTEM SOFTWARE
Physical Machine
System Software
Operating Device
System Drivers
Utilities
• small program that provides additional capabilities
to operating system
• Special but non-essential part of operating system
• Performs functions related to computer
UTILITIES system management and maintenance
AND
DEVICE DRIVERS • Example: Antivirus SW, Data Compression SW, Disk
Optimization SW
Device Drivers:
• A computer program that controls a particular
device connected to computer.
• Devices includes Input Output and Storage Devices
SYSTEM SOFTWARE
Physical Machine
System Software
Operating Device Language
System Drivers Processors
Interpreter Compiler Assembler
LANGUAGE PROCESSORS
Parameter Assembler Compiler Interpreter
Line by Line Conversion from
Assembly Language into Source Program to Target
Conversion HLL to Machine Language and
Machine Language Program
executes line by line
Speed of
Fast Fast Slow
Execution
Translation of Entire Program Entire Program Line by Line
Mechanism for Program need to be Once compiled can be For every execution, each line
Execution assembled executed multiple times must be interpreted
Creation of Object
Yes Yes No
File
Basic Interpreter, Python
Example MASM C Compiler, Javac
Interpreter
SYSTEM SOFTWARE
Physical Machine
System Software
Operating Device Language
System Drivers Processors
Interpreter Compiler Assembler Macroprocessor
• Macro: Abbreviation for small code
• Macro Definition: Sequence of code that
MACRO has name
PROCESSOR
• Macro Processor: Program that substitutes
and specializes macro definitions and Macro
calls
SYSTEM SOFTWARE
Physical Machine
System Software
Operating Device Language
Loaders Linkers
System Drivers Processors
Interpreter Compiler Assembler Macroprocessor
Linkers
• collects the code which are separately compiled
or assembled and put into object file which is
direct executable.
• Connects an object program to the code for
standard library and resource supplied by
Operating system
LINKERS
AND Loaders
LOADERS • Executable file made by loader has relative
memory addresses (Relocatable Code)
• Loader will resolve all relocatable addresses
by considering base Address
• It places program in memory and prepare for
its execution
• Schemes: Relocating, Absolute and direct linking
SYSTEM SOFTWARE
Physical Machine
System Software
Operating Device Language
Loaders Linkers Text Editors
System Drivers Processors
Interpreter Compiler Assembler Macroprocessor
Text Editor
• Compilers usually accept source programs written using an editor that
will produce a standard file such as ASCII file.
• Compilers normally are bundled together with the editors and other
programs into an Interactive Development Environment or IDE
Debugger
TEXT EDITORS • Debuggers are program that can be used to determine execution
AND errors in a compiled program.
DEBUGGER • It is also packaged with a compiler in an IDE.
• Running a program with debugger differs from straight execution.
• The debugger keeps track of most or all source code information, such
as line numbers names of variable and procedures.
• It can also halt execution at pre-specified locations called breakpoints
• At breakpoint it provide information on what functions have been
called and what the current values of the variables are.
SYSTEM SOFTWARE
Physical Machine
System Software
Operating Device Language
Loaders Linkers Text Editors
System Drivers Processors
Interpreter Compiler Assembler Macroprocessor