Saturday, December 18, 2010

computer


What is a computer?
      Wikipedia definition says it is a programmable machine that receives input, stores and manipulates data, and provides output in a useful format.
      To compute means to calculate  so a computer is something that calculates
      Over the years computers have grown into various forms and sizes to suit the various needs of our day to day lives
      So computers are classified into the following groups
      Micro computers
      Mini computers
      Personal computers
      Mainframe computers
      Supercomputers


Micro computers:
      A microcomputer is a computing device. The invention of microprocessor single chip central processing unit gave birth to Microcomputer.

Descpription:

      Microcomputers are designed to serve one user at a time they can often be modified with software or hardware to concurrently serve more than one user.
      A microcomputer comes equipped with at least one type of data storage
      A microprocessors and semiconductor memory became less expensive, microcomputers in turn grew cheaper and easier to use.

History:
      The term "Microcomputer" came into popular use after the introduction of the minicomputer, Isaac Asimov used the term microcomputer as early as 1956.
      1970:
      The 1970s not only saw the birth of the microchip, but the sale of millions of micro computer kits to the general public.  
      1980:
      The 1980s saw the microcomputer re-branded as the personal computer by (IBM).
     This is also when assembly language began to be replaced by higher level languages.
      2000 and beyond:
      Hardware and software for micro computers continues to advance at unprecedented rates.

Facts:
      They are the most popular form of computers
      A large number of computer makers packaged microcomputers for use in small business applications.
      This allowed businesses unable to afford for buying minicomputer.
      The increasing availability and power of micro computers for personal use attracted the attention of more software developers.
Mini computers:
      DEFNITION:A minicomputer, a term no longer much used, is a computer of a size intermediate between a microcomputer and a mainframe. Typically, minicomputers have been stand-alone computers (computer systems with attached terminals and other devices) sold to small and mid-size businesses for general business applications and to large enterprises for department-level operations

History:

      Mini Computers: These are powerful computer. These computers come into existence in 1960s at that time mainframe computer was very costly. Mini computers were available in cheap prices, so users start using it.
      minicomputer is a class of multi-user computers that lies in the middle range of the computing spectrum, in between the largest multi-user systems (mainframe computers) and the smallest single-user systems (microcomputers or personal computers).

The Minicomputer's Industrial Impact and Heritage
Computer companies first built minicomputers:
      DEC
      DATA GENERAL
      HEWLETT PACKARD(HP)
      In the software content:
     Relatively simple OS for microcomputers were usually improved by minicomputers OS
§  UNIX was originally minicomputer OS.
§   In recent years, the minicomputer has evolved into the "mid-range server" and is part of a network.  
§  IBM’s As/400 is a good example.

Uses:
      Minicomputer is a relative term. These antiquated machines were developed in the 1960's, and used heavily into the 1980's, at which point they were replaced by personal computers. Minicomputers were compact alternatives to the large, room-sized computers of the same era. Costing somewhere in the neighborhood of $20,000 through the 60's and 70's, minicomputers had a limited range of functionality, and were used for three primary purposes: process control, data management, and communications

Personal computer:
Defenition:

      A personal computer (PC) is any general-purpose computer whose size, capabilities, and original sales price make it useful for individuals, and which is intended to be operated directly by an end user with no intervening computer operator.

History:
      A personal computer is an inexpensive computer, originally designed to be used by only one person at a time, and which is IBM PC compatible
      The earliest known use of the term was in New Scientist magazine in 1964
      The first generation of microcomputers that started to appear in the 1970s (see home computers) were less powerful and in some ways less versatile than business computers of the day (but in other ways more versatile, in terms of built-in sound and graphics capabilities), and were generally used by computer enthusiasts for learning to program, for running simple office/productivity applications, for electronics interfacing, and/or games, as well as for accessing BBS's, general online services such as CompuServe, The Source, or Genie, or platform-specific services such as Quantum Link (US) or Compunet (UK).
      It was the launch of the VisiCalc spreadsheet, initially for the Apple II and later for the Atari 8-bit family, Commodore PET, and IBM PC that became the "killer app" that turned the microcomputer into a business tool. Later, Lotus 1-2-3, a combined spreadsheet (partly based on VisiCalc), presentation graphics, and simple database application, became the PCs own killer app. Good word processor programs also appeared for many home computers. The low cost of personal computers led to great popularity in the home and business markets during the 1980s. In 1982, Time magazine named the personal computer its Man of the Year.
      During the 1990s, the power of personal computers increased radically, blurring the formerly sharp distinction between personal computers and multi-user computers such as mainframes. Today higher-end computers often distinguish themselves from personal computers by greater reliability or greater ability to multitask, rather than by straight CPU power.

