Sunday, October 11, 2009


Computer Software

Computer software, or just software is a general term used to describe the role that computer programs, procedures and documentation play in a computer system.
The term includes:

* Application software, such as word processors which perform productive tasks for users.

* Firmware, which is software programmed resident to electrically programmable memory devices on board mainboards or other types of integrated hardware carriers.

* Middleware, which controls and co-ordinates distributed systems.

* System software such as operating systems, which interface with hardware to provide the necessary services for application software.

* Software testing is a domain dependent of development and programming. Software testing consists of various methods to test and declare a software product fit before it can be launched for use by either an individual or a group.

* Testware, which is an umbrella term or container term for all utilities and application software that serve in combination for testing a software package but not necessarily may optionally contribute to operational purposes. As such, testware is not a standing configuration but merely a working environment for application software or subsets thereof.

Software includes things such as websites, programs or video games, that are coded by programming languages like C or C++.

"Software" is sometimes used in a broader context to mean anything which is not hardware but which is used with hardware, such as film, tapes and records.
Contents


* 1 Overview
o 1.1 Relationship to computer hardware
* 2 Types of software
o 2.1 System software
o 2.2 Programming software
o 2.3 Application software
* 3 Software topics
o 3.1 Architecture
o 3.2 Documentation
o 3.3 Library
o 3.4 Standard
o 3.5 Execution
o 3.6 Quality and reliability
o 3.7 License
o 3.8 Patents
* 4 Design and implementation
* 5 Industry and organizations
* 6 References

Overview

Computer software is often regarded as anything but hardware, meaning that the "hard" are the parts that are tangible while the "soft" part is the intangible objects inside the computer. Software encompasses an extremely wide array of products and technologies developed using different techniques like programming languages, scripting languages, microcode, or an FPGA configuration. The types of software include web pages developed by technologies like HTML, PHP, Perl, JSP, ASP.NET, XML, and desktop applications like OpenOffice, Microsoft Word developed by technologies like C, C++, Java,or C#. Software usually runs on an underlying software operating systems such as the Linux or Microsoft Windows. Software also includes video games and the logic systems of modern consumer devices such as automobiles, televisions, and toasters.

Relationship to computer hardware

Computer software is so called to distinguish it from computer hardware, which encompasses the physical interconnections and devices required to store and execute (or run) the software. At the lowest level, software consists of a machine language specific to an individual processor. A machine language consists of groups of binary values signifying processor instructions that change the state of the computer from its preceding state. Software is an ordered sequence of instructions for changing the state of the computer hardware in a particular sequence. It is usually written in high-level programming languages that are easier and more efficient for humans to use (closer to natural language) than machine language. High-level languages are compiled or interpreted into machine language object code. Software may also be written in an assembly language, essentially, a mnemonic representation of a machine language using a natural language alphabet. Assembly language must be assembled into object code via an assembler. Examples of assembly languages are java, visual basic and C++ just to mention afew.

The term "software" was first used in this sense by John W. Tukey in 1958. In computer science and software engineering, computer software is all computer programs. The theory that is the basis for most modern software was first proposed by Alan Turing in his 1935 essay Computable numbers with an application to the Entscheidungsproblem.

Types of software

A layer structure showing where Operating System is located on generally used software systems on desktops

Practical computer systems divide software systems into three major classes[citation needed] system software, programming software and application software, although the distinction is arbitrary, and often blurred.
System software

System software helps run the computer hardware and computer system. It includes a combination of the following:

* device drivers
* operating systems
* servers
* utilities
* windowing systems

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. Examples are- Windows XP, Linux and Mac.

Programming software

Programming software usually provides tools to assist a programmer in writing computer programs, and software using different programming languages in a more convenient way. The tools include:

* compilers
* debuggers
* interpreters
* linkers
* text editors

An Integrated development environment (IDE) is a single application that attempts to manage all these functions.

Application software

Application software allows end users to accomplish one or more specific (not directly computer development related) tasks. Typical applications include:

* industrial automation
* business software
* computer games
* quantum chemistry and solid state physics software
* telecommunications (i.e., the internet and everything that flows on it)
* databases
* educational software
* medical software
* military software
* molecular modeling software
* image editing
* spreadsheet
* Word processing
* Decision making software

Application software exists for and has impacted a wide variety of topics.
Software topics
Architecture

Software architecture

Users often see things differently than programmers. People who use modern general purpose computers (as opposed to embedded systems, analog computers and supercomputers) usually see three layers of software performing a variety of tasks: platform, application, and user software.

* Platform software: Platform includes the firmware, device drivers, an operating system, and typically a graphical user interface which, in total, allow a user to interact with the computer and its peripherals (associated equipment). Platform software often comes bundled with the computer. On a PC you will usually have the ability to change the platform software.

* Application software: Application software or Applications are what most people think of when they think of software. Typical examples include office suites and video games. Application software is often purchased separately from computer hardware. Sometimes applications are bundled with the computer, but that does not change the fact that they run as independent applications. Applications are usually independent programs from the operating system, though they are often tailored for specific platforms. Most users think of compilers, databases, and other "system software" as applications.

* User-written software: End-user development tailors systems to meet users' specific needs. User software include spreadsheet templates, word processor [Platform software: Platform includes the firmware, device drivers, an operating system, and typically a graphical user interface which, in total, allow a user to interact with the computer and its peripherals (associated equipment). Platform software often comes bundled with the computer. On a PC you will usually have the ability to change the platform software. Even email filters are a kind of user software. Users create this software themselves and often overlook how important it is. Depending on how competently the user-written software has been integrated into default application packages, many users may not be aware of the distinction between the original packages, and what has been added by co-workers.

Documentation Software documentation

