Top Banner
1 CIS 551 What is software? Processor needs instructions that tell it what to do these instructions are called software When NOT in use, almost all software stored on mass storage devices (e.g., a floppy or hard disk) How does it get there? When IN use, software stored in processor’s memory (in RAM)
56

1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

1

CIS 551

What is software?

• Processor needs instructions that tell it what to do– these instructions are called software

• When NOT in use, almost all software stored on mass storage devices (e.g., a floppy or hard disk) How does it get there?

• When IN use, software stored in processor’s memory (in RAM)

Page 2: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

2

CIS 551

Software is costly

• Businesses typically spend more on software than on hardware

• This trend is too easy to miss

Page 3: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

3

CIS 551

SOFTWARESOFTWARE

DETAILED INSTRUCTIONS TO CONTROL COMPUTER OPERATION

• PROGRAM: SET OF INSTRUCTIONS TO THE COMPUTER• STORED: PROGRAM MUST BE IN PRIMARY STORAGE• SYSTEM SOFTWARE: MANAGES COMPUTER

RESOURCES• APPLICATION SOFTWARE: SPECIFIC BUSINESS

APPLICATION

*

Page 4: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

4

CIS 551

SOFTWARESOFTWARE

HARDWAREHARDWARE

SYSTEM SOFTWARESYSTEM SOFTWARE

APPLICATION SOFTWAREAPPLICATION SOFTWAREOPERATING SYSTEM:OPERATING SYSTEM:

SCHEDULED COMPUTER SCHEDULED COMPUTER EVENTS ALLOCATES EVENTS ALLOCATES COMPUTER RESOURCES COMPUTER RESOURCES MONITORS EVENTSMONITORS EVENTS

LANGUAGE TRANSLATORS:LANGUAGE TRANSLATORS:

INTERPRETERSINTERPRETERSCOMPILERSCOMPILERS

UTILITY PROGRAMS:UTILITY PROGRAMS:

ROUTINE OPERATIONSROUTINE OPERATIONSMANAGE DATAMANAGE DATA

Page 5: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

5

CIS 551

SOFTWARESOFTWARE

HARDWAREHARDWARE

OPERATING SYSTEM:OPERATING SYSTEM:

SCHEDULED COMPUTER SCHEDULED COMPUTER EVENTS ALLOCATES EVENTS ALLOCATES COMPUTER RESOURCES COMPUTER RESOURCES MONITORS EVENTSMONITORS EVENTS

LANGUAGE TRANSLATORS:LANGUAGE TRANSLATORS:

INTERPRETERSINTERPRETERSCOMPILERSCOMPILERS

UTILITY PROGRAMS:UTILITY PROGRAMS:

ROUTINE OPERATIONSROUTINE OPERATIONSMANAGE DATAMANAGE DATA

PROGRAMMING LANGUAGES: PROGRAMMING LANGUAGES:

ASSEMBLY LANGUAGE; FORTRAN; ASSEMBLY LANGUAGE; FORTRAN; COBOL; PL / 1; QBASIC; PASCAL; C; C++; COBOL; PL / 1; QBASIC; PASCAL; C; C++;

“FOURTH GENERATION” LANGUAGES“FOURTH GENERATION” LANGUAGES

SYSTEM SOFTWARESYSTEM SOFTWARE

APPLICATION SOFTWAREAPPLICATION SOFTWARE

Page 6: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

6

CIS 551

HTML is not a programming language, neither is XML

Page 7: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

7

CIS 551

A play: Scene 1

!!??

Page 8: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

8

CIS 551

What’s on that disk?

p := x + y;

write(‘dfile.dat’, p);

...

Page 9: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

9

CIS 551

Scene 2 : Act 1

…p := x + y;write(‘dfile.dat’, p);...

CompilerMachine

instructions

Page 10: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

10

CIS 551

Page 11: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

11

CIS 551

• Compiler– translates the whole program into machine

language at one time

– will run faster

• Interpreter– translates and executes the program one

statement at a time

– generally easier and faster program development

– may be easier to debug

Compilers vs. interpreters

Page 12: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

12

CIS 551

Scene 2 : Act 2

Machineinstructions

Saved to

Page 13: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

13

CIS 551

Scene 2 : Act 3

Use theprogram

Page 14: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

14

CIS 551

Scene 3

Machineinstructions Copied

to RAMBegins toexecute

Page 15: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

15

CIS 551

Programming Languages

• Specialized– Fortran - Science & Engineering (1957)

– LISP - Artificial Intelligence (1958)

– COBOL - Business (1959)

• Generalized– PL/I - developed by IBM (1964)

