The document discusses system software and provides definitions and views of system software. It defines system software as software that enables users to use computer resources and provides functionality. It discusses the goals of system software as providing user convenience, efficient use of resources, and preventing interference between users. The document outlines abstract views of a computer system including the user interface, application programs, operating system, and hardware. It also discusses user-centric and system-centric views of system software.
2. •
•
•
•
•
Introduction
What is system software?
Goals of system software
System programs and System programming
The wonderland of System Software
Views of System Software
3. What is system software?
• To know system software the first task is
known what is system for example
• To a school or college student,the computer
system is equipment that runs a browser for
the internet
• To a user of an application package such as
accounting package the computer system is
simply facilate use of packages
• To a programmer the system is tool for
developing programams.
4. What is system software?
• In short every one has their own opinion
about system
• Basically computerized system can be
divided into 2 parts
• The electronic circuit that constitute
computer hardware
• The system software that enables a user to
satisfy their computer needs by provide
them effective functionality which is
helpful to use computerized system
5. What is system software?
• As we discuss earlier for computer system
everyone has their own view so we generate
abstract views as under given
User interface
User interface
Application programs
Language processors
Operating system
Operating systems
Computer hardware
Computer hardware
6. Abstract views of a computer system,
• User interface: the user interface accepts
user’s command for using services provided
by os and initiates execution of one or more
programs to fulfill the command. the user
interface is either command line interface,
as in dos it accepts the command on prompt
and on windows it works as a graphical user
interface.
7. Abstract views of a computer system,
• Application programs or language processors:
This programs either implement the user’s
application or assist in development of a program
• Operating system:
it controls the operation of the computer and provide
a set of services for executing programs and using
resources of the computer.
8. Features of System software
• Basically system software has two features
• One is it facilate execution of programs and
use of resources in a computer system.
• Other is it is layer based approach where
each layer is communicate with other
according to abstract view of system.
9. Goals of System software
• The fundamental goals of system software are as
given beloved.
- User convenience: provide convenient methods
of using computer system
- Efficient use: ensure efficient use of computer
resources
- Non-interference: prevent interference in the
activities of its users
10. User convenience
• It provide convenient methods of using
computer systems for examples
Facet
Examples
Fulfillment of necessity
Ability to execute programs, use the
file system
Good service
Speedily response to computer system
User friendly interface
Easy to use command like GUI
New programming model
Concurrent programming
Web oriented features
Meant to set up web oriented servers
Evolution
Add new features, use new computer
technology
11. Efficient Use
• Ensure efficient use of computer resources
• Concentrates on cpu,memory,disks and
other io devices
• Each programs has allotted some resources
without it can not execute
• To achieve good efficiency the system
software must minimize the waste of
resources by programs and own overhead
12. Non-interference
• System must prevent illegality use of
programs it mean without permission no
one cab able to access the program
• System must focus on isolation
• The authentication and authorization
concepts is must for computerize systems
• This activity is possible by using
sophisticated authentication technique
13. System programming
• System software is collection of programs
• Each program is called system program
which plays a role in the effective servicing
of users
• Servicing includes the all activities in the
creation of programs
• System programming is the set of
techniques used to realizes these design
goals
14. System programming
• The program should function correctly
under all conditions
• The program should be effective in
computer environment
• It also have 2 goals
- First is it is portable
- Second is it should be able to envolve to
provide new functionalities and adopt new
technologies
15. The wonderland of System Software
• Programs are executed on based of
resources like cpu,memory,io devices but in
some case program A be preferred over
program B
• The purpose of studying system software is
which of two should be preferred in a
specific situation
• The following aspects effect on system
software which provide solution about
referencing which program from 2 at same
time.
16. The program development and
production environments
• In program development first user run program on
trial base to rectify the bugs
• In production environments the user executes on
one or more sets of data each to produce useful
results.
• A Compiler and interpreter are 2 system programs
that can use to execute program in these
environments.
17. Making Software Portable
• Portable mean program must be able to run
on any environment
• The notion of a virtual machine provides a
convenient method of implementing
portability
• For example
Software S
Software S
Virtual machine
layer for c
S run on computer c
S is ported to c
18. Realizing Benefit of internet
• A program should be able to invoke program
located in remote computers and integrate their
result in its own computation
• A user should be able to download an unknown
program to her/his computer and execute it
without danger
• A web server should be able to provide time
varying data also called dynamic content to a
large number of client
19. The Quick and Dirty programming
• When users wishes to perform computational
task it becomes time consuming for system
• So in that case a user may desire a quick and
dirty solution is needed for system which
provide flexibility to solve errors
• The solution should fulfill users computational
need.
20. The Embedded system environment
• Embedded system applications deviated from
trend towards more intelligence in computer
hardware and software.
• In this system a computer system controls the
operation of an equipment such as audio,cell
phone etc
• But embedded system has limitations their size
is fixed so they have lack of resources so it is
difficult to compile
• To solve this problem special compiler are
needed.
21. Dynamic specification, flexibility
and adaptive software
• The term dynamic mean there are special
features are implemented during execution
time of program
• It creates program execution time overhead for
example define runtime array with size of 100
• Flexibility is the capability to broaden the
choice in specification or decision according to
need of user. for example user define data
types
22. Adaptive Software
• Adaptive software is one that adjusts its
own features and behavior according to
environments
• It is combination of dynamic and flexibility
of system.
• For example language processors which
generally convert user language into system
language
• Other is dynamic compiler which invoke
the size of variable at run time with some
user define data types.
23. Views Of System Software
• User centric view: this view includes
system programs that provide user
continence by permitting a user to specify
her computational need in a manner of his
own choice
• System centric View: it includes system
programs that provide effectiveness in the
simultaneous servicing among many users
and also provide facilities for interleaving
of users request in a multi user software.
24. Views Of System Software
User interface
User interface
Language
processors
Multi user software
Operating System
• Computer hardware
User interface
25. User Centric View
• It assists one user in fulfilling his computational
needs
• System program perform the role of mediator
between system and user
• Language processors translate the user need into
system oriented need
• Assembler which work as a compiler which is
translate the system assembly language into
machine oriented program
• Linker and loader helps the execution of
machine program
26. User Centric View
• Debugger helps checking bugs in the programs
• If there are small number of tasks are there then
language processor work as a interpreter
• Application program is developed using language
processors where translation is necessary
• Generally user centric view contain the scripts
that control the application program
27. System Centric View
• It is system programs has system software that
achieves effective utilizations
• Operating system has allotted resources for all
programs at a time of execution and this process
take place with sharing resources by applications
• Sharing resources may needed non-interference
between programs
• Resource sharing is focused on 2 techniques
- Resource partitioning: in which resource is
divided into programs
28. System Centric View
- Resource scheduling: in which resource selected
from list of programs and allotted resource for a
particular time period
- Scheduling of CPU results in interleaved
execution of programs
- For example os provide multithreading purpose
for schedulling.