Most software has software documentation so that the end user can understand the program, what it does, and how to use it. Without a clear documentation, software can be hard to use—especially if it is a very specialized and relatively complex software like the Photoshop or AutoCAD.

Developer documentation may also exist, either with the code as comments and/or as separate files, detailing how the programs works and can be modified.

Library Software library
An executable is almost always not sufficiently complete for direct execution. Software libraries include collections of functions and functionality that may be embedded in other applications. Operating systems include many standard Software libraries, and applications are often distributed with their own libraries.

Standard Software standard

Since software can be designed using many different programming languages and in many different operating systems and operating environments, software standard is needed so that different software can understand and exchange information between each other. For instance, an email sent from a Microsoft Outlook should be readable from Yahoo! Mail and vice versa.

Execution Execution (computing)

Computer software has to be "loaded" into the computer's storage (such as a [hard drive], memory, or RAM). Once the software has loaded, the computer is able to execute the software. This involves passing instructions from the application software, through the system software, to the hardware which ultimately receives the instruction as machine code. Each instruction causes the computer to carry out an operation – moving data, carrying out a computation, or altering the control flow of instructions.

Data movement is typically from one place in memory to another. Sometimes it involves moving data between memory and registers which enable high-speed data access in the CPU. Moving data, especially large amounts of it, can be costly. So, this is sometimes avoided by using "pointers" to data instead. Computations include simple operations such as incrementing the value of a variable data element. More complex computations may involve many operations and data elements together.

Quality and reliability Software quality, Software testing, and Software reliability

Software quality is very important, especially for commercial and system software like Microsoft Office, Microsoft Windows and Linux. If software is faulty (buggy), it can delete a person's work, crash the computer and do other unexpected things. Faults and errors are called "bugs." Many bugs are discovered and eliminated (debugged) through software testing. However, software testing rarely – if ever – eliminates every bug; some programmers say that "every program has at least one more bug" (Lubarsky's Law). All major software companies, such as Microsoft, Novell and Sun Microsystems, have their own software testing departments with the specific goal of just testing. Software can be tested through unit testing, regression testing and other methods, which are done manually, or most commonly, automatically, since the amount of code to be tested can be quite large. For instance, NASA has extremely rigorous software testing procedures for many operating systems and communication functions. Many NASA based operations interact and identify each other through command programs called software. This enables many people who work at NASA to check and evaluate functional systems overall. Programs containing command software enable hardware engineering and system operations to function much easier together.

License Software license

The software's license gives the user the right to use the software in the licensed environment. Some software comes with the license when purchased off the shelf, or an OEM license when bundled with hardware. Other software comes with a free software license, granting the recipient the rights to modify and redistribute the software. Software can also be in the form of freeware or shareware.

Patents Software patent and Software patent debate

Software can be patented; however, software patents can be controversial in the software industry with many people holding different views about it. The controversy over software patents is that a specific algorithm or technique that the software has may not be duplicated by others and is considered an intellectual property and copyright infringement depending on the severity. Some people believe that software patent hinder software development, while others argue that software patents provide an important incentive to spur software innovation.

Design and implementation Software development, Computer programming, and Software engineering

Design and implementation of software varies depending on the complexity of the software. For instance, design and creation of Microsoft Word software will take much longer time than designing and developing Microsoft Notepad because of the difference in functionalities in each one.

Software is usually designed and created (coded/written/programmed) in integrated development environments (IDE) like Eclipse, Emacs and Microsoft Visual Studio that can simplify the process and compile the program. As noted in different section, software is usually created on top of existing software and the application programming interface (API) that the underlying software provides like GTK+, JavaBeans or Swing. Libraries (APIs) are categorized for different purposes. For instance, JavaBeans library is used for designing enterprise applications, Windows Forms library is used for designing graphical user interface (GUI) applications like Microsoft Word, and Windows Communication Foundation is used for designing web services. Underlying computer programming concepts like quicksort, hashtable, array, and binary tree can be useful to creating software. When a program is designed, it relies on the API. For instance, if a user is designing a Microsoft Windows desktop application, he/she might use the .NET Windows Forms library to design the desktop application and call its APIs like Form1.Close() and Form1.Show() to close or open the application and write the additional operations him/herself that it need to have. Without these APIs, the programmer needs to write these APIs him/herself. Companies like Sun Microsystems, Novell, and Microsoft provide their own APIs so that many applications are written using their software libraries that usually have numerous APIs in them.

Software has special economic characteristics that make its design, creation, and distribution different from most other economic goods. A person who creates software is called a programmer, software engineer, software developer, or code monkey, terms that all essentially have a same meaning.

Industry and organizations Software industry

Software has its own niche industry that is called the software industry made up of different entities and peoples that produce software, and as a result there are many software companies and programmers in the world. Because software is increasingly used in many different areas like in finance, searching, mathematics, space exploration, gaming and mining and such, software companies and people usually specialize in certain areas. For instance, Electronic Arts primarily creates video games.

Also selling software can be quite a profitable industry. For instance, Bill Gates, the founder of Microsoft is the second richest man in the world in 2008 largely by selling the Microsoft Windows and Microsoft Office software programs. The same goes for Larry Ellison, largely through his Oracle database software.

There are also many non-profit software organizations like the Free Software Foundation, GNU Project, Mozilla Foundation. Also there are many software standard organizations like the W3C, IETF and others that try to come up with a software standard so that many software can work and interoperate with each other like through standards such as XML, HTML, HTTP or FTP.

Some of the well known software companies include Microsoft, Oracle, Novell, SAP, Adobe Systems, and Corel.

Computer Hardware

Typical PC hardware

Hardware of Personal Computer.
1. Monitor
2. Motherboard
3. CPU
4. RAM Memory
5. Expansion card
6. Power supply
7. CD-ROM Drive
8. Hard Disk
9. Keyboard
10. Mouse

