COMPSCI 111 / 111G • Runs (Executes) from RAM Mastering Cyberspace: an Introduction to Practical Computing Software Is Loaded CPU Executes Instruction
Total Page:16
File Type:pdf, Size:1020Kb
What is software? Instructions and other data for the computer • Also known as “programs” • Loaded from Secondary Storage into Primary Memory COMPSCI 111 / 111G • Runs (executes) from RAM Mastering Cyberspace: An introduction to practical computing Software is loaded CPU executes instruction Hard Disk RAM Read / Write CPU Software http://en.wikipedia.org/wiki/Software 5/03/2008 COMPSCI 111/111G - Lecture 03 1 5/03/2008 COMPSCI 111/111G - Lecture 03 2 File Formats Standards All data is stored as (binary) numbers Open Standard • Data is organised in files (chunks of related data) • Published publicly • MthdfMethod of enco ding depen ds on the so ftware, call llded file format • Free to use • Maintained by a "non-profit" organisation File Formats • E.g. XML, HTML, UML • Defines the way that the numbers are interpreted • “Open” does not necessarily mean “good” • E.g. for a graphics file: “first the width, then the height, then all the pixel color values line by line” PitStddProprietary Standard File Extensions • Intellectual property of an entity (individual / company) • A dot followed by letters at the end of a file name • Use of the standard is usually through license • Windows OS uses the file extension to determine the file format • E.g. Adobe Flash, RealPlayer, • Also used to decide which application to use to open the file some digital rights management (DRM) technologies • Risk for users: vendor lock-in Graphics .jpg , .png , .gif Video .mpg , .avi , .divx Sound .mp3 , .wma , .ogg Programs .exe , .com , .bat "The nice thing about standards is that there are so many to choose from." Text .txt , .doc Program Code .c , .java , .cs , .py 5/03/2008 COMPSCI 111/111G - Lecture 03 3 5/03/2008 COMPSCI 111/111G - Lecture 03 4 Copyright and Patents Proprietary Software Software subject to normal legal copyright Software that has restrictions on using and copying • Copyright = “right to copy” • All rights are retained by the owner. • Creator retains the rights to their creations (not the ideas behind them) • Owner enforces these restrictions • Usually lasts for the life of the author plus 50 or 70 years • Best applicable to: music, visual art, literature, programs Can be: • Commercial Software Patents • Freeware • RtiRetain con tro l over ideas /i/ inven tions • Shareware • Usually enables to exclusively commercialise an idea for 20 years • Semi-free (for non-profit) (can be important to amortise research cost) • US recognises software patents, Europe does not • Hotly debated issue 5/03/2008 COMPSCI 111/111G - Lecture 03 5 5/03/2008 COMPSCI 111/111G - Lecture 03 6 Freeware Shareware Software is distributed free of charge Idea: try before you buy • No agreement about distribution, access to source code Trial period offered Types of Freeware • Purchase the license and upgrade to commercial version • Loss Leader (given away with loss as sales promotion) • Adware Nagware • Donationware • Reminder messages to license software • PtPostcar dware Crippleware Abandonware • Software lacks the advanced features until licensed • Not legally recognised • E.g. Word processor that cannot Save or Print E. g. MS Internet Explorer , Apple iTunes, Adobe Reader E.g. WinZip, TextPad 5/03/2008 COMPSCI 111/111G - Lecture 03 7 5/03/2008 COMPSCI 111/111G - Lecture 03 8 Open Source / Free Software Spyware, Malware, Viruses Free Software Spyware • Freedom to use and study the work • Collects data from your PC and sends it to someone else • Freedom to copy and share the work with others • May otherwise look like (or even be) a useful program • Freedom to change the work • The data may be sensitive (e.g. passwords, personal documents) • Freedom to distribute changed and therefore derivative works or just statistical Malware Copyright prevents these acts "I would love to change the world, but they won't give me the source code"code • Generic term for malicious software • EliitExplicit perm iiission is requ idired • Usually malicious program is disguised as useful program • Free software license gives permission • Causes harm, such as deleting or modifying data Richard Stallman Viruses • Free Software Foundation (FSF) • Small programs that attach themselves to other programs • GNU General Public License (GPL) • May cause harm • Copyleft Golden rule: never run programs (or open files) that you cannot trust !!! http://en.wikipedia.org/wiki/Copyleft 5/03/2008 COMPSCI 111/111G - Lecture 03 9 5/03/2008 COMPSCI 111/111G - Lecture 03 10 Kinds of Software Operating System Application Software Low-level software that allows you to use the system • Helps the user complete a task • Default interface when no application is running • E.g. word processor, spreadsheet, database, web browser, games • Manages the system: CPU, memory, HD, … • Does all the direct interaction with the hardware (using drivers) System Software • Needed to run the computer system Examples: • Operating System (OS): • Microsoft Windows: “Windows - so intuitive manages all the hardware resources for application programs most used, but many complaints you only need a 678-page manual. ” (CPU, RAM, HD, …) • Macintosh OS: • Device drivers: more expensive, less software & hardware, more focus on usability programs that help an OS to control a piece of hardware • UiUnix, Linux: • Diagnostic and maintenance tools: more technical tools for analysis, trouble shooting and optimisation Mac and PC: (e.g. c hec kdis k, de frag ) "Unix is user-friendly. http://www.apple .com/getamac/ads/ It's just very selective about who its friends are." http://en.wikipedia.org/wiki/Operating_system 5/03/2008 COMPSCI 111/111G - Lecture 03 11 5/03/2008 COMPSCI 111/111G - Lecture 03 12 Command Line Interface Graphical User Interface (GUI) Text-based Picture based • Powerful way to combine different commands • Windows, Icons, Mouse, Pointer • Hard to use: textual commands look weird if you don’t know them • Easy to use • Good for experts that use it often • Good for beginners http://en.wikipedia.org/wiki/Command_line_interface http://en.wikipedia.org/wiki/GUI 5/03/2008 COMPSCI 111/111G - Lecture 03 13 5/03/2008 COMPSCI 111/111G - Lecture 03 14 Web Browsers Email Clients 5/03/2008 COMPSCI 111/111G - Lecture 03 15 5/03/2008 COMPSCI 111/111G - Lecture 03 16 Office Software Graphics Software Inkscape Paint.net Blender Terragen 5/03/2008 COMPSCI 111/111G - Lecture 03 17 5/03/2008 COMPSCI 111/111G - Lecture 03 18 Sound/Music Software Scientific Software 5/03/2008 COMPSCI 111/111G - Lecture 03 19 5/03/2008 COMPSCI 111/111G - Lecture 03 20 Security Software Software Development Tools 5/03/2008 COMPSCI 111/111G - Lecture 03 21 5/03/2008 COMPSCI 111/111G - Lecture 03 22 What if software fails? Summary Usually software is not perfect !!! • Software (programs) consists of instructions that control the • Too complex to be completely free of errors computer and data • MhdthilkMany programmers have good technical know-how • PlddfdtitiPrograms are loaded from secondary storage into primary memory, but lack a sense of usability then executed by the CPU • User interfaces are often not logical "Men are from Mars. • Data is organized in files, which have different file formats WfVWomen are from Venus. If a problem occurs… • Software (and other data) is protected by copyright laws Computers are from hell." • It may not be your fault • Software can be proprietary or open-source or a mixture of both • You are most likely not the only one with that problem • Different kinds of software: • Ask others for help !!! • System software • Search the Internet and you will often find solutions • Applications Is it easy to fix a defect in a program? • SMlViSpyware, Malware, Viruses • Unfortunately, usually not • The internals of ppproprietary software are usually not accessible If all else fails, read the manual. • Open-source programs can be large and hard to understand • But often problems can be circumvented by using the program in a different way 5/03/2008 COMPSCI 111/111G - Lecture 03 23 5/03/2008 COMPSCI 111/111G - Lecture 03 24.