You are on page 1of 26

System Programming and Compiler construction

Subject Code :CSC602

Mrs. Pallavi N. Patil


Module 1. Introduction to System Software

• Concept of System Software


• Goals of system softwares
• system program and system programming
• Introduction to various system programs such as Assembler,
Macro processor, Loader, Linker, Compiler, Interpreter,
Device Drivers, Operating system, Editors, Debuggers.
Concept of System Software
Goals of system softwares

• Convenience : the primary goals of os is to make computer


system easier for user i.e. os makes interaction b/w user
and hardware.

• Efficient : the secondary gole of os is to allocate the


system resources to various applications program as
efficient as possible.
system program and system programming


System Program: System Program are computer Program that provide
platform for appliaction program to work

System Programming: A System Programming language is basically


refered to a programming language designed for writing system software
which usually requires different development approaches when compared
with application softawre.
What is an Application Software?
• The term “application software” refers to software that performs specific functions
for a user. When a user interacts directly with a piece of software, it is called
application software.
• The Role purpose of application software is to assist the user in doing specified
tasks. Microsoft Word and Excel, as well as popular web browsers like Firefox and
Google Chrome, are examples of application software.
• It also use the category of mobile apps, which includes apps like WhatsApp for
communication and games like Candy Crush Saga.
• There are also app versions of popular services, such as weather or transportation
information, as well as apps that allow users to connect with businesses. Global
Positioning System (GPS), Graphics, multimedia, presentation software, desktop
publishing software, and so on are examples of such software.
Different between System program and Application Program
Introduction to various system programs

• System program are used


from developing program up
to its excution.
• Editor-Microprocessor-
Assembler-Linker-Compiler-
Loader-Developing-Excuton
What is Assembler?
• Assembler: It is a system software which
translate programs written in assembly language
in to machin language.
• Assebly Language: Assembly language is a kind
of low level programming language. which uses
symbolic codes or mnemonics as instruction.
• some examples of mnemonics include
ADD,SUB and STA that stand for addition,
subtraction,load accumulator and store
accumulator respectively.
What is Loader?
• A loader is a system program, which
takes the object code of a program as
input and prepares it for execution.

• The loader does the job of coordinating


with the OS to get initial loading address
for the .EXE file and load it into the
memory.
What is Linkers?
• A linker or link editor is a
computer program that takes one
or more object files generated by
a compiler and combines them
into a single executable file,
library file, or another object file.
What is Macro Processor?
• Micro-processor- (“large or wide) A single line meaning for group
of Statements is called Macro.
Macro
What is Compilers?
• A compiler is a translator that converts the high-
level language into the machine language.
• High-level language is written by a developer
and machine language can be understood by the
processor.
• Compiler is used to show errors to the
programmer.
• In the first part, the source program compiled
and translated into the object program (low level
language).
• In the second part, object program translated
into the target program through the assembler.
What is Interpreters?
• An interpreter is a program that directly
executes the instructions in a high-level
language, without converting it into machine
code.
• In programming, we can execute a program in
two ways. Firstly, through compilation and
secondly, through an interpreter. The common
way is to use a compiler.
• Execute the source code directly and produce
the output.
• Translate the source code in some intermediate
code and then execute this code.
What is Operating system?
• O.S is an interface between
hardware and the user.
• Operating System (OS) is a
collection of software that
manages computer hardware
resources and provides common
services for computer programs.
The operating system is the most
important type of system software
in a computer system.
Device Drivers
• Device Driver or driver or hardware
Driver is a collection of software
files that helps one or more hardware
devices to communicate with the OS.
• A device driver is a small piece of
software that tells the operating
system and other software how to
communicate with a piece of
hardware.
• Ex CD-ROM,Printers, Mouse
Display & Scanner.
what is Editors?
• Editors or text editors are software programs that enable the user to create
and edit text files. In the field of programming, the term editor usually
refers to source code editors that include many special features for writing
and editing code. Notepad, Wordpad are some of the common editors used
on Windows OS
• text editors are — moving the cursor, deleting, replacing, pasting,
finding, finding and replacing, saving etc.
Debuggers
• Debugging is a process to identify and resolve the
defects and problems in the computer program that
helps in the execution of correct program or software.
• A debugger is a software tool used by developers to
identify and fix errors or bugs in a computer program.
• Debugging is a crucial part of the software
development process, as it helps programmers identify
and correct issues in their code.
• Reverse Debugging:As name suggests these
debuggers make it possible to step a program's
execution backwards in time, It is also known as
backward debugging or historical debugging, For
example Microsoft Visual Studio
Comparison of various Debuggers
Binding
• Connecting a method call to the method body
is known as binding.
There are two types of binding
• Static Binding (also known as Early
Binding)- when type of the object is
determined at compiled time it is known as
static binding.
• Dynamic Binding (also known as Late
Binding)- when type of the object is
determined at run-time it is known as dynamic
binding.
Thanku

You might also like