– C - developed by AT&T (1972)

• Teaching

Page 16: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

16

CIS 551

Generations of programming languages

• Machine language (1st)

• Assembler language (2nd)

• High-level languages (3rd)– Ada, BASIC, C, C++, COBOL, FORTRAN,

LISP, Pascal, PL/1, etc.– Java, Visual BASIC, C#, etc.

• Fourth- and fifth-generation– SQL, Prolog, query languages, etc.

Page 17: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

17

CIS 551

Page 18: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

18

CIS 551

GENERATIONS OF PROGRAMMING LANGUAGES

GENERATIONS OF PROGRAMMING LANGUAGES

1st. Since 1940s. MACHINE LANGUAGE: binary code

2nd. Since early ’50s. ASSEMBLY LANGUAGE: mnemonics for numeric code

3rd. Since mid ‘50s. HIGH-LEVEL LANGUAGES

4th. Since late ‘70s. MODERN APPLICATION PACKAGES

*

Page 19: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

19

CIS 551

• Lower level– more control over how program works

– can be more efficient

• Higher level– easier and faster to develop and debug

programs

• Clear trend to higher levels (3 or up)

Which level is for me?

Page 20: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

20

CIS 551

Page 21: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

21

CIS 551

FOURTH GENERATION LANGUAGES (4GL)FOURTH GENERATION LANGUAGES (4GL)

• CAN BE EMPLOYED BY END USERS

• NONPROCEDURAL

• CAN DEVELOP APPLICATIONS QUICKLY

• NATURAL LANGUAGES

• SIX CATEGORIES

*

Page 22: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

22

CIS 551

FOURTH GENERATION LANGUAGES (4GL)FOURTH GENERATION LANGUAGES (4GL)

1. QUERY LANGUAGES:

• RAPIDLY RETRIEVE DATA

• INTERACTIVE

• ON-LINE

• SUPPORT SPECIAL REQUESTS FOR DATA FROM RELATIONAL DATABASES

*

Page 23: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

23

CIS 551

FOURTH GENERATION LANGUAGES (4GL)FOURTH GENERATION LANGUAGES (4GL)

2. REPORT GENERATORS:• CREATE CUSTOMIZED REPORTS• WIDE RANGE OF FORMATS

3. GRAPHICS LANGUAGES:• CAN MANIPULATE DRAWINGS,

GRAPHS, PHOTOS, VIDEOS• PRESENTATION MANAGERS

*

Page 24: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

24

CIS 551

FOURTH GENERATION LANGUAGES (4GL)FOURTH GENERATION LANGUAGES (4GL)

4. APPLICATION GENERATORS:

• USER SPECIFIES COMPUTER NEEDS

• GENERATOR CREATES LOGIC AND CODE FOR APPLICATION

• GREATLY REDUCES DEVELOPMENT TIME

*

Page 25: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

25

CIS 551

FOURTH GENERATION LANGUAGES (4GL)FOURTH GENERATION LANGUAGES (4GL)

5. VERY HIGH-LEVEL PROGRAMMING LANGUAGES:

• PROFESSIONAL PROGRAMMER PRODUCTIVITY TOOL

• USES FEWER INSTRUCTIONS

• REDUCES DEVELOPMENT TIME

*

Page 26: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

26

CIS 551

FOURTH GENERATION LANGUAGES (4GL)FOURTH GENERATION LANGUAGES (4GL)

6. SOFTWARE PACKAGE: COMMERCIALLY AVAILABLE SET OF PROGRAMS...

• WORD PROCESSING• SPREADSHEETS• DATA MANAGEMENT• PRESENTATION MANAGEMENT

INTEGRATED SOFTWARE PACKAGES NOW COMBINE THESE TO SIMPLIFY

LEARNING AND USE

*

Page 27: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

27

CIS 551

Types of software

• Applications software» satisfies specific user need

• Systems software– Operating system

» makes hardware more usable

– Language translators» translates human readable to machine

language

– Utilities

Page 28: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

28

CIS 551

Operating system functions (1/2)

• Manage resources– memory

» implement “virtual memory” which allows a computer to pretend that it has more memory than it actually does (see next slide)

Page 29: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

29

CIS 551

Page 30: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

30

CIS 551

Task 4

Example: Memory management

Heavy line–actual RAM, thin–perceived memory, dotted–one program

Single space Partitions Virtual memory

Task 3

Task 2

Task 1

Task 1

Task 3

Task 2

Task 1

Task 6

Task 5

Task 7

Page 31: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

31

CIS 551

Operating system functions (2/2)

