Chapter 1. Introduction Flashcards

1
Q

An _____ ____ acts as an intermediary between the _____ of a computer and the computer _____. The purpose of an _____ ____ is to provide an _____ in which a ___ can execute _____ in a _____ and _____ manner

A

An operating system acts as an intermediary between the user of a
computer and the computer hardware. The purpose of an operating
system is to provide an environment in which a user can execute
programs in a convenient and efficient manner

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

An _____ ____ is software that manages the computer _____-____ . The _____ ____ must provide appropriate _____ to ensure the _____ operation of the computer system and to _____ user programs
from _____ with the proper _____ of the system.

A

An operating system is software that manages the computer hard-ware. The hardware must provide appropriate mechanisms to ensure the correct operation of the computer system and to prevent user programs
from interfering with the proper operation of the system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Internally, _____ ____ vary greatly in their makeup, since they
are _____ along many different ___. The design of a new _____ ____ is a major _____. It is important that the _____ of the system be _____ ____ before the _____ begins. These goals form the basis for choices among various _____ and _____.

A

Internally, operating systems vary greatly in their makeup, since they are organized along many different lines. The design of a new operating system is a major task. It is important that the goals of the system be well defined before the design begins. These goals form the basis for choices among various algorithms and strategies.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Because an operating system is _____ and _____ , it must be created
_____ by _____. Each of these _____ should be a ___-____ portion
of the _____, with carefully defined _____, _____, and _____

A

Because an operating system is large and complex, it must be created
piece by piece. Each of these pieces should be a well-delineated portion
of the system, with carefully defined inputs, outputs, and functions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

An _____ ____ is a program that manages a _____ ____. It
also provides a basis for _____ ____ and acts as an _____ between the computer ____ and the computer ____. An amazing aspect of _____ ____ is how they _____ in accomplishing these _____.

A

An operating system is a program that manages a computer’s hardware. It
also provides a basis for application programs and acts as an intermediary
between the computer user and the computer hardware. An amazing aspect of
operating systems is how they vary in accomplishing these tasks.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

_____ operating systems are designed primarily to optimize _____ of _____.

A

Mainframe

operating systems are designed primarily to optimize utilization of hardware

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q
\_\_\_\_\_ \_\_\_\_ (\_\_) operating systems support \_\_\_\_\_ \_\_\_\_, business
applications, and everything in between
A
Personal computer (PC) operating systems support complex games, business
applications, and everything in between
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Thus, some operating systems are designed to
be _____, others to be _____, and others to be some combination of the
two.

A

Thus, some operating systems are designed to
be convenient, others to be efficient, and others to be some combination of the
two.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Before we can explore the details of _____ ____ _____, we need to know something about _____ ____. We thus discuss the basic functions of _____ ____ , __, and storage early in this chapter. We also describe
the basic _____ ____ that makes it possible to write a _____ operating system

A

Before we can explore the details of computer system operation, we need to
know something about system structure. We thus discuss the basic functions
of system startup, I/O, and storage early in this chapter. We also describe
the basic computer architecture that makes it possible to write a functional
operating system

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Because an operating system is _____ and _____, it must be created _____ by _____. Each of these pieces should be a ____-____ portion of the system, with carefully defined _____, _____, and _____. In this chapter, we provide a general overview of the major components of a contemporary computer system as well as the functions provided by the _____ ____. Additionally, we cover several other topics to help set the stage for the remainder of this text: _____ ____ used in _____ ____, _____ ____, and open-source _____ ____.

A

Because an operating system is large and complex, it must be created piece by piece. Each of these pieces should be a well-delineated portion of the system, with carefully defined inputs, outputs, and functions. In this chapter, we provide a general overview of the major components of a contemporary computer system as well as the functions provided by the operating system. Additionally, we cover several other topics to help set the stage for the remainder of this text: data structures used in operating systems, computing
environments, and open-source operating systems.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

CHAPTER OBJECTIVES

A
  • To describe the basic organization of computer systems.
  • To provide a grand tour of the major components of operating systems.
  • To give an overview of the many types of computing environments.
  • To explore several open-source operating systems
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

