Hardware and Software Concepts:Introduction and Evolution of Hardware Devices

Introduction

Today’s computers allow users to access the Internet, browse Web pages, display graphics and video, play music and games—and more. Personal and office computers increase productivity by managing large amounts of data, providing application- development tools and presenting an intuitive interface for authoring content. Net- works of computers coordinate to perform vast numbers of calculations and trans- actions per second. In the mobile computing market, cell phones store phone numbers, send and receive text messages and even capture photos and video. All of these computers contain various types of hardware and software, and they are all managed by operating systems.

Because the operating system is primarily a resource manager, its design must be intimately tied to the hardware and software resources that it manages. These resources include processors, memory, secondary storage (such as hard disks), other I/O devices, processes, threads, files, databases and so on. As computers evolve, operating systems must adapt to emerging hardware and software technologies and maintain compatibility with an installed base of older hardware and software. In this chapter, we introduce hardware and software concepts.

Self Review

1. List some common hardware and software resources managed by operating systems.

2. List the types of data referenced in the preceding introduction.

Ans: 1) Processors, memory, secondary storage and other devices, processes, threads, files and databases. 2) Web pages, graphics, video, music, game data, office data, content, transac- tion data, cell phone numbers, text messages, photos, data in memory, data in secondary storage, data input or output by I/O devices and data processed by processors.

Evolution of Hardware Devices

Every time technological development has allowed for increased computing speeds, the new capabilities have immediately been absorbed by demands placed on computing resources by more ambitious applications. Computing appears to be an inexhaustible resource. Ever more interesting problems await the availability of increasingly powerful computing systems, as predicted by Moore’s law (see the Biographical Note, Gordon Moore and Moore’s Law). We have a “chicken or the egg” situation. Is it increasing applications demands that force computing technology to evolve, or is it improvements in technology that tempt us to think about new and innovative applications?

Initially, systems programming, which entailed writing code to perform hard- ware management and provide services to programs, was relatively straightforward because the operating system managed a small number of programs and hardware resources. Operating systems facilitate applications programming, because devel- opers can write software that requests services and resources from the operating system to perform tasks (e.g., text editing, loading Web pages or payroll processing) without needing to write code to perform device management. As the number of hardware manufacturers and devices proliferated, operating systems became more complex. To facilitate systems programming and improve extensibility, most operating systems are written to be independent of a system’s particular hardware configuration. Operating systems use device drivers, often provided by hardware manufacturers, to perform device-specific I/O operations. This enables the operating system to support a new device simply by using the appropriate device driver. In fact, device drivers are such an integral part of today’s systems that they comprise approximately 60 percent of the source code for the Linux kernel.1 Many hardware components have been designed to interact with the operating system in a way that facilitates operating system extensibility. For example, plug-and-play devices identify themselves to the operating system when they are

Biographical Note

Gordon Moore and Moore’s Law

Dr. Gordon E. Moore earned his in Chemistry from the University of California at Berkeley and Ph.D. in Chemistry and Physics from the California Institute of Technology.2 He co-founded the Intel Corporation, the largest processor manufacturer in the computing industry. Moore is currently a Chairman Emeritus of Intel Corporation.3 He is also known for his prediction regarding the progress of computing power that has been named Moore’s law. Contrary to its name, Moore’s law is not a provable fact. In Moore’s 1965 paper, “Cramming More Components onto Integrated Circuits,” he observed that the number of transistors in processors had doubled roughly every year.4 Transistors are miniature switches that control electric current (just as a light switch is turned on or off). The faster the switch can be flipped, the faster the processor can exe- cute; the more transistors, the more tasks a processor can do at once. Moore predicted that the increase in transistor count would continue for about a decade. By 1975, Moore adjusted his “law” to predict that transistor counts would double every 24 months.

Currently, processor performance is doubling roughly every 18 months and transistor count is doubling every 24 months (Fig. 2.1). A key factor that enables this is that the cost per transistor in processors is decreasing exponentially. There are other trends related to Moore’s law. For one, the size of transistors is becoming exponentially smaller.

The reduction in transistor size has outpaced the growth of the number of transistors on the die (i.e., the chip containing the pro- cessor), providing increased computational power from smaller processors. Smaller transistors also operate faster than large ones.

Recent advances in nanotechnology (technology at the scale of molecules) have enabled semiconductor manufacturers to create transistors consisting of a handful of atoms. Soon, however, researchers will be limited by the size of an atom when designing a transistor. To continue to extend Moore’s law, companies such as Intel are investigating new techniques to modify transistor con- struction and create high- performance alternatives to transistor technology.5

connected to the computer (see Section 2.4.4, Plug and Play). This enables the operating system to select and use an appropriate device driver with little or no user interaction, simplifying the installation of a new device. From the user perspective, devices that are added to the system are ready to use almost immediately.

The hardware discussions in the next several sections focus on general-purpose computers (e.g., personal computers and servers)—special-purpose computers, such as those in cell phones or cars, are beyond the scope of this book. We discuss the common hardware components found in typical computer systems, then focus on hardware components specifically designed to support operating system functionality.

Self Review

1. Why are operating systems more difficult to design today than 50 years ago?

2. How do drivers and interfaces such as plug-and-play facilitate operating system extensibility?

image

Ans: 1) The operating systems of 50 years ago managed a small number of programs and hardware devices. Today’s operating systems typically manage a large number of programs and a set of hardware devices that vary from one computer to another. 2) Drivers free the operating system designer from the details of interacting with hardware devices. Operating systems can support new hardware simply by using the appropriate device driver. Plug-and- play devices enable the operating system to easily identify a computer’s hardware resources, which facilitates installation of devices and their corresponding drivers. From the user per- spective,a device is ready to use almost immediately after it is installed.

Comments

Popular posts from this blog

Input Output (IO) Management:HW/SW Interface and Management of Buffers.

Introduction to Operating Systems:Early History: The 1940s and 1950s

Input Output (IO) Management:IO Organization.