• Coordinator for application programs– Manage resources

» memory» devices

– Coordinate activities

– Manage files

• User interface (GUI)

Page 32: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

32

CIS 551

Why do operating systems matter?

• They provide different features– e.g., memory management, GUI

• Programs are written for an O/S– choose applications, then choose O/S

• O/S used to be proprietary– choice of O/S dictated choice of hardware

Page 33: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

33

CIS 551

Trends in operating systems

• Multi-programming• Multi-processing• Virtual memory• Interprocess communications• More features

– new kinds of I/O supported– better integration of programs

• Require more powerful hardware• Cathedrals vs. Bazaars…

Page 34: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

34

CIS 551

Types of user interfaces

• Command-oriented interfaces – prompt the user to type in a command that is translated into

an instruction for the program to follow

• Menu-driven interfaces – offer a list of choices or options, called a menu, as a way of

letting a user choose from several different commands or functions

– Graphical User Interfaces (GUI’s) – use pictures and graphic symbols to represent commands,

choices or actions

• Natural Language interfaces – allow the user to input simple English statements that are

translated into commands by the program.

Page 35: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

35

CIS 551

Object Linking & Embedding

Object Linking & Embedding (OLE) allows user to copy text/graphics from one document to another or to embed text/graphics from one program into another program/document Server Application supplies objects user places in

other applications Client application accepts objects from other

applications Copy copies data from one application & places it

in another Link is used when user wants changes made to

the server object to appear automatically in all linked client objects

Embed is used when user wants an object to become part of the client document

Page 36: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

36

CIS 551

OBJECT-ORIENTED PROGRAMMING

OBJECT-ORIENTED PROGRAMMING

• COMBINES DATA & PROCEDURES INTO A SINGLE OBJECT

• PROGRAM SENDS MESSAGE TO OBJECT TO PERFORM EMBEDDED PROCEDURE

• OBJECT’S DATA ENCAPSULATED FROM REST OF SYSTEM

• CREATES REUSABLE CODE• REDUCES TIME AND COST OF WRITING

SOFTWARE

*

Page 37: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

37

CIS 551

OBJECT-ORIENTED PROGRAMMING

OBJECT-ORIENTED PROGRAMMING

VISUAL PROGRAMMING: SELECT AND ARRANGE OBJECTS RATHER THAN WRITE CODE

CLASS: ALL OBJECTS OF A CLASS HAVE ALL FEATURES OF THAT CLASS

INHERITANCE: SPECIFIC CLASS RECEIVES FEATURES OF A MORE GENERAL CLASS

