sosa_savannah
Quiz by , created more than 1 year ago

Midterm review

19
0
0
sosa_savannah
Created by sosa_savannah over 8 years ago
Close

OS First Test Review

Question 1 of 200

1

Many of the statements in "C" are similar to those in "Java" since

Select one or more of the following:

  • C is based on the design of Java.

  • C is a design ancestor of C++ and Java.

  • All programming languages use the same
    style of statements.

  • Both C and Java share Eiffel as a common design ancestor.

  • None of the above

Explanation

Question 2 of 200

1

C has primitive types that are built into the language, but which of the following are not primitive types in C?

Select one or more of the following:

  • bool

  • string

  • int

  • char

  • None of the above

Explanation

Question 3 of 200

1

Whenever a boolean type result is required in C (e.g., in
an "if" statement),

Select one or more of the following:

  • Any non-zero value represents false.

  • Only the zero value represents false.

  • Only one value represents true.

  • Any non-zero value represents true.

  • None of the above

Explanation

Question 4 of 200

1

In C, "&&" and "||" are short-circuit boolean operators just like in
Java, while the "&" and "|" operators in C

Select one or more of the following:

  • Perform full boolean evaluation.

  • Are undefined.

  • Are synonyms for "&&" and "||".

  • Perform the bitwise-and and bitwise-or functions.

  • None of the above

Explanation

Question 5 of 200

1

The "!" operator in C is used to perform

Select one or more of the following:

  • Logical negation (e.g., turn "true" into "false").

  • Numeric negation (e.g., turn "-3" into "3").

  • Numeric inversion (e.g., turn "5" into "1/5").

  • Array reversal (reversing the items within an array).

  • None of the above

Explanation

Question 6 of 200

1

The assignment operator (=) in C

Select one or more of the following:

  • works exactly like assignment in Java.

  • cannot be used in boolean expressions.

  • cannot be used in arithmetic expressio

  • returns the value assigned as its value.

  • None of the above

Explanation

Question 7 of 200

1

Which pairs of operators can be easy to confuse but difficult to notice
and debug because they can often (though not always) yield the same
results?

Select one or more of the following:

  • + and ++

  • = and ==

  • & and &&

  • | and ||

  • None of the above

Explanation

Question 8 of 200

1

This example of a pre-increment operator, "x = 12; array[++x] = 3;",
assigns

Select one or more of the following:

  • "array[12]" the value of 3

  • "array[13]" the value of 3

  • "array[12]" the value of 4

  • "array[13]" the value of 4

  • None of the above

Explanation

Question 9 of 200

1

This example of a compound assignment, "x = 12; array[x += 2] = 5;",

Select one or more of the following:

  • is not allowed.

  • assigns "array[12]" the value of 5

  • assigns "array[14]" the value of 5

  • assigns "x" the value of 7

  • None of the above

Explanation

Question 10 of 200

1

Which of the following are not used for
either input or output in C?

Select one or more of the following:

  • scanf

  • getc

  • printf

  • fprintf

  • None of the above

Explanation

Question 11 of 200

1

Which of the following are used for input in C?

Select one or more of the following:

  • scanf

  • getc

  • printf

  • fprintf

  • None of the above

Explanation

Question 12 of 200

1

Which of the following are used for output in C?

Select one or more of the following:

  • scanf

  • getc

  • printf

  • fprintf

  • None of the above

Explanation

Question 13 of 200

1

All C programs should contain a "main"
function with a signature matching

Select one or more of the following:

  • void main(char* argv[])

  • int main(string argv[])

  • void main(int argc, string argv[])

  • int main(int argc, char* argv[])

  • None of the above

Explanation

Question 14 of 200

1

The int value returned by the "main" function is used to indicate

Select one or more of the following:

  • whether or not the program terminated normally.

  • nothing, this is a holdover from early Unix that is no longer used.

  • how long (in milliseconds) the program took to complete.

  • the error a program experienced if there was a problem.

  • None of the above

Explanation

Question 15 of 200

1

Function declarations in C must always have

Select one or more of the following:

  • an implementation given as part of the declaration.

  • only primitive types given as formal parameters.

  • a non-empty set of formal parameters.

  • a non-void return type.

  • None of the above

Explanation

Question 16 of 200

1

Function declarations (though not necessarily their implementations) in C

Select one or more of the following:

  • must be given inside of a class definition.

  • must appear within the source code file in
    which they are used.

  • can be nested within another function's implementation/body.

  • must be given in a separate file
    (a ".h" file) from their implementation.

  • None of the above

Explanation

Question 17 of 200

1

Function implementations in C

Select one or more of the following:

  • cannot be given within another function's implementation/body.

  • begin with the "function" reserved keyword, if given separate from the
    function declaration.

  • must always be given at the same time the
    function is declared.

  • appear within curly braces (i.e., { }) directly after the function
    signature.

  • None of the above

Explanation

Question 18 of 200

1

A "static" variable declaration within a function

Select one or more of the following:

  • reserves space for the variable apart from the run-time stack.

  • allows the variable to be accessed outside of the function implementation.

  • ensures that only one version of the variable exists, so that recursive
    calls to the function share the exact same variable storage.

  • is optional as all variables within function
    implementations are treated as "static" by default.

  • None of the above

Explanation

Question 19 of 200

1

Variables declared as "static"

