Transcript
Page 1: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

Software: Instructions to the Computer

• A computer program is a series of instructions to a computer to execute any and all processes

• Computers only “understand” instructions consisting of electrical signals alternating between two states

Page 2: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

Software: Instructions to the Computer (Cont.)

• Application software enables users to complete a particular task, such as word processing

• System software enables application software to run on a computer and manages the interaction between hardware devices

Page 3: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

Programming Languages

• Abbreviated forms of instructions that translate into machine language

• New programming languages make programming easier for people who are not necessarily hardware experts

Page 4: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

Application Software vs. System Software

• Application: – Program developed to address a specific

business need; software for development of such programs

• System: – Programs designed to carry out general

routine operations, such as loading, copying, or deleting a file

Page 5: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

Programming Languages (Cont.)

Page 6: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

Bugs

• Errors in a program to be eliminated before it runs smoothly

• Occur when a certain operation cannot be carried out

• Logic errors are most difficult to spot

Page 7: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

Application Software

• Application-specific programs

– Programs designed to perform specific jobs

• General-purpose programs

– Usable for different purposes

Page 8: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

System Software

• Manages computer resources and performs routine tasks not specific to any application

– Copying and pasting sections and files

– Printing documents

– Allocating memory

• Developed to partner with application software

Page 9: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

Operating Systems (O/S)

• Most important system software

– Developed for a certain microprocessor or microprocessors

– Addresses technical details such as registers and RAM addresses

– Plays the role of “traffic cop” or the “boss” of computer resources

Page 10: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

Operating Systems (O/S) (Cont.)

Page 11: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

System Software

Page 12: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

Operating System Functions

• Systems Management

• User Interface

• Memory Allocation

• Multitasking, Multiprogramming, and Multiprocessing

• Times and Statistics

• Increasing Services from O/Ss

Page 13: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

Popular Operating Systems

Page 14: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

Linux and the Open Source Revolution

• Proprietary software: source code of the software public

• Open source software: source code can be obtained free of charge

• Contains fewer bugs because thousands of independent programmers review the code

Required Reading:

Chapter 1 and 2 from “Understanding Open Source Software Development” by Joseph Feller and Brian Fitzgerald

Boole Q+1 005.1 Fell

Page 15: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

What is Open Source Software?

• The term open source in common usage refers to any software with publicly available source code.

• Open source software is required to have its source code freely available; end-users have the right to modify and redistribute the software, as well as the right to package and sell the software

• Software with source code in the public domain meets the criteria, as does any software distributed under the popular GNU (GPL). Open-Source licences may have additional restrictions, such as a requirement to preserve the author’s names and copyright statement in the code.

Page 16: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

What is Open Source Software?

• Open Source can be either systems software (Linux) or application software (Mozilla, OpenOffice)

• Growing in popularity– Linux now has 23% market share– Second only to Microsoft

Page 17: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

Open Source Vs Proprietary

• The “source” in “open source” refers to the program code or instructions on which software is based.

• This is freely available for inspection unlike proprietary software e.g. MS Windows which is compiled into an executable form which runs on a computer.

• Once the source is freely available, the software becomes free to the end user, since anyone can install it, compile it and then use it.

Page 18: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

Open Source Organisation

• the basic idea behind open source is very simple– When programmers can read, redistribute, and modify the

source code for a piece of software, the software evolves. – People improve it, people adapt it, people fix bugs.– And this can happen at a speed that, if one is used to the

slowpace of conventional software development, seems astonishing.

• The open source community believes that this rapid evolutionary process produces better software than the traditional closed model, in which only a few programmers can see the source and everybody else must blindly use an opaque bloc of bits

Page 19: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

Linux

• Developed by Linus Torvalds• Posted code on the internet and invited

other developers to improve it.• Tens of thousands of developers have

worked on it (Open Source Community).• Has been adopted by end-users and by

established hardware vendors such as IBM and HP which supply it as an option with their computers.

