0% found this document useful (0 votes)
29 views40 pages

COM111 5-ComputerSoftware

The document discusses different types of computer software including system software like operating systems, utilities, device drivers, compilers, linkers, and loaders. It describes the functions and responsibilities of operating systems including managing resources, running programs, and interfacing with hardware. It also covers operating system capabilities such as multiprogramming, multitasking, virtual storage, and time sharing.

Uploaded by

Réy Sæm
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views40 pages

COM111 5-ComputerSoftware

The document discusses different types of computer software including system software like operating systems, utilities, device drivers, compilers, linkers, and loaders. It describes the functions and responsibilities of operating systems including managing resources, running programs, and interfacing with hardware. It also covers operating system capabilities such as multiprogramming, multitasking, virtual storage, and time sharing.

Uploaded by

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

COM 111

Introduction to Computer Science

Dr. Kondwani G. Munthali


Computer Software

October 12, 2017


Learning outcomes
 System Software
 Application Software

3 10/12/2017
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 Word Processors
Assembly language Spreadsheets
FORTRAN, BASIC, PL/, PASCAL, C Database Applications
“4th generation” / High-level languages
System Software
 Manages the fundamental operations of the computer,
such as:
 loading programs and data into memory,
 executing programs,
 saving data to disks,
 displaying information on the monitor, and
 transmitting data through a port to a peripheral device
 System software: operating systems, utilities, device
drivers
Operating System
 Collection of computer programs that control the
interaction of the user and the computer hardware.
 Responsible for directing all computer operations and
managing all computer resources.
 Controls basic input and output, allocates system
resources, manages storage space, maintains security, and
detects equipment failure.
 A part of the operating system code is stored in a ROM
and the rest of it resides on a disk.
 Loading the operating system into memory is called
booting the computer.
Responsibilities of an Operating System
 Communicate with user, receive and execute commands,
show error messages.
 Manage allocation of memory, processor time and other
resources.
 Collect input from keyboard, mouse, and provide data to
running programs.
 Convey program output to screen, printer, or other
output device.
 Access data from secondary storage.
 Write data to secondary storage.
 Maintains security (checks user-name , password, virus
infection)
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
 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.
Operating System:Multiprogramming
 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 is 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 is a way of handling programs more
efficiently
 Virtual storage breaks a program into a number of 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.
Operating System: Virtual Storage…
 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
 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 (e.g. 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
 An operating system capability that links together two or
more CPUs 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.
Utilities
 Another category of system software.
 Augments the OS by taking over some of its
responsibility for allocating hardware resources.
 A Utility Program is a system software consisting of
programs for routine, repetitive tasks which can be
shared by many users
 e.g. copying, clearing primary storage, computing a square root,
or sorting
 Many utilities come with the OS.
 Some independent software developers offer utilities for
sale separately.
 E.g. Norton Utilities by Symantec.
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.
Compiler
 Software that translates a high-level language program
into machine language.
 Input to the compiler is a source file (created by word
processor or editor) containing the text of a high-level
language program.
 If it is syntactically correct, compiler will save in an object
file which is a machine language instructions for the same
job.
Linker
 All machine instructions are not complete.
 High-level language programs use at least one of the
function that reside in other object files available to the
system.
 Linker combines several object files, resolving cross
references between the files, into one executable file
(machine language program).
Loader
 To run an executable file, the loader must copy all the
instructions into memory and direct the CPU to begin
execution with the first instruction.
 As the program executes, it takes input data from
source(s) and sends results to output devices.
Integrated development environment
(IDE)
 Most high-level languages now include an Integrated
Development Environment (IDE) consisting of a simple
word processor, compiler, linker and loader tools for
finding errors.
 This software package provides menus from which user
can select the next step.
 It leaves all versions of the program in memory. For safety,
we need to explicitly save the source file to disk.
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.
Command-line & Graphical User
Interfaces
 Command-line interface systems display a command
prompt, then expect the user to type the desired
commands.
 These systems include UNIX, MS-DOS and VMS.
 Graphical user interfaces (GUI) display pictures (icons),
menus, and text, which the user may point to with a
mouse or other pointing device, then click to select the
desired function.
 These systems (GUI) include Macintosh OS, Windows
95/98, Windows NT, OS/2 Warp, and Unix with X
Windows interface.
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
 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 language like acronyms and
words such as add, sub, and load in programming statements.
 A language translator called a compiler converted the English
like 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 mush 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
 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,
SQL 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.
Graphics Languages
 A computer language that displays data from files or
databases in graphic format.
 The users can ask for data and specify how they are to be
charted.
 Some graphics software can perform arithmetic or logical
operations on data as well.
 Examples of two graphics languages are SAS, SYSTAT, and
Harvard Graphics.
Application Generators
 Software that can generate entire information system
applications.
 The users needs only to specify what needs to be done,
and the application generator creates the appropriate
program code.
 Examples: Focus, Natural, and ProGenPlus.
Very High-Level Programming
Languages
 A programming language that uses fewer instructions
than conventional languages (COBOL or FORTRAN).
 Programs and applications based on this language can be
developed in much shorter periods of time.
 Simple features of these languages can be employed by
end users.
 However, they are used primarily as a professional
programmer productivity tool.
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: Maxicalc and SAP R/3
PC Tools
 Some of the most popular and productivity-promoting
fourth-generation tools are the general-purpose
application packages that have been developed for PCs,
especially word processing, spreadsheet, data
management, graphics, integrated software packages, and
Web browsers
 Examples: Lotus 1-2-3, WordPerfect, and Access.
Integrated Software packages
and software suites
 Integrated software packages combine the functions of the most
important PC software packages, such as word processing,
spreadsheets, graphics, and data management.
 This integration provides a more general-purpose software tool and
eliminates redundant data entry and data maintenance.
 Integrated packages are a compromise.
 They can do many things, however, they generally do not have the
same power and depth as single-purpose packages.
 Integrated software packages are different from software suites.
 Software suites are collections of applications software sold as a
unit (e.g. Microsoft Office 97). It contains Word, Excel, Access,
PowerPoint, and Outlook.
 Software suites have some features of integrated packages, such as
the ability to share data among different applications, but they
consist of full-featured versions of each type of software.

You might also like