Select one or more of the following:

  • may only appear within a function implementation.

  • can be accessed outside the scope of the function in which it is declared.

  • cannot change their values (i.e., they're constants).

  • have space for their values reserved outside of the run-time stack.

  • None of the above

Explanation

Question 20 of 200

1

Large C programs are often broken up into files ending with ".c" and ".h",
but

Select one or more of the following:

  • ".c" files must contain only function
    implementations.

  • ".h" files should contain declarations used by multiple ".c" files.

  • the "#include" directives allow ".c" files to use the declarations in the
    named ".h" file.

  • variables should never be delcared in a
    ".h" file.

  • None of the above

Explanation

Question 21 of 200

1

The "extern" declaration in C is

Select one or more of the following:

  • used to declare variables without setting
    aside storage space.

  • implicit for all function declarations.

  • used for variables declared within a function so that they can be accessed
    outside of the function.

  • have space for their values reserved outside of the run-time stack.

  • None of the above

Explanation

Question 22 of 200

1

Arrays in C are indexed starting with

Select one or more of the following:

  • -1

  • 0

  • 1

  • the value indicated when they are declared.

  • None of the above

Explanation

Question 23 of 200

1

The index given for an array reference in C

Select one or more of the following:

  • only needs to be checked at compile time to ensure
    that it's within range.

  • is always checked at
    run time to ensure that it's within range.

  • never needs to be checked as it is
    always within range.

  • is not checked since it doesn't have to
    be within its range.

  • None of the above

Explanation

Question 24 of 200

1

A "string" value in C is really an array of type "char".
So the

Select one or more of the following:

  • string value needs to be null terminated.

  • array must be exactly as long as the
    desired string.

  • array should be at least one char longer than the desired string.

  • programer must use another variable to
    keep track of the length of the string.

  • None of the above

Explanation

Question 25 of 200

1

If an array index in C is outside the bounds of the array, then

Select one or more of the following:

  • an error may or may not occur as a result of accessing the array element.

  • an error always occurs and the program
    stops execution.

  • there may or may not be accessible storage associated with that array
    location.

  • there is always accessible storage
    associated with that array location.

  • None of the above

Explanation

Question 26 of 200

1

The declaration of an array (e.g., variables, function formal parameters)
must always include the

Select one or more of the following:

  • starting index of the array.

  • size of the array.

  • corresponding "#define" declaration for the array size.

  • type of the array elements.

  • None of the above

Explanation

Question 27 of 200

1

Arrays in C

Select one or more of the following:

  • grow dynamically as more items are added (similar to
    ArrayLists in Java).

  • always have an associated length that can
    be queried to determine the number of items in the array.

  • are polymorphic, meaning that any mix of items can be stored in the same
    array.

  • are really just pointers to their item type
    (e.g., "int x[]" and "int *x" are the same).

  • None of the above

Explanation

Question 28 of 200

1

A pointer is another name for the

Select one or more of the following:

  • type of values that can be assigned to a variable.

  • forward declaration of a function.

  • declaration of a "struct"ure.

  • address of the memory location holding a desired value.

  • None of the above

Explanation

Question 29 of 200

1

In C, pointers are declared

Select one or more of the following:

  • only for declarations of arrays.

  • by giving an asterisk (*) before the variable name declaration.

  • by giving an ampersand (&) before the variable name declaration.

  • for all formal parameters of functions.

  • None of the above

Explanation

Question 30 of 200

1

In C, if "x" and "y" are declared by "int x, *y;", then "y = &x;"

Select one or more of the following:

  • is undefined.

  • assigns "y" the value of "x".

  • makes "y" an alias for "x" so that any value assigned to one is
    automatically assigned to the other.

  • assigns "y" the memory address where the value for "x" is located.

  • None of the above

Explanation

Question 31 of 200

1

This array declaration in C, "char name[10];",

Select one or more of the following:

  • reserves 10 contiguous bytes (characters) of storage for "name".

  • is equivalent to the declaration "string name;".

  • declares "name" as a pointer to the reserved storage.

  • declares each element of the array "name" as a pointer to a "char".

  • None of the above

Explanation

Question 32 of 200

1

Which of the following declarations in C is equivalent to "char *var;"?

Select one or more of the following:

  • char &var;

  • char var[10];

  • char var[];

  • char &var[];

  • None of the above

Explanation

Question 33 of 200

1

Strings in C are represented as an array of "char"acters

Select one or more of the following:

  • with the length kept separately so that the size of the string is known
    (e.g., when printing).

  • that are terminated by a null value to denote their end.

  • and can be referenced via a "char"acter pointer (e.g., "char *").

  • which are immutable, so that the value cannot be changed (only copied).

  • None of the above

Explanation

Question 34 of 200

1

The address operator in C, ampersand (&),

Select one or more of the following:

  • converts a variable into a pointer, so that "&y" makes "y" a pointer to an
    "int" when "y" was declared via "int y;".

  • is only used when passing parameters.

  • returns the memory address of any expression it is applied to
    (e.g., "&(2*x + 3)").

  • returns the memory address of the variable it is applied to (e.g., "&x").

  • None of the above

Explanation

Question 35 of 200

1

In C, if the following declaration/initialization is made,
"int *x = &y;", then "x++"

Select one or more of the following:

  • makes "x" point to the next address in memory (following "y") that can hold
    an "int" value.

  • is undefined and causes a compilation error.

  • is defined but causes a run-time error.

  • increases the value of "y" by 1.

  • None of the above

Explanation

Question 36 of 200

1

A "struct" declaration in C can group together

Select one or more of the following:

  • multiple data items.

  • data of the same type.

  • data of different types.

  • None of the above

Explanation

Question 37 of 200

1

A "struct" declaration in C always creates

Select one or more of the following:

  • a new type name that can be used in declaring variables (e.g.,
    "person bob;").

  • a named structure form that can be referred to by "struct" followed by the
    structure name (e.g., "struct person").

  • a recursive structure so that linked structures (e.g., lists, graphs) can
    be coded.

  • a non-recursive structure since recursive structures
    must be declared as types instead
    of "struct"s.

  • None of the above

Explanation

Question 38 of 200

1

A self-recursive "struct" requires that at least one of its elements be
declared as

Select one or more of the following:

  • "struct NAME", where "NAME" is the name given the "struct" and the pointer
    type is inferred.

  • "struct NAME *", where "NAME" is the name given the "struct".

  • "struct" where the current structure and pointer type are
    inferred.

  • "struct *" where the current structure name is inferred.

  • None of the above

Explanation

Question 39 of 200

1

The "typedef" declaration in C declares the new type NAME
corresponding to a specified TYPE_DESCRIPTION (either an existing
type name or other type specification -
such as a "struct") via

Select one or more of the following:

  • "typedef NAME = TYPE_DESCRIPTION;"

  • "typedef TYPE_DESCRIPTION NAME;"

  • "typedef NAME TYPE_DESCRIPTION;"

  • "NAME = typedef TYPE_DESCRIPTION;"

  • None of the above

Explanation

Question 40 of 200

1

Assuming the legal C variable declaration "person bob;" then the following
declaration must also have been previously
given ("..." represents other appropriate declarations):

Select one or more of the following:

  • "struct bob { ... };"

  • "typedef struct person { ... } bob;"

  • "typedef struct bob bob;"

  • "typedef person bob;"

  • None of the above

Explanation

Question 41 of 200

1

Assuming the legal C variable declaration "person bob;" then the following
declaration must also have been
previously given ("..." represents other appropriate declarations):

Select one or more of the following:

  • "struct person { ... };"

  • "typedef struct { ... } person;"

  • "typedef struct person bob;"

  • "typedef person bob;"

  • None of the above

Explanation

Question 42 of 200

1

Given the following legal C declarations
typedef struct node {
int x;
struct node *next;
} *nodeType;

Select one or more of the following:

  • "nodeType" is a type equivalent to "struct node".

  • "nodeType" is a type equivalent to the type of the "next"
    field.

  • "nodeType" is not a type,
    but really a variable of type "struct node".

  • "nodeType" is not a type,
    but really a variable of type pointer to a "struct node".

  • None of the above

Explanation

Question 43 of 200

1

In C, the standard way to request heap storage space while a program is
running is to use the function

Select one or more of the following:

  • getmem

  • new

  • malloc

  • heap_request

  • None of the above

Explanation

Question 44 of 200

1

The standard way in C to return heap storage that was previously allocated
is to use the function

Select one or more of the following:

  • delete

  • return

  • free

  • putmem

  • None of the above

Explanation

Question 45 of 200

1

In C, it is possible to determine the size of a type
(in bytes) by using the function

Select one or more of the following:

  • getsize

  • sizeof

  • sizeOfType

  • typeSize

  • None of the above

Explanation

Question 46 of 200

1

Which of the following C statements is a typical way that dynamic storage
might be allocated?

Select one or more of the following:

  • int x = new int();

  • int *x = (int) getmem(int);

  • int x = malloc(typeSize(int));

  • int *x = (int*) malloc(sizeof(int));

  • None of the above

Explanation

Question 47 of 200

1

An operating system (OS) provides

Select one or more of the following:

  • a clean and simple model of the computer.

  • manages the computer's resources.

  • support for the creation and use of user programs.

  • an abstract view of the computer, independent of the specific hardware.

  • None of the above

Explanation

Question 48 of 200

1

Which of the following are program types in an
operating system (OS)?

Select one or more of the following:

  • System programs

  • Adventure games.

  • Application programs

  • CAPTCHAs (Completely Automated Public Turing test to tell
    Computers and Humans Apart).

  • None of the above

Explanation

Question 49 of 200

1

Which of the following are layers within an
operating system (OS)?

Select one or more of the following:

  • Machine language

  • Command interpreter (shell)

  • Physical devices

  • Microcode

  • None of the above

Explanation

Question 50 of 200

1

The operating system (OS) is that part of the system which

Select one or more of the following:

  • implements the editors, compilers, and interpreters used to
    create other programs.

  • provides the command line interpreter (e.g., shell) for users.

  • comes pre-loaded on purchased computer hardware.

  • runs in supervisor (or kernel) mode.

  • None of the above

Explanation

Question 51 of 200

1

When viewed as an abstract machine, the operating system (OS)

Select one or more of the following:

  • enables Windows and Unix to run at the same time.

  • hides the details of lower level facilities (e.g., writing data to disk).

  • operates exactly the way a Turing machine does.

  • provides the implementations for data abstractions (e.g., stack,
    queue) leveraged by user programs.

  • None of the above

Explanation

Question 52 of 200

1

When viewed as a resource manager, the operating system (OS)

Select one or more of the following:

  • coordinates the sharing of parts of the computer by different programs.

  • enables different programs to share the computer hardware.

  • determines when more memory or disk should be purchased.

  • ensures that the computer hardware is utilized with optimal
    efficiency regarding every user's needs.

  • None of the above

Explanation

Question 53 of 200

1

The most common small computer architecture is the

Select one or more of the following:

  • packet switched.

  • bus

  • circuit switched.

  • fully connected backplane.

  • None of the above

Explanation

Question 54 of 200

1

Select from the dropdown list to complete the text.

Match the components in the below diagram (indicated by the letters A-G) of a typical small computer system to their names. [Note: No choice is
used more than once, and some may not be used.]

( CPU, Memory, Input and Output, Control bus (or Data bus), Address bus, System bus ) A
______ B
______ C
______ D
______ E
______ F
______ G

Explanation

Question 55 of 200

1

The system bus on a small computer system is typically composed of the

Select one or more of the following:

  • control bus.

  • address bus

  • data bus.

  • memory bus.

  • None of the above

Explanation

Question 56 of 200

1

A bus architecture typically allows

Select one or more of the following:

  • only a single pair of components to communicate at a time.

  • one or two different pairs of components to communicate simultaneously.

  • up to three different components (<strong>not</strong> pairs) to
    communicate simultaneously.

  • all components to communicate simultaneously.

  • None of the above

Explanation

Question 57 of 200

1

The internet is an example of a

Select one or more of the following:

  • packet switched architecture.

  • bus architecture.

  • circuit switched architecture.

  • fully connected architecture.

  • None of the above

Explanation

Question 58 of 200

1

A computer processor is commonly composed of

Select one or more of the following:

  • an instruction fetch unit.

  • an instruction decoder.

  • an arithmetic logic unit.

  • a memory interface.

  • None of the above

Explanation

Question 59 of 200

1

Registers in those processors which utilize them

Select one or more of the following:

  • are always grouped into sets of
    "register windows".

  • are sometimes dedicated to specific
    purposes (e.g., program counter, stack pointer).

  • are always general purpose, meaning
    they can be used for any activity needing to use a register.

  • usually have the same number of bits as the address bus.

  • None of the above

Explanation

Question 60 of 200

1

Processor designs that can speed up computation include:

Select one or more of the following:

  • pipelining

  • multi-register

  • hyperthreaded

  • multi-core

  • None of the above

Explanation

Question 61 of 200

1

The memory hierarchy in computer design primarily reflects the

Select one or more of the following:

  • desire to reduce single points of failure.

  • tradeoff between speed and cost for a given amount of memory.

  • difference between volatile and non-volatile memory technologies.

  • large amounts of certain types of memories.

  • None of the above

Explanation

Question 62 of 200

1

A hard disk drive (HDD) can have access times that are

Select one or more of the following:

  • up to 10 million times slower than a register.

  • 10-100 times slower than a solid state disk (SSD).

  • only 100 times slower than main memory (e.g., RAM).

  • 1 million times slower than main memory (e.g., RAM).

  • None of the above

Explanation

Question 63 of 200

1

Physical devices are accessed via their

Select one or more of the following:

  • corresponding user level resource managers.

  • associated (physical) controllers.

  • device drivers by the operating system (OS).

  • associated command interpreter (e.g., shell) programs.

  • None of the above

Explanation

Question 64 of 200

1

Which of the following are device communications styles used by
operating systems?

Select one or more of the following:

  • Notify and Sleep

  • Busy waiting

  • Interrup driven

  • Direct Memory Access

  • None of the above

Explanation

Question 65 of 200

1

Approaches currently in common use for "installing" a new device driver
include

Select one or more of the following:

  • relinking the device driver object code with the OS kernel.

  • adding the device driver file to an OS config and rebooting.

  • adding the ".h" file to the OS config, recompiling the kernel,
    and then rebooting the system.

  • dynamically loading the device driver code (no reboot).

  • None of the above

Explanation

Question 66 of 200

1

Device drivers that start an I/O then sit in a tight loop, checking to
see when the operation is complete are using the

Select one or more of the following:

  • Direct Memory Access communication style.

  • Notify and Sleep communication style.

  • Busy waiting communication style.

  • Interrup driven communication style.

  • None of the above

Explanation

Question 67 of 200

1

Device drivers that start an I/O but then block, returning control so
that other work can be done until the driver is awakened by an
interrupt are using the

Select one or more of the following:

  • Notify and Sleep communication style.

  • Busy waiting communication style.

  • Interrup driven communication style.

  • Direct Memory Access communication style.

  • None of the above

Explanation

Question 68 of 200

1

Device drivers that utilize special hardware to initiate and complete
an entire data transfer are using the

Select one or more of the following:

  • Notify and Sleep communication style.

  • Busy waiting communication style.

  • Interrup driven communication style.

  • Direct Memory Access communication style.

  • None of the above

Explanation

Question 69 of 200

1

While the operating system (OS) is handling an interrupt

Select one or more of the following:

  • all other interrupts are disabled to
    ensure it completes.

  • only higher-priority interrupts are enabled.

  • all interrupts continue to be enabled,
    since none should be missed.

  • only interrupts of the same kind are enabled.

  • None of the above

Explanation

Question 70 of 200

1

The boot process for most small computer systems begins with the
execution of the

Select one or more of the following:

  • hard disk drive device driver to allow loading of the OS executable file.

  • Basic Input/Output System (BIOS).

  • OS executable file directly from the boot device (e.g., HDD, SSD).

  • GRand Unified Bootloader (GRUB).

  • None of the above

Explanation

Question 71 of 200

1

The system calls that an OS makes available

Select one or more of the following:

  • can only be used by the OS.

  • must never be used by the OS

  • are the OS interface for user programs.

  • are provided as a convenience, but aren't really necessary.

  • None of the above

Explanation

Question 72 of 200

1

The difference(s) between a program and a process are

Select one or more of the following:

  • programs are static (non-executing).

  • programs are never part of the
    operating system.

  • processes also contain a run-time stack and program counter.

  • processes make use of system calls, but programs don't.

  • None of the above

Explanation

Question 73 of 200

1

A process

Select one or more of the following:

  • must use system calls to accomplish
    anything useful.

  • usually only directly communicates with its parent (or child) process(es).

  • may create a child process.

  • cannot use system calls unless it is being run by the
    administrator/root user.

  • None of the above

Explanation

Question 74 of 200

1

When a problem or unusual condition is encountered, a process can send
signals to other processes. Processes receiving a signal

Select one or more of the following:

  • are required to provide a signal handler.

  • can specify specific functions to be called when a particular
    type of signal is received.

  • run the function named "sighand" to handle the signal.

  • run the specified signal handler function, which takes over
    execution when the signal is received.

  • None of the above

Explanation

Question 75 of 200

1

Every process is limited by the restrictions placed upon it by the
OS as determined by the process' associated

Select one or more of the following:

  • programming language in which the code was written.

  • program source code file.

  • working directory in the file system.

  • user identification (uid).

  • None of the above

Explanation

Question 76 of 200

1

The address space of a process

Select one or more of the following:

  • is the size of the program file for the process.

  • is the range of addressable bytes starting at 0 up to a maximum, usually
    2^N - 1 (where N is the number of address bits).

  • is the amount of main memory initially
    requested/needed by the process.

  • can be broken into smaller chunks so that programs larger than
    the amount of main memory can be executed.

  • None of the above

Explanation

Question 77 of 200

1

System calls must be used to create new

Select one or more of the following:

  • processes.

  • user accounts.

  • programs.

  • files or directories.

  • None of the above

Explanation

Question 78 of 200

1

Every process has an associated

Select one or more of the following:

  • system call for accessing it.

  • working directory in the file system.

  • user identification (uid).

  • address space.

  • None of the above

Explanation

Question 79 of 200

1

A file descriptor is a unsigned number that processes use to reference
(e.g., read, write)

Select one or more of the following:

  • files that the process currently has open.

  • any file in the file system that the process is permitted to access/open.

  • entries in the process' table of active/open files.

  • all directories with the same user
    identification (uid) as the process.

  • None of the above

Explanation

Question 80 of 200

1

In addition to normal user files (e.g., text files) there are
also special files that enable

Select one or more of the following:

  • users to create new file systems.

  • hard disk drives (HDDs) to look like files.

  • keyboards and mice to look like files.

  • processes to directly communicate with one another.

  • None of the above

Explanation

Question 81 of 200

1

Every OS has an I/O subsystem that

Select one or more of the following:

  • implements the details of all read/write
    operations.

  • performs all of the cryptographic functions.

  • manages the devices attached to the computer.

  • enforces all of the OS security measures.

  • None of the above

Explanation

Question 82 of 200

1

The command interpreter which provides the non-GUI interface to the OS is

Select one or more of the following:

  • an ordinary program that uses system calls to access the
    capabilities of the OS.

  • a special program that directly implements all
    of the available commands.

  • often called the "shell".

  • unique, with each system having only one such program available.

  • None of the above

Explanation

Question 83 of 200

1

Which system organization is best described
as having: a set of service procedures that perform system calls;
utility procedures to assist in service procedure implementation;
and a main program that calls requested service procedures?

Select one or more of the following:

  • Monolithic System

  • Layered System

  • Micorkernel

  • Client-Server

  • None of the above

Explanation

Question 84 of 200

1

Which system organization is best described
as a sequence of abstractions built one on top of the other?

Select one or more of the following:

  • Layered System

  • Micorkernel

  • Exokernel

  • Client-Server

  • None of the above

Explanation

Question 85 of 200

1

Which system organization is best described
as having the absolute minimal portion of the OS facilities running
in kernel/supervisor mode, with the remaining portions running in
user mode?

Select one or more of the following:

  • Layered System

  • Micorkernel

  • Exokernel

  • Client-Server

  • None of the above

Explanation

Question 86 of 200

1

Which system organization best enables the
clean separation of policy and mechanism?

Select one or more of the following:

  • Layered System

  • Micorkernel

  • Exokernel

  • Client-Server

  • None of the above

Explanation

Question 87 of 200

1

Which system organization is best suited
for distributed systems?

Select one or more of the following:

  • Monolithic System

  • Layered System

  • Micorkernel

  • Client-Server

  • None of the above

Explanation

Question 88 of 200

1

Which of the following are examples of a layered OS?

Select one or more of the following:

  • Minix v1

  • THE

  • Windows NT

  • MULTICS

  • None of the above

Explanation

Question 89 of 200

1

Which of the following are examples of a microkernel OS?

Select one or more of the following:

  • Minix v1

  • THE

  • Windows NT

  • MULTICS

  • None of the above

Explanation

Question 90 of 200

1

A virtual machine is designed to

Select one or more of the following:

  • mimic any type of hardware so that older software can be run.

  • provide "copies" of the existing hardware so that multiple
    operating systems can be run at the same time.

  • allow the remote (aka "virtual") execution of programs on
    non-local hardware.

  • enable the use of virtual memory to run processes that require
    a larger address space than is otherwise supported by the hardware.

  • None of the above

Explanation

Question 91 of 200

1

An OS that runs directly on the hardware with other OSes running on top
of it, is called a(n)

Select one or more of the following:

  • type 1 hypervisor.

  • type 2 hypervisor.

  • exokernel.

  • microkernel

  • None of the above

Explanation

Question 92 of 200

1

An OS that runs on top of a host OS (that in turn is running on top of
the physical hardware), and which can host other OSes running on top of
it, is called a(n)

Select one or more of the following:

  • type 1 hypervisor.

  • type 2 hypervisor.

  • exokernel

  • microkernel

  • None of the above

Explanation

Question 93 of 200

1

Software that divides up the underlying physical hardware so that each
running OS has sole access to its assigned hardware is called a(n)

Select one or more of the following:

  • type 1 hypervisor.

  • type 2 hypervisor.

  • exokernel

  • microkernel

  • None of the above

Explanation

Question 94 of 200

1

A type 1 hypervisor

Select one or more of the following:

  • runs directly on the hardware and the operating systems run in
    the hypervisor.

  • runs on top of the host OS (which is running directly on the
    hardware). Additional operating systems run in the hypervisor.

  • divides the hardware up into slices, with each OS running
    directly on the hardware. It ensures that each OS
    only uses the parts of the hardware is was assigned.

  • provides a microkernel used by each of the operating systems
    running in the hypervisor. Each OS uses the microkernel
    system calls to interact with the hardware.

  • None of the above

Explanation

Question 95 of 200

1

A type 2 hypervisor

Select one or more of the following:

  • runs directly on the hardware and the operating systems run in
    the hypervisor.

  • runs on top of the host OS (which is running directly on the
    hardware). Additional operating systems run in the hypervisor.

  • divides the hardware up into slices, with each OS running
    directly on the hardware. It ensures that each OS
    only uses the parts of the hardware is was assigned.

  • provides a microkernel used by each of the operating systems
    running in the hypervisor. Each OS uses the microkernel
    system calls to interact with the hardware.

  • None of the above

Explanation

Question 96 of 200

1

An exokernel is different from a virtual machine in that it

Select one or more of the following:

  • runs directly on the hardware and the operating systems run in
    the hypervisor.

  • runs on top of the host OS (which is running directly on the
    hardware). Additional operating systems run in the hypervisor.

  • divides the hardware up into slices, with each OS running
    directly on the hardware. It ensures that each OS
    only uses the parts of the hardware is was assigned.

  • provides a microkernel used by each of the operating systems
    running in the hypervisor. Each OS uses the microkernel
    system calls to interact with the hardware.

  • None of the above

Explanation

Question 97 of 200

1

Which of the following mechanisms for running multiple operating systems
make the most efficient use of the common underlying physical hardware?

Select one or more of the following:

  • type 1 hypervisor

  • type 2 hypervisor

  • microkernel

  • exokernel

  • None of the above

Explanation

Question 98 of 200

1

The illusion that multiple processes are running at the same time is
known as

Select one or more of the following:

  • parallelism

  • pseudoparallelism

  • hyperthreading

  • multiprocessing

  • None of the above

Explanation

Question 99 of 200

1

Pseudoparallelism is commonly achieved on a single processor system by

Select one or more of the following:

  • letting each process run to completion.

  • executing each process until it blocks before running the next process.

  • running exactly one instruction from each process in
    round-robin fashion.

  • rapidly switching of the CPU between processes (multiprogramming).

  • None of the above

Explanation

Question 100 of 200

1

A process is

Select one or more of the following:

  • another name for a program.

  • the compiled (executable) version of a program.

  • a program in execution.

  • a program that is either running (in the CPU) or ready, but
    not blocked.

  • None of the above

Explanation

Question 101 of 200

1

Existing processes in a Unix/Linix/POSIX system can be viewed using
which command/facility?

Select one or more of the following:

  • task manager

  • pwd

  • ps

  • listAll

  • None of the above

Explanation

Question 102 of 200

1

Existing processes in a (Microsoft) Windows system can be viewed using
which command/facility?

Select one or more of the following:

  • task manager

  • pwd

  • ps

  • listAll

  • none of the above

Explanation

Question 103 of 200

1

Which of the following are voluntary reasons for
a process to terminate/exit?

Select one or more of the following:

  • Normal

  • Error

  • Fatal

  • Killed

  • None of the above

Explanation

Question 104 of 200

1

Which of the following are INvoluntary reasons
for a process to terminate/exit?

Select one or more of the following:

  • Killed

  • Normal

  • Error

  • Fatal

  • None of the above

Explanation

Question 105 of 200

1

Processes in a POSIX system exist as a hierarchy because

Select one or more of the following:

  • each process corresponds to a program file (and files are hierarchical).

  • except for the first process, all other
    processes are created by an existing process.

  • each process corresponds to a user identification, and uids are
    arranged hierarchically.

  • of the time frames in which they were created.

  • None of the above

Explanation

Question 106 of 200

1

Which of the following is not a state
in which an executing process can exist?

Select one or more of the following:

  • Running

  • Blocked

  • Ready

  • Waiting

  • None of the above

Explanation

Question 107 of 200

1

Which of the following is not a
transition between process states?

Select one or more of the following:

  • running to blocked

  • running to ready

  • ready to running

  • blocked to running

  • None of the above

Explanation

Question 108 of 200

1

Which of the following transition(s) are accomplished by the scheduler?

Select one or more of the following:

  • running to blocked

  • running to ready

  • ready to running

  • ready to blocked

  • None of the above

Explanation

Question 109 of 200

1

Which of the following transition(s) occur as the result of receiving
a signal?

Select one or more of the following:

  • ready to blocked

  • blocked to ready

  • running to ready

  • ready to running

  • None of the above

Explanation

Question 110 of 200

1

Which of the following transition(s) are accomplished when an I/O
operation is completed?

Select one or more of the following:

  • running to blocked

  • running to ready

  • blocked to running

  • blocked to ready

  • None of the above

Explanation

Question 111 of 200

1

Which state is a process in when it terminates normally?

Select one or more of the following:

  • Running

  • Blocked

  • Ready

  • Waiting

  • None of the above

Explanation

Question 112 of 200

1

Which state does a process first start in when it is created?

Select one or more of the following:

  • Running

  • Blocked

  • Ready

  • Waiting

  • None of the above

Explanation

Question 113 of 200

1

The process table is an array with each entry containing

Select one or more of the following:

  • the file of the corresponding program.

  • only the current program counter for that process.

  • only the process id number for that process.

  • all of the associated information for a
    single process.

  • None of the above

Explanation

Question 114 of 200

1

A process that has been started but has not
yet terminated, is represented by an entry in the process table when
the process is in which of the following states?

Select one or more of the following:

  • Running

  • Blocked

  • Ready

  • Waiting

  • None of the above

Explanation

Question 115 of 200

1

The POSIX system call that creates a new process is called

Select one or more of the following:

  • new

  • create

  • dup

  • fork

  • None of the above

Explanation

Question 116 of 200

1

The family of POSIX system calls that replace the current process with a
new one is called

Select one or more of the following:

  • replace

  • exec

  • dup2

  • getpid

  • None of the above

Explanation

Question 117 of 200

1

The POSIX system call that causes a parent process to wait for a specific
child process to finish is called

Select one or more of the following:

  • wait

  • waitpid

  • fini

  • done

  • getpid

Explanation

Question 118 of 200

1

The POSIX system call, signal is used to

Select one or more of the following:

  • send a signal to another process.

  • declare what signals may be sent to a process.

  • respond back to a signal sent from another process.

  • indicate which function should be called when a particular
    signal is received by the process.

  • None of the above

Explanation

Question 119 of 200

1

The POSIX system call that moves a running process to the blocked state
is called

Select one or more of the following:

  • wait

  • break

  • pause

  • block

  • None of the above

Explanation

Question 120 of 200

1

Threads are also commonly referred to as

Select one or more of the following:

  • hyperthreads

  • lightweight processes

  • execution traces

  • shared libraries

  • None of the above

Explanation

Question 121 of 200

1

When compared to processes, threads

Select one or more of the following:

  • are more limited in the size of their address space.

  • cannot be used for multiprogramming.

  • take the same amount of time for a context switch.

  • can be created and destroyed 10-100 times faster.

  • None of the above

Explanation

Question 122 of 200

1

Each thread must maintain its own

Select one or more of the following:

  • address space.

  • program counter.

  • run-time stack.

  • state (blocked, ready, running).

  • None of the above

Explanation

Question 123 of 200

1

Every process contains at least

Select one or more of the following:

  • one thread.

  • two threads, one each for execution and garbage collection.

  • three threads, for execution, signal management, and garbage collection.

  • one child process.

  • None of the above

Explanation

Question 124 of 200

1

Which of the following items belong to the process (rather than to
each of its threads)?

Select one or more of the following:

  • Program counter

  • Address space

  • Static variables

  • Run-time stack

  • Heap storage

  • Registers

  • File descriptors

  • Signal handlers

  • State (blocked, ready, running)

  • None of the above

Explanation

Question 125 of 200

1

Which of the following items belong to each thread (rather than to
the process)?

Select one or more of the following:

  • Program counter

  • Address space

  • Static variables

  • Run-time stack

  • Heap storage

  • Registers

  • File descriptors

  • Signal handlers

  • State (blocked, ready, running)

  • None of the above

Explanation

Question 126 of 200

1

Because the address space is shared by the process' threads, care
must be taken (to avoid race conditions)
when

Select one or more of the following:

  • calling the same function from multiple threads.

  • reading/setting values for the same static variables and heap
    allocated objects from multiple threads.

  • creating new threads.

  • a thread terminates.

  • None of the above

Explanation

Question 127 of 200

1

The POSIX pthread library call that creates a new thread is called

Select one or more of the following:

  • pthread_new

  • pthread_fork

  • pthread_create

  • pthread_dup

  • None of the above

Explanation

Question 128 of 200

1

The POSIX pthread library call that returns the thread's identification is
called

Select one or more of the following:

  • pthread_getid

  • pthread_self

  • pthread_pid

  • pthread_thread_id

  • None of the above

Explanation

Question 129 of 200

1

The POSIX pthread library call that terminates the calling thread is called

Select one or more of the following:

  • pthread_exit

  • pthread_terminate

  • pthread_yield

  • pthread_return

  • None of the above

Explanation

Question 130 of 200

1

The POSIX pthread library call that blocks the calling thread, resuming
when the indicated thread completes, is called

Select one or more of the following:

  • pthread_wait

  • pthread_block

  • pthread_pause

  • pthread_join

  • None of the above

Explanation

Question 131 of 200

1

The POSIX pthread library call that moves a running thread to the blocked
state is called

Select one or more of the following:

  • pthread_block

  • pthread_yield

  • pthread_stop

  • pthread_pause

  • None of the above

Explanation

Question 132 of 200

1

Threads that are managed in user/process space

Select one or more of the following:

  • require the OS to be thread aware.

  • require the process to keep track of the threads via a thread
    table (in addition to the process table that the OS maintains).

  • enable context switching that is about 10x faster than kernel space threads.

  • cause the entire process to block if any one of its threads blocks
    for a system resource.

  • None of the above

Explanation

Question 133 of 200

1

Threads that are managed in kernel space

Select one or more of the following:

  • requires the OS to be thread aware.

  • requires the process to keep track of the threads via a thread
    table (in addition to the process table that the OS maintains).

  • enables context switching that is about 10x faster than
    user/process space threads.

  • cause the entire process to block if any one of its threads blocks
    for a system resource.

  • None of the above

Explanation

Question 134 of 200

1

Thread pools are collections of already allocated/created threads that

Select one or more of the following:

  • are assigned as requested to reduce the costs of thread creation
    and destruction.

  • are only beneficial for user/process space managed threads.

  • are only beneficial for kernel space managed threads.

  • prevent an over abundance of threads, if the pool is the only
    means for acquiring a thread.

  • None of the above

Explanation

Question 135 of 200

1

Hybrid User-Kernel space thread management allocates

Select one or more of the following:

  • one or more kernel threads to a process, with the process able
    to start multiple user threads within each kernel thread.

  • exactly one user space and one kernel space thread to each process.

  • any number of user space and kernel space threads to each process as long as
    they are requested from the corresponding user and kernel thread pools.

  • only user space threads, but enables the kernel to recognize when
    a user thread is blocked.

  • None of the above

Explanation

Question 136 of 200

1

Scheduler activations use

Select one or more of the following:

  • kernel space threads, but only the process schedules them.

  • kernel space threads, but the process recommends to the OS
    which thread to schedule/run next.

  • user space threads, but the kernel recognizes when a blocked
    thread doesn't prevent other threads from running.

  • both user and kernel space threads for a process, with each
    thread type being scheduled as it normally would be.

  • None of the above

Explanation

Question 137 of 200

1

The key issues for interprocess communication are

Select one or more of the following:

  • message passing.

  • sharing information.

  • semaphores

  • sequencing process interactions.

  • None of the above

Explanation

Question 138 of 200

1

A race condition exists when

Select one or more of the following:

  • two or more processes share the same variable.

  • only user space threads are used for multiprogramming.

  • only kernel space threads are used for multiprogramming.

  • different execution orderings of instructions in multiple threads/processes
    can produce different results.

  • None of the above

Explanation

Question 139 of 200

1

Race conditions can occur when

Select one or more of the following:

  • two or more threads/processes can read (but
    not change) the same variable(s).

  • two or more threads/processes can read and write the same
    variable(s) via UNinterruptible actions.

  • two or more threads/processes can read and write the same
    variable(s) via interruptible actions.

  • when there is a mix of user space and kernel space threads
    within the same process, but no shared variable(s).

  • None of the above

Explanation

Question 140 of 200

1

A critical section is a portion of executable code

Select one or more of the following:

  • that makes system calls.

  • in which only one thread (or process) should be active at a time.

  • that is protected by one or more semaphores.

  • which is shared by multiple threads.

  • None of the above

Explanation

Question 141 of 200

1

Critical sections should be as small as possible because

Select one or more of the following:

  • larger critical sections run more slowly.

  • this reduces the amount of process blocking.

  • there is a maximum code size for which semaphores will work.

  • they must run completely through
    without blocking.

  • None of the above

Explanation

Question 142 of 200

1

Which of the following help to prevent difficulties when simultaneous
threads/processes share data?

Select one or more of the following:

  • No 2 threads/processes are in their critical sections at the same time.

  • No assumptions are made about process execution speeds.

  • No thread/process should wait arbitrarily long to enter its
    critical section.

  • No thread/process outside its critical section should block other
    threads/processes.

  • None of the above

Explanation

Question 143 of 200

1

Allowing processes to disable interrupts to prevent their being
interrupted while in their critical section(s) is
not a desirable solution since

Select one or more of the following:

  • it requires process threads to run in kernel space.

  • it requires process threads to run in user space.

  • a user program could use this to hog the CPU.

  • it fails to work if there are multiple CPUs.

  • None of the above

Explanation

Question 144 of 200

1

Strict alternation of processes can be accomplished by setting and
repeatedly checking a shared variable (i.e., spin locking), but this

Select one or more of the following:

  • is only suitable if the expected wait time is very short.

  • solution only works for two processes (or threads).

  • solution only works if there is only a single CPU involved.

  • is wasteful of the CPU resource.

  • None of the above

Explanation

Question 145 of 200

1

Peterson's solution uses what mechanism(s) to implement mutual exclusion
for a critical section?

Select one or more of the following:

  • disabling interrupts.

  • kernel space threads.

  • lock variable(s).

  • busy waiting.

  • None of the above

Explanation

Question 146 of 200

1

A test and set instruction is special because it

Select one or more of the following:

  • runs with interrupts disabled.

  • does the value copy and set as a single indivisible action.

  • works by performing the busy wait within a single instruction.

  • locks the memory bus.

  • None of the above

Explanation

Question 147 of 200

1

The priority inversion problem occurs when a busy waiting solution
for critical section access is used and

Select one or more of the following:

  • the busy waiting process/thread has a higher priority.

  • the busy waiting process/thread has a lower priority.

  • the busy waiting process/thread is a user space thread.

  • the busy waiting process/thread is a kernel space thread.

  • None of the above

Explanation

Question 148 of 200

1

The key feature(s) of the TSL instruction which allows it to implement
critical section access is

Select one or more of the following:

  • only being callable by the OS (and not by
    user programs).

  • saving the current value of a register while the register's
    value is set to a new value.

  • blocks if the value being assigned is different from the current
    value of the register.

  • that it is atomic (i.e., cannot be interrupted once begun).

  • None of the above

Explanation

Question 149 of 200

1

Assuming that sleep (causing the calling process to
block) and wakeup (which unblocks the indicated
process) are system calls, then they can be used to implement critical
sections if the following condition(s) are kept:

Select one or more of the following:

  • wakeup signals are not
    buffered.

  • sleep cannot be called by an already blocked process.

  • only strict alternation of critical sections is implemented.

  • wakeup is never called
    first.

  • None of the above

Explanation

Question 150 of 200

1

The sleep (causing the calling process to block) and
wakeup (which unblocks the indicated process)
calls enable

Select one or more of the following:

  • strictly alternating critical sections to be protected
    without busy waiting.

  • 2) strictly alternating critical sections to be protected but only
    when a test and set instruction is available.

  • the protection of any critical section so long as
    wakeup is never
    called first.

  • the protection of any critical section so long as
    sleep is never
    called twice in a row.

  • None of the above

