Sei sulla pagina 1di 26

How PCs Work

by Jeff Tyson

Browse the article How PCs Work

Introduction to How PCs Work

Computer Hardware Image Gallery

HowStuffWorks 2005
PCs, like the one above, are a general purpose tool with many parts. Take a look inside
your PC with computer hardware pictures.

When you mention the word "technology," most people think about computers. Virtually
every facet of our lives has some computerized component. The appliances in our homes
have microprocessors built into them, as do our televisions. Even our cars have
computers. But the computer that everyone thinks of first is typically the personal
computer, or PC.

A PC is a general-purpose tool built around a microprocessor. It has lots of different parts


-- including memory, a hard disk, a modem, and more -- that work together. "General
purpose" means that you can do many different things with a PC. You can use it to type
documents, send e-mail, browse the Internet and play games.

PCs trace their history back to the 1970s, when a man named Ed Roberts began to sell
computer kits based on a microprocessor chip designed by Intel. Roberts called his
computer the Altair 8800 and sold the unassembled kits for $395. Popular Electronics ran
a story about the kid in its January 1975 issue, and to the surprise of just about everyone,
the kits became an instant hit and the era of the personal computer began [source: The
Computer History Project].

A few years later, the dynamic duo of Steve Jobs and Steve Wozniak unleashed the
Apple II computer on the world. From that point on, the personal computer really began
to take off. Other manufacturers followed suit, and soon there were computers from
Commodore, Atari and Texas Instruments. Not long after the debut of the Apple II, IBM
got into the personal computer game.

More on Computers

• How Laptops Work


• Build a Computer

• Desktop Reviews

Today, when someone says PC, chances are they mean a machine running on the
Microsoft Windows operating system with an x86-compatible microprocessor. While
Apple Macintosh computers are technically personal computers, most people wouldn't
call them PCs.

In this article, we will talk about PCs in the general sense and all the different parts that
go into them. You'll learn about the various components and how they work together in a
basic operating session. You'll also find out what the future may hold for these machines.

Your Browser Does Not Support iFrames

PC Parts

Let's take a look at the main components of a typical desktop computer:

• Central processing unit (CPU) - The microprocessor "brain" of the computer


system is called the central processing unit. It's a chip that holds a complete
computational engine. It uses assembly language as its native language.
Everything that a computer does is overseen by the CPU.
• Memory - This is very fast storage used to hold data. It has to be fast because it
connects directly to the microprocessor. There are several specific types of
memory in a computer:
• Random-access memory (RAM) - Used to temporarily store information
with which the computer is currently working
• Read-only memory (ROM) - A permanent type of memory storage used
by the computer for important data that doesn't change
• Basic input/output system (BIOS) - A type of ROM that is used by the
computer to establish basic communication when the computer is first
powered on
• Caching - The storing of frequently used data in extremely fast RAM that
connects directly to the CPU
• Virtual memory - Space on a hard disk used to temporarily store data and
swap it in and out of RAM as needed
• Flash memory - a solid state storage device, Flash memory requires no
moving parts and retains data even after the computer powers off

Your browser does not


support JavaScript or it is disabled.
Click on the various PC part labels to learn more about how they work.

