UNIT-1 INTRODUCTION
Definitions:
System Software is a collection of system programs that perform functions like I/O management, memory
management, program editing, resource accounting etc.
Application Software is a collection of application programs.
System Program is a program which aids in effective execution on a computer system to fulfill general users
computational needs.
Or
System program is a program which helps an average user program to execute effectively on a computer
system.
System Programming: System programming is an art of designing and implementing the system programs.
Categories/ Types of System Software:
(i) Standard System Software: This category includes editors, translators, preprocessors, debuggers, linker,
loader etc.
(ii) Operating System Software: programs in O.S. to create interface between user and the computer
hardware.
(iii) Application Software: it is designed for a specific purpose. These programs are written for general
users computational needs. E.g. Accounting software, Payroll System,
Sales/Purchase software, College admission system etc.
Differentiate between System program and application program.
System Program Application Program
A system program is a program which helps to Application program is the program developed to
execute users program more effectively on a perform some particular task to achieve user
computer system. demands (needs).
System programs create suitable environment for any Application programs creates suitable environment
application programs. for user demands.
System programs are related to architecture of the Application program are related to programming
computer system. language and environment.
System program or software is machine dependent. Application program or software is machine
independent.
Examples: Accounting software, Billing software,
Examples: Assembler, Compilers, Linker, Loader, payroll software etc.
Editor, etc.
Components of System Software:
The following are the components of system software:
1. Assembler : An assembler is a system program which translate assembly language program into machine
language program (object program).
2. Compiler : A compiler is a system program which translate high level language program into machine
language program (object program).
3. Interpreter : An interpreter which execute source program line by line without translating it into machine
language.
4. Preprocessor : It is a system software which does some processing before translation starts.
5. Loader : It loads an object program in the main memory and prepared it for execution.
6. Linker : Linker links two or more object programs together.
7. Macro : it is similar to functions, a group of instructions to do some specific tasks.
8. Debugger: The debugger or debug monitor is the system software which helps in a process of removing
the logical errors in programs.
9. Editor : An editor is a system software that allows a user to create and edit a document such as text,
computer program, diagram, tables, pictures etc.
10. Operating System: It is a system software which create an interface between user and the computer
hardware.
11. Device drivers: A device driver is a system program that controls a particular types of input or output
device attached to your computer.
Goals of System Software:
User Convenience:
Early operating systems had command line interfaces, which required a user to type a command and
required parameters. Training up to learn the use of commands, most users were scientist or computer
professionals. The Graphical User Interfaces (GUI) were developed to facilitate the use of computers
by the new classes of users. These interfaces used icons on a screen to represent programs and files
and interpreted mouse clicks on the icons and associated menus as commands concerning them.
Users and their organizations invest considerable time and effort in setting up their applications
through an operating system. This investment must be protected when new application areas and new
computer technologies develop, so system software needs to evolve to provide new features and
support new application areas through new computer technologies.
Efficiency:
The Operating System should perform all the management of resources in such a way that the
resources are fully utilized and no resource should be held idle if some request to that resource is
there at that instant of time.
Non-interference:
The system software of a computer must ensure that no person can illegally use programs and
resources in the system or interfere with them in any manner. The security function counters threats of
illegal use or interference that are posed by person or programs outside the control of an operating
system, whereas the protection function counters similar threat s posed by its users.
In classical standalone environment, a computer system functions in complete isolation. In such a
system, security and protection issue can be handled easily. The identity of a person wishing to use a
computer system is verified through a password when the person logs in. This action, which is called
authentication, ensures that no person other than a registered user can use a computer system.
System Programs and System Programming:
A system program helps user to execution of their programs efficiently. It means a system program
helps in every stage of program development and execution.
A system software is a collection of system programs. Each system program play a role in the effective
execution of the user’s program and its processing by the computer system. E.g. editing, storage,
translation, relocation, linking and execution.
System programming means designing and implementing system programs. System programming
aims to produce software which provides services to the computer hardware whereas application
programming provides services to the users.
View of System Software
Fig. View of System Software
Figure shows typical uses of system software of computer system.User1 uses language processor that helps
her in developing and executing a program .Each of these language processor interacts with only one user.
On the other hand User2 and User3 are using multiuser software which could be either system software or
application software which deal with one or more user simultaneously. Operating system arranges execution
of language processor used by user1 and multiuser software used by user 2 and [Link] view would be
expanded horizontally if we show more users uses the programs. The following are the two simplified views:
1. User-Centric View
This view includes system programs that provides user convenience by permitting a user to specify his/her
computational needs in a manner of his/her choice and permitting her to use several programs together to
implement a complex task.
2. System-Centric View
This view includes system programs that provides effectiveness in the simultaneous servicing of many
user’s computational needs by interleaving services of many programs and ensuring noninterference. This
programs also provides facility for interleaving of user’s request in a multiuser software.
************