Sunday, August 10, 2003

Computer Archtechture

Book: Computer Systems

Chapter 1

Parts 1.1 and 1.2

  1. Levels of Abstraction
    1. Definition
      1. Abstraction is the supression of detail to show the essanceof the matter.
      2. An outline structure
      3. Division of responsibility through a chain of command
      4. Subdivision of a system into smaller subsystems.
    2. There are three graphical representations of levels of abstraction
      1. Level diagrams
        1. Boxes are arranged vertically
        2. Top box highest level of abstraction; bottom is least level of abstraction
      2. Nesting Diagrams
        1. Boxes inside each other
        2. Outer most box is most abstract, inner is least abstract

      3. hierarchical Tree
        1. Like the branches in a tree
        2. Top of tree is most abstract, bottom of tree is leastabstract
    3. Abstraction in Art
      1. Supression of details is an integral part of abstract art that carries over to computers
      2. This is shown by the art of solving the larger problems and working way to details later.
    4. Abstraction in documents
      1. The US Constitution shows examples of abstraction with levels of power
      2. You can see the level of abstraction by outlining the document.

    5. Abstraction in organizations
      1. In most organizations this will be a hierachcial structure
      2. Military organizations have a more direct chain of command
    6. Abstraction in Machines
      1. People relate to machines based on what they need to know to do their job
        1. Driver drives the car
        2. Mechanic knows how to fix the car
      2. Same is true with computers, you do not need to be a programmer to use a word processing program
    7. Abstraction in Computer Science
      1. There are seven levels of abstraction in computers
      2. Levels developed to make it easier to program/use.
      3. Levels are as follows
        1. Level 7 (APP7) Language dependant of application programs
          1. Where people first encounter computers
          2. Applications themselves
        2. Level 6 (HOL6) Machine independent Program Language
          1. Language use to make programs portable
          2. FORTRAN, BASIC, C++, Lisp, Java
        3. Level 5 (ASMB5) Assembler Language
          1. Specific for each computer type
          2. Saves us from having to program at a lower level

        4. Level 4 (OS4) Operating System Calls
          1. Specific to machine
          2. Allows for specific things to be done in the OS
        5. Level 3 (ISA3) Machine Language
          1. Language computer understands
          2. Tedious for people to use
        6. Level 2 (Mc2) Microinstructions and register transfer
          1. Important in the creation of handheld calculators
          2. Used on some computers for implantation of machine language
        7. Level 1 (LG1) Boolean Algebra and truthtables
          1. Original levels used to communicate with original
            computers
          2. Tedious and hard to do.
    8. Goal in book is to communicate with computers effectively
  2. Hardware
    1. Computers consist of Hardware and Software
      1. Hardware is physical part of the system
      2. Software is the set of programs that instructs the hardware
        1. Easier to modify
        2. Software allows computer to solve different types of problem.
    2. Computers have four basic components
      1. Input devices
      2. Output devices
      3. Main Memory
      4. Central processing unit (CPU)
    3. Computers are classified according to relative physical size.
      1. Small - Microcomputer
      2. Medium - Workstation
      3. Large - Mainframe
    4. Classifications are according to physical size as opposed to storage size
    5. Computer scientist are concerned with space (storage) and time (how long it takes to compute a problem).
    6. Input Devices
      1. Keyboards
        1. Standard typewriter style but produces electrical signals
        2. Stored as binary digits (BITs), eight of which is a BYTE
        3. Because of abstraction, user does not know how it works, just that it does
      2. Disk Drives
        1. Stores data on drive that can be later added to or read from
        2. Two types of disk drives
          1. floppy disks
            1. flexible oxide coated film
            2. capacity has improved greatly over the years
          2. Hard Disks
            1. Rigid, usually a metal like aluminium coated with oxide
            2. Most are permanent in computer but some are removable
        3. Third type that has become widely used is optical CDs
      3. Magnetic Tape Drives
        1. low cost makes good for storage use
        2. linear access (v. Random access for drives) makes it long to read in the data , especially if at end of tape
      4. Mouse Devices - used to move arrow around on screen
      5. Bar Code Readers
        1. UPC is classic example
        2. allows for quick and efficient entry of data
    7. Output Devices
      1. Disk Drives - talked about as input device
      2. Magnetic Tape Drives - talked about as input device
      3. Screens
        1. CRT - packaged separately from keyboard, works with microcomputer
        2. Terminal - keyboard and CRT, have to connect to a workstation or mainframe
        3. Early days were measured by lines of text, 24 lines by 80 character being the normal
        4. Not measured that way anymore due to graphical nature of operating systems
      4. Printers
        1. Vary in performance and cost
        2. Two main types are
          1. Ink Jets - spray ink on to a paper,print line at a time.
          2. Laser Printers - prints page at a time, burns information on to page
    8. Main Memory
      1. Sorts data being processed and programs
      2. It is volatile, looses its information when computer looses power
      3. Access method is random
    9. Central Processing Unit
      1. Controls all the other parts of the computer
      2. Has its own small set of memory called registers
      3. Machine instructions are hardwired into it
  3. Software
    1. Algorithm - a set of instructions that, when carried out in proper sequence, solve a problem in a finite amount of time
      1. Does not require a computer
      2. recipes are an example of algorithm
    2. Program - algorithm written for execution on a computer
      1. Must be in language of one the seven levels talked about earlier
      2. Programs are called software
        1. System Software
        2. Application Software
    3. Operating Systems - Program that makes the computer usable
      1. three functions
        1. File management - most familiar to user
          1. similar to storing files in an office
          2. Files are documents, programs or data
        2. Memory management
        3. Processor Management
    4. Software Analysis and Design
      1. Good programming has clarity, speed and memory constraints
      2. Writing a good program requires you to:
        1. Understand the problem
        2. Outline a solution
        3. Solve each part of your outlined problem
        4. test your solution by hand
        5. Test your solution on the computer
  4. Database Systems
    1. Most common of Level 7 Apps
      1. Program that lets users add, delete and modify records in a database
      2. Also permits a query - a request for information from a part of the database
    2. Come in three types
      1. hierarchical systems - fastest but most restrictive
      2. Network systems - more flexible, but harder to learn
      3. relational systems - most popular, flexible, easy to use, lowest speed
    3. Relations
      1. Store data in things that appear to be tables - called relations
      2. column is called a attribute and row is called a tuple
    4. Queries
      1. Requests for information from the database
      2. Results can be written in a table themselves
      3. This is a level APP7 language (Application)
      4. Examples of commands could be:
        1. select - takes rows that satisfy a condition
        2. project - takes columns from a given table that satisfy a condition
        3. join - creates new table from two other tables, twice as wide.
    5. Structure of the Language
      1. Reserve words - words that tell the database to do something
      2. identifiers - words that define the database and created by user.
      3. Common in all programming languages

No comments:

Post a Comment