Page 20: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

Open Source Projects

• Collaborative developments between software writers

• Worldwide workforce of enthusiasts

• Surprisingly, the software developed is stable enough to be used by commercial organisations

Page 21: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

Case: OSS in Munich• May 2003 - the city of Munich decided to oust Microsoft

Windows from the 14,000 computers used by local-government employees in favour of Linux, an open-source operating system.

• Although the contract was worth a modest $35m, Microsoft's chief executive, Steve Ballmer, interrupted his holiday in Switzerland to visit Munich and lobby the mayor.

• Microsoft even dropped its prices to match Linux– a remarkable feat since Linux is essentially free and users

merely purchase support services alongside it. • Microsoft still lost

– The city did not wish to place the functioning of government in the hands of a commercial vendor with proprietary standards which is accountable to shareholders rather than to citizens.

http://www.economist.com/business/displayStory.cfm?story_id=2054746

Page 22: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

Case: OSS in Munich

• Modern governments generate a vast number of digital files.– From birth certificates and tax returns to criminal DNA records,

the documents must be retrievable in perpetuity.

• So governments are reluctant to store official records in the proprietary formats of commercial-software vendors. This concern will only increase as e-government services, such as filing a tax return or applying for a driving licence online, gain momentum.

• In Microsoft's case, security flaws in its software, such as those exploited by the recent Blaster and SoBig viruses, are also a cause of increasing concern.

Page 23: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

Case: OSS in Munich

• Government purchases of software totalled almost $17 billion globally in 2002, and the figure is expected to grow by about 9% a year for the next five years.

• Microsoft controls a relatively small part of this market, with sales to governments estimated at around $2.8 billion.

• It is a crucial market, because when a government opts for a particular technology, the citizens and businesses that deal with it often have to fall into line. (In one notable example, America's defence department adopted the internet protocol as its networking standard, forcing contractors to use it, which in turn created a large market for internet-compliant products.)

Page 24: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

Case: Ernie Ball

• Guitar String manufacturer

• In 2000, the Business Software Alliance conducted a raid and audit on the firm – Found a few dozen unlicensed copies of

programs– Settled for $65K + $35k in legal fees– BSA “named and shamed” the firm on the

evening news and newspaper ads

Page 25: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

Case: Ernie Ball

• Ball told his IT department he wanted Microsoft products out of his business within six months– “I don't care if we have to buy 10,000 abacuses. We

won't do business with someone who treats us poorly."

• Ball's IT crew settled on open-source software– Red Hat's version of Linux– the OpenOffice office suite– Mozilla's Web browser– plus a few proprietary applications that couldn't be

duplicated by open source.Interview available at

http://news.com.com/2008-1082_3-5065859.html?tag=lh

Page 26: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

Advantages: Proprietary Software

• Indemnification;• Maintenance and support;• Licensee doesn’t have to have open source

savvy staff; • Licensees’ rights if:

– media is defective; – software contains viruses, backdoors, etc.;– product fails to meet written technical/business

specifications.

Page 27: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

Disadvantages: Proprietary Software

• COST!– License fee– Product bundling—example: Microsoft office.

• Licensee cannot modify or enhance the code;• Often not built to open standards, leading to

interoperability problems;• Shut off from continuing development and

information sharing in open source community;• Some proprietary code is not as good as its

open source counterparts.

Page 28: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

Advantages of Open Source

• Effectively free to purchase (but cost of migration from existing systems may be high)

• Lower cost of maintenance since software upgrades are free

• Increased flexibility

Page 29: Software: Instructions to the Computer A computer program is a series of instructions to a computer to execute any and all processes Computers only “understand”

Arguments against Open Source

• Has less functionality than commercial software (but commercial software has a lot of functionality that is not used by end-users e.g. Office Assistant)

• More likely to contain bugs since it is not tested commercially– Evidence suggests this is not the case

• Poor quality of support– Although IBM, RedHat etc. do support Linux for a fee


Top Related