Explanation

Question 151 of 200

1

The sleep (causing the calling process to block) and
wakeup (which unblocks the indicated process)
calls, can only support strictly alternating critical sections because

Select one or more of the following:

  • sleep only blocks a process for a maximum period of
    time.

  • sleep cannot be called by an already blocked process.

  • wakeup cannot unblock a process that called
    sleep twice in a row.

  • wakeup calls are not
    buffered.

  • None of the above

Explanation

Question 152 of 200

1

Semaphores were introduced in 1965 by

Select one or more of the following:

  • Gary Peterson

  • Andrew Tannenbaum

  • Edgar Dijkstra

  • Alan Turing

Explanation

Question 153 of 200

1

The P (DOWN) semaphore operation is best
described by

Select one or more of the following:

  • count--; if (count <= 0) { sleep(); }

  • sleep(); if (count <= 0) { count--; }

  • if (count <= 0) { count--; } sleep();

  • if (count <= 0) { sleep(); } count--;

Explanation

Question 154 of 200

1

The V (UP) semaphore operation is best
described by

Select one or more of the following:

  • if (count == 1) { wakeup(sleeping_process); } count++;

  • if (count == 1) { count++; } wakeup(sleeping_process);

  • wakeup(sleeping_process); if (count == 1) { count++; }

  • count++; if (count == 1) { wakeup(sleeping_process); }

