0% found this document useful (0 votes)
12 views28 pages

SPCC Module 1

The document provides an introduction to system software, covering concepts such as programming languages, their generations, and the roles of system and application software. It outlines the goals of system software, including user convenience, efficient resource use, and non-interference, while also detailing various components like language processors, operating systems, and utilities. Additionally, it discusses the functions of different software types, such as assemblers, compilers, and linkers, along with their execution mechanisms.
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)
12 views28 pages

SPCC Module 1

The document provides an introduction to system software, covering concepts such as programming languages, their generations, and the roles of system and application software. It outlines the goals of system software, including user convenience, efficient resource use, and non-interference, while also detailing various components like language processors, operating systems, and utilities. Additionally, it discusses the functions of different software types, such as assemblers, compilers, and linkers, along with their execution mechanisms.
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/ 28

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

You might also like