0% found this document useful (0 votes)
54 views43 pages

Ics 110 - Lecture 3

This document provides an overview of different types of software and hardware. It discusses system software such as operating systems, compilers, loaders, and interpreters. It also discusses application software like word processors, spreadsheets, and databases. The document defines hardware as tangible computer components like storage devices, CPUs, and displays. It describes different categories of software including system software, application software, open source software, and proprietary 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)
54 views43 pages

Ics 110 - Lecture 3

This document provides an overview of different types of software and hardware. It discusses system software such as operating systems, compilers, loaders, and interpreters. It also discusses application software like word processors, spreadsheets, and databases. The document defines hardware as tangible computer components like storage devices, CPUs, and displays. It describes different categories of software including system software, application software, open source software, and proprietary 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/ 43

Contents

 We will learn
1. What is software?
2. What is Hardware?
3. Types of Software
 System s/w, Application s/w, Open source &
Proprietary s/w
4. Examples of system Software
 Operating System, compiler, loader, linker,
Interpreter
5. Examples of Application Software
 Word processors, Spreadsheets, Presentation,
Database systems
Software & Hardware?

 Computer Instructions or data, anything that can be


stored electronically is Software.

 Hardware is one that is tangible. The storage devices


(Hard disk, CD’s etc.,), mouse, keyboard CPU and
display devices (Monitor) are Hardware.

For example: There is a problem in the Software implies


– Problem with program or data
Types of Software

 System Software
 Application Software
 Open source Software and
 Proprietary Software
The major types of software
System Software

Application software Operating Systems


System software Schedules computer
events
Hardware Allocates computer
resources
Monitor events
Language translators
Interpreters
User
Compilers
s
Application Software Utility programs
Programming languages Routine operations (e.g. sort,
Assembly language list, print)
FORTRAN, BASIC, PL/1 Manage data (e.g. create files
PASCAL, C merge files
“4th generation “
languages
System Software:
System Software includes the Operating System and all
the utilities that enable the computer to function.

System software is a term referring to any computer


software which manages and controls the hardware so
that application software can perform a task.

Example:
Operating Systems, Compiler, Loader, Linker, Interpreter.
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
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 memory uses hardware and software to allow a
computer to compensate for physical memory shortages, by
temporarily transferring data from random access memory (
RAM) to disk storage.

 Today, most PCs come with up to around 4 GB of RAM.


However, sometimes this isn't enough to run all the
programs a user might want to use at once. This is where
virtual memory comes in. Virtual memory can be used to
swap data that has not been used recently -- and move it
over to a storage device like a hard drive or solid-state drive
 (SDD). This will free up more space on the RAM.
Operating System:Virtual Storage
 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.
Utilities
 Another category of system software.
 Augments the OS by taking over some of its
responsibility for allocating hardware resources.
 Utility Program => System software consisting of
programs for routine, repetitive tasks ( e.g. copying,
clearing primary storage, computing a square root,
or sorting), which can be shared by many users.
 Many utilities come with 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.
System Software (contd):
Interpreter: An interpreter is a computer
program that translates and executes
instructions written in a computer programming
language line-by-line, unit by unit etc.,

An interpreter needs to be able to analyze, or


parse, instructions written in the source
language.

Example: Lisp systems, etc.,


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).
System Software (contd):

Loader: A loader is the part of an operating system that


is responsible for loading programs into memory,
preparing them for execution and then executing them.

The loader is usually a part of the operating system's


kernel and usually is loaded at system boot time and
stays in memory until the system is rebooted, shut down,
or powered off.

In Unix, the loader is the handler for the system call


execve().
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.
System Software (contd):

Linker: A linker or link editor is a program that takes


one or more objects generated by compilers and
assembles them into a single executable program.

Linkers can take objects from a collection called a


library. The objects are program modules containing
machine code and information for the linker.

The linker takes care of arranging the objects in a


program's address space.
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 Interface
 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:

Application Software includes programs that do real work


for user.

Example:

Payroll systems, Inventory Control, Manage student


database, Word Processor, Spreadsheet and Database
Management System etc.,
Categories of Application

 Software

 Business Software
 Graphic & Multimedia
 Home / Personal / Education
 Communication
Types of Application Software

 Proprietary
 In-house
 Contract
 Off-the-shelf
 Customized package
Forms of Application Software

 Packaged Software
 Custom Software
 Web Application
 Open Source
 Shareware
 Freeware
 Public-domain Software
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.
Application Software:
Word Processors:
Word processing is a tool that helps user in creating,
editing, and printing documents. Word processors will
normally have the following capabilities built into them: 
 Spell checking
 Standard layouts for normal documents
 Have some characters appear in bold print,
italics, or underlined
 Center lines, make text line up on the left side
of the paper, or the right side of the paper
 Save the document so it can be used again
 print the document.

Examples: WordPerfect and Microsoft Word


Application Software
(contd…):
Spreadsheets: The spreadsheet packages are
designed to use numbers and formulas to do
calculations with ease. Examples of spreadsheets
include:
 Budgets
 Payrolls
 Grade Calculations
 Address Lists

The most commonly used spreadsheet programs are


Microsoft Excel and Lotus 123.
Application Software
(contd…):
Graphic Presentations: The presentation
programs can make giving presentations and using
overheads easier.  Other uses include: 
 Slide Shows
 Repeating Computer Presentations on a
computer monitor
 Using Sound and animation in slide shows 

The most recognized graphic presentation programs are


Microsoft PowerPoint and Harvard Graphics.
Application Software
(contd…):
Database Management System (DBMS):
 A DBMS is a software tool that allows multiple users to
store, access, and process data into useful information.
 Database programs are designed for these types of
applications:
 Membership lists
 Student lists
 Grade reports
 Instructor schedules
All of these have to be maintained so you can find what
you need quickly and accurately. 

 Example:Microsoft Access, dBASE, Oracle.


Type Of Application Software
 In In-house software we develop application
with the help of company resources

 Off-the-shelf - An existing software program


that can be used without any changes
expected.

 Contract - The software which is developed for


a specific company for their requirement.
Open Source Software:

 Open source software (OSS) is computer software


whose source code is available under a license that
permits users to use, change, and improve the software,
and to redistribute it in modified or unmodified form.

 It is often developed in a public, collaborative manner.


Well-known OSS products are Linux, Netscape, Apache,
etc.,
Proprietary Software:
 Proprietary software (also called non-free
software) is software with restrictions on using,
copying and modifying as enforced by the proprietor.
Restrictions on use, modification and copying is
achieved by either legal or technical means and
sometimes both.

 Proponents of proprietary software are Microsoft.

 Ex: CAD, Nortan Antivirus etc.,


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.
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.
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: Netscape Navigator (along with
Netscape Communicator) and MS Internet
Explorer are two popular Web browsers.
Event-driven: new way of thinking

 Traditional programming  Visual Basic


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

You might also like