Explanation

Question 155 of 200

1

The starting value (count) of a semaphore indicates the number of

Select one or more of the following:

  • total times that the semaphore can be used (e.g., P/DOWN operations).

  • available items of that resource.

  • different types of resources.

  • concurrent processes (but not threads)
    that can share the resource(s).

Explanation

Question 156 of 200

1

If semaphores are compared to having copies of a book in the library, then

Select one or more of the following:

  • P/DOWN is the equivalent of checking out a book.

  • P/DOWN is the equivalent of returning a book.

  • V/UP is the equivalent of checking out a book.

  • V/UP is the equivalent of returning a book.

Explanation

Question 157 of 200

1

The semaphore operations of P/DOWN and V/UP
must

Select one or more of the following:

  • be system calls.

  • behave atomically (i.e., uninterruptible).

  • be implemented in the OS kernel.

  • be implemented by the computer hardware.

Explanation

Question 158 of 200

1

A mutex is a binary semaphore that

Select one or more of the following:

  • is implemented using lock variables.

  • uses sleep and wakeup calls
    for its implementation.

  • is implemented using monitors.

  • is optimized for having only two values/states.

Explanation

Question 159 of 200

1

Monitors, unlike semaphores, must be
implemented as

Select one or more of the following:

  • a (system) library so that different languages can share the
    same implementation.

  • part of the programming language design.

  • part of the OS design.

  • a feature within the computer hardware.