Inside a custom computer.

Though a PC comes in many different form factors, a typical personal computer consists of a case or chassis in a tower shape (desktop) and the following parts:

Motherboard

The motherboard is the main component inside the case. It is a large rectangular board with integrated circuitry that connects the rest of the parts of the computer including the CPU, the RAM, the disk drives (CD, DVD, hard disk, or any others) as well as any peripherals connected via the ports or the expansion slots.

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 Stores all running processes (applications) and the current running OS. RAM Stands for Random Access Memory
* The BIOS includes boot firmware and power management. The Basic Input Output System tasks are handled by operating system drivers.
* Internal Buses connect the CPU to various internal components and to expansion cards for graphics and sound.
o Current
+ The northbridge memory controller, for RAM and PCI Express
# PCI Express, for expansion cards such as graphics and physics processors, and high-end network interfaces
+ PCI, for other expansion cards
+ SATA, for disk drives
o 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.
o USB
o FireWire
o eSATA
o SCSI


Power supply unit (computer)

Includes power cords, switch, and cooling fan. Supplies power at appropriate voltages to the motherboard and internal disk drives. It also converts alternating current to direct current and provides different voltages to different parts of the computer.

Video display controller Graphics card

Produces the output for the computer monitor. This will either be built into the motherboard or attached in its own separate slot (PCI, PCI-E, PCI-E 2.0, or AGP), in the form of a graphics card.

Most video cards support the most basic requirements, and video card manufacturing companies are doing a good job of keeping up with the requirements the games need. However the games are still evolving faster than the video because of manufacturing companies.

Removable media devices Computer storage

* CD (compact disc) - the most common type of removable media, suitable for music and data.
o CD-ROM Drive - a device used for reading data from a CD.
o CD Writer - a device used for both reading and writing data to and from a CD.
* DVD (digital versatile disc) - a popular type of removable media that is the same dimensions as a CD but stores up to 12 times as much information. It is the most common way of transferring digital video, and is popular for data storage.
o DVD-ROM Drive - a device used for reading data from a DVD.
o DVD Writer - a device used for both reading and writing data to and from a DVD.
o DVD-RAM Drive - a device used for rapid writing and reading of data from a special type of DVD.
* Blu-ray Disc - a high-density optical disc format for data and high-definition video. Can store 70 times as much information as a CD.
o BD-ROM Drive - a device used for reading data from a Blu-ray disc.
o BD Writer - a device used for both reading and writing data to and from a Blu-ray disc.
* HD DVD - a discontinued competitor to the Blu-ray format.
* Floppy disk - an outdated storage device consisting of a thin disk of a flexible magnetic storage medium. Used today mainly for loading RAID drivers.
* Iomega Zip drive - an outdated medium-capacity removable disk storage system, first introduced by Iomega in 1994.
* USB flash drive - a flash memory data storage device integrated with a USB interface, typically small, lightweight, removable, and rewritable. Capacities vary, from hundreds of megabytes (in the same ballpark as CDs) to tens of gigabytes (surpassing, at great expense, Blu-ray discs).
* Tape drive - a device that reads and writes data on a magnetic tape, used for long term storage and backups.

Internal storage

Hardware that keeps data inside the computer for later use and remains persistent even when the computer has no power.

* Hard disk - for medium-term storage of data.
* Solid-state drive - a device similar to hard disk, but containing no moving parts and stores data in a digital format.
* RAID array controller - a device to manage several internal or external hard disks and optionally some peripherals in order to achieve performance or reliability improvement in what is called a RAID array.

Sound card

Enables the computer to output sound to audio devices, as well as accept input from a microphone. Most modern computers have sound cards built-in to the motherboard, though it is common for a user to install a separate sound card as an upgrade. Most sound cards, either built-in or added, have surround sound capabilities.

Other Peripheral

In addition, hardware devices can include external components of a computer system. The following are either standard or very common.
Wheel Mouse

Includes various input and output devices, usually external to the computer system.

Input

* Text input devices
o Keyboard - a device to input text and characters by depressing buttons (referred to as keys), similar to a typewriter. The most common English-language key layout is the QWERTY layout. The QWERTY layout always starts with QWERTY.
* Pointing devices
o Mouse - a pointing device that detects two dimensional motion relative to its supporting surface.
o Optical Mouse - a newer technology that uses lasers, or more commonly LEDs to track the surface under the mouse to determine motion of the mouse, to be translated into mouse movements on the screen.
o Trackball - a pointing device consisting of an exposed protruding ball housed in a socket that detects rotation about two axes.

* Gaming devices
o Joystick - a general control device that consists of a handheld stick that pivots around one end, to detect angles in two or three dimensions.
o Gamepad - a general handheld game controller that relies on the digits (especially thumbs) to provide input.
o Game controller - a specific type of controller specialized for certain gaming purposes.
* Image, Video input devices
o Image scanner - a device that provides input by analyzing images, printed text, handwriting, or an object.
o Webcam - a low resolution video camera used to provide visual input that can be easily transferred over the internet.
* Audio input devices
o Microphone - an acoustic sensor that provides input by converting sound into electrical signals.

computer hardware and software cobination

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. This is in contrast to the batch processing or time-sharing models which allowed large expensive mainframe systems to be used by many people, usually at the same time, or large data processing systems which required a full-time staff to operate efficiently.

A personal computer may be a desktop computer, a laptop computer, tablet computer or a palmtop. The most common microprocessors are x86-compatible CPUs, ARM architecture CPUs and PowerPC CPUs. Software applications for personal computers include word processing, spreadsheets, databases, Web browsers and e-mail clients, games, and myriad personal productivity and special-purpose software. Modern personal computers often have high-speed or dial-up connections to the Internet, allowing access to the World Wide Web and a wide range of other resources.

