0% found this document useful (0 votes)
26 views27 pages

Software

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views27 pages

Software

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 27

Computer Software

• Computer hardware is useless without software.


• Software is the set of instructions and associated
data that direct the computer to do a task.
• Software can be divided into two categories:
• system software and application software.
• System software helps the computer to carry out
its basic operating tasks.
• Application software helps the user carry out a
variety of tasks.
The major types of software
System Software
Application software
Operating Systems
System software Schedules computer events
Allocates computer
Hardware resources
Monitor events

Language translators
Users Interpreters
Compilers

Application Software Utility programs


Programming languages
Routine operations (e.g. sort,
Word Processing Application
list, print)
Spreadsheets
Manage data (e.g. create files,
merge files
Virus
• Virus => unscrupulous programmers deliberately
construct harmful programs (called viruses) that
instruct your computer to perform destructive
activities, such as erasing a disk drive.
• Virus protection software => Computer users can
protect their computers by using virus protection
software.
• How it protects? Virus protection software searches
executable files for the sequences of characters that
may cause harm and disinfects the files by erasing or
disabling those commands.
Operating System: Multiprogramming
• The most important operating system capability for sharing
computer resources is multiprogramming.
• Multiprogramming permits multiple programs to share a computer
system’s resources at any time through concurrent use of CPU.
• By concurrent use, we mean that only one program is actually
using the CPU at any given moment.
• However, at the same time other programs can collect inputs and
display outputs.
• Two or more programs are active at the same time, but they do not
use the same computer resources simultaneously.
• With multiprogramming, a group of programs takes turns using
the processor
Operating System: Multiprogramming
Traditional system with Multiprogramming
no multiprogramming environment

Program 1
Program 1 Program 2
Operating Operating
System System
Program 3
Unused memory Unused memory
The first operating systems executed only one program at a time.When a program
read data from a tape or disk or wrote data to a printer, the entire CPU came to a
stop. This was a very inefficient way to use the computer.

In a multiprogramming environment, three programs were stored in primary storage.


The first program executes until an input/output statement occurs. Then the
operating system directs a channel to read the input and move the output to output
device.The CPU moves to the second program until an input/output statement
occurs. At this point, the CPU switches to the execution of the third program.
Operating System: Multitasking

• Multitasking => The multiprogramming capability of


primarily single-user operating systems (PC).
• One person can run two or more programs concurrently
on a single computer.
• When you are writing a report using MS Word, you can
also search on the Internet.
• Multitasking allows you to display both programs on the
computer screen and work with them at the same time.
Operating System:Virtual Storage
• Virtual storage => a way of handling programs more efficiently
• Virtual storage breaks a program into a number fixed- length
portions called pages or into variable-length portions called
segments.
• Only this small portion (2 to 4 kilobytes) of the program is stored
in primary memory at one time.
• All other program pages are stored on a peripheral disk until they
are ready for execution.
• Virtual storage provides a number of advantages:
- the central processor is utilized more fully.
- Many more programs can be in primary storage because only
one page of each program actually resides there.
- Programmers no longer have to worry about the size of the
primary storage. Programs can be of infinite length
and small machines can execute a program of any size.
Operating System: Virtual Storage
Primary memory Secondary storage (disk)

Program A
Lines 1, 2, 3
Program A

Program B
Lines 7, 8, 9
Program B

Program C
Lines 52-80 Program C

Virtual storage is based on the fact that. In general, only a few


statements in a program can be actually utilized at any given moment
Operating System: Time Sharing
• Time sharing => an operating system capability that allows many
users to share computer processing resources simultaneously.
• It differs from multiprogramming in that the CPU spends a fixed
amount of time on one program before moving to another .
• In time sharing environment, thousands of users are each
allocated a tiny slice of computer time (2 milliseconds).
• In this time slot, each user is free to perform any required
operations.
• At the end of this period, another user is given a 2-millisecond
time slice of the CPU.
• This arrangement permits many users to be connected to a CPU
simultaneously.
• Because the CPU is operating at the nanosecond level, a CPU
can accomplish a great deal of work in 2 millisecond.
Operating System: Multiprocessing
• Multiprocessing => an operating system capability that links
together two or more CPU to work in parallel in a single computer
system.
• The operating system can assign multiple CPUs to execute
different instructions from the same program or from different
programs simultaneously, dividing the work between the CPUs.
• Multiprogramming uses concurrent processing with one CPU.
• Multiprocessing uses simultaneous processing with multiple
CPUs.
Device driver
• A computer program that can establish
communication because it contains
information about the characteristics of your
computer and of the device.
• Each peripheral device requires a device
driver.
• Helps the computer communicate with that
particular device.
• When we add a device to an existing
computer, part of its installation includes
adding its device driver to the configuration.
Program Execution
• Executing a program requires the CPU to examine each
program instruction in memory and send out the
command signals required to perform each instruction.
• Although instructions are normally performed
consecutively (sequencing), they can be skipped
(branching) or repeated (looping) under program
control.
• During execution, data can be entered by the operator,
or from a saved file.
• After processing, the program output can be displayed
or printed as a result.
Application software
• Developed for a specific task , such as word
processing( MS Word/ WordPerfect),
accounting (Lotus 1-2-3/ Excel), or database
management (Access/ dBASE).
• We also use graphics and presentation
software.
• Most applications are purchased on diskette
or CD-ROM.
• They are installed by copying the programs
from the diskettes/CD-ROM to the hard disk.
Generations of Computer Languages:
Machine Language
• Machine language was the first generation
programming language
• Machine language: directly understood by a
computer since it is a collection of binary
numbers (0 and 1).
• Disadvantages: It is not standardized,
different CPU needs different machine
languages. Slow and labor-intensive process.
Assembly languages: Second Generation
• One step above of machine language: the second
generation of programming languages.
• More readable.
• Computer operations are represented by mnemonic
codes rather than binary numbers.
• Variables can be given names rather than binary
memory addresses.
• Programmers could substitute languagelike acronyms
and words such as add, sub, and load in
programming statements.
• A language translator called a compiler converted the
Englishlike statements into machine language.
• Disadvantage: CPU- dependent.
High -level languages: Third Generation
• Combines algebraic expressions and English
symbols.
• The high-level languages are so called because
each statement in these languages generates
multiple statements at the machine-language
level.
• It requires much faster, more efficient compilers
to translate higher-level languages into machine
codes.
• Advantage: CPU-independent.
• Disadvantage: computers do not understand.
Different High Level Languages
Some of the high-level languages available
include:
• FORTRAN for scientific programming,
• COBOL for business data processing,
• LISP for list processing,
• C for systems programming,
• Prolog for artificial intelligence,
• ADA for real-time distributed systems,
• Smalltalk for graphical user interfaces and object-
oriented programming, and
• C++ for object-oriented programming.
Fourth-Generation Languages
• Fourth-generation computer languages emerged in the late
1970s, and their development is still in progress.
• These languages dramatically reduce programming time
and
• make software tasks easy so that nontechnical computer
users can develop applications without the help of
professional programmers.
• Fourth-generation tools also include prewritten application
software packages that can be used directly by end users.
• For instance, using the software package Lotus 1-2-3, users
can create their own financial spreadsheets and manipulate
data without knowing any programming.
Fourth-Generation Languages
There are seven categories of fourth-generation
languages:
• query languages,
• report generators,
• graphics languages,
• application generators,
• very high-level programming languages,
• application software packages, and
• PC tools.
Query Languages and Report Generators
Query language
• A high-level computer language used to retrieve specific
information from databases or files.
• They are usually interactive, on-line, and capable of supporting
requests for information that are not predefined.
• Examples of two query languages are query-By-Example and
FOCUS.
Report Generators
• Software that creates customized reports in a wide range of
formats that are not routinely produced by an information system.
• Some report generators are extensions of database or query
languages.
• The more complex and powerful report generators may not be
suitable for nonprofessional end-users.
Application Software Packages and PC Tools
Application software packages
• A software package is a prewritten, precoded, commercially
available set of programs that eliminates the need for individuals
or organizations to write their own software programs for certain
functions.
• Application software packages consist of prewritten application
software that is marketed commercially.
• Examples: MsOffice
Word Processing Software
• You can store text data electronically as a computer file
rather than on paper.
• It allows you to make changes in your document
electronically in memory.
• The Software has formatting options to make changes in
line spacing, margins, character size, etc.
• Most word processing software has advanced features:
spell checking, grammar checking, and punctuation
checking.
• Besides these, it has thesaurus programs, and mail merge
programs ( which link letters or other text documents with
names and addresses in a mailing list).
• You can also create and access Web pages.
Spreadsheet Software
• Spreadsheet software is a numerical analysis tool.
• You can use spreadsheet software to main your checkbook
register.
• Spreadsheet software creates a worksheet, composed of a
grid of columns and rows.
• You can write any character in each column.
• You can write any number in each row.
• The intersection of a column and row is called a cell. Each
cell has a unique address (cell reference).
• Using spreadsheet you can create graph (summary of data)
• Spreadsheet software provides you with excellent
printouts of the raw data or graphs created from the data.
Graphics and Presentation Software
• Graphics and presentation software allow us to create
illustrations, diagrams, graphs, and charts that you also
can print and transmit to remote computers.
• Most application software allows you to include
graphics created by graphics software (Microsoft Paint
or Adobe PhotoShop).
• You can also use clip art (a collection of drawings)
comes with software packages.
• MS PowerPoint is a popular presentation software. You
can create colorful presentations and transparencies.
Web Browsers
• Easy-to-use software tools for accessing the World
Wide Web and the Internet.
• It has a point-and click graphical user interface.
• Using this interface, you can access and display
information stored in computers at other Internet sites.
• You can display graphics, audio, and video as well as
text.
• Examples: Google Chrome, MS Internet Explorer,
Mozilla Firefox
Important features of New Software Tools

• Event driven
• OLE (Object linking and embedding)
• Object-oriented
• Supports multimedia
• Supports databases
Event-driven: new way of thinking

• Traditional programming • Visual Basic


– 1. Fill kettle with water – 1. Show coffee, kettle,
– 2. Put kettle on. water, milk
– 3. Place coffee in cup. and cup to
user.
– 4. Place milk in cup.
– 2. Make a coffee.
– 5. Wait until kettle has
boiled.
– 6. Pour water into cup.

You might also like