OS First Test Review

Description

Midterm review
sosa_savannah
Quiz by sosa_savannah, updated more than 1 year ago
sosa_savannah
Created by sosa_savannah about 9 years ago
21
0

Resource summary

Question 1

Question
Many of the statements in "C" are similar to those in "Java" since
Answer
  • 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

Question 2

Question
C has primitive types that are built into the language, but which of the following are not primitive types in C?
Answer
  • bool
  • string
  • int
  • char
  • None of the above

Question 3

Question
Whenever a boolean type result is required in C (e.g., in an "if" statement),
Answer
  • 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

Question 4

Question
In C, "&&" and "||" are short-circuit boolean operators just like in Java, while the "&" and "|" operators in C
Answer
  • Perform full boolean evaluation.
  • Are undefined.
  • Are synonyms for "&&" and "||".
  • Perform the bitwise-and and bitwise-or functions.
  • None of the above

Question 5

Question
The "!" operator in C is used to perform
Answer
  • 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

Question 6

Question
The assignment operator (=) in C
Answer
  • 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

Question 7

Question
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?
Answer
  • + and ++
  • = and ==
  • & and &&
  • | and ||
  • None of the above

Question 8

Question
This example of a pre-increment operator, "x = 12; array[++x] = 3;", assigns
Answer
  • "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

Question 9

Question
This example of a compound assignment, "x = 12; array[x += 2] = 5;",
Answer
  • 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

Question 10

Question
Which of the following are not used for either input or output in C?
Answer
  • scanf
  • getc
  • printf
  • fprintf
  • None of the above

Question 11

Question
Which of the following are used for input in C?
Answer
  • scanf
  • getc
  • printf
  • fprintf
  • None of the above

Question 12

Question
Which of the following are used for output in C?
Answer
  • scanf
  • getc
  • printf
  • fprintf
  • None of the above

Question 13

Question
All C programs should contain a "main" function with a signature matching
Answer
  • void main(char* argv[])
  • int main(string argv[])
  • void main(int argc, string argv[])
  • int main(int argc, char* argv[])
  • None of the above

Question 14

Question
The int value returned by the "main" function is used to indicate
Answer
  • 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

Question 15

Question
Function declarations in C must always have
Answer
  • 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

Question 16

Question
Function declarations (though not necessarily their implementations) in C
Answer
  • 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

Question 17

Question
Function implementations in C
Answer
  • 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

Question 18

Question
A "static" variable declaration within a function
Answer
  • 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

Question 19

Question
Variables declared as "static"
Answer
  • 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

Question 20

Question
Large C programs are often broken up into files ending with ".c" and ".h", but
Answer
  • ".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

Question 21

Question
The "extern" declaration in C is
Answer
  • 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

Question 22

Question
Arrays in C are indexed starting with
Answer
  • -1
  • 0
  • 1
  • the value indicated when they are declared.
  • None of the above

Question 23

Question
The index given for an array reference in C
Answer
  • 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

Question 24

Question
A "string" value in C is really an array of type "char". So the
Answer
  • 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

Question 25

Question
If an array index in C is outside the bounds of the array, then
Answer
  • 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

Question 26

Question
The declaration of an array (e.g., variables, function formal parameters) must always include the
Answer
  • 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

Question 27

Question
Arrays in C
Answer
  • 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

Question 28

Question
A pointer is another name for the
Answer
  • 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

Question 29

Question
In C, pointers are declared
Answer
  • 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

Question 30

Question
In C, if "x" and "y" are declared by "int x, *y;", then "y = &x;"
Answer
  • 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

Question 31

Question
This array declaration in C, "char name[10];",
Answer
  • 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

Question 32

Question
Which of the following declarations in C is equivalent to "char *var;"?
Answer
  • char &var;
  • char var[10];
  • char var[];
  • char &var[];
  • None of the above

Question 33

Question
Strings in C are represented as an array of "char"acters
Answer
  • 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

Question 34

Question
The address operator in C, ampersand (&),
Answer
  • 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

Question 35

Question
In C, if the following declaration/initialization is made, "int *x = &y;", then "x++"
Answer
  • 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

Question 36

