Вы находитесь на странице: 1из 43

CHAPTER 2

Computer Software
1

INTRODUCTION TO COMPUTER
SOFTWARE

A computer system consists of two parts:

Computer hardware, which constitutes the physical


components
Computer software, which tells the hardware what to do
and how to do it

COMPUTER SOFTWARE
Also known as programs. (Soul of Computer)
Collections of instruction for a computer.
Solve user problem and control different
operation.
Computers requires program to function,
typically executing the programs instruction in
CPU.
Software may be categorized along functional
lines:

System

software
Application software.

EXAMPLES OF COMPUTER
SOFTWARE
Computer games software

Driver software

Educational software

Media players and media development software

Productivity software

Operating systems
4

CLASSIFICATION OF SOFTWARE
Software

Application
Software

Operating system

System software

Utility software

Device
Driver

Language
Translator

SYSTEM SOFTWARE
It is a program that is concerned with initiating
machine, smooth running of machine, maintaining of
machine and system
Manage computer resources at a low level.
Allows the parts of a computer to work together.
It protect the applications programmer/user as much as
possible from detail of the particular computer complex
being used.
Divided basically:

Operating

System
Utility Software
Device Drivers
Language Translator

OPERATING SYSTEM (OS)


Interface between hardware and user.
Responsible for the management and
coordination of activities.
Sharing of the resources of the computer that
acts as a host for computing application run on
the machine.
Application program makes the use of OS by
making request for services.
Linux, Windows.

UTILITY SOFTWARE
It is also known as service program, service routine,
tools or utility routine.
It is computer software designed to help manage and
tune computer hardware, operating system or
application software by performing a single task or
small range of tasks.
Some utilities are integrated in major OS.
Examples: Disk storage Utilities (Disk Defragmenters,
Disk Checkers, Disk Cleaner, Disk Space Analyzer,
Disk Partition, file managers).
System Profiler.
8
Anti-virus software. etc.

Disk Cleanup:
It can find files that are unnecessary to computer
operation or take up considerable amount of
space.
Disk cleanup helps the user to decide what to
delete when their hard disk is full.
Disk clean up targets:
Compression of old files.
Temporary internet files.
Downloaded program files.
Recycle Bin
Setup log files. etc.
9

Disk defragmenter:
It is a computer program in MS - Window designed to
increase access speed by rearranging files stored in
disk to occupy contiguous storage location, a technique
commonly known as decrementing.
The purpose is to optimize the time it takes to read
and write files to/from the disk by minimizing head
travel time and maximizing transfer rate.
Antivirus software
Disk compression

10

Device

Drivers

Device

Drivers is software that permits a computer


system to communicate with a device.
We install device and its driver before using a device.
Eg. Modem driver, printer driver etc.

Language

Processors

Language

processors is software that converts a source


program into object program.
For example C-compiler converts a program written in
C language into object program (machine code).

11

APPLICATION SOFTWARE
It is a computer software designed to perform a
specific function directly for the user or in some case
for another application program.
They are designed to run on an operating system for
the fulfilling various purposes and functionalities.
Also called software applications, applications or
apps.
Productive software, Presentation software, graphics
software, CAD, specialized scientific application,
industry specific software.
Can be Categorized into

Tailored

12

Software
Packaged Software

CONTD
Tailored software is that software that are
specially designed and developed specific job or
task.
For e.g. school billing system, result processing
system, printing of certificates, etc.

Packaged Software is that software that is


generalized set of programs designed and
developed for the general purpose.
For e.g. Microsoft Office, Adobe Package, Tally,
Fact, etc.

13

Classification of Computer Software

14

OPERATING SYSTEM
An operating system is a program that acts as an
interface between the software and the computer
hardware.
It is an integrated set of specialized programs
that are used to manage overall resources and
operations of the computer.
It is specialized software that controls and
monitors the execution of all other programs that
reside in the computer, including application
programs and other system software.

Relationship Between Hardware , System Software,


and Application Software

16

OPERATING SYSTEM

HISTORY OF OPERATING SYSTEMS

First Generation (1950):


The

digital computer is invented in 1940, but it works


without any operating systems.
In 1950 the first operating system is designed and
implemented in IBM by General Motor Research
It is very primitive and single stream batch
processing system

Second Generation (early 1960):


The

shared system with multiprogramming real time