Types:

      Work station
      Desktop computer
      Single unit pc
      Net top
      Laptop
      Net book
      Tablet pc
      Ultra mobile pc (UMPC)
      Home theater pc (HTPC)
      Pocket pc

Main frame computers:
      Mainframes are the powerful computers that can process billions of instructions per second and capable of accessing billions of data.
                       . The name comes from the way the machine is built up: all units  were hung into a frame and hence the name Mainframe computer evolved.
                  And because of the sheer development costs, mainframes are typically manufactured by large companies such as IBM, Amdahl, Hitachi.
                They are usually slower, less powerful and less expensive than supercomputers. A technique that allows many people at terminals, to access the same computer at one time is called time sharing.
               Mainframes are used by banks and many business to update inventory etc.
               Mainframe computers can support hundreds or thousands of users, handling massive amounts of input, output, and storage.
              Mainframe computers are used in large organizations where many users need access to shared data and programs.
              Mainframes are also used as e-commerce servers, handling transactions over the Internet.

              This computer is commonly used in big hospitals, air line reservations companies, and many other huge companies prefer mainframe because of its capability of retrieving data on a huge basis.

What classifies the computer as a mainframe?
      A mainframe has 1 to 16 CPU's (modern machines more)
      Memory ranges over 8 Gigabyte on line RAM
      Its processing power ranges from 80 over 550 Mips
      It has often different cabinets for
     Storage,I/O,RAM
      Separate processes (program) for
     task management
     program management
     job management
     serialization
     catalogs
     inter address space
     communication

Operating system for mainframes:
       Linux
       Unix
       Vms        

Super computer:
      The Wikipedia definition: a supercomputer is a computer that is at the frontline of current processing capacity, particularly speed of calculation
      The term supercomputer itself is rather fluid, and today's supercomputer tends to become tomorrow's ordinary computer

History:
      Early machines were simply very fast scalar processors
      1970s most supercomputers were dedicated to running a vector processor
      The early and mid-1980s machines with a number of vector processors working in parallel with the number of processors ranging from four to sixteen.
      later 1980s and 1990s: vector processors to massive parallel processing systems with thousands of ordinary CPUs
      Today, parallel designs are based on "off the shelf" server-class microprocessors, such as the PowerPC, Opteron, or Xeon, and coprocessors like NVIDIA Tesla GPGPUs, AMD GPUs, IBM Cell, FPGAs

About:
Supercomputers make use of the following technologies
      Vector processing
      Liquid cooling
      Non-Uniform Memory Access (NUMA)
      Striped disks (RAID)
      Parallel file systems

      Operating systems: Supercomputers today most often use variants of Linux
      Programming: The base language of supercomputer code is, in general, Fortran or C
      As of October 2010, the Tianhe-I located in China Is the fastest in the world

Uses:
Supercomputers are used for highly calculation intensive tasks like
       quantum physics
       weather forecasting, climate research, 
      molecular modelling(computing the structures and properties of chemical compounds, biological macromolecules, polymers, and crystals),
      physical simulations (simulation of airplanes in wind tunnels, detonation of nuclear weapons, and research into nuclear fusion).





softwares


SOFTWARE:
         Computer software, or just software, is the collection of computer programs and related data that provide the instructions telling a computer what to do.
         In other words, software refers to one or more computer programs and data held in the storage of the computer for some purposes.
         Software is also a collection of programs or pieces of program code put together is one set.
To operate a computer some programs are required which tells computer what to do & how to do. To perform a particular task a set of instructions written in sequence is called program. A person who writes these programs is called Programmer. These programs are written in computer languages. A set of programs is called software.
COMPUTER SOFTWARE INCLUDES:

         Middleware controls and co-ordinates distributed systems.
         Testware is software for testing hardware or a software package.
         Firmware is low-level software often stored on electrically program mable memory devices. Firmware is given its name because it is treated like hardware and run ("executed") by other software programs.
         Shrink ware is the older name given to consumer-bought software, because it was often sold in retail stores in a shrink-wrapped box.
         Device drivers control parts of computers such as disk drives, printers, CD drives, or computer monitors

SYSTEM SOFTWARE
System software provides the basic function for computer usage, which can be divided into operating system and support system
          Operating system is the most basic software.
         System software is responsible for managing variety of independent hardwares, so that they can work together harmoniously.
         It includes programs those are necessary to operate and control a computer system. E.g. Operating System, Boot Program and other computer maintenance software.
The purpose of systems software is to unburden the applications programmer from the often complex details of the particular computer being used, including such accessories as communications devices, printers, device readers, displays and keyboards, and also to partition the computer's resources such as memory and processor time in a safe and stable manner

Specific kinds of system software include:
ü  Loaders
ü  Linkers
ü  Utility software
ü  Graphical user interface(GUI)
ü  Shells 
ü  Hypervisors
ü  Boot loaders

         LOADERS: A loader is the part of an operating system that is responsible for loading programs. Once loading is complete, the operating system starts the program by passing control to the loaded program code.
         LINKERS: A linker or link editor is a program that takes one or more objects generated by a compiler and combines them into a single exe
         UTILITY SOFTWARE: Utility software is a kind of system software designed to help analyze, configure, optimize and maintain the computer. A single piece of utility software is usually called a utility or tool.
         GUI:A graphical user interface (GUI) is a type of user interface that allows users to interact with programs in more ways than typing such as computers; hand-held devices such as MP3 players, gaming devices,etc.
         SHELLS:A shell is a piece of software that provides an interface for users of an operating system which provides access to the services of a kernel.(Kernel – central component of operating system)
         HYPERVISORS: A hypervisor, also called virtual machine monitor (VMM), is one of many virtualization techniques which allow multiple operating systems, to run concurrently on a host computer. This feature is called as Hardware virtualization.
         BOOT LOADERS: Booting is a bootstrapping process that starts operating systems when the user turns on a computer system. A boot sequence is the initial set of operations that the computer performs when power is switched on.
    PROGRAMMING SOFTWARE
v  Programming software usually provides tools to assist a programmer in writing computer programs, and software using different programming languages in a more convenient way.
v  The tools include:
Ø  Compilers
Ø  Debuggers
Ø  Interpreters
Ø  Linkers
Ø Text Editors
 TOOLS: COMPILERS
A compiler is a computer program (or set of programs) that transforms source code written in a programming language  into another computer language .
v  The most common reason for wanting the compiler is to transform source code to create an executable program.
v  A compiler is mainly used to translate source code from high level programming language to low level programming language.
The compiler can perform following operations
v  Lexical Analysis
v  Pre Processing
v  Parsing
v  Semantic Analysis and Code Generation &Code Optimization
                     
TOOLS: DEBUGGERS

v  A debugger or debugging tool is a computer program that is used to test and debug other programs (the "target" program).
v  The function of debugger is used to eliminate bugs/errors. Debugger offers sophisticated functions such as
Ø  Running programs step by step and stopping (i.e.) pausing the program to examine the current state and tracking the values of some variables.
Ø  E.g. Oliver and Simon are Mainframe Debuggers.
                                                          TOOLS: INTERPRETERS
An interpreter normally performs the instructions written in programming language
                                         TOOLS: LINKERS AND TEXT EDITOR
LINKERS:
                                A linker or link editor is a program that takes one or more objects generated by a compiler and combines them into a single executable program.
TEXT EDITOR:
                            A text editor is a type of program used for editing plain texts. Text editors are often provided with operating systems or software development packages.

APPLICATION  SOFTWARE
Application software allows end users to accomplish one or more specific (non-computer related) tasks.
The programs or Software that are used to perform specific tasks. Computer languages are used to make this types of software.
Applications provide:
·         High level service that users access
·         Means to perceive capabilities of underlying internet.
·         Ex: send or receive e-mail, browse information archives.




Ø  Applications determines:
      Format of information displayed
      Mechanisms to access information.
Ø  An application must specify details such as
      Whether it is a client or a server
      The data to be sent
      Where in coming data should be sent
Ø  Application Program Interface (API)
      The interface an application uses when it interacts withtransport protocol software
         An API defines a set of operations that an application can perform when it interacts with protocol software
         An API contains a separate procedure for each basic operation.
         Typical applications include:
1.      Industrial automation
2.      Business software
3.      Video games
4.      Telecommunications
5.      Databases
6.      Educational software
7.      Mathematical software
8.      Image editing
9.      Word processing
10.Spreadsheet
         INDUSTRIAL  AUTOMATION: Automation is the use of control systems and information technologies to reduce the need for human work in the production of goods and services.
          BUSINESS SOFTWARE: Business software is generally any software program that helps business increase productivity or measures their productivity.
          VIDEO GAMES: A video game is an electronic game that involves interaction with a user interface to generate visual feedback on a video device.
          TELECOMMUNICATIONS: Telecommunication is the transmission of messages, over significant distances, for the purpose of communication.
DATABASES: A database consists of an organized collection of data for one or more uses, typically in digital form.
         EDUCATIONAL SOFTWARE: Educational software is computer software, the primary purpose of which is teaching or self-learning.
          MATHEMATICAL SOFTWARE: Mathematical software is software used to model, analyze, or calculate numeric, symbolic, or geometric data.
         IMAGE EDITING: Image editing encompasses the processes of altering images, whether they be digital photographs, traditional analog photographs, or illustrations.
          WORD PROCESSING: Word processing is the creation of documents using a word processor.
          SPREADSHEET: A spreadsheet is a computer application that simulates a paper, accounting worksheet.