Question
A "struct" declaration in C can group together
Answer
  • multiple data items.
  • data of the same type.
  • data of different types.
  • None of the above

Question 37

Question
A "struct" declaration in C always creates
Answer
  • 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

Question 38

Question
A self-recursive "struct" requires that at least one of its elements be declared as
Answer
  • "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

Question 39

Question
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
Answer
  • "typedef NAME = TYPE_DESCRIPTION;"
  • "typedef TYPE_DESCRIPTION NAME;"
  • "typedef NAME TYPE_DESCRIPTION;"
  • "NAME = typedef TYPE_DESCRIPTION;"
  • None of the above

Question 40

Question
Assuming the legal C variable declaration "person bob;" then the following declaration must also have been previously given ("..." represents other appropriate declarations):
Answer
  • "struct bob { ... };"
  • "typedef struct person { ... } bob;"
  • "typedef struct bob bob;"
  • "typedef person bob;"
  • None of the above

Question 41

Question
Assuming the legal C variable declaration "person bob;" then the following declaration must also have been previously given ("..." represents other appropriate declarations):
Answer
  • "struct person { ... };"
  • "typedef struct { ... } person;"
  • "typedef struct person bob;"
  • "typedef person bob;"
  • None of the above

Question 42

Question
Given the following legal C declarations typedef struct node { int x; struct node *next; } *nodeType;
Answer
  • "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

Question 43

Question
In C, the standard way to request heap storage space while a program is running is to use the function
Answer
  • getmem
  • new
  • malloc
  • heap_request
  • None of the above

Question 44

Question
The standard way in C to return heap storage that was previously allocated is to use the function
Answer
  • delete
  • return
  • free
  • putmem
  • None of the above

Question 45

Question
In C, it is possible to determine the size of a type (in bytes) by using the function
Answer
  • getsize
  • sizeof
  • sizeOfType
  • typeSize
  • None of the above

Question 46

Question
Which of the following C statements is a typical way that dynamic storage might be allocated?
Answer
  • int x = new int();
  • int *x = (int) getmem(int);
  • int x = malloc(typeSize(int));
  • int *x = (int*) malloc(sizeof(int));
  • None of the above

Question 47

Question
An operating system (OS) provides
Answer
  • 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

Question 48

Question
Which of the following are program types in an operating system (OS)?
Answer
  • System programs
  • Adventure games.
  • Application programs
  • CAPTCHAs (Completely Automated Public Turing test to tell Computers and Humans Apart).
  • None of the above

Question 49

Question
Which of the following are layers within an operating system (OS)?
Answer
  • Machine language
  • Command interpreter (shell)
  • Physical devices
  • Microcode
  • None of the above

Question 50

Question
The operating system (OS) is that part of the system which
Answer
  • 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

Question 51

Question
When viewed as an abstract machine, the operating system (OS)
Answer
  • 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

Question 52

Question
When viewed as a resource manager, the operating system (OS)
Answer
  • 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

Question 53

Question
The most common small computer architecture is the
Answer
  • packet switched.
  • bus
  • circuit switched.
  • fully connected backplane.
  • None of the above

Question 54

Question
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.] [blank_start]______[blank_end] A ______ B ______ C ______ D ______ E ______ F ______ G
Answer
  • CPU
  • Memory
  • Input and Output
  • Control bus (or Data bus)
  • Address bus
  • System bus

Question 55

Question
The system bus on a small computer system is typically composed of the
Answer
  • control bus.
  • address bus
  • data bus.
  • memory bus.
  • None of the above

Question 56

Question
A bus architecture typically allows
Answer
  • 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

Question 57

Question
The internet is an example of a
Answer
  • packet switched architecture.
  • bus architecture.
  • circuit switched architecture.
  • fully connected architecture.
  • None of the above

Question 58

Question
A computer processor is commonly composed of
Answer
  • an instruction fetch unit.
  • an instruction decoder.
  • an arithmetic logic unit.
  • a memory interface.
  • None of the above

Question 59

Question
Registers in those processors which utilize them
Answer
  • 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

Question 60

