Wednesday, November 3, 2010

Chapter 4 The Ghost in the Machine

    Ghost in the Machine- software Open source- type of program that allows the source code of the software to be readily accessible to a variety of people. Under a license agreement, which often has very few restrictions, the source code can be used, modified, and redistributed within a group of people. Linus Torvalds-
    • Linux creator
      • Linux- operating system- opens source software
      • Linux powers web servers, film, and animation workstations, scientific supercomputers, and a handful of handheld        
        Major categories of software:
    1. Compilers and other translator programs enable programmers to create other software
        • compilers a computer program (or set of programs) that transforms source code written in a programming language (the source language) into another computer language
    2. Software applications serves as productivity tools to help computer users solve problems
        • example of computer application programs- Microsoft Word, Photoshop, Paint, etc...
    3. System software coordinates hardware operations and does behind-the-scenes work the computer user seldom sees
        • can not see the result
    The hardware in a computer system is equipped to produce whatever a user requests
      • hardware produces your result
    A fast, stupid machine
    • programmers being with an algorithm: a set of step-by-step instruction written in a natural language, e.g. English
      • algorithm- effective method for solving a problem using a finite sequence of instructions
      • more instructional
    • the steps are often ambiguous, error-prone generalities
    • bound to make error because numerous number of steps
    • the steps are translated into the vocabulary of a programming language
The Language of Computers
    • machine language- numeric codes that represent data
    • high level language- falls between machine language and natural human language
      • compilers translate high-level language into machine language
      • examples: Perl, Python, BeanShell, KOC, JScript, snarf,....
      • computer translates the functions into terms it understands
    • natural language resembles languages spoken by human
software applications: tools for users
- many software companies have replaced their printed documentation with:
  1. tutorials
  2. reference materials
  3. help files
  4. online help
upgrading: users can upgrade a program to the new version by paying an upgrade fee to the software manufacturer
  • newer releases often have additional features and fewer bugs
compatibility
- allows software to function properly with the hardware operating system, and peripherals
- programs written for one type of computer system may not work on another
- a hardware needs a compatible software
disclaimers
  • software manufacturers limit their liability for software problems by selling software "as is"
  • licensing commercial software is copyrighted so it cant be legally duplicates for distribution to others can't use it illegally
    • software license
    • volume licenses
  • distribution of software is
    • direct sale
    • retail stores
    • maul-order catalogs
    • web sites
    • not all software is copyrighted
      • public domain software
      • shareware
Web Applications- an application that is accessed by a web browser over a network
- web connectivity- connecting
-use web's strength as huge repository of information
-online business transactions
- up-to-the-minute reports on a myriad of subjects
- traditional form of information broadcasting
- -> web applications are used to type in messages into the Internet
integrated application and suites: software bundles
  • vertical-market custom software
    • cost more than mass-market applications
  • jobs-specific software
    • billings
    • cataloging
    • reference software
    • managements
the hardware-software connection
-system software- class of software the  operating system and utility programs handling numerous behind the scenes program

utility programs- tools for system maintenance
  • repairs damaged data files
  • copy files between storage devices
  • translates files so other programs can read them
  • defends against viruses and other harmful program
  • compresses file- to take less space
device drivers- small program enabling input and output devices- keyboard, mouse, printer, etc- to communicate with the computer

operating system is either stored in ROM or part of it
--remainder of the operating system is loaded into memory in a process called booting, occurs when you turn on computer
- usually works behind the scenes
 user interface-  a program that controls a display for the user (usually on a computer monitor) and that allows the user to interact with the system
--interacting with the computer
--Microsoft Disc operating system user interacts by using letters, numbers, and symbols
human-machine connection
  • command-line interface- typing
  • menu-driven interface - on-screen list commands
graphical user interfaces (GUI)
  • Mac
  • Microsoft Windows
examples of UNIX- Solaris, neXTSTEP,...

No comments:

Post a Comment