<<

Chapter 3 of book... Computer Software

● Software consists of electronic instructions to tell computer how to perform desired task – Software can come on a CD, disk, or off the internet, among other forms ● Software can be classified as either system software or Application Software

● Software that user typically interacts with – Developed to perform a particular task for users (rather than the computer itself) – Includes Word Processing, spreadsheets, games – Examples are Word and World of Warcraft System Software

● Allows application software to interact with computer and perform desired task for user ● Helps computer manage resources ● Basic components of system software – Operating systems – Device Drivers – Utility Programs

● Principle component of system software in system ● Every general-purpose computer must have operating system in order to run other programs ● Allows user to focus on own tasks rather than managing computer ● Popular operating systems include Windows, , Macintosh OS Operating System

● Kernel/supervisor – central component of most operating systems – Provides communication between hardware and software components of computer – Kernel provides “abstraction layer” for the (CPU, memory, devices) ● Application software can be written without knowing the details of the particular CPU/memory/devices, only needs to know how to interact with the kernel – Without a kernel, application software would be significantly difficult to design Operating System

● Operating system tasks include – of loading the operating system into a computer's main memory – CPU Management ● Performed by kernel that remains in memory – File Management ● Operating system must know location of saved files – Task Management ● Computer may need to perform word processing and play music at the same – Security Management ● Password options for system/file access Operating Systems

● Multiple options ● Platform – processor model and operating system where computer system based – Examples are “Mac Platform”, “Windows Platform”, “PC Platform”, as well as Solaris and others Operating Systems

● Legacy systems – Older, may be outdated, but still functional – Still used rather than upgrading for some reason ● System works, so no reason for changing ● Maybe more expensive to upgrade rather than maintain current system ● System must always be available, complicates upgrading ● Way system works not understood (designers may have left company) – The DOS operating system is an important legacy system The DOS operating system

● DOS stands for – Initially released as PC-DOS in 1982 – Licensed by Microsoft to other computer makers as MS- DOS – Original operating produced by Microsoft – Used a command-driver interface rather than a graphical – Earlier versions of Windows built on top of DOS – Main uses of DOS today are running classic DOS games, running business software that only supports DOS, and supporting embedded DOS systems such as a computerized cash register The DOS operating system

Startup sequence of FreeDOS Describes itself as a “free DOS-compatible operating system for IBM- PC compatible systems” Macintosh Operating System

● Launched in 1984 – Super Bowl commercial introduced the Macintosh; ad introduced by Steve Jobs in flip: http://www.youtube.com/watch?v=lSiQA6KKyJo – Introductions to the Mac by Steve Jobs: http://www.youtube.com/watch?v=G0FtgZNOD44 ● Used a (GUI) – Interface based on work done at Xerox, based work on research at Stanford Research Institute – Eventually inspired Microsoft to upgrade from DOS to a system that used a GUI From Newsweek article about Mac: Macintosh Operating System

● Today, Mac is popular in desktop publishing and many educational settings – Some specialized applications only written in Windows ● Apple began using processors in mid-2005 – Possible to run Windows on a Mac computer with an Intel processor Apple and Microsoft...together

● 1983 event with Steve Jobs and Bill Gates: http://www.youtube.com/watch?v=NVtxEA7AEHg

● Original purpose was to make DOS more user-friendly – Early versions of Windows served as an “interface” for DOS – Windows began with introduction of “Interface Manager” project in 1981 – Windows 1.0 released in November 1985 – Windows 2.0 released in November 1987 – Windows 3.0 released in May 1990 – Didn't become that popular until 1992 with Windows 3.1 (according to book...Wikipedia says that Windows 3.0 was successful...) – What came after Windows 3.1? Microsoft Windows 1.0

● Released in November 1985 ● “Commercial” (maybe...) for Windows 1.0 by Steve Ballmer: http://www.youtube.com/watch?v=tGvHNNOLnCk ● Screenshot of Windows 1.0

No overlapping windows, could windows around “like a jigsaw puzzle” (why?) Microsoft Windows 2.0

● Released in November 1987 ● Had overlapping windows ● Introduced terminology of “minimize” and “maximize” as opposed to “iconize” and “zoom” Lawsuit: Apple vs. Microsoft

