Computer Science Short Notes

Published on June 2016 | Categories: Documents | Downloads: 95 | Comments: 0 | Views: 346
of 69
Download PDF   Embed   Report

Comments

Content

Computer Science.
I INTRODUCTION
Computer Science, study of the theory, experimentation, and engineering that form the basis for the design and use of computers—devices that automatically process information. Computer science traces its roots to work done by English mathematician Charles Babbage, who first proposed a programmable mechanical calculator in 1837. Until the advent of electronic digital computers in the 1940s, computer science was not generally distinguished as being separate from mathematics and engineering. Since then it has sprouted numerous branches of research that are unique to the discipline.

II

THE DEVELOPMENT OF COMPUTER SCIENCE
Early work in the field of computer science during the late 1940s and early 1950s

focused on automating the process of making calculations for use in science and engineering. Scientists and engineers developed theoretical models of computation that enabled them to analyze how efficient different approaches were in performing various calculations. Computer science overlapped considerably during this time with the branch of mathematics known as numerical analysis, which examines the accuracy and precision of calculations. (see ENIAC; UNIVAC.)

As the use of computers expanded between the 1950s and the 1970s, the focus of computer science broadened to include simplifying the use of computers through programming languages—artificial languages used to program computers, and operating systems—computer programs that provide a useful interface between a computer and a user. During this time, computer scientists were also experimenting with new applications and computer designs, creating the first computer networks, and exploring relationships between computation and thought.

In the 1970s, computer chip manufacturers began to mass produce microprocessors— the electronic circuitry that serves as the main information processing center in a computer.

This new technology revolutionized the computer industry by dramatically reducing the cost of building computers and greatly increasing their processing speed. The microprocessor made possible the advent of the personal computer, which resulted in an explosion in the use of computer applications. Between the early 1970s and 1980s, computer science rapidly expanded in an effort to develop new applications for personal computers and to drive the technological advances in the computing industry. Much of the earlier research that had been done began to reach the public through personal computers, which derived most of their early software from existing concepts and systems.

Computer scientists continue to expand the frontiers of computer and information systems by pioneering the designs of more complex, reliable, and powerful computers; enabling networks of computers to efficiently exchange vast amounts of information; and seeking ways to make computers behave intelligently. As computers become an increasingly integral part of modern society, computer scientists strive to solve new problems and invent better methods of solving current problems.

The goals of computer science range from finding ways to better educate people in the use of existing computers to highly speculative research into technologies and approaches that may not be viable for decades. Underlying all of these specific goals is the desire to better the human condition today and in the future through the improved use of information.

III

THEORY AND EXPERIMENT
Computer science is a combination of theory, engineering, and experimentation. In

some cases, a computer scientist develops a theory, then engineers a combination of computer hardware and software based on that theory, and experimentally tests it. An example of such a theory-driven approach is the development of new software engineering tools that are then evaluated in actual use. In other cases, experimentation may result in new theory, such as the discovery that an artificial neural network exhibits behavior similar to neurons in the brain, leading to a new theory in neurophysiology.

It might seem that the predictable nature of computers makes experimentation unnecessary because the outcome of experiments should be known in advance. But when computer systems and their interactions with the natural world become sufficiently complex, unforeseen behaviors can result. Experimentation and the traditional scientific method are thus key parts of computer science.

IV MAJOR BRANCHES OF COMPUTER SCIENCE
Computer science can be divided into four main fields: software development, computer architecture (hardware), human-computer interfacing (the design of the most efficient ways for humans to use computers), and artificial intelligence (the attempt to make computers behave intelligently). Software development is concerned with creating computer programs that perform efficiently. Computer architecture is concerned with developing optimal hardware for specific computational needs. The areas of artificial intelligence (AI) and humancomputer interfacing often involve the development of both software and hardware to solve specific problems.

A Software Development
In developing computer software, computer scientists and engineers study various areas and techniques of software design, such as the best types of programming languages and algorithms (see below) to use in specific programs, how to efficiently store and retrieve information, and the computational limits of certain software-computer combinations. Software designers must consider many factors when developing a program. Often, program performance in one area must be sacrificed for the sake of the general performance of the software. For instance, since computers have only a limited amount of memory, software designers must limit the number of features they include in a program so that it will not require more memory than the system it is designed for can supply.

Software engineering is an area of software development in which computer scientists and engineers study methods and tools that facilitate the efficient development of correct, reliable, and robust computer programs. Research in this branch of computer science considers all the phases of the software life cycle, which begins with a formal problem

specification, and progresses to the design of a solution, its implementation as a program, testing of the program, and program maintenance. Software engineers develop software tools and collections of tools called programming environments to improve the development process. For example, tools can help to manage the many components of a large program that is being written by a team of programmers.

Algorithms and data structures are the building blocks of computer programs. An algorithm is a precise step-by-step procedure for solving a problem within a finite time and using a finite amount of memory. Common algorithms include searching a collection of data, sorting data, and numerical operations such as matrix multiplication. Data structures are patterns for organizing information, and often represent relationships between data values. Some common data structures are called lists, arrays, records, stacks, queues, and trees.

Computer scientists continue to develop new algorithms and data structures to solve new problems and improve the efficiency of existing programs. One area of theoretical research is called algorithmic complexity. Computer scientists in this field seek to develop techniques for determining the inherent efficiency of algorithms with respect to one another. Another area of theoretical research called computability theory seeks to identify the inherent limits of computation.

Software engineers use programming languages to communicate algorithms to a computer. Natural languages such as English are ambiguous—meaning that their grammatical structure and vocabulary can be interpreted in multiple ways—so they are not suited for programming. Instead, simple and unambiguous artificial languages are used. Computer scientists study ways of making programming languages more expressive, thereby simplifying programming and reducing errors. A program written in a programming language must be translated into machine language (the actual instructions that the computer follows). Computer scientists also develop better translation algorithms that produce more efficient machine language programs.

Databases and information retrieval are related fields of research. A database is an organized collection of information stored in a computer, such as a company’s customer

account data. Computer scientists attempt to make it easier for users to access databases, prevent access by unauthorized users, and improve access speed. They are also interested in developing techniques to compress the data, so that more can be stored in the same amount of memory. Databases are sometimes distributed over multiple computers that update the data simultaneously, which can lead to inconsistency in the stored information. To address this problem, computer scientists also study ways of preventing inconsistency without reducing access speed.

Information retrieval is concerned with locating data in collections that are not clearly organized, such as a file of newspaper articles. Computer scientists develop algorithms for creating indexes of the data. Once the information is indexed, techniques developed for databases can be used to organize it. Data mining is a closely related field in which a large body of information is analyzed to identify patterns. For example, mining the sales records from a grocery store could identify shopping patterns to help guide the store in stocking its shelves more effectively. (see Information Storage and Retrieval.)

Operating systems are programs that control the overall functioning of a computer. They provide the user interface, place programs into the computer’s memory and cause it to execute them, control the computer’s input and output devices, manage the computer’s resources such as its disk space, protect the computer from unauthorized use, and keep stored data secure. Computer scientists are interested in making operating systems easier to use, more secure, and more efficient by developing new user interface designs, designing new mechanisms that allow data to be shared while preventing access to sensitive data, and developing algorithms that make more effective use of the computer’s time and memory.

The study of numerical computation involves the development of algorithms for calculations, often on large sets of data or with high precision. Because many of these computations may take days or months to execute, computer scientists are interested in making the calculations as efficient as possible. They also explore ways to increase the numerical precision of computations, which can have such effects as improving the accuracy of a weather forecast. The goals of improving efficiency and precision often conflict, with greater efficiency being obtained at the cost of precision and vice versa.

Symbolic computation involves programs that manipulate nonnumeric symbols, such as characters, words, drawings, algebraic expressions, encrypted data (data coded to prevent unauthorized access), and the parts of data structures that represent relationships between values (see Encryption). One unifying property of symbolic programs is that they often lack the regular patterns of processing found in many numerical computations. Such irregularities present computer scientists with special challenges in creating theoretical models of a program’s efficiency, in translating it into an efficient machine language program, and in specifying and testing its correct behavior.

B Computer Architecture
Computer architecture is the design and analysis of new computer systems. Computer architects study ways of improving computers by increasing their speed, storage capacity, and reliability, and by reducing their cost and power consumption. Computer architects develop both software and hardware models to analyze the performance of existing and proposed computer designs, then use this analysis to guide development of new computers. They are often involved with the engineering of a new computer because the accuracy of their models depends on the design of the computer’s circuitry. Many computer architects are interested in developing computers that are specialized for particular applications such as image processing, signal processing, or the control of mechanical systems. The optimization of computer architecture to specific tasks often yields higher performance, lower cost, or both.

C Artificial Intelligence
Artificial intelligence (AI) research seeks to enable computers and machines to mimic human intelligence and sensory processing ability, and models human behavior with computers to improve our understanding of intelligence. The many branches of AI research include machine learning, inference, cognition, knowledge representation, problem solving, case-based reasoning, natural language understanding, speech recognition, computer vision, and artificial neural networks.

A key technique developed in the study of artificial intelligence is to specify a problem as a set of states, some of which are solutions, and then search for solution states. For example, in

chess, each move creates a new state. If a computer searched the states resulting from all possible sequences of moves, it could identify those that win the game. However, the number of states associated with many problems (such as the possible number of moves needed to win a chess game) is so vast that exhaustively searching them is impractical. The search process can be improved through the use of heuristics—rules that are specific to a given problem and can therefore help guide the search. For example, a chess heuristic might indicate that when a move results in checkmate, there is no point in examining alternate moves.

D Robotics
Another area of computer science that has found wide practical use is robotics—the design and development of computer controlled mechanical devices. Robots range in complexity from toys to automated factory assembly lines, and relieve humans from tedious, repetitive, or dangerous tasks. Robots are also employed where requirements of speed, precision, consistency, or cleanliness exceed what humans can accomplish. Roboticists—scientists involved in the field of robotics—study the many aspects of controlling robots. These aspects include modeling the robot’s physical properties, modeling its environment, planning its actions, directing its mechanisms efficiently, using sensors to provide feedback to the controlling program, and ensuring the safety of its behavior. They also study ways of simplifying the creation of control programs. One area of research seeks to provide robots with more of the dexterity and adaptability of humans, and is closely associated with AI.

E Human-Computer Interfacing
Human-computer interfaces provide the means for people to use computers. An example of a human-computer interface is the keyboard, which lets humans enter commands into a computer and enter text into a specific application. The diversity of research into humancomputer interfacing corresponds to the diversity of computer users and applications. However, a unifying theme is the development of better interfaces and experimental evaluation of their effectiveness. Examples include improving computer access for people with disabilities, simplifying program use, developing three-dimensional input and output devices

for virtual reality, improving handwriting and speech recognition, and developing heads-up displays for aircraft instruments in which critical information such as speed, altitude, and heading are displayed on a screen in front of the pilot’s window. One area of research, called visualization, is concerned with graphically presenting large amounts of data so that people can comprehend its key properties.

CONNECTION OF COMPUTER SCIENCE TO V OTHER DISCIPLINES
Because computer science grew out of mathematics and , it retains many close connections to those disciplines. Theoretical computer science draws many of its approaches from mathematics and logic. Research in numerical computation overlaps with mathematics research in numerical analysis. Computer architects work closely with the electrical engineers who design the circuits of a computer.

Beyond these historical connections, there are strong ties between AI research and psychology, neurophysiology, and linguistics. Human-computer interface research also has connections with psychology. Robotics work with both mechanical engineers and physiologists in designing new robots.

Computer science also has indirect relationships with virtually all disciplines that use computers. Applications developed in other fields often involve collaboration with computer scientists, who contribute their knowledge of algorithms, data structures, software engineering, and existing technology. In return, the computer scientists have the opportunity to observe novel applications of computers, from which they gain a deeper insight into their use. These relationships make computer science a highly interdisciplinary field of study.

Contributed By: Charles C. Weems
Microsoft ® Encarta ® 2009. © 1993-2008 Microsoft Corporation. All rights reserved.

Computer
I INTRODUCTION
Computer, machine that performs tasks, such as calculations or electronic communication, under the control of a set of instructions called a program. Programs usually reside within the computer and are retrieved and processed by the computer’s electronics. The program results are stored or routed to output devices, such as video display monitors or printers. Computers perform a wide variety of activities reliably, accurately, and quickly.

II

USES OF COMPUTERS
People use computers in many ways. In business, computers track inventories with bar

codes and scanners, check the credit status of customers, and transfer funds electronically. In homes, tiny computers embedded in the electronic circuitry of most appliances control the indoor temperature, operate home security systems, tell the time, and turn videocassette recorders (VCRs) on and off. Computers in automobiles regulate the flow of fuel, thereby increasing gas mileage, and are used in anti-theft systems. Computers also entertain, creating digitized sound on stereo systems or computer-animated features from a digitally encoded laser disc. Computer programs, or applications, exist to aid every level of education, from programs that teach simple addition or sentence construction to programs that teach advanced calculus. Educators use computers to track grades and communicate with students; with computer-controlled projection units, they can add graphics, sound, and animation to their communications (see Computer-Aided Instruction). Computers are used extensively in scientific research to solve mathematical problems, investigate complicated data, or model systems that are too costly or impractical to build, such as testing the air flow around the next generation of aircraft. The military employs computers in sophisticated communications to encode and unscramble messages, and to keep track of personnel and supplies.

III

HOW COMPUTERS WORK