A PC may be used at home, or may be found in an office. Personal computers can be connected to a local area network (LAN) either by a cable or wirelessly.

While early PC owners usually had to write their own programs to do anything useful with the machines, today's users have access to a wide range of commercial and non-commercial software which is provided in ready-to-run form. Since the 1980s, Microsoft and Intel have been dominating much of the personal computer market with the Wintel platform.
Contents

History

This section needs additional citations for verification.
Please help improve this article by adding reliable references. Unsourced material may be challenged and removed. (September 2008)
Main article: History of personal computers
IBM 5150 as of 1981

The capabilities of the personal computer have changed greatly since the introduction of electronic computers. By the early 1970s, people in academic or research institutions had the opportunity for single-person use of a computer system in interactive mode for extended durations, although these systems would still have been too expensive to be owned by a single person. The introduction of the microprocessor, a single chip with all the circuitry that formerly occupied large cabinets, led to the proliferation of personal computers after about 1975. In what was later to be called The Mother of All Demos, SRI researcher Douglas Englebart in 1968 gave a preview of what would become the staples of daily working life in the 21st century - e-mail, hypertext, word processing, video conferencing, and the mouse.

Early personal computers - generally called microcomputers - were sold often in Electronic kit form and in limited volumes, and were of interest mostly to hobbyists and technicians. Minimal programming was done by toggle switches, and output was provided by front panel indicators. Practical use required peripherals such as keyboards, computer terminals, disk drives, and printers. Micral N was the earliest commercial, non-kit "personal" computer based on a microprocessor, the Intel 8008. It was built starting in 1972 and about 90,000 units were sold. Unlike other hobbyist computers of its day, which were sold as electronics kits, in 1976 Steve Jobs and Steve Wozniak sold the Apple I computer circuit board, which was fully prepared and contained about 30 chips. The first complete personal computer was the Commodore PET introduced in January 1977. It was soon followed by the popular Apple II. Mass-market pre-assembled computers allowed a wider range of people to use computers, focusing more on software applications and less on development of the processor hardware.

Throughout the late 1970s and into the 1980s, computers were developed for household use, offering personal productivity, programming and games. Somewhat larger and more expensive systems (although still low-cost compared with minicomputers and mainframes) were aimed for office and small business use. Workstations are characterized by high-performance processors and graphics displays, with large local disk storage, networking capability, and running under a multitasking operating system. Workstations are still used for tasks such as computer-aided design, drafting and modelling, computation-intensive scientific and engineering calculations, image processing, architectural modelling, and computer graphics for animation and motion picture visual effects.

Eventually due to the IBM-PC's influence on the Personal Computer market Personal Computers and Home Computers lost any technical distinction. Business computers acquired color graphics capability and sound, and home computers and game systems users used the same processors and operating systems as office workers. Mass-market computers had graphics capabilities and memory comparable to dedicated workstations of a few years before. Even local area networking, originally a way to allow business computers to share expensive mass storage and peripherals, became a standard feature of the personal computers used at home.

Market and sales

Personal computers worldwide in million distinguished by developed and developing world

In 2001 125 million personal computers were shipped in comparison to 48 thousand in 1977. More than 500 million personal computers were in use in 2002 and one billion personal computers had been sold worldwide since mid-1970s until this time. Of the latter figure, 75 percent were professional or work related, while the rest sold for personal or home use. About 81.5 percent of personal computers shipped had been desktop computers, 16.4 percent laptops and 2.1 percent servers. United States had received 38.8 percent (394 million) of the computers shipped, Europe 25 percent and 11.7 percent had gone to Asia-Pacific region, the fastest-growing market as of 2002. The second billion was expected to be sold by 2008. Almost half of all the households in Western Europe had a personal computer and a computer could be found in 40 percent of homes in United Kingdom, compared with only 13 percent in 1985.

The global personal computer shipments were 264 million units in the year 2007, according to iSuppli, up 11.2 percent from 239 million in 2006.. In year 2004, the global shipments was 183 million units, 11.6 percent increase over 2003.[6] In 2003, 152.6 million computers were shipped, at an estimated value of $175 billion. In 2002, 136.7 million PCs were shipped, at an estimated value of $175 billion.[7] In 2000, 140.2 million personal computers were shipped, at an estimated value of $226 billion. Worldwide shipments of personal computers surpassed the 100-million mark in 1999, growing to 113.5 million units from 93.3 million units in 1998.. In 1999, Asia had 14.1 million units shipped.

As of June 2008, the number of personal computers in use worldwide hit one billion, while another billion is expected to be reached by 2014. Mature markets like the United States, Western Europe and Japan accounted for 58 percent of the worldwide installed PCs. The emerging markets were expected to double their installed PCs by 2013 and to take 70 percent of the second billion PCs. About 180 million computers (16 percent of the existing installed base) were expected to be replaced and 35 million to be dumped into landfill in 2008. The whole installed base grew 12 percent annually.

In the developed world, there has been a vendor tradition to keep adding functions to maintain high prices of personal computers. However, since the introduction of One Laptop per Child foundation and its low-cost XO-1 laptop, the computing industry started to pursue the price too. Although introduced only one year earlier, there were 14 million netbooks sold in 2008.[12] Besides the regular computer manufacturers, companies making especially rugged versions of computers have sprung up, offering
alternatives for people operating their machines in extreme weather or environments.

Average selling price

For Microsoft Windows systems, the average selling price (ASP) showed a decline in 2008/2009, possibly due to low-cost netbooks, drawing $569 for desktop computers and $689 for laptops at U.S. retail in August 2008. In 2009, ASP had further fallen to $533 for desktops and to $602 for notebooks by January and to $540 and $560 in February.