● Apple sued Microsoft over interface ● Full name is Apple Computer Inc. v. Microsoft Corporation, 35 F.3d 1435 (9th Cir. 1994) – Lawsuit was filed in 1988 – Lasted four years – Decision “affirmed on appeal” in 1994 – Appealed to Supreme Court; DENIED – Who won? Lawsuit: Apple vs. Microsoft

● Apple claimed that “look and feel” of the Macintosh operating system protected by copyright – Apple claimed that sum of elements more important than each individual element of OS – Judge insisted on analysis of specific GUI elements – Apple came up with list of 189 GUI elements – Judge determined that 179 had been licensed to Microsoft in Windows 1.0 agreement – Other 10 were either unoriginal to Apple or were the only possible way of expressing a particular idea – Court avoided a far reaching “look and feel” copyright ruling by basing ruling on license Apple and Microsoft for Windows 1.0, which wasn't what Apple wanted... Related Weird Al song...

● I'll Sue Ya: http://www.youtube.com/watch?v=LfO9JUNXN7U

Other tech-related lawsuits

Nintendo vs. Atari

Sega vs. Accolade Windows 3.0

● Windows 3.0 released on May 22, 1990 – First widely successful version of Windows – Significantly changed user interface from Windows 2.0 – Technical improvement made for better with Intel's 80286 and 80386 processors – Included both Reversi and the Solitaire card game Windows 3.1

● Windows 3.1 – Released on March 18, 1992 – Includes TrueType font system, made windows a serious desktop publishing platform – Included Minesweeper rather than Reversi...

● Intended to integrate previous separate MS-DOS and Windows products ● Make a number of significant changes to interface, including introduction of taskbar at the bottom on the screen ● Introduced with great fanfare – Commercial featuring Rolling Stones song “Start Me Up”: http://www.youtube.com/watch?v=5VPFKnBYOSI – Cyber sitcom with Matthew Perry and Jenifer Aniston: http://www.youtube.com/watch?v=1GWQgb015Lc ● Was the most successful operating system ever up to that point in terms of sales Windows 95

Familiar screenshot... Windows after Windows 95

● Windows 95 followed by – – Windows ME – Windows XP – – When is coming out? ● General GUI interface introduced with Windows 95 used in all future editions Windows 7

● Slated for retail release on October 22, 2009 – Focus appears to be on ease of use and performance rather than on “razzle-dazzle” graphics ● Gates has stated that Windows 7 would be more “user-centric” and also would focus on performance improvements ● Microsoft announced that it was using new tracing tools in the development of Windows 7 to measure the performance of the OS in order to locate and then fix inefficient code – According to Wikipedia “Figures released by Amazon.com suggest that sales of Windows 7 during the first eight hours of the pre-order period have already exceeded those of Windows Vista during its 17-week pre-order period” From official Windows 7 site: Note the stress on simplification and ease of use

Anyone planning on getting Windows 7? What about a “free” operating system? ● Is there one available? ● GNU (stands for GNU's Not ) project began in 1983 with the goal of creating a free operating system – Almost enough available available by early 1990s to create full operating system – HOWEVER, there is no free kernel available considered “good enough” to develop a free operating system to compete with Mac and Windows Linux

● Open-source operating system – Originally developed by Linus Torvalds in 1991 – Wanted to use the functions of his new PC with an 80386 processor – Wrote program in order to do so to be “independent of an operating system” – Eventually released that he had written kernel for an operating system ● Has since said that if a GNU kernel had been around, he would not have written his own Linux

● Wrote the following to the newsgroup .os.minix:

Hello everybody out there using minix -

I'm doing a (free) operating system (just a hobby, won't be big and professional like ) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).

I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-)

Linus ([email protected])

PS. Yes – it's free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(. Linux

● Torvalds worked with developers of the existing GNU project to work his kernel into a free and fully functioning operating system – Linux was initially published under Torvalds' name, limiting commercial activity – Eventually Torvalds decided to release Linux under the GNU General Public License, a license used for free software ● Allowed Linux to be used without restriction – Torvalds has stated that “making Linux GPL'd was definitely the best thing I ever did.” Linux

● Linux today – Multiple versions, some of which use a GUI that is similar to Windows/Mac – Popular versions include Red Hat, Ubuntu ● These companies generate revenue by selling services and support ● Red Hat has managed to be profitable focusing on business software as businesses that are more likely to pay for support – Considered by some to be a threat to the popularity of Windows Ubuntu

