Chapter 1 - Operating Systems
list
A ______ represents a collection of data values as a sequence.
tree
A _______ is a data structure that can be used to represent data hierarchically.
stack
A _______ is a sequentially ordered data structure that uses the last in, first out (LIFO) principle for adding and removing items, meaning that the last item placed onto a stack is the first item removed.
real-time system
A ________ is used when rigid time requirements have been placed on the operation of a processor or the flow of data. Embedded systems almost always run these.
network operating system
A ________1________ is an operating system that provides features such as file sharing across the network, along with a communication scheme that allows different processes on different computers to exchange messages. A computer running a _______1_______ acts autonomously from all other computers on the network, although it is aware of the network and is able to communicate with other networked computers
bitmap
A _________ is a string of n binary digits that can be used to represent the status of n items.
variable timer
A _________ is generally implemented by a fixed-rate clock and a counter. The operating system sets the counter. Every time the clock ticks, the counter is decremented. When the counter reaches 0, an interrupt occurs
network
A _________, in the simplest terms, is a communication path between two or more systems.
queue
A __________, in contrast, is a sequentially ordered data structure that uses the first in, first out (FIFO) principle: items are removed from a queue in the order in which they were inserted.
local-area
A ___________ network connects computers within a room, a building, or a campus
metropolitan-area
A ____________ network could link buildings within a city.
hash function
A ____________ takes data as its input, performs a numeric operation on this data, and returns a numeric value. This numeric value can then be used as an index into a table (typically an array) to quickly retrieve the data
wide-area
A _______________ network usually links buildings, cities, or countries.
interpretation
A common example of emulation occurs when a computer language is not compiled to native code but instead is either executed in its high-level form or translated to an intermediate form. This is known as __________________.
hardware operating system application programs users
A computer system can be divided roughly into four components: the ________, the ___________, the ___________ __________, and the ________.
disk blocks
A medium-sized disk drive might be divided into several thousand individual units, called _________.
kernl
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 __________.
cores multicore
A recent trend in CPU design is to include multiple computing _________ on a single chip. Such multiprocessor systems are termed _________. They can be more efficient than multiple chips with single cores because on-chip communication is faster than between-chip communication. In addition, one chip with multiple cores uses significantly less power than multiple single-core chips.
program counter
A single-threaded process has one __________ specifying the next instruction to execute.
von neumann architecture instruction register
A typical instruction-execution cycle, as executed on a system with a ___________, first fetches an instruction from memory and stores that instruction in the _______________. 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.
system programs application programs
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 _____________, which include all programs not associated with the operation of the system.
operating system
An _________________ 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
convenient efficient
An amazing aspect of operating systems is how they vary in accomplishing these tasks. Mainframe operating systems are designed primarily to optimize utilization of hardware. Personal computer (PC) operating systems support complex games, business applications, and everything in between. Operating systems for mobile computers provide an environment in which a user can easily interface with the computer to execute programs. Thus, some operating systems are designed to be __________, others to be __________, and others to be some combination of the two.
control program
An operating system is a _____1_____. A _____1_____ 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.
NVRAM
Another form of nonvolatile storage is _________, which is DRAM with battery backup power. This memory can be as fast as DRAM and (as long as the battery lasts) is nonvolatile
clustered system loosely coupled
Another type of multiprocessor system is a ___________, which gathers together multiple CPUs. Clustered systems differ from the multiprocessor systems described in Section 1.3.2 in that they are composed of two or more individual systems—or nodes—joined together. Such systems are considered ___________.
volatile nonvolatile
As mentioned earlier, _________ 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 ____________ storage for safekeeping
cache management
Because caches have limited size, ______________ is an important design problem. Careful selection of the cache size and of a replacement policy can result in greatly increased performance
storage-area networks
Cluster technology is changing rapidly. Some cluster products support dozens of systems in a cluster, as well as clustered nodes that are separated by miles. Many of these improvements are made possible by ______1______, which allow many systems to attach to a pool of storage. If the applications and their data are stored on the ______1______, then the cluster software can assign the application to run on any host that is attached to the _____1_____. If the host fails, then any other host can take over. In a database cluster, dozens of hosts can share the same database, greatly increasing performance and reliability
asymmetric clustering hot-standby
Clustering can be structured asymmetrically or symmetrically. In ___________, one machine is in __________ mode while the other is running the applications. The one that isn't running applications does nothing but monitor the active server until it fails. Once this happens it'll take over as the active server.
high-availability
Clustering is usually used to provide ___________ service—that is, service will continue even if one or more systems in the cluster fail. Generally, we obtain this by adding a level of redundancy in the system.
blade servers
Finally, ___________ are a relatively recent development in which multiple processor boards, I/O boards, and networking boards are placed in the same chassis. The difference between these and traditional multiprocessor systems is that each blade-processor board boots independently and runs its own operating system.
bootstrap program read-only memory electrically erasable programmable read-only memory firmware
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 initializes all aspects of the system, from CPU registers to device controllers to memory contents
resource allocator
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 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 assign them to specific programs and users so that it can operate the computer system efficiently and fairly. This is especially important where many users access the same mainframe or minicomputer.
dynamic random-access memory random-access memory
General-purpose computers run most of their programs from re-writable memory, called main memory (also called ____________). Main memory commonly is implemented in a semiconductor technology called ________________.
main memory is usually too small to store all needed programs and data permanently main memory is a volatile storage device that loses its contents when power is turned off secondary storage
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 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.
symmetric clustering
In ________________, two or more hosts are running applications and are monitoring each other. This structure is obviously more efficient, as it uses all of the available hardware. However it does require that more than one application be available to run.
mainframe minicomputer
In other cases, a user sits at a terminal connected to a _________ or a __________. 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.
workstations servers
In still other cases, users sit at ___________ connected to networks of other workstations and __________. 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.
moore's law
In the 1960s, __________ predicted that the number of transistors on an integrated circuit would double every eighteen months, and that prediction has held true.
escalate privilages
In the course of normal system use, the user ID and group ID for a user are sufficient. However, a user sometimes needs to _____________ to gain extra permissions for an activity
security
It is the job of __________ to defend a system from external and internal attacks
tertiary storage devices
Magnetic tape drives and their tapes and CD and DVD drives and platters are typical __________.
firewalls
Many homes use _________ to protect their networks from security breaches. It is a network security system, hardware or software based, that uses rules to control incoming and outgoing network traffic.
middleware
Mobile operating systems often include not only a core kernel but also ___________—a set of software frameworks that provide additional services to application developers. It supports databases, multimedia, and graphics (to name a only few).
increased throughput economy of scale increased reliability
Multiprocessor systems have three main advantages: 1. 2. 3.
single-processor system
On a _____________, there is one main CPU capable of executing a general-purpose instruction set, including instructions from user processes.
registers cache main memory
On the storage device hierarchy which 3 devices are volatile?
solid-state disk magnetic disk optical disk magnetic tapes
On the storage device hierarchy which 4 devices are nonvolatile?
CPU memory I/O devices
Operating systems hardware include the ___________, the __________, and the _____________.
compute servers file servers
Server systems can be broadly categorized as _________ and _________.
high-performance computing
Since a cluster consists of several computer systems connected via a network, clusters can also be used to provide ____________________________ environments. Such systems can supply significantly greater computational power than single-processor or even SMP systems because they can run an application concurrently on all computers in the cluster.
interrupt vector
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 __________, 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
cache coherency
Since the various CPUs can all execute in parallel, we must make sure that an update to the value of A in one cache is immediately reflected in all other caches where A resides. This situation is called _____________, and it is usually a hardware issue
job pool
Since, in general, main memory is too small to accommodate all jobs, the jobs are kept initially on the disk in the _____________.
system processes system daemons
Some services are provided outside of the kernel, by system programs that are loaded into memory at boot time to become ____________, or ____________ that run the entire time the kernel is running
compute-server system
The ________ provides an interface to which a client can send a request to perform an action (for example, read data). In response, the server executes the action and sends the results to the client. A server running a database that responds to client requests for data is an example of such a system.
application programs
The _________1_________—such as word processors, spreadsheets, compilers, and Web browsers—define the ways in which these resources are used to solve users' computing problems. The operating system controls the hardware and coordinates its use among the various _______1_______ for the various users.
file-server system
The __________ provides a file-system interface where clients can create, update, read, and delete files. An example of such a system is a web server that delivers files to clients running web browsers.
gnu general public license
The _____________ codifies copylefting and is a common license under which free software is released. Fundamentally, it requires that the source code be distributed with any binaries and that any changes made to the source code be released under the same license.
multiple-processor systems boss
The _________________ in use today are of two types. Some systems use asymmetric multiprocessing, in which each processor is assigned a specific task. A boss processor controls the system; the other processors either look to the ____1____ for instruction or have predefined tasks. The ____1____ processor schedules and allocates work to the worker processors
graceful degradation fault tolerant
The ability to continue providing service proportional to the level of surviving hardware is called ___________. Some systems go beyond this and are called ________, because they can suffer a failure of any single component and still continue operation.
graceful degradation fault tolerant
The ability to continue providing service proportional to the level of surviving hardware is called _____________. Some systems go beyond this and are called ____________, because they can suffer a failure of any single component and still continue operation.
magnetic disk
The most common secondary-storage device is a ____________, which rovides 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.
symmetric multiprocessing
The most common systems use _________, in which each processor performs all tasks within the operating system. This means that all processors are peers; no boss-worker relationship exists between processors
asymmetric multiprocessing boss
The multiple-processor systems in use today are of two types. Some systems use ______________, in which each processor is assigned a specific task. A ________ processor controls the system; the other processors either look to it for instruction or have predefined tasks.
interrupt system call
The occurrence of an event is usually signaled by an _____1____ from either the hardware or the software. Hardware may trigger an ______1_____ at any time by sending a signal to the CPU, usually by way of the system bus. Software may trigger an ____1_____ by executing a special operation called a ________.
free-space management storage allocation disk scheduling
The operating system is responsible for the following activities in connection with disk management: 1. 2. 3.
creating and deleting files creating and deleting directories to organize files supporting primitives for manipulating files and directories mapping files onto secondary storage backing up files on stable storage media
The operating system is responsible for the following activities in connection with file management: 1. 2. 3. 4. 5.
scheduling processes and threads on the cpu creating and deleting both user and system processes suspending and resuming processes providing mechanisms for process synchronization prividing mechanisms for process communication
The operating system is responsible for the following activities in connection with process management: 1. 2. 3. 4. 5.
touch screen
The user interface for mobile computers generally features a _____________, where the user interacts with the system by pressing and swiping fingers across the screen rather than using a physical keyboard and mouse.
ease of use resource utilization
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. The goal is to maximize the work (or play) that the user is performing. In this case, the operating system is designed mostly for __________, with some attention paid to performance and none paid to ____________—how various hardware and software resources are shared. 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.
direct memory access
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, _________ 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
parallelization
This involves a technique known as ____________, which divides a program into separate components that run in parallel on individual computers in the cluster.
distributed lock manager
To provide this shared access, the system must also supply access control and locking to ensure that no conflicting operations occur. This function, commonly known as a _______________, is included in some cluster technology
public cloud private cloud hybrid cloud software as a service platform as a service infrastructure a as service
Types of cloud computing: 1. 2. 3. 4. 5. 6.
device controller
Typically, operating systems have a device driver for each _____1_____. This device driver understands the _____1_____ and provides the rest of the operating system with a uniform interface to the device.
environment
We can also view a computer system as consisting of hardware, software, and data. The operating system provides the means for proper use of these resources in the operation of the computer system. An operating system is similar to a government. Like a government, it performs no useful function by itself. It simply provides an ____________ within which other programs can do useful work.
timer
We must ensure that the operating system maintains control over the CPU. We cannot allow a user program to get stuck in an infinite loop or to fail to call system services and never return control to the operating system. To accomplish this goal, we can use a _____.
multiprocessor systems
Within the past several years, __________(also known as parallel systems or multicore systems) have begun to dominate the landscape of computing. Such systems have two or more processors in close communication, sharing the computer bus and sometimes the clock, memory, and peripheral devices.
cache
_____1_____ is an important principle of computer systems. How it works:. Information is normally kept in some storage system (such as main memory). As it is used, it is copied into a faster storage system on a temporary basis. When we need a particular piece of information, we first check whether it is in the _____1_____. If it is, we use the information directly from there. If it is not, we use the information from the source, putting a copy in the ___1___ under the assumption that we will need it again soon.
Solid-state disks
______1_____ have several variants but in general are faster than magnetic disks and are nonvolatile .Another form of ______1______ is flash memory,
tcp/ip
_________ is the most common network protocol, and it provides the fundamental architecture of the Internet.
open-source
_________ operating systems are those available in source-code format rather than as compiled binary code.
multiprogramming
___________ increases CPU utilization by organizing jobs (code and data) so that the CPU always has one to execute.
emulation
___________ is used when the source CPU type is different from the target CPU type. For example, when Apple switched from the IBM Power CPU to the Intel x86 CPU for its desktop and laptop computers, it included an emulation facility called "Rosetta," which allowed applications compiled for the IBM CPU to run on the Intel CPU
free software foundation
___________ was established with the goal of encouraging the free exchange of software source code and the free use of that software.
uniform memory access non-uniform memory access
____________ is defined as the situation in which access to any RAM from any CPU takes the same amount of time. With ________________, some parts of memory may take longer to access than other parts, creating a performance penalty. Operating systems can minimize the penalty through resource management.
protection
____________, then, is any mechanism for controlling the access of processes or users to the resources defined by a computer system.
beowulf clusters
_____________ are designed to solve high-performance computing tasks. _______________ consist of commodity hardware—such as personal computers—connected via a simple local-area network. No single specific software package is required to construct a cluster
virtualization
______________ is a technology that allows operating systems to run as applications within other operating systems
closed- source
________________ operating systems are available in compiled binary code.