The physical computer and its components are known as hardware. Computer hardware includes the memory that stores data and program instructions; the central processing unit (CPU) that carries out program instructions; the input devices, such as a keyboard or mouse, that allow the user to communicate with the computer; the output devices, such as printers and video display monitors, that enable the computer to present information to the user; and buses (hardware lines or wires) that connect these and other computer components. The programs that run the computer are called software. Software generally is designed to perform a particular type of task—for example, to control the arm of a robot to weld a car’s body, to write a letter, to display and modify a photograph, or to direct the general operation of the computer.

A The Operating System
Operating systems are programs that control the overall functioning of a computer. They provide the user interface, place programs into the computer’s memory and cause it to execute them, control the computer’s input and output devices, manage the computer’s resources such as its disk space, protect the computer from unauthorized use, and keep stored data secure. Computer scientists are interested in making operating systems easier to use, more secure, and more efficient by developing new user interface designs, designing new mechanisms that allow data to be shared while preventing access to sensitive data, and developing algorithms that make more effective use of the computer’s time and memory.

When a computer is turned ON it searches for instructions in its memory. These instructions tell the computer how to start up. Usually, one of the first sets of these instructions is a special program called the operating system, which is the software that makes the computer work. It prompts the user (or other machines) for input and commands, reports the results of these commands and other operations, stores and manages data, and controls the sequence of the software and hardware actions. When the user requests that a program run, the operating system loads the program in the computer’s memory and runs the program. Popular operating systems, such as Microsoft Windows and the Macintosh system (Mac OS), have graphical user interfaces (GUIs)—that use tiny pictures, or icons, to represent various files and commands. To access these files or commands, the user clicks the mouse on the icon or presses a

combination of keys on the keyboard. Some operating systems allow the user to carry out these tasks via voice, touch, or other input methods.

B Computer Memory
To process information electronically, data are stored in a computer in the form of binary digits, or bits, each having two possible representations (0 or 1). If a second bit is added to a single bit of information, the number of representations is doubled, resulting in four possible combinations: 00, 01, 10, or 11. A third bit added to this two-bit representation again doubles the number of combinations, resulting in eight possibilities: 000, 001, 010, 011, 100, 101, 110, or 111. Each time a bit is added, the number of possible patterns is doubled. Eight bits is called a byte; a byte has 256 possible combinations of 0s and 1s. See also Expanded Memory; Extended Memory.

A byte is a useful quantity in which to store information because it provides enough possible patterns to represent the entire alphabet, in lower and upper cases, as well as numeric digits, punctuation marks, and several character-sized graphics symbols, including non-English characters such as π . A byte also can be interpreted as a pattern that represents a number between 0 and 255. A kilobyte—1,024 bytes—can store about 1,000 characters; a megabyte can store about 1 million characters; a gigabyte can store about 1 billion characters; and a terabyte can store about 1 trillion characters. Computer programmers usually decide how a given byte should be interpreted—that is, as a single character, a character within a string of text, a single number, or part of a larger number. Numbers can represent anything from chemical bonds to dollar figures to colors to sounds.

The physical memory of a computer is either random access memory (RAM), which can be read or changed by the user or computer, or read-only memory (ROM), which can be read by the computer but not altered in any way. One way to store memory is within the circuitry of the computer, usually in tiny computer chips that hold millions of bytes of information. The

memory within these computer chips is RAM. Memory also can be stored outside the circuitry of the computer on external storage devices, such as magnetic floppy disks, which can store about 2 megabytes of information; hard drives, which can store gigabytes of information; compact discs (CDs), which can store up to 680 megabytes of information; and digital video discs (DVDs), which can store 8.5 gigabytes of information. A single CD can store nearly as much information as several hundred floppy disks, and some DVDs can hold more than 12 times as much data as a CD.

C The Bus
The bus enables the components in a computer, such as the CPU and the memory circuits, to communicate as program instructions are being carried out. The bus is usually a flat cable with numerous parallel wires. Each wire can carry one bit, so the bus can transmit many bits along the cable at the same time. For example, a 16-bit bus, with 16 parallel wires, allows the simultaneous transmission of 16 bits (2 bytes) of information from one component to another. Early computer designs utilized a single or very few buses. Modern designs typically use many buses, some of them specialized to carry particular forms of data, such as graphics.

D Input Devices
Input devices, such as a keyboard or mouse, permit the computer user to communicate with the computer. Other input devices include a joystick, a rod like device often used by people who play computer games; a scanner, which converts images such as photographs into digital images that the computer can manipulate; a touch panel, which senses the placement of a user’s finger and can be used to execute commands or access files; and a microphone, used to input sounds such as the human voice which can activate computer commands in conjunction with voice recognition software. “Tablet” computers are being developed that will allow users to interact with their screens using a pen like device.

E The Central Processing Unit
Information from an input device or from the computer’s memory is communicated via the bus to the central processing unit (CPU), which is the part of the computer that translates

commands and runs programs. The CPU is a microprocessor chip—that is, a single piece of silicon containing millions of tiny, microscopically wired electrical components. Information is stored in a CPU memory location called a register. Registers can be thought of as the CPU’s tiny scratchpad, temporarily storing instructions or data. When a program is running, one special register called the program counter keeps track of which program instruction comes next by maintaining the memory location of the next program instruction to be executed. The CPU’s control unit coordinates and times the CPU’s functions, and it uses the program counter to locate and retrieve the next instruction from memory.

In a typical sequence, the CPU locates the next instruction in the appropriate memory device. The instruction then travels along the bus from the computer’s memory to the CPU, where it is stored in a special instruction register. Meanwhile, the program counter changes— usually increasing a small amount—so that it contains the location of the instruction that will be executed next. The current instruction is analyzed by a decoder, which determines what the instruction will do. Any data the instruction needs are retrieved via the bus and placed in the CPU’s registers. The CPU executes the instruction, and the results are stored in another register or copied to specific memory locations via a bus. This entire sequence of steps is called an instruction cycle. Frequently, several instructions may be in process simultaneously, each at a different stage in its instruction cycle. This is called pipeline processing.

F Output Devices
Once the CPU has executed the program instruction, the program may request that the information be communicated to an output device, such as a video display monitor or a flat liquid crystal display. Other output devices are printers, overhead projectors, videocassette recorders (VCRs), and speakers. See also Input/Output Devices.

IV PROGRAMMING LANGUAGES
Programming languages contain the series of commands that create software. A CPU has a limited set of instructions known as machine code that it is capable of understanding. The CPU can understand only this language. All other programming languages must be converted to machine code for them to be understood. Computer programmers, however,

prefer to use other computer languages that use words or other commands because they are easier to use. These other languages are slower because the language must be translated first so that the computer can understand it. The translation can lead to code that may be less efficient to run than code written directly in the machine’s language.

A Machine Language
Computer programs that can be run by a computer’s operating system are called executables. An executable program is a sequence of extremely simple instructions known as machine code. These instructions are specific to the individual computer’s CPU and associated hardware; for example, Intel Pentium and Power PC microprocessor chips each have different machine languages and require different sets of codes to perform the same task. Machine code instructions are few in number (roughly 20 to 200, depending on the computer and the CPU). Typical instructions are for copying data from a memory location or for adding the contents of two memory locations (usually registers in the CPU). Complex tasks require a sequence of these simple instructions. Machine code instructions are binary—that is, sequences of bits (0s and 1s). Because these sequences are long strings of 0s and 1s and are usually not easy to understand, computer instructions usually are not written in machine code. Instead, computer programmers write code in languages known as an assembly language or a high-level language.

B Assembly Language
Assembly language uses easy-to-remember commands that are more understandable to programmers than machine-language commands. Each machine language instruction has an equivalent command in assembly language. For example, in one Intel assembly language, the statement “MOV A, B” instructs the computer to copy data from location A to location B. The same instruction in machine code is a string of 16 0s and 1s. Once an assembly-language program is written, it is converted to a machine-language program by another program called an assembler.

Assembly language is fast and powerful because of its correspondence with machine language. It is still difficult to use, however, because assembly-language instructions are a

series of abstract codes and each instruction carries out a relatively simple task. In addition, different CPUs use different machine languages and therefore require different programs and different assembly languages. Assembly language is sometimes inserted into a high-level language program to carry out specific hardware tasks or to speed up parts of the high-level program that are executed frequently.

C High-Level Languages
High-level languages were developed because of the difficulty of programming using assembly languages. High-level languages are easier to use than machine and assembly languages because their commands are closer to natural human language. In addition, these languages are not CPU-specific. Instead, they contain general commands that work on different CPUs. For example, a programmer writing in the high-level C++ programming language who wants to display a greeting need include only the following command:

This command directs the computer’s CPU to display the greeting, and it will work no matter what type of CPU the computer uses. When this statement is executed, the text that appears between the quotes will be displayed. Although the “cout” and “endl” parts of the above statement appear cryptic, programmers quickly become accustomed to their meanings. For example, “cout” sends the greeting message to the “standard output” (usually the computer user’s screen) and “endl” is how to tell the computer (when using the C++ language) to go to a new line after it outputs the message. Like assembly-language instructions, high-level languages also must be translated. This is the task of a special program called a compiler. A compiler turns a high-level program into a CPU-specific machine language. For example, a programmer may write a program in a high-level language such as C++ or Java and then prepare it for different machines, such as a Sun Microsystems work station or a personal computer (PC), using compilers designed for those machines. This simplifies the programmer’s task and makes the software more portable to different users and machines.

V FLOW-MATIC

American naval officer and mathematician Grace Murray Hopper helped develop the first commercially available high-level software language, FLOW-MATIC, in 1957. Hopper is credited for inventing the term bug, which indicates a computer malfunction; in 1945 she discovered a hardware failure in the Mark II computer caused by a moth trapped between its mechanical relays. She documented the event in her laboratory notebook, and the term eventually came to represent any computer error, including one based strictly on incorrect instructions in software. Hopper taped the moth into her notebook and wrote, “First actual case of a bug being found.”

VI

FORTRAN
From 1954 to 1958 American computer scientist John Backus of International Business

Machines, Inc. (IBM) developed Fortran, an acronym for Formula Translation. It became a standard programming language because it could process mathematical formulas. Fortran and its variations are still in use today, especially in physics.

VII

BASIC
Hungarian-American mathematician John Kemeny and American mathematician

Thomas Kurtz at Dartmouth College in Hanover, New Hampshire, developed BASIC (Beginner’s All-purpose Symbolic Instruction Code) in 1964. The language was easier to learn than its predecessors and became popular due to its friendly, interactive nature and its inclusion on early personal computers. Unlike languages that require all their instructions to be translated into machine code first, BASIC is turned into machine language line by line as the program runs. BASIC commands typify high-level languages because of their simplicity and their closeness to natural human language. For example, a program that divides a number in half can be written as

10 INPUT “ENTER A NUMBER,” X 20 Y=X/2 30 PRINT “HALF OF THAT NUMBER IS,” Y

The numbers that precede each line are chosen by the programmer to indicate the sequence of the commands. The first line prints “ENTER A NUMBER” on the computer screen followed by a question mark to prompt the user to type in the number labeled “X.” In the next line, that number is divided by two and stored as “Y.” In the third line, the result of the operation is displayed on the computer screen. Even though BASIC is rarely used today, this simple program demonstrates how data are stored and manipulated in most high-level programming languages.

VIII

OTHER HIGH-LEVEL LANGUAGES

Other high-level languages in use today include C, C++, Ada, Pascal, LISP, Prolog, COBOL, Visual Basic, and Java. Some languages, such as the “markup languages” known as HTML, XML, and their variants, are intended to display data, graphics, and media selections, especially for users of the World Wide Web. Markup languages are often not considered programming languages, but they have become increasingly sophisticated.

A Object-Oriented Programming Languages
Object-oriented programming (OOP) languages, such as C++ and Java, are based on traditional high-level languages, but they enable a programmer to think in terms of collections of cooperating objects instead of lists of commands. Objects, such as a circle, have properties such as the radius of the circle and the command that draws it on the computer screen. Classes of objects can inherit features from other classes of objects. For example, a class defining squares can inherit features such as right angles from a class defining rectangles. This set of programming classes simplifies the programmer’s task, resulting in more “reusable” computer code. Reusable code allows a programmer to use code that has already been designed, written, and tested. This makes the programmer’s task easier, and it results in more reliable and efficient programs.

IX TYPES OF COMPUTERS
A Digital and Analog

Computers can be either digital or analog. Virtually all modern computers are digital. Digital refers to the processes in computers that manipulate binary numbers (0s or 1s), which represent switches that are turned on or off by electrical current. A bit can have the value 0 or the value 1, but nothing in between 0 and 1. Analog refers to circuits or numerical values that have a continuous range. Both 0 and 1 can be represented by analog computers, but so can 0.5, 1.5, or a number like π (approximately 3.14).

A desk lamp can serve as an example of the difference between analog and digital. If the lamp has a simple on/off switch, then the lamp system is digital, because the lamp either produces light at a given moment or it does not. If a dimmer replaces the on/off switch, then the lamp is analog, because the amount of light can vary continuously from on to off and all intensities in between.

Analog computer systems were the first type to be produced. A popular analog computer used in the 20th century was the slide rule. To perform calculations with a slide rule, the user slides a narrow, gauged wooden strip inside a rulerlike holder. Because the sliding is continuous and there is no mechanism to stop at any exact values, the slide rule is analog. New interest has been shown recently in analog computers, particularly in areas such as neural networks. These are specialized computer designs that attempt to mimic neurons of the brain. They can be built to respond to continuous electrical signals. Most modern computers, however, are digital machines whose components have a finite number of states—for example, the 0 or 1, or on or off bits. These bits can be combined to denote information such as numbers, letters, graphics, sound, and program instructions.