● One of the most popular and user-friendly Linux distributions – From the Ubuntu website: “Ubuntu is an African word meaning 'Humanity to others', or 'I am what I am because of who we all are'. The Ubuntu distribution brings the spirit of Ubuntu to the software world.” – Computers are sold from with Ubuntu installed rather than Windows – Free download available at http://www.ubuntu.com – Comes with free, open-source software such as OpenOffice, , Rhythmbox, etc. – Sponsored by UK based company Canonical ● Attempts to make money by selling technical support and charging for services connected to Ubuntu ● Yet to be profitable; long term future uncertain Ubuntu

Ubuntu screenshot...note the similarity to Windows desktop (taskbar, etc...) Types of Software

● Commercial Software – Also call propriety software – Offered for sale – Copyrighted, which means that you aren't allowed to copy it without permission – User does not “own” the software after buying it ● Only has a ● Not allowed to give away or re-sell software ● Different forms of software licenses – Microsoft Windows, Microsoft Word, and World of Warcraft are examples of commercial software Types of Software

● Shareware – “Try before you buy” – Copyrighted software distributed free but “requires” payment to continue using it after a certain period ● Winzip was an example of shareware ● Many users did not actually pay for it; just clicked through the “nag screen” saying they should pay for it... Types of Software

● Free, open-source software – Includes Linux, Firefox, OpenOffice – Categories include software and software with some sort of public “license” Types of Software

● Programmer writes a game and posts it online... – Is there a copyright on it? – What is “”...? ● How might it relate to “copyright”? Types of Software

● Programmer writes a game and posts it online... – Is there a copyright on it? – What is “copyleft”...? ● Copyleft is a play on the term “copyright” ● Describes “practice of using copyright law to remove restrictions on distributing copies and modified versions of a work for others and requiring that same freedoms be preserved in modified versions” ● By default, work is copyrighted in most major nations (from Berne Convention, an international agreement governing copyright)...so yes, there is a copyright on the game ● Addition of a copyleft license modifies the default copyright and sets the conditions of those who use the work GNU General Public License

● Widely used free software license – Multiple versions – GNU Lesser General Public License less restrictive ● Strong copyleft license – Requires derived works to be available under same copyleft ● Used for Linux, Firefox, OpenOffice ● Criticism of GPL: – Steve Ballmer of Microsoft described Linux as "a cancer that attaches itself in an intellectual property sense to everything it touches." – GPL has been negatively described as “viral” since each component of the program must have GPL-compatible license; can't link to code with GPL-incompatible license Types of Software

● Public-domain software – Could be donated to the public by creators – May be developed at tax-payer expense – Not protected by copyright – Can be copied and used by anyone – Often available via the internet and code often available – Users can modify and enhance the software as desired – Image processing/analysis program ImageJ is an example of public domain software that is available online ● Disclaimer on site: “ImageJ is being developed at the National Institutes of Health by an employee of the Federal Government in the course of his official duties. Pursuant to Title 17, Section 105 of the United States Code, this software is not subject to copyright protection and is in the public domain. ImageJ is an experimental system. NIH assumes no responsibility whatsoever for its use by other parties, and makes no guarantees, expressed or implied, about its quality, reliability, or any other characteristic.” Other Operating Systems

● Discussed Dos, Macintosh OS, Windows, and Linux as operating systems for the – Other operating systems designed to work with networks/handhelds Network Operating Systems

● Netware – Popular for coordinating local area networks (LANs) in a company or campus – Popularity attributed in part to fact that networks of PCs could often exchange information more cheaply than mainframe/midrange computers of the previous generation ● Microsoft – Released network operating systems Microsoft NT and later , Windows 2003, Network Operating Systems

● Unix – Developed in 1969 at AT&T Bell Laboratories – “Proprietary multitasking operating system for multiple users with built-in networking capability and can run on all kinds of computers” – Primary used on mainframes, workstations and servers rather than PCs – Used for website management and runs the backbone of the internet – Solaris, operating system by Sun which can be found in the Udel labs, is based on Unix Operating Systems for Handhelds/Embedded systems ● Handheld computers need specialized operating system, likely on a single chip – Operating systems for handhelds include Palm OS, Windows CE, and Symbian OS ● Palm OS described in book as dominant operating system for handhelds and this was true at one point, but the original Palm OS has essentially been discontinued as of February 2009 – Goals of handheld OS often differ from goals of desktop/laptop OS ● Handheld devices may not have much storage, so OS must work around this constraint OS for IPod /IPhone