Question
Processor designs that can speed up computation include:
Answer
  • pipelining
  • multi-register
  • hyperthreaded
  • multi-core
  • None of the above

Question 61

Question
The memory hierarchy in computer design primarily reflects the
Answer
  • 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

Question 62

Question
A hard disk drive (HDD) can have access times that are
Answer
  • 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

Question 63

Question
Physical devices are accessed via their
Answer
  • 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

Question 64

Question
Which of the following are device communications styles used by operating systems?
Answer
  • Notify and Sleep
  • Busy waiting
  • Interrup driven
  • Direct Memory Access
  • None of the above

Question 65

Question
Approaches currently in common use for "installing" a new device driver include
Answer
  • 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

Question 66

Question
Device drivers that start an I/O then sit in a tight loop, checking to see when the operation is complete are using the
Answer
  • Direct Memory Access communication style.
  • Notify and Sleep communication style.
  • Busy waiting communication style.
  • Interrup driven communication style.
  • None of the above

Question 67

Question
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
Answer
  • Notify and Sleep communication style.
  • Busy waiting communication style.
  • Interrup driven communication style.
  • Direct Memory Access communication style.
  • None of the above

Question 68

Question
Device drivers that utilize special hardware to initiate and complete an entire data transfer are using the
Answer
  • Notify and Sleep communication style.
  • Busy waiting communication style.
  • Interrup driven communication style.
  • Direct Memory Access communication style.
  • None of the above

Question 69

Question
While the operating system (OS) is handling an interrupt
Answer
  • 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

Question 70

Question
The boot process for most small computer systems begins with the execution of the
Answer
  • 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

Question 71

Question
The system calls that an OS makes available
Answer
  • 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

Question 72

Question
The difference(s) between a program and a process are
Answer
  • 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

Question 73

Question
A process
Answer
  • 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

Question 74

Question
When a problem or unusual condition is encountered, a process can send signals to other processes. Processes receiving a signal
Answer
  • 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

Question 75

Question
Every process is limited by the restrictions placed upon it by the OS as determined by the process' associated
Answer
  • 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

Question 76

Question
The address space of a process
Answer
  • 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

Question 77

Question
System calls must be used to create new
Answer
  • processes.
  • user accounts.
  • programs.
  • files or directories.
  • None of the above

Question 78

Question
Every process has an associated
Answer
  • system call for accessing it.
  • working directory in the file system.
  • user identification (uid).
  • address space.
  • None of the above

Question 79

Question
A file descriptor is a unsigned number that processes use to reference (e.g., read, write)
Answer
  • 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

Question 80

Question
In addition to normal user files (e.g., text files) there are also special files that enable
Answer
  • 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

Question 81

Question
Every OS has an I/O subsystem that
Answer
  • 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

Question 82

Question
The command interpreter which provides the non-GUI interface to the OS is
Answer
  • 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

Question 83

Question
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?
Answer
  • Monolithic System
  • Layered System
  • Micorkernel
  • Client-Server
  • None of the above

Question 84

Question
Which system organization is best described as a sequence of abstractions built one on top of the other?
Answer
  • Layered System
  • Micorkernel
  • Exokernel
  • Client-Server
  • None of the above

Question 85

Question
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?
Answer
  • Layered System
  • Micorkernel
  • Exokernel
  • Client-Server
  • None of the above

Question 86

Question
Which system organization best enables the clean separation of policy and mechanism?
Answer
  • Layered System
  • Micorkernel
  • Exokernel
  • Client-Server
  • None of the above

Question 87

Question
Which system organization is best suited for distributed systems?
Answer
  • Monolithic System
  • Layered System
  • Micorkernel
  • Client-Server
  • None of the above

Question 88

Question
Which of the following are examples of a layered OS?
Answer
  • Minix v1
  • THE
  • Windows NT
  • MULTICS
  • None of the above

Question 89

Question
Which of the following are examples of a microkernel OS?
Answer
  • Minix v1
  • THE
  • Windows NT
  • MULTICS
  • None of the above

Question 90

Question
A virtual machine is designed to
Answer
  • 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

Question 91