We begin our discussion by looking at the _____ ____ role in the
overall _____ ____. A _____ ____ can be divided roughly into four
components: the _____, the _____ ____, the _____ ____ ,
and the _____(Figure 1.1).

A

We begin our discussion by looking at the operating system’s role in the
overall computer system. A computer system can be divided roughly into four
components: the hardware, the operating system, the application programs,
and the users (Figure 1.1).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

The _____—the _____ ____ _____ (___), the _____, and the
_____/____(/) devices—provides the basic _____ ____ for the
_____.

A

The hardware—the central processing unit (CPU), the memory, and the
input/output (I/O) devices—provides the basic computing resources for the
system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

The ____ _____—such as word processors, spreadsheets, compilers, and Web browsers—define the ways in which these resources are used to solve ___ ____ ______.

A

The application programs—such as word processors, spreadsheets,
compilers, and Web browsers—define the ways in which these resources are
used to solve users’ computing problems.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

The ___ ____ controls the
____ and ____ its use among the various ___ ____for
the various ___.

A

The operating system controls the
hardware and coordinates its use among the various application programs for
the various users.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

We can also view a ___ ____ as consisting of ___, ___, and ___.

A

We can also view a computer system as consisting of hardware, software, and data

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

The___ ____ provides the means for proper use of these ____ in the operation of the ___ ____.

A

The operating system provides the means for proper use of these
resources in the operation of the computer system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

An operating system is

similar to a ____.

A

An operating system is

similar to a government.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Like a ____, it performs no useful function by
itself. It simply provides an ____ within which other ____ can do
____ ____.

A

Like a government, it performs no useful function by
itself. It simply provides an environment within which other programs can do
useful work

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

The ____ ____ of the computer varies according to the interface being used. Most ____ ____ sit in front of a PC, consisting of a monitor, keyboard, mouse, and system unit. Such a system is designed for one ____ to ____ its ____.

A

The user’s view of the computer varies according to the interface being used. Most computer users sit in front of a PC, consisting of a monitor, keyboard, mouse, and system unit. Such a system is designed for one user to monopolize its resources.

21
Q

The goal is to maximize the ____ (or play) that
the ____ is ____. In this case, the operating system is designed mostly for ____ ____ ____, with some attention paid to ____ and none paid to ____ ____ —how various ____ and ____ ____ are ____.

A

The goal is to maximize the work (or play) that
the user is performing. In this case, the operating system is designed mostly for ease of use, with some attention paid to performance and none paid to resource utilization—how various hardware and software resources are shared.

22
Q

____ is, of course, important to the ____; but such ____ are ____ for the ____-____ experience rather than the requirements of ____ ____

A

Performance is, of course, important to the user; but such systems are optimized for the single-user experience rather than the requirements of multiple users

23
Q

In other cases, a __ sits at a terminal connected to a ____ or a ____. Other users are accessing the same ____ through other
____. These users share ____ and may exchange ____. The ____ ____ in such cases is designed to maximize ____ ____—
to assure that all available ____ ____, ____, and __ are used ____ and that no ____ user takes more than her ____ ____.

A

In other cases, a user sits at a terminal connected to a mainframe or a minicomputer. Other users are accessing the same computer through other
terminals. These users share resources and may exchange information. The operating system in such cases is designed to maximize resource utilization—
to assure that all available CPU time, memory, and I/O are used efficiently and that no individual user takes more than her fair share.

24
Q

In still other cases, ____ sit at ____ connected to ____ of other ____ and ____ . These users have dedicated ____ at their ____, but they also ____ ____ such as ____ and ____, including ____, ____, and ____ ____. Therefore, their ____ ____ is designed to compromise between ____ ____ and ____ ____.

A

In still other cases, users sit at workstations connected to networks of other workstations and servers. These users have dedicated resources at their disposal, but they also share resources such as networking and servers, including file, compute, and print servers. Therefore, their operating system is designed to compromise between individual usability and resource utilization.

25
Q