Explanation

Question 160 of 200

1

Monitors are most easily adapted to programming languages that support

Select one or more of the following:

  • classes (e.g., Java).

  • records/structures (e.g., C).

  • functions (e.g., C, Cobol, Fortran).

  • conditional looping constructs, like "while" (e.g., C, Java).

Explanation

Question 161 of 200

1

What feature in Java can be used to implement a monitor?

Select one or more of the following:

  • virtualized

  • try-catch

  • finalized

  • synchronized

Explanation

Question 162 of 200

1

A different semaphore associated with each object instance can be used
to implement a monitor by having each

Select one or more of the following:

  • object do P/DOWN when it is created and a V/UP when it is destroyed.

  • object do V/UP when it is created and a P/DOWN when it is destroyed.

  • object method do P/DOWN when begun, and V/UP just before returning.

  • object method do V/UP when begun, and P/DOWN just before returning.

Explanation

Question 163 of 200

1

Which of the following interprocess communication mechanisms is well
suited for distributed sharing (i.e., across multiple computer systems)?

Select one or more of the following:

  • lock variables

  • semaphores

  • monitors

  • message passing

Explanation

Question 164 of 200

1

Message passing, like semaphores (and unlike monitors),

Select one or more of the following:

  • can easily be implemented as a (system) library so that different
    languages can share the same implementation.

  • must be part of the programming language
    design.

  • must be part of the OS design.

  • must be a feature within the computer hardware.