Question
An OS that runs directly on the hardware with other OSes running on top of it, is called a(n)
Answer
  • type 1 hypervisor.
  • type 2 hypervisor.
  • exokernel.
  • microkernel
  • None of the above

Question 92

Question
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)
Answer
  • type 1 hypervisor.
  • type 2 hypervisor.
  • exokernel
  • microkernel
  • None of the above

Question 93

Question
Software that divides up the underlying physical hardware so that each running OS has sole access to its assigned hardware is called a(n)
Answer
  • type 1 hypervisor.
  • type 2 hypervisor.
  • exokernel
  • microkernel
  • None of the above

Question 94

Question
A type 1 hypervisor
Answer
  • 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

Question 95

Question
A type 2 hypervisor
Answer
  • 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

Question 96

Question
An exokernel is different from a virtual machine in that it
Answer
  • 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

Question 97

Question
Which of the following mechanisms for running multiple operating systems make the most efficient use of the common underlying physical hardware?
Answer
  • type 1 hypervisor
  • type 2 hypervisor
  • microkernel
  • exokernel
  • None of the above

Question 98

Question
The illusion that multiple processes are running at the same time is known as
Answer
  • parallelism
  • pseudoparallelism
  • hyperthreading
  • multiprocessing
  • None of the above

Question 99

Question
Pseudoparallelism is commonly achieved on a single processor system by
Answer
  • 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

Question 100

Question
A process is
Answer
  • 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

Question 101

Question
Existing processes in a Unix/Linix/POSIX system can be viewed using which command/facility?
Answer
  • task manager
  • pwd
  • ps
  • listAll
  • None of the above

Question 102

Question
Existing processes in a (Microsoft) Windows system can be viewed using which command/facility?
Answer
  • task manager
  • pwd
  • ps
  • listAll
  • none of the above

Question 103

Question
Which of the following are voluntary reasons for a process to terminate/exit?
Answer
  • Normal
  • Error
  • Fatal
  • Killed
  • None of the above

Question 104

Question
Which of the following are INvoluntary reasons for a process to terminate/exit?
Answer
  • Killed
  • Normal
  • Error
  • Fatal
  • None of the above

Question 105

Question
Processes in a POSIX system exist as a hierarchy because
Answer
  • 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

Question 106

Question
Which of the following is not a state in which an executing process can exist?
Answer
  • Running
  • Blocked
  • Ready
  • Waiting
  • None of the above

Question 107

Question
Which of the following is not a transition between process states?
Answer
  • running to blocked
  • running to ready
  • ready to running
  • blocked to running
  • None of the above

Question 108

Question
Which of the following transition(s) are accomplished by the scheduler?
Answer
  • running to blocked
  • running to ready
  • ready to running
  • ready to blocked
  • None of the above

Question 109

Question
Which of the following transition(s) occur as the result of receiving a signal?
Answer
  • ready to blocked
  • blocked to ready
  • running to ready
  • ready to running
  • None of the above

Question 110

Question
Which of the following transition(s) are accomplished when an I/O operation is completed?
Answer
  • running to blocked
  • running to ready
  • blocked to running
  • blocked to ready
  • None of the above

Question 111

Question
Which state is a process in when it terminates normally?
Answer
  • Running
  • Blocked
  • Ready
  • Waiting
  • None of the above

Question 112

Question
Which state does a process first start in when it is created?
Answer
  • Running
  • Blocked
  • Ready
  • Waiting
  • None of the above

Question 113

Question
The process table is an array with each entry containing
Answer
  • 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

Question 114

Question
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?
Answer
  • Running
  • Blocked
  • Ready
  • Waiting
  • None of the above

Question 115

Question
The POSIX system call that creates a new process is called
Answer
  • new
  • create
  • dup
  • fork
  • None of the above

Question 116

Question
The family of POSIX system calls that replace the current process with a new one is called
Answer
  • replace
  • exec
  • dup2
  • getpid
  • None of the above

Question 117

Question
The POSIX system call that causes a parent process to wait for a specific child process to finish is called
Answer
  • wait
  • waitpid
  • fini
  • done
  • getpid

Question 118

Question
The POSIX system call, signal is used to
Answer
  • 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

Question 119

