JUNE 2006 (Vol. 39, No. 6) pp. 10-11
0018-9162/06/$31.00 © 2006 IEEE
Published by the IEEE Computer Society
Published by the IEEE Computer Society
32 & 16 Years Ago
PDFs Require Adobe Acrobat
THE PROFESSION (p. 9). "In a direct, challenging, and articulate NCC keynote address delivered before an audience of 1500 at Chicago's McCormick Place on May 6, AFIPS President George Glaser chided the information processing community for a number of key shortcomings in education and professional standards."
"'Professions generally travel a long road to maturity. In doing so, they slowly unravel that knowledge of nature and their environments on which maturity must depend.
"'By contrast the profession of information processing developed rapidly—it can be considered, at most, three decades old. Its motivations have rested largely on finding uses for novel, powerful, and versatile types of machines. This reverse approach has permitted us little time to develop that fullness of understanding of its environment on which professional maturity must rest.
"'Our profession differs, too, from engineering and medicine in that we provide tools for others to use. This confronts us with a problem of communication. Unless we know the user's problem, can speak precisely about the abilities and limitations of computers, and can intelligently relate the two, unrealistic expectations may be aroused and wastefulness may occur. From our selfish point of view, the result is inevitably frustration.
"'Professional maturity requires that we start with people and their problems much as engineers and physicians do. We must view computers as tools which can sometimes help them and sometimes not—but always with the idea of helping people and not, per se, advancing computers.'"
OPERATING SYSTEMS (p. 21). "The term 'operating system' usually refers to the software that provides the interface between the user and the computer system hardware. This software/hardware system can be viewed as an extended machine which is more convenient and economical to use than the bare machine. As the interface between user and hardware, operating systems must be designed with due consideration for both user requirements and technological constraints and opportunities.
"During the past twenty years we have seen the development of a number of powerful concepts, such as multiprogramming, time-sharing, virtual memory, and virtual machines. While these notions have been with us for some time, there is a continuing need for refinement and reevaluation in the face of advances in hardware technology and changes in the nature of system usage."
SYSTEM SECURITY (pp. 28–29). "… Basically, it is argued that the very lowest system level of an operating system, the sub-nucleus, ought to contain the security-relevant portions of operating systems code and nothing else. In this fashion one might believe that the behavior of the resulting relatively small amount of isolated code will be much easier to understand and audit than if it were strewn throughout the operating system as is currently the case. Furthermore, the proper functioning of protection will not depend on the behavior of outer layers of systems code. Thus, non-kernel modules can be changed and maintained without affecting the reliability of the system's protection."
VIRTUAL MACHINES (p. 43). "Virtual machines have finally arrived. Dismissed for a number of years as merely academic curiosities, they are now seen as cost-effective techniques for organizing computer systems resources to provide extraordinary system flexibility and support for certain unique applications. Virtual machines have been endorsed by IBM (in the continuing support provided for VM/370) and are under active study by the various data-security-conscious organizations. … As a result of the substantial interest in the field shown by manufacturers, computer scientists, and users, we feel certain that there will be a further spread of virtual machine systems, a development of more efficient virtualizable architectures, and a succession of significant new applications."
LOW-END COMPUTERS (p. 58). "Digital Equipment Corporation recently announced two new processors—one, an 8-bit LSI Microprocessor Series (MPS), and the other a 12-bit MSI version of its PDP-8 called the PDP-8/A. Both are aimed at the low end of the computer market."
"The Microprocessor Series consists of five modules: an 8-bit central processor module which can address up to 16K of memory; a semiconductor Read/Write Memory module expandable from 1K to 4K 8-bit words; a Programmable Read-Only Memory module, (PROM), expandable from 256 to 4K 8-bit words (all on individual modules); an External Event Detection module to monitor low voltage or to implement priority interrupt schemes, and a Monitor/Control Panel to serve as a diagnostic checkout and program entry devices."
"The 12-bit PDP-8/A miniprocessor includes a 15" × 9" CPU module which contains all the processing capabilities for the system, and has addressing capability up to 32K. There are three memory options: Random-Access Read/Write (RAM), Read-Only Memory (ROM), or Programmable Read Only Memory (PROM)."
DATA EXPRESS TRANSMISSION (p. 59). "An alternative to shipping computer data in bulk via overnight airline flights is offered by a new data communications service announced recently by MCI Telecommunications Corp. Aimed at firms who generate huge amounts of data which must be transmitted to central computers in other cities for next-day processing, the new service, named 'Data Express,' utilizes newly developed high-speed data communications equipment and a broadband microwave channel to move the data electronically at speeds up to 250,000 bits per second.
"In operation, a reel or several reels of magnetic tape on which the data has been recorded is physically taken to an MCI terminal office. MCI transmits the data over its own common carrier network. The next morning, or within two hours, depending on the user's requirement, a duplicate of the original tape is ready for pick-up at the MCI terminal office in the destination city."
CACHE ARCHITECTURES (p. 9). "Efficient tightly coupled multiprocessor systems are difficult to design because accesses to shared memory can drastically reduce each processor's speed. There are two aspects to the shared-memory access problem. The first, and possibly most important, is access latency—that is, the delay between the issuance of a memory access by a processor and its completion. The second problem is contention among accesses from different processors.
"Cache is a common approach to solving both problems. Caches have proved effective in uniprocessors, but they are even more effective in multiprocessors because they alleviate the contention problem. High-speed caches connected to each processor maintain local copies of memory locations and supply operands and instructions at the rate required by each processor."
TRANSLATION LOOKASIDE BUFFERS (p. 26). "A translation lookaside buffer is a special-purpose, virtual-address cache required to implement a paged virtual memory efficiently. Shared-memory multiprocessors with multiple TLBs … give rise to a special case of the cache consistency problem, which can occur when multiple images of data can reside in multiple distinct caches, as well as in main memory.
"A processor accesses a TLB entry to determine the memory location and accessibility of referenced data. TLB entries store this information in data structures called page tables. Since multiple processors can read and write page tables, they can make the corresponding information in TLBs stale, which in turn can cause erroneous memory accesses and incorrect program behavior."
COMPILER-DIRECTED CACHE MANAGEMENT (p. 47). "Compiler-directed cache coherence strategies provide a viable alternative for cache system design in large-scale multiprocessors. The compiler-directed strategies expose multiprocessor cache management to the compiler and achieve cache coherence with independently managed caches and the hardware cost that grows very slowly as a function of the number of processors only. The most important advantage of independently managed caches is the elimination of interprocessor communication for coherence maintenance."
CONTINUOUS SPEECH RECOGNITION (p. 91). "Verbex Voice Systems claims that its Series 7000 Conversational Voice I/O System provides continuous speech recognition. The system reportedly allows users to speak naturally at their normal speed, capture data, and perform transactions using a virtually unlimited vocabulary.
"According to Verbex, the Series 7000 has an active vocabulary of 2,100 words expandable to 10,000 and a total vocabulary limited only by computer memory. Speakers train the system during a one-time training session."
MULTIUSER SYSTEMS (p. 92). "The DECsystem 5800 series includes multiuser, Unix-based RISC systems employing an R3000 CPU. The three-processor DECsystem 5830 and four-processor DECsystem 5840 run Ultrix V4 with SMP. The DECsystem 5830 supports up to 192 Mbytes of memory, while the DECsystem 5840 supports up to 128 Mbytes of memory.
"Digital has also announced three new multiuser systems based on SCO Unix System V/386 and Intel's 80386 CPU. … The systems support entry-level configurations for four to eight users. They come with 4–8 Mbytes of memory, 80–170-Mbyte disk drives, backup tape, terminal multiplexer, and SCO Unix System V/386 (with an unlimited-user license)."
OPTICAL CHARACTER RECOGNITION (p. 99). "Over the years, optical character recognition has improved considerably. First, OCR-B provided a much more readable typeface. Second, more sophisticated OCR software was no longer limited to recognizing only specific typefaces in fixed sizes. Third, you no longer needed the power of a large mainframe along with an expensive scanner to read a typical document. Today, relatively inexpensive microcomputers and hand-held scanners can reduce this considerable task to an easily managed one. With the right equipment, you can translate the printed page to an ASCII file in less than a minute."
THE CONNECTION MACHINE (p. 108). "The principle behind the massively parallel Connection Machine system used in database searches is its reliance on both code and data as potential sources for parallel speedups. A very large database of documents can be searched for a pattern more quickly if many simple processors are queried.
"Searching large databases is an appropriate application for parallel operation because as databases get larger the cost-effectiveness of a serial machine falls off, …. With a parallel machine, cost remains constant."