Workstation

A workstation is a high-end personal computer designed for technical or scientific applications. Intended primarily to be used by one person at a time, they are commonly connected to a local area network and run multi-user operating systems.

Desktop computer Dell OptiPlex desktop computer
Prior to the wide spread of PCs a computer that could fit on a desk was considered remarkably small. Today the phrase usually indicates a particular style of computer case. Desktop computers come in a variety of styles ranging from large vertical tower cases to small form factor models that can be tucked behind an LCD monitor. In this sense, the term 'desktop' refers specifically to a horizontally-oriented case, usually intended to have the display screen placed on top to save space on the desk top. Most modern desktop computers have separate screens and keyboards.

Single unit

Single unit PCs (also known as all-in-one PCs) are a subtype of desktop computers, which combine the monitor and case of the computer within a single unit. The monitor almost always utilizes a touchscreen as an optional method of user input, however detached keyboards and mice are normally still included. The inner components of the
PC are often located directly behind the monitor.

Nettop

A subtype of desktops, called nettops, was introduced by Intel in February 2008 to describe low-cost, lean-function, desktop computers. A similar subtype of laptops (or notebooks) are the netbooks (see below). These feature the new Intel Atom processor which specially enables them to consume less power and to be built into small enclosures.

Laptop A mid-range HP Laptop.
A laptop computer or simply laptop, also called a notebook computer or sometimes a notebook, is a small personal computer designed for mobility. Usually all of the interface hardware needed to operate the laptop, such as parallel and serial ports, graphics card, sound channel, etc., are built in to a single unit. Laptops contain high capacity batteries that can power the device for extensive periods of time, enhancing portability. Once the battery charge is depleted, it will have to be recharged through a power outlet. In the interest of saving power, weight and space, they usually share RAM with the video channel, slowing their performance compared to an equivalent desktop machine.

One main drawback of the laptop is that, due to the size and configuration of components, relatively little can be done to upgrade the overall computer from its original design. Some devices can be attached externally through ports (including via USB), however internal upgrades are not recommended or in some cases impossible, making the desktop PC more modular.

A subtype of notebooks, called subnotebooks, are computers with most of the features of a standard laptop computer but smaller. They are larger than hand-held computers, and usually run full versions of desktop/laptop operating systems. Ultra-Mobile PCs (UMPC) are usually considered subnotebooks, or more specifically, subnotebook Tablet PCs (see below). Netbooks are sometimes considered in this category, though they are sometimes separated in a category of their own (see below).

Desktop replacements, meanwhile, are large laptops meant to replace a desktop computer while keeping the mobility of a laptop.