Explanation

Question 165 of 200

1

The "send" and "receive" system calls for message passing generally

Select one or more of the following:

  • must be used in conjunction with semaphores
    to perform the coordination (e.g., to ensure the "receive"r is ready
    and waiting when the "send" is done).

  • can only be used when the communicating processes are on different systems.

  • are considered impractically for efficiency reasons, and thus are
    seldom used.

  • must indicate the message contents and
    destination (for "send") and a place to store the message and the
    source (for "received").

Explanation

Question 166 of 200

1

Which of the following are typical design issues associated with messages?

Select one or more of the following:

  • Handling lost (or missing) messages.

  • Minimum message size.

  • Maximum time between messages.

  • Messages are received in the order they were sent.

Explanation

Question 167 of 200

1

A popular system that implements message passing, developed in the
early 1990s, and available for a variety of different languages
(e.g., Java, Python, C) is called

Select one or more of the following:

  • The Messaging Library (TML)

  • Message Passing Interface (MPI)

  • Distributed Messaging Library (DML)

  • Distributed Process Communication (DPC)

Explanation

Question 168 of 200

1

When a message passing system causes the sender to block until the
receiver is ready (and vice versa), these semantics are called a

Select one or more of the following:

  • rendezvous

  • date

  • coupling

  • synch-up.

