01 Introduction of System Programming
01 Introduction of System Programming
Software
ASET
Types of software
ASET
Software
Application software usually used by end-user
It is concerned with the solution of some problem, using the
computer as a tool, instead of how computers actually work.
System software
System software consists of a variety of programs that
support the operation of a computer (ex: text editor,
compiler, debugger)
One characteristic in which most system software differ
from application software is machine dependency
A system software programmer must know the target
machine structure
ASET
Foundation of System
Programming
ASET
People
Application Programming
Compilers
Loader
I/O Program
Assemblers
Text editors
File System
Scheduler
Macro
Processors
Debugging aids
Libraries
Searching and
sorting
Memory
Mgmt
Device
Mgmt
ASET
Fundamental features
Basic functions and characteristics should remain
essentially the same, regardless of what machine is being
used.
Major design options
There is no single right way of doing things; a software
designer needs to be aware of the available options in order
to make intelligent decisions
System Software
and Machine Architecture
Machine dependent system software
System programs are to support the operation and use of the
target computer.
The difference between different machine
Machine code
Instruction formats
Addressing mode
Registers
Machine independent system software
General design and logic is basically the same:
Code optimization
General design and logic of an assembler
ASET
System Software
The system software includes
Assembler
Linker
Loader
Macro processor
Text editor
Compiler
Operating system
Debugging system
(optional) Database Management System
ASET
ASET
ASET
Text editor:
Compiler:
Assembler:
ASET
Compile time
ASET
Source
Program
Compiler/
assembler
Object
Module
Other Object
Modules
Link Editor
(Linker)
Load time
Executable
File
System
Library
Loader
Dynamically
Loaded System
Library
Execution time
Running
Program
Computer hardware + OS