B Range of Computer Ability
Computers exist in a wide range of sizes and power. The smallest are embedded within the circuitry of appliances, such as televisions and wristwatches. These computers are typically preprogrammed for a specific task, such as tuning to a particular television frequency, delivering doses of medicine, or keeping accurate time. They generally are “hard-wired”—that is, their programs are represented as circuits that cannot be reprogrammed.

Programmable computers vary enormously in their computational power, speed, memory, and physical size. Some small computers can be held in one hand and are called personal digital assistants (PDAs). They are used as notepads, scheduling systems, and address books; if equipped with a cellular phone, they can connect to worldwide computer networks to exchange information regardless of location. Hand-held game devices are also examples of small computers.

Portable laptop and notebook computers and desktop PCs are typically used in businesses and at home to communicate on computer networks, for word processing, to track finances, and for entertainment. They have large amounts of internal memory to store hundreds of programs and documents. They are equipped with a keyboard; a mouse, trackball, or other pointing device; and a video display monitor or liquid crystal display (LCD) to display information. Laptop and notebook computers usually have hardware and software similar to PCs, but they are more compact and have flat, lightweight LCDs instead of television-like video display monitors. Most sources consider the terms “laptop” and “notebook” synonymous.

Workstations are similar to personal computers but have greater memory and more extensive mathematical abilities, and they are connected to other workstations or personal computers to exchange data. They are typically found in scientific, industrial, and business environments— especially financial ones, such as stock exchanges—that require complex and fast computations.

Mainframe computers have more memory, speed, and capabilities than workstations and are usually shared by multiple users through a series of interconnected computers. They control businesses and industrial facilities and are used for scientific research. The most powerful mainframe computers, called supercomputers, process complex and time-consuming calculations, such as those used to create weather predictions. Large businesses, scientific institutions, and the military use them. Some supercomputers have many sets of CPUs. These computers break a task into small pieces, and each CPU processes a portion of the task to increase overall speed and efficiency. Such computers are called parallel processors. As computers have increased in sophistication, the boundaries between the various types have become less rigid. The performance of various tasks and types of computing have also moved

from one type of computer to another. For example, networked PCs can work together on a given task in a version of parallel processing known as distributed computing.

X NETWORKS
Computers can communicate with other computers through a series of connections and associated hardware called a network. The advantage of a network is that data can be exchanged rapidly, and software and hardware resources, such as hard-disk space or printers, can be shared. Networks also allow remote use of a computer by a user who cannot physically access the computer.

One type of network, a local area network (LAN), consists of several PCs or workstations connected to a special computer called a server, often within the same building or office complex. The server stores and manages programs and data. A server often contains all of a networked group’s data and enables LAN workstations or PCs to be set up without large storage capabilities. In this scenario, each PC may have “local” memory (for example, a hard drive) specific to itself, but the bulk of storage resides on the server. This reduces the cost of the workstation or PC because less expensive computers can be purchased, and it simplifies the maintenance of software because the software resides only on the server rather than on each individual workstation or PC.

Mainframe computers and supercomputers commonly are networked. They may be connected to PCs, workstations, or terminals that have no computational abilities of their own. These “dumb” terminals are used only to enter data into, or receive output from, the central computer.

Wide area networks (WANs) are networks that span large geographical areas. Computers can connect to these networks to use facilities in another city or country. For example, a person in Los Angeles can browse through the computerized archives of the Library of Congress in Washington, D.C. The largest WAN is the Internet, a global consortium of networks linked by common communication programs and protocols (a set of established standards that enable computers to communicate with each other). The Internet is a mammoth resource of data, programs, and utilities. American computer scientist Vinton Cerf

was largely responsible for creating the Internet in 1973 as part of the United States Department of Defense Advanced Research Projects Agency (DARPA). In 1984 the development of Internet technology was turned over to private, government, and scientific agencies. The World Wide Web, developed in the 1980s by British physicist Timothy BernersLee, is a system of information resources accessed primarily through the Internet. Users can obtain a variety of information in the form of text, graphics, sounds, or video. These data are extensively cross-indexed, enabling users to browse (transfer their attention from one information site to another) via buttons, highlighted text, or sophisticated searching software known as search engines.

XI HISTORY
A Beginnings
The history of computing began with an analog machine. In 1623 German scientist Wilhelm Schikard invented a machine that used 11 complete and 6 incomplete sprocketed wheels that could add, and with the aid of logarithm tables, multiply and divide.

French philosopher, mathematician, and physicist Blaise Pascal invented a machine in 1642 that added and subtracted, automatically carrying and borrowing digits from column to column. Pascal built 50 copies of his machine, but most served as curiosities in parlors of the wealthy. Seventeenth-century German mathematician Gottfried Leibniz designed a special gearing system to enable multiplication on Pascal’s machine.

B First Punch Cards
In the early 19th century French inventor Joseph-Marie Jacquard devised a specialized type of computer: a silk loom. Jacquard’s loom used punched cards to program patterns that helped the loom create woven fabrics. Although Jacquard was rewarded and admired by French emperor Napoleon I for his work, he fled for his life from the city of Lyon pursued by weavers who feared their jobs were in jeopardy due to Jacquard’s invention. The loom prevailed, however: When Jacquard died, more than 30,000 of his looms existed in Lyon. The looms are still used today, especially in the manufacture of fine furniture fabrics.

Precursor to Modern C Computer
Another early mechanical computer was the Difference Engine, designed in the early 1820s by British mathematician and scientist Charles Babbage. Although never completed by Babbage, the Difference Engine was intended to be a machine with a 20-decimal capacity that could solve mathematical problems. Babbage also made plans for another machine, the Analytical Engine, considered the mechanical precursor of the modern computer. The Analytical Engine was designed to perform all arithmetic operations efficiently; however, Babbage’s lack of political skills kept him from obtaining the approval and funds to build it.

Augusta Ada Byron, countess of Lovelace, was a personal friend and student of Babbage. She was the daughter of the famous poet Lord Byron and one of only a few woman mathematicians of her time. She prepared extensive notes concerning Babbage’s ideas and the Analytical Engine. Lovelace’s conceptual programs for the machine led to the naming of a programming language (Ada) in her honor. Although the Analytical Engine was never built, its key concepts, such as the capacity to store instructions, the use of punched cards as a primitive memory, and the ability to print, can be found in many modern computers.

XII

DEVELOPMENTS IN THE 20TH CENTURY

A Early Electronic Calculators
Herman Hollerith, an American inventor, used an idea similar to Jacquard’s loom when he combined the use of punched cards with devices that created and electronically read the cards. Hollerith’s tabulator was used for the 1890 U.S. census, and it made the computational time three to four times shorter than the time previously needed for hand counts. Hollerith’s Tabulating Machine Company eventually merged with two companies to form the ComputingTabulating-Recording Company. In 1924 the company changed its name to International Business Machines (IBM).

In 1936 British mathematician Alan Turing proposed the idea of a machine that could process equations without human direction. The machine (now known as a Turing machine) resembled

an automatic typewriter that used symbols for math and logic instead of letters. Turing intended the device to be a “universal machine” that could be used to duplicate or represent the function of any other existing machine. Turing’s machine was the theoretical precursor to the modern digital computer. The Turing machine model is still used by modern computational theorists.

In the 1930s American mathematician Howard Aiken developed the Mark I calculating machine, which was built by IBM. This electronic calculating machine used relays and electromagnetic components to replace mechanical components. In later machines, Aiken used vacuum tubes and solid state transistors (tiny electrical switches) to manipulate the binary numbers. Aiken also introduced computers to universities by establishing the first computer science program at Harvard University in Cambridge, Massachusetts. Aiken obsessively mistrusted the concept of storing a program within the computer, insisting that the integrity of the machine could be maintained only through a strict separation of program instructions from data. His computer had to read instructions from punched cards, which could be stored away from the computer. He also urged the National Bureau of Standards not to support the development of computers, insisting that there would never be a need for more than five or six of them nationwide.

B

EDVAC, ENIAC, and UNIVAC

At the Institute for Advanced Study in Princeton, New Jersey, Hungarian-American mathematician John von Neumann developed one of the first computers used to solve problems in mathematics, meteorology, economics, and hydrodynamics. Von Neumann's 1945 design for the Electronic Discrete Variable Automatic Computer (EDVAC)—in stark contrast to the designs of Aiken, his contemporary—was the first electronic computer design to incorporate a program stored entirely within its memory. This machine led to several others, some with clever names like ILLIAC, JOHNNIAC, and MANIAC.

American physicist John Mauchly proposed the electronic digital computer called ENIAC, the Electronic Numerical Integrator And Computer. He helped build it along with American engineer John Presper Eckert, Jr., at the Moore School of Engineering at the University of

Pennsylvania in Philadelphia. ENIAC was operational in 1945 and introduced to the public in 1946. It is regarded as the first successful, general digital computer. It occupied 167 sq m (1,800 sq ft), weighed more than 27,000 kg (60,000 lb), and contained more than 18,000 vacuum tubes. Roughly 2,000 of the computer’s vacuum tubes were replaced each month by a team of six technicians. Many of ENIAC’s first tasks were for military purposes, such as calculating ballistic firing tables and designing atomic weapons. Since ENIAC was initially not a stored program machine, it had to be reprogrammed for each task.

Eckert and Mauchly eventually formed their own company, which was then bought by the Rand Corporation. They produced the Universal Automatic Computer (UNIVAC), which was used for a broader variety of commercial applications. The first UNIVAC was delivered to the United States Census Bureau in 1951. By 1957, there were 46 UNIVACs in use.

Between 1937 and 1939, while teaching at Iowa State College, American physicist John Vincent Atanasoff built a prototype computing device called the Atanasoff-Berry Computer, or ABC, with the help of his assistant, Clifford Berry. Atanasoff developed the concepts that were later used in the design of the ENIAC. Atanasoff’s device was the first computer to separate data processing from memory, but it is not clear whether a functional version was ever built. Atanasoff did not receive credit for his contributions until 1973, when a lawsuit regarding the patent on ENIAC was settled.

THE TRANSISTOR AND INTEGRATED CIRCUITS XIII TRANSFORM COMPUTING.

In 1948, at Bell Telephone Laboratories, American physicists Walter Houser Brattain, John Bardeen, and William Bradford Shockley developed the transistor, a device that can act as an electric switch. The transistor had a tremendous impact on computer design, replacing costly, energy-inefficient, and unreliable vacuum tubes.

In the late 1960s integrated circuits (tiny transistors and other electrical components arranged on a single chip of silicon) replaced individual transistors in computers. Integrated circuits resulted from the simultaneous, independent work of Jack Kilby at Texas Instruments and

Robert Noyce of the Fairchild Semiconductor Corporation in the late 1950s. As integrated circuits became miniaturized, more components could be designed into a single computer circuit. In the 1970s refinements in integrated circuit technology led to the development of the modern microprocessor, integrated circuits that contained thousands of transistors. Modern microprocessors can contain more than 40 million transistors.

Manufacturers used integrated circuit technology to build smaller and cheaper computers. The first of these so-called personal computers (PCs)—the Altair 8800—appeared in 1975, sold by Micro Instrumentation Telemetry Systems (MITS). The Altair used an 8-bit Intel 8080 microprocessor, had 256 bytes of RAM, received input through switches on the front panel, and displayed output on rows of light-emitting diodes (LEDs). Refinements in the PC continued with the inclusion of video displays, better storage devices, and CPUs with more computational abilities. Graphical user interfaces were first designed by the Xerox Corporation, then later used successfully by Apple Inc.. Today the development of sophisticated operating systems such as Windows, the Mac OS, and Linux enables computer users to run programs and manipulate data in ways that were unimaginable in the mid-20th century.

Several researchers claim the “record” for the largest single calculation ever performed. One large single calculation was accomplished by physicists at IBM in 1995. They solved one million trillion mathematical subproblems by continuously running 448 computers for two years. Their analysis demonstrated the existence of a previously hypothetical subatomic particle called a glueball. Japan, Italy, and the United States are collaborating to develop new supercomputers that will run these types of calculations 100 times faster.

In 1996 IBM challenged Garry Kasparov, the reigning world chess champion, to a chess match with a supercomputer called Deep Blue. The computer had the ability to compute more than 100 million chess positions per second. In a 1997 rematch Deep Blue defeated Kasparov, becoming the first computer to win a match against a reigning world chess champion with regulation time controls. Many experts predict these types of parallel processing machines will soon surpass human chess playing ability, and some speculate that massive calculating power will one day replace intelligence. Deep Blue serves as a prototype for future computers that will be required to solve complex problems. At issue, however, is whether a computer can be

developed with the ability to learn to solve problems on its own, rather than one programmed to solve a specific set of tasks.

XIV

THE FUTURE OF COMPUTERS

In 1965 semiconductor pioneer Gordon Moore predicted that the number of transistors contained on a computer chip would double every year. This is now known as Moore’s Law, and it has proven to be somewhat accurate. The number of transistors and the computational speed of microprocessors currently doubles approximately every 18 months. Components continue to shrink in size and are becoming faster, cheaper, and more versatile.