• Motherboard - This is the main circuit board to which all of the other internal
components connect. The CPU and memory are usually on the motherboard.
Other systems may be found directly on the motherboard or connected to it
through a secondary connection. For example, a sound card can be built into the
motherboard or connected through an expansion slot.
• Power supply - An electrical transformer regulates the electricity used by the
computer.
• Hard disk - This is large-capacity permanent storage used to hold information
such as programs and documents. Traditional hard drives contain moving parts --
the drive has platters on which it stores data. The drive spins the platters to record
and read data. But some newer hard drives are flash-based with no moving parts.
These drives are called solid-state drives.
• Operating system - This is the basic software that allows the user to interface
with the computer.
• Integrated Drive Electronics (IDE) Controller - This is the primary interface
for the hard drive, CD-ROM and floppy disk drive.
• Accelerated Graphics Port (AGP) - This is a very high-speed connection used
by the graphics card to interface with the computer.
• Sound card - This is used by the computer to record and play audio by
converting analog sound into digital information and back again.
• Graphics card - This translates image data from the computer into a format that
can be displayed by the monitor. Some graphics cards have their own powerful
processing units (called a GPU -- graphics processing unit). The GPU can handle
operations that normally would require the CPU.
• Ports - In computer hardware terms, a port is an interface that allows a computer
to communicate with peripheral equipment.
Real-time clock - Every PC has a clock containing a vibrating crystal. By
referring to this clock, all the components in a computer can synchronize
properly.
• Complementary Metal-oxide Semiconductor - The CMOS and CMOS battery
allow a computer to store information even when the computer powers down. The
battery provides uninterrupted power.
• Fans, heat sinks and cooling systems - The components in a computer generate
heat. As heat rises, performance can suffer. Cooling systems keep computers from
overheating.

In the next section, we'll look at how your computer connects to the outside world.

PC Connections

A typical computer connects to the world around it in three different ways: input/output
devices, ports and networking.

No matter how powerful the components inside your computer are, you need a way to
interact with them. This interaction is called input/output (I/O). The most common types
of I/O in PCs are:

• Monitor - The monitor is the primary device for displaying information from the
computer.
• Keyboard - The keyboard is the primary device for entering information into the
computer.
• Mouse - The mouse is the primary device for navigating and interacting with the
computer.
• Removable storage - Removable storage devices allow you to add new
information to your computer very easily, as well as save information that you
want to carry to a different location. There are several types of removable storage:
o CD-ROM - CD-ROM (compact disc, read-only memory) is a popular
form of distribution of commercial software. Many systems now offer
CD-R (recordable) and CD-RW (rewritable), which can also record. CD-
RW discs can be erased and rewritten many times.
o Flash memory - Based on a type of ROM called electrically erasable
programmable read-only memory (EEPROM), Flash memory provides
fast, permanent storage. CompactFlash, SmartMedia and PCMCIA cards
are all types of Flash memory.
o DVD-ROM - DVD-ROM (digital versatile disc, read-only memory) is
similar to CD-ROM but is capable of holding much more information.

You may use Bluetooth or Wi-Fi to sync your music player or print driving directions,
but many computers still have ports to help you connect to a wide selection of
peripherals. While there have been others, two are most commonly found on newer
computers:

• Universal Serial Bus (USB) - The most popular external connection, USB ports
offer power and versatility and are incredibly easy to use.
• FireWire (IEEE 1394) - FireWire is a very popular method of connecting digital-
video devices, such as camcorders or digital cameras, to your computer.

Your browser does not


support JavaScript or it is disabled.
Click on the various PC part labels to learn more about how they work.

Networking, especially to the Internet, is very important to today's computer users. Your
computer can probably use one or more of these methods:

• Modem - This is the standard method of connecting to the Internet.


• Local area network (LAN) card - This is used by many computers, particularly
those in an Ethernet office network, to connect to one another.
• Cable modem - This type of modem uses the cable system in your home, like the
kind you might use to subscribe to cable TV, to connect to the Internet.
• Digital Subscriber Line (DSL) modem - This is a high-speed connection that
works over a standard telephone line.
• Very high bit-rate DSL (VDSL) modem - A newer variation of DSL, VDSL
requires that your phone line have fiber-optic cables. An even faster version
called the gigabit per second DSL (GDSL) may follow [source: Cioffi, et al.].

Now that you're familiar with the parts of a PC, let's see what happens in a typical
computer session.

Powering Up a PC

A typical computer session begins with turning on the power. Here's what happens in that
process:

1. You press the "On" button on the computer and the monitor.

2. You see the BIOS software doing its thing, called the power-on self-test (POST). On
many machines, the BIOS displays text describing such data as the amount of memory
installed in your computer and the type of hard disk you have. During this boot sequence,
the BIOS does a remarkable amount of work to get your computer ready to run.

