0% found this document useful (0 votes)
22 views

Chapter1 Background

System programming includes assemblers, compilers, loaders, linkers, and operating systems that support low-level computer operations rather than specific applications. System software acts as an intermediary between users and hardware, creating a virtual environment that hides the actual computer architecture. Application software consists of special purpose programs like databases, word processors, and spreadsheets designed for end users. The key differences between system and application software are that system software manages computer resources and supports the operation of application programs.

Uploaded by

raghu d
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views

Chapter1 Background

System programming includes assemblers, compilers, loaders, linkers, and operating systems that support low-level computer operations rather than specific applications. System software acts as an intermediary between users and hardware, creating a virtual environment that hides the actual computer architecture. Application software consists of special purpose programs like databases, word processors, and spreadsheets designed for end users. The key differences between system and application software are that system software manages computer resources and supports the operation of application programs.

Uploaded by

raghu d
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

Chapter 1

Background
System Programming
An integrated development environment (IDE)
includes many different kinds of language
processors called system programs examples
Assemblers, Compilers, Loaders Linkers
Macroprocessors, Operating Systems.
 System programs are intended to support the
operation and use of the computer at machine level
rather than any particular application
Software
Software is as set of instructions or programs written to
carry out certain task on digital computers.
Types of software
1. System software
2. Application software

1. System software
System software consists of a variety of programs that
support the operation of a computer Examples OS, compiler,
loader, linker, assembler, macroprocessor.
 System software acts as an intermediary between the users
and the hardware.
 It creates a virtual environment for the user that hides the
actual computer architecture.
 Virtual machine is a set of services and resources created by
the system software and seen by the user.
2. Application software
An application is a program, or group of
programs, that is designed for the end user.
 The special purpose programs are also
know as packages Examples database
programs, word processors, Web browsers
and spread-sheets, library management
system.
Difference between System
Software and Application Software
Components of system software
The various components of system software are:
 Assemblers : Assemblers are the programs that
translate the assembly language program (source code)
into machine language program (object code)
 Loader: Loader is system software that places the
program into memory and prepares them for execution.
 Macros: Macro processor is a program that substitutes
and specializes macro definitions for macro calls.
 Compilers: The programs that translate the high level
language program (source code) into machine
language program (object code)
 Operating system It contains programs which manage
and it is concerned with allocation of resources and
services such as memory, processor, devices and
information.
General Hardware Organization
of Computer System
Memory
 Memory is the device where information is stored
and retrieved.
 Information is stored in the form of 1’s and 0’s.
 Each 1/0 is a separate binary digit called bit.
 Bits are grouped into words, characters or bytes.
 Nibble - 4bits , Byte - 8bits, Half word -16bits,
Word - 32bits, Double word - 64bits
 Basic unit of memory is a byte.
 the content of memory are DATA- values to be
operated on and INSTRUCTIONS-operation to be
performed
 Instructions and data shares the same memory or
storage medium
Processor
Processor is a device that performs a sequence of
operations specified by instructions in memory.
There are two types of processors,
1. Central processing units
2. Input and output processors
1. Central processing units
 It is the brain of the computer
 It controls all internal and external devices, performs
arithmetic and logic operations
 It also carries out the instructions of a computer program
 It is concerned with manipulations of data stored in memory
2. Input and output processors
 Input and output processors transfers data between memory
and peripheral devices such as disks, drums, printers etc.
 An I/O processor executes these instructions which are
activated by a command from the CPU.
 Programming the I/O processor is called as I/O programming
Evolution of the components of a
programming system
Assembler
 Assembly language is a low level programming
language that allows a user to write programs using
letters and symbols (mnemonic) which are more
easily remembered.
 Assembler is a system program supplied by the
computer manufacturer
 Assemblers are the programs that translate the
assembly language program(source code) into
machine language program(object code)
Loaders
The purpose of a loader is to assure that object
programs are placed in memory in an executable .the
assembler itself could place the object program directly
in memory and transfer control to it, then that machine
level language program is executed. But there are two
disadvantages
1. Wastage of memory-assembler itself occupies more
space in memory during execution.
2. Wasting translation time-need of retranslation of
the program with each execution in order to avoid this
the new system software called loader is introduced
 If the program size is very large then subdivide the
program into smaller routines called sub-routines
 The task of adjusting programs, so that they may be
placed in arbitrary memory locations is called
relocation.
 Relocating loader perform four functions
1. Allocate space in memory for the programs
(allocation)
2. Resolve symbolic references between object
decks(linking)
3. Adjust all address dependent locations(relocation)
4. Physically place the machine instructions and data
into memory(loading)
 Based on the loading function the loader is divided
into different types they are
1. Compile and go
2. Absolute loader
3. Relocating loader
4. Direct linking
5. Dynamic loading and linking
Difference between Open and
Closed Subroutine
Macros
 To eliminate the need of repeating identical
parts of the program, operating systems
provide a macro processing facility.
 Macro permits to define an abbreviation for a
part of program and use the abbreviation in
anywhere in a program. The macro processor
treats the identical parts of program defined
by the abbreviation as a macro definition.
 The macro processor substitutes the
definition for all occurrences of the
abbreviation in the program.
Compiler
 As the user started concentrating problems
into areas such as scientific, business,
statistical areas. High level languages were
developed to express certain problems more
easily.
 COBOL, FORTRAN, PASCAL, C, JAVA
are high level languages, which is processed
by compilers and interpreters.
 Compiler are the system programs that
translate the High level language
program(source code) into machine language
program(object code)
Difference between Interpreter and Compiler
Formal systems
 A formal system is an uninterrupted calculus. It
consist of
o An alphabet
o A set of words called axioms and
o A finite set of relations called rules of inference
 Examples of formal systems are set theory, Boolean
algebra, post systems.
Uses of formal systems
 Used in the design, implementation and study of
programming languages
 Used to specify the syntax and the semantics of
programming languages
 Used in syntax directed compilation, compiler
verification and complexity studies of languages
Operating system
 OS is a program that controls the execution
of an application program and acts as an
interface between user and computer
hardware.
 The main functions of operating system are
o Job sequencing
o Job scheduling
o Input/output programming
o Secondary storage management
o User interface
o Error-handling
Difference between Multiprocessing and
Multiprogramming
Thank you

You might also like