SS Introduction
SS Introduction
Language Processor: converts programs written in high-level programming languages like Java, C,
C++, Python, etc (known as source code), into sets of instructions that are easily readable by
machines(known as object code or machine code).
Device Driver: A device driver is a program or software that controls a device and helps that device
to perform its functions. Every device like a printer, mouse, modem, etc. needs a driver to
connect with the computer system eternally.
SYSTEM SOFTWARE
System software is computer software designed
• to operate and control the computer hardware
• to provide a platform for running application software.
SYSTEM SOFTWARE
System software consists of a variety of programs that
support the operation of a computer
• Assembler
• Linker
• Loader
• Macro processor
• Text editor
• Debugger
• File System
• Database
SYSTEM SOFTWARE
The role of Systems Software –interface
between users, application software and
hardware
APPLICATION SOFTWARE
• In the first pass, the compiler can read the source code, scan it, extract the
tokens and save the result in an output file.
• In the second pass, the compiler can read the output file produced by the first
pass, produces machine code.
Assembler
OPTAB
LOCCTR SYMTAB
Load-and-Go Assembler
• Load-and-go assembler generates their object code in
memory for immediate execution.
• No object program is written out, no loader is needed.
Loaders and Linkers
Linker
Object File 1
Executable File
Object File 2
Object File 3
Loader
Secondary memory
Main memory
Reason for Program Relocation
• To increase the efficiency of the machine
• Actual starting address of the program is not known until load time
Processes to Run an Object Program
• Loading
Absolute loader
– Brings object program into memory
• Relocation Loader
references.
A Simple Bootstrap Loader
Source
Macro Expanded Compiler or obj
Code
(with macro)
Processor Code Assembler
Copy code -- Example
Source Expanded source
STRG MACRO .
STA DATA1 .
STB DATA2 .
{
STX DATA3 STA DATA1
MEND STB DATA2
. STX DATA3
STRG .
{
. STA DATA1
STRG STB DATA2
. STX DATA3
. .
Macro vs. Subroutine
• Macro
– the statement of expansion are generated each time the macro are
invoked
• Subroutine
– the statement in a subroutine appears only once
Parameter Substitution -- Example
Source Expanded souce
STRG MACRO &a1, &a2, &a3 .
STA &a1 .
STB &a2 .
{
STX &a3 STA DATA1
MEND STB DATA2
. STX DATA3
STRG DATA1, DATA2, DATA3 .
{
. STA DATA4
STRG DATA4, DATA5, DATA6 STB DATA5
. STX DATA6
. .
Text editor
A text editor is a type of program used for editing plain text files.
Editors or text editors are software programs that enable the user to create
and edit text files.
Line editor: you can only edit one line at a time or an integral number of lines.
Ex : Teleprinter, edlin, teco
Screen editors: the user is able to see the cursor on the screen and can make
a copy, cut, paste operation easily. It is very easy to use mouse pointer.
Ex : vi, emacs, Notepad
Word Processor: it allows one to use some format to insert images, files,
videos, use font, size, style features.
• Break points
• Watch window
Previous Year Questions
5. The language which a computer can understand is