1 / 54

Module Seven

Module Seven. Computer Software. Computer Software Computer Software. How applications work. Computer Software Computer Software. A sequence of instructions to do a task is called a program . Also known as software, or sometimes a script. Computer Software Computer Software.

cicily
Download Presentation

Module Seven

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Module Seven Computer Software

  2. Computer SoftwareComputer Software • How applications work.

  3. Computer SoftwareComputer Software • A sequence of instructions to do a task is called a program. • Also known as software, or sometimes a script.

  4. Computer SoftwareComputer Software • Some Examples -

  5. Computer SoftwareComputer Software • Word

  6. Computer SoftwareComputer Software • Excel

  7. Computer SoftwareComputer Software • Outlook

  8. Computer SoftwareComputer Software • InternetExplorer

  9. Computer SoftwareComputer Software • InternetExplorer6

  10. Computer SoftwareComputer Software • Firefox

  11. Computer SoftwareComputer Software • Safari

  12. Computer SoftwareComputer Software • AdobeAcrobat

  13. Computer SoftwareComputer Software • Skype

  14. Computer SoftwareComputer Software • WorldofWarcraft

  15. Computer SoftwareComputer Software • All of these use • the execution of instructions, and • The manipulation of data that we saw in the last section.

  16. Computer SoftwareComputer Software • Now, we’ll examine the concept of computer programs in a little more detail.

  17. Machine Language

  18. Computer SoftwareBinary Codes • Inside the computer,every piece of information is either a 0 or a 1. • These can be represented electrically or magnetically.

  19. Computer SoftwareBinary Codes • A single 0/1 value is a bit. • Every byte in memory is a group of eight bits. • Remember, that a computer’s memory is measured as megabytes or gigabytes.

  20. Computer SoftwareBinary Codes • Everything in memory is encoded using collections of bits.

  21. Computer SoftwareBinary Codes • The letter “a” is represented in memory as 0110 0001. • This is an example of a bit string. • Note that it uses eight bits - a byte.

  22. Computer SoftwareBinary Codes • The number 7 is represented as 0000 0111.

  23. Computer SoftwareBinary Codes • Even the instructions the computer uses are bit strings. • The instruction to add two numbers for a particular machine might be 1011 1011.

  24. Computer SoftwareMachine Language • To program the first computers, programmers had to enter the binary strings themselves. • Programs in this form are called machine code.

  25. Computer SoftwareMachine Language • Here is a sample of machine code: • 01001010010011100110011100000011111101010110101000011000100100010000111111001010001111010011110111110000011110010100011110100111101111011000000000011111101011100100100101110010000000111111010111001001001100100110011011011100111011110111110000000

  26. Computer SoftwareMachine Language • For anything but tiny programs, this was a terrible burden. • It was easy to make typos • References to data in memory had to be to the numeric address of that memory location (i.e. the piece of information in location 1001 0101 1111 0100)

  27. Assembly Language

  28. Computer SoftwareAssembly Language • Shortly thereafter, someone wrote a program called an assembler.

  29. Computer SoftwareAssembly Language • An assembler takes a file that contains names for the machine instructions. • It then translates this into the machine code. • For example, • Instead of 1011 1011 the programmer would write ADD for the add instruction. • Programmers could refer to data locations by names (labels, e.g. SUM), instead of by numeric address

  30. Computer SoftwareAssembly Language • Here is a sample of assembly language code: CLR SUM MOV #TAB, R4 LOOP: TST (R4) BEQ END ADD (R4), SUM ADD #2, R4 BR LOOP END: HALT

  31. Computer SoftwareAssembly Language • Easier than machine language, because it uses names for instructions and data locations.

  32. Computer SoftwareAssembly Language • But, because computers’ instructions are so simple, it takes large numbers of them to do even a simple operation.

  33. Computer SoftwareAssembly Language • This is especially true if they involve reading information from the keyboard or disk or writing it out to the monitor or disk. • So, even simple assembly language programs are ridiculously long.

  34. High-level Languages

  35. Computer SoftwareHigh-Level Languages • High level languages (HLLs) were invented that substitute English-like commands for tens or even hundreds of machine instructions.

  36. Computer SoftwareHigh-Level Languages • HLLs make the computer much easier to program. • Statements can be made much more humanly intuitive than the machine's native instructions.

  37. Computer SoftwareHigh-Level Languages • Also, the same HLL program can be used on different machines, with different machines languages. • This is known as portability.

  38. Computer SoftwareHigh-Level Languages • There are hundreds of HLLs. • Thousands? • Some of the first were • FORTRAN, • COBOL • LISP All of these are still used today.

  39. Computer SoftwareHigh-Level Languages • Other popular languages include • ALICE • BASIC • Pascal • Modula • C • Prolog • Java • C++ • Perl • Python • Ruby • Macro languages • Scripting languages • And many, many more

  40. Computer SoftwareComputer Software • High-level languages make the programmer’s life easier. • Relatively speaking

  41. Computer SoftwareComputer Software • A sample HLL (Perl) program: #!/usr/bin/perl -w # Input the value print "Enter a numeric value: "; $value = <>; chomp $value; # Is it positive, negative or zero? if ($value > 0) { print "$value is positive.\n"; } elsif ($value < 0) { print "$value is negative.\n"; } else { print "$value is zero."; }

  42. Module Eight Attacking Software

  43. Attacking SoftwareAttacking Software • How applications work, and how they can be attacked.

  44. Attacking SoftwareAttacking Software • The fundamental point is that a malicious piece of software does the same kinds of things that a legitimate one does. • The only difference is that its purpose is usually harmful to the computer or its user.

  45. Attacking Software Application-Based Security Attacks • If a malicious piece of software gets on your computer, it can use the computer’s own instructions and resources against you. • Many familiar types of computer attacks do just this: • Trojan horses • Viruses

  46. Attacking SoftwareAttacking Software • How malicious software uses your own computer for its purposes can be shown in a series of examples.

  47. Search

  48. Attacking Software Search • A helpful feature on modern computers is the search function. • It allows you to type in a word or phrase. • The computer can then check to see if that word or phrase is • part of a file name, or • part of the contents inside one of your files.

  49. Attacking SoftwareSearch • How it works - • Suppose you asked the computer to search for a specific word (e.g. iPod) in your “My Documents” folder. • The computer will search all of the data in all of those files for values matching “iPod” and will show you all files with that word in them.

More Related