With their increasing power and versatility, computers simplify day-to-day life. Unfortunately, as computer use becomes more widespread, so do the opportunities for misuse. Computer hackers—people who illegally gain access to computer systems—often violate privacy and can tamper with or destroy records. Programs called viruses or worms can replicate and spread from computer to computer, erasing information or causing malfunctions. Other individuals have used computers to electronically embezzle funds and alter credit histories (see Computer Security). New ethical issues also have arisen, such as how to regulate material on the Internet and the World Wide Web. Long-standing issues, such as privacy and freedom of expression, are being reexamined in light of the digital revolution. Individuals, companies, and governments are working to solve these problems through informed conversation, compromise, better computer security, and regulatory legislation.

Computers will become more advanced and they will also become easier to use. Improved speech recognition will make the operation of a computer easier. Virtual reality, the technology of interacting with a computer using all of the human senses, will also contribute to better human and computer interfaces. Standards for virtual-reality program languages—for example, Virtual Reality Modeling language (VRML)—are currently in use or are being developed for the World Wide Web.

Other, exotic models of computation are being developed, including biological computing that uses living organisms, molecular computing that uses molecules with particular properties, and

computing that uses deoxyribonucleic acid (DNA), the basic unit of heredity, to store data and carry out operations. These are examples of possible future computational platforms that, so far, are limited in abilities or are strictly theoretical. Scientists investigate them because of the physical limitations of miniaturizing circuits embedded in silicon. There are also limitations related to heat generated by even the tiniest of transistors.

Intriguing breakthroughs occurred in the area of quantum computing in the late 1990s. Quantum computers under development use components of a chloroform molecule (a combination of chlorine and hydrogen atoms) and a variation of a medical procedure called magnetic resonance imaging (MRI) to compute at a molecular level. Scientists use a branch of physics called quantum mechanics, which describes the behavior of subatomic particles (particles that make up atoms), as the basis for quantum computing. Quantum computers may one day be thousands to millions of times faster than current computers, because they take advantage of the laws that govern the behavior of subatomic particles. These laws allow quantum computers to examine all possible answers to a query simultaneously. Future uses of quantum computers could include code breaking (see cryptography) and large database queries. Theorists of chemistry, computer science, mathematics, and physics are now working to determine the possibilities and limitations of quantum computing.

Communications between computer users and networks will benefit from new technologies such as broadband communication systems that can carry significantly more data faster or more conveniently to and from the vast interconnected databases that continue to grow in number and type.

Software
Software, computer programs; instructions that cause the hardware—the machines—to do work. Software as a whole can be divided into a number of categories based on the types of work done by programs. The two primary software categories are operating systems (system software), which control the workings of the computer, and application software, which addresses the multitude of tasks for which people use computers. System software thus

handles such essential, but often invisible, chores as maintaining disk files and managing the screen, whereas application software performs word processing, database management, and the like. Two additional categories that are neither system nor application software, although they contain elements of both, are network software, which enables groups of computers to communicate, and language software, which provides programmers with the tools they need to write programs. See also Operating System; Programming Language.

In addition to these task-based categories, several types of software are described based on their method of distribution. These include the so-called canned programs or packaged software developed and sold primarily through retail outlets; freeware and public-domain software, which is made available without cost by its developer; shareware, which is similar to freeware but usually carries a small fee for those who like the program; and the infamous vaporware, which is software that either does not reach the market or appears much later than promised. See also Firmware; Telecommunications.

Microsoft ® Encarta ® 2009. © 1993-2008 Microsoft Corporation. All rights reserved.

System
system, any collection of component elements that work together to perform a task. In computer science, system is used in a variety of contexts. A computer is a hardware system consisting of a microprocessor and allied chips and circuitry, plus an input device (keyboard, mouse, disk drive), an output device (monitor, disk drive), and any peripheral devices (printer, modem). Within this hardware system is an operating system, often called system software, which is an essential set of programs that manage hardware and data files and work with application programs. External to the computer, system also refers to any collection or combination of programs, procedures, data, and equipment utilized in processing information: an accounting system, a billing system, a database management system.

Hardware (computer)
I
INTRODUCTION

Hardware (computer), equipment involved in the function of a computer. Computer hardware consists of the components that can be physically handled. The function of these components is typically divided into three main categories: input, output, and storage. Components in these categories connect to microprocessors, specifically, the computer’s central processing unit (CPU), the electronic circuitry that provides the computational ability and control of the computer, via wires or circuitry called a bus.

Software, on the other hand, is the set of instructions a computer uses to manipulate data, such as a word-processing program or a video game. These programs are usually stored and transferred via the computer's hardware to and from the CPU. Software also governs how the hardware is utilized; for example, how information is retrieved from a storage device. The interaction between the input and output hardware is controlled by software called the Basic Input Output System software (BIOS).

Although microprocessors are still technically considered to be hardware, portions of their function are also associated with computer software. Since microprocessors have both hardware and software aspects they are therefore often referred to as firmware.

II

INPUT HARDWARE

Input hardware consists of external devices—that is, components outside of the computer’s CPU—that provide information and instructions to the computer. A light pen is a stylus with a light-sensitive tip that is used to draw directly on a computer’s video screen or to select information on the screen by pressing a clip in the light pen or by pressing the light pen against the surface of the screen. The pen contains light sensors that identify which portion of the screen it is passed over.

A mouse is a pointing device designed to be gripped by one hand. It has a detection device (usually a ball, a light-emitting diode [LED], or a low-powered laser) on the bottom that enables the user to control the motion of an on-screen pointer, or cursor, by moving the mouse on a flat surface. As the device moves across the surface, the cursor moves across the screen. To select items or choose commands on the screen, the user presses a button on the mouse. A joystick is a pointing device composed of a lever that moves in multiple directions to navigate a cursor or other graphical object on a computer screen.

A keyboard is a typewriter-like device that allows the user to type in text and commands to the computer. Some keyboards have special function keys or integrated pointing devices, such as a trackball or touch-sensitive regions that let the user’s finger motions move an on-screen cursor.

Touch-screen displays, which are video displays with a special touch-sensitive surface, are also becoming popular with personal electronic devices—examples include the Apple iPhone and Nintendo DS video game system. Touch-screen displays are also becoming common in everyday use. Examples include ticket kiosks in airports and automated teller machines (ATM).

An optical scanner uses light-sensing equipment to convert images such as a picture or text into electronic signals that can be manipulated by a computer. For example, a photograph can be scanned into a computer and then included in a text document created on that computer. The two most common scanner types are the flatbed scanner, which is similar to an office photocopier, and the handheld scanner, which is passed manually across the image to be processed.

A microphone is a device for converting sound into signals that can then be stored, manipulated, and played back by the computer. A voice recognition module is a device that converts spoken words into information that the computer can recognize and process.

A modem, which stands for modulator-demodulator, is a device that connects a computer to a telephone line or cable television network and allows information to be transmitted to or received from another computer. Each computer that sends or receives information must be connected to a modem. The digital signal sent from one computer is converted by the modem

into an analog signal, which is then transmitted by telephone lines or television cables to the receiving modem, which converts the signal back into a digital signal that the receiving computer can understand.

A network interface card (NIC) allows the computer to access a local area network (LAN) through either a specialized cable similar to a telephone line or through a wireless (Wi-Fi) connection. The vast majority of LANs connect through the Ethernet standard, which was introduced in 1983.

III

OUTPUT HARDWARE

Output hardware consists of internal and external devices that transfer information from the computer’s CPU to the computer user. Graphics adapters, which are either an add-on card (called a video card) or connected directly to the computer’s motherboard, transmit information generated by the computer to an external display. Displays commonly take one of two forms: a video screen with a cathode-ray tube (CRT) or a video screen with a liquid crystal display (LCD). A CRT-based screen, or monitor, looks similar to a television set. Information from the CPU is displayed using a beam of electrons that scans a phosphorescent surface that emits light and creates images. An LCD-based screen displays visual information on a flatter and smaller screen than a CRT-based video monitor. Laptop computers use LCD screens for their displays.

Printers take text and image from a computer and print them on paper. Dot-matrix printers use tiny wires to impact upon an inked ribbon to form characters. Laser printers employ beams of light to draw images on a drum that then picks up fine black particles called toner. The toner is fused to a page to produce an image. Inkjet printers fire droplets of ink onto a page to form characters and pictures.

Computers can also output audio via a specialized chip on the motherboard or an add-on card called a sound card. Users can attach speakers or headphones to an output port to hear the audio produced by the computer. Many modern sound cards allow users to create music and record digital audio, as well.

IV

STORAGE HARDWARE

Storage hardware provides permanent storage of information and programs for retrieval by the computer. The two main types of storage devices are disk drives and memory. There are several types of disk drives: hard, floppy, magneto-optical, magnetic tape, and compact. Hard disk drives store information in magnetic particles embedded in a disk. Usually a permanent part of the computer, hard disk drives can store large amounts of information and retrieve that information very quickly. Floppy disk drives also store information in magnetic particles embedded in removable disks that may be floppy or rigid. Floppy disks store less information than a hard disk drive and retrieve the information at a much slower rate. While most computers still include a floppy disk drive, the technology has been gradually phased out in favor of newer technologies.

Magneto-optical disk drives store information on removable disks that are sensitive to both laser light and magnetic fields. They can store up to 9.1 gigabytes (GB) of data, but they have slightly slower retrieval speeds as opposed to hard drives. They are much more rugged than floppy disks, making them ideal for data backups. However, the introduction of newer media that is both less expensive and able to store more data has made magneto-optical drives obsolete.

Magnetic tape drives use magnetic tape similar to the tape used in VCR cassettes. Tape drives have a very slow read/write time, but have a very high capacity; in fact, their capacity is second only to hard disk drives. Tape drives are mainly used to back up data.

Compact disc drives store information on pits burned into the surface of a disc of reflective material (see CD-ROM). CD-ROMs can store up to 737 megabytes (MB) of data. A Compact Disc-Recordable (CD-R) or Compact Disc-ReWritable (CD-RW) drive can record data onto a specialized disc, but only the CD-RW standard allows users to change the data stored on the disc. A digital versatile disc (DVD) looks and works like a CD-ROM but can store up to 17.1 GB of data on a single disc. Like CD-ROMs, there are specialized versions of DVDs, such as DVDRecordable (DVD-R) and DVD-ReWritable (DVD-RW), that can have data written onto them by

the user. More recently Sony Electronics developed DVD technology called Blu-ray. It has much higher storage capacities than standard DVD media.

Memory refers to the computer chips that store information for quick retrieval by the CPU. Random access memory (RAM) is used to store the information and instructions that operate the computer's programs. Typically, programs are transferred from storage on a disk drive to RAM. RAM is also known as volatile memory because the information within the computer chips is lost when power to the computer is turned off. Read-only memory (ROM) contains critical information and software that must be permanently available for computer operation, such as the operating system that directs the computer's actions from start up to shut down. ROM is called nonvolatile memory because the memory chips do not lose their information when power to the computer is turned off.

A more recent development is solid-state RAM. Unlike standard RAM, solid state RAM can contain information even if there is no power supply. Flash drives are removable storage devices that utilize solid-state RAM to store information for long periods of time. Solid-state drives (SSD) have also been introduced as a potential replacement for hard disk drives. SSDs have faster access speeds than hard disks and have no moving parts. However, they are quite expensive and do not have the ability to store as much data as a hard disk. Solid-state RAM technology is also used in memory cards for digital media devices, such as digital cameras and media players.

Some devices serve more than one purpose. For example, floppy disks may also be used as input devices if they contain information to be used and processed by the computer user. In addition, they can be used as output devices if the user wants to store the results of computations on them.

V

HARDWARE CONNECTIONS

To function, hardware requires physical connections that allow components to communicate and interact. A bus provides a common interconnected system composed of a group of wires or circuitry that coordinates and moves information between the internal parts of a computer.

A computer bus consists of two channels, one that the CPU uses to locate data, called the address bus, and another to send the data to that address, called the data bus. A bus is characterized by two features: how much information it can manipulate at one time, called the bus width, and how quickly it can transfer these data. In today’s computers, a series of buses work together to communicate between the various internal and external devices.

A

Internal Connections

Expansion, or add-on, cards use one of three bus types to interface with the computer. The Peripheral Connection Interface (PCI) is the standard expansion card bus used in most computers. The Accelerated Graphics Port (AGP) bus was developed to create a high-speed interface with the CPU that bypassed the PCI bus. This bus was specifically designed for modern video cards, which require a large amount of bandwidth to communicate with the CPU. A newer version of PCI called PCI Express (PCIe) was designed to replace both PCI and AGP as the main bus for expansion cards.

Internal storage devices use one of three separate standards to connect to the bus: parallel AT attachment (PATA), serial AT attachment (SATA), or small computer system interface (SCSI). The term AT refers to the IBM AT computer, first released in 1984. The PATA and SCSI standards were first introduced in 1986; the SATA standard was introduced in 2002 as a replacement for the PATA standard. The SCSI standard is mainly used in servers or high-end systems.

A1

Parallel and Serial Connections

For most of the history of the personal computer, external and internal devices have communicated to each other through parallel connections. However, given the limitations of parallel connections, engineers began to develop technology based on serial connections, since these have greater data transfer rates, as well as more reliability.

A serial connection is a wire or set of wires used to transfer information from the CPU to an external device such as a mouse, keyboard, modem, scanner, and some types of printers. This

type of connection transfers only one piece of data at a time. The advantage to using a serial connection is that it provides effective connections over long distances.

A parallel connection uses multiple sets of wires to transfer blocks of information simultaneously. Most scanners and printers use this type of connection. A parallel connection is much faster than a serial connection, but it is limited to shorter distances between the CPU and the external device than serial connections.

