Module 1-Part 1
Module 1-Part 1
System Software 1
Course Objectives
To make students understand the design concepts of
various system softwares like Assembler, Linker,
Course Loader and Macro pre-processor, Utility Programs
such as Text Editor and Debugger.
Objectives &
Outcomes
Expected Outcome
Student is able to
1. distinguish different software into different categories
2. design, analyze and implement one pass, two pass or multi
pass assembler
3. design, analyze and implement loader and linker
4. design, analyze and implement macro processors
5. critique the features of modern editing /debugging tools
System Software 2
System Software
System Software 3
Translator
Linker
Loader
Text Editor
Debugger
Macro preprocessor
Device Drivers
Operating System
System Software 4
System Software
• A system software is a set of programs that manage the resources
of a computer system.
• System software can be divided into two :-
• System control programs- Manage the storage and processing resources
of the computer.
• E.g:- Operating system, DBMS
• System support programs:- Provide routine service functions to other
computer programs
• E.g:- Compilers, interpreters
System Software 5
System Software v/s Application Software
System Software Application Software
It consists of a variety of programs that support theIt is concerned with the solution of some problem
operations of a computer E.g:- Operating System using computer as a tool E.g:- Library Management
Software
They are usually related to the architecture of the The focus of the application software is the
machine on which they run E.g:- Assemblers application, not the computing system E.g:- MS office,
media players
They translate mnemonic instructions into machine They do not do any programming code translation
code E.g:- Assemblers E.g:- Anti virus softwares
They are more oriented towards the hardware E.g:- They are more oriented towards the users E.g:-
Operating System Spreadsheets
They may not have good interface, they are concerned They have good interface which help users to learn
with all the resources of the computing system E.g:- and use the application E.g:- Hospital Management
Loader System
System Software 6
System Software
1)Assemblers:- Assembler is defined as a language
translator that accepts assembly language program as input
and convert it into an object program.
• E.g:- STL 14 0001 0100
System Software 7
Functions of an assembler
1. Convert mnemonic operation codes to their machine language
equivalents e.g:- STL to 14
2. Convert symbolic operands to their equivalent machine addresses
e.g:- RETADR to 1033
3. Build the machine instructions in the proper format.
4. Convert data constants in the source program into their internal
machine representation e.g:- EOF to 454F46.
5. Write the object program
System Software 8
2)Linker
A linker is a tool that merges different object files produced by separate
compilation or assembly and creates an executable file .
System Software 9
Three tasks of a linker:-
1. Searches the program to find library routines used by
program e.g.:- printf(), math routines etc.
2. Determine the memory location that code from each
module will occupy and relocates its instructions.
3. Resolve references among files.
System Software 10
3)Loader
System Software 11
4)Macro processor
System Software 12
Macro processor contd
• A macro processor replaces each macro call with the corresponding
group of source language statements. This is called expanding the
macros. Thus macro instructions allow the programmer to write a
shorthand version of a program.
System Software 13
5)Text Editor
o Text editors help to compose. organize, study and manipulate computer based information.
o Interactive editor is a program which allows a user to create and revise a target document
o A document may contain text, equations, tables, diagrams, lines , photographs etc.
oAn editor consists of components like
Editing component
Travelling component
Viewing component
Display component
o A document editing process consists of :-
Select the part of the document to be viewed and manipulated
Determine how to format it
Specify and execute operations that modify the target document
Update the view
System Software 14
6)Compiler
• Compiler converts high level languages like C, C++ into low level
language
System Software 15
Phases of compilation
System Software 16
Compiler versus interpreter
System Software 17
7)Operating system
System Software 18
Distributed operating system – Manages hardware and software
resources so that a user views the entire network as a single
system. User is unaware of which machine on the network is
actually running a program or storing data.
• E.g:- Solaris operating system designed for SUN multiprocessor
workstations. Windows server 2003 ,Windows server 2008 ,Windows server
2012.
Time shared system- Multiple users are dealt on a time shared basis.
E.g:- Multics, Unix etc.
Real time systems- RTOS is used in computers that monitor and control
time critical processes such as nuclear reactor operations etc.E.g:- RTLinux,
Symbian OS
System Software 19
Functions of Operating systems
i) I/O Management:
OS manages I/O devices and makes the I/O process effective. OS accepts the input
from the input device, stores it in the main memory, ask the CPU to process it and
finally provides the result to the output devices for output.
ii) Memory Management:
Memory is the large array of words or bytes, each with its own address. OS
determines the amount of memory required for the program instructions and data.
Then, OS allocates required memory to load the program and data into RAM. When
program terminates its memory area is free and the same memory area is allocated
for other programs.
iii) File Management : Managing files in the system with a proper directory structure
System Software 20
iv) Process Management:
OS finds the status of processor, chooses a process, allocates the processor to the
process and frees the processor when the process is executed.
v) Security:
OS makes sure that only authorized users get access to the computer and its data and
the users only do things they are authorized to do.
vi) Deadlock Prevention:
During processing, a situation can arise in which a resource shared by two or more
processes cannot continue because the resource required by one process is held by the
other. This situation is called deadlock. OS ensures that the above condition do not
hold by carefully allocating resources.
vii) Interrupt Handling:
Interrupt is a signal generated from a device or program when they need attention of
the CPU. OS determines the type of interrupt and priority of the interrupt, stops the
execution process of CPU, preserves the initial state of the CPU, perform the requested
operation and brings the CPU at the same state when it was stopped.
System Software 21