Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
5
Добавлен:
05.03.2016
Размер:
578.56 Кб
Скачать

Development of computer science

Computer science as an independent discipline dates to only about 1960, although the electronic digital computer that is the object of its study was invented some two decades earlier. The roots of computer science lie primarily in the related fields of electrical engineering and mathematics. Electrical engineering provides the basics of circuit design—namely, the idea that electrical impulses input to a circuit can be combined to produce arbitrary outputs. The invention of the transistor and the miniaturization of circuits, along with the invention of electronic, magnetic, and optical media for the storage of information, resulted from advances in electrical engineering and physics. Mathematics is the source of one of the key concepts in the development of the computer—the idea that all information can be represented as sequences of zeros and ones. In the binary number system, numbers are represented by a sequence of the binary digits 0 and 1 in the same way that numbers in the familiar decimal system are represented using the digits 0 through 9. The relative ease with which two states (e.g., high and low voltage) can be realized in electrical and electronic devices led naturally to the binary digit, or bit, becoming the basic unit of data storage and transmission in a computer system.

The Boolean algebra developed in the 19th century supplied a formalism for designing a circuit with binary input values of 0s and 1s (false or true, respectively, in the terminology of logic) to yield any desired combination of 0s and 1s as output. Theoretical work on computability, which began in the 1930s, provided the needed extension to the design of whole machines; a milestone was the 1936 specification of the conceptual Turing machine (a theoretical device that manipulates an infinite string of 0s and 1s) by the British mathematician Alan Turing and his proof of the model's computational power. Another breakthrough was the concept of the stored-program computer, usually credited to the Hungarian-American mathematician John von Neumann. This idea—that instructions as well as data should be stored in the computer's memory for fast access and execution—was critical to the development of the modern computer. Previous thinking was limited to the calculator approach, in which instructions are entered one at a time.

The needs of users and their applications provided the main driving force in the early days of computer science, as they still do to a great extent today. The difficulty of writing programs in the machine language of 0s and 1s led first to the development of assembly language, which allows programmers to use mnemonics for instructions (e.g., ADD) and symbols for variables (e.g., X). Such programs are then translated by a program known as an assembler into the binary encoding used by the computer. Other pieces of system software known as linking loaders combine pieces of assembled code and load them into the machine's main memory unit, where they are then ready for execution. The concept of linking separate pieces of code was important, since it allowed “libraries” of programs to be built up to carry out common tasks—a first step toward the increasingly emphasized notion of software reuse. Assembly language was found to be sufficiently inconvenient that higher-level languages (closer to natural languages) were invented in the 1950s for easier, faster programming; along with them came the need for compilers, programs that translate high-level language programs into machine code. As programming languages became more powerful and abstract, building efficient compilers that create high-quality code in terms of execution speed and storage consumption became an interesting computer science problem in itself.

Increasing use of computers in the early 1960s provided the impetus for the development of operating systems, which consist of system-resident software that automatically handles input and output and the execution of jobs. The historical development of operating systems is summarized below under that topic. Throughout the history of computers, the machines have been utilized in two major applications: (1) computational support of scientific and engineering disciplines and (2) data processing for business needs. The demand for better computational techniques led to a resurgence of interest in numerical methods and their analysis, an area of mathematics that can be traced to the methods devised several centuries ago by physicists for the hand computations they made to validate their theories. Improved methods of computation had the obvious potential to revolutionize how business is conducted, and in pursuit of these business applications new information systems were developed in the 1950s that consisted of files of records stored on magnetic tape. The invention of magnetic-disk storage, which allows rapid access to an arbitrary record on the disk, led not only to more cleverly designed file systems but also, in the 1960s and '70s, to the concept of the database and the development of the sophisticated database management systems now commonly in use. Data structures, and the development of optimal algorithms for inserting, deleting, and locating data, have constituted major areas of theoretical computer science since its beginnings because of the heavy use of such structures by virtually all computer software—notably compilers, operating systems, and file systems. Another goal of computer science is the creation of machines capable of carrying out tasks that are typically thought of as requiring human intelligence. Artificial intelligence, as this goal is known, actually predates the first electronic computers in the 1940s, although the term was not coined until 1956.Computer graphics was introduced in the early 1950s with the display of data or crude images on paper plots and cathode-ray tube (CRT) screens. Expensive hardware and the limited availability of software kept the field from growing until the early 1980s, when the computer memory required for bit-map graphics became affordable. (A bit map is a binary representation in main memory of the rectangular array of points [pixels, or picture elements] on the screen. Because the first bit-map displays used one binary bit per pixel, they were capable of displaying only one of two colours, commonly black and green or black and amber. Later computers, with more memory, assigned more binary bits per pixel to obtain more colours.) Bit-map technology, together with high-resolution display screens and the development of graphics standards that make software less machine-dependent, has led to the explosive growth of the field. Software engineering arose as a distinct area of study in the late 1970s as part of an attempt to introduce discipline and structure into the software design and development process. For a thorough discussion of the development of computing, see computers, history of.

Architecture

Architecture deals with both the design of computer components (hardware) and the creation of operating systems (software) to control the computer. Although designing and building computers is often considered the province of computer engineering, in practice there exists considerable overlap with computer science.

Computer graphics

The use of computers to produce pictorial images. The images produced can be printed documents or animated motion pictures, but the term computer graphics refers particularly to images displayed on a video display screen, or display monitor. These screens can display graphic as well as alphanumeric data. A computer-graphics system basically consists of a computer to store and manipulate images, a display screen, various input and output devices, and a graphics software package—i.e., a program that enables a computer to process graphic images by means of mathematical language. These programs enable the computer to draw, colour, shade, and manipulate the images held in its memory.