The best way to see the difference between parallel and serial connections is to imagine the differences between a freeway and a high-speed train line. The freeway is the parallel connection—lots of lanes for cars. However, as more cars are put onto the freeway, the slower each individual car travels, which means more lanes have to be built at a high cost if the cars are to travel at high speed. The train line is the serial connection; it consists of two tracks and can only take two trains at a time. However, these trains do not need to deal with traffic and can go at higher speeds than the cars on the freeway.

As CPU speeds increased and engineers increased the speed of the parallel connections to keep up, the main problem of parallel connections—maintaining data integrity at high speed— became more evident. Engineers began to look at serial connections as a possible solution to the problem. This led to the development of both SATA and PCI Express, which, by using serial connections, provide high data transfer rates with less materials used and no data loss.

B

External Connections

The oldest external connections used by computers were the serial and parallel ports. These were included on the original IBM PC from 1981. Originally designed as an interface to connect computer to computer, the serial port was eventually used with various devices, including modems, mice, keyboards, scanners, and some types of printers. Parallel ports were mainly used with printers, but some scanners and external drives used the parallel port.

The Universal Serial Bus (USB) interface was developed to replace both the serial and parallel ports as the standard for connecting external devices. Developed by a group of companies including Microsoft, Intel, and IBM, the USB standard was first introduced in 1995. Besides

transferring data to and from the computer, USB can also provide a small amount of power, eliminating the need for external power cables for most peripherals. The USB 2.0 standard, which came into general usage in 2002, drastically improved the data transfer rate.

A competing standard to USB was developed at the same time by Apple and Texas Instruments. Officially called IEEE 1394, it is more commonly called FireWire. It is capable of transferring data at a higher rate than the original USB standard and became the standard interface for multimedia hardware, such as video cameras. But Apple’s royalty rate and the introduction of USB 2.0—as well as the fact that Intel, one of the companies behind USB, is responsible for most motherboards and chipsets in use—meant that FireWire was unlikely to become the standard peripheral interface for PCs. Today most computers have both USB and FireWire ports connected to the motherboard.

Wireless devices have also become commonplace with computers. The initial wireless interface used was infrared (IR), the same technology used in remote controls. However, this interface required that the device have a direct line of sight to the IR sensor so that the data could be transferred. It also had a high power requirement. Most modern wireless devices use radio frequency (RF) signals to communicate to the computer. One of the most common wireless standards used today is Bluetooth. It uses the same frequencies as the Wi-Fi standard used for wireless LANs.

Microsoft ® Encarta ® 2009. © 1993-2008 Microsoft Corporation. All rights reserved.

Personal Computer
I
INTRODUCTION

Personal Computer (PC), computer in the form of a desktop or laptop device designed for use by a single person. PCs function using a display monitor and a keyboard. Since their introduction in the 1980s, PCs have become powerful and extremely versatile tools that have revolutionized how people work, learn, communicate, and find entertainment. Many

households in the United States now have PCs, thanks to affordable prices and software that has made PCs easy to use without special computer expertise. Personal computers are also a crucial component of information technology (IT) and play a key role in modern economies worldwide.

The usefulness and capabilities of personal computers can be greatly enhanced by connection to the Internet and World Wide Web, as well as to smaller networks that link to local computers or databases. Personal computers can also be used to access content stored on compact discs (CDs) or digital versatile discs (DVDs), and to transfer files to personal media devices and video players.

Personal computers are sometimes called microcomputers or micros. Powerful PCs designed for professional or technical use are known as work stations. Other names that reflect different roles for PCs include home computers and small-business computers. The PC is generally larger and more powerful than handheld computers, including personal digital assistants (PDAs) and gaming devices.

II

PARTS OF A PERSONAL COMPUTER

The different types of equipment that make a computer function are known as hardware; the coded instructions that make a computer work are known as software.

A

Types of Hardware

PCs consist of electronic circuitry called a microprocessor, such as the central processing unit (CPU), that directs logical and arithmetical functions and executes computer programs. The CPU is located on a motherboard with other chips. A PC also has electronic memory known as random access memory (RAM) to temporarily store programs and data. A basic component of most PCs is a disk drive, commonly in the form of a hard disk or hard drive. A hard disk is a magnetic storage device in the form of a disk or disks that rotate. The magnetically stored information is read or modified using a drive head that scans the surface of the disk.

Removable storage devices—such as floppy drives, compact disc (CD-ROM) and digital versatile disc (DVD) drives, and additional hard drives—can be used to permanently store as well as access programs and data. PCs may have CD or DVD “burners” that allow users to write or rewrite data onto recordable discs. Other external devices to transfer and store files include memory sticks and flash drives, small solid-state devices that do not have internal moving parts.

Cards are printed circuit boards that can be plugged into a PC to provide additional functions such as recording or playing video or audio, or enhancing graphics (see Graphics Card).

A PC user enters information and commands with a keyboard or with a pointing device such as a mouse. A joystick may be used for computer games or other tasks. Information from the PC is displayed on a video monitor or on a liquid crystal display (LCD) video screen. Accessories such as speakers or headphones allow audio to be listened to. Files, photographs, or documents can be printed on laser, dot-matrix, or inkjet printers. The various components of the computer system are physically attached to the PC through the bus. Some PCs have wireless systems that use infrared or radio waves to link to the mouse, the keyboard, or other components.

PC connections to the Internet or local networks may be through a cable attachment or a phone line and a modem (a device that permits transmission of digital signals). Wireless links to the Internet and networks operate through a radio modem. Modems also are used to link other devices to communication systems.

B

Types of Software

PCs are run by software called the operating system. Widely used operating systems include Microsoft’s Windows, Apple’s Mac OS, and Linux. Other types of software called applications allow the user to perform a wide variety of tasks such as word processing; using spreadsheets; manipulating or accessing data; or editing video, photographs, or audio files.

Drivers are special software programs that operate specific devices that can be either crucial or optional to the functioning of the computer. Drivers help operate keyboards, printers, and DVD drives, for example.

Most PCs use software to run a screen display called a graphical user interface (GUI). A GUI allows a user to open and move files, work with applications, and perform other tasks by clicking on graphic icons with a mouse or other pointing device.

In addition to text files, PCs can store digital multimedia files such as photographs, audio recordings, and video. These media files are usually in compressed digital formats such as JPEG for photographs, MP3 for audio, and MPEG for video.

III

USES FOR PERSONAL COMPUTERS

The wide variety of tasks that PCs can perform in conjunction with the PC’s role as a portal to the Internet and World Wide Web have had profound effects on how people conduct their lives and work, and pursue education.

In the home, PCs can help with balancing the family checkbook, keeping track of finances and investments, and filing taxes, as well as preserving family documents for easy access or indexing recipes. PCs are also a recreational device for playing computer games, watching videos with webcasting, downloading music, saving photographs, or cataloging records and books. Together with the Internet, PCs are a link to social contacts through electronic mail (email), text-messaging, personal Web pages, blogs, and chat groups. PCs can also allow quick and convenient access to news and sports information on the World Wide Web, as well as consumer information. Shopping from home over the Internet with a PC generates billions of dollars in the economy.

PCs can greatly improve productivity in the workplace, allowing people to collaborate on tasks from different locations and easily share documents and information. Many people with a PC at home are able to telecommute, working from home over the Internet. Laptop PCs with wireless connections to the Internet allow people to work in virtually any environment when away from the office. PCs can help people to be self-employed. Special software can make running a small

business from home much easier. PCs can also assist artists, writers, and musicians with their creative work, or allow anyone to make their own musical mixes at home. Medical care has been improved and costs have been reduced by transferring medical records into electronic form that can be accessed through PC terminals.

PCs have become an essential tool in education at all levels, from grammar school to university. Many school children are given laptop computers to help with schoolwork and homework. Classrooms of all kinds commonly use PCs. Many public libraries make PCs available to members of the public. The Internet and World Wide Web provide access to enormous amounts of information, some of it free and some of it available through subscription or fee. Online education as a form of distance education or correspondence education is a growing service, allowing people to take classes and work on degrees at their convenience using PCs and the Internet.

PCs can also be adapted to help people with disabilities, using special devices and software. Special keyboards, cursors that translate head movements, or accessories such as foot mice can allow people with limited physical movement to use a PC. PCs can also allow people with speech or auditory disabilities to understand or generate speech. Visual disabilities can be aided by speech-recognition software that allows spoken commands to work a PC or for e-mail and text to be read aloud. Text display can also be magnified for individuals with low vision.

IV

EARLY HISTORY AND DEVELOPMENT OF PERSONAL COMPUTERS

The first true modern computers were developed during World War II (1939-1945) and used vacuum tubes. These early computers were the size of houses and as expensive as battleships, but they had none of the computational power or ease of use that are common in modern PCs. More powerful mainframe computers were developed in the 1950s and 1960s, but needed entire rooms and large amounts of electrical power to operate.

A major step toward the modern PC came in the 1960s when a group of researchers at the Stanford Research Institute (SRI) in California began to explore ways for people to interact more easily with computers. The SRI team developed the first computer mouse and other

innovations that would be refined and improved in the 1970s by researchers at the Xerox PARC (Palo Alto Research Center, Inc). The PARC team developed an experimental PC design in 1973 called Alto, which was the first computer to have a graphical user interface (GUI).

Two crucial hardware developments would help make the SRI vision of computers practical. The miniaturization of electronic circuitry as microelectronics and the invention of integrated circuits and microprocessors enabled computer makers to combine the essential elements of a computer onto tiny silicon computer chips, thereby increasing computer performance and decreasing cost.

The integrated circuit, or IC, was developed in 1959 and permitted the miniaturization of computer-memory circuits. The microprocessor first appeared in 1971 with the Intel 4004, created by Intel Corporation, and was originally designed to be the computing and logical processor of calculators and watches. The microprocessor reduced the size of a computer’s CPU to the size of a single silicon chip.

Because a CPU calculates, performs logical operations, contains operating instructions, and manages data flows, the potential existed for developing a separate system that could function as a complete microcomputer. The first such desktop-size system specifically designed for personal use appeared in 1974; it was offered by Micro Instrumentation Telemetry Systems (MITS). The owners of the system were then encouraged by the editor of Popular Electronics magazine to create and sell a mail-order computer kit through the magazine.

The Altair 8800 is considered to be the first commercial PC. The Altair was built from a kit and programmed by using switches. Information from the computer was displayed by light-emitting diodes on the front panel of the machine. The Altair appeared on the cover of Popular Electronics magazine in January 1975 and inspired many computer enthusiasts who would later establish companies to produce computer hardware and software. The computer retailed for slightly less than $400.

The demand for the microcomputer kit was immediate, unexpected, and totally overwhelming. Scores of small entrepreneurial companies responded to this demand by producing computers for the new market. The first major electronics firm to manufacture and sell personal

computers, Tandy Corporation (Radio Shack), introduced its model in 1977. It quickly dominated the field, because of the combination of two attractive features: a keyboard and a display terminal using a cathode-ray tube (CRT). It was also popular because it could be programmed and the user was able to store information by means of cassette tape.

American computer designers Steven Jobs and Stephen Wozniak created the Apple II in 1977. The Apple II was one of the first PCs to incorporate a color video display and a keyboard that made the computer easy to use. Jobs and Wozniak incorporated Apple Computer Inc. the same year. Some of the new features they introduced into their own microcomputers were expanded memory, inexpensive disk-drive programs and data storage, and color graphics. Apple Computer went on to become the fastest-growing company in U.S. business history. Its rapid growth inspired a large number of similar microcomputer manufacturers to enter the field. Before the end of the decade, the market for personal computers had become clearly defined.

In 1981 IBM introduced its own microcomputer model, the IBM PC. Although it did not make use of the most recent computer technology, the IBM PC was a milestone in this burgeoning field. It proved that the PC industry was more than a current fad, and that the PC was in fact a necessary tool for the business community. The PC’s use of a 16-bit microprocessor initiated the development of faster and more powerful microcomputers, and its use of an operating system that was available to all other computer makers led to what was effectively a standardization of the industry. The design of the IBM PC and its clones soon became the PC standard, and an operating system developed by Microsoft Corporation became the dominant software running PCs.

A graphical user interface (GUI)—a visually appealing way to represent computer commands and data on the screen—was first developed in 1983 when Apple introduced the Lisa, but the new user interface did not gain widespread notice until 1984 with the introduction of the Apple Macintosh. The Macintosh GUI combined icons (pictures that represent files or programs) with windows (boxes that each contain an open file or program). A pointing device known as a mouse controlled information on the screen. Inspired by earlier work of computer scientists at Xerox Corporation, the Macintosh user interface made computers easy and fun to use and eliminated the need to type in complex commands (see User Interface).

Beginning in the early 1970s, computing power doubled about every 18 months due to the creation of faster microprocessors, the incorporation of multiple microprocessor designs, and the development of new storage technologies. A powerful 32-bit computer capable of running advanced multiuser operating systems at high speeds appeared in the mid-1980s. This type of PC blurred the distinction between microcomputers and minicomputers, placing enough computing power on an office desktop to serve all small businesses and most medium-size businesses.

During the 1990s the price of personal computers came down at the same time that computer chips became more powerful. The most important innovations, however, occurred with the PC operating system software. Apple’s Macintosh computer had been the first to provide a graphical user interface, but the computers remained relatively expensive. Microsoft Corporation’s Windows software came preinstalled on IBM PCs and clones, which were generally less expensive than Macintosh. Microsoft also designed its software to allow individual computers to easily communicate and share files through networks in an office environment. The introduction of the Windows operating systems, which had GUI systems similar to Apple’s, helped make Microsoft the dominant provider of PC software for business and home use.