Question
The POSIX system call that moves a running process to the blocked state is called
Answer
  • wait
  • break
  • pause
  • block
  • None of the above

Question 120

Question
Threads are also commonly referred to as
Answer
  • hyperthreads
  • lightweight processes
  • execution traces
  • shared libraries
  • None of the above

Question 121

Question
When compared to processes, threads
Answer
  • 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

Question 122

Question
Each thread must maintain its own
Answer
  • address space.
  • program counter.
  • run-time stack.
  • state (blocked, ready, running).
  • None of the above

Question 123

Question
Every process contains at least
Answer
  • 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

Question 124

Question
Which of the following items belong to the process (rather than to each of its threads)?
Answer
  • Program counter
  • Address space
  • Static variables
  • Run-time stack
  • Heap storage
  • Registers
  • File descriptors
  • Signal handlers
  • State (blocked, ready, running)
  • None of the above

Question 125

Question
Which of the following items belong to each thread (rather than to the process)?
Answer
  • Program counter
  • Address space
  • Static variables
  • Run-time stack
  • Heap storage
  • Registers
  • File descriptors
  • Signal handlers
  • State (blocked, ready, running)
  • None of the above

Question 126

Question
Because the address space is shared by the process' threads, care must be taken (to avoid race conditions) when
Answer
  • 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

Question 127

Question
The POSIX pthread library call that creates a new thread is called
Answer
  • pthread_new
  • pthread_fork
  • pthread_create
  • pthread_dup
  • None of the above

Question 128

Question
The POSIX pthread library call that returns the thread's identification is called
Answer
  • pthread_getid
  • pthread_self
  • pthread_pid
  • pthread_thread_id
  • None of the above

Question 129

Question
The POSIX pthread library call that terminates the calling thread is called
Answer
  • pthread_exit
  • pthread_terminate
  • pthread_yield
  • pthread_return
  • None of the above

Question 130

Question
The POSIX pthread library call that blocks the calling thread, resuming when the indicated thread completes, is called
Answer
  • pthread_wait
  • pthread_block
  • pthread_pause
  • pthread_join
  • None of the above

Question 131

Question
The POSIX pthread library call that moves a running thread to the blocked state is called
Answer
  • pthread_block
  • pthread_yield
  • pthread_stop
  • pthread_pause
  • None of the above

Question 132

Question
Threads that are managed in user/process space
Answer
  • 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

Question 133

Question
Threads that are managed in kernel space
Answer
  • 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

Question 134

Question
Thread pools are collections of already allocated/created threads that
Answer
  • 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

Question 135

Question
Hybrid User-Kernel space thread management allocates
Answer
  • 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

Question 136

Question
Scheduler activations use
Answer
  • 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

Question 137

Question
The key issues for interprocess communication are
Answer
  • message passing.
  • sharing information.
  • semaphores
  • sequencing process interactions.
  • None of the above

Question 138

Question
A race condition exists when
Answer
  • 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

Question 139

Question
Race conditions can occur when
Answer
  • 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

Question 140

Question
A critical section is a portion of executable code
Answer
  • 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

Question 141

Question
Critical sections should be as small as possible because
Answer
  • 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

Question 142

Question
Which of the following help to prevent difficulties when simultaneous threads/processes share data?
Answer
  • 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

Question 143

Question
Allowing processes to disable interrupts to prevent their being interrupted while in their critical section(s) is not a desirable solution since
Answer
  • 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

Question 144

Question
Strict alternation of processes can be accomplished by setting and repeatedly checking a shared variable (i.e., spin locking), but this
Answer
  • 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

Question 145

Question
Peterson's solution uses what mechanism(s) to implement mutual exclusion for a critical section?
Answer
  • disabling interrupts.
  • kernel space threads.
  • lock variable(s).
  • busy waiting.
  • None of the above

Question 146

Question
A test and set instruction is special because it
Answer
  • 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

Question 147

Question
The priority inversion problem occurs when a busy waiting solution for critical section access is used and
Answer
  • 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

Question 148

Question
The key feature(s) of the TSL instruction which allows it to implement critical section access is
Answer
  • 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

Question 149

Question
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:
Answer
  • 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