Explanation

Question 169 of 200

1

The mechanism in POSIX systems that provides a maximum size "mailbox"
that causes the writing/sending process to block once the "mailbox"
becomes full (allowing the writer/sender to proceed only when there
is room in the "mailbox" - perhaps due to the receiver reading/removing
items), is called

Select one or more of the following:

  • mail

  • spooling

  • pipes

  • conduits

Explanation

Question 170 of 200

1

Barriers are useful when a number of different threads/processes need to

Select one or more of the following:

  • take turns working on a common task.

  • <strong>must all meet at a common place before
    proceeding to the next phase of a computation.

  • share a set of common variables/objects.

  • none of the threads/processes are allowed to go past
    a certain point in the computation.

Explanation

Question 171 of 200

1

If all the threads/processes take very
close to the same amount of time to reach the barrier, then a good
way of implementing the barrier is

Select one or more of the following:

  • spin locks.

  • semaphores

  • monitors

  • message passing.

Explanation

Question 172 of 200

1

The Dining Philosophers Problem is a synchronization problem developed
by Edgar Dijkstra to

Select one or more of the following:

  • show how monitors can handle situations that semaphores cannot.

  • show how semaphores can handle situations that message passing cannot.

  • demonstrate the use of semaphores.

  • demonstrate the use of message passing.

Explanation

Question 173 of 200

1

The Dining Philosophers Problem is comprised of

Select one or more of the following:

  • 5 philosophers each with a plate of slippery pasta.

  • philosophers needing to take turns eating, going around the
    table in a clockwise fashion.

  • 5 forks, one between each philosopher.

  • philosophers needing 2 forks to eat.

Explanation

Question 174 of 200

1

If no process within a group of processes is able to run because they
are all in the blocked state, and each
is waiting for the other to do something before it can continue, this
situation is called

Select one or more of the following:

  • starvation

  • deadlock

  • livelock

  • mutual stall.

Explanation

Question 175 of 200

1

If all the processes within a group of
processes is able to run (i.e., none are in the blocked state), but
none is able to accomplish any useful work for lack of a resource,
this situation is called

Select one or more of the following:

  • starvation

  • deadlock

  • livelock

  • resource hogging.

Explanation

Question 176 of 200

1

In the Dining Philosophers Problem, if each philosopher grabs a fork and
holds it until they are able to grab a second fork, this

Select one or more of the following:

  • leads to starvation.

  • leads to deadlock.

  • leads to livelock.

  • provides a correct solution.

Explanation

Question 177 of 200

1

In the Dining Philosophers Problem, if each philosopher grabs the fork
to their right, then seeing that the left fork is unavailable (having
been grabbed by the philosopher to their left) puts down the fork they
are holding, counts to 10, then tries again. This algorithm

Select one or more of the following:

  • leads to livelock.

  • leads to deadlock.

  • leads to resource hogging.

  • provides a correct solution.

Explanation