• The BIOS determines whether the video card is operational. Most video cards
have a miniature BIOS of their own that initializes the memory and graphics
processor on the card. If they don't, there is usually video-driver information on
another ROM on the motherboard that the BIOS can load.
• The BIOS checks to see if this is a cold boot or a reboot. It does this by checking
the value at memory address 0000:0472. A value of 1234h indicates a reboot, in
which case the BIOS skips the rest of POST. Any other value is considered a cold
boot.
• If your computer is undergoing a cold boot, the BIOS verifies RAM by
performing a read/write test of each memory address. It checks for a keyboard and
a mouse. It looks for an expansion bus and, if it finds one, checks all the
connected cards. If the BIOS finds any errors during the POST, it notifies you
with a series of beeps or a text message displayed on the screen. An error at this
point is almost always a hardware problem.
• The BIOS displays some details about your system. This typically includes
information about the following:
o Processor
o Floppy and hard drive
o Memory
o BIOS revision and date
o Display
• Any special drivers, such as those for expansion cards, are loaded from the
adapter and the BIOS displays the information.
• The BIOS looks at the sequence of storage devices identified as boot devices in
the complementary metal-oxide semiconductor (CMOS) setup. Boot is short
for "bootstrap," as in the old phrase "Pull yourself up by your bootstraps." Boot
refers to the process of launching the operating system. The BIOS tries to initiate
the boot sequence from the first device using the bootstrap loader.

Your browser does not


support JavaScript or it is disabled.
This animation walks you through a typical PC session.

3. The bootstrap loader loads the operating system into memory and allows it to begin
operation. It does this by setting up the divisions of memory that hold the operating
system, user information and applications. The bootstrap loader then establishes the data
structures that are used to communicate within and between the sub-systems and
applications of the computer. Finally, it turns control of the computer over to the
operating system.

PC Operating Systems

Once loaded, the operating system's tasks fall into six broad categories:

• Processor management - Breaking the tasks down into manageable chunks and
prioritizing them before sending to the CPU
• Memory management - Coordinating the flow of data in and out of RAM and
determining when virtual memory is necessary
• Device management - Providing an interface between each device connected to
the computer, the CPU and applications
• Storage management - Directing where data will be stored permanently on hard
drives and other forms of storage
• Application Interface - Providing a standard communications and data exchange
between software programs and the computer
• User Interface - Providing a way for you to communicate and interact with the
computer
Shopping for a new PC?
Before you buy, check out the desktop computer reviews at Consumer Guide Products.

Say, for example, that you open up a word processing program and type a letter, save it
and then print it out. Several components work together to make this happen:

 The keyboard and mouse send your input to the operating system.
 The operating system determines that the word-processing program is the active
program and accepts your input as data for that program.
 The word-processing program determines the format that the data is in and, via
the operating system, stores it temporarily in RAM.
 Each instruction from the word-processing program is sent by the operating
system to the CPU. These instructions are intertwined with instructions from other
programs that the operating system is overseeing before being sent to the CPU.
 All this time, the operating system is steadily providing display information to the
graphics card, directing what will be displayed on the monitor.
 When you choose to save the letter, the word-processing program sends a request
to the operating system, which then provides a standard window for selecting
where you wish to save the information and what you want to call it. Once you
have chosen the name and file path, the operating system directs the data from
RAM to the appropriate storage device.
 You click on "Print." The word-processing program sends a request to the
operating system, which translates the data into a format the printer understands
and directs the data from RAM to the appropriate port for the printer you
requested.
 You open up a Web browser and check out HowStuffWorks. Once again, the
operating system coordinates all of the action. This time, though, the computer
receives input from another source, the Internet, as well as from you. The
operating system seamlessly integrates all incoming and outgoing information.
 You close the Web browser and choose the "Shut Down" option.
 The operating system closes all programs that are currently active. If a program
has unsaved information, you're given an opportunity to save it before closing the
program.
 The operating system writes its current settings to a special configuration file so
that it will boot up next time with the same settings.
 If the computer provides software control of power, then the operating system
