Follow us on facebook

Tuesday 12 February 2013

Intro to System Software

UNIT I
INTRODUCTION TO SYSTEM SOFTWARE AND
MACHINE STRUCTURE
1.1 SYSTEM SOFTWARE
· System software consists of a variety of programs that support the operation of a
computer.
· It is a set of programs to perform a variety of system functions as file editing,
resource management, I/O management and storage management.
· The characteristic in which system software differs from application software is
machine dependency.
· An application program is primarily concerned with the solution of some
problem, using the computer as a tool.
· System programs on the other hand are intended to support the operation and use
of the computer itself, rather than any particular application.
· For this reason, they are usually related to the architecture of the machine on
which they are run.
· For example, assemblers translate mnemonic instructions into machine code. The
instruction formats, addressing modes are of direct concern in assembler design.
· There are some aspects of system software that do not directly depend upon the
type of computing system being supported. These are known as machineindependent
features.
· For example, the general design and logic of an assembler is basically the same
on most computers.
TYPES OF SYSTEM SOFTWARE:
1. Operating system
2. Language translators
a. Compilers
b. Interpreters
c. Assemblers
d. Preprocessors
3. Loaders
4. Linkers
5. Macro processors
OPERATING SYSTEM
· It is the most important system program that act as an interface between the users
and the system. It makes the computer easier to use.
2
· It provides an interface that is more user-friendly than the underlying hardware.
· The functions of OS are:
1. Process management
2. Memory management
3. Resource management
4. I/O operations
5. Data management
6. Providing security to user’s job.
LANGUAGE TRANSLATORS
It is the program that takes an input program in one language and produces an output in
another language.
Source Program Object Program
Compilers
· A compiler is a language program that translates programs written in any highlevel
language into its equivalent machine language program.
· It bridges the semantic gap between a programming language domain and the
execution domain.
· Two aspects of compilation are:
o Generate code to increment meaning of a source program in the execution
domain.
o Provide diagnostics for violation of programming language, semantics in a
source program.
· The program instructions are taken as a whole.
High level language Machine language program
Interpreters:
· It is a translator program that translates a statement of high-level language to
machine language and executes it immediately. The program instructions are
taken line by line.
· The interpreter reads the source program and stores it in memory.
3
Language
Translator
Compiler
· During interpretation, it takes a source statement, determines its meaning and
performs actions which increments it. This includes computational and I/O
actions.
· Program counter (PC) indicates which statement of the source program is to be
interpreted next. This statement would be subjected to the interpretation cycle.
· The interpretation cycle consists of the following steps:
o Fetch the statement.
o Analyze the statement and determine its meaning.
o Execute the meaning of the statement.
· The following are the characteristics of interpretation:
o The source program is retained in the source form itself, no target program
exists.
o A statement is analyzed during the interpretation.
Interpreter Memory
Assemblers:
· Programmers found it difficult to write or red programs in machine language. In a
quest for a convenient language, they began to use a mnemonic (symbol) for each
machine instructions which would subsequently be translated into machine
language.
· Such a mnemonic language is called Assembly language.
· Programs known as Assemblers are written to automate the translation of
assembly language into machine language.
Assembly language program Machine language program
· Fundamental functions:
1. Translating mnemonic operation codes to their machine language equivalents.
2. Assigning machine addresses to symbolic tables used by the programmers.

0 comments:

Post a Comment