Question 150

Question
The sleep (causing the calling process to block) and wakeup (which unblocks the indicated process) calls enable
Answer
  • 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

Question 151

Question
The sleep (causing the calling process to block) and wakeup (which unblocks the indicated process) calls, can only support strictly alternating critical sections because
Answer
  • 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

Question 152

Question
Semaphores were introduced in 1965 by
Answer
  • Gary Peterson
  • Andrew Tannenbaum
  • Edgar Dijkstra
  • Alan Turing

Question 153

Question
The P (DOWN) semaphore operation is best described by
Answer
  • count--; if (count <= 0) { sleep(); }
  • sleep(); if (count <= 0) { count--; }
  • if (count <= 0) { count--; } sleep();
  • if (count <= 0) { sleep(); } count--;

Question 154

Question
The V (UP) semaphore operation is best described by
Answer
  • 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); }

Question 155

Question
The starting value (count) of a semaphore indicates the number of
Answer
  • 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).

Question 156

Question
If semaphores are compared to having copies of a book in the library, then
Answer
  • 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.

Question 157

Question
The semaphore operations of P/DOWN and V/UP must
Answer
  • be system calls.
  • behave atomically (i.e., uninterruptible).
  • be implemented in the OS kernel.
  • be implemented by the computer hardware.

Question 158

Question
A mutex is a binary semaphore that
Answer
  • 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.

Question 159

Question
Monitors, unlike semaphores, must be implemented as
Answer
  • 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.

Question 160

Question
Monitors are most easily adapted to programming languages that support
Answer
  • classes (e.g., Java).
  • records/structures (e.g., C).
  • functions (e.g., C, Cobol, Fortran).
  • conditional looping constructs, like "while" (e.g., C, Java).

Question 161

Question
What feature in Java can be used to implement a monitor?
Answer
  • virtualized
  • try-catch
  • finalized
  • synchronized

Question 162

Question
A different semaphore associated with each object instance can be used to implement a monitor by having each
Answer
  • 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.

Question 163

Question
Which of the following interprocess communication mechanisms is well suited for distributed sharing (i.e., across multiple computer systems)?
Answer
  • lock variables
  • semaphores
  • monitors
  • message passing

Question 164

Question
Message passing, like semaphores (and unlike monitors),
Answer
  • 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.

Question 165

Question
The "send" and "receive" system calls for message passing generally
Answer
  • 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").

Question 166

Question
Which of the following are typical design issues associated with messages?
Answer
  • Handling lost (or missing) messages.
  • Minimum message size.
  • Maximum time between messages.
  • Messages are received in the order they were sent.

Question 167

Question
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
Answer
  • The Messaging Library (TML)
  • Message Passing Interface (MPI)
  • Distributed Messaging Library (DML)
  • Distributed Process Communication (DPC)

Question 168

Question
When a message passing system causes the sender to block until the receiver is ready (and vice versa), these semantics are called a
Answer
  • rendezvous
  • date
  • coupling
  • synch-up.

Question 169

Question
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
Answer
  • mail
  • spooling
  • pipes
  • conduits

Question 170

Question
Barriers are useful when a number of different threads/processes need to
Answer
  • 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.

Question 171

Question
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
Answer
  • spin locks.
  • semaphores
  • monitors
  • message passing.

Question 172

Question
The Dining Philosophers Problem is a synchronization problem developed by Edgar Dijkstra to
Answer
  • 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.

Question 173

Question
The Dining Philosophers Problem is comprised of
Answer
  • 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.

Question 174

Question
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
Answer
  • starvation
  • deadlock
  • livelock
  • mutual stall.

Question 175

Question
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
Answer
  • starvation
  • deadlock
  • livelock
  • resource hogging.

Question 176

Question
In the Dining Philosophers Problem, if each philosopher grabs a fork and holds it until they are able to grab a second fork, this
Answer
  • leads to starvation.
  • leads to deadlock.
  • leads to livelock.
  • provides a correct solution.

Question 177

Question
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
Answer
  • leads to livelock.
  • leads to deadlock.
  • leads to resource hogging.
  • provides a correct solution.

Question 178