will completely turn off the computer when it finishes its own shut-down cycle.
Otherwise, you will have to turn the power off manually.

We'll look at the future of PCs next.

The Future of PCs

Silicon microprocessors have been the heart of the computing world for more than 40
years. In that time, microprocessor manufacturers have crammed more electronic devices
onto microprocessors. In 1965, Intel founder Gordon Moore predicted that
microprocessors would double in complexity every two years. Since then, the number of
electronic devices put on a microprocessor has doubled every 18 months, and the
prediction has come to be known as Moore's Law. Many have predicted that Moore's
Law will soon reach its end because of the physical limitations of silicon
microprocessors.

2008 HowStuffWorks
Extreme ultraviolet lithography is the future of computer-chip manufacturing.

The current process used to pack more transistors onto a chip is called deep-ultraviolet
lithography (DUVL), which is a photography-like technique that focuses light through
lenses to carve circuit patterns on silicon wafers. While new manufacturing techniques
have extended the useful lifespan of the DUVL process, before long chip manufacturers
will have to use new techniques to keep up with Moore's Law. Many are already looking
at extreme-ultraviolet lithography (EUVL) as a way to extend the life of silicon at least
until the end of the decade. EUVL uses mirrors instead of lenses to focus the light, which
allows light with shorter wavelengths to focus on the silicon wafer accurately. To learn
more about EUVL, see How EUVL Chipmaking Works.

Beyond EUVL, researchers have been looking at alternatives to the traditional


microprocessor design. Two of the more interesting emerging technologies are DNA
computers and quantum computers.
DNA computers have the potential to take computing to new levels, picking up where
Moore's Law leaves off. There are several advantages to using DNA instead of silicon:

• As long as there are cellular organisms, there will be a supply of DNA.


• The large supply of DNA makes it a cheap resource.
• Unlike traditional microprocessors, which are made using toxic materials, DNA
biochips can be made cleanly.
• DNA computers are many times smaller than today's computers.

DNA's key advantage is that it will make computers smaller than any computer that has
come before, while at the same time increasing storage capacity. One pound (0.45
kilogram) of DNA has the capacity to store more information than all the electronic
computers ever built. The computing power of a teardrop-sized DNA computer, using the
DNA logic gates, will be more powerful than the world's most powerful supercomputer.
More than 10 trillion DNA molecules can fit into an area no larger than 1 cubic
centimeter (.06 cubic inch). With this small amount of DNA, a computer would be able to
hold 10 terabytes (TB) of data and perform 10 trillion calculations at a time. By adding
more DNA, more calculations could be performed.

Unlike conventional computers, DNA computers could perform calculations


simultaneously. Conventional computers operate in linear fashion, taking on tasks one at
a time. Parallel computing will allow DNA to solve complex mathematical problems in
hours -- problems that might take electrical computers hundreds of years to complete.
You can learn more about DNA computing in How DNA Computers Will Work.

Today's computers work by manipulating bits that exist in one of two states: 0 or 1.
Quantum computers aren't limited to two states; they encode information as quantum
bits, or qubits. A qubit can be a 1 or a 0, or it can exist in a superposition that is
simultaneously 1 and 0 or somewhere in between. Qubits represent atoms that are
working together to serve as computer memory and a microprocessor. Because a
quantum computer can contain these multiple states simultaneously, it has the potential to
be millions of times more powerful than today's most powerful supercomputers. A 30-
qubit quantum computer would equal the processing power of a conventional computer
capable of running at 10 teraops, or trillions of operations per second. To equal the top of
the line in supercomputers you'd need more qubits. The Roadrunner supercomputer can
run at a petaflop -- 1,000 trillian floating point operations per second. You can learn
more about the potential of quantum computers in How Quantum Computers Will Work.

Portable Personal Computing

Already we're seeing powerful computers in non-desktop roles. Laptop computers,