systems concepts are applied in this generation.
The real time processing system is used to control
chemical processing industries, and military
weaponry systems.

18

Third Generation (mid 1960 to mid 1970):


Multimode operating system is implemented in IBM
system/360 in 1964
The batch processing systems were developed to process
many jobs at a time to utilize maximum computer
resources to accomplish multiprogramming concepts
Fourth Generation (mid 1970 to present):
The design of large scale integration (LSI) had major
role in development of advance level operating system
This generation is very efficient due to many fantastic
changes to control memory, files, input/output devices
and many peripherals.
The personal computer becomes available for all due to
microprocessor and OS is dramatically spread over
market.
The MS-DOS and UNIX operating systems were most 19
dominant OS in the beginning of 4th generation.

TYPES OF OPERATING SYSTEM


On

basis of mode of use

Single user OS
Multi-user OS

On

basis of processing mode

Batch processing
Multiprogramming
Multitasking
Real time system
Distributed OS

On

basis of user interface

Command/ character based user interface (CUI)


Graphical user interface (GUI)

ON THE BASIS OF MODE OF USE

Single user OS:


It

is usable by single user, at a time


It supports only one program at a time
These are used on general PC and other hand held devices
The MS-DOS, PC-DOS etc. are single user interface
An example of a this kind of operating system would be
found on a mobile phone. There can only be one user using
the mobile and that person is only using one of its
applications at a time.

21

MULTI-USER OS:
OS

that allows multiple user to access a computer


system concurrently is multi-user OS
When more than one user is processing data at a same
time using one CPU is called multi-user or Time
sharing system
In this OS each operator has a time slice to accomplish
his/her process using processor
Time slice is small time allotted by OS to each operator
for utilization of processor
Its value is so small, so each operator feels that
processor is processing his/her job only
They are mostly found in supercomputer and
22
mainframe computer
Examples: UNIX, LINUX

ON THE BASIS OF
PROCESSING MODE

Batch Processing:
In Batch processing same type of jobs batch (BATCH- a
set of jobs with similar needs) together and execute at a
time.
The OS was simple, its major task was to transfer
control from one job to the next.
The job was submitted to the computer operator in form
of punch cards. At some later time the output appeared.
Common Input devices were card readers.
Batch processing has been associated withmainframe
computerssince the earliest days of electronic
23
computing in the 1950s

MULTIPROGRAMMING
Multiprogramming is a technique to execute number of
programs simultaneously by a single processor.
In Multiprogramming, number of processes reside in
main memory at a time.
The OS picks and begins to executes one of the jobs in the
main memory.
If any Input/Output wait happened in a process, then
CPU switches from that job to another job.
Hence CPU in not idle at any time.

The main memory consists of 5 jobs at a time, the CPU


executes one by one.

Advantages:

Efficient memory utilization

Throughput increases

CPU is never idle, so performance increases.

MULTITASKING
Multitasking refers to term where multiple jobs are
executed by the CPU simultaneously by switching
between them.
Operating System handles multitasking in the way that
it can handle multiple operations / executes multiple
programs at a time.
Multitasking Operating Systems are also known as Timesharing systems.
These Operating Systems were developed to provide
interactive use of a computer system at a reasonable cost.
A time-shared operating system uses concept of CPU
scheduling and multiprogramming to provide each user
with a small portion of a time-shared CPU.

MULTIPROCESSING
Multiprocessoroperating systemrefers to the
use of two or more central operating unit (CPU)
within a singlecomputersystem.
These multiple CPUs are in a close
communication sharing the computer bus,
memory and other peripheral devices.
These types of systems are used when very high
speed is required to process a large volume of
data.

REAL TIME OPERATING SYSTEM


There is also a Operating System which is known as
Real Time Processing System. In this OS Response
Time is already fixed.
It Means time to Display the Results after Possessing
has fixed by the Processor or CPU.
Real Time System is used at those Places in which we
Requires higher and Timely Response
Eg: Hotel reservation, Attendance system.
There are two Types of Real Time System
AHard Real-Time System
ASoft Real Time System

DISTRIBUTED OPERATING SYSTEM


DistributedOperating Systemis a model where
distributed applications are running on multiple
computers linked by communications.
A distributedoperating systemis an extension of the
network operating system that supports higher levels of
communication and integration of the machines on the
network.
A distributed system is a collection of independent
computers that appear to the users of the system as a
single computer
These type of operating system are used by Google,
Facebook, YouTube.

