Vous êtes sur la page 1sur 26

Software

HARISH MORWANI
harishmorwani@gmail.com
P102 Prog. Fundamentals I: Software / Slide 2

Introduction
● Computer software, or just software is
a general term used to describe a
collection of computer programs,
procedures and documentation that
perform some tasks on a computer
system.
● Computer software are often regarded as
anything but hardware, meaning that the
"hard" are the parts that are tangible
while the "soft" part is the intangible
objects inside the computer.
● The term "software" was first used in this
sense by John W. Tukey in 1958. In
computer science and software
engineering, computer software is all
computer programs.
P102 Prog. Fundamentals I: Software / Slide 3

Computer Software Relationships

User Interface Application Programs

User Interface Operating System

User Basic Input and Output Services (BIOS)


Interface • needed for a computer to boot up

Computer Hardware
P102 Prog. Fundamentals I: Software / Slide 4

Categories
P102 Prog. Fundamentals I: Software / Slide 5

Application Software
● Easy-to-use programs designed to perform
specific tasks/applications

Packaged Customized

Available in Market Designed as per User


requirements
P102 Prog. Fundamentals I: Software / Slide 6

Application Software
● Application software makes
computer popular and easy to
use
● Common application software:
 Microsoft Word
 PowerPoint
 Netscape, Internet Explorer
 PhotoShop, Photo-Paint
 Quick Time
 Dreamweaver
P102 Prog. Fundamentals I: Software / Slide 7

System Software
■ Programs that support the execution and
development of other programs

Operating systems Translators


P102 Prog. Fundamentals I: Software / Slide 8

Operating System)
P102 Prog. Fundamentals I: Software / Slide 9

Operating System
● Controls and manages the computing resources
● Examples
■ Windows, Unix, MSDOS,
● Important services that an operating system
provides:
■ File system
■ Commands to manipulate the file system
■ Input and output on a variety of devices
■ Memory management
102 Prog. Fundamentals I: Software / Slide 10

Translators
● These system softwares are
required to translate the language
used by the USER to write
Programs into a language which
can be understood by the Machine.
● For understanding Translators, let
us understand the different types of
Programming languages first.
102 Prog. Fundamentals I: Software / Slide 11

PROGRAMMING LANG.
102 Prog. Fundamentals I: Software / Slide 12

MACHINE LANGUAGE
• Each computer has its own machine language, which is made of
streams of 0s and 1s because the internal circuit of a computer is
made of switches, transistors and other electronic devices that can
only be in one of two states: off or on.
• 0 represents the off state; 1 represents the on state.

00000000 00000100 00000000


01011110 00001100 11000010 00000000
11101111 00010110 00000000
11101111 10011110 00000000
11111000 10101101 11011111 00000000
01100010 11011111 00000000
11101111 00000010 11111011 00000000
102 Prog. Fundamentals I: Software / Slide 13

MACHINE LANGUAGE
Example of a machine language instruction:
00000101 00010000 00000000
ADD Value of Address
to
operation 1st operand store
result
102 Prog. Fundamentals I: Software / Slide 14

ASSEMBLY LANGUAGE
• Symbols replace the machine language operations & operands making it
more easy to work on.
• A special program called assembler translates symbolic code into machine
language, thus it is also called assembly language.
entry main, ^m<r2>
subl2 #12,sp
jsb C$MAIN_ARGS
movab $CHAR_STRING_CON
TRANSLATOR
pushal –8(fp)
pushal (r2)
calls #2,read
pushal –12(fp)
calls #2, read
mull3 –8(fp), -12(fp), -
pusha 6(r2)
calls #2, print
clrl r0
ret
102 Prog. Fundamentals I: Software / Slide 15

HIGH-LEVEL LANGUAGE
• Portable to many kinds of computers, allowing the programmer to concentrate
on the problem at hand rather than the intricacies of the computer.
• Relieve the programmer from the details of the assembly language.
• Share one thing with symbolic languages: they must be compiled or
interpreted to convert to machine language.
#include <iostream>
using namespace std;
int main (void) {
// Local Declarations
int number1;
int number2;
int result;
// Statements
cin >> number1;
cin >> number2;
result = number1 * number2;
cout << result;
return 0; } // main
102 Prog. Fundamentals I: Software / Slide 16

Procedural v/s Non-Procedural


Non-Procedural Procedural

● What is to be done? ● What is to be done &


How it is to be
done?
102 Prog. Fundamentals I: Software / Slide 17

Interpreter v/s Compiler


● A compiler is a computer program ● An interpreter is a program that
(or set of programs) that transforms translates source code into some
source code from a high-level efficient intermediate representation
programming language to a lower (code) and immediately executes
level language (e.g., machine this .
language). Translation is done at ● Translation is done statement by
once. Faster than Interpreter. statement.
SOFTWARE
POWER

IN 3000
102 Prog. Fundamentals I: Software / Slide 19
102 Prog. Fundamentals I: Software / Slide 20
102 Prog. Fundamentals I: Software / Slide 21
102 Prog. Fundamentals I: Software / Slide 22
102 Prog. Fundamentals I: Software / Slide 23
102 Prog. Fundamentals I: Software / Slide 24
102 Prog. Fundamentals I: Software / Slide 25
102 Prog. Fundamentals I: Software / Slide 26

Vous aimerez peut-être aussi