● IPod Touch and the IPhone uses a OS called the IPhone OS ● Operating system takes less than 240 Megabytes of the device's total memory storage ● Apple says that reduced size of operating system (compared to desktop/laptop OS) is result of expertise of Apple team rather than cutting functionality or core technologies Device Drivers

● Device Drivers – Defined as software that allows input/output device to communicate with the rest of the computer system – Driver often only works with a single operating system – Many device drivers come with system software when you buy a computer and may already be installed – Often necessary to install when you buy a input/output device (such as a ) ● Device driver software will often be accompanied by the hardware in the form of a CD Utility Programs

● Also called service programs ● Used for tasks related to control and allocation of computer resources – Tasks include de-fragmentation and disc cleanup, backing up , compressing files, recovering lost data, virus protection, and identifying hardware problems – Most computers come with some built-in utilities, but can also be bought separately – Winzip was a very popular utility program, but now Windows come with mechanism for zipping/unzipping files Utility Programs

● Norton Utilities – Early example of utility program – Story is that “programming legend” Peter Norton deleted important file while working at computer – Norton decided to write program to file ● Program called “UNERASE” ● Centerpiece of Norton utilities collection ● Collection also had a BEEP utility, which caused the computer to beep ● Success caused Norton to be made utilities editor of PC Magazine Application Software

● Software that you actually “use” – The system software is there to allow the application software to perform as desired – Includes Word Processing programs, Spreadsheet programs, database programs as well as games – Many of these forms of application software will be used in labs Application Software

software – For this class, we are using the most form of web design software (what is it?...) – Many commercial and application software are available for web page design – Software often contains a WYSIWYG editor that differs from hand-coding in HTML ● HTML generated automatically ● Also contains the option to see/modify the code Web Design Software

● Dreamweaver – Originally created by Macromedia, now developed by Adobe (which bought Macromedia in 1995) – Commercial software; costs $400 – Supports web technology including HTML, XHTML, CSS, XML, JavaScript, multiple Ajax frameworks, PHP, Adobe ColdFusion® software, and ASP Web Design Software

● Seamonkey Composer – Continuation of Composer – Free and open source – Limited in support for web technology beyond basic HTML Why learn HTML...?

● Application software is out there that automatically generates HTML – Technically, no need to “know” HTML to make a web page – Professional web designers (likely) don't hand-code everything in HTML...would take too much time – No need to re-invent the wheel every time... Why learn HTML...?

● HOWEVER, it's important to know what is happening under the hood – Know what is possible in HTML to achieve desired results – May be problems in application software re: certain tasks that can be covered by editing the underlying HTML Why learn HTML...?

● Worked with team to make website for after- school program during my senior year at UMASS – Most of the development was done using Mozilla Composer – Found it necessary to edit underlying HTML to adjust table cells to the desired size Index Page of Site

Unfortunately, the page is no longer online... Gaming and Copyrights

Back to ethics! Copyright law not originally written to account for video games: http://www.onnetworks.com/videos/play-value/mine...gaming-and-intellectual-property

Initial success of video games came “out of nowhere”; copyright laws were not prepared for them There was more anticipation regarding the internet, but there are still clearly some of the same issues there... Homework (due Wednesday)

● Read Chapter 3 of book... ● Go to the “Computer Museum” on the ground floor of Smith Hall – Choose 1 of the computer there and write down the specs given (if for some reason you can't get to the museum, let me know why and look up the specs of a pre-1988 computer) – Look up a “modern computer” of some sort (can make it a high-end computer such as Alienware, or a low-end netbook), and the specs of this computer in the same categories as for the “museum computer” – Find the specs in the same categories (as much as possible) for the IPod Touch – Add this info to your HTML page (which you hopefully have online) in a presentable manner or make a new HTML page with this info ● Look up “AT&T Bell Labs” – Find what it is, three things invented there, and one notable person who worked there ● Briefly describe the inventions and the person ● Add this to HTML page (or make another one...)