Netbook An HP netbook
Netbooks are small portable computers in a "clamshell" design, that are designed specifically for wireless communication and access to the Internet. They are generally much lighter and cheaper than subnotebooks, and have a smaller display, between 7" and 9", with a screen resolution between 800x600 and 1024x768 but newer models feature higher resolution at up to 1280x768 like the Gigabyte M912X netbook. The operating systems and applications on them are usually specially modified so they can be comfortably used with a smaller sized screen, and the OS was in the start Linux, although most netbooks run one of the NT version, Windows XP or Windows Vista (For example Sony's Tablet Netbook). Netbooks Have built in Wireless connectivity (Wi-Fi). Some even have smaller but faster solid state storage systems instead of mechanical hard-disks. Storage capacities were usually in the 4 to 16 GB for solid state flash drives range but have largely increased with mechanical drives, expanding up to 160GB for example the Gigabyte M912X and the MSI WInd U100 with units that have mechanical hard drives instead of solid state flash drives. One of the first examples of such a system was the original Eee PC.

The emergence of new market segment of small, energy-efficient and low-cost devices designed for access to the Internet (netbooks and nettops) could threaten established companies like Microsoft, Intel, HP or Dell, analysts said in July 2008. A market research firm International Data Corporation predicted that the category could grow from fewer than 500,000 in 2007 to 9 million in 2012 as the market for low cost and secondhand computers expands in developed economies. Also, after Microsoft ceased selling consumer versions of Windows XP, it made an exception and continued to offer the operating system for netbook and nettop makers.

Tablet PC HP Compaq tablet PC with rotating/removable keyboard.
A tablet PC is a notebook or slate-shaped mobile computer, first introduced by Pen computing in the early 90s with their PenGo Tablet Computer and popularized by Microsoft. Its touchscreen or graphics tablet/screen hybrid technology allows the user to operate the computer with a stylus or digital pen, or a fingertip, instead of a keyboard or mouse. The form factor offers a more mobile way to interact with a computer. Tablet PCs are often used where normal notebooks are impractical or unwieldy, or do not provide the needed functionality.

Ultra-Mobile PC Samsung Q1 Ultra-Mobile PC.
The ultra-mobile PC (UMPC) is a specification for a small form factor. It was developed as a joint development exercise by Microsoft, Intel, and Samsung, among others. Current UMPCs typically feature the Windows XP, Windows Vista, Windows 7, or Linux operating system and low-voltage Intel Atom or VIA C7-M processors.

Home theater PC Antec Fusion V2 home theater PC with keyboard on top.
A home theater PC (HTPC) is a convergence device that combines the functions of a personal computer and a digital video recorder. It is connected to a television or a television-sized computer display and is often used as a digital photo, music, video player, TV receiver and digital video recorder. Home theater PCs are also referred to as media center systems or media servers. The general goal in a HTPC is usually to combine many or all components of a home theater setup into one box. They can be purchased pre-configured with the required hardware and software needed to add television programming to the PC, or can be cobbled together out of discrete components as is commonly done with MythTV, Windows Media Center, GB-PVR, SageTV, Famulent or LinuxMCE.

Pocket PC An O2 pocket PC
A pocket PC is a hardware specification for a handheld-sized computer (personal digital assistant) that runs the Microsoft Windows Mobile operating system. It may have the capability to run an alternative operating system like NetBSD or Linux. It has many of the capabilities of modern desktop PCs.

Currently there are tens of thousands of applications for handhelds adhering to the Microsoft Pocket PC specification, many of which are freeware. Some of these devices also include mobile phone features. Microsoft compliant Pocket PCs can also be used with many other add-ons like GPS receivers, barcode readers, RFID readers, and cameras. In 2007, with the release of Windws Mobile 6, Microsoft dropped the name Pocket PC in favor of a new naming scheme. Devices without an integrated phone are called Windows Mobile Classic instead of Pocket PC. Devices with an integrated phone and a touch screen are called Windows Mobile Professional.New Windows Mobile 6 Devices

Hardware
An exploded view of a modern personal computer and peripherals:

1. Scanner
2. CPU (Microprocessor)
3. Primary storage (RAM)
4. Expansion cards (graphics cards, etc)
5. Power supply
6. Optical disc drive
7. Secondary storage (Hard disk)
8. Motherboard
9. Speakers
10. Monitor
11. System software
12. Application software
13. Keyboard
14. Mouse
15. External hard disk
16. Printer

Computer hardware A typical hardware setup of a desktop computer consists of:
* computer case with power supply
* central processing unit (processor)
* motherboard
* memory card
* hard disk
* video card
* visual display unit (monitor)
* optical disc (usually DVD-ROM or DVD Writer)
* keyboard and pointing device

These components can usually be put together with little knowledge to build a computer. The motherboard is a main part of a computer that connects all devices together. The memory card(s), graphics card and processor are mounted directly onto the motherboard (the processor in a socket and the memory and graphics cards in expansion slots). The mass storage is connected to it with cables and can be installed in the computer case or in a separate case. This is the same for the keyboard and mouse, except that they are external and connect to the I/O panel on the back of the computer. The monitor is also connected to the I/O panel, either through an onboard port on the motherboard, or a port on the graphics card.

Several functions (implemented by chipsets) can be integrated into the motherboard, typically USB and network, but also graphics and sound. Even if these are present, a separate card can be added if what is available isn't sufficient. The graphics and sound card can have a break out box to keep the analog parts away from the electromagnetic radiation inside the computer case. For really large amounts of data, a tape drive can be used or (extra) hard disks can be put together in an external case.

The hardware capabilities of personal computers can sometimes be extended by the addition of expansion cards connected via an expansion bus. Some standard peripheral buses often used for adding expansion cards in personal computers as of 2005 are PCI, AGP (a high-speed PCI bus dedicated to graphics adapters), and PCI Express. Most personal computers as of 2005 have multiple physical PCI expansion slots. Many also include an AGP bus and expansion slot or a PCI Express bus and one or more expansion slots, but few PCs contain both buses.

Computer case A stripped ATX case lying on its side.

A computer case is the enclosure that contains the main components of a computer. Cases are usually constructed from steel, aluminium, or plastic, although other materials such as wood, plexiglas or fans have also been used in case designs. Cases can come in many different sizes, or form factors. The size and shape of a computer case is usually determined by the form factor of the motherboard that it is designed to accommodate, since this is the largest and most central component of most computers. Consequently, personal computer form factors typically specify only the internal dimensions and layout of the case. Form factors for rack-mounted and blade servers may include precise external dimensions as well, since these cases must themselves fit in specific enclosures.

Currently, the most popular form factor for desktop computers is ATX, although microATX and small form factors have become very popular for a variety of uses. Companies like Shuttle Inc. and AOpen have popularized small cases, for which FlexATX is the most common motherboard size.

Central processing unit AMD Athlon 64 CPU.

The central processing unit, or CPU, is that part of a computer which executes software program instructions. In older computers this circuitry was formerly on several printed circuit boards, but in PCs is a single integrated circuit. Nearly all PCs contain a type of CPU known as a microprocessor. The microprocessor often plugs into the motherboard using one of many different types of sockets. IBM PC compatible computers use an x86-compatible processor, usually made by Intel, AMD, VIA Technologies or Transmeta. Apple Macintosh computers were initially built with the Motorola 680x0 family of processors, then switched to the PowerPC series (a RISC architecture jointly developed by Apple Computer, IBM and Motorola), but as of 2006, Apple switched again, this time to x86-compatible processors by Intel. Modern CPUs are equipped with a fan attached via heat sink.

Motherboard Asus motherboard

The motherboard, also referred to as systemboard or mainboard, is the primary circuit board within a personal computer. Many other components connect directly or indirectly to the motherboard. Motherboards usually contain one or more CPUs, supporting circuitry - usually integrated circuits (ICs) - providing the interface between the CPU memory and input/output peripheral circuits, main memory, and facilities for initial setup of the computer immediately after power-on (often called boot firmware or, in IBM PC compatible computers, a BIOS). In many portable and embedded personal computers, the motherboard houses nearly all of the PC's core components. Often a motherboard will also contain one or more peripheral buses and physical connectors for expansion purposes. Sometimes a secondary daughter board is connected to the motherboard to provide further expandability or to satisfy space constraints.

Main memory 1GB DDR SDRAM 400 module

A PC's main memory is fast storage that is directly accessible by the CPU, and is used to store the currently executing program and immediately needed data. PCs use semiconductor random access memory (RAM) of various kinds such as DRAM or SRAM as their primary storage. Which exact kind depends on cost/performance issues at any particular time. Main memory is much faster than mass storage devices like hard disks or optical discs, but is usually volatile, meaning it does not retain its contents (instructions or data) in the absence of power, and is much more expensive for a given capacity than is most mass storage. Main memory is generally not suitable for long-term or archival data storage.

Hard disk A Western Digital 250 GB hard disk drive.

Mass storage devices store programs and data even when the power is off; they do require power to perform read and write functions during usage. Although flash memory has dropped in cost, the prevailing form of mass storage in personal computers is still the hard disk.

The disk drives use a sealed head/disk assembly (HDA) which was first introduced by IBM's "Winchester" disk system. The use of a sealed assembly allowed the use of positive air pressure to drive out particles from the surface of the disk, which improves reliability.

If the mass storage controller provides for expandability, a PC may also be upgraded by the addition of extra hard disk or optical disc drives. For example, BD-ROMs, DVD-RWs, and various optical disc recorders may all be added by the user to certain PCs. Standard internal storage device connection interfaces are PATA, Serial ATA, SCSI

Video card ATI Radeon video card

The video card - otherwise called a graphics card, graphics adapter or video adapter - processes and renders the graphics output from the computer to the computer display, and is an essential part of the modern computer. On older models, and today on budget models, graphics circuitry tended to be integrated with the motherboard but, for modern flexible machines, they are supplied in PCI, AGP, or PCI Express format.

When the IBM PC was introduced, most existing business-oriented personal computers used text-only display adapters and had no graphics capability. Home computers at that time had graphics compatible with television signals, but with low resolution by modern standards owing to the limited memory available to the eight-bit processors available at the time.

Visual display unit A flat-panel LCD monitor.

A visual display unit (or monitor) is a piece of electrical equipment, usually separate from the computer case, which displays viewable images generated by a computer without producing a permanent record. The word "monitor" is used in other contexts; in particular in television broadcasting, where a television picture is displayed to a high standard. A computer display device is usually either a cathode ray tube or some form of flat panel such as a TFT LCD. The monitor comprises the display device, circuitry to generate a picture from electronic signals sent by the computer, and an enclosure or case. Within the computer, either as an integral part or a plugged-in Expansion card, there is circuitry to convert internal data to a format compatible with a monitor. The images from monitors originally contained only text, but as Graphical user interfaces emerged and became common, they began to display more images and multimedia content.

Keyboards

In computing, a keyboard is an arrangement of buttons that each correspond to a function, letter, or number. They are the primary devices of inputing text. In most cases, they contain an aray of keys specifically organized with the corresponding letters, numbers, and functions printed or engraved on the button. They are generally designed around an operators language, and many different versions for different languages exist. In English, the most common layout is the QWERTY layout, which was originally used in typewriters. They have evolved over time, and have been modified for use in computers with the addition of function keys, number keys, arrow keys, and OS specific keys. Often, specific functions can be achieved by pressing multiple keys at once or in succession, such as inputing characters with accents or opening a task manager. Programs use keyboard shotcuts very differently and all use different keyboard shortcuts for different program specific operations, such as refreshing a web page in a web browser or selecting all text in a word processor.

Mouse

Apple Mighty Mouse that detects clicks through a large button located at the bottom of the mouse covering the entire unit.

A Mouse on a computer is a small, slidable device that users hold and slide around to point at, click, and sometimes drag objects on screen in a graphical user interface using a pointer on screen. Almost all Personal Computers have mice. It may be plugged into a computer's rear mouse socket, or as a USB device, or, more recently, may be connected wirelessly via a USB antenna or Bluetooth antenna. In the past, they had a single button that users could press down on the device to "click" on whatever the pointer on the screen was hovering over. Now, however, many Mice have two or three buttons; a "right click" function button on the mouse, which performs a secondary action on a selected object, and a scroll wheel, which users can rotate the wheel using their fingers to "scroll" up or down. The scroll wheel can also be pressed down, and therefore be used as a third button. Different programs make use of these functions differently, and may scroll horizontally by default with the scroll wheel, open different menus with different buttons, among others.

Mice traditionally detected movement and communicated with the computer with an internal "mouse ball"; and use optical encoders to detect rotation of the ball and tell the computer where the mouse has moved. However, these systems were subject to low durability and accuracy. Modern mice use optical technology to directly trace movement of the surface under the mouse and are much more accurate and durable. They work on a wider variety of surfaces and can even operate on walls, ceilings or other non-horizontal surfaces.

Other components
Proper ergonomic design of personal computer workplace is necessary to prevent repetitive strain injuries, which can develop over time and can lead to long-term disability.

Mass storage

All computers require either fixed or removable storage for their operating system, programs and user generated material.
Formerly the 5 1/4 inch and 3 1/2 inch floppy drive were the principal forms of removable storage for backup of user files and distribution of software.

As memory sizes increased, the capacity of the floppy did not keep pace; the Zip drive and other higher-capacity removable media were introduced but never became as prevalent as the floppy drive.

By the late 1990s the optical drive, in CD and later DVD and Blu-ray Disc, became the main method for software distribution, and writeable media provided backup and file interchange. Floppy drives have become uncommon in desktop personal computers since about 2000, and were dropped from many laptop systems even earlier. [19]

Early home computers used compact audio cassettes for file storage; these were at the time a very low cost storage solution, but were displaced by floppy disk drives when manufacturing costs dropped, by the mid 1980s.

A second generation of tape recorders was provided when Videocassette recorders were pressed into service as backup media for larger disk drives. All these systems were less reliable and slower than purpose-built magnetic tape drives. Such tape drives were uncommon in consumer-type personal computers but were a necessity in business or industrial use.

Interchange of data such as photographs from digital cameras is greatly expedited by installation of a card reader, which often is compatible with several forms of flash memory. It is usually faster and more convenient to move large amounts of data by removing the card from the mobile device, instead of communicating with the mobile device through a USB interface.

A USB flash drive today performs much of the data transfer and backup functions formerly done with floppy drives, Zip disks and other devices. Main-stream current operating systems for personal computers provide standard support for flash drives, allowing interchange even between computers using different processors and operating systems. The compact size and lack of moving parts or dirt-sensitive media, combined with low cost for high capacity, have made flash drives a popular and useful accessory for any personal computer user.

The operating system (e.g.: Microsoft Windows, Mac OS, Linux or many others) can be located on any storage, but typically it is on a hard disks. A Live CD is the running of a OS directly from a CD. While this is slow compared to storing the OS on a hard drive, it is typically used for installation of operating systems, demonstrations, system recovery, or other special purposes. Large flash memory is currently more expensive than hard drives of similar size (as of mid-2008) but are starting to appear in laptop computers because of their low weight, small size and low power requirements.

Computer communications

* Internal modem card
* Modem
* Network adapter card
* Router

Common peripherals and adapter cards

* Headset
* Joystick
* Microphone
* Printer
* Scanner
* Sound adapter card as a separate card rather than located on the motherboard
* Speakers
* Webcam

Computer software

A screenshot of the OpenOffice.org Writer software

Computer software is a general term used to describe a collection of computer programs, procedures and documentation that perform some tasks on a computer system. The term includes application software such as word processors which perform productive tasks for users, system software such as operating systems, which interface with hardware to provide the necessary services for application software, and middleware which controls and co-ordinates distributed systems.

Software applications for word processing, Internet browsing, Internet faxing, e-mail and other digital messaging, multimedia playback, computer game play and computer programming are common. The user of a modern personal computer may have significant knowledge of the operating environment and application programs, but is not necessarily interested in programming nor even able to write programs for the computer. Therefore, most software written primarily for personal computers tends to be designed with simplicity of use, or "user-friendliness" in mind. However, the software industry continuously provide a wide range of new products for use in personal computers, targeted at both the expert and the non-expert user.

Operating system KDE 4 running on a Linux distribution.
An operating system (OS) manages computer resources and provides programmers with an interface used to access those resources. An operating system processes system data and user input, and responds by allocating and managing tasks and internal system resources as a service to users and programs of the system. An operating system performs basic tasks such as controlling and allocating memory, prioritizing system requests, controlling input and output devices, facilitating computer networking and managing files.

Common contemporary desktop OSes are Microsoft Windows (~75% market share), Mac OS X (12%), Linux (10%), Solaris and PC-BSD. Windows, Mac, and Linux all have server and personal variants. With the exception of Microsoft Windows, the designs of each of the aforementioned OSs were inspired by, or directly inherited from, the Unix operating system. Unix was developed at Bell Labs beginning in the late 1960s and spawned the development of numerous free and proprietary operating systems.

Microsoft Windows


Microsoft Windows is the collective brand name of several software operating systems by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces (GUIs).The most recent client version of Windows is Windows Vista and the current server version is Windows Server 2008. A new version, Windows 7, is currently in development and is available as a Release Candidate.

Microsoft Windows is not free software. Linux
Linux is a family of Unix-like computer operating systems. Linux is one of the most prominent examples of free software and open source development: typically all underlying source code can be freely modified, used, and redistributed by anyone. The name "Linux" comes from the Linux kernel, started in 1991 by Linus Torvalds. The system's utilities and libraries usually come from the GNU operating system, announced in 1983 by Richard Stallman. The GNU contribution is the basis for the alternative name GNU/Linux.

Predominantly known for its use in servers, Linux is supported by corporations such as Dell, Hewlett-Packard, IBM, Novell, Oracle Corporation, Red Hat, Canonical Ltd. and Sun Microsystems. It is used as an operating system for a wide variety of computer hardware, including desktop computers, supercomputers,[28] video game systems, such as the PlayStation 3, several arcade games, and embedded devices such as mobile phones, routers, and stage lighting systems.

Mac OS X Mac OS X desktop
Mac OS X is a line of graphical operating systems developed, marketed, and sold by Apple Inc.. Mac OS X is the successor to the original Mac OS, which had been Apple's primary operating system since 1984. Unlike its predecessors, Mac OS X is a Unix-based operating system. The most recent version of Mac OS X is Mac OS X
10.6 "Snow Leopard", and the current server version is Mac OS X Server 10.6.

Applications
This section does not cite any references or sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.

Application software GIMP raster graphics editor
A computer user will apply application software to carry out a specific task. System software supports applications and provides common services such as memory management, network connectivity, or device drivers; all of which may be used by applications but which are not directly of interest to the end user. A simple, if imperfect analogy in the world of hardware would be the relationship of an electric light bulb (an application) to an electric power generation plant (a system). The power plant merely generates electricity, not itself of any real use until harnessed to an application like the electric light that performs a service that benefits the user.

Typical examples of software applications are word processors, spreadsheets, and media players. Multiple applications bundled together as a package are sometimes referred to as an application suite. Microsoft Office and OpenOffice.org, which bundle together a word processor, a spreadsheet, and several other discrete applications, are typical examples. The separate applications in a suite usually have a user interface that has some commonality making it easier for the user to learn and use each application. And often they may have some capability to interact with each other in ways beneficial to the user. For example, a spreadsheet might be able to be embedded in a word processor document even though it had been created in the separate spreadsheet application.

End-user development tailors systems to meet the user's specific needs. User-written software include spreadsheet templates, word processor macros, scientific simulations, graphics and animation scripts. Even email filters are a kind of user software. Users create this software themselves and often overlook how important it is.

Computer Science portal
Electronics portal

* Desktop computer
* Desktop replacement computer
* e-waste
* Gaming PC
* Information and communication technologies for development
* List of computer system manufacturers
* Personal Computer Museum
* Public computer
* Quiet PC
* Supercomputer