PCs in the form of portable notebook computers also emerged in the 1990s. These PCs could be carried in a briefcase or backpack and could be powered with a battery or plugged in. The first portable computers had been introduced at the end of the 1980s. The true laptop computers came in the early 1990s with Apple’s Powerbook and IBM’s ThinkPad.

Despite its spectacular success in the software market, Microsoft was initially slow to understand the importance of the Internet, which had been developed for government and academic use in the 1960s and 1970s, and the World Wide Web, developed in the late 1980s. The ability to access the Internet and the growing World Wide Web greatly enhanced the usefulness of the PC, giving it enormous potential educational, commercial, and entertainment value. In 1994 Netscape became the first browser designed to make the Internet and the World Wide Web user friendly, similar to how a GUI makes using a PC much simpler. The success of Netscape prompted Microsoft to develop its own Web browser called Internet

Explorer, released in 1995. Explorer was then included with the preinstalled Windows software on PCs sold to consumers. This “bundling” of the Explorer browser was controversial and led to lawsuits against Microsoft for unfair trade practices.

Connecting PCs to the Internet had unanticipated consequences. PCs were vulnerable to malicious software designed to damage files or computer hardware. Other types of software programs could force a PC to send out e-mail messages or store files, or allow access to existing files and software as well as track a user’s keystrokes and Internet activity without the user's knowledge. Computer viruses and other malicious programs could be easily sent over the Internet using e-mail or by secretly downloading files from Web pages a user visited. Microsoft’s software was a particular target and may have been vulnerable in part because its platforms and applications had been developed to allow computers to easily share files.

Since the late 1990s computer security has become a major concern. PC users can install firewalls to block unwanted access or downloads over the Internet. They can also subscribe to services that periodically scan personal computers for viruses and malicious software and remove them. Operating-system software has also been designed to improve security.

PCs continue to improve in power and versatility. The growing use of 64-bit processors and higher-speed chips in PCs in combination with broadband access to the Internet greatly enhances media such as motion pictures and video, as well as games and interactive features. The increasing use of computers to view and access media may be a further step toward the merger of television and computer technology that has been predicted by some experts since the 1990s.

Microsoft ® Encarta ® 2009. © 1993-2008 Microsoft Corporation. All rights reserved.

Install
Install, in computer science, to set up and prepare for operation. Operating systems and application programs commonly include a disk-based installation program that does most of

the work of setting up the program to work with the computer, printer, and other devices. Often, such a program is capable of checking for devices attached to the system, requesting the user to choose from sets of options, creating a place for itself on a hard disk, and modifying system startup files if necessary. Installation can also pertain to the transfer of one of a limited number of copies of a program to a hard drive or a floppy disk from a copyprotected program disk (because the normal method of copying the program has been disabled). See also Copy Protection; Operating System.

Windows
Windows, in computer science, personal computer operating system sold by Microsoft Corporation that allows users to enter commands with a point-and-click device, such as a mouse, instead of a keyboard. An operating system is a set of programs that control the basic functions of a computer. The Windows operating system provides users with a graphical user interface (GUI), which allows them to manipulate small pictures, called icons, on the computer screen to issue commands. Windows is the most widely used operating system in the world. It is an extension of and replacement for Microsoft’s Disk Operating System (MS-DOS).

The Windows GUI is designed to be a natural, or intuitive, work environment for the user. With Windows, the user can move a cursor around on the computer screen with a mouse. By pointing the cursor at icons and clicking buttons on the mouse, the user can issue commands to the computer to perform an action, such as starting a program, accessing a data file, or copying a data file. Other commands can be reached through pull-down or click-on menu items. The computer displays the active area in which the user is working as a window on the computer screen. The currently active window may overlap with other previously active windows that remain open on the screen. This type of GUI is said to include WIMP features: windows, icons, menus, and pointing device (such as a mouse).

Computer scientists at the Xerox Corporation’s Palo Alto Research Center (PARC) invented the GUI concept in the early 1970s, but this innovation was not an immediate commercial success.

In 1983 Apple Computer featured a GUI in its Lisa computer. This GUI was updated and improved in its Macintosh computer, introduced in 1984.

Microsoft began its development of a GUI in 1983 as an extension of its MS-DOS operating system. Microsoft’s Windows version 1.0 first appeared in 1985. In this version, the windows were tiled, or presented next to each other rather than overlapping. Windows version 2.0, introduced in 1987, was designed to resemble IBM’s OS/2 Presentation Manager, another GUI operating system. Windows version 2.0 included the overlapping window feature. The more powerful version 3.0 of Windows, introduced in 1990, and subsequent versions 3.1 and 3.11 rapidly made Windows the market leader in operating systems for personal computers, in part because it was prepackaged on new personal computers. It also became the favored platform for software development.

In 1993 Microsoft introduced Windows NT (New Technology). The Windows NT operating system offers 32-bit multitasking, which gives a computer the ability to run several programs simultaneously, or in parallel, at high speed. This operating system competes with IBM’s OS/2 as a platform for the intensive, high-end, networked computing environments found in many businesses.

In 1995 Microsoft released a new version of Windows for personal computers called Windows 95. Windows 95 had a sleeker and simpler GUI than previous versions. It also offered 32-bit processing, efficient multitasking, network connections, and Internet access. Windows 98, released in 1998, improved upon Windows 95.

In 1996 Microsoft debuted Windows CE, a scaled-down version of the Microsoft Windows platform designed for use with handheld personal computers. Windows 2000, released at the end of 1999, combined Windows NT technology with the Windows 98 graphical user interface. In 2000 a special edition of Windows known as Windows Millenium Edition, or Windows ME, provided a more stable version of the Windows 98 interface. In 2001 Microsoft released a new operating system known as Windows XP, the company’s first operating system for consumers that was not based on MS-DOS.

Other popular operating systems include the Macintosh System (Mac OS) from Apple Inc., OS/2 Warp from IBM (see OS/2), and UNIX and its variations, such as Linux.

Microsoft ® Encarta ® 2009. © 1993-2008 Microsoft Corporation. All rights reserved.

UNIX
UNIX, in computer science, a powerful multiuser, multitasking operating system. Considered a very powerful operating system, UNIX is written in the C language and can be installed on virtually any computer.

UNIX was originally developed by Ken Thompson and Dennis Ritchie at AT&T Bell Laboratories in 1969 for use on minicomputers. In the early 1970s, many universities, research institutions, and companies began to expand on and improve UNIX. These efforts resulted in two main versions: BSD UNIX, a version developed at the University of California at Berkeley, and System V, developed by AT&T and its collaborators.

Many companies developed and marketed their own versions of UNIX in subsequent years. Variations of UNIX include AIX, a version of UNIX adapted by IBM to run on RISC-based workstations; A/UX, a graphical version for the Apple Macintosh; XENIX OS, developed by Microsoft Corporation for 16-bit microprocessors; SunOS, adapted and distributed by Sun Microsystems, Inc.; Mach, a UNIX-compatible operating system for the NeXT computer; and Linux, developed by Finnish computer engineer Linus Torvalds with collaborators worldwide.

Microsoft ® Encarta ® 2009. © 1993-2008 Microsoft Corporation. All rights reserved.

Microsoft Corporation
I
INTRODUCTION

Microsoft Corporation, the largest company in the world dedicated to creating computer software. Microsoft develops and sells a wide variety of software products to businesses and consumers and has subsidiary offices in more than 60 countries. The company’s operating systems for personal computers are the most widely used in the world. Microsoft has its headquarters in Redmond, Washington.

(Microsoft is the publisher of Encarta Encyclopedia.)

Microsoft’s other well-known products include Word, a word processor; Excel, a spreadsheet program; Access, a database program; and PowerPoint, a program for making business presentations. These programs are sold separately and as part of Office, an integrated software suite. The company also makes software applications for a wide variety of server products for businesses. Microsoft’s Internet Explorer (IE) allows users to browse the World Wide Web. Microsoft produces the Xbox game console and software games that run on the console. Among the company’s other products are reference applications; financial software; programming languages for software developers; input devices, such as pointing devices and keyboards; software for personal digital assistants (PDAs) and cellular telephones; handwritingrecognition software; software for creating Web pages; and computer-related books.

Microsoft operates the Microsoft Network (MSN), a collection of news, travel, financial, entertainment, and information Web sites. Microsoft and NBC Universal jointly operate the MSNBC Web site, the most popular all-news site on the Internet.

II

FOUNDING

Microsoft was founded in 1975 by William H. Gates III and Paul Allen. The pair had teamed up in high school through their hobby of programming on the original PDP-10 computer from the Digital Equipment Corporation. In 1975 Popular Electronics magazine featured a cover story about the Altair 8800, the first personal computer (PC). The article inspired Gates and Allen to develop a version of the BASIC programming language for the Altair. They licensed the software to Micro Instrumentation and Telemetry Systems (MITS), the Altair’s manufacturer,

and formed Microsoft (originally Micro-soft) in Albuquerque, New Mexico, to develop versions of BASIC for other computer companies.

Microsoft’s early customers included fledgling hardware firms such as Apple Inc., maker of the Apple II computer; Commodore, maker of the PET computer; and Tandy Corporation, maker of the Radio Shack TRS-80 computer. In 1977 Microsoft shipped its second language product, Microsoft Fortran, and it soon released versions of BASIC for the 8080 and 8086 microprocessors.

III

MS-DOS

In 1979 Gates and Allen moved the company to Bellevue, Washington, a suburb of their hometown of Seattle. (The company moved to its current headquarters in Redmond in 1986.) In 1980 International Business Machines Corporation (IBM) chose Microsoft to write the operating system for the IBM PC personal computer, to be introduced the following year. Under time pressure, Microsoft purchased 86-DOS (developed by programmer Tim Paterson and originally called QDOS for Quick and Dirty Operating System) from a small company called Seattle Computer Products for $50,000, modified it, and renamed it MS-DOS (Microsoft Disk Operating System).

As part of its contract with IBM, Microsoft was permitted to license the operating system to other companies. By 1984 Microsoft had licensed MS-DOS to 200 personal computer manufacturers, making MS-DOS the standard operating system for PCs and driving Microsoft’s enormous growth in the 1980s. Allen left the company in 1983 but remained on its board of directors until 2000. Allen continues to be a major shareholder in Microsoft.

IV

APPLICATION SOFTWARE

As sales of MS-DOS took off, Microsoft began to develop business applications for personal computers. In 1982 it released Multiplan, a spreadsheet program, and the following year it released a word-processing program, Microsoft Word. In 1984 Microsoft was one of the few established software companies to develop application software for the Macintosh, a personal computer developed by Apple Computer, Inc. Microsoft’s early support for the Macintosh

resulted in tremendous success for its Macintosh application software, including Word, Excel, and Works (an integrated software suite). Multiplan for MS-DOS, however, faltered against the popular Lotus 1-2-3 spreadsheet program made by Lotus Development Corporation.

V

WINDOWS

In 1985 Microsoft released Windows, an operating system that extended the features of MSDOS and employed a graphical user interface. Windows 2.0, released in 1987, improved performance and offered a new visual appearance. In 1990 Microsoft released a more powerful version, Windows 3.0, which was followed by Windows 3.1 and 3.11. These versions, which came preinstalled on most new personal computers, rapidly became the most widely used operating systems. In 1990 Microsoft became the first personal-computer software company to record $1 billion in annual sales.

As Microsoft’s dominance grew in the market for personal-computer operating systems, the company was accused of monopolistic business practices. In 1990 the Federal Trade Commission (FTC) began investigating Microsoft for alleged anticompetitive practices, but it was unable to reach a decision and dropped the case. The United States Department of Justice continued the probe.

In 1991 Microsoft and IBM ended a decade of collaboration when they went separate ways on the next generation of operating systems for PCs. IBM chose to pursue the OS/2 operating system (first released in 1987), which until then had been a joint venture with Microsoft. Microsoft chose to evolve its Windows operating system into increasingly powerful systems. In 1993 Apple lost a copyright-infringement lawsuit against Microsoft that claimed Windows illegally copied the design of the Macintosh’s graphical interface. An appellate court later upheld the ruling.

In 1993 Microsoft released Windows NT, an operating system for business environments. In 1994 the company and the Justice Department reached an agreement that called for Microsoft to change the way its operating system software was sold and licensed to computer manufacturers. In 1995 the company released Windows 95, which featured a simplified

interface, multitasking, and other improvements. An estimated 7 million copies of Windows 95 were sold worldwide within seven weeks of its release.

VI

RECENT BUSINESS DEVELOPMENTS

In the mid-1990s Microsoft began to expand into the media, entertainment, and communications industries, launching MSN in 1995 and the MSNBC cable channel and Web site in 1996. In late 2005, however, Microsoft and NBC dissolved their joint operation of the cable channel, with NBC assuming full control. The two companies continued their 50-50 ownership of the MSNBC Web site. In 1996 Microsoft introduced Windows CE, an operating system for handheld personal digital assistants (PDAs). In 1997 Microsoft paid $425 million to acquire WebTV Networks, a manufacturer of low-cost devices to connect televisions to the Internet. That same year Microsoft invested $1 billion in Comcast Corporation, a U.S. cable-television operator, as part of an effort to expand the availability of high-speed connections to the Internet.

In June 1998 Microsoft released Windows 98, which featured integrated Internet capabilities. In the following month Gates appointed Steve Ballmer, executive vice president of Microsoft, as the company’s president, giving him supervision of most day-to-day business operations of the company. Gates retained the title of chairman and chief executive officer (CEO).