smartphones and personal digital assistants (PDAs) have taken computing out of the
office. Wearable computers built into our clothing and jewelry will be with us
everywhere we go.
Rich Internet application
From Wikipedia, the free encyclopedia
Jump to: navigation, search

"See also" category: Rich Internet applications

Rich Internet applications (RIAs) are web applications that have some of the
characteristics of desktop applications, typically delivered by way of proprietary web
browser plug-ins, advanced javascript compiler technology, or independently via
sandboxes or virtual machines[1]. Examples of RIA frameworks that require browser
extensions include Adobe Flash, Java/JavaFX[2] and Microsoft Silverlight[3], whilst
examples of RIA frameworks that make comprehensive use of JavaScript include GWT
and Pyjamas.

The term was introduced in the 1990s by vendors like Macromedia who were addressing
limitations at the time in the "richness of the application interfaces, media and content,
and the overall sophistication of the solutions" by introducing proprietary extensions[4].

As web standards (such as Ajax and HTML 5) have developed and web browsers'
compliance has improved there is less need for such extensions, and Javascript compilers
such as GWT, Pyjamas and RubyJS, with their associated desktop-like widget sets reduce
the need for browser extensions even further. HTML 5 delivers a full-fledged application
platform; "a level playing field where video, sound, images, animations, and full
interactivity with your computer are all standardized"[5].

Contents
[hide]

• 1 Deployment
• 2 Key characteristics of RIA plugins and sandboxes
• 3 Frameworks
• 4 References

• 5 External links

[edit] Deployment

With very few exceptions (most notably YouTube which currently relies on Adobe Flash
for video playback) the vast majority of the most popular web sites are native web
applications[6]. Online gaming is one area where RIAs are prevalent and applications
(such as Dimdim) which require access to video capture also tend to use RIAs (with the
notable exception of Gmail which uses its own task-specific browser plug-in[7]).

[edit] Key characteristics of RIA plugins and sandboxes