Question
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
Answer
  • 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.

Question 179

Question
The Readers and Writers Problem involves multiple processes trying to read or write to the same shared variable, in which
Answer
  • 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.

Question 180

Question
The primary types of solutions to the Readers and Writers Problem are when
Answer
  • 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.

Question 181

Question
The scheduler is that part of the OS that
Answer
  • starts a new process.
  • manages the CPU.
  • determines when a blocked process becomes ready.
  • determines when a running process blocks.

Question 182

Question
The ability of the OS to switch from running one process to another process VERY quickly is important because it
Answer
  • 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.

Question 183

Question
Regarding the set of concerns that a process scheduling algorithm should address,
Answer
  • 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.

Question 184

Question
With respect to process scheduling, it is helpful to view a process as
Answer
  • 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.

Question 185

Question
A CPU bound process is one in which
Answer
  • 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.

Question 186

Question
An I/O bound process is one in which
Answer
  • 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.

Question 187

Question
Preemptive scheduling is when a process
Answer
  • 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.

Question 188

Question
Non-preemptive scheduling is when a process
Answer
  • 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

Question 189

Question
Which type of process scheduling is best suited for interactive processing?
Answer
  • non-preemptive.
  • dedicated
  • busy wait.
  • preemptive

Question 190

Question
Which of the following are batch process scheduling algorithms?
Answer
  • Priority Scheduling.
  • First Come, First Serverd.
  • Guaranteed Scheduling.
  • Shortest Remaining Time.

Question 191

Question
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.
Answer
  • Round Robin Scheduling.
  • First Come, First Served.
  • Guaranteed Scheduling.
  • Fair-Share Scheduling.

Question 192

Question
Which of the following process scheduling algorithms needs to know the typical amount of time that a process often takes to complete?
Answer
  • Guaranteed Scheduling.
  • Shortest Job First.
  • Priority Scheduling.
  • Fair-Share Scheduling.
  • Shortest Remaining Time.

Question 193

Question
Which of the following process scheduling algorithms favors CPU bound over I/O bound processes?
Answer
  • First Come, First Served
  • Shortest Job First
  • Shortest Remaining Time
  • Guaranteed Scheduling.

Question 194

Question
Which of the following process scheduling algorithms improves the average turnaround time on a batch system?
Answer
  • First Come, First Served
  • Shortest Job First
  • Shortest Remaining Time
  • Guaranteed Scheduling.

Question 195

Question
Which of the following process scheduling algorithms improves the average throughput on a batch system?
Answer
  • First Come, First Served
  • Shortest Job First
  • Shortest Remaining Time
  • Guaranteed Scheduling.

Question 196

Question
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.
Answer
  • First Come, First Served.
  • Round Robin Scheduling.
  • Priority Scheduling.
  • Fair-Share Scheduling.

Question 197

Question
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.
Answer
  • Round Robin Scheduling.
  • Guaranteed Scheduling.
  • Priority Scheduling.
  • Fair-Share Scheduling.

Question 198

Question
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.
Answer
  • Round Robin Scheduling.
  • Multiple Queues.
  • Priority Scheduling.
  • Fair-Share Scheduling.

Question 199

Question
Which process scheduling algorithm(s) are particularly well suited to very slow context switching?
Answer
  • Guaranteed Scheduling.
  • Multiple Queues.
  • Lottery Scheduling.
  • First Come, First Served.

Question 200

Question
Which process scheduling algorithm(s) are particularly well suited to enforcing an advertised policy?
Answer
  • Multiple Queues.
  • Guaranteed Scheduling.
  • Lottery Scheduling.
  • Fair-Share Scheduling.
Show full summary Hide full summary

Similar

System Analysis
R A
SQL Server 2014 - Part 2
Paul Doman
SQL Server 2014 - Part 1
Paul Doman
A2 Database Systems
s010380
Operating Systems
Tiffany Biles
3.3.1: The function of Operating Systems
Adam Cook
Operating Systems
Maelle Desmoulin
Operating Systems
Grace Latter Unk
Opeating Systems
Abbie Manley
Operating systems
Destiny Tree Unk
operating systems
Hollie Dawson Un