From the computer’s point of view, the operating system is the program most intimately involved with the hardware. In this context, we can view an operating system as a ____ ____. A computer system has many ____ that may be required to solve a problem: ____ ____, ____ ____,
____ ____ ____, ____ ____, and so on. The operating system acts as the manager of these ____. Facing numerous and possibly conflicting ____ for ____, the operating system must decide how to ____ them to specific ____ and ____ so that it can operate the computer system ____ and ____. As we have seen, ____ ____ is especially important where many
users access the same ____ or ____.

A

From the computer’s point of view, the operating system is the program most intimately involved with the hardware. In this context, we can view an operating system as a resource allocator. A computer system has many resources that may be required to solve a problem: CPU time, memory space,
file-storage space, I/O devices, and so on. The operating system acts as the manager of these resources. Facing numerous and possibly conflicting requests for resources, the operating system must decide how to allocate them to specific programs and users so that it can operate the computer system efficiently and fairly. As we have seen, resource allocation is especially important where many
users access the same mainframe or minicomputer.

26
Q

A slightly different view of an operating system emphasizes the need to control the various __ ____ and ____ ____. An operating system is a
____ ____. A ____ ____ manages the execution of ____ ____ to prevent ____ and ____ ____ of the computer. It is especially concerned with the operation and control of ____ ____.

A

A slightly different view of an operating system emphasizes the need to control the various I/O devices and user programs. An operating system is a
control program. A control program manages the execution of user programs to prevent errors and improper use of the computer. It is especially concerned with the operation and control of I/O devices.

27
Q

A more common definition, and the one that we usually follow, is that the operating system is the one program running at all times on the computer—usually called the ____.

A

A more common definition, and the one that we usually follow, is that the operating system is the one program running at all times on the computer—usually called the kernel.

28
Q

Along with the kernel, there are two other types of programs: ____ ____, which are associated with the operating system but are not necessarily part of the kernel, and application programs, which include all programs not associated with the operation of the system.

A

Along with the kernel, there are two other types of programs: system programs, which are associated with the operating system but are not necessarily part of the kernel, and application programs, which include all programs not associated with the operation of the system.

29
Q

Mobile operating systems often include not only a core kernel but also ______—a set of software frameworks that provide additional services to application developers.

A

Mobile operating systems often include not only a core kernel but also middleware—a set of software frameworks that provide additional services to application developers.

30
Q

A modern general-purpose computer system consists of one or more ____ and a number of ____ ____ connected through a ____ ____ that provides access to ____ ____. Each ____ ____is in charge of a specific type of ____ (for example, ____ ____, audio devices, or video displays). The ____ and the ____ ____ can execute in ____, competing for ____ ____. To ensure orderly access to the ____ ____, a ____ ____ synchronizes access to the ____.

A

A modern general-purpose computer system consists of one or more CPUs and a number of device controllers connected through a common bus that provides access to shared memory (Figure 1.2). Each device controller is in charge of a specific type of device (for example, disk drives, audio devices, or video displays). The CPU and the device controllers can execute in parallel, competing for memory cycles. To ensure orderly access to the shared memory, a memory controller synchronizes access to the memory.

31
Q

For a computer to start running—for instance, when it is powered up or rebooted—it needs to have an initial program to run. This initial program, or ____ ____, tends to be simple. Typically, it is stored within the computer hardware in ____ ____ (___) or ____ ____ ____ ____ ____ (____), known by the general term ____. It ____ all aspects of the system, from ____ ____ to ____ ____ to ____ ____. The ____ ____ must know how to ____ the ____ ____ and how to start executing that system. To accomplish this goal, the ____ ____ must locate the ____-____ ____ and
____ it into ____.

A

For a computer to start running—for instance, when it is powered up or rebooted—it needs to have an initial program to run. This initial program, or bootstrap program, tends to be simple. Typically, it is stored within the computer hardware in read-only memory (ROM) or electrically erasable programmable read-only memory (EEPROM), known by the general term firmware. It initializes all aspects of the system, from CPU registers to device controllers to memory contents. The bootstrap program must know how to load the operating system and how to start executing that system. To accomplish this goal, the bootstrap program must locate the operating-system kernel and
load it into memory.

