The ____ of a process contains temporary data such as function parameters, return addresses, and local variables.
program counter
data section
text section
stack
Which of the following is true in a Mach operating system?
All messages have the same priority.
Multiple messages from the same sender are guaranteed an absolute ordering.
The sending thread must return immediately if a mailbox is full.
It is not designed for distributed systems.
When communicating with sockets, a client process initiates a request for a connection and is assigned a port by the host computer. Which of the following would be a valid port assignment for the host computer?
21
1625
23
80
The ____________ class must be extended when implementing a remote object.
java.rmi.Remote
Naming.lookup
None. java allows any class to be a remote object
java.rmi.server.UnicastRemoteObject
Which of the following statements is true?
Message passing is typically faster than shared memory.
Message passing is most useful for exchanging large amounts of data.
Shared memory is far more common in operating systems than message passing.
Shared memory is typically faster than message passing
Imagine that a host with IP address 150.55.66.77 wishes to download a file from the web server at IP address 202.28.15.123. Select a valid socket pair for a connection between this pair of hosts.
150.55.66.77:80 and 202.28.15.123:3500
150.55.66.77:80 and 202.28.15.123:80
150.55.66.77:2000 and 202.28.15.123:80
150.55.66.77:150 and 202.28.15.123:80
A process control block ____.
includes information on the process's state
determines which process is to be executed next
is an example of a process queue
stores the address of the next instruction to be processed by a different process
The difference between a program and a process is that a program is an active entity while a process is a passive entity.
The exec() system call creates a new process.
The list of processes waiting for a particular I/O device is called a(n) ____.
device queue
ready queue
standby queue
interrupt queue
All access to POSIX shared memory requires a system call.
Local Procedure Calls in Windows XP are similar to Remote Procedure Calls.
Java's RMI is a feature similar to RPCs
For a single-processor system, there will never be more than one process in the Running state.
Shared memory is a more appropriate IPC mechanism than message passing for distributed systems.
A socket is identified by an IP address concatenated with a port number.
Sockets are considered a high-level communications scheme.
The Mach operating system treats system calls with message passing.
The _____________ refers to the number of processes in memory.
long-term scheduler
process count
degree of multiprogramming
CPU scheduler
When using RMI, remote objects are referenced via a proxy.
When a child process is created, which of the following is a possibility in terms of the execution or address space of the child process?
The child is a duplicate of the parent.
All of the above
The child process runs concurrently with the parent.
The child process has a new program loaded into it.
A _________________ saves the state of the currently running process and restores the state of the next process to run.
state switch
save-and-restore
none of the above
context switch
A process may transition to the Ready state by which of the following actions?
Newly-admitted process
Awaiting its turn on the CPU
Completion of an I/O event
In a(n) ____ temporary queue, the sender must always block until the recipient receives the message.
unbounded capacity
variable capacity
zero capacity
bounded capacity
A blocking send() and blocking receive() is known as a(n) _________________
rendezvous
asynchronous message
blocked message
synchronized message
____ is a thread library for Solaris that maps many user-level threads to one kernel thread.
Pthreads
Green threads
Java threads
Sthreads
In multithreaded programs, the kernel informs an application about certain events using a procedure known as a(n) ____.
event handler
signal
upcall
pool
_____ is not considered a challenge when designing applications for multicore systems.
Identifying data dependencies between tasks.
Determining if data can be separated so that it is accessed on separate cores
Ensuring there is a sufficient number of cores
Deciding which activities can be run in parallel
A ____ provides an API for creating and managing threads.
thread library
multithreading model
multicore system
set of system calls
The _____ model multiplexes many user-level threads to a smaller or equal number of kernel threads.
one-to-one
many-to-one
two-level
many-to-many
The _____ model maps many user-level threads to one kernel thread.
The _____ model maps each user-level thread to one kernel thread.
The _____ model allows a user-level thread to be bound to one kernel thread.
The most common technique for writing multithreaded Java programs is _____.
implementing the Runnable interface and defining its run() method
using the CreateThread() function
extending the Thread class and overriding the run() method
designing your own Thread class
In Pthreads, a parent uses the pthread_join() function to wait for its child thread to complete. What is the equivalent function in Win32?
join()
WaitForSingleObject()
win32_join()
wait()
Which of the following statements regarding threads is false?
Sharing is automatically provided in Java threads.
Both Pthreads and Win32 threads share global data.
The start() method actually creates a thread in the Java virtual machine.
The Java method join() provides similar functionality as the WaitForSingleObject in Win32.
Pthreads refers to ____.
an API for process creation and synchronization.
the POSTFIX standard.
an implementation for thread behavior.
a specification for thread behavior.
A _____ uses an existing thread — rather than creating a new one — to complete a task.
lightweight process
thread pool
asynchronous procedure call
scheduler activation
Assuming the Java class Worker implements the Runnable interface. Which of the following statements creates a thread using the Worker class?
Thread worker = new Thread(new Worker());
Thread worker = new Runnable(new Worker());
Worker worker = new Worker();
Thread worker = new Thread();
Calling the start() method of a Java thread
only creates the thread
creates the thread and invokes its run() method
the start() method cannot be called directly
can be either "only creates the thread" or "the start() method cannot be called directly"
A thread is composed of a thread ID, program counter, register set, and heap.
Virtually all contemporary operating systems support kernel threads.
Linux distinguishes between processes and threads.
Cancellation points are associated with ____ cancellation.
asynchronous
deferred
non-deferred
synchronous
In Java, data shared between threads is simply declared globally.
Each thread has its own register set and stack.
Deferred cancellation is preferred over asynchronous cancellation.
The single benefit of a thread pool is to control the number of threads.
It is possible to create a thread library without any kernel-level support.
Which of the following would be an acceptable signal handling scheme for a multithreaded program?
Deliver the signal to every thread in the process.
Deliver the signal to the thread to which the signal applies.
Deliver the signal to only certain threads in the process.
Signals can be emulated in windows through ____.
local procedure calls
asynchronous procedure calls
remote procedure calls
Thread-specific data is data that ____.
has been modified by the thread, but not yet updated to the parent process
is generated by the thread independent of the thread's process
is not associated with any process
is copied and not shared with the parent process
LWP is ____.
placed between system and kernel threads
common in systems implementing one-to-one multithreading models
short for lightweight processor
placed between user and kernel threads
Windows XP uses the ____.
many-to-many model
one-to many-model
many-to-one model
one-to-one model