• Accessibility of data to search engines and web accessibility can be impaired. For
example it took over a decade from release for Adobe Flash to be universally
searchable[8].
• Advanced communications with supporting servers can improve the user
experience, for example by using optimised network protocols, asynchronous I/O
and pre-fetching data (eg Google Maps). Accordingly, reliable broadband
connections are often required.
• Complexity of advanced solutions can make them more difficult to design,
develop, deploy and debug than traditional web applications (but typically less so
than application software).
• Consistency of user interface and experience can be controlled across operating
systems. Performance monitoring and fault diagnosis can be particularly difficult.
• Installation and Maintenance of plug-ins, sandboxes or virtual machines is
required (but applications are smaller than their predecessors and updates are
typically automated). Installation is typically faster than that of application
software but slower than that of native web applications and automation may not
be possible.
• Offline use may be supported by retaining state locally on the client machine, but
developments in web standards (prototyped in Google Gears) have also enabled
this for native web applications.
• Security can improve over that of application software (for example through use
of sandboxes and automatic updates) but the extensions themselves are subject to
vulnerabilities and access possible is often much greater than that of native web
applications[9].
• Performance can improve depending on the application and network
characteristics. In particular, applications which can avoid the latency of round-
trips to the server by processing locally on the client are often a lot faster.
Offloading work to the clients can also improve server performance. Conversely
the resource requirements can be prohibitive for small, embedded and mobile
devices.
• Richness by way of features not supported natively by the web browser such as
video capture (eg Adobe Flash
Computer software, or just software is a general term used to describe a collection of
computer programs, procedures and documentation that perform some tasks on a
computer system.[1]

A screenshot of the OpenOffice.org Writer desktop software

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 independent of development and programming, It
consists various methods to test and declare a software product fit before it can be
launched for use by either an indivudual or a group. Many tests on functionality,
performance and appearance are conducted by modern testers with various tools
such as QTP, Load runner, Black box testing etc to edit a checklist of
requirements against the developed code. ISTQB is a certification that is in
demand for engineers who want to pursue a career in testing.[2]
• Testware which is an umbrella term or container term for all utilities and
application software that serve in combination for testing asoftware 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 websites, programs, video games etc. that are coded by programming
languages like C, C++, etc.

"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.[3]

Contents
[hide]

• 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 Execution
o 3.5 Quality and reliability
o 3.6 License
o 3.7 Patents
o 3.8 Ethics and rights
• 4 Implementation
• 5 Industry and organizations
• 6 See also

• 7 References

[edit] Overview

Computer software are 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 or
even microcode or a FPGA state. The types of software include web pages developed by
technologies like HTML, PHP, Perl, JSP, ASP.NET, XML, and desktop applications like
Microsoft Word, OpenOffice developed by technologies like C, C++, Java, C#, etc.
Software usually runs on an underlying operating system (which is software) such as
Microsoft Windows, or Linux. Software also includes video games and the logic systems
of modern consumer devices such as automobiles, televisions, toasters, etc.
[edit] 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 which 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.

The term "software" was first used in this sense by John W. Tukey in 1958.[4] 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.[5]

[edit] Types of software

A layer structure showing where Operating System is located on generally used software
systems on desktops
An example text editor, Vim

Practical computer systems divide software systems into three major classes: system
software, programming software and application software, although the distinction is
arbitrary, and often blurred.

[edit] System software

System software helps run the computer hardware and computer system. It includes:

• device drivers,
• operating systems,
• servers,
• utilities,
• windowing systems,

(these things need not be distinct)

The purpose of systems software is to unburden the applications programmer from the
details of the particular computer complex being used, including such accessory devices
as communications, printers, readers, displays, keyboards, etc. And also to partition the
computer's resources such as memory and processor time in a safe and stable manner.

[edit] 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.

[edit] 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,
• telecommunications, (ie the internet and everything that flows on it)
• databases,
• educational software,
• medical software,

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

[edit] Software topics


[edit] Architecture
See also: Software architecture

Users often see things differently than programmers. People who use modern general
purpose computers (as opposed to embedded systems, analog computers,
supercomputers, etc.) 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
almost always 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
macros, scientific simulations, and scripts for graphics and animations. 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 the original packages, and what
has been added by co-workers.

[edit] Documentation
Main article: 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 a software can be
hard to use and especially if it is a very specialized and relatively complex software like
the Photoshop, AutoCAD, etc.

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.

[edit] Library
Main article: Software library

A 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.

[edit] Execution
Main article: 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.

[edit] Quality and reliability


Main articles: Software quality, Software testing, and Software reliability

Software quality is very important, especially for commercial and system software like
Microsoft Office, Microsoft Windows, Linux, etc. 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
its Space Shuttle and other programs because faulty software can crash the whole
program and make the vehicle not functional, at great expense.

[edit] License
Main article: 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. See also License Management.

[edit] Patents
Main article: Software patent

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

[edit] Ethics and rights


Main article: Computer ethics
This section may contain original research or unverified claims. Please improve
the article by adding references. See the talk page for details. (July 2008)

There is more than one approach to creating, licensing, and distributing software. For
instance, the free software or the open source community produces software under
licensing that makes it free for inspection of its code, modification of its code, and
distribution. While the software released under an open source license (such as General
Public License, or GPL for short) can be sold for money[6], the distribution cannot be
restricted in the same way as software with copyright and patent restrictions (used by
corporations to require licensing fees).
While some advocates of free software use slogans such as "information wants to be
free," hinting that it is easy to copy digital data and that the licenses (enforced through
laws) are unnatural restrictions, other creators and users of open source software
recognize it to be one model among many for software creation, licensing, and
distribution. And the laws themselves are put into place for the ostensible purpose of
increasing creative output, by allowing the creators to control and profit most effectively
from their intellectual property.

[edit] Implementation
Main articles: Software development, Computer programming, and Software
engineering

Software is usually created (coded/written/programmed) and designed in integrated


development environments (IDE) like emacs, xemacs, Microsoft Visual Studio and
Eclipse that can simplify the process and compile the program. As noted in different
section, software is usually created on top of an existing software and the application
programming interface (API) that the underlying software provides like GTK+,
JavaBeans, Swing etc. 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.
There are also underlying concepts in computer programming like quicksort, hashtable,
array, binary tree that can be useful to creating a 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.[7][8]