32
Q

Once the ____ is loaded and executing, it can start providing ____ to the ____ and its ____. Some ____ are provided outside of the ____, by ____ ____ that are loaded into ____ at boot time to become ____ ____, or ____ ____that run the entire time the ____ is running. On UNIX, the first system process is “___,” and it starts many other ____. Once this phase is complete, the system is ____ ____, and the system ____ for some ____ to occur.

A

Once the kernel is loaded and executing, it can start providing services to the system and its users. Some services are provided outside of the kernel, by system programs that are loaded into memory at boot time to become system processes, or system daemons that run the entire time the kernel is running. On UNIX, the first system process is “init,” and it starts many other daemons. Once this phase is complete, the system is fully booted, and the system waits for some event to occur.

33
Q

The occurrence of an event is usually signaled by an ____ from either the ____ or the ____. ____ may trigger an ____ at any time by sending a signal to the ____, usually by way of the ____ ____. Software may trigger an ____ by executing a ____ ____called a ____ ____ (also called a ____ ____).

A

The occurrence of an event is usually signaled by an interrupt from either the hardware or the software. Hardware may trigger an interrupt at any time by sending a signal to the CPU, usually by way of the system bus. Software may trigger an interrupt by executing a special operation called a system call (also called a monitor call).

34
Q

When the ____ is interrupted, it stops what it is doing and immediately transfers ____ to a ____ ____. The ____ ____usually contains the ____ ____ where the ____ ____ for the interrupt is located. The interrupt ____ ____ executes; on completion, the ____ resumes the ____ ____. A timeline of this operation is shown in Figure 1.3.

A

When the CPU is interrupted, it stops what it is doing and immediately transfers execution to a fixed location. The fixed location usually contains the starting address where the service routine for the interrupt is located. The interrupt service routine executes; on completion, the CPU resumes the interrupted computation. A timeline of this operation is shown in Figure 1.3.

35
Q

____ are an important part of a computer architecture. Each computer design has its own ____ ____ , but several functions are ____. The interrupt must transfer ____ to the appropriate ____ ____ ____. The straightforward method for handling this ____ would be to invoke a generic ____ to examine the ____ ____. The ____, in turn, would call the ____-____ ____. However, ____ must be handled quickly. Since only a predefined number of ____ is possible, a table of ____ to ____ ____ can be used instead to provide the necessary ____. The ____ ____ is called ____ through the ____, with no ____ ____ needed. Generally, the ____ of ____ is ____ in ____ ____ (the first hundred or so locations). These ____ hold the ____ of the ____ ____ ____ for the ____ ____. This ____, or ____ ____ , of ____ is then ____ by a ____ ____ ____, given with the ____ ____, to provide the ____ of the ____ ____ ____ for the ____ ____ . Operating systems as different as Windows and UNIX dispatch ____ in this manner.

A

Interrupts are an important part of a computer architecture. Each computer design has its own interrupt mechanism, but several functions are common. The interrupt must transfer control to the appropriate interrupt service routine. The straightforward method for handling this transfer would be to invoke a generic routine to examine the interrupt information. The routine, in turn, would call the interrupt-specific handler. However, interrupts must be handled quickly. Since only a predefined number of interrupts is possible, a table of pointers to interrupt routines can be used instead to provide the necessary speed. The interrupt routine is called indirectly through the table, with no intermediate routine needed. Generally, the table of pointers is stored in low memory (the first hundred or so locations). These locations hold the addresses of the interrupt service routines for the various devices. This array, or interrupt vector, of addresses is then indexed by a unique device number, given with the interrupt request, to provide the address of the interrupt service routine for the interrupting device. Operating systems as different as Windows and UNIX dispatch interrupts in this manner.

36
Q

The ____ ____ must also save the ____ of the ____ ____. Many old designs simply stored the ____ ____ in a ____ ____ or in a ____ ____ by the ____ ____. More recent ____ store the ____ ____ on the ____ ____. If the ____ ____ needs to modify the ____ ____ —for instance, by modifying ____ ____ —it must explicitly save the ____ ____ and then restore that ____ before returning. After the ____ is ____, the ____ ____ ____ is ____ into the ____ ____ , and the ____ computation ____ as though the ____ had not occurred.