Question 178 of 200

1

The key to one working solution of the Dining Philosophers Problem is to
have philosophers exist in one of three states (THINING, HUNGRY, EATING)
and that when a philosopher is

Select one or more of the following:

  • finished EATING, she ensures that any HUNGRY philosopher sitting
    next to her gets an opportunity to eat.

  • HUNGRY, she waits until each of her neighbors is THINKING before
    trying to pick up forks.

  • THINKING, she waits until a neighbor is also THINKING before becoming HUNGRY.

  • finished THINKING, she waits until one of her neighbors is EATING
    before becoming HUNGRY.

Explanation

Question 179 of 200

1

The Readers and Writers Problem involves multiple processes trying to
read or write to the same shared variable, in which

Select one or more of the following:

  • only one reader or writer can access the variable at a time.

  • only one reader or multiple writers can access the variable at a time.

  • multiple readers or a single writer can access the variable at a time.

  • multiple readers or multiple writers can access the variable at a time.

Explanation

Question 180 of 200

1

The primary types of solutions to the Readers and Writers Problem are when

Select one or more of the following:

  • writers are given preference over readers.

  • readers are given preference over writers.

  • readers and writers have simultaneous access so that no
    preference is given to either one.

  • readers and writers strictly alternate, with every read followed
    by a write and every write followed by a read.

Explanation

Question 181 of 200

1

The scheduler is that part of the OS that

Select one or more of the following:

  • starts a new process.

  • manages the CPU.

  • determines when a blocked process becomes ready.

  • determines when a running process blocks.

Explanation

Question 182 of 200

1

The ability of the OS to switch from running one process to another
process VERY quickly is important because it

Select one or more of the following:

  • reduces the chance of an OS bug causing a problem.

  • increases the efficient use of the CPU.

  • helps reduce the response time for interactive users.

  • ensures peripheral resource availability.

Explanation

Question 183 of 200

1

Regarding the set of concerns that a process scheduling algorithm
should address,

Select one or more of the following:

  • all of them can be effectively address by a
    single algorithm.

  • an OS should use two or more scheduling algorithms alternately
    so as to address all of the concerns.

  • only a couple of the concerns are truly important, and the
    remainder can be safely ignored.

  • some of the concerns are contradictory, so invariably
    not all concerns can be addressed by
    the OS.

Explanation

Question 184 of 200

1

With respect to process scheduling, it is helpful to view a process as

Select one or more of the following:

  • being primarily CPU bound.

  • being primarily I/O bound.

  • an intense period of CPU usage.

  • alternating sequences of CPU usage and waiting for I/O.

Explanation

Question 185 of 200

1

A CPU bound process is one in which

Select one or more of the following:

  • it spends most of its time in the ready or running state.

  • it spends most of its time in the blocked state.

  • once it obtains the CPU, it runs to completion.

  • most of the time it's waiting for the memory to be available.

Explanation

Question 186 of 200

1

An I/O bound process is one in which

Select one or more of the following:

  • it spends most of its time in the ready or running state.

  • it spends most of its time in the blocked state.

  • once it obtains the CPU, it runs to completion.

  • most of the time it's waiting for the memory to be available.

Explanation

Question 187 of 200

1

Preemptive scheduling is when a process

Select one or more of the following:

  • spends most of its time in the ready or running state.

  • spends most of its time in the blocked state.

  • can be booted out of the CPU by the scheduler, before the
    process is finished.

  • can be booted out of the CPU by another user process, before the
    process is finished.

Explanation

Question 188 of 200

1

Non-preemptive scheduling is when a process

Select one or more of the following:

  • spends most of its time in the ready or running state.

  • spends most of its time in the blocked state.

  • never becomes blocked.

  • always runs to termination
    once it's in the CPU.

  • None of the above

Explanation

Question 189 of 200

1

Which type of process scheduling is
best
suited for interactive processing?

Select one or more of the following:

  • non-preemptive.

  • dedicated

  • busy wait.

  • preemptive

Explanation

Question 190 of 200

1

Which of the following are batch process scheduling algorithms?

Select one or more of the following:

  • Priority Scheduling.

  • First Come, First Serverd.

  • Guaranteed Scheduling.

  • Shortest Remaining Time.

Explanation

Question 191 of 200

1

The following steps describe which process scheduling algorithm?

Processes are added to a single queue in the order they are started.
The process at the front of the queue is run until it either completes, or blocks.
Once a process becomes ready again (after being blocked), it joins the end of the queue.

Select one or more of the following:

  • Round Robin Scheduling.

  • First Come, First Served.

  • Guaranteed Scheduling.

  • Fair-Share Scheduling.

Explanation

Question 192 of 200

1

Which of the following process scheduling algorithms needs to know the
typical amount of time that a process often takes to complete?

Select one or more of the following:

  • Guaranteed Scheduling.

  • Shortest Job First.

  • Priority Scheduling.

  • Fair-Share Scheduling.

  • Shortest Remaining Time.

Explanation

Question 193 of 200

1

Which of the following process scheduling algorithms favors CPU bound
over I/O bound processes?

Select one or more of the following:

  • First Come, First Served

  • Shortest Job First

  • Shortest Remaining Time

  • Guaranteed Scheduling.

Explanation

Question 194 of 200

1

Which of the following process scheduling algorithms improves the average
turnaround time on a batch system?

Select one or more of the following:

  • First Come, First Served

  • Shortest Job First

  • Shortest Remaining Time

  • Guaranteed Scheduling.

Explanation

Question 195 of 200

1

Which of the following process scheduling algorithms improves the average
throughput on a batch system?

Select one or more of the following:

  • First Come, First Served

  • Shortest Job First

  • Shortest Remaining Time

  • Guaranteed Scheduling.

Explanation

Question 196 of 200

1

The following steps describe which process scheduling algorithm?

Processes are chosen to run from the front of a single ready queue.
Each process can run a max time called a quantum.
Processes may block before all of their time quantum is used.
As processes become ready, they go to the end of the ready queue.

Select one or more of the following:

  • First Come, First Served.

  • Round Robin Scheduling.

  • Priority Scheduling.

  • Fair-Share Scheduling.

Explanation

Question 197 of 200

1

The following steps describe which process scheduling algorithm?

Each process has a priority.
The ready process with the highest priority runs next.
Priorities can be set statically and/or dynamically.

Select one or more of the following:

  • Round Robin Scheduling.

  • Guaranteed Scheduling.

  • Priority Scheduling.

  • Fair-Share Scheduling.

Explanation

Question 198 of 200

1

The following steps describe which process scheduling algorithm?

Each queue corresponds to a different max time quantum to run.
If a process uses all of its time quantum, it's added to the end of the next highest quantum queue when it's moved to the ready state.
If a process blocks before exhausting its time quantum, it's added to the end of the next lowest quantum queue when it's moved to the ready state.
The processes in queues with larger quantum are run less frequently.

Select one or more of the following:

  • Round Robin Scheduling.

  • Multiple Queues.

  • Priority Scheduling.

  • Fair-Share Scheduling.

Explanation

Question 199 of 200

1

Which process scheduling algorithm(s) are particularly well suited to
very slow context switching?

Select one or more of the following:

  • Guaranteed Scheduling.

  • Multiple Queues.

  • Lottery Scheduling.

  • First Come, First Served.

Explanation

Question 200 of 200

1

Which process scheduling algorithm(s) are particularly well suited to
enforcing an advertised policy?

Select one or more of the following:

  • Multiple Queues.

  • Guaranteed Scheduling.

  • Lottery Scheduling.

  • Fair-Share Scheduling.

Explanation