Module 1 System Programming
Module 1 System Programming
and
Compiler Construction
(SPCC)
Syllabus
2
Syllabus
3
Syllabus (contd.)
4
Syllabus (contd.)
5
Books
Text Books:
6
Books
Text Books:
J. J Donovan: Systems Programming Tata McGraw Hill Publishing
7
Books
Text Books:
J. J Donovan: Systems Programming Tata McGraw Hill Publishing
8
Books
Text Books:
J. J Donovan: Systems Programming Tata McGraw Hill Publishing
10
Representative Views of a Computer
System
11
Representative Views of a Computer
System
System Software
12
Representative Views of a Computer
System
13
Representative Views of a Computer
System
➢
User Interface:-Accepts users commands for using services
provided by the operating system and initiates execution of one
or more programs for fulfilment of command
14
Representative Views of a Computer
System
➢
User Interface:-Accepts users commands for using services
provided by the operating system and initiates execution of one
or more programs for fulfilment of command
➢
Application Program or Language Processors:-These programs
either implements the user’s application or assists in
development of a program
15
Representative Views of a Computer
System
➢
User Interface:-Accepts users commands for using services provided by
the operating system and initiates execution of one or more programs
for fulfilment of command
➢
Application Program or Language Processors:-These programs either
implements the user’s application or assists in development of a
program
➢
Operating System:- It controls operation of computer and provides a set
of services for executing programs and using resources of the computer
16
System Software
17
System Software
➢
It is a collection of program that facilitates execution of
programs and use of resources in a computer system
➢
It contains an hierarchical arrangement of layers in which
programs in upper layers use facilities provided by the layer
below it
18
Goals of System Software
19
Goals of System Software
➢
User Convenience:- Provide convenient methods of using a computer
system
20
Goals of System Software
➢
User Convenience:- Provide convenient methods of using a computer
system
21
Goals of System Software
➢
User Convenience:- Provide convenient methods of using a computer
system
22
Goals of System Software
➢
User Convenience:-
23
Goals of System Software
Efficient Use:
24
Goals of System Software
Efficient Use:
25
Goals of System Software
Efficient Use:
Efficient Use:
27
Goals of System Software
➢
Non Interference
➢The system software must ensure that no person can illegally
use programs and resources in the system or interfere with them
28
System Programs and System
Programming
29
System Programs and System
Programming
➢
System Program:- Each Program in the collection of system
software
30
System Programs and System
Programming
Design Goals
➢
Design Goals
➢
➢
Coordinates the functions and activities of hardware and
software
➢
33
System Software
➢
Coordinates the functions and activities of hardware and
software
➢
Controls operations of computer hardware
➢
34
System Software
➢
Coordinates the functions and activities of hardware and
software
➢
Controls operations of computer hardware
➢
Supports variety of programs that enables smooth execution
of computer
➢
35
System Software
➢
Coordinates the functions and activities of hardware and
software
➢
Controls operations of computer hardware
➢
Supports variety of programs that enables smooth execution
of computer
➢
It provides infrastructure over which programs can operate
➢
36
System Software
➢
Coordinates the functions and activities of hardware and
software
➢
Controls operations of computer hardware
➢
Supports variety of programs that enables smooth execution
of computer
➢
It provides infrastructure over which programs can operate
➢
User can focus on application rather than internal mechanism
of Machine
37
Applicaton Software
➢
Any tool that functions and is operated by means of computer and
allow end user to accomplish specific task
38
Applicaton Software
➢
Any tool that functions and is operated by means of computer and
allow end user to accomplish specific task
39
Applicaton Software
➢
Any tool that functions and is operated by means of computer and
allow end user to accomplish specific task
➢
Tend to perform useful task which are not related with hardware
communication
40
Applicaton Software
➢
Any tool that functions and is operated by means of computer and
allow end user to accomplish specific task
➢
Tend to perform useful task which are not related with hardware
communication
➢
It provides infrastructure over which programs can operate
Dependent on system software to communicate to physical
components
41
Application Software
➢
Any tool that functions and is operated by means of computer and
allow end user to accomplish specific task
➢
Tend to perform useful task which are not related with hardware
communication
➢
It provides infrastructure over which programs can operate
Dependent on system software to communicate to physical
components
➢
Examples: Industrial Automation, Office Suite, Media Players,
Computer Games
42
System Sofware
43
System Software
➢
Macro Processor
➢
Assembler
Language
➢
Compiler Processors
➢
Interpreter
➢
Loader
➢
Linker
➢
Device Drivers
➢
Operating System
➢
Editor
➢
Debugger 44
Operatnn System
➢
Mediator between User Programs and Hardware
➢
Allocation of Resources and Services
➢
It includes
➢Process Management
➢Memory Management
➢File System Management
➢Secondary Storage Management
➢
Program to manage these resources: Scheduler, Traffic
Controller 45
Device Drivers
➢
A computer program that controls a particular device
connected to computer.
➢
Devices includes Input Output and Storage Devices
46
Language Processors
47
Macro Processor
➢
Macro: Abbreviation for small code
➢
Macro Processor: Program that substitutes and specializes macro
definitions and Macro calls
48
Linker
➢
It collects the code which are separately compiled or assembled and
put into object file which is direct executable.
➢
It connects an object program to the code for standard library and
resource supplied by Operating system.
49
Loader
➢
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
➢
50
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.
51
Debugger
➢
Debuggers are program that can be used to determine execution
errors in a compiled program.
➢
It is also packaged with a compiler in an IDE.
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 as well as provide information on what functions have
been called and what the current values of the variables are. 52