A

The interrupt architecture must also save the address of the interrupted instruction. Many old designs simply stored the interrupt address in a fixed location or in a location indexed by the device number. More recent architectures store the return address on the system stack. If the interrupt routine needs to modify the processor state—for instance, by modifying register values—it must explicitly save the current state and then restore that state before returning. After the interrupt is serviced, the saved return address is loaded into the program counter, and the interrupted computation resumes as though the interrupt had not occurred.

37
Q

The ____ can load ____ only from ____, so any programs to run must be stored there. General-purpose computers run most of their programs from
____ ____ , called ____ ____ (also called ____ ____ ____, or ____). ____ ____ commonly is implemented in a semiconductor
technology called ____ ____ ____ ____ (___).

A

The CPU can load instructions only from memory, so any programs to run must be stored there. General-purpose computers run most of their programs from
rewritable memory, called main memory (also called random-access memory, or RAM). Main memory commonly is implemented in a semiconductor
technology called dynamic random-access memory (DRAM).

38
Q

All forms of memory provide an ____ of ____. Each ____ has its own ____. Interaction is achieved through a sequence of ____ or ____ instructions to specific ____ ____. The ____ instruction moves a ____ or ____ from main memory to an ____ ____ within the ___, whereas the ____ instruction moves the ____ of a ____ to main memory. Aside from explicit ____ and ____, the __ automatically ___ instructions from ____ ____ for execution.

A

All forms of memory provide an array of bytes. Each byte has its own address. Interaction is achieved through a sequence of load or store instructions to specific memory addresses. The load instruction moves a byte or word from main memory to an internal register within the CPU, whereas the store instruction moves the content of a register to main memory. Aside from explicit loads and stores, the CPU automatically loads instructions from main memory for execution.

39
Q

A typical instruction–execution cycle, as executed on a system with a von Neumann architecture, first fetches an instruction from ____ and ____ that ____ in the ____ ____. The ____ is then ____ and may cause ____ to be ____ from ____ and ____ in some ____ ____. After the ____ on the ____ has been ____, the result may be ____ back in ____. Notice that the ____ unit sees only a stream of ____ ____. It does not know how they are generated (by the ____ ____, ____, ____, ____ ____, or some other means) or what they are for (____ or ____). Accordingly, we can ignore how a ____ ____ is generated by a ____ . We are interested only in the sequence of ____ ____ generated by the ____ ____

A

A typical instruction–execution cycle, as executed on a system with a von Neumann architecture, first fetches an instruction from memory and stores that instruction in the instruction register. The instruction is then decoded and may cause operands to be fetched from memory and stored in some internal register. After the instruction on the operands has been executed, the result may be stored back in memory. Notice that the memory unit sees only a stream of memory addresses. It does not know how they are generated (by the instruction counter, indexing, indirection, literal addresses, or some other means) or what they are for (instructions or data). Accordingly, we can ignore how a memory address is generated by a program. We are interested only in the sequence of memory addresses generated by the running program

40
Q

Ideally, we want the programs and data to reside in main memory permanently. This arrangement usually is not possible for the following two reasons:

  1. ….
  2. ….

Thus, most computer systems provide ____ ____ as an extension of main memory. The main requirement for ____ ____ is that it be able to hold ____ ____ of ____ permanently.

A

Ideally, we want the programs and data to reside in main memory permanently. This arrangement usually is not possible for the following two reasons:

  1. Main memory is usually too small to store all needed programs and data permanently.
  2. Main memory is a volatile storage device that loses its contents when power is turned off or otherwise lost.

Thus, most computer systems provide secondary storage as an extension of main memory. The main requirement for secondary storage is that it be able to hold large quantities of data permanently.

41
Q

The most common secondary-storage device is a ____ ____ , which provides storage for both ____ and ____. Most programs (system and application) are stored on a ____ until they are ____ into ____. Many programs then use the ____ as both the ____ and the ____ of their ____. Hence, the proper management of ____ ____ is of central importance to a computer system, as we discuss in Chapter 10