In 1999 Microsoft paid $5 billion to telecommunications company AT&T Corp. to use Microsoft’s Windows CE operating system in devices designed to provide consumers with integrated cable television, telephone, and high-speed Internet services. Also in 1999, the company released Windows 2000, the latest version of the Windows NT operating system. In January 2000 Gates transferred his title of CEO to Ballmer. While retaining the position of chairman, Gates also took on the title of chief software architect to focus on the development of new products and technologies.

In 2001 Microsoft released a new operating system known as Windows XP, the company’s first operating system for consumers that was not based on MS-DOS. The same year the company also released Xbox, its first venture into video-game consoles. Microsoft announced a new

business strategy in 2001 known as .Net (pronounced dot-net). The strategy sought to enable a variety of hardware devices, from PCs to PDAs to cell phones, to communicate with each other via the Internet, while also automating many computer functions. Confusion over the term .Net led to the adoption of the slogan “seamless computing” in 2003.

Other major business developments in the early 21st century included new versions of the Microsoft Network and the development with several major computer manufacturers of the Tablet PC, a laptop computer that featured handwriting-recognition software and a wireless connection to the Internet. In 2003 the company began to focus on “trustworthy computing,” requiring its programmers to improve their skills in protecting software from malicious hacker attacks in the form of computer viruses and worms. In 2004 Microsoft sold its innovative online newsmagazine, Slate, to The Washington Post Company, ending an experiment in online journalism that began in 1996 under editor Michael Kinsley.

In November 2005 Microsoft unveiled its new-generation video game console, the Xbox 360 (see Electronic Games). The new device went beyond gaming, providing consumers with the ability to store and play audio, video, and photo files. The same month Gates and the newly named chief technology officer, Ray Ozzie, announced a new Web services initiative providing software services on the Internet accessible from any browser. The initial components, Windows Live and Office Live, represented a move away from packaged software. The initiatives were to be supported by advertising revenue and subscriptions.

In June 2006 Gates announced that he would begin transitioning from a full-time role at Microsoft to a full-time role at the Bill & Melinda Gates Foundation. Gates planned to have only a part-time role at Microsoft by July 2008, though he would retain the title of chairman and continue to advise the company on key business developments. As part of the transition, he transferred the title of chief software architect to Ozzie.

In November 2006 Microsoft released Vista, its first new operating system since Windows XP was introduced in 2001. The long-anticipated system was first made available to businesses only. A consumer version was released in January 2007. The new system won generally

favorable reviews for its improved graphics, search capabilities, and security protection against computer viruses.

VII

LEGAL CHALLENGES

In late 1997 the Justice Department accused Microsoft of violating the 1994 agreement by requiring computer manufacturers that installed Windows 95 to also include Internet Explorer, Microsoft’s software for browsing the Internet. The government contended that Microsoft was illegally taking advantage of its power in the market for computer operating systems to gain control of the market for Internet browsers. In response, Microsoft argued that it should have the right to enhance the functionality of Windows by integrating Internet-related features into the operating system.

Also in late 1997, computer company Sun Microsystems sued Microsoft, alleging that it had breached a contract for use of Sun’s Java universal programming language by introducing Windows-only enhancements. In November 1998 a federal district court ruled against Microsoft on an injunction filed by Sun earlier that year. The injunction forced Microsoft to revise its software to meet Sun’s Java compatibility standards. The two companies settled the case in 2001, with Microsoft agreeing to pay Sun $20 million for limited use of Java. However, in 2002 Sun filed an antitrust suit seeking $1 billion in damages against Microsoft after Microsoft announced it planned to stop using Java.

Microsoft temporarily settled with the Justice Department in its antitrust case in early 1998 by agreeing to allow personal computer manufacturers to offer a version of Windows 95 that did not include access to Internet Explorer. However, in May 1998 the Justice Department and 20 states filed broad antitrust suits charging Microsoft with engaging in anticompetitive conduct. The suits sought to force Microsoft to offer Windows without Internet Explorer or to include Navigator, a competing browser made by Netscape Communications Corporation. The suits also challenged some of the company’s contracts and pricing strategies.

The federal antitrust trial against Microsoft began in October 1998. Executives from Netscape, Sun, and several other computer software and hardware companies testified regarding their

business deals with Microsoft. In November 1999 federal district court judge Thomas Penfield Jackson issued his findings of fact in the antitrust case, in which he declared that Microsoft had a monopoly in the market for personal computer operating systems. In 2000 Jackson ruled that the company had violated antitrust laws by engaging in tactics that discouraged competition. He ordered Microsoft to be split into two companies: one for operating systems and another for all other businesses, including its Office software suite. He also imposed a number of interim restrictions on the company’s business practices. The judge put these penalties on hold while Microsoft appealed the decision.

In June 2001 an appeals court upheld Jackson’s findings that Microsoft had monopoly power and that the company used anticompetitive business practices to protect its Windows monopoly. However, the appeals court threw out the trial court’s ruling that Microsoft had illegally integrated Internet Explorer into Windows, returning the issue to a lower court for review under a different legal standard. The appeals court also reversed Jackson’s order to break up the company, in part because of the judge’s failure to hold a proper hearing on the remedy and in part because of comments he made to reporters outside the courtroom about the merits of the case. The court found that Jackson’s comments were improper because they created the appearance of bias, even though the court found no evidence of actual bias. The appeals court ordered that the case be assigned to a different district court judge to reconsider the remedy for Microsoft’s violations of antitrust law.

A

Settlement with U.S. Justice Department

The case was assigned to Judge Colleen Kollar-Kotelly, who urged both parties to reach a settlement. In November 2001 Microsoft announced a settlement with the Justice Department and nine of the states. Key provisions included requiring Microsoft to reveal technical information about the Windows operating system to competitors so that software applications known as middleware would be compatible with Windows, while also enabling personal computer manufacturers to hide icons for activating Microsoft software applications. A computer manufacturer could therefore remove access to Internet Explorer and enable another Internet browser to be displayed on the desktop.

A three-member, independent technical committee was to be established to oversee compliance with the settlement. However, nine other states and the District of Columbia refused to accept the agreement and pressed for harsher remedies. (Of the original 20 states, South Carolina and New Mexico dropped out of the case before the settlement was reached.) In early 2002 Kollar-Kotelly held hearings to review the terms of the settlement and to consider the objections raised by the dissenting parties.

In November 2002 Kollar-Kotelly approved most of the provisions of the settlement and rejected nearly all of the harsher remedies proposed by the dissenting parties. However, the judge amended the settlement by extending the remedies regarding middleware to server applications and by specifying that the compliance committee should be made up of at least three outside members of Microsoft’s board of directors, who would be held responsible for complying with the terms of the settlement.

B

European Commission Ruling

In March 2004 the European Commission, the highest administrative body of the European Union (EU), ended a five-year-long investigation of antitrust charges brought against Microsoft by finding that the company was an abusive monopolist. The inquiry was initiated by a complaint filed in 1998 by Sun Microsystems, which charged that Sun’s server software could not work adequately with Windows because Microsoft withheld information about Windows source code.

The European Commission fined Microsoft €497 million (about $613 million at exchange rates in March 2004), a record fine at the time. The commission required Microsoft to produce two versions of the Windows operating system for the European market, including one without the Windows Media Player, the application that plays audio and video. It also required the company to share Windows code with competitors who make network server computer products. European Union Competition Commissioner Mario Monti said bundling the Windows Media Player with the operating system gave Microsoft an unfair advantage over competitors, such as RealNetworks, a Seattle-based company that joined the complaint against Microsoft.

In finding that the practice of bundling was anticompetitive, the EC ruling went beyond the terms of the settlement with the U.S. Justice Department, which allowed Microsoft to continue bundling the Internet Explorer browser with Windows. Monti resisted a settlement, saying that he wanted to establish a legal precedent. Although Microsoft paid the fine into an escrow account, it sought a stay of the ruling’s antibundling provisions from the EU’s Court of First Instance while Microsoft appealed the decision. In December 2004, however, the president of the Court of First Instance denied Microsoft’s request for a stay, and Microsoft was forced to begin offering in the European market a version of Windows without its media player. In July 2006 the European Commission fined Microsoft an additional $357 million for failing to comply with its ruling. In September 2007 the Court of First Instance ruled on Microsoft’s appeal, upholding almost all of the EC’s findings. Microsoft subsequently announced that it would not pursue any further appeals and would comply with an additional European Commission ruling to share computer code with competitors for a nominal fee.

In February 2008 the European Commission (EC) again fined Microsoft, this time for €899 million (U.S.$1.35 billion) for charging competitors “unreasonable” fees for access to technical information that it was required to reveal under terms of the original 2004 antitrust ruling. At the time, the fine was the largest ever levied by the EC against a corporation.

C

Settlements with Corporations

In April 2004 Microsoft and Sun announced that they had reached a settlement in their ongoing legal disputes and also planned to collaborate with each other on a variety of technology issues. Under the terms of the unexpected and unprecedented settlement, Microsoft agreed to pay Sun nearly $2 billion—$700 million to settle the antitrust suit, $900 million to resolve patent issues, and an upfront royalty payment of $350 million for use of Sun’s technologies. In return Sun agreed to drop its antitrust case and to make royalty payments to Microsoft when Microsoft technology is used in Sun’s products. In a company statement Sun also said that the objectives it had pursued in the EU case against Microsoft had been satisfied by the April settlement.

Both Sun CEO Scott McNealy and Microsoft CEO Ballmer indicated that the settlement was driven in large part by customers who wanted the two companies to work together to solve technology issues. Most companies use a mixture of hardware and software systems, and interoperability is key for them, both men noted. The two companies agreed to work together to improve the compatibility of Microsoft’s .Net platform and Sun’s Java technologies.

In July 2005 Microsoft reached a settlement with IBM. Microsoft agreed to pay IBM $775 million in cash and $75 million in software to resolve claims arising from the federal district court’s antitrust findings in 2000. Although IBM did not file suit against Microsoft, the antitrust findings laid the basis for litigation, and as a result Microsoft pursued a settlement without admitting liability.

In October 2005 Microsoft reached terms with RealNetworks in a deal valued at $761 million. The agreement settled the last major private lawsuit brought against the company as a result of the federal government’s antitrust case. In total Microsoft has paid $7.2 billion in settling lawsuits and fines stemming from antitrust issues, including a European Commission fine of $357 million levied in July 2006.

System V
System V, in computer science, the version of the UNIX system provided by AT&T and others. It is both a standard, which is principally controlled by AT&T, and a set of commercial products supplied by many vendors. Individual releases are numbered—for example, System V.4 indicates release 4.

Allocate
Allocate, in relation to computers, to reserve memory for use by a program. Programs often need certain system resources such as memory or disk space, and they request them as needed from the operating system. The process of responding to a request for a resource is

called allocation. The two basic types of allocation are static allocation, in which memory is set aside when the program starts and remains allocated while the program is running, and dynamic allocation, in which memory is allocated and deallocated while the program is running. Dynamic memory allocation is done either explicitly, by issuing a memory allocation request, or implicitly, when control passes to various subroutines (blocks) in a program. See also Computer.

BLOCK
Block, in relation to computers, literally, a group of similar things—usually bytes of storage or data, or segments of text. The word block is used in many contexts, so its exact definition varies with the type of item referenced. In programming, a block is a section of random access memory temporarily assigned (allocated) to a program by the operating system or a group of statements in a program that are treated as a unit.

In communications, a block is a unit of transmitted information consisting of identification codes, data, and error-checking codes.

In disk storage, a block is a collection of consecutive bytes of data that are read from or written to the disk as a group.

In video, a block is a rectangular grid of pixels that are handled as a unit.

In applications, a block is a segment of text that can be selected and acted upon as a whole.

Computer Boot
Boot, in computer science, as a verb, to start up a computer. As a noun, the process of starting or resetting a computer. A boot can be “cold,” as when the machine is first turned on, or “warm,” as when the user presses the Ctrl-Alt-Del combination (IBM) or chooses Restart from the Special menu (Apple). See also Cold Boot; Warm Boot.

1)

Cold Boot

Cold Boot, in computer science, a startup process that begins with turning on the computer's power. Typically, a cold boot involves some basic hardware checking by the system followed by loading of the operating system from disk into memory. This can be done by pressing on the keyboard Ctrl+Alt+Del, a three-key combination used with IBM and compatible computers to restart (reboot) the machine. Pressing Ctrl-Alt-Del (Control + Alternative +Delete) causes a “warm boot“—the computer restarts, but does not go through all of the internal checks involved when power to the system is switched on (“cold boot“). This particular key combination is generally considered to have been chosen because the keys are widely separated on the keyboard and difficult to press inadvertently at the same time.

Warm Boot
Warm Boot, in computer science, a system restart that does not involve turning on the power and waiting for the computer to check itself and its devices. A warm boot typically means loading or reloading the computer's operating system. On IBM and compatible personal computers, a warm boot is accomplished by using the Ctrl-Alt-Del key sequence. On Apple Macintosh computers, a warm boot can be requested with the Restart command on the Special menu.

Conversion (computer)
Conversion (computer), in relation to computers, the process of changing from one form or format to another; where information is concerned, a changeover that affects form but not substance. Many types of conversion are carried out in work with computers. Among them are

File conversion: Changing a file from one format to another—for example, converting a wordprocessed document from the format used by one program to the format used by another. Another, more detailed, type of file conversion involves changing character coding from one

standard to another, as in converting EBCDIC characters (used primarily with mainframe computers) to ASCII (used extensively with microcomputers). Commercially available software products have been designed to perform such conversions. See also ASCII; EBCDIC.