OVERRIDE: SUBCLASS MAY OVEERRIDE INHERITED METHOD (e.g.: Printout of an HOURLY worker Pay Check

may differ from that of a WEEKLY worker

*

Page 38: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

38

CIS 551

OBJECT-ORIENTED PROGRAMMING

OBJECT-ORIENTED PROGRAMMING

JAVA: Sun Microsystems OBJECT-ORIENTED PROGRAMMING LANGUAGE

• APPLET: TINY PROGRAM TO EXECUTE SMALL FUNCTION

• APPLETS DOWNLOADED FROM NETWORK• RUN ON ANY COMPUTER & OPERATING SYSTEM• RESULT SAVED ON NETWORK, NOT ON PC

• ONLY NETWORK VERSION OF SOFTWARE NEEDS

UPGRADE

*

Page 39: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

39

CIS 551

JAVA

• Write Once Run Anywhere (!?)

• Object Oriented Programming Language

• Using applets allows:– elimination of need for large & expensive

hardware

– elimination of lots of storage and maintenance overhead

Page 40: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

40

CIS 551

JAVA (what we will still see...)

• It IS neither entirely compiled nor entirely interpreted (BYTECODE)

• It IS comparatively easy to learn• It IS capturing everyone’s attention

• Will it be (a) standard?• Will it be secure?• Will it be fast enough? WHAT

ABOUT C#?

Page 41: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

41

CIS 551

.NET (dot Net)

• .NET is Microsoft's next-generation Visual Studio development environment, yet another new programming language (C#), and a new data-exchange and messaging framework, based on XML and SOAP.

• While java promises platform portability, .NET promises language portability.

Page 42: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

42

CIS 551

Multi-programming, tasking…

• Multiprogramming: groups of programs take turns

• Multitasking: single user, numerous uses

• Time sharing: fixed-time multiprogramming

• Multiprocessing: parallel, multiple processors.

Page 43: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

43

CIS 551

Page 44: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

44

CIS 551

MULTIPROGRAMMINGMULTIPROGRAMMINGO

PE

RA

TIN

G S

YS

TE

MO

PE

RA

TIN

G S

YS

TE

M

UNUSED MEMORYUNUSED MEMORY

PROGRAM 1PROGRAM 1

TRADITIONAL SINGLE-TRADITIONAL SINGLE-PROGRAM SYSTEMPROGRAM SYSTEM

Page 45: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

45

CIS 551

MULTIPROGRAMMINGMULTIPROGRAMMINGO

PE

RA

TIN

G S

YS

TE

MO

PE

RA

TIN

G S

YS

TE

M

UNUSED MEMORYUNUSED MEMORY OP

ER

AT

ING

SY

ST

EM

OP

ER

AT

ING

SY

ST

EM

UNUSED MEMORYUNUSED MEMORY

PROGRAM 1PROGRAM 1

PROGRAM 1PROGRAM 1

PROGRAM 2PROGRAM 2

PROGRAM 3PROGRAM 3

TRADITIONAL SINGLE-TRADITIONAL SINGLE-PROGRAM SYSTEMPROGRAM SYSTEM

MULTIPROGRAMMING MULTIPROGRAMMING ENVIRONMENTENVIRONMENT

Page 46: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

46

CIS 551

MULTITASKINGMULTITASKING

MULTIPROGRAMMING

ON A

SINGLE-USER SYSTEM

SUCH AS A

MICROCOMPUTER

*

Page 47: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

47

CIS 551

VIRTUAL STORAGEVIRTUAL STORAGE

METHOD OF HANDLING SEVERAL PROGRAMS IN PRIMARY STORAGE:

• PROGRAM DIVIDED INTO– FIXED LENGTH PORTIONS (PAGES) OR

– VARIABLE LENGTH (SEGMENTS)

• CURRENT PORTIONS RESIDE IN PRIMARY STORAGE

• PORTIONS SWAPPED OUT WHEN DONE

*

Page 48: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

48

CIS 551

TIME SHARINGTIME SHARING

MANY USERS SHARE LARGE CPU:

• TIME IN CPU DIVIDED INTO SLICES (e.g.: 2 MILLISECONDS)

• EACH USER HAS ACCESS TO CPU DURING SLICE

• SINCE CPU IS FAST, CAN DO MUCH DURING TIME SLICE

• USER’S JOB SWAPPED OUT AT END OF SLICE

*

Page 49: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

49

CIS 551

MULTIPROCESSINGMULTIPROCESSING

• TWO OR MORE PARALLEL PROCESSORS IN SYSTEM

• PROGRAM CAN BE DIVIDED TO BE PROCESSED BY MULTIPLE CPUs

• CAN PROCESS LARGE PROGRAMS MORE RAPIDLY

*

Page 50: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

50

CIS 551

Applications

Page 51: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

51

CIS 551

Groupware

Page 52: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

52

CIS 551

ASP – application service providers

Page 53: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

53

CIS 551

Web Services

• A group of closely related, emerging technologies that describe a service-oriented, component-based application architecture that is based on an open, Internet-centric infrastructure. Web services represent a model in which discrete tasks within e-business processes are distributed widely throughout a value net.

• Not a specific technology, but rather a group of established and emerging communication protocols that include HTTP, XMLXML, Simple Object Application Protocol (SOAP), Universal Description Discovery and Integration (UDDI), and Web Services Description Language (WSDL). A web service can be developed on any computer platform and in any development on any computer platform and in any development environmentenvironment, as long as it can communicate with other web services using these common protocols.

Page 54: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

54

CIS 551

Web Services

The Generic Web Service Architecture

Page 55: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

55

CIS 551

Web Services

• Although ASPs and web services both implement the concept of "software as a service," the similarities end there. ASPs deliver entire applications from a central hosting location, while web services are distributed components. ASPs form a closed "black box," while web services are inherently extensible. ASPs are as much business model as technology solution; web services may enable new forms of business models, but are fundamentally a technology solution.

• IBM and Microsoft have taken the early leadership mantle in establishing the web services stack. Hewlett-Packard, an early proponent of a proprietary services model, now is reorienting towards web services (NetAction). Oracle, Sun (ONE), and a host of smaller companies (e.g. BEA, Bowstreet, and others) have also put hats into the ring.

Page 56: 1 CIS 551 What is software? Processor needs instructions that tell it what to do –these instructions are called software When NOT in use, almost all software.

56

CIS 551

Summary

• Many features of a computer determine how fast it actually is

• Computers are very fast and are getting faster for the foreseeable future

• An operating system can make it easier to create more powerful and easy-to-use programs