Distributed systems provide the following


advantages:
1 Sharing of resources.
2 Reliability.
3 Communication.
4 Computation speedup.

FUNCTION OF OPERATING SYSTEM


Memory Management --keeps tracks of primary memory
i.e. what part of it is in use by whom, what part is not in use
etc. and allocates the memory when a process or program
requests it.
Processor Management --allocates the processor(CPU) to a
process and de-allocates processor when it is no longer
required.
Device Management --keeps track of all devices. This is
also called I/O controller that decides which process gets the
device, when, and for how much time.
File Management --allocates and de-allocates the resources
and decides who gets the resources.
Security --prevents unauthorized access to programs and
data by means of passwords and similar other techniques.

Control over system performance --records delays


between request for a service and from the system.
Interaction with the operators --The interaction
may take place via the console of the computer in the
form of instructions. Operating System acknowledges
the same, does the corresponding action and informs the
operation by a display screen.
Error-detecting aids --Production of dumps, traces,
error messages and other debugging and error-detecting
methods.
Coordination between other software and users
Coordination and assignment of compilers, interpreters,
assemblers and other software to the various users of
the computer systems.

COMPILER

A compiler is a special type of program that transforms the source


code written in a programming language (the source language) into
the machine language, which uses only two digits0 and 1 (the target
language).

The resultant code in 0s and 1s is known as the object code. The


object code is used to create an executable program.

When executing , the compiler first parses (or analyzes) all of the
language statements syntactically one after the other and then, builds
the output code, making sure that statements that refer to other
statements are referred to correctly in the final code

36

INTERPRETER

Like the compiler, the interpreter also executes


instructions written in a high-level language.

The interpreter translates the instructions into an


intermediate form, which it then executes.

Aninterpreteris

acomputer

programthat

directlyexecutes, i.e.performs, instructions written in


a

programmingorscripting

previouslycompilingthem
languageprogram.

language,
into

without
amachine

37

CONTD

An interpreter generally uses one of the following


strategies for program execution:

parsethesource codeand perform its behavior directly

translate source code into some efficientintermediate


representationand immediately execute this

Usually, a compiled program executes faster than an


interpreted program.
38

ASSEMBLER
An assembler is aprogramthat takes basic computer
instructions and converts them into a pattern ofbits
that the computer's processorcan use to perform its
basic operations.
Some people call these instructions assembler
language and others use the termassembly language.

39

LINKER AND LOADER

Also called link editor or binder


A program that combines the object modules to form an
executable program
In case of a large program, programmers prefer to
break the code into smaller modules, as this simplifies
the programming task
When the source code of all the modules have been
converted into object code, all the modules need to be
put together, which is done by the linker
Compiler automatically invokes the linker as the last
step in compiling a program
Loader is a special type of program that copies
programs from a storage device to the main memory,
where they can be executed
40
Most loaders are transparent to the users

REFERENCES
All computer programs run on machine code that is
executed directly on computer architecture.
Machine code is not easily read or programmed directly by
humans.
Essentially, machine code is a long series of bits (i.e. ones
and zeroes).
In order to program, humans write code in a language that
is then translated in to machine code. There are three basic
approaches to program translation.

* Assemblers
* Compilers
* Interpreters

41

Assemblers
Assembly

languages are more easily translated in to


machine code than high-level programs languages.
Each assembly language statement directly corresponds to
one or more machine instructions.
Another way to think about this is that assembly language
code is simply an abbreviated form of machine code.
Thus, to transform a program from an assembly language to
machine code all that must be done is that the instructions
must be converted from their mnemonic abbreviations into
their equivalent string of ones and zeroes.
This transformation process is known as assembling and is
accomplished by an assembler.

42

Compilers
A

compiler is a computer program that converts an entire


program written in a high-level language (called source
code) and translates it into an executable form (called object
code).

Interpreters
An

interpreter is a computer program that takes source


code and converts each line in succession.
At each step it executes the high-level statement.
In other words, it doesn't have to examine the entire
program before it can begin executing code.
Thus, programs that are interpreted lend themselves to
interactive programming.
However, programs that are interpreted will generally run
much slower than programs that are compiled.

43

Вам также может понравиться