This document provides an introduction to various system programs including assemblers, macro processors, loaders, linkers, compilers, interpreters, device drivers, operating systems, editors and debuggers. It describes each of these system programs and their purpose in developing and executing computer programs.
Download as PPTX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
29 views
Module 1 SPCC
This document provides an introduction to various system programs including assemblers, macro processors, loaders, linkers, compilers, interpreters, device drivers, operating systems, editors and debuggers. It describes each of these system programs and their purpose in developing and executing computer programs.
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 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