Data conversion: Changing the way information is represented—for example, changing binary representation to decimal or hexadecimal. Sometimes this conversion is manual, as when a user looks up hexadecimal equivalents in a published table. Other times, data conversions are performed behind the scenes by programs or language compilers.

Media conversion: Changing the storage medium from one form to another—for example, from disk to tape or from 3.5-inch Apple Macintosh diskette to 5.25-inch MS-DOS diskette. Media conversions of the Macintosh-to-MS-DOS type usually require both hardware and a conversion program.

Software conversion: Changing or moving a program designed to run on one computer to run on another. Usually this involves detailed (professional) work on the program itself.

System conversion: Changing from one operating system to another—for example, from MSDOS to UNIX or OS/2. Conversion, especially with a hard-disk system, can include backing up and restoring files before and after the changeover.

Hardware conversion: Changing all or part of a computer system to work with new or different devices. Hardware conversion related to microcomputers covers a wide range of changes, from relatively easy—for example, converting a serial printer to parallel by resetting switches—to relatively complex—for example, upgrading a computer by installing a new processor and circuitry.

Microsoft ® Encarta ® 2009. © 1993-2008 Microsoft Corporation. All rights reserved.

Virus (computer)

I

INTRODUCTION

Virus (computer), a self-duplicating computer program that spreads from computer to computer, interfering with data and software. Just as biological viruses infect people, spreading from person to person, computer viruses infect personal computers (PCs) and servers, the computers that control access to a network of computers. Some viruses are mere annoyances, but others can do serious damage. Viruses can delete or change files, steal important information, load and run unwanted applications, send documents via electronic mail (e-mail), or even cripple a machine’s operating system (OS), the basic software that runs the computer.

II

HOW INFECTIONS OCCUR

A virus can infect a computer in a number of ways. It can arrive on a floppy disk or inside an email message. It can piggyback on files downloaded from the World Wide Web or from an Internet service used to share music and movies. Or it can exploit flaws in the way computers exchange data over a network. So-called blended-threat viruses spread via multiple methods at the same time. Some blended-threat viruses, for instance, spread via e-mail but also propagate by exploiting flaws in an operating system.

Traditionally, even if a virus found its way onto a computer, it could not actually infect the machine—or propagate to other machines—unless the user was somehow fooled into executing the virus by opening it and running it just as one would run a legitimate program. But a new breed of computer virus can infect machines and spread to others entirely on its own. Simply by connecting a computer to a network, the computer owner runs the risk of infection. Because the Internet connects computers around the world, viruses can spread from one end of the globe to the other in a matter of minutes.

III

TYPES OF VIRUSES

There are many categories of viruses, including parasitic or file viruses, bootstrap-sector, multipartite, macro, and script viruses. Then there are so-called computer worms, which have become particularly prevalent. A computer worm is a type of virus. However, instead of

infecting files or operating systems, a worm replicates from computer to computer by spreading entire copies of itself.

Parasitic or file viruses infect executable files or programs in the computer. These files are often identified by the extension .exe in the name of the computer file. File viruses leave the contents of the host program unchanged but attach to the host in such a way that the virus code is run first. These viruses can be either direct-action or resident. A direct-action virus selects one or more programs to infect each time it is executed. A resident virus hides in the computer's memory and infects a particular program when that program is executed.

Bootstrap-sector viruses reside on the first portion of the hard disk or floppy disk, known as the boot sector. These viruses replace either the programs that store information about the disk's contents or the programs that start the computer. Typically, these viruses spread by means of the physical exchange of floppy disks.

Multipartite viruses combine the abilities of the parasitic and the bootstrap-sector viruses, and so are able to infect either files or boot sectors. These types of viruses can spread if a computer user boots from an infected diskette or accesses infected files.

Other viruses infect programs that contain powerful macro languages (programming languages that let the user create new features and utilities). These viruses, called macro viruses, are written in macro languages and automatically execute when the legitimate program is opened.

Script viruses are written in script programming languages, such as VBScript (Visual Basic Script) and JavaScript. These script languages can be seen as a special kind of macro language and are even more powerful because most are closely related to the operating system environment. The 'ILOVEYOU' virus, which appeared in 2000 and infected an estimated 1 in 5 personal computers, is a famous example of a script virus.

Strictly speaking, a computer virus is always a program that attaches itself to some other program. But computer virus has become a blanket term that also refers to computer worms. A worm operates entirely on its own, without ever attaching itself to another program.

Typically, a worm spreads over e-mail and through other ways that computers exchange information over a network. In this way, a worm not only wreaks havoc on machines, but also clogs network connections and slows network traffic, so that it takes an excessively long time to load a Web page or send an e-mail.

IV A

ANTI-VIRAL TACTICS Preparation and Prevention

Computer users can prepare for a viral infection by creating backups of legitimate original software and data files regularly so that the computer system can be restored if necessary. Viral infection can be prevented by obtaining software from legitimate sources or by using a quarantined computer—that is, a computer not connected to any network—to test new software. Plus, users should regularly install operating system (OS) patches, software updates that mend the sort of flaws, or holes, in the OS often exploited by viruses. Patches can be downloaded from the Web site of the operating system’s developer. However, the best prevention may be the installation of current and well-designed antiviral software. Such software can prevent a viral infection and thereby help stop its spread.

B

Virus Detection

Several types of antiviral software can be used to detect the presence of a virus. Scanning software can recognize the characteristics of a virus's computer code and look for these characteristics in the computer's files. Because new viruses must be analyzed as they appear, scanning software must be updated periodically to be effective. Other scanners search for common features of viral programs and are usually less reliable. Most antiviral software uses both on-demand and on-access scanners. On-demand scanners are launched only when the user activates them. On-access scanners, on the other hand, are constantly monitoring the computer for viruses but are always in the background and are not visible to the user. The onaccess scanners are seen as the proactive part of an antivirus package and the on-demand scanners are seen as reactive. On-demand scanners usually detect a virus only after the infection has occurred and that is why they are considered reactive.

Antivirus software is usually sold as packages containing many different software programs that are independent of one another and perform different functions. When installed or packaged together, antiviral packages provide complete protection against viruses. Within most antiviral packages, several methods are used to detect viruses. Checksumming, for example, uses mathematical calculations to compare the state of executable programs before and after they are run. If the checksum has not changed, then the system is uninfected. Checksumming software can detect an infection only after it has occurred, however. As this technology is dated and some viruses can evade it, checksumming is rarely used today.

Most antivirus packages also use heuristics (problem-solving by trial and error) to detect new viruses. This technology observes a program’s behavior and evaluates how closely it resembles a virus. It relies on experience with previous viruses to predict the likelihood that a suspicious file is an as-yet unidentified or unclassified new virus.

Other types of antiviral software include monitoring software and integrity-shell software. Monitoring software is different from scanning software. It detects illegal or potentially damaging viral activities such as overwriting computer files or reformatting the computer's hard drive. Integrity-shell software establishes layers through which any command to run a program must pass. Checksumming is performed automatically within the integrity shell, and infected programs, if detected, are not allowed to run.

C

Containment and Recovery

Once a viral infection has been detected, it can be contained by immediately isolating computers on networks, halting the exchange of files, and using only write-protected disks. In order for a computer system to recover from a viral infection, the virus must first be eliminated. Some antivirus software attempts to remove detected viruses, but sometimes with unsatisfactory results. More reliable results are obtained by turning off the infected computer; restarting it from a write-protected floppy disk; deleting infected files and replacing them with legitimate files from backup disks; and erasing any viruses on the boot sector.

V

VIRAL STRATEGIES

The authors of viruses have several strategies to circumvent antivirus software and to propagate their creations more effectively. So-called polymorphic viruses make variations in the copies of themselves to elude detection by scanning software. A stealth virus hides from the operating system when the system checks the location where the virus resides, by forging results that would be expected from an uninfected system. A so-called fast-infector virus infects not only programs that are executed but also those that are merely accessed. As a result, running antiviral scanning software on a computer infected by such a virus can infect every program on the computer. A so-called slow-infector virus infects files only when the files are modified, so that it appears to checksumming software that the modification was legitimate. A so-called sparse-infector virus infects only on certain occasions—for example, it may infect every tenth program executed. This strategy makes it more difficult to detect the virus.

By using combinations of several virus-writing methods, virus authors can create more complex new viruses. Many virus authors also tend to use new technologies when they appear. The antivirus industry must move rapidly to change their antiviral software and eliminate the outbreak of such new viruses.

VI

VIRUS-LIKE COMPUTER PROGRAMS

There are other harmful computer programs that can be part of a virus but are not considered viruses because they do not have the ability to replicate. These programs fall into three categories: Trojan horses, logic bombs, and deliberately harmful or malicious software programs that run within a Web browser, an application program such as Internet Explorer and Netscape that displays Web sites.

A Trojan horse is a program that pretends to be something else. A Trojan horse may appear to be something interesting and harmless, such as a game, but when it runs it may have harmful effects. The term comes from the classic Greek story of the Trojan horse found in Homer’s Iliad.

A logic bomb infects a computer’s memory, but unlike a virus, it does not replicate itself. A logic bomb delivers its instructions when it is triggered by a specific condition, such as when a particular date or time is reached or when a combination of letters is typed on a keyboard. A logic bomb has the ability to erase a hard drive or delete certain files.

Malicious software programs that run within a Web browser often appear in Java applets and ActiveX controls. Although these applets and controls improve the usefulness of Web sites, they also increase a vandal’s ability to interfere with unprotected systems. Because those controls and applets require that certain components be downloaded to a user’s personal computer (PC), activating an applet or control might actually download malicious code.

A

History

In 1949 Hungarian American mathematician John von Neumann, at the Institute for Advanced Study in Princeton, New Jersey, proposed that it was theoretically possible for a computer program to replicate. This theory was tested in the 1950s at Bell Laboratories when a game called Core Wars was developed, in which players created tiny computer programs that attacked, erased, and tried to propagate on an opponent's system.

In 1983 American electrical engineer Fred Cohen, at the time a graduate student, coined the term virus to describe a self-replicating computer program. In 1985 the first Trojan horses appeared, posing as a graphics-enhancing program called EGABTR and as a game called NUKE-LA. A host of increasingly complex viruses followed.

The so-called Brain virus appeared in 1986 and spread worldwide by 1987. In 1988 two new viruses appeared: Stone, the first bootstrap-sector virus, and the Internet worm, which crossed the United States overnight via computer network. The Dark Avenger virus, the first fast infector, appeared in 1989, followed by the first polymorphic virus in 1990.

Computer viruses grew more sophisticated in the 1990s. In 1995 the first macro language virus, WinWord Concept, was created. In 1999 the Melissa macro virus, spread by e-mail, disabled e-mail servers around the world for several hours, and in some cases several days.

Regarded by some as the most prolific virus ever, Melissa cost corporations millions of dollars due to computer downtime and lost productivity.

The VBS_LOVELETTER script virus, also known as the Love Bug and the ILOVEYOU virus, unseated Melissa as the world's most prevalent and costly virus when it struck in May 2000. By the time the outbreak was finally brought under control, losses were estimated at U.S.$10 billion, and the Love Bug is said to have infected 1 in every 5 PCs worldwide.

The year 2003 was a particularly bad year for computer viruses and worms. First, the Blaster worm infected more than 10 million machines worldwide by exploiting a flaw in Microsoft’s Windows operating system. A machine that lacked the appropriate patch could be infected simply by connecting to the Internet. Then, the SoBig worm infected millions more machines in an attempt to convert systems into networking relays capable of sending massive amounts of junk e-mail known as spam. SoBig spread via e-mail, and before the outbreak was 24 hours old, MessageLabs, a popular e-mail filtering company, captured more than a million SoBig messages and called it the fastest-spreading virus in history. In January 2004, however, the MyDoom virus set a new record, spreading even faster than SoBig, and, by most accounts, causing even more damage.

Contributed By: Eddy Willems
Microsoft ® Encarta ® 2009. © 1993-2008 Microsoft Corporation. All rights reserved.

Application
Application, in computer science, a computer program designed to help people perform a certain type of work. An application thus differs from an operating system (which runs a computer), a utility (which performs maintenance or general-purpose chores), and a language

(with which computer programs are created). Depending on the work for which it was designed, an application can manipulate text, numbers, graphics, or a combination of these elements. Some application packages offer considerable computing power by focusing on a single task, such as word processing; others, called integrated software, offer somewhat less power but include several applications, such as a word processor, a spreadsheet, and a database program. See also Computer; Operating System; Programming Language; Spreadsheet Program; Utility.

Microsoft ® Encarta ® 2009. © 1993-2008 Microsoft Corporation. All rights reserved.

Windowing Environment
Windowing Environment, in computer science, an operating system or shell that presents the user with specially delineated areas of the screen called windows. Each window can act independently, as if it were a virtual display device. Windowing environments typically allow windows to be resized and moved around on the display. The Apple Macintosh Finder, Microsoft Windows, and the OS/2 Presentation Manager are all examples of windowing environments.

Microsoft ® Encarta ® 2009. © 1993-2008 Microsoft Corporation. All rights reserved.

RAM
RAM, in computer science, acronym for random access memory. Semiconductor-based memory that can be read and written by the microprocessor or other hardware devices. The storage locations can be accessed in any order. Note that the various types of ROM memory are capable of random access. The term RAM, however, is generally understood to refer to volatile memory, which can be written as well as read. See also Computer; EPROM; PROM.

Microsoft ® Encarta ® 2009. © 1993-2008 Microsoft Corporation. All rights reserved.

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close