A

The most common secondary-storage device is a magnetic disk, which provides storage for both programs and data. Most programs (system and application) are stored on a disk until they are loaded into memory. Many programs then use the disk as both the source and the destination of their processing. Hence, the proper management of disk storage is of central importance to a computer system, as we discuss in Chapter 10

42
Q

The wide variety of storage systems can be organized in a hierarchy (Figure1.4) according to ____ and ____. The higher levels are ____, but they are ____. As we move down the hierarchy, the cost per bit generally ____, whereas the access time generally ____. This trade-off is reasonable; if a given storage system were both ____ and less ____ than another—other properties being the same—then there would be no reason to use the ____, more ____ memory. In fact, many early storage devices, including ____ ____ and ____ ____, are relegated to museums now that ____ ____ and ____ ____have become ____ and ____ . The top four levels of memory in Figure 1.4 may be constructed using ____ ____.

A

The wide variety of storage systems can be organized in a hierarchy (Figure1.4) according to speed and cost. The higher levels are expensive, but they are fast. As we move down the hierarchy, the cost per bit generally decreases, whereas the access time generally increases. This trade-off is reasonable; if a given storage system were both faster and less expensive than another—other properties being the same—then there would be no reason to use the slower, more expensive memory. In fact, many early storage devices, including paper tape and core memories, are relegated to museums now that magnetic tape and semiconductor memory have become faster and cheaper. The top four levels of memory in Figure 1.4 may be constructed using semiconductor memory.

43
Q

In addition to differing in speed and cost, the various storage systems are either ____ or ____. As mentioned earlier, ____ storage loses its contents when the ____ to the device is removed. In the absence of expensive ____ and ____ ____ systems, data must be written to ____ storage for ____. In the hierarchy shown in Figure 1.4, the storage systems above the solid-state disk are ____, whereas those including the ____ ____ ____and below are ____

A

In addition to differing in speed and cost, the various storage systems are either volatile or nonvolatile. As mentioned earlier, volatile storage loses its contents when the power to the device is removed. In the absence of expensive battery and generator backup systems, data must be written to nonvolatile storage for safekeeping. In the hierarchy shown in Figure 1.4, the storage systems above the solid-state disk are volatile, whereas those including the solid-state disk and below are nonvolatile

44
Q

____ ____ ____ have several variants but in general are faster than ____ ____ and are ____ . One type of ____ ____ ____ stores ____ in a large ____ ____ during normal operation but also contains a hidden ____ ____ ____ and a battery for backup power. If external power is interrupted, this ____ ____ ____ controller copies the data from ____ to the ____ ____. When external power is restored, the controller copies the ____ back into ____. Another form of ____ ____ ____ is ____ ____, which is popular in ____ and ____ ____ ____ (___), in ____, and increasingly for storage on ____ ____ ____ . ____ ____ is slower than ____ but needs no power to retain its contents. Another form of nonvolatile storage is ____, which is ____ with battery backup power. This memory can be as fast as ____ and (as long as the battery lasts) is ____.

A

Solid-state disks have several variants but in general are faster than magnetic disks and are nonvolatile. One type of solid-state disk stores data in a large DRAM array during normal operation but also contains a hidden magnetic hard disk and a battery for backup power. If external power is interrupted, this solid-state disk’s controller copies the data from RAM to the magnetic disk. When external power is restored, the controller copies the data back into RAM. Another form of solid-state disk is flash memory, which is popular in cameras and personal digital assistants (PDAs), in robots, and increasingly for storage on general-purpose computers. Flash memory is slower than DRAM but needs no power to retain its contents. Another form of nonvolatile storage is NVRAM, which is DRAM with battery backup power. This memory can be as fast as DRAM and (as long as the battery lasts) is nonvolatile.

45
Q

The design of a complete memory system must balance all the factors just discussed: it must use only as much ______ memory as necessary while providing as much ______ , ______ ______ as possible. ______ can be installed to improve performance where a large ______ in access ____ or ___ ____ exists between two components.

