Chapter 1 - 6 Operating Systems
The key to the success of Linux has been its character as a free software package available under the auspice of the ____________.
Free Software Foundation
________ tables are used to keep track of both main (real) and secondary (virtual) memory.
Memory
A monitor supports synchronization by the use of _________ that are contained within the monitor and accessible only within the monitor.
condition variables
A ________ resource is one that can be created and destroyed.
consumable
The central themes of operating system design are all concerned with the management of processes and threads.
TRUE
The dining philosopher's problem can be representative of problems dealing with the coordination of shared resources which may occur when an application includes concurrent threads of execution.
TRUE
The first step in designing an OS to control processes is to describe the behavior that we would like the processes to exhibit.
TRUE
The functioning of a process, and the output it produces, must be independent of the speed at which its execution is carried out relative to the speed of other concurrent processes.
TRUE
The interrupt can occur at any time and therefore at any point in the execution of a user program.
TRUE
The operating system acts as an interface between the computer hardware and the human user.
TRUE
The potential performance benefits of a multicore organization depend on the ability to effectively exploit the parallel resources available to the application.
TRUE
The principal function of the OS is to create, manage, and terminate processes.
TRUE
The process control block is the key tool that enables the OS to support multiple processes and to provide for multiprocessing.
TRUE
The processor controls the operation of the computer and performs its data processing functions
TRUE
Two or more processes can cooperate by means of simple signals, such that a process can be forced to stop at a specified place until it has received a specific signal.
TRUE
Virtualization technology enables a single PC or server to simultaneously run multiple operating systems or multiple sessions of a single OS.
TRUE
When processes cooperate by communication, the various processes participate in a common effort that links all of the processes.
TRUE
Windows is an example of a kernel-level thread approach.
TRUE
Windows process design is driven by the need to provide support for a variety of OS environments.
TRUE
In a uniprocessor system, multiprogramming increases processor efficiency by:
Taking advantage of time wasted by long wait interrupt handling
The six states of a Windows thread are: Ready, Standby, Running, Waiting, Transition, and ___________.
Terminated
Once the processes have progressed into the _________, those processes will deadlock.
fatal region
Instruction processing consists of two steps:
fetch and execute
The _________ tables provide information about the existence of files, their location on secondary memory, their current status, and other attributes.
file
It is the principal responsibility of the _________ to control the execution of processes.
OS
The ________ is a layer of software between the applications and the computer hardware that supports applications and utilities.
OS
The Clouds operating system implements the concept of a thread as primarily an entity that can move among address spaces which represents the ___________ Thread-to-Process relationship.
One-to-Many
The principal disadvantage of the _______ approach is that the transfer of control from one thread to another within the same process requires a mode switch to the kernel.
kernel-level thread
There are two broad categories of thread implementation: user-level threads and ____________.
kernel-level threads
A situation in which a runnable process is overlooked indefinitely by the scheduler, although it is able to proceed, is ____________.
starvation
In the case of competing processes three control problems must be faced: mutual exclusion, deadlock, and _________.
starvation
The ________ of the system reflects the current allocation of resources to processes.
state
A semaphore whose definition includes the policy that the process that has been blocked the longest is released from the queue first is called a __________ semaphore.
strong
"The process was placed in a suspended state by an agent; either itself, a parent process, or the OS, for the purpose of preventing its execution," is a characteristic of a ______ process.
suspended
In a _______ multiprocessor all processors can perform the same functions so the failure of a single processor does not halt the machine.
symmetric
A __________ organization has a number of potential advantages over a uniprocessor organization including performance, availability, incremental growth, and scaling.
symmetric multiprocessor
It is necessary to ___________ the activities of various threads so they do not interfere with each other or corrupt data structures.
synchronize
A process or task in Linux is represented by a ___________ data structure.
task_struct
In a time-sharing, multiprogramming system, multiple users simultaneously access the system through _________.
terminals
A semaphore that does not specify the order in which processes are removed from the queue is a _________ semaphore.
weak
An atomic operation executes without interruption and without interference.
TRUE
An example of a multicore system is the Intel Core i7.
TRUE
An example of an application that could make use of threads is a file server.
TRUE
Any alteration of a resource by one thread affects the environment of the other threads in the same process.
TRUE
As an extension of the principles of modular design and structured programming, some applications can be effectively programmed as a set of concurrent processes.
TRUE
Atomicity guarantees isolation from concurrent processes.
TRUE
Both batch processing and time sharing use multiprogramming.
TRUE
Cache memory is invisible to the OS.
TRUE
Deadlock avoidance requires knowledge of future process resource requests.
TRUE
Deadlock is permanent because none of the events is ever triggered.
TRUE
Digital Signal Processors deal with streaming signals such as audio and video.
TRUE
For deadlock to occur, there must not only be a fatal region, but also a sequence of resource requests that has led into the fatal region.
TRUE
If a process is swapped out, all of its threads are necessarily swapped out because they all share the address space of the process.
TRUE
If a system does not employ virtual memory each process to be executed must be fully loaded into main memory.
TRUE
If access to a resource requires mutual exclusion then mutual exclusion must be supported by the OS.
TRUE
In a multithreaded environment there are separate stacks for each thread, as well as a separate control block for each thread.
TRUE
In a pure ULT facility, all of the work of thread management is done by the application, and the kernel is not aware of the existence of threads.
TRUE
In a time sharing system, a user's program is preempted at regular intervals, but due to the relatively slow human reaction time this occurrence is usually transparent to the user.
TRUE
Interrupts are provided primarily as a way to improve processor utilization.
TRUE
It is possible for a communications interrupt to occur while a printer interrupt is being processed.
TRUE
On of the driving forces in operating system evolution is advancement in the underlying hardware technology.
TRUE
On of the most common problems faced in concurrent processing is the producer/consumer problem.
TRUE
Processes need to be synchronized to enforce mutual exclusion.
TRUE
The OS frequently relinquishes control and must depend on the processor to allow it to regain control.
TRUE
The OS masks the details of the hardware from the programmer and provides the programmer with a convenient interface for using the system.
TRUE
The OS may create a process on behalf of an application.
TRUE
The OS may preempt the second process and require it to release its resources if a process requests a resource that is currently held by another process.
TRUE
The OS may suspend a process if it detects or suspects a problem.
TRUE
The OS performs a protection function to prevent unwanted interference between processes with respect to resources.
TRUE
The case of cooperation by sharing covers processes that interact with other processes without being explicitly aware of them.
TRUE
A _______ is a data type that is used to block a process or thread until a particular condition is true.
condition variable
The _________ chooses which block to replace when a new block is to be loaded into the cache and the cache already has all slots filled with other blocks.
replacement algorithm
The portion of the monitor that is always in main memory and available for execution is referred to as the _____________.
resident monitor
The ________ is a directed graph that depicts a state of the system of resources and processes, with each process and each resource represented by a node.
resource allocation graph
A ______ resource is one that can be safely used by only one process at a time and is not depleted by that use.
reusable
Examples of _______ include processors, I/O channels, main and secondary memory, devices, and data structures such as files, databases, and semaphores.
reusable resources
A common strategy to give each process in the queue some time in turn is referred to as a ___________ technique.
round robin
The process is said to be operating in a _________ fashion if each process in the queue is given a certain amount of time, in turn, to execute and then returned to the queue, unless blocked.
round robin
External, nonvolatile memory is also referred to as _________ or auxiliary memory.
secondary memory
The _________ Windows Process Object Attribute describes who created an object, who can gain access to or use the object, and who is denied access to the object.
security descriptor
A ___________ is an integer value used for signaling among processes.
semaphore
Two major problems with early serial processing systems were scheduling and ____________.
setup time
The fastest form of interprocess communication provided in UNIX is _____________.
shared memory
A _________ is a software mechanism that informs a process of the occurrence of asynchronous events.
signal
The traditional approach of a single thread of execution per process, in which the concept of a thread is not recognized, is referred to as a ______________.
single-threaded approach
The processor itself provides only limited support for multiprogramming, and _______ is needed to manage the sharing of the processor and other resources by multiple applications at the same time.
software
The term _________ refers to a technique in which a process can do nothing until it gets permission to enter its critical section but continues to execute an instruction or set of instructions that tests the appropriate variable to gain entrance.
spin waiting
A __________ is a mutual exclusion mechanism in which a process executes in an infinite loop waiting for the value of a lock variable to indicate availability
spinlock
The most common technique used for protecting a critical section in Linux is the ____________.
spinlock
A windows process must contain at least ________ thread(s) to execute.
1
A total of _________ process states are recognized by the UNIX SVR4 operating system.
9
For efficiency, applications should be written directly for a given hardware platform.
FALSE
__________ is concerned with the proper verification of the identity of users and the validity of messages or data.
Authenticity
The principal objective of __________ is to maximize processor use.
Batch Multiprogramming
A process is in the ______ state when it is in main memory and awaiting an event.
Blocked
A process is in the ________ state when it is in secondary memory and awaiting an event.
Blocked/Suspended
Small, fast memory located between the processor and main memory is called:
Cache memory
One of the first time-sharing operating systems to be developed was the ______________.
Compatible Time-Sharing System
Security and protections as it relates to operating systems is grouped into four categories: Availability, Data integrity, Authenticity, and __________.
Confidentiality
__________ is more efficient than interrupt-driven or programmed I/O for a multiple-word I/O transfer.
Direct memory access
A process that is not in main memory is immediately available for execution, regardless of whether or not it is awaiting an event.
FALSE
A process that is waiting for access to a critical section does not consume processor time.
FALSE
An indirect method of deadlock prevention is to prevent the occurrence of a circular wait.
FALSE
An unsafe state is one in which there is at least one sequence of resource allocations to processes that does not result in a deadlock.
FALSE
As a default, the kernel dispatcher uses the policy of hard affinity in assigning threads to processors.
FALSE
Concurrent processes do not come into conflict with each other when they are competing for the use of the same resource.
FALSE
Deadlock avoidance is more restrictive than deadlock prevention.
FALSE
If there is an application or function that should be implemented as a set of related units of execution, it is far more efficient to do so as a collection of separate processes rather than a collection of threads.
FALSE
In a two-level memory hierarchy the Hit Ratio is defined as the fraction of all memory accesses found in the slower memory.
FALSE
Interrupts, signals, messages, and information in I/O buffers are all examples of reusable resources.
FALSE
It is not the responsibility of the operating system to control the execution of processes.
FALSE
It is possible for one process to lock the mutex and for another process to unlock it.
FALSE
It is possible in a single-processor system to not only interleave the execution of multiple processes but also overlap them
FALSE
It takes less time to terminate a process than a thread.
FALSE
On a uniprocessor, multiprogramming does not enable the interleaving of multiple threads within multiple processes.
FALSE
Over the years memory access speed has consistently increased more rapidly than processor speed.
FALSE
Race condition is a situation in which two or more processes continuously change their states in response to changes in the other process(es) without doing any useful work.
FALSE
Swapping is not an I/O operation so it will not enhance performance.
FALSE
Termination of a process does not terminate all threads within that process.
FALSE
The ABI gives a program access to the hardware resources and services available in the system through the user ISA.
FALSE
The Program Status Word contains status information in the form of condition codes, which are bits typically set by the programmer as a result of program operation.
FALSE
The fetched instruction is loaded into the Program Counter.
FALSE
The phrase "control is passed to a job" means that the processor is now fetching and executing instructions from the monitor program.
FALSE
The principle objective of Batch Multiprogramming is to minimize response time.
FALSE
The process control block is the least important data structure in an OS.
FALSE
The processor itself is not a resource so the OS is not involved in determining how much of the processor time is devoted to the execution of a user program.
FALSE
The sharing of main memory among processes is useful to permit efficient and close interaction among processes because such sharing does not leads to many problems.
FALSE
The unit of dispatching is usually referred to as a process or task.
FALSE
The user has direct access to the processor with batch-processing type OS.
FALSE
Uniprogramming typically provides better utilization of system resources than multiprogramming.
FALSE
With interrupts, the processor can not be engaged in executing other instructions while an I/O operation is in progress.
FALSE
The _________ interface is the interface that is the boundary between hardware and software.
ISA
The fetched instruction is loaded into the _________.
Instruction Register (IR)
A special type of programming language used to provide instructions to the monitor is __________.
JCL
The _________ are the fundamental entities that can be scheduled and dispatched to run on one of the system processors.
Kernel threads
___________ was designed to keep the processor and I/O devices, including storage devices, simultaneously busy to achieve maximum efficiency.
Multiprogramming
________ refers to the ability of an OS to support multiple, concurrent paths of execution within a single process.
Multithreading
__________ is a technique in which a process, executing an application, is divided into threads that can run concurrently.
Multithreading
________ is where the OS must prevent independent processes from interfering with each other's memory, both data and instructions.
Process isolation
The four main structural elements of a computer system are:
Processor, Main Memory, I/O Modules and System Bus
The ___________ holds the address of the next instruction to be fetched.
Program Counter
A Control/Status register that contains the address of the next instruction to be fetched is called the ____________.
Program Counter (PC)
The _________ is a point-to-point link electrical interconnect specification that enables high-speed communications among connected processor chips.
QPI
A process in the _______ state is in main memory and available for execution.
Ready
The key states for a thread are: Running, ________, and Blocked.
Ready
When a process is in the ________ state it is in secondary memory but is available for execution as soon as it is loaded into main memory.
Ready/Suspended
The earliest computers employed _________ processing, a name derived by the way the users have access to the systems.
Serial
_________ is a good example of an OS using a combined user-level and kernel-level thread approach.
Solaris
An OS should be constructed in such a way as to permit the effective development, testing, and introduction of new system functions without interfering with service.
TRUE
An SMP can be defined as a stand-alone computer system with two or more similar processors of comparable capacity.
TRUE
There are four basic thread operations associated with a change in thread state: Block, Unblock, Finish, and ________.
Spawn
_________ involves moving part or all of a process from main memory to disk.
Swapping
To satisfy the requirements of handheld devices, the classic microprocessor is giving way to the ________, where not just the CPUs and caches are on the same chip, but also many of the other components of the system, such as DSPs, GPUs, I/O devices and main memory.
System on a Chip (SoC)
The idea of having a many-to-many relationship between threads and processes has been explored in the experimental operating system ___________.
TRIX
A computer platform consists of a collection of hardware resources, such as the processor, main memory, I/O modules, timers, and disk drives.
TRUE
A design change in the structure or semantics of the process control block could affect a number of modules in the OS.
TRUE
A monolithic kernel is implemented as a single process with all elements sharing the same address space.
TRUE
A mutex is used to ensure that only one thread at a time can access the resource protected by the mutex.
TRUE
A process consists of three components: an executable program, the associated data needed by the program, and the execution context of the program.
TRUE
A process switch may occur any time that the OS has gained control from the currently running process.
TRUE
A signal is similar to a hardware interrupt but does not employ priorities.
TRUE
A system bus does not transfer data between the computer and its external environment.
TRUE
A useful tool in characterizing the allocation of resources to processes is the resource allocation graph.
TRUE
All deadlocks involve conflicting needs for resources by two or more processes.
TRUE
All processor designs include a register or set of registers, often known as the program status word, which contains status information.
TRUE
A ________ is the maximum amount of time that a process can execute before being interrupted.
Time slice
The two basic types of processor registers are:
User-visible and Control/Status
______________ is a facility that allows programs to address memory from a logical point of view, without regard to the amount of main memory physically available.
Virtual memory
The _______ state is when the thread has terminated.
ZOMBIE
The operating system's ________ refers to its inherent flexibility in permitting functional modifications to the system without interfering with service.
ability to evolve
____________ arises in three different contexts: multiple applications, structured application, and operating system structure.
concurrency
An IDS comprises three logical components: sensors, ________, and user interface.
analyzers
__________ is a function or action implemented as a sequence of one or more instructions that appears to be indivisible; no other process can see an intermediate state or interrupt the operations.
atomic operation
__________ is when the sequence of instruction is guaranteed to execute as a group, or not execute at all, having no visible effect on system state.
atomic operation
_________ allows the three necessary conditions but makes judicious choices to assure that the deadlock point is never reached.
avoidance
The strategy of resource allocation denial is referred to as the ___________.
banker's algorithm
Each location in Main Memory contains a _________ value that can be interpreted as either and instruction or data.
binary number
A ______________ is a semaphore that takes only the values of 0 and 1.
binary semaphore
Two types of atomic operations are defined in Linux: integer operations and _______________.
bitmap operations
The unit of data exchanged between cache and main memory is __________.
block size
The ___________ is a device for staging the movement of data between main memory and processor registers to improve performance and is not usually visible to the programmer or processor.
cache
When one process spawns another, the spawned process is referred to as the ______________.
child process
A closed chain of processes exists, such that each process holds at least one resource needed by the next process in the chain is the condition of __________.
circular wait
The ____________ condition can be prevented by defining a linear ordering of resource types.
circular wait
A ________ is an individual who seizes supervisory control of the system and uses this control to evade auditing and access controls or to suppress audit collection.
clandestine user
In the case of _________, processes are sharing resources without being aware of the other processes.
competition
A(n) __________ is a set of resources for the movement, storage, and processing of data and for the control of these functions.
computer
__________ is a section of code within a process that requires access to shared resources and that must not be executed while another process is in a corresponding section of code.
critical section
A situation in which two or more processes are unable to proceed because each is waiting for one of the others to do something is a ____________.
deadlock
_________ can be defined as the permanent blocking of a set of processes that either compete for system resources or communicate with each other.
deadlock
Requested resources are granted to processes whenever possible with ____________.
deadlock detection
A set of processes is _________ when each process in the set is blocked awaiting an event that can only be triggered by another blocked process in the set.
deadlocked
Only three operations may be performed on a semaphore: initialize, increment, and __________.
decrement
Three general approaches exist for dealing with deadlock: prevent, avoid, and ______.
detect
The portion of the OS that selects the next process to run is called the ___________,
dispatcher
A __________ is a static entity, consisting of an address space and ports through which messages may be sent and received.
domain
Any resource allocation and scheduling policy must consider three factors: Fairness, Differential responsiveness, and ________.
efficiency
___________ are memory words used as a synchronization mechanism.
event flags
The ___________ is useful in sending a signal to a thread indicating that a particular event has occurred.
event object
The _________ is the internal data by which the OS is able to supervise and control the process.
execution context
The __________ condition can be prevented by requiring that a process request all of its required resources at one time and blocking the process until all requests can be granted simultaneously.
hold and wait
Three conditions of policy must be present for a deadlock to be possible: mutual exclusion, no preemption, and ________.
hold and wait
In the case of _______, messages are not sent directly from sender to receiver but rather are sent to a shared data structure consisting of queues that can temporarily hold messages.
indirect addressing
The processing required for a single instruction is called a(n) _________ cycle.
instruction
When an external device becomes ready to be serviced by the processor the device sends a(n) __________ signal to the processor.
interrupt
The ___________ routine determines the nature of the interrupt and performs whatever actions are needed.
interrupt handler
When an external device is ready to acept more data from the processor, the I/O module for that external device sends an ____________ signal to the processor.
interrupt request
The blocked state in which the process is waiting for an event, such as the end of an I/O operation, the availability of a resource, or a signal from another process is the __________ state.
interruptible
Hardware features desirable in a batch-processing operating system include memory protection, timer, privileged instructions, and ____________.
interrupts
Most operating systems contain two fundamental forms of concurrent activity: processes and ____________.
interrupts
System access threats fall into two general categories: _________ and malicious software.
intruders
A way to overcome the problem of blocking threads is to use a technology referred to as __________, which converts a blocking system call into a nonblocking system call.
jacketing
The OS has five principal storage management responsibilities: process isolation, automatic allocation and management, support of modular programming, protection and access control, and ________
long-term storage.
A ___________ relationship allows multiple server processes to provide concurrent service to multiple clients.
many-to-many
When a new block of data is read into the cache the ____________ determines which cache location the block will occupy.
mapping function
a _______ is an individual who is not authorized to use the computer and who penetrates a system's access controls to exploit a legitimate user's account.
masquerader
The ___________ contains the data to be written into memory and receives the data read from memory.
memory buffer register
A means for two processes to exchange information is with the use of ____________.
messages
The basic form of communication between processes or threads in a micro kernel operating system is ___________.
messages
The invention of the ________ was the hardware revolution that brought about desktop and handheld computing.
microprocessor
A _________ is a legitimate user who accesses data, programs, or resources for which such access is not authorized, or who is authorized for such access but misuses their privileges.
misfeasor
A ___________ is a programming language construct that encapsulates variables, access procedures, and initialization code within an abstract data type.
monitor
The __________ is a programming language construct that provides equivalent functionality to that of semaphores and is easier to control.
monitor
The central idea behind the simple batch-processing scheme is the use of a piece of software known as the _________.
monitor
A __________ computer combines two or more processors on a single piece of silicon.
multicore
_________ are characterized by the presence of many single-threaded processes.
multiprocess applications
The concept of multiple programs taking turns in execution is known as ___________.
multiprogramming
The management of multiple processes within a uniprocessor system is ___________.
multiprogramming
_________ was invented to allow processing time to be dynamically shared among a number of active applications.
multiprogramming
The requirement that when one process is in a critical section that access shared resources, no other process may be in a critical section that accesses any of those shared resources is ____________.
mutual exclusion
With _______ only one process may use a resource at a time and no process may access a resource unit that has been allocated to another process.
mutual exclusion
Operating systems must evolve over time because:
new hardware is designed and implemented in the computer system
Probably the most useful combination, ________ allows a process to send one or more messages to a variety of destinations as quickly as possible.
nonblocking send, blocking receive
A special type of address register required by a system that implements user visible stack addressing is called a ______.
stack pointer.
An _________ is a program that controls the execution of application programs and acts as an interface between applications and the computer hardware.
operating system
Inspired by the concept of co-routines, a ________ is a circular buffer allowing two processes to communicate on the producer-consumer model.
pipe
One of the most significant contributions of UNIX to the development of operating systems is the ___________.
pipe
One mechanism Intel uses to make its caches more effective is ________, in which the hardware examines memory access patterns and attempts to fill the caches speculatively with data that is likely to be requested soon.
prefetching
The strategy of deadlock __________ is to design a system in such a way that the possibility of deadlock is excluded.
prevention
________ strategies are very conservative and solve the problem of deadlock by limiting access to resources and by imposing restrictions on processes.
prevention
A _______ is a unit of activity characterized by the execution of a sequence of instructions, a current state, and an associated set of system resources.
process
A _________ is an entity corresponding to a user job or application that owns resources such as memory and open files.
process
A program invocation, including the address space and resources required to run the program is a ______ object.
process
In a multithreaded environment, a _________ is defined as the unit of resource allocation and a unit of protection.
process
The OS must maintain _________ tables to manage processes.
process
A significant point about the ________ is that it contains sufficient information so that it is possible to interrupt a running process and later resume execution as if the interruption had not occurred.
process control block
The _______ is the collection of program, data, stack, and attributes defined in the process control block.
process image
The collection of program, data, stack, and attributes is referred to as the _________.
process image
When the OS creates a process at the explicit request of another process, the action is referred to as _________.
process spawning
The process control block information can be grouped into three general categories: Process identification, ________, and process control information.
processor state information
Two essential elements of a process are ________ and a set of data associated with that code.
program code
A ____________ occurs when multiple processes or threads read and write data items so that the final result depends on the order of execution of instructions in the multiple processes.
race condition
A situation in which multiple threads or processes read and write a shared data item and the final result depends on the relative timing of their execution is a ___________ .
race condition
Linux provides three types of semaphore facilities in the kernel: binary semaphores, counting semaphores, and ________.
reader-writer semaphores
The __________ allows multiple threads to have simultaneous read-only access to an object protected by the lock.
readers/writer lock
The classic concurrency problem that involves multiple readers that can read from a shared data area when no single writer is exclusively writing to it is the ___________ Problem.
readers/writers
Three major lines of computer system development created problems in timing and synchronization that contributed to the development of the concept of the process: multiprogramming batch operations, time sharing, and ________.
real-time transaction systems
A _______ is a dispatchable unit of work that executes sequentially and is interruptible so that the processor can turn to another thread.
thread
A _______ is a single execution path with an execution stack, processor state, and scheduling information.
thread
an executable entity within a process is a _________ object.
thread
Windows makes use of two types of process-related objects: processes and __________.
threads
The technique where a system clock generates interrupts, and at each clock interrupt the OS regains control and assigns the processor to another user, is called ________.
time slicing
A_______ is set at the beginning of each job to prevent any single job from monopolizing the system.
timer
We can characterize the behavior of an individual process by listing the sequence of instructions, referred to as a _______, that executes for that process.
trace
A thread enters the ________ state, after waiting, if it is ready to run but the resources are not available.
transition
Multiprogramming operating systems are fairly sophisticated compared to single-program or __________ operating systems.
uniprogramming
A user program executes in a __________, in which certain areas of memory are protected for the user's use and in which certain instructions may not be executed.
user mode
The _________ is the less-privileged mode.
user mode
A ________ is a user-created unit of execution within a process.
user-level thread
Registers that are used by system programs to minimize main memory references by optimizing register use are called ________.
user-visible registers