1-Ch-System Progarmming
1-Ch-System Progarmming
1-Ch-System Progarmming
Faiz Akram
Subject and code: Operating Systems and System Programming and SEng3122
2nd Year, BSc. in Software Engineering
Learning objectives:
On completion of this course students should be able to:
✓To provide you with a basic understanding of the issues involved in
writing system programs
✓To know the relationship between system software and machine
architecture.
✓Describe how a characters are read and written
✓Describe how compiler control directives are used
✓Identify the preprocessor directives introduced as part of ANSI additions
✓To know the design and implementation of linkers and loaders.
✓Discuss the advantages and drawbacks of loader and linker
✓Discuss the importance of high level language for system programming
✓Determine how error handling is performed on system and I/O operations
on the file system
✓Explain type conversion in expressions
✓To know that how hardware interact with system.
✓Understanding of system software tools.
2
EVOLUTION OF SYSTEM
PROGRAMMING
INTRODUCTION
SOFTWARE :
It is a general team used to describe collection of computer
program or procedure which perform a specific task.
HARDWARE:
It can be described as a device that is physically connected to a
system which can be touched.
PROGRAM:
Application written with the help of a PL is a program
(Programming Language).
Difference between system programming and windows
programming.
The only difference is a technical one.
While both are the same, an 'application' is
a computer program launched and dependent upon
an operating system to execute."
When you click on a word processor, for example, it is
an application, as is that hidden file that
runs the printer spooler launched only by the OS.
Today: …so what is systems programming?
:
The system program is likely to be used to support
other software and applications programs, but may
also be a complete applications package itself.
It is designed for continued “production” use rather
than a one-shot solution to a single applications
problem.
It is likely to be continuously evolving in the number
and types of features it supports.
A system program requires a certain discipline or
structure, both within and between modules (i.e. ,
“communication”) , and is usually designed and
implemented by more than one person.
COMPUTER PROGRAMS
Computer Programs: There are two types of computer
programs.
Application Program
System Program
• Application Program: It is designed to help the user to
perform some specific task, related to real time application
point of view.
• System Program: It is designed to operate and control the
computer hardware and also provides a platform for running the
application
• Software it is requires greater degree of hardware awareness.
Example: Compiler, Assembler, Macros, Interpreter Etc.
Cont….
System Software:
Computer can perform a variety of task such as editing,
linking, translating, managing resources managing. I/O
devices error handling etc with the help of system software.
Thus, it is collection of system programs to perform various
operations.
Application Software:
An Application software is a computer software designed to
perform a group of coordinated functions, task, or activities
for the benefit of the user.
Difference between System Software Application Software
1.
System software is used for operating computer
hardware.
Application software is used by user to perform
specific task.
2.
System softwares are installed on the computer when
operating system is installed.
Application softwares are installed according to user’s
requirements.
3.
In general, the user does not interact with system
software because it works in the background.
In general, the user interacts with application
software.
Difference between System Software Application Software….contd
4.
System software can run independently. It
provides platform for running application
softwares.
Application software can’t run independently.
They can’t run without the presence of system
software.
5.
Some examples of system softwares are
compiler, assembler, debugger, driver, etc.
Some examples of application softwares are
word processor, web browser, media player,
etc.
Contd….
Components of a Programming System
ASSEMBLER:
It translates assembly language program(ALP) with mnemonic coded instruction
into machine code using the instruction formats, operational codes(Op codes) and
addressing mode, etc of the computer.
Example of assembler
MASM – Macro
TASM- Turbo
NASM- New micro ASM
LOADER:-
It is a program that places programs into the primary memory and prepares them
for execution. The assembler outputs the machine language translation of the
program onto a secondary storage device and loader is placed in the primary
memory.
Cont….
LINKER:-
It is a program that links the user program to another program
or libraries to form a single module. The task of a links is to
link two more object modules to from a executable module
into memory, preparing for execution them and executing
them. It integrates the necessary function required by the
program.
MACRO--------------------------------------Start of definition
INCR------------------------------------------macro name