A

The design of a complete memory system must balance all the factors just discussed: it must use only as much expensive memory as necessary while providing as much inexpensive, nonvolatile memory as possible. Caches can be installed to improve performance where a large disparity in access time or
transfer rate exists between two components.

46
Q

A general-purpose computer system consists of CPUs and multiple device controllers that are connected through a ______ ___. Each device controller is in charge of a specific type of _____. Depending on the ______, more than one ______may be attached. For instance, seven or more ______ can be attached to the ______ ______ ______ ______ (_____) controller. A ______ ______ maintains some ______ ______ ______ and a set of ______ ______ ______. The ______ ______ is responsible for moving the between the ______ ______ that it controls and its ______ ______ ______ ______. Typically, operating systems have a ______ ______ for each ______ ______. This ______ ______ understands the ______ ______ and provides the rest of the operating system with a ______ ______ to the device.

A

A general-purpose computer system consists of CPUs and multiple device controllers that are connected through a common bus. Each device controller is in charge of a specific type of device. Depending on the controller, more than one device may be attached. For instance, seven or more devices can be attached to the small computer-systems interface (SCSI) controller. A device controller maintains some local buffer storage and a set of special-purpose registers. The device controller is responsible for moving the data between the peripheral devices that it controls and its local buffer storage. Typically, operating systems have a device driver for each device controller. This device driver understands the device controller and provides the rest of the operating system with a uniform interface to the device.

47
Q

To start an I/O operation, the ______ ______ loads the appropriate ______ within the ______ ______. The ______ ______, in turn, examines the ______ of these ______ to determine what action to take (such as “read a character from the keyboard”). The ______ starts the transfer of ______ from the ______ to its ______ ______. Once the transfer of ______ is complete, the ______ ______ informs the ______ ______ via an ______ that it has finished its ______. The ______ ______ then returns ______ to the operating system, possibly returning the ______ or a ______ to the ______ if the operation was a ____. For other operations, the ______ ______ returns ______ ______ .

A

To start an I/O operation, the device driver loads the appropriate registers within the device controller. The device controller, in turn, examines the contents of these registers to determine what action to take (such as “read a character from the keyboard”). The controller starts the transfer of data from the device to its local buffer. Once the transfer of data is complete, the device controller informs the device driver via an interrupt that it has finished its operation. The device driver then returns control to the operating system, possibly returning the data or a pointer to the data if the operation was a read. For other operations, the device driver returns status information.

48
Q

This form of interrupt-driven I/O is fine for moving small amounts of data but can produce high overhead when used for bulk data movement such as ___ __. To solve this problem, ____ _____ _____(___) is used. After setting up _____, _____, and _____ for the _____ _____, the device controller transfers an entire block of data directly to or from its own _____ _____ to _____ , with no intervention by the ____. Only one _____ is generated per _____, to tell the _____ _____ that the operation has completed, rather than the one _____ per ___ generated for low-speed _____. While the _____ _____ is performing these operations, the _____ is available to accomplish other ____.

A

This form of interrupt-driven I/O is fine for moving small amounts of data but can produce high overhead when used for bulk data movement such as disk I/O. To solve this problem, direct memory access (DMA) is used. After setting up buffers, pointers, and counters for the I/O device, the device controller transfers an entire block of data directly to or from its own buffer storage to memory, with no intervention by the CPU. Only one interrupt is generated per block, to tell the device driver that the operation has completed, rather than the one interrupt per byte generated for low-speed devices. While the device controller is performing these operations, the CPU is available to accomplish other work.

49
Q

Some high-end systems use _____ rather than _____ _____. On these systems, multiple _____ can talk to other _____ concurrently, rather than competing for _____ on a _____ _____. In this case, _____ is even more effective. Figure 1.5 shows the interplay of all _____ of a computer system

A

Some high-end systems use switch rather than bus architecture. On these systems, multiple components can talk to other components concurrently, rather than competing for cycles on a shared bus. In this case, DMA is even more effective. Figure 1.5 shows the interplay of all components of a computer
system