A computer displays images on the phosphor-coated surface of a graphics display screen by means of an electron beam that sweeps the screen many times each second. Those portions of the screen energized by the beam emit light, and changes in the intensity of the beam determine their brightness and hue. The brightness of the resulting image fades quickly, however, and must be continuously “refreshed” by the beam, typically 30 times per second.

Graphics software programs enable a user to draw, colour, shade, and manipulate an image on a display screen with commands input by a keyboard. A picture can be drawn or redrawn onto the screen with the use of a mouse, a pressure-sensitive tablet, or a light pen. Preexisting images on paper can be scanned into the computer through the use of scanners, digitizers, pattern-recognition devices, or digital cameras. Frames of images on videotape also can be entered into a computer. Various output devices have been developed as well; special programs send digital data from the computer's memory to an imagesetter or film recorder, which prints the image on paper or on photographic film. The computer can also generate hard copy by means of plotters and laser or dot-matrix printers.

Pictures are stored and processed in a computer's memory by either of two methods: raster graphics and vector graphics. Raster-type graphics maintain an image as a matrix of independently controlled dots, while vector graphics maintain it as a collection of points, lines, and arcs. Raster graphics are now the dominant computer graphics technology.

In raster graphics, the computer's memory stores an image as a matrix, or grid, of individual dots, or pixels (picture elements). Each pixel is encoded in the computer's memory as one or several bits—i.e., binary digits represented by 0 or 1. A 2-bit pixel can represent either black or white, while a 4-bit pixel can represent any of 16 different colours or shades of gray. The constituent bits that encode a picture in the computer's memory are called a bit map. Computers need large processing and memory capacities to translate the enormous amounts of information contained in a picture into the digital code of a bit map, and graphics software programs use special algorithms (computional processes) to perform these procedures.

In raster graphics, the thousands of tiny pixels that make up an individual image are projected onto a display screen as illuminated dots that from a distance appear as a contiguous image. The picture frame consists of hundreds of tiny horizontal rows, each of which contains hundreds of pixels. An electron beam creates the grid of pixels by tracing each horizontal line from left to right, one pixel at a time, from the top line to the bottom line. Raster graphics create uniform coloured areas and distinct patterns and allow precise manipulation because their constituent images can be altered one dot at a time. Their main disadvantage is that the images are subtly staircased—i.e., diagonal lines and edges appear jagged and less distinct when viewed from a very short distance. A corollary of television technology, raster graphics emerged in the early 1970s and had largely displaced vector systems by the '90s.In vector graphics, images are made up of a series of lines, each of which is stored in the computer's memory as a vector—i.e., as two points on an x-y matrix. On a vector-type display screen, an electron beam sweeps back and forth between the points designated by the computer and the paths so energized emit light, thereby creating lines; solid shapes are created by grouping lines closely enough to form a contiguous image. Vector-graphics technology was developed in the mid-1960s and widely used until it was supplanted by raster graphics. Its application is now largely restricted to highly linear work in computer-aided design and architectural drafting, and even this is performed on raster-type screens with the vectors converted into dots.

Computer graphics have found widespread use in printing, product design and manufacturing, scientific research, and entertainment since the 1960s. In the business office, computers routinely create graphs and tables to illustrate text information. Computer-aided design systems have replaced drafting boards in the design of a vast array of products ranging from buildings to automotive bodies and aircraft hulls to electrical and electronic devices. Computers are also often used to test various mechanical, electrical, or thermal properties of the component under design. Scientists use computers to simulate the behaviour of complicated natural systems in animated motion-picture sequences. These pictorial visualizations can afford a clearer understanding of the multiple forces or variables at work in such phenomena as nuclear and chemical reactions, large-scale gravitational interactions, hydraulic flow, load deformation, and physiological systems. Computer graphics are nowhere so visible as in the entertainment industry, which uses them to create the interactive animations of video games and the special effects in motion pictures. Computers have also come into increasing use in commercial illustration and in the digitalization of images for use in CD-ROM products, online services, and other electronic media.

Living in cyberspace

Ever smaller computers

Embedded systems

One can look at the development of the electronic computer as occurring in waves. The first large wave was the mainframe era, when many people had to share single machines. (The mainframe era is covered in the section The age of Big Iron.) In this view, the minicomputer era can be seen as a mere eddy in the larger wave, a development that allowed a favoured few to have greater contact with the big machines. Overall, the age of mainframes could be characterized by the expression “Many persons, one computer.

”The second wave of computing history was brought on by the personal computer, which in turn was made possible by the invention of the microprocessor. (This era is described in the section The personal computer revolution.) The impact of personal computers has been far greater than that of mainframes and minicomputers: their processing power has overtaken that of the minicomputers, and networks of personal computers working together to solve problems can be the equal of the fastest supercomputers. The era of the personal computer can be described as the age of “One person, one computer.”

Since the introduction of the first personal computer, the semiconductor business has grown into a $120 billion worldwide industry. However, this phenomenon is only partly ascribable to the general-purpose microprocessor, which accounts for about $23 billion in annual sales. The greatest growth in the semiconductor industry has occurred in the manufacture of special-purpose processors, controllers, and digital signal processors. These computer chips are increasingly being included, or embedded, in a vast array of consumer devices, including pagers, mobile telephones, automobiles, televisions, digital cameras, kitchen appliances, video games, and toys. While the Intel Corporation may be safely said to dominate the worldwide microprocessor business, it has been outpaced in this rapidly growing multibillion-dollar industry by companies such as Motorola, Inc.; Hitachi, Ltd.; Texas Instruments; Packard Bell NEC, Inc.; and Lucent Technologies Inc. This ongoing third wave may be characterized as “One person, many computers.”

Соседние файлы в папке 3