[edit] Industry and organizations


Main article: Software industry

There are many software companies in the world and selling software can be quite
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, and same goes for Larry Ellison largely through his Oracle
database software.

There are many non-profit software organizations like the Free Software Foundation,
GNU Project, Mozilla Foundation. Also there are many software standards organizations
like the W3C 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, FTP, etc.

Some large software companies include Microsoft, IBM, Oracle, SAP and HP.[9]

Computer hardware
From Wikipedia, the free encyclopedia
Jump to: navigation, search

Hardware of Personal Computer .


1. Monitor
2. Motherboard
3. CPU
4. RAM Memory
5. Expansion card
6. Power Supply
7. Cd-rom
8. Hard Disk
9. Keyboard
10. Mouse
Inside a custom computer.

Contents
[hide]

• 1 Typical PC hardware
o 1.1 Motherboard
o 1.2 Power supply
o 1.3 Video display controller
o 1.4 Removable media devices
o 1.5 Internal storage
o 1.6 Sound card
o 1.7 Networking
o 1.8 Other peripherals
 1.8.1 Input
 1.8.2 Output
• 2 See also

• 3 External links

[edit] Typical PC hardware

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:

[edit] Motherboard

• Motherboard - It is the "body" or mainframe of the computer, through which all


other components interface.
• Central processing unit (CPU) - Performs most of the calculations which enable
a computer to function, sometimes referred to as the "backbone" or "brain" of the
computer.
o Computer fan - Used to lower the temperature of the computer; a fan is
almost always attached to the CPU, and to the back of the case, also
known as the 'muffin fan'.
• Firmware is system specific read only memory.
• Internal Buses - Connections to various internal components.
o Current
 PCI (being phased out for graphic cards but still used for other
uses)
 PCI Express (PCI-E)
 USB
 FireWire
 HyperTransport
 Intel QuickPath (expected in 2008)
o Obsolete
 AGP (Obsolete graphic card bus)
 ISA (obsolete in PCs, but still used in industrial computers)
 VLB VESA Local Bus (outdated)
• External Bus Controllers - used to connect to external peripherals, such as printers
and input devices. These ports may also be based upon expansion cards, attached
to the internal

[edit] Power supply


Main article: Computer power supply

A case control, and (usually) a cooling fan, and supplies power to run the rest of the
computer, the most common types of power supplies are mechanic shed (old) but the
standard for PCs actually are ATX and Micro ATX.Power supply is the heart of our
computer.

[edit] Video display controller


Main article: Graphics card

Produces the output for the visual display unit. 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.

[edit] Removable media devices


Main article: Computer storage

• CD (compact disc) - the most common type of removable media, inexpensive but
has a short life-span.
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 6 times as much information. It is the most
common way of transferring digital video.
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 - a high-density optical disc format for the storage of digital information,
including high-definition video.
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 high-density optical disc format and successor to the standard DVD.
It was 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.
• 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.
• Tape drive - a device that reads and writes data on a magnetic tape, used for long
term storage.

[edit] 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 hard disks, to achieve
performance or reliability improvement in what is called a RAID array.

[edit] Sound card


Main article: 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

[edit] Networking
Main article: Computer networks
Connects the computer to the Internet and/or other computers.

• Modem - for dial-up connections or sending digital faxes. (outdated)


• Network card - for DSL/Cable internet, and/or connecting to other computers,
using the Ethernet cord.
• Direct Cable Connection - Use of a null modem, connecting two computers
together using their serial ports or a Laplink Cable, connecting two computers
together with their parallel ports.

[edit] Other peripherals


Main article: 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

[edit] Input
Main article: 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.
• 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

[edit] Output
Main article: Output

• Image, Video output devices


o Printer
o Monitor
• Audio output devices
o Speakers
o Headset

Potrebbero piacerti anche