You are on page 1of 21

Dr.

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

It is an abbreviation of a set of instruction.


Cont….
Need of macro
(i) Often in programming need to respect the same set of
instructions again and again.
(ii) macro facility us to write the definition once & use it many
times.
Ex;- #define printf (“---------“); p
It is called any where in program
P; - macro call
COMPLIER:-
A complier is a program that converts high level language to
assembly language. The compiler compiles the program and
translates it to assembly. An assembler then translates the
assembly program into machine code .
PROGRAM DEVELOPMENT CYCLE
1. Analyze-
Programmer should have a clear idea about the
input and output.
2. Design-
The solution of the program is written in a step by
step method.
Ex. Algorithm, flowchart,Step by step method
3. Coding
The algothim is converted to a program.
PROGRAM DEVELOPMENT CYCLE….contd
4.Testing or Debugging-
Testing means finding the error.
Debugging means correcting the error.
5.Documentation-
Organize all the information to explain or
understand the program.
Program= job=task=process
Function of System Program
System programs provide an environment where programs
can be developed and executed. In the simplest sense,
system programs also provide a bridge between the user
interface and system calls.

System program is a program, as an operating system,


compiler, or utility program, that controls some aspect of
the operation of a computer (opposed to application
program).
Function of System Program….contd
Three main functions of system software:
An operating system has three main functions: (1) manage the
computer's resources, such as the central processing unit,
memory, disk drives, and printers, (2) establish a user
interface, and (3) execute and provide services for
applications software.
Reason for the evaluation of system program
 To make computer better adapted to the need of users.
 People wanted more assistance in the mechanics of
preparing their program.
 Use increased system performance to provide:
• Language and runtime support for low-level
programming: interrupt handling; device access; etc.
• Language and runtime support for automatic
memory management, including real-time garbage
collection
Reason for the evaluation of system program….contd
•Language and runtime support for real-time systems:
periodic threads; timed statements/timing annotations

•Language and runtime support for concurrency: type system


to ensure correctness; message passing; transactional memory
THANK YOU

You might also like