Thursday, March 5, 2009

Multiprocessing

Multiprocessing :
Some computers may divide their work between one or more separate CPUs, creating a multiprocessing configuration. Traditionally, this technique was utilized only in large and powerful computers such as supercomputers, mainframe computers and servers. However, multiprocessor and multi-core (multiple CPUs on a single integrated circuit) personal and laptop computers have become widely available and are beginning to see increased usage in lower-end markets as a result.

Supercomputers in particular often have highly unique architectures that differ significantly from the basic stored-program architecture and from general purpose computers. They often feature thousands of CPUs, customized high-speed interconnects, and specialized computing hardware. Such designs tend to be useful only for specialized tasks due to the large scale of program organization required to successfully utilize most of the available resources at once. Supercomputers usually see usage in large-scale simulation, graphics rendering, and cryptography applications, as well as with other so-called “embarrassingly parallel” tasks.

Application software classification

There are many subtypes of application software:

* Enterprise software addresses the needs of organization processes and data flow, often in a large distributed environment. (Examples include Financial, Customer Relationship Management, and Supply Chain Management). Note that Departmental Software is a sub-type of Enterprise Software with a focus on smaller organizations or groups within a large organization. (Examples include Travel Expense Management, and IT Helpdesk)
* Enterprise infrastructure software provides common capabilities needed to support Enterprise Software systems. (Examples include Databases, Email servers, and Network and Security Management)
* Information worker software addresses the needs of individuals to create and manage information, often for individual projects within a department, in contrast to enterprise management. Examples include time management, resource management, documentation tools, analytical, and collaborative. Word processors, spreadsheets, email and blog clients, personal information system, and individual media editors may aid in multiple information worker tasks.
* Content access software is software used primarily to access content without editing, but may include software that allows for content editing. Such software addresses the needs of individuals and groups to consume digital entertainment and published digital content. (Examples include Media Players, Web Browsers, Help browsers, and Games)
* Educational software is related to content access software, but has distinct requirements for delivering evaluations (tests) and tracking progress through material. It is also related to collaboration software in that many Educational Software systems include collaborative capabilities.
* Simulation software are computer software for simulation of physical or abstract systems for either research, training or entertainment purposes.
* Media development software addresses the needs of individuals who generate print and electronic media for others to consume, most often in a commercial or educational setting. This includes Graphic Art software, Desktop Publishing software, Multimedia Development software, HTML editors, Digital Animation editors, Digital Audio and Video composition, and many others. [2]
* Product engineering software is used in developing hardware and software products. This includes computer aided design (CAD), computer aided engineering (CAE), computer language editing and compiling tools, Integrated Development Environments, and Application Programmer Interfaces.

Computer Hardware


A personal computer is made up of computer hardware, multiple physical components onto which can be loaded into a multitude of software that perform the functions of the computer.

Typical PC hardware :
Motherboard:
The motherboard is the “body” of the computer, through which all other components interface. Components directly attached to the motherboard include:

* The central processing unit (CPU) performs most of the calculations which enable a computer to function, and is sometimes referred to as the “brain” of the computer. It is usually cooled by a heat sink and fan.
* The chipset mediates communication between the CPU and the other components of the system, including main memory.
* RAM is the system’s main memory or primary storage, and holds data and instructions for running applications and the operating system.
* The BIOS includes boot firmware and power management. The basic input and output tasks from which it gets its name are now handled by operating system drivers.
* Internal Buses connect the CPU to various internal components and to expansion cards for graphics and sound.

Current
* The northbridge memory controller, for RAM and PCI Express
*PCI Express, for graphics cards
* PCI, for other expansion cards
* SATA, for disk drives

Obsolete
* ATA (superseded by SATA)
* AGP (superseded by PCI Express)
* VLB VESA Local Bus (superseded by AGP)
* ISA (expansion card slot format obsolete in PCs, but still used in industrial computers)

External Bus Controllers support ports for external peripherals. These ports may be controlled directly by the southbridge I/O controller or based on expansion cards attached to the motherboard through the PCI bus.

* USB
* FireWire
* eSATA

II, Computer sizes and power


Computers can be generally classified by size and power as follows, though there is considerable overlap:

  • Personal computer: A small, single-user computer based on a microprocessor.
  • Workstation: A powerful, single-user computer. A workstation is like a personal computer, but it has a more powerful microprocessor and, in general, a higher-quality monitor.
  • Minicomputer: A multi-user computer capable of supporting up to hundreds of users simultaneously.
  • Mainframe: A powerful multi-user computer capable of supporting many hundreds or thousands of users simultaneously.
  • Supercomputer: An extremely fast computer that can perform hundreds of millions of instructions per second.