Operating System Quiz

CS 3307: OPERATING SYSTEMS 2
True or False: A power loss or system crash both present major challenges to a file system attempting to update persistent data structures.
Select one:
True
False

The correct answer is 'True'.
Question 2
Question text
In this method an additional back pointer is added to every block in the system; for example, each data block has a reference to the inode to which it belongs. When accessing a file, the file system can determine if the file is consistent by checking if the forward pointer (e.g., the address in the inode or direct block) points to a block that refers back to it.
Select one:
a. Journaling
b. Backpointer-based consistency
c. FSCK
d. Super block

The correct answer is: Backpointer-based consistency
Question 3

Question text
In this method when updating the disk, before over writing the structures in place, first write down a little note (somewhere else on the disk, in a well-known location) describing what you are about to do. Writing this note is the "write ahead" part, and we write it to a structure that we organize as a "log"; hence, write.
Select one:
a. Journaling
b. File system checker
c. FSCK
d. Super block

The correct answer is: Journaling
Question 4
Question text
This method is run before the file system is mounted and made available (assumes that no other file-system activity is on-going while it runs); once finished, the on disk file system should be consistent and thus can be made accessible to users.
Select one:
a. Journaling
b. Backpointer-based consistency
c. FSCK
d. Super block

The correct answer is: FSCK
Question 5

Question text
True or False: Inodes are organized in an array and placed on disk at a random location (or locations).
Select one:
True
False

The correct answer is 'False'.
Question 6

Question text
The checkpoint region (CR) is defined as:
Select one:
a. Unknown location to begin file lookups
b. Region used to store checkpoints
c. Fixed and known location on disk to begin a file lookup
d. Checkpoints for time hacks

The correct answer is: Fixed and known location on disk to begin a file lookup
Question 7

Question text
Log-structured File Systems are based on all the following except:
Select one:
a. Memory sizes had stabilized
b. File systems were not RAID-aware
c. Existing file systems perform poorly on many common workloads
d. Memory sizes were growing

The correct answer is: Memory sizes had stabilized
Question 8

Question text
True or False: Garbage in the file system is created when LFS leaves older versions of file structures all over the disk, scattered throughout the disk.
Select one:
True
False

The correct answer is 'True'.
Question 9

Question text
The primary mechanism used by modern storage systems to preserve data integrity is called the checksum. Some common functions used to compute the checksum are all except:
Select one:
a. Cyclical redundancy check (CRC)
b. Forward error correction and detection
c. XOR-based
d. Addition

The correct answer is: Forward error correction and detection
Question 10

Question text
The first failure mode of interest is called a misdirected write. This arises in disk and RAID controllers which write the data to disk correctly, except in the wrong location. A method to address this error is called:
Select one:
a. Cyclical redundancy check (CRC)
b. Zettabyte File System (ZFS)
c. Disk scrubbing
d. Physical identifier (physical ID)

The correct answer is: Physical identifier (physical ID)
Thread 0 holds the lock (i.e., it has called sem wait() but not yet called sem post()), and another thread (thread 1, say) tries to enter the critical section by calling sem wait(). In this case thread 1 must wait (putting itself to sleep and relinquishing the processor)?
Select one:
a. thread 1will find that the value of the semaphore is -1
b. thread 1will find that the value of the semaphore is 1
c. thread 1will find that the value of the semaphore is 0
d. thread 1will find that the value of the semaphore is 2


The correct answer is: thread 1will find that the value of the semaphore is 0
Question 2

Question text
Imagine two producers (Pa and Pb) both calling into put() at roughly the same time. Assume producer Pa gets to run first, and just starts to fill the first buffer entry (fill = 0 at line f1). Before Pa gets a chance to increment the fill counter to 1, it is interrupted. Producer Pb starts to run, and at line f1 it also puts its data into the 0th element of buffer, what happens to the old data?

sem_t empty;
sem_t full;
void *producer(void *arg) {
int i;
for (i = 0; i < loops; i++) {
sem_wait(&empty); // line p1
put(i); // line p2
sem_post(&full); // line p3
}
}
void *consumer(void *arg) {
int i, tmp = 0;
while (tmp != -1) {
sem_wait(&full); // line c1
tmp = get(); // line c2
sem_post(&empty); // line c3
printf("%d\n", tmp);
}
}
int main(int argc, char *argv[]) {
// ...
sem_init(&empty, 0, MAX); // MAX buffers are empty to begin with...
sem_init(&full, 0, 0); // ... and 0 are full
// ...
}
Select one:
a. Backed up
b. Saved
c. Overwritten
d. Value = 0


The correct answer is: Overwritten
Question 3

Question text
True or False: Lookups simply read the data structure; as long as we can guarantee that no insert is on-going, we can allow many lookups to proceed concurrently.
Select one:
True
False

The correct answer is 'True'.
Question 4

Question text
Order violations occur assuming mThread is initially set to NULL; it is assumed that the following is true:
Thread 1::
void init() {
...
mThread = PR_CreateThread(mMain, ...);
...
}
Thread 2::
void mMain(...) {
...
mState = mThread->State;
...
}
Select one:
a. B should always be executed before A
b. A and B should execute simultaneously
c. The order does not matter
d. A should always be executed before B


The correct answer is: A should always be executed before B
Question 5

Question text
True or False: Atomicity violation bugs and order violation bugs are examples of Non-deadlock bugs.
Select one:
True
False

The correct answer is 'True'.
Question 6

Question text
When does the deadlock occur in this code?
Thread 1: Thread 2:
lock(L1); lock(L2);
lock(L2); lock(L1);
Select one:
a. Thread 1 grabs lock L1
b. Thread 2 grabs L2 and tries to acquire L1
c. Thread 1 grabs lock L1 and then a context switch occurs to Thread 2, then Thread 2 grabs L2 and tries to acquire L1
d. Deadlock does not necessarily occur


The correct answer is: Thread 1 grabs lock L1 and then a context switch occurs to Thread 2, then Thread 2 grabs L2 and tries to acquire L1
Question 7

Question text
This code is an example of receiving events via?
int select(int nfds,
fd_set *restrict readfds,
fd_set *restrict writefds,
fd_set *restrict errorfds,
struct timeval *restrict timeout);
Select one:
a. API poll ()
b. API select ()
c. Select
d. Poll


The correct answer is: API select ()
Question 8

Question text
How many times will this event loop execute?
e
while (1) {
events = getEvents();
for (x in events)
processEvent(x);
}:
Select one:
a. e
b. 1
c. x
d. Null


The correct answer is: x
Question 9

Question text
True or False: In a multi-threaded application, the developer has full control over what is scheduled at a given moment in time; rather, the programmer simply creates threads and then hopes that the underlying OS schedules them in a reasonable manner across available CPUs.
Select one:
True
False

The correct answer is 'False'.
Question 10

Question text
Rate the difficulty of the course so far:
Select one:
a. Too easy
b. Easy
c. Just Right
d. Too Hard


The correct answers are: Too easy, Easy, Just Right, Too Hard
True or False: Lookups simply read the data structure; as long as we can guarantee that no insert is on-going, we can allow many lookups to proceed concurrently.
Select one:
True
False

The correct answer is 'True'.
Question 2

Question text
True or False: Enabling more concurrency always increases performance.
Select one:
True
False

The correct answer is 'False'.
Question 3

Question text
In this example there are producer and consumer threads the code for a producer puts an integer in the shared buffer loops number of times, and a consumer gets the data out of that shared buffer each time printing it. Which line prints out the shared buffer?
1 void *producer(void *arg) {
2 int i;
3 int loops = (int) arg;
4 for (i = 0; i < loops; i++) {
5 put(i);
6 }
7 }
8
9 void *consumer(void *arg) {
10 int i;
11 while (1) {
12 int tmp = get();
13 printf("%d\n", tmp);
14 }
15 }
Select one:
a. 4 for (i = 0; i < loops; i++) {
b. void *producer(void *arg) {
c. 13 printf("%d\n", tmp);
d. 1 void *producer(void *arg) {

The correct answer is: 13 printf("%d\n", tmp);
Question 4

Question text
Order violations occur assuming mThread is initially set to NULL; it is assumed that the following is true:
Thread 1::
void init() {
...
mThread = PR_CreateThread(mMain, ...);
...
}
Thread 2::
void mMain(...) {
...
mState = mThread->State;
...
}
Select one:
a. B should always be executed before A
b. A and B should execute simultaneously
c. The order does not matter
d. A should always be executed before B

The correct answer is: A should always be executed before B
Question 5

Question text
How many times will this event loop execute?
e
while (1) {
events = getEvents();
for (x in events)
processEvent(x);
}:
Select one:
a. e
b. 1
c. x
d. Null

The correct answer is: x
Question 6

Question text
True or False: Locks work through mutual exclusion which preventing multiple threads from entering a critical section.
Select one:
True
False

The correct answer is 'True'.
Question 7

Question text
The test-and-set instruction, is also known as:
Select one:
a. Lock mechanism
b. Interrupt
c. atomic exchange
d. Stack

The correct answer is: atomic exchange
Question 8

Question text
True or False: Atomicity violation bugs and order violation bugs are examples of Non-deadlock bugs.
Select one:
True
False

The correct answer is 'True'.
Question 9

Question text
This code is an example of receiving events via?
int select(int nfds,
fd_set *restrict readfds,
fd_set *restrict writefds,
fd_set *restrict errorfds,
struct timeval *restrict timeout);
Select one:
a. API poll ()
b. API select ()
c. Select
d. Poll

The correct answer is: API select ()
Question 10

Question text
What capability allows multiple people to use one system at the same time?
Select one:
a. Multi-thread
b. Multi-user
c. Distributed Processing
d. Multitasking

The correct answer is: Multi-user
Question 11

Question text
When checking for a condition in a multi-threaded program, using a while loop is always correct; using an if statement only might be, depending on the semantics of signaling. Thus, always use while and your code will behave as expected. Which condition statement will unlock after the final condition is met?
1 // how many bytes of the heap are free?
2 int bytesLeft = MAX_HEAP_SIZE;
3
4 // need lock and condition too
5 cond_t c;
6 mutex_t m;
7
8 void *
9 allocate(int size) {
10 lock(&m);
11 while (bytesLeft < size)
12 cond_wait(&c, &m);
13 void *ptr = ...; // get mem from heap
14 bytesLeft -= size;
15 unlock(&m);
16 return ptr;
17 }
18
19 void free(void *ptr, int size) {
20 lock(&m);
21 bytesLeft += size;
22 cond_signal(&c); // whom to signal??
23 unlock(&m);
24 }
Select one:
a. 10 lock(&m);
b. 20 lock(&m);
c. 15 unlock(&m)
d. 23 unlock(&m);

The correct answer is: 23 unlock(&m);
Question 12

Question text
Which line is the first lock in this code?
typedef struct __counter_t {
int value;
pthread_lock_t lock;
} counter_t;
void init(counter_t *c) {
c->value = 0;
Pthread_mutex_init(&c->lock, NULL);
}
void increment(counter_t *c) {
Pthread_mutex_lock(&c->lock);
c->value++;
Pthread_mutex_unlock(&c->lock);
}
void decrement(counter_t *c) {
Pthread_mutex_lock(&c->lock);
c->value--;
Pthread_mutex_unlock(&c->lock);
}
int get(counter_t *c) {
Pthread_mutex_lock(&c->lock);
int rc = c->value;
Pthread_mutex_unlock(&c->lock);
return rc;
}
Select one:
a. Pthread_mutex_lock(&c->lock);
b. pthread_lock_t lock;
c. Pthread_mutex_lock(&c->lock);
d. Pthread_mutex_init(&c->lock, NULL)

The correct answer is: pthread_lock_t lock;
Question 13

Question text
Spin locks must be all of the following EXCEPT:
Select one:
a. Simple
b. Correct
c. Fair
d. Perform

The correct answer is: Simple
Question 14

Question text
POSIX threads library are those for providing mutual exclusion to a critical section via:
Select one:
a. API’s
b. Multi-threaded
c. locks
d. Keys

The correct answer is: locks
Question 15

Question text
In the single threaded address space you will find all EXCEPT:
Select one:
a. Heap
b. Program code
c. T1
d. Stack

The correct answer is: T1
Question 16

Question text
True or False: To use a condition variable, one has to in addition have a lock that is not associated with this condition.
Select one:
True
False

The correct answer is 'False'.
Question 17

Question text
Imagine two producers (Pa and Pb) both calling into put() at roughly the same time. Assume producer Pa gets to run first, and just starts to fill the first buffer entry (fill = 0 at line f1). Before Pa gets a chance to increment the fill counter to 1, it is interrupted. Producer Pb starts to run, and at line f1 it also puts its data into the 0th element of buffer, what happens to the old data?

sem_t empty;
sem_t full;
void *producer(void *arg) {
int i;
for (i = 0; i < loops; i++) {
sem_wait(&empty); // line p1
put(i); // line p2
sem_post(&full); // line p3
}
}
void *consumer(void *arg) {
int i, tmp = 0;
while (tmp != -1) {
sem_wait(&full); // line c1
tmp = get(); // line c2
sem_post(&empty); // line c3
printf("%d\n", tmp);
}
}
int main(int argc, char *argv[]) {
// ...
sem_init(&empty, 0, MAX); // MAX buffers are empty to begin with...
sem_init(&full, 0, 0); // ... and 0 are full
// ...
}
Select one:
a. Backed up
b. Saved
c. Overwritten
d. Value = 0

The correct answer is: Overwritten
Question 18

Question text
When does the deadlock occur in this code?
Thread 1: Thread 2:
lock(L1); lock(L2);
lock(L2); lock(L1);
Select one:
a. Thread 1 grabs lock L1
b. Thread 2 grabs L2 and tries to acquire L1
c. Thread 1 grabs lock L1 and then a context switch occurs to Thread 2, then Thread 2 grabs L2 and tries to acquire L1
d. Deadlock does not necessarily occur

The correct answer is: Thread 1 grabs lock L1 and then a context switch occurs to Thread 2, then Thread 2 grabs L2 and tries to acquire L1
Question 19

Question text
True or False: Concurrent data structures can be queues lists and counters only.
Select one:
True
False

The correct answer is 'False'.
Question 20

Question text
Thread 0 holds the lock (i.e., it has called sem wait() but not yet called sem post()), and another thread (thread 1, say) tries to enter the critical section by calling sem wait(). In this case thread 1 must wait (putting itself to sleep and relinquishing the processor)?
Select one:
a. thread 1will find that the value of the semaphore is -1
b. thread 1will find that the value of the semaphore is 1
c. thread 1will find that the value of the semaphore is 0
d. thread 1will find that the value of the semaphore is 2

The correct answer is: thread 1will find that the value of the semaphore is 0
True or False: A DMA engine is essentially a very specific device within a system that can orchestrate transfers between devices and main memory without much CPU intervention.
Select one:
True
False

The correct answer is 'True'.
Question 2

Question text
In terms of computer system architecture buses which of the following is not?
Select one:
a. Peripheral
b. Memory
c. CPU
d. Input/output


The correct answer is: CPU
Question 3

Question text
True or False: The track depicted in figure 36.1 has 12 sectors, each of which is 512 bytes in size (our typical sector size, recall) and addressed therefore by the numbers 1 through 12.
Select one:
True
False

The correct answer is 'False'.
Question 4

Question text
Data or I/O transfer to and from a disk is always faster when it is done?
Select one:
a. Direct
b. Random
c. SSTF
d. Sequentially


The correct answer is: Sequentially
Question 5

Question text
True or False: In modern systems versus older systems, disks cannot accommodate multiple outstanding requests, and have sophisticated internal schedulers themselves.
Select one:
True
False

The correct answer is 'False'.
Question 6

Question text
RAID technology is evaluated along 3 axis; which is not:
Select one:
a. Capacity
b. N Disks
c. Performance
d. Reliability


The correct answer is: N Disks
Question 7

Question text
RAID technology can take 3 essential designs; which is not:
Select one:
a. RAID Level 0(striping)
b. RAID Level 1 (Parity)
c. RAID Levels 4/5 (parity based redundancy)
d. RAID Level 1 (mirroring)


The correct answer is: RAID Level 1 (Parity)
Question 8

Question text
True or False: To compute the value of the new parity block there are two methods: subtractive and additive.
Select one:
True
False

The correct answer is 'True'.
Question 9

Question text
See Table 37.6. Which disk will get the parity bit P5 to remove the parity bit bottle-nick of RAID 4:
Select one:
a. Disk 0
b. Disk 1
c. Disk 2
d. Disk 3
e. Disk 4


The correct answer is: Disk 4
Question 10

Question text
RAID is setup with the following parameters; except (select all that apply):
Select one or more:
a. Handling small writes to disk
b. Number of Disks
c. Disk 1
d. Disk 2


The correct answers are: Disk 1, Disk 2
True or False: Locks work through mutual exclusion which preventing multiple threads from entering a critical section.
Select one:
True
False

The correct answer is 'True'.
Question 2

Question text
The test-and-set instruction, is also known as:
Select one:
a. Lock mechanism
b. Interrupt
c. atomic exchange
d. Stack


The correct answer is: atomic exchange
Question 3
Incorrect
Mark 0.00 out of 1.00

Question text
Spin locks must be all of the following EXCEPT:
Select one:
a. Simple
b. Correct
c. Fair
d. Perform


The correct answer is: Simple
Question 4
Incorrect
Mark 0.00 out of 1.00

Question text
True or False: Enabling more concurrency always increases performance.
Select one:
True
False

The correct answer is 'False'.
Question 5
Incorrect
Mark 0.00 out of 1.00

Question text
Which line is the first lock in this code?
typedef struct __counter_t {
int value;
pthread_lock_t lock;
} counter_t;
void init(counter_t *c) {
c->value = 0;
Pthread_mutex_init(&c->lock, NULL);
}
void increment(counter_t *c) {
Pthread_mutex_lock(&c->lock);
c->value++;
Pthread_mutex_unlock(&c->lock);
}
void decrement(counter_t *c) {
Pthread_mutex_lock(&c->lock);
c->value--;
Pthread_mutex_unlock(&c->lock);
}
int get(counter_t *c) {
Pthread_mutex_lock(&c->lock);
int rc = c->value;
Pthread_mutex_unlock(&c->lock);
return rc;
}
Select one:
a. Pthread_mutex_lock(&c->lock);
b. pthread_lock_t lock;
c. Pthread_mutex_lock(&c->lock);
d. Pthread_mutex_init(&c->lock, NULL)


The correct answer is: pthread_lock_t lock;
Question 6
Incorrect
Mark 0.00 out of 1.00

Question text
What is the purpose of this code?
// basic node structure
typedef struct __node_t {
int key;
struct __node_t *next;
} node_t;
// basic list structure (one used per list)
typedef struct __list_t {
node_t *head;
pthread_mutex_t lock;
} list_t;
void List_Init(list_t *L) {
L->head = NULL;
pthread_mutex_init(&L->lock, NULL);
}
int List_Insert(list_t *L, int key) {
pthread_mutex_lock(&L->lock);
node_t *new = malloc(sizeof(node_t));
if (new == NULL) {
perror("malloc");
pthread_mutex_unlock(&L->lock);
return -1; // fail
}
new->key = key;
new->next = L->head;
L->head = new;
pthread_mutex_unlock(&L->lock);
return 0; // success
}
int List_Lookup(list_t *L, int key) {
pthread_mutex_lock(&L->lock);
node_t *curr = L->head;
while (curr) {
if (curr->key == key) {
pthread_mutex_unlock(&L->lock);
return 0; // success
}
curr = curr->next;
}
pthread_mutex_unlock(&L->lock);
return -1; // failure
}
Select one:
a. Provides a failure path when the code fails.
b. pthread_mutex_unlock(&L->lock)
c. Acquires a lock in the insert routine upon entry, and only releases it on condition
d. Acquires a lock in the insert routine upon entry, and only releases it on exit


The correct answer is: Acquires a lock in the insert routine upon entry, and only releases it on exit
Question 7
Incorrect
Mark 0.00 out of 1.00

Question text
True or False: Concurrent data structures can be queues lists and counters only.
Select one:
True
False

The correct answer is 'False'.
Question 8
Not answered
Marked out of 1.00

Question text
In this example there are producer and consumer threads the code for a producer puts an integer in the shared buffer loops number of times, and a consumer gets the data out of that shared buffer each time printing it. Which line prints out the shared buffer?
1 void *producer(void *arg) {
2 int i;
3 int loops = (int) arg;
4 for (i = 0; i < loops; i++) {
5 put(i);
6 }
7 }
8
9 void *consumer(void *arg) {
10 int i;
11 while (1) {
12 int tmp = get();
13 printf("%d\n", tmp);
14 }
15 }
Select one:
a. 4 for (i = 0; i < loops; i++) {
b. void *producer(void *arg) {
c. 13 printf("%d\n", tmp);
d. 1 void *producer(void *arg) {


The correct answer is: 13 printf("%d\n", tmp);
Question 9
Incorrect
Mark 0.00 out of 1.00

Question text
When checking for a condition in a multi-threaded program, using a while loop is always correct; using an if statement only might be, depending on the semantics of signaling. Thus, always use while and your code will behave as expected. Which condition statement will unlock after the final condition is met?
1 // how many bytes of the heap are free?
2 int bytesLeft = MAX_HEAP_SIZE;
3
4 // need lock and condition too
5 cond_t c;
6 mutex_t m;
7
8 void *
9 allocate(int size) {
10 lock(&m);
11 while (bytesLeft < size)
12 cond_wait(&c, &m);
13 void *ptr = ...; // get mem from heap
14 bytesLeft -= size;
15 unlock(&m);
16 return ptr;
17 }
18
19 void free(void *ptr, int size) {
20 lock(&m);
21 bytesLeft += size;
22 cond_signal(&c); // whom to signal??
23 unlock(&m);
24 }
Select one:
a. 10 lock(&m);
b. 20 lock(&m);
c. 15 unlock(&m)
d. 23 unlock(&m);


The correct answer is: 23 unlock(&m);
Question 10

Question text
True or False: Condition variable is an explicit queue that threads can put themselves on when some state of execution (i.e., some condition) is not as desired by waiting on the condition.
Select one:
True
False

The correct answer is 'True'.

Fast File System (FFS) does all of the following except?
Select one:
a. Create Files and Directories
b. Allow for long file names
c. Disk defragmentation
d. Disk layout optimized for performance

The correct answer is: Disk defragmentation
Question 2

Question text
RAID technology can take 3 essential designs; which is not:
Select one:
a. RAID Level 0(striping)
b. RAID Level 1 (Parity)
c. RAID Levels 4/5 (parity based redundancy)
d. RAID Level 1 (mirroring)

The correct answer is: RAID Level 1 (Parity)
Question 3

Question text
This method is run before the file system is mounted and made available (assumes that no other file-system activity is on-going while it runs); once finished, the on disk file system should be consistent and thus can be made accessible to users.
Select one:
a. Journaling
b. Backpointer-based consistency
c. FSCK
d. Super block

The correct answer is: FSCK
Question 4

Question text
In terms of computer system architecture buses which of the following is not?
Select one:
a. Peripheral
b. Memory
c. CPU
d. Input/output

The correct answer is: CPU
Question 5

Question text
True or False: To compute the value of the new parity block there are two methods: subtractive and additive.
Select one:
True
False

The correct answer is 'True'.
Question 6

Question text
The primary mechanism used by modern storage systems to preserve data integrity is called the checksum. Some common functions used to compute the checksum are all except:
Select one:
a. Cyclical redundancy check (CRC)
b. Forward error correction and detection
c. XOR-based
d. Addition

The correct answer is: Forward error correction and detection
Question 7

Question text
True or False: Internal fragmentation not only wastes space within blocks, but bad for transfer as each block might require a positioning overhead to reach it.
Select one:
True
False

The correct answer is 'True'.
Question 8

Question text
The checkpoint region (CR) is defined as:
Select one:
a. Unknown location to begin file lookups
b. Region used to store checkpoints
c. Fixed and known location on disk to begin a file lookup
d. Checkpoints for time hacks

The correct answer is: Fixed and known location on disk to begin a file lookup
Question 9

Question text
Which of the following file systems is based on linked lists?
Select one:
a. vsfs
b. NTFS
c. FAT
d. NTFS

The correct answer is: FAT
Question 10

Question text
True or False: A DMA engine is essentially a very specific device within a system that can orchestrate transfers between devices and main memory without much CPU intervention.
Select one:
True
False

The correct answer is 'True'.
Question 11

Question text
True or False: Two key abstractions of virtual storage are files and directories.
Select one:
True
False

The correct answer is 'True'.
Question 12

Question text
True or False: The track depicted in figure 36.1 has 12 sectors, each of which is 512 bytes in size (our typical sector size, recall) and addressed therefore by the numbers 1 through 12.
Select one:
True
False

The correct answer is 'False'.
Question 13

Question text
The first failure mode of interest is called a misdirected write. This arises in disk and RAID controllers which write the data to disk correctly, except in the wrong location. A method to address this error is called:
Select one:
a. Cyclical redundancy check (CRC)
b. Zettabyte File System (ZFS)
c. Disk scrubbing
d. Physical identifier (physical ID)

The correct answer is: Physical identifier (physical ID)
Question 14

Question text
True or False: In modern systems versus older systems, disks cannot accommodate multiple outstanding requests, and have sophisticated internal schedulers themselves.
Select one:
True
False

The correct answer is 'False'.
Question 15

Question text
True or False: A power loss or system crash both present major challenges to a file system attempting to update persistent data structures.
Select one:
True
False

The correct answer is 'True'.
Question 16

Question text
Log-structured File Systems are based on all the following except:
Select one:
a. Memory sizes had stabilized
b. File systems were not RAID-aware
c. Existing file systems perform poorly on many common workloads
d. Memory sizes were growing

The correct answer is: Memory sizes had stabilized
Question 17

Question text
In this method when updating the disk, before over writing the structures in place, first write down a little note (somewhere else on the disk, in a well-known location) describing what you are about to do. Writing this note is the "write ahead" part, and we write it to a structure that we organize as a "log"; hence, write.
Select one:
a. Journaling
b. File system checker
c. FSCK
d. Super block

The correct answer is: Journaling
Question 18

Question text
True or False: Inodes are organized in an array and placed on disk at a random location (or locations).
Select one:
True
False

The correct answer is 'False'.
Question 19

Question text
RAID is setup with the following parameters; except (select all that apply):
Select one or more:
a. Handling small writes to disk
b. Number of Disks
c. Disk 1
d. Disk 2

The correct answers are: Disk 1, Disk 2
Question 20

Question text
FFS uses APIs which include all EXCEPT:
Select one:
a. read()
b. move()
c. write()
d. open()

The correct answer is: move()

True or False: Garbage in the file system is created when LFS leaves older versions of file structures all over the disk, scattered throughout the disk.
Select one:
True
False

The correct answer is 'True'.
Question 2
Not answered
Marked out of 1.00

Question text
The first failure mode of interest is called a misdirected write. This arises in disk and RAID controllers which write the data to disk correctly, except in the wrong location. A method to address this error is called:
Select one:
a. Cyclical redundancy check (CRC)
b. Zettabyte File System (ZFS)
c. Disk scrubbing
d. Physical identifier (physical ID)

The correct answer is: Physical identifier (physical ID)
Question 3
Not answered
Marked out of 1.00

Question text
True or False: Lookups simply read the data structure; as long as we can guarantee that no insert is on-going, we can allow many lookups to proceed concurrently.
Select one:
True
False

The correct answer is 'True'.
Question 4
Not answered
Marked out of 1.00

Question text
The cache consistency problem actually has 2 sub problems (pick 2):
Select one or more:
a. Flush-on-close
b. Update visibility
c. Stale cache
d. Write buffering


The correct answers are: Update visibility, Stale cache
Question 5
Not answered
Marked out of 1.00

Question text
True or False: Inodes are organized in an array and placed on disk at a random location (or locations).
Select one:
True
False

The correct answer is 'False'.
Question 6
Not answered
Marked out of 1.00

Question text
True or False: Server recovery after a crash is more complicated. The problem that arises is that callbacks are kept in-memory; thus, when a server reboots, it has no idea which client machine has which files. Thus, upon server restart, each client of the server must realize that the server has crashed and treat all of their cache contents as validated, and (as above) reestablish the validity of a file before using it.
Select one:
True
False

The correct answer is 'False'.
Question 7
Not answered
Marked out of 1.00

Question text
To see what is mounted on your system, and at which points, simply run the mount program. What distributed file systems are mounted?
/dev/sda1 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda8 on /scratch type ext3 (rw)
/dev/sdb1 on /scratch.1 type xfs (rw)
/dev/sda6 on /tmp type ext3 (rw)
/dev/sda3 on /var type ext3 (rw)
/dev/sda7 on /var/vice/cache type ext3 (rw)
/dev/sda2 on /usr type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
AFS on /afs type afs (rw)
Select one:
a. tmpfs
b. ext3
c. sysfs
d. AFS


The correct answer is: AFS
Question 8
Not answered
Marked out of 1.00

Question text
What is the purpose of this code?
// basic node structure
typedef struct __node_t {
int key;
struct __node_t *next;
} node_t;
// basic list structure (one used per list)
typedef struct __list_t {
node_t *head;
pthread_mutex_t lock;
} list_t;
void List_Init(list_t *L) {
L->head = NULL;
pthread_mutex_init(&L->lock, NULL);
}
int List_Insert(list_t *L, int key) {
pthread_mutex_lock(&L->lock);
node_t *new = malloc(sizeof(node_t));
if (new == NULL) {
perror("malloc");
pthread_mutex_unlock(&L->lock);
return -1; // fail
}
new->key = key;
new->next = L->head;
L->head = new;
pthread_mutex_unlock(&L->lock);
return 0; // success
}
int List_Lookup(list_t *L, int key) {
pthread_mutex_lock(&L->lock);
node_t *curr = L->head;
while (curr) {
if (curr->key == key) {
pthread_mutex_unlock(&L->lock);
return 0; // success
}
curr = curr->next;
}
pthread_mutex_unlock(&L->lock);
return -1; // failure
}
Select one:
a. Provides a failure path when the code fails.
b. pthread_mutex_unlock(&L->lock)
c. Acquires a lock in the insert routine upon entry, and only releases it on condition
d. Acquires a lock in the insert routine upon entry, and only releases it on exit


The correct answer is: Acquires a lock in the insert routine upon entry, and only releases it on exit
Question 9
Not answered
Marked out of 1.00

Question text
FFS uses APIs which include all EXCEPT:
Select one:
a. read()
b. move()
c. write()
d. open()


The correct answer is: move()
Question 10
Not answered
Marked out of 1.00

Question text
Multi-Threaded Address Space is composed of all EXCEPT:
Select one:
a. Stack (1)
b. Stack (3)
c. Program code
d. Free


The correct answer is: Stack (3)
Question 11
Not answered
Marked out of 1.00

Question text
See Table 37.6. Which disk will get the parity bit P5 to remove the parity bit bottle-nick of RAID 4:
Select one:
a. Disk 0
b. Disk 1
c. Disk 2
d. Disk 3
e. Disk 4


The correct answer is: Disk 4
Question 12
Not answered
Marked out of 1.00

Question text
True or False: Condition variable is an explicit queue that threads can put themselves on when some state of execution (i.e., some condition) is not as desired by waiting on the condition.
Select one:
True
False

The correct answer is 'True'.
Question 13
Not answered
Marked out of 1.00

Question text
Imagine two producers (Pa and Pb) both calling into put() at roughly the same time. Assume producer Pa gets to run first, and just starts to fill the first buffer entry (fill = 0 at line f1). Before Pa gets a chance to increment the fill counter to 1, it is interrupted. Producer Pb starts to run, and at line f1 it also puts its data into the 0th element of buffer, what happens to the old data?

sem_t empty;
sem_t full;
void *producer(void *arg) {
int i;
for (i = 0; i < loops; i++) {
sem_wait(&empty); // line p1
put(i); // line p2
sem_post(&full); // line p3
}
}
void *consumer(void *arg) {
int i, tmp = 0;
while (tmp != -1) {
sem_wait(&full); // line c1
tmp = get(); // line c2
sem_post(&empty); // line c3
printf("%d\n", tmp);
}
}
int main(int argc, char *argv[]) {
// ...
sem_init(&empty, 0, MAX); // MAX buffers are empty to begin with...
sem_init(&full, 0, 0); // ... and 0 are full
// ...
}
Select one:
a. Backed up
b. Saved
c. Overwritten
d. Value = 0


The correct answer is: Overwritten
Question 14
Not answered
Marked out of 1.00

Question text
This code is an example of receiving events via?
int select(int nfds,
fd_set *restrict readfds,
fd_set *restrict writefds,
fd_set *restrict errorfds,
struct timeval *restrict timeout);
Select one:
a. API poll ()
b. API select ()
c. Select
d. Poll


The correct answer is: API select ()
Question 15
Not answered
Marked out of 1.00

Question text
How many times will this event loop execute?
e
while (1) {
events = getEvents();
for (x in events)
processEvent(x);
}:
Select one:
a. e
b. 1
c. x
d. Null

The correct answer is: x
Question 16
Not answered
Marked out of 1.00

Question text
Which two notions were introduced by AFSv2 (pick 2):
Select one or more:
a. Call back
b. state
c. AFSv2
d. File handle


The correct answers are: Call back, File handle
Question 17
Not answered
Marked out of 1.00

Question text
In this method when updating the disk, before over writing the structures in place, first write down a little note (somewhere else on the disk, in a well-known location) describing what you are about to do. Writing this note is the "write ahead" part, and we write it to a structure that we organize as a "log"; hence, write.
Select one:
a. Journaling
b. File system checker
c. FSCK
d. Super block

The correct answer is: Journaling
Question 18
Not answered
Marked out of 1.00

Question text
RAID is setup with the following parameters; except (select all that apply):
Select one or more:
a. Handling small writes to disk
b. Number of Disks
c. Disk 1
d. Disk 2

The correct answers are: Disk 1, Disk 2
Question 19
Not answered
Marked out of 1.00

Question text
When does the deadlock occur in this code?
Thread 1: Thread 2:
lock(L1); lock(L2);
lock(L2); lock(L1);
Select one:
a. Thread 1 grabs lock L1
b. Thread 2 grabs L2 and tries to acquire L1
c. Thread 1 grabs lock L1 and then a context switch occurs to Thread 2, then Thread 2 grabs L2 and tries to acquire L1
d. Deadlock does not necessarily occur

The correct answer is: Thread 1 grabs lock L1 and then a context switch occurs to Thread 2, then Thread 2 grabs L2 and tries to acquire L1
Question 20
Not answered
Marked out of 1.00

Question text
Imagine two producers (Pa and Pb) both calling into put() at roughly the same time. Assume producer Pa gets to run first, and just starts to fill the first buffer entry (fill = 0 at line f1). Before Pa gets a chance to increment the fill counter to 1, it is interrupted. Producer Pb starts to run, and at line f1 it also puts its data into the 0th element of buffer, what happens to the old data?

sem_t empty;
sem_t full;
void *producer(void *arg) {
int i;
for (i = 0; i < loops; i++) {
sem_wait(&empty); // line p1
put(i); // line p2
sem_post(&full); // line p3
}
}
void *consumer(void *arg) {
int i, tmp = 0;
while (tmp != -1) {
sem_wait(&full); // line c1
tmp = get(); // line c2
sem_post(&empty); // line c3
printf("%d\n", tmp);
}
}
int main(int argc, char *argv[]) {
// ...
sem_init(&empty, 0, MAX); // MAX buffers are empty to begin with...
sem_init(&full, 0, 0); // ... and 0 are full
// ...
}
Select one:
a. Backed up
b. Saved
c. Overwritten
d. Value = 0

The correct answer is: Overwritten
Question 21
Not answered
Marked out of 1.00

Question text
This method is run before the file system is mounted and made available (assumes that no other file-system activity is on-going while it runs); once finished, the on disk file system should be consistent and thus can be made accessible to users.
Select one:
a. Journaling
b. Backpointer-based consistency
c. FSCK
d. Super block

The correct answer is: FSCK
Question 22
Not answered
Marked out of 1.00

Question text
The primary mechanism used by modern storage systems to preserve data integrity is called the checksum. Some common functions used to compute the checksum are all except:
Select one:
a. Cyclical redundancy check (CRC)
b. Forward error correction and detection
c. XOR-based
d. Addition

The correct answer is: Forward error correction and detection
Question 23
Not answered
Marked out of 1.00

Question text
Log-structured File Systems are based on all the following except:
Select one:
a. Memory sizes had stabilized
b. File systems were not RAID-aware
c. Existing file systems perform poorly on many common workloads
d. Memory sizes were growing

The correct answer is: Memory sizes had stabilized
Question 24
Not answered
Marked out of 1.00

Question text
Fast File System (FFS) does all of the following except?
Select one:
a. Create Files and Directories
b. Allow for long file names
c. Disk defragmentation
d. Disk layout optimized for performance


The correct answer is: Disk defragmentation
Question 25
Not answered
Marked out of 1.00

Question text
Which of the following file systems is based on linked lists?
Select one:
a. vsfs
b. NTFS
c. FAT
d. NTFS


The correct answer is: FAT
Question 26
Not answered
Marked out of 1.00

Question text
Top 20 Critical Control 15: Controlled Access Based on the Need to Know is associated with which Associated NIST Special Publication 800-53, Revision 3, and Priority 1 Controls?
Select one:
a. CM-8 (a, c, d, 2, 3, 4), PM-5, PM-6
b. CA-2 (1, 2), CA-7 (1, 2), RA-3, RA-5 (4, 9), SA-12 (7)
c. AC-1, AC-2 (b, c), AC-3 (4), AC-4, AC-6, MP-3, RA-2 (a)
d. SC-18, SC-26, SI-3 (a, b, 1, 2, 5, 6)


The correct answer is: AC-1, AC-2 (b, c), AC-3 (4), AC-4, AC-6, MP-3, RA-2 (a)
Question 27
Not answered
Marked out of 1.00

Question text
NIST Publication 800-53 (Appendix F SECURITY CONTROL CATALOG); lookup what control CA-2 means:
Select one:
a. INTERNAL SYSTEM CONNECTION
b. BOUNDARY PROTECTION
c. SECURITY ASSESSMENT
d. PENETRATION TESTING


The correct answer is: SECURITY ASSESSMENT
Question 28
Not answered
Marked out of 1.00

Question text
True or False: NFSv2 is a stateless protocol which means the server tracks client states.
Select one:
True
False

The correct answer is 'False'.
Question 29
Not answered
Marked out of 1.00

Question text
True or False: Warning banners are not a control on the SANS SCORE checklist.
Select one:
True
False

The correct answer is 'False'.
Question 30
Not answered
Marked out of 1.00

Question text
Linux command used to create Boot and Rescue Disk which creates a boot disk manually.
Select one:
a. Makedisk
b. TCPwrappers
c. Xinedtd
d. Mkbootdisk


The correct answer is: Mkbootdisk
Question 31
Not answered
Marked out of 1.00

Question text
True or False: File systems have three aspects: data structures, access methods, and data.
Select one:
True
False

The correct answer is 'False'.
Question 32
Not answered
Marked out of 1.00

Question text
What command would you change to switch the letter printed by T2:
Time increases in the downwards direction, and each column shows when a different thread (the main one, or T1, or T2) is running:
main starts running
main prints "main: begin"
main creates thread T1
main creates thread T2
main waits for T1
T1 runs
T1 prints "A"
T1 returns
main waits for T2
T2 runs
T2 prints "B"
T2 returns
main prints "main: end"
Select one:
a. T1 = T2
b. T1 prints “A” or “B”
c. T2 prints “A”
d. T2 = T1


The correct answer is: T2 prints “A”
Question 33
Not answered
Marked out of 1.00

Question text
True or False: Locks work through mutual exclusion which preventing multiple threads from entering a critical section.
Select one:
True
False

The correct answer is 'True'.
Question 34
Not answered
Marked out of 1.00

Question text
True or False: Each thread has its own stack.
Select one:
True
False

The correct answer is 'True'.
Question 35
Not answered
Marked out of 1.00

Question text
True or False: To compute the value of the new parity block there are two methods: subtractive and additive.
Select one:
True
False

The correct answer is 'True'.
Question 36
Not answered
Marked out of 1.00

Question text
True or False: A DMA engine is essentially a very specific device within a system that can orchestrate transfers between devices and main memory without much CPU intervention.
Select one:
True
False

The correct answer is 'True'.
Question 37
Not answered
Marked out of 1.00

Question text
True or False: In modern systems versus older systems, disks cannot accommodate multiple outstanding requests, and have sophisticated internal schedulers themselves.
Select one:
True
False

The correct answer is 'False'.
Question 38
Not answered
Marked out of 1.00

Question text
When checking for a condition in a multi-threaded program, using a while loop is always correct; using an if statement only might be, depending on the semantics of signaling. Thus, always use while and your code will behave as expected. Which condition statement will unlock after the final condition is met?
1 // how many bytes of the heap are free?
2 int bytesLeft = MAX_HEAP_SIZE;
3
4 // need lock and condition too
5 cond_t c;
6 mutex_t m;
7
8 void *
9 allocate(int size) {
10 lock(&m);
11 while (bytesLeft < size)
12 cond_wait(&c, &m);
13 void *ptr = ...; // get mem from heap
14 bytesLeft -= size;
15 unlock(&m);
16 return ptr;
17 }
18
19 void free(void *ptr, int size) {
20 lock(&m);
21 bytesLeft += size;
22 cond_signal(&c); // whom to signal??
23 unlock(&m);
24 }
Select one:
a. 10 lock(&m);
b. 20 lock(&m);
c. 15 unlock(&m)
d. 23 unlock(&m);


The correct answer is: 23 unlock(&m);
Question 39
Not answered
Marked out of 1.00

Question text
True or False: Internal fragmentation not only wastes space within blocks, but bad for transfer as each block might require a positioning overhead to reach it.
Select one:
True
False

The correct answer is 'True'.
Question 40
Not answered
Marked out of 1.00

Question text
The protocol design of AFS is particularly important in:
Select one:
a. Workstation caching
b. minimizing server interactions
c. single namespace
d. access control lists


The correct answer is: minimizing server interactions
Question 41
Not answered
Marked out of 1.00

Question text
RAID technology can take 3 essential designs; which is not:
Select one:
a. RAID Level 0(striping)
b. RAID Level 1 (Parity)
c. RAID Levels 4/5 (parity based redundancy)
d. RAID Level 1 (mirroring)


The correct answer is: RAID Level 1 (Parity)
Question 42
Not answered
Marked out of 1.00

Question text
How many times will this event loop execute?
e
while (1) {
events = getEvents();
for (x in events)
processEvent(x);
}:
Select one:
a. e
b. 1
c. x
d. Null


The correct answer is: x
Question 43
Not answered
Marked out of 1.00

Question text
True or False: In a multi-threaded application, the developer has full control over what is scheduled at a given moment in time; rather, the programmer simply creates threads and then hopes that the underlying OS schedules them in a reasonable manner across available CPUs.
Select one:
True
False

The correct answer is 'False'.
Question 44
Not answered
Marked out of 1.00

Question text
Top 20 Critical Security Controls for Linux includes all the following except:
Select one:
a. Bzip2
b. tar
c. gzip
d. rsynch


The correct answer is: rsynch
Question 45
Not answered
Marked out of 1.00

Question text
The checkpoint region (CR) is defined as:
Select one:
a. Unknown location to begin file lookups
b. Region used to store checkpoints
c. Fixed and known location on disk to begin a file lookup
d. Checkpoints for time hacks

The correct answer is: Fixed and known location on disk to begin a file lookup
Question 46
Not answered
Marked out of 1.00

Question text
POSIX threads library are those for providing mutual exclusion to a critical section via:
Select one:
a. API’s
b. Multi-threaded
c. locks
d. Keys


The correct answer is: locks
Question 47
Not answered
Marked out of 1.00

Question text
True or False: To use a condition variable, one has to in addition have a lock that is not associated with this condition.
Select one:
True
False

The correct answer is 'False'.
Question 48
Not answered
Marked out of 1.00

Question text
Which line is the first lock in this code?
typedef struct __counter_t {
int value;
pthread_lock_t lock;
} counter_t;
void init(counter_t *c) {
c->value = 0;
Pthread_mutex_init(&c->lock, NULL);
}
void increment(counter_t *c) {
Pthread_mutex_lock(&c->lock);
c->value++;
Pthread_mutex_unlock(&c->lock);
}
void decrement(counter_t *c) {
Pthread_mutex_lock(&c->lock);
c->value--;
Pthread_mutex_unlock(&c->lock);
}
int get(counter_t *c) {
Pthread_mutex_lock(&c->lock);
int rc = c->value;
Pthread_mutex_unlock(&c->lock);
return rc;
}
Select one:
a. Pthread_mutex_lock(&c->lock);
b. pthread_lock_t lock;
c. Pthread_mutex_lock(&c->lock);
d. Pthread_mutex_init(&c->lock, NULL)


The correct answer is: pthread_lock_t lock;
Question 49
Not answered
Marked out of 1.00

Question text
What is the purpose of this code?
// basic node structure
typedef struct __node_t {
int key;
struct __node_t *next;
} node_t;
// basic list structure (one used per list)
typedef struct __list_t {
node_t *head;
pthread_mutex_t lock;
} list_t;
void List_Init(list_t *L) {
L->head = NULL;
pthread_mutex_init(&L->lock, NULL);
}
int List_Insert(list_t *L, int key) {
pthread_mutex_lock(&L->lock);
node_t *new = malloc(sizeof(node_t));
if (new == NULL) {
perror("malloc");
pthread_mutex_unlock(&L->lock);
return -1; // fail
}
new->key = key;
new->next = L->head;
L->head = new;
pthread_mutex_unlock(&L->lock);
return 0; // success
}
int List_Lookup(list_t *L, int key) {
pthread_mutex_lock(&L->lock);
node_t *curr = L->head;
while (curr) {
if (curr->key == key) {
pthread_mutex_unlock(&L->lock);
return 0; // success
}
curr = curr->next;
}
pthread_mutex_unlock(&L->lock);
return -1; // failure
}
Select one:
a. Provides a failure path when the code fails.
b. pthread_mutex_unlock(&L->lock)
c. Acquires a lock in the insert routine upon entry, and only releases it on condition
d. Acquires a lock in the insert routine upon entry, and only releases it on exit

The correct answer is: Acquires a lock in the insert routine upon entry, and only releases it on exit
Question 50
Not answered
Marked out of 1.00

Question text
True or False: Lookups simply read the data structure; as long as we can guarantee that no insert is on-going, we can allow many lookups to proceed concurrently.
Select one:
True
False

The correct answer is 'True'.
True or False: Concurrent data structures can be queues lists and counters only.
Select one:
True
False

The correct answer is 'False'.
Question 2
Not answered
Marked out of 1.00

Question text
In this method an additional back pointer is added to every block in the system; for example, each data block has a reference to the inode to which it belongs. When accessing a file, the file system can determine if the file is consistent by checking if the forward pointer (e.g., the address in the inode or direct block) points to a block that refers back to it.
Select one:
a. Journaling
b. Backpointer-based consistency
c. FSCK
d. Super block

The correct answer is: Backpointer-based consistency
Question 3
Not answered
Marked out of 1.00

Question text
True or False: Locks work through mutual exclusion which preventing multiple threads from entering a critical section.
Select one:
True
False

The correct answer is 'True'.
Question 4
Not answered
Marked out of 1.00

Question text
Fast File System (FFS) does all of the following except?
Select one:
a. Create Files and Directories
b. Allow for long file names
c. Disk defragmentation
d. Disk layout optimized for performance

The correct answer is: Disk defragmentation
Question 5
Not answered
Marked out of 1.00

Question text
True or False: File systems have three aspects: data structures, access methods, and data.
Select one:
True
False

The correct answer is 'False'.
Question 6
Not answered
Marked out of 1.00

Question text
In terms of computer system architecture buses which of the following is not?
Select one:
a. Peripheral
b. Memory
c. CPU
d. Input/output


The correct answer is: CPU
Question 7
Not answered
Marked out of 1.00

Question text
True or False: The track depicted in figure 36.1 has 12 sectors, each of which is 512 bytes in size (our typical sector size, recall) and addressed therefore by the numbers 1 through 12.
Select one:
True
False

The correct answer is 'False'.
Question 8
Not answered
Marked out of 1.00

Question text
NIST Publication 800-53 (Appendix F SECURITY CONTROL CATALOG); lookup least privilege:
Select one:
a. LP-3
b. AC-1
c. AC-8
d. LP-1


The correct answer is: AC-8
Question 9
Not answered
Marked out of 1.00

Question text
Thread 0 holds the lock (i.e., it has called sem wait() but not yet called sem post()), and another thread (thread 1, say) tries to enter the critical section by calling sem wait(). In this case thread 1 must wait (putting itself to sleep and relinquishing the processor)?
Select one:
a. thread 1will find that the value of the semaphore is -1
b. thread 1will find that the value of the semaphore is 1
c. thread 1will find that the value of the semaphore is 0
d. thread 1will find that the value of the semaphore is 2

The correct answer is: thread 1will find that the value of the semaphore is 0
Question 10
Not answered
Marked out of 1.00

Question text
True or False: The track depicted in figure 36.1 has 12 sectors, each of which is 512 bytes in size (our typical sector size, recall) and addressed therefore by the numbers 1 through 12.
Select one:
True
False

The correct answer is 'False'.
Question 11
Not answered
Marked out of 1.00

Question text
Data or I/O transfer to and from a disk is always faster when it is done?
Select one:
a. Direct
b. Random
c. SSTF
d. Sequentially

The correct answer is: Sequentially
Question 12
Not answered
Marked out of 1.00

Question text
RAID is setup with the following parameters; except (select all that apply):
Select one or more:
a. Handling small writes to disk
b. Number of Disks
c. Disk 1
d. Disk 2


The correct answers are: Disk 1, Disk 2
Question 13
Not answered
Marked out of 1.00

Question text
True or False: SANS SCORE checklist recommends Telnet is for remote access.
Select one:
True
False

The correct answer is 'False'.
Question 14
Not answered
Marked out of 1.00

Question text
Which line is the first lock in this code?
typedef struct __counter_t {
int value;
pthread_lock_t lock;
} counter_t;
void init(counter_t *c) {
c->value = 0;
Pthread_mutex_init(&c->lock, NULL);
}
void increment(counter_t *c) {
Pthread_mutex_lock(&c->lock);
c->value++;
Pthread_mutex_unlock(&c->lock);
}
void decrement(counter_t *c) {
Pthread_mutex_lock(&c->lock);
c->value--;
Pthread_mutex_unlock(&c->lock);
}
int get(counter_t *c) {
Pthread_mutex_lock(&c->lock);
int rc = c->value;
Pthread_mutex_unlock(&c->lock);
return rc;
}
Select one:
a. Pthread_mutex_lock(&c->lock);
b. pthread_lock_t lock;
c. Pthread_mutex_lock(&c->lock);
d. Pthread_mutex_init(&c->lock, NULL)

The correct answer is: pthread_lock_t lock;
Question 15
Not answered
Marked out of 1.00

Question text
The following stores the state of each thread:
Select one:
a. TCB
b. PCB
c. T1
d. T2


The correct answer is: TCB
Question 16
Not answered
Marked out of 1.00

Question text
True or False: opening, reading, or writing a file incur I/O operations.
Select one:
True
False

The correct answer is 'True'.
Question 17
Not answered
Marked out of 1.00

Question text
To see the metadata for certain files we can issue the following commands?
Select one:
a. lseek() or stat ()
b. SEEK_SET or SET_CUR
c. stat() or fstat()
d. Input/output


The correct answer is: stat() or fstat()
Question 18
Not answered
Marked out of 1.00

Question text
True or False: Atomicity violation bugs and order violation bugs are examples of Non-deadlock bugs.
Select one:
True
False

The correct answer is 'True'.
Question 19
Not answered
Marked out of 1.00

Question text
True or False: All Linux systems support system logging.
Select one:
True
False

The correct answer is 'True'.
Question 20
Not answered
Marked out of 1.00

Question text
True or False: A power loss or system crash both present major challenges to a file system attempting to update persistent data structures.
Select one:
True
False

The correct answer is 'True'.
Question 21
Not answered
Marked out of 1.00

Question text
RAID technology is evaluated along 3 axis; which is not:
Select one:
a. Capacity
b. N Disks
c. Performance
d. Reliability


The correct answer is: N Disks
Question 22
Not answered
Marked out of 1.00

Question text
True or False: Garbage in the file system is created when LFS leaves older versions of file structures all over the disk, scattered throughout the disk.
Select one:
True
False

The correct answer is 'True'.
Question 23
Not answered
Marked out of 1.00

Question text
True or False: In modern systems versus older systems, disks cannot accommodate multiple outstanding requests, and have sophisticated internal schedulers themselves.
Select one:
True
False

The correct answer is 'False'.
Question 24
Not answered
Marked out of 1.00

Question text
The test-and-set instruction, is also known as:
Select one:
a. Lock mechanism
b. Interrupt
c. atomic exchange
d. Stack


The correct answer is: atomic exchange
Question 25
Not answered
Marked out of 1.00

Question text
True or False: UDP is more reliable than TCP because it is connection oriented communications.
Select one:
True
False

The correct answer is 'False'.
Question 26
Not answered
Marked out of 1.00

Question text
True or False: The entity-relationship (E-R) data model perceives the real world as consisting of basic objects, called entities, NOT the relationships among these objects.
Select one:
True
False

The correct answer is 'False'.
Question 27
Not answered
Marked out of 1.00

Question text
Client-side file system. A client application issues system calls to the client-side file system; which is not:
Select one:
a. mkdir()
b. read()
c. write()
d. disk write ()


The correct answer is: disk write ()
Question 28
Not answered
Marked out of 1.00

Question text
NIST Publication 800-53 (Appendix F SECURITY CONTROL CATALOG); lookup what control CM-8 means:
Select one:
a. CONFIGURATION MANAGEMENT
b. INTERNAL SYSTEM CONNECTION
c. INFORMATION SYSTEM COMPONENT INVENTORY
d. SECURITY ASSESSMENT


The correct answer is: INFORMATION SYSTEM COMPONENT INVENTORY
Question 29
Not answered
Marked out of 1.00

Question text
True or False: opening, reading, or writing a file incur I/O operations.
Select one:
True
False

The correct answer is 'True'.
Question 30
Not answered
Marked out of 1.00

Question text
In this example there are producer and consumer threads the code for a producer puts an integer in the shared buffer loops number of times, and a consumer gets the data out of that shared buffer each time printing it. Which line prints out the shared buffer?
1 void *producer(void *arg) {
2 int i;
3 int loops = (int) arg;
4 for (i = 0; i < loops; i++) {
5 put(i);
6 }
7 }
8
9 void *consumer(void *arg) {
10 int i;
11 while (1) {
12 int tmp = get();
13 printf("%d\n", tmp);
14 }
15 }
Select one:
a. 4 for (i = 0; i < loops; i++) {
b. void *producer(void *arg) {
c. 13 printf("%d\n", tmp);
d. 1 void *producer(void *arg) {


The correct answer is: 13 printf("%d\n", tmp);
Question 31
Not answered
Marked out of 1.00

Question text
True or False: AFS is whole-file caching on the local disk of the client machine that is accessing a file.
Select one:
True
False

The correct answer is 'True'.
Question 32
Not answered
Marked out of 1.00

Question text
The primary mechanism used by modern storage systems to preserve data integrity is called the checksum. Some common functions used to compute the checksum are all except:
Select one:
a. Cyclical redundancy check (CRC)
b. Forward error correction and detection
c. XOR-based
d. Addition

The correct answer is: Forward error correction and detection
Question 33
Not answered
Marked out of 1.00

Question text
Data or I/O transfer to and from a disk is always faster when it is done?
Select one:
a. Direct
b. Random
c. SSTF
d. Sequentially


The correct answer is: Sequentially
Question 34
Not answered
Marked out of 1.00

Question text
In the single threaded address space you will find all EXCEPT:
Select one:
a. Heap
b. Program code
c. T1
d. Stack


The correct answer is: T1
Question 35
Not answered
Marked out of 1.00

Question text
NIST Publication 800-53 (Appendix F SECURITY CONTROL CATALOG); Least privilege can refer to operating systems.
Select one:
True
False

The correct answer is 'True'.
Question 36
Not answered
Marked out of 1.00

Question text
Thread 0 holds the lock (i.e., it has called sem wait() but not yet called sem post()), and another thread (thread 1, say) tries to enter the critical section by calling sem wait(). In this case thread 1 must wait (putting itself to sleep and relinquishing the processor)?
Select one:
a. thread 1will find that the value of the semaphore is -1
b. thread 1will find that the value of the semaphore is 1
c. thread 1will find that the value of the semaphore is 0
d. thread 1will find that the value of the semaphore is 2


The correct answer is: thread 1will find that the value of the semaphore is 0
Question 37
Not answered
Marked out of 1.00

Question text
Log-structured File Systems are based on all the following except:
Select one:
a. Memory sizes had stabilized
b. File systems were not RAID-aware
c. Existing file systems perform poorly on many common workloads
d. Memory sizes were growing

The correct answer is: Memory sizes had stabilized
Question 38
Not answered
Marked out of 1.00

Question text
When the file is opened for the first time, the client-side file system sends a The LOOKUP request message from the client side for the pathname ( /home/remzi/foo.txt), the client would send three LOOKUPs which will not include:
Select one:
a. home in the directory
b. remzi in home
c. foo.txt
d. foo.txt in remzi


The correct answer is: foo.txt
Question 39
Not answered
Marked out of 1.00

Question text
Spin locks must be all of the following EXCEPT:
Select one:
a. Simple
b. Correct
c. Fair
d. Perform


The correct answer is: Simple
Question 40
Not answered
Marked out of 1.00

Question text
True or False: Enabling more concurrency always increases performance.
Select one:
True
False

The correct answer is 'False'.
Question 41
Not answered
Marked out of 1.00

Question text
What capability allows multiple people to use one system at the same time?
Select one:
a. Multi-thread
b. Multi-user
c. Distributed Processing
d. Multitasking


The correct answer is: Multi-user
Question 42
Not answered
Marked out of 1.00

Question text
When does the deadlock occur in this code?
Thread 1: Thread 2:
lock(L1); lock(L2);
lock(L2); lock(L1);
Select one:
a. Thread 1 grabs lock L1
b. Thread 2 grabs L2 and tries to acquire L1
c. Thread 1 grabs lock L1 and then a context switch occurs to Thread 2, then Thread 2 grabs L2 and tries to acquire L1
d. Deadlock does not necessarily occur


The correct answer is: Thread 1 grabs lock L1 and then a context switch occurs to Thread 2, then Thread 2 grabs L2 and tries to acquire L1
Question 43
Not answered
Marked out of 1.00

Question text
Free space management in modern file systems can be accomplished using each of these methods EXCEPT?
Select one:
a. free lists
b. bitmaps
c. pre-allocation policy
d. binary tree


The correct answer is: free lists
Question 44
Not answered
Marked out of 1.00

Question text
The following are all key concurrency terms EXCEPT:
Select one:
a. Mutual Exclusion
b. Non-Critical Section
c. Race Condition
d. Intermediate


The correct answer is: Non-Critical Section
Question 45
Not answered
Marked out of 1.00

Question text
True or False: Two key abstractions of virtual storage are files and directories.
Select one:
True
False

The correct answer is 'True'.
Question 46
Not answered
Marked out of 1.00

Question text
What command would you change to switch the letter printed by T2:
Time increases in the downwards direction, and each column shows when a different thread (the main one, or T1, or T2) is running:
main starts running
main prints "main: begin"
main creates thread T1
main creates thread T2
main waits for T1
T1 runs
T1 prints "A"
T1 returns
main waits for T2
T2 runs
T2 prints "B"
T2 returns
main prints "main: end"
Select one:
a. T1 = T2
b. T1 prints “A” or “B”
c. T2 prints “A”
d. T2 = T1

The correct answer is: T2 prints “A”
Question 47
Not answered
Marked out of 1.00

Question text
Order violations occur assuming mThread is initially set to NULL; it is assumed that the following is true:
Thread 1::
void init() {
...
mThread = PR_CreateThread(mMain, ...);
...
}
Thread 2::
void mMain(...) {
...
mState = mThread->State;
...
}
Select one:
a. B should always be executed before A
b. A and B should execute simultaneously
c. The order does not matter
d. A should always be executed before B


The correct answer is: A should always be executed before B
Question 48
Not answered
Marked out of 1.00

Question text
UDP uses all of the following except:
Select one:
a. Checksum
b. Sockets
c. stat() or fstat()
d. Datagrams


The correct answer is: stat() or fstat()
Question 49
Not answered
Marked out of 1.00

Question text
Rate the difficulty of the course so far:
Select one:
a. Too easy
b. Easy
c. Just Right
d. Too Hard


The correct answers are: Too easy, Easy, Just Right, Too Hard
Question 50
Not answered
Marked out of 1.00

Question text
The following are all key concurrency terms EXCEPT:
Select one:
a. Mutual Exclusion
b. Non-Critical Section
c. Race Condition
d. Intermediate

The correct answer is: Non-Critical Section

Free space management in modern file systems can be accomplished using each of these methods EXCEPT?
Select one:
a. free lists
b. bitmaps
c. pre-allocation policy
d. binary tree

The correct answer is: free lists
Question 2
Not answered
Marked out of 1.00

Question text
True or False: UDP is more reliable than TCP because it is connection oriented communications.
Select one:
True
False

The correct answer is 'False'.
Question 3
Not answered
Marked out of 1.00

Question text
True or False: A DMA engine is essentially a very specific device within a system that can orchestrate transfers between devices and main memory without much CPU intervention.
Select one:
True
False

The correct answer is 'True'.
Question 4
Not answered
Marked out of 1.00

Question text
In this example there are producer and consumer threads the code for a producer puts an integer in the shared buffer loops number of times, and a consumer gets the data out of that shared buffer each time printing it. Which line prints out the shared buffer?
1 void *producer(void *arg) {
2 int i;
3 int loops = (int) arg;
4 for (i = 0; i < loops; i++) {
5 put(i);
6 }
7 }
8
9 void *consumer(void *arg) {
10 int i;
11 while (1) {
12 int tmp = get();
13 printf("%d\n", tmp);
14 }
15 }
Select one:
a. 4 for (i = 0; i < loops; i++) {
b. void *producer(void *arg) {
c. 13 printf("%d\n", tmp);
d. 1 void *producer(void *arg) {

The correct answer is: 13 printf("%d\n", tmp);
Question 5
Not answered
Marked out of 1.00

Question text
True or False: Garbage in the file system is created when LFS leaves older versions of file structures all over the disk, scattered throughout the disk.
Select one:
True
False

The correct answer is 'True'.
Question 6
Not answered
Marked out of 1.00

Question text
True or False: File systems have three aspects: data structures, access methods, and data.
Select one:
True
False

The correct answer is 'False'.
Question 7
Not answered
Marked out of 1.00

Question text
What is the purpose of this code?
// basic node structure
typedef struct __node_t {
int key;
struct __node_t *next;
} node_t;
// basic list structure (one used per list)
typedef struct __list_t {
node_t *head;
pthread_mutex_t lock;
} list_t;
void List_Init(list_t *L) {
L->head = NULL;
pthread_mutex_init(&L->lock, NULL);
}
int List_Insert(list_t *L, int key) {
pthread_mutex_lock(&L->lock);
node_t *new = malloc(sizeof(node_t));
if (new == NULL) {
perror("malloc");
pthread_mutex_unlock(&L->lock);
return -1; // fail
}
new->key = key;
new->next = L->head;
L->head = new;
pthread_mutex_unlock(&L->lock);
return 0; // success
}
int List_Lookup(list_t *L, int key) {
pthread_mutex_lock(&L->lock);
node_t *curr = L->head;
while (curr) {
if (curr->key == key) {
pthread_mutex_unlock(&L->lock);
return 0; // success
}
curr = curr->next;
}
pthread_mutex_unlock(&L->lock);
return -1; // failure
}
Select one:
a. Provides a failure path when the code fails.
b. pthread_mutex_unlock(&L->lock)
c. Acquires a lock in the insert routine upon entry, and only releases it on condition
d. Acquires a lock in the insert routine upon entry, and only releases it on exit


The correct answer is: Acquires a lock in the insert routine upon entry, and only releases it on exit
Question 8
Not answered
Marked out of 1.00

Question text
What command would you change to switch the letter printed by T2:
Time increases in the downwards direction, and each column shows when a different thread (the main one, or T1, or T2) is running:
main starts running
main prints "main: begin"
main creates thread T1
main creates thread T2
main waits for T1
T1 runs
T1 prints "A"
T1 returns
main waits for T2
T2 runs
T2 prints "B"
T2 returns
main prints "main: end"
Select one:
a. T1 = T2
b. T1 prints “A” or “B”
c. T2 prints “A”
d. T2 = T1


The correct answer is: T2 prints “A”
Question 9
Not answered
Marked out of 1.00

Question text
True or False: Enabling more concurrency always increases performance.
Select one:
True
False

The correct answer is 'False'.
Question 10
Not answered
Marked out of 1.00

Question text
True or False: To use a condition variable, one has to in addition have a lock that is not associated with this condition.
Select one:
True
False

The correct answer is 'False'.
Question 11
Not answered
Marked out of 1.00

Question text
True or False: Two key abstractions of virtual storage are files and directories.
Select one:
True
False

The correct answer is 'True'.
Question 12
Not answered
Marked out of 1.00

Question text
When the file is opened for the first time, the client-side file system sends a The LOOKUP request message from the client side for the pathname ( /home/remzi/foo.txt), the client would send three LOOKUPs which will not include:
Select one:
a. home in the directory
b. remzi in home
c. foo.txt
d. foo.txt in remzi


The correct answer is: foo.txt
Question 13
Not answered
Marked out of 1.00

Question text
Fast File System (FFS) does all of the following except?
Select one:
a. Create Files and Directories
b. Allow for long file names
c. Disk defragmentation
d. Disk layout optimized for performance


The correct answer is: Disk defragmentation
Question 14
Not answered
Marked out of 1.00

Question text
The following stores the state of each thread:
Select one:
a. TCB
b. PCB
c. T1
d. T2


The correct answer is: TCB
Question 15
Not answered
Marked out of 1.00

Question text
When checking for a condition in a multi-threaded program, using a while loop is always correct; using an if statement only might be, depending on the semantics of signaling. Thus, always use while and your code will behave as expected. Which condition statement will unlock after the final condition is met?
1 // how many bytes of the heap are free?
2 int bytesLeft = MAX_HEAP_SIZE;
3
4 // need lock and condition too
5 cond_t c;
6 mutex_t m;
7
8 void *
9 allocate(int size) {
10 lock(&m);
11 while (bytesLeft < size)
12 cond_wait(&c, &m);
13 void *ptr = ...; // get mem from heap
14 bytesLeft -= size;
15 unlock(&m);
16 return ptr;
17 }
18
19 void free(void *ptr, int size) {
20 lock(&m);
21 bytesLeft += size;
22 cond_signal(&c); // whom to signal??
23 unlock(&m);
24 }
Select one:
a. 10 lock(&m);
b. 20 lock(&m);
c. 15 unlock(&m)
d. 23 unlock(&m);


The correct answer is: 23 unlock(&m);
Question 16
Not answered
Marked out of 1.00

Question text
True or False: All Linux systems support system logging.
Select one:
True
False

The correct answer is 'True'.
Question 17
Not answered
Marked out of 1.00

Question text
Which line is the first lock in this code?
typedef struct __counter_t {
int value;
pthread_lock_t lock;
} counter_t;
void init(counter_t *c) {
c->value = 0;
Pthread_mutex_init(&c->lock, NULL);
}
void increment(counter_t *c) {
Pthread_mutex_lock(&c->lock);
c->value++;
Pthread_mutex_unlock(&c->lock);
}
void decrement(counter_t *c) {
Pthread_mutex_lock(&c->lock);
c->value--;
Pthread_mutex_unlock(&c->lock);
}
int get(counter_t *c) {
Pthread_mutex_lock(&c->lock);
int rc = c->value;
Pthread_mutex_unlock(&c->lock);
return rc;
}
Select one:
a. Pthread_mutex_lock(&c->lock);
b. pthread_lock_t lock;
c. Pthread_mutex_lock(&c->lock);
d. Pthread_mutex_init(&c->lock, NULL)


The correct answer is: pthread_lock_t lock;
Question 18
Not answered
Marked out of 1.00

Question text
Rate the difficulty of the course so far:
Select one:
a. Too easy
b. Easy
c. Just Right
d. Too Hard


The correct answers are: Too easy, Easy, Just Right, Too Hard
Question 19
Not answered
Marked out of 1.00

Question text
True or False: Warning banners are not a control on the SANS SCORE checklist.
Select one:
True
False

The correct answer is 'False'.
Question 20
Not answered
Marked out of 1.00

Question text
Which of the following file systems is based on linked lists?
Select one:
a. vsfs
b. NTFS
c. FAT
d. NTFS


The correct answer is: FAT
Question 21
Not answered
Marked out of 1.00

Question text
True or False: Inodes are organized in an array and placed on disk at a random location (or locations).
Select one:
True
False

The correct answer is 'False'.
Question 22
Not answered
Marked out of 1.00

Question text
In this method an additional back pointer is added to every block in the system; for example, each data block has a reference to the inode to which it belongs. When accessing a file, the file system can determine if the file is consistent by checking if the forward pointer (e.g., the address in the inode or direct block) points to a block that refers back to it.
Select one:
a. Journaling
b. Backpointer-based consistency
c. FSCK
d. Super block

The correct answer is: Backpointer-based consistency
Question 23
Not answered
Marked out of 1.00

Question text
Client-side file system. A client application issues system calls to the client-side file system; which is not:
Select one:
a. mkdir()
b. read()
c. write()
d. disk write ()


The correct answer is: disk write ()
Question 24
Not answered
Marked out of 1.00

Question text
RAID is setup with the following parameters; except (select all that apply):
Select one or more:
a. Handling small writes to disk
b. Number of Disks
c. Disk 1
d. Disk 2


The correct answers are: Disk 1, Disk 2
Question 25
Not answered
Marked out of 1.00

Question text
True or False: Enabling more concurrency always increases performance.
Select one:
True
False

The correct answer is 'False'.
Question 26
Not answered
Marked out of 1.00

Question text
When checking for a condition in a multi-threaded program, using a while loop is always correct; using an if statement only might be, depending on the semantics of signaling. Thus, always use while and your code will behave as expected. Which condition statement will unlock after the final condition is met?
1 // how many bytes of the heap are free?
2 int bytesLeft = MAX_HEAP_SIZE;
3
4 // need lock and condition too
5 cond_t c;
6 mutex_t m;
7
8 void *
9 allocate(int size) {
10 lock(&m);
11 while (bytesLeft < size)
12 cond_wait(&c, &m);
13 void *ptr = ...; // get mem from heap
14 bytesLeft -= size;
15 unlock(&m);
16 return ptr;
17 }
18
19 void free(void *ptr, int size) {
20 lock(&m);
21 bytesLeft += size;
22 cond_signal(&c); // whom to signal??
23 unlock(&m);
24 }
Select one:
a. 10 lock(&m);
b. 20 lock(&m);
c. 15 unlock(&m)
d. 23 unlock(&m);

The correct answer is: 23 unlock(&m);
Question 27
Not answered
Marked out of 1.00

Question text
True or False: A DMA engine is essentially a very specific device within a system that can orchestrate transfers between devices and main memory without much CPU intervention.
Select one:
True
False

The correct answer is 'True'.
Question 28
Not answered
Marked out of 1.00

Question text
The cache consistency problem actually has 2 sub problems (pick 2):
Select one or more:
a. Flush-on-close
b. Update visibility
c. Stale cache
d. Write buffering


The correct answers are: Update visibility, Stale cache
Question 29
Not answered
Marked out of 1.00

Question text
RAID technology is evaluated along 3 axis; which is not:
Select one:
a. Capacity
b. N Disks
c. Performance
d. Reliability


The correct answer is: N Disks
Question 30
Not answered
Marked out of 1.00

Question text
Order violations occur assuming mThread is initially set to NULL; it is assumed that the following is true:
Thread 1::
void init() {
...
mThread = PR_CreateThread(mMain, ...);
...
}
Thread 2::
void mMain(...) {
...
mState = mThread->State;
...
}
Select one:
a. B should always be executed before A
b. A and B should execute simultaneously
c. The order does not matter
d. A should always be executed before B


The correct answer is: A should always be executed before B
Question 31
Not answered
Marked out of 1.00

Question text
True or False: Internal fragmentation not only wastes space within blocks, but bad for transfer as each block might require a positioning overhead to reach it.
Select one:
True
False

The correct answer is 'True'.
Question 32
Not answered
Marked out of 1.00

Question text
FFS uses APIs which include all EXCEPT:
Select one:
a. read()
b. move()
c. write()
d. open()

The correct answer is: move()
Question 33
Not answered
Marked out of 1.00

Question text
NIST Publication 800-53 (Appendix F SECURITY CONTROL CATALOG); lookup what control CM-8 means:
Select one:
a. CONFIGURATION MANAGEMENT
b. INTERNAL SYSTEM CONNECTION
c. INFORMATION SYSTEM COMPONENT INVENTORY
d. SECURITY ASSESSMENT


The correct answer is: INFORMATION SYSTEM COMPONENT INVENTORY
Question 34
Not answered
Marked out of 1.00

Question text
True or False: In a multi-threaded application, the developer has full control over what is scheduled at a given moment in time; rather, the programmer simply creates threads and then hopes that the underlying OS schedules them in a reasonable manner across available CPUs.
Select one:
True
False

The correct answer is 'False'.
Question 35
Not answered
Marked out of 1.00

Question text
True or False: The entity-relationship (E-R) data model perceives the real world as consisting of basic objects, called entities, NOT the relationships among these objects.
Select one:
True
False

The correct answer is 'False'.
Question 36
Not answered
Marked out of 1.00

Question text
True or False: SANS SCORE checklist recommends Telnet is for remote access.
Select one:
True
False

The correct answer is 'False'.
Question 37
Not answered
Marked out of 1.00

Question text
See Table 37.6. Which disk will get the parity bit P5 to remove the parity bit bottle-nick of RAID 4:
Select one:
a. Disk 0
b. Disk 1
c. Disk 2
d. Disk 3
e. Disk 4


The correct answer is: Disk 4
Question 38
Not answered
Marked out of 1.00

Question text
In the single threaded address space you will find all EXCEPT:
Select one:
a. Heap
b. Program code
c. T1
d. Stack


The correct answer is: T1
Question 39
Not answered
Marked out of 1.00

Question text
To see the metadata for certain files we can issue the following commands?
Select one:
a. lseek() or stat ()
b. SEEK_SET or SET_CUR
c. stat() or fstat()
d. Input/output

The correct answer is: stat() or fstat()
Question 40
Not answered
Marked out of 1.00

Question text
How many times will this event loop execute?
e
while (1) {
events = getEvents();
for (x in events)
processEvent(x);
}:
Select one:
a. e
b. 1
c. x
d. Null


The correct answer is: x
Question 41
Not answered
Marked out of 1.00

Question text
Spin locks must be all of the following EXCEPT:
Select one:
a. Simple
b. Correct
c. Fair
d. Perform

The correct answer is: Simple
Question 42
Not answered
Marked out of 1.00

Question text
In terms of computer system architecture buses which of the following is not?
Select one:
a. Peripheral
b. Memory
c. CPU
d. Input/output


The correct answer is: CPU
Question 43
Not answered
Marked out of 1.00

Question text
Multi-Threaded Address Space is composed of all EXCEPT:
Select one:
a. Stack (1)
b. Stack (3)
c. Program code
d. Free


The correct answer is: Stack (3)
Question 44
Not answered
Marked out of 1.00

Question text
The checkpoint region (CR) is defined as:
Select one:
a. Unknown location to begin file lookups
b. Region used to store checkpoints
c. Fixed and known location on disk to begin a file lookup
d. Checkpoints for time hacks

The correct answer is: Fixed and known location on disk to begin a file lookup
Question 45
Not answered
Marked out of 1.00

Question text
Top 20 Critical Control 15: Controlled Access Based on the Need to Know is associated with which Associated NIST Special Publication 800-53, Revision 3, and Priority 1 Controls?
Select one:
a. CM-8 (a, c, d, 2, 3, 4), PM-5, PM-6
b. CA-2 (1, 2), CA-7 (1, 2), RA-3, RA-5 (4, 9), SA-12 (7)
c. AC-1, AC-2 (b, c), AC-3 (4), AC-4, AC-6, MP-3, RA-2 (a)
d. SC-18, SC-26, SI-3 (a, b, 1, 2, 5, 6)


The correct answer is: AC-1, AC-2 (b, c), AC-3 (4), AC-4, AC-6, MP-3, RA-2 (a)
Question 46
Not answered
Marked out of 1.00

Question text
This method is run before the file system is mounted and made available (assumes that no other file-system activity is on-going while it runs); once finished, the on disk file system should be consistent and thus can be made accessible to users.
Select one:
a. Journaling
b. Backpointer-based consistency
c. FSCK
d. Super block

The correct answer is: FSCK
Question 47
Not answered
Marked out of 1.00

Question text
Thread 0 holds the lock (i.e., it has called sem wait() but not yet called sem post()), and another thread (thread 1, say) tries to enter the critical section by calling sem wait(). In this case thread 1 must wait (putting itself to sleep and relinquishing the processor)?
Select one:
a. thread 1will find that the value of the semaphore is -1
b. thread 1will find that the value of the semaphore is 1
c. thread 1will find that the value of the semaphore is 0
d. thread 1will find that the value of the semaphore is 2


The correct answer is: thread 1will find that the value of the semaphore is 0
Question 48
Not answered
Marked out of 1.00

Question text
True or False: Locks work through mutual exclusion which preventing multiple threads from entering a critical section.
Select one:
True
False

The correct answer is 'True'.
Question 49
Not answered
Marked out of 1.00

Question text
True or False: Server recovery after a crash is more complicated. The problem that arises is that callbacks are kept in-memory; thus, when a server reboots, it has no idea which client machine has which files. Thus, upon server restart, each client of the server must realize that the server has crashed and treat all of their cache contents as validated, and (as above) reestablish the validity of a file before using it.
Select one:
True
False

The correct answer is 'False'.
Question 50
Not answered
Marked out of 1.00

Question text
The checkpoint region (CR) is defined as:
Select one:
a. Unknown location to begin file lookups
b. Region used to store checkpoints
c. Fixed and known location on disk to begin a file lookup
d. Checkpoints for time hacks

The correct answer is: Fixed and known location on disk to begin a file lookup
The first failure mode of interest is called a misdirected write. This arises in disk and RAID controllers which write the data to disk correctly, except in the wrong location. A method to address this error is called:
Select one:
a. Cyclical redundancy check (CRC)
b. Zettabyte File System (ZFS)
c. Disk scrubbing
d. Physical identifier (physical ID)

The correct answer is: Physical identifier (physical ID)
Question 2
Not answered
Marked out of 1.00

Question text
True or False: Each thread has its own stack.
Select one:
True
False

The correct answer is 'True'.
Question 3
Not answered
Marked out of 1.00

Question text
True or False: To use a condition variable, one has to in addition have a lock that is not associated with this condition.
Select one:
True
False

The correct answer is 'False'.
Question 4
Not answered
Marked out of 1.00

Question text
True or False: NFSv2 is a stateless protocol which means the server tracks client states.
Select one:
True
False

The correct answer is 'False'.
Question 5
Not answered
Marked out of 1.00

Question text
UDP uses all of the following except:
Select one:
a. Checksum
b. Sockets
c. stat() or fstat()
d. Datagrams


The correct answer is: stat() or fstat()
Question 6
Not answered
Marked out of 1.00

Question text
When does the deadlock occur in this code?
Thread 1: Thread 2:
lock(L1); lock(L2);
lock(L2); lock(L1);
Select one:
a. Thread 1 grabs lock L1
b. Thread 2 grabs L2 and tries to acquire L1
c. Thread 1 grabs lock L1 and then a context switch occurs to Thread 2, then Thread 2 grabs L2 and tries to acquire L1
d. Deadlock does not necessarily occur


The correct answer is: Thread 1 grabs lock L1 and then a context switch occurs to Thread 2, then Thread 2 grabs L2 and tries to acquire L1
Question 7
Not answered
Marked out of 1.00

Question text
To see what is mounted on your system, and at which points, simply run the mount program. What distributed file systems are mounted?
/dev/sda1 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda8 on /scratch type ext3 (rw)
/dev/sdb1 on /scratch.1 type xfs (rw)
/dev/sda6 on /tmp type ext3 (rw)
/dev/sda3 on /var type ext3 (rw)
/dev/sda7 on /var/vice/cache type ext3 (rw)
/dev/sda2 on /usr type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
AFS on /afs type afs (rw)
Select one:
a. tmpfs
b. ext3
c. sysfs
d. AFS


The correct answer is: AFS
Question 8
Not answered
Marked out of 1.00

Question text
True or False: In a multi-threaded application, the developer has full control over what is scheduled at a given moment in time; rather, the programmer simply creates threads and then hopes that the underlying OS schedules them in a reasonable manner across available CPUs.
Select one:
True
False

The correct answer is 'False'.
Question 9
Not answered
Marked out of 1.00

Question text
FFS uses APIs which include all EXCEPT:
Select one:
a. read()
b. move()
c. write()
d. open()


The correct answer is: move()
Question 10
Not answered
Marked out of 1.00

Question text
True or False: A power loss or system crash both present major challenges to a file system attempting to update persistent data structures.
Select one:
True
False

The correct answer is 'True'.
Question 11
Not answered
Marked out of 1.00

Question text
In this example there are producer and consumer threads the code for a producer puts an integer in the shared buffer loops number of times, and a consumer gets the data out of that shared buffer each time printing it. Which line prints out the shared buffer?
1 void *producer(void *arg) {
2 int i;
3 int loops = (int) arg;
4 for (i = 0; i < loops; i++) {
5 put(i);
6 }
7 }
8
9 void *consumer(void *arg) {
10 int i;
11 while (1) {
12 int tmp = get();
13 printf("%d\n", tmp);
14 }
15 }
Select one:
a. 4 for (i = 0; i < loops; i++) {
b. void *producer(void *arg) {
c. 13 printf("%d\n", tmp);
d. 1 void *producer(void *arg) {


The correct answer is: 13 printf("%d\n", tmp);
Question 12
Not answered
Marked out of 1.00

Question text
True or False: Atomicity violation bugs and order violation bugs are examples of Non-deadlock bugs.
Select one:
True
False

The correct answer is 'True'.
Question 13
Not answered
Marked out of 1.00

Question text
To see the metadata for certain files we can issue the following commands?
Select one:
a. lseek() or stat ()
b. SEEK_SET or SET_CUR
c. stat() or fstat()
d. Input/output


The correct answer is: stat() or fstat()
Question 14
Not answered
Marked out of 1.00

Question text
What capability allows multiple people to use one system at the same time?
Select one:
a. Multi-thread
b. Multi-user
c. Distributed Processing
d. Multitasking


The correct answer is: Multi-user
Question 15
Not answered
Marked out of 1.00

Question text
See Table 37.6. Which disk will get the parity bit P5 to remove the parity bit bottle-nick of RAID 4:
Select one:
a. Disk 0
b. Disk 1
c. Disk 2
d. Disk 3
e. Disk 4

The correct answer is: Disk 4
Question 16
Not answered
Marked out of 1.00

Question text
In this method an additional back pointer is added to every block in the system; for example, each data block has a reference to the inode to which it belongs. When accessing a file, the file system can determine if the file is consistent by checking if the forward pointer (e.g., the address in the inode or direct block) points to a block that refers back to it.
Select one:
a. Journaling
b. Backpointer-based consistency
c. FSCK
d. Super block

The correct answer is: Backpointer-based consistency
Question 17
Not answered
Marked out of 1.00

Question text
True or False: Lookups simply read the data structure; as long as we can guarantee that no insert is on-going, we can allow many lookups to proceed concurrently.
Select one:
True
False

The correct answer is 'True'.
Question 18
Not answered
Marked out of 1.00

Question text
Spin locks must be all of the following EXCEPT:
Select one:
a. Simple
b. Correct
c. Fair
d. Perform


The correct answer is: Simple
Question 19
Not answered
Marked out of 1.00

Question text
True or False: Atomicity violation bugs and order violation bugs are examples of Non-deadlock bugs.
Select one:
True
False

The correct answer is 'True'.
Question 20
Not answered
Marked out of 1.00

Question text
Data or I/O transfer to and from a disk is always faster when it is done?
Select one:
a. Direct
b. Random
c. SSTF
d. Sequentially


The correct answer is: Sequentially
Question 21
Not answered
Marked out of 1.00

Question text
True or False: AFS is whole-file caching on the local disk of the client machine that is accessing a file.
Select one:
True
False

The correct answer is 'True'.
Question 22
Not answered
Marked out of 1.00

Question text
True or False: The track depicted in figure 36.1 has 12 sectors, each of which is 512 bytes in size (our typical sector size, recall) and addressed therefore by the numbers 1 through 12.
Select one:
True
False

The correct answer is 'False'.
Question 23
Not answered
Marked out of 1.00

Question text
True or False: The entity-relationship (E-R) data model perceives the real world as consisting of basic objects, called entities, NOT the relationships among these objects.
Select one:
True
False

The correct answer is 'False'.
Question 24
Not answered
Marked out of 1.00

Question text
Which two notions were introduced by AFSv2 (pick 2):
Select one or more:
a. Call back
b. state
c. AFSv2
d. File handle


The correct answers are: Call back, File handle
Question 25
Not answered
Marked out of 1.00

Question text
POSIX threads library are those for providing mutual exclusion to a critical section via:
Select one:
a. API’s
b. Multi-threaded
c. locks
d. Keys

The correct answer is: locks
Question 26
Not answered
Marked out of 1.00

Question text
The protocol design of AFS is particularly important in:
Select one:
a. Workstation caching
b. minimizing server interactions
c. single namespace
d. access control lists


The correct answer is: minimizing server interactions
Question 27
Not answered
Marked out of 1.00

Question text
True or False: A power loss or system crash both present major challenges to a file system attempting to update persistent data structures.
Select one:
True
False

The correct answer is 'True'.
Question 28
Not answered
Marked out of 1.00

Question text
True or False: Concurrent data structures can be queues lists and counters only.
Select one:
True
False

The correct answer is 'False'.
Question 29
Not answered
Marked out of 1.00

Question text
True or False: In modern systems versus older systems, disks cannot accommodate multiple outstanding requests, and have sophisticated internal schedulers themselves.
Select one:
True
False

The correct answer is 'False'.
Question 30
Not answered
Marked out of 1.00

Question text
Top 20 Critical Security Controls for Linux includes all the following except:
Select one:
a. Bzip2
b. tar
c. gzip
d. rsynch


The correct answer is: rsynch
Question 31
Not answered
Marked out of 1.00

Question text
The primary mechanism used by modern storage systems to preserve data integrity is called the checksum. Some common functions used to compute the checksum are all except:
Select one:
a. Cyclical redundancy check (CRC)
b. Forward error correction and detection
c. XOR-based
d. Addition

The correct answer is: Forward error correction and detection
Question 32
Not answered
Marked out of 1.00

Question text
POSIX threads library are those for providing mutual exclusion to a critical section via:
Select one:
a. API’s
b. Multi-threaded
c. locks
d. Keys


The correct answer is: locks
Question 33
Not answered
Marked out of 1.00

Question text
True or False: Condition variable is an explicit queue that threads can put themselves on when some state of execution (i.e., some condition) is not as desired by waiting on the condition.
Select one:
True
False

The correct answer is 'True'.
Question 34
Not answered
Marked out of 1.00

Question text
To see what is mounted on your system, and at which points, simply run the mount program. What distributed file systems are mounted?
/dev/sda1 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda8 on /scratch type ext3 (rw)
/dev/sdb1 on /scratch.1 type xfs (rw)
/dev/sda6 on /tmp type ext3 (rw)
/dev/sda3 on /var type ext3 (rw)
/dev/sda7 on /var/vice/cache type ext3 (rw)
/dev/sda2 on /usr type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
AFS on /afs type afs (rw)
Select one:
a. tmpfs
b. ext3
c. sysfs
d. AFS

The correct answer is: AFS
Question 35
Not answered
Marked out of 1.00

Question text
This code is an example of receiving events via?
int select(int nfds,
fd_set *restrict readfds,
fd_set *restrict writefds,
fd_set *restrict errorfds,
struct timeval *restrict timeout);
Select one:
a. API poll ()
b. API select ()
c. Select
d. Poll


The correct answer is: API select ()
Question 36
Not answered
Marked out of 1.00

Question text
This method is run before the file system is mounted and made available (assumes that no other file-system activity is on-going while it runs); once finished, the on disk file system should be consistent and thus can be made accessible to users.
Select one:
a. Journaling
b. Backpointer-based consistency
c. FSCK
d. Super block

The correct answer is: FSCK
Question 37
Not answered
Marked out of 1.00

Question text
NIST Publication 800-53 (Appendix F SECURITY CONTROL CATALOG); lookup what control CA-2 means:
Select one:
a. INTERNAL SYSTEM CONNECTION
b. BOUNDARY PROTECTION
c. SECURITY ASSESSMENT
d. PENETRATION TESTING


The correct answer is: SECURITY ASSESSMENT
Question 38
Not answered
Marked out of 1.00

Question text
True or False: opening, reading, or writing a file incur I/O operations.
Select one:
True
False

The correct answer is 'True'.
Question 39
Not answered
Marked out of 1.00

Question text
Log-structured File Systems are based on all the following except:
Select one:
a. Memory sizes had stabilized
b. File systems were not RAID-aware
c. Existing file systems perform poorly on many common workloads
d. Memory sizes were growing

The correct answer is: Memory sizes had stabilized
Question 40
Not answered
Marked out of 1.00

Question text
True or False: To compute the value of the new parity block there are two methods: subtractive and additive.
Select one:
True
False

The correct answer is 'True'.
Question 41
Not answered
Marked out of 1.00

Question text
The following are all key concurrency terms EXCEPT:
Select one:
a. Mutual Exclusion
b. Non-Critical Section
c. Race Condition
d. Intermediate


The correct answer is: Non-Critical Section
Question 42
Not answered
Marked out of 1.00

Question text
In this method when updating the disk, before over writing the structures in place, first write down a little note (somewhere else on the disk, in a well-known location) describing what you are about to do. Writing this note is the "write ahead" part, and we write it to a structure that we organize as a "log"; hence, write.
Select one:
a. Journaling
b. File system checker
c. FSCK
d. Super block

The correct answer is: Journaling
Question 43
Not answered
Marked out of 1.00

Question text
RAID technology can take 3 essential designs; which is not:
Select one:
a. RAID Level 0(striping)
b. RAID Level 1 (Parity)
c. RAID Levels 4/5 (parity based redundancy)
d. RAID Level 1 (mirroring)


The correct answer is: RAID Level 1 (Parity)
Question 44
Not answered
Marked out of 1.00

Question text
The test-and-set instruction, is also known as:
Select one:
a. Lock mechanism
b. Interrupt
c. atomic exchange
d. Stack


The correct answer is: atomic exchange
Question 45
Not answered
Marked out of 1.00

Question text
Imagine two producers (Pa and Pb) both calling into put() at roughly the same time. Assume producer Pa gets to run first, and just starts to fill the first buffer entry (fill = 0 at line f1). Before Pa gets a chance to increment the fill counter to 1, it is interrupted. Producer Pb starts to run, and at line f1 it also puts its data into the 0th element of buffer, what happens to the old data?

sem_t empty;
sem_t full;
void *producer(void *arg) {
int i;
for (i = 0; i < loops; i++) {
sem_wait(&empty); // line p1
put(i); // line p2
sem_post(&full); // line p3
}
}
void *consumer(void *arg) {
int i, tmp = 0;
while (tmp != -1) {
sem_wait(&full); // line c1
tmp = get(); // line c2
sem_post(&empty); // line c3
printf("%d\n", tmp);
}
}
int main(int argc, char *argv[]) {
// ...
sem_init(&empty, 0, MAX); // MAX buffers are empty to begin with...
sem_init(&full, 0, 0); // ... and 0 are full
// ...
}
Select one:
a. Backed up
b. Saved
c. Overwritten
d. Value = 0


The correct answer is: Overwritten
Question 46
Not answered
Marked out of 1.00

Question text
True or False: Condition variable is an explicit queue that threads can put themselves on when some state of execution (i.e., some condition) is not as desired by waiting on the condition.
Select one:
True
False

The correct answer is 'True'.
Question 47
Not answered
Marked out of 1.00

Question text
Free space management in modern file systems can be accomplished using each of these methods EXCEPT?
Select one:
a. free lists
b. bitmaps
c. pre-allocation policy
d. binary tree


The correct answer is: free lists
Question 48
Not answered
Marked out of 1.00

Question text
NIST Publication 800-53 (Appendix F SECURITY CONTROL CATALOG); Least privilege can refer to operating systems.
Select one:
True
False

The correct answer is 'True'.
Question 49
Not answered
Marked out of 1.00

Question text
NIST Publication 800-53 (Appendix F SECURITY CONTROL CATALOG); lookup least privilege:
Select one:
a. LP-3
b. AC-1
c. AC-8
d. LP-1


The correct answer is: AC-8
Question 50
Not answered
Marked out of 1.00

Question text
Linux command used to create Boot and Rescue Disk which creates a boot disk manually.
Select one:
a. Makedisk
b. TCPwrappers
c. Xinedtd
d. Mkbootdisk


The correct answer is: Mkbootdisk
In the single threaded address space you will find all EXCEPT:
Select one:
a. Heap
b. Program code
c. T1
d. Stack


The correct answer is: T1
Question 2
Incorrect
Mark 0.00 out of 1.00

Question text
The following stores the state of each thread:
Select one:
a. TCB
b. PCB
c. T1
d. T2


The correct answer is: TCB
Question 3
Incorrect
Mark 0.00 out of 1.00

Question text
True or False: Each thread has its own stack.
Select one:
True
False

The correct answer is 'True'.
Question 4
Incorrect
Mark 0.00 out of 1.00

Question text
Multi-Threaded Address Space is composed of all EXCEPT:
Select one:
a. Stack (1)
b. Stack (3)
c. Program code
d. Free


The correct answer is: Stack (3)
Question 5
Not answered
Marked out of 1.00

Question text
True or False: The entity-relationship (E-R) data model perceives the real world as consisting of basic objects, called entities, NOT the relationships among these objects.
Select one:
True
False

The correct answer is 'False'.
Question 6
Not answered
Marked out of 1.00

Question text
What command would you change to switch the letter printed by T2:
Time increases in the downwards direction, and each column shows when a different thread (the main one, or T1, or T2) is running:
main starts running
main prints "main: begin"
main creates thread T1
main creates thread T2
main waits for T1
T1 runs
T1 prints "A"
T1 returns
main waits for T2
T2 runs
T2 prints "B"
T2 returns
main prints "main: end"
Select one:
a. T1 = T2
b. T1 prints “A” or “B”
c. T2 prints “A”
d. T2 = T1


The correct answer is: T2 prints “A”
Question 7
Incorrect
Mark 0.00 out of 1.00

Question text
The following are all key concurrency terms EXCEPT:
Select one:
a. Mutual Exclusion
b. Non-Critical Section
c. Race Condition
d. Intermediate


The correct answer is: Non-Critical Section
Question 8
Incorrect
Mark 0.00 out of 1.00

Question text
POSIX threads library are those for providing mutual exclusion to a critical section via:
Select one:
a. API’s
b. Multi-threaded
c. locks
d. Keys


The correct answer is: locks
Question 9

Question text
True or False: To use a condition variable, one has to in addition have a lock that is not associated with this condition.
Select one:
True
False

The correct answer is 'False'.
Question 10
Incorrect
Mark 0.00 out of 1.00

Question text
What capability allows multiple people to use one system at the same time?
Select one:
a. Multi-thread
b. Multi-user
c. Distributed Processing
d. Multitasking


The correct answer is: Multi-user
True or False: Two key abstractions of virtual storage are files and directories.
Select one:
True
False

The correct answer is 'True'.
Question 2

Question text
To see the metadata for certain files we can issue the following commands?
Select one:
a. lseek() or stat ()
b. SEEK_SET or SET_CUR
c. stat() or fstat()
d. Input/output


The correct answer is: stat() or fstat()
Question 3

Question text
To see what is mounted on your system, and at which points, simply run the mount program. What distributed file systems are mounted?
/dev/sda1 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda8 on /scratch type ext3 (rw)
/dev/sdb1 on /scratch.1 type xfs (rw)
/dev/sda6 on /tmp type ext3 (rw)
/dev/sda3 on /var type ext3 (rw)
/dev/sda7 on /var/vice/cache type ext3 (rw)
/dev/sda2 on /usr type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
AFS on /afs type afs (rw)
Select one:
a. tmpfs
b. ext3
c. sysfs
d. AFS


The correct answer is: AFS
Question 4

Question text
True or False: File systems have three aspects: data structures, access methods, and data.
Select one:
True
False

The correct answer is 'False'.
Question 5

Question text
Which of the following file systems is based on linked lists?
Select one:
a. vsfs
b. NTFS
c. FAT
d. NTFS


The correct answer is: FAT
Question 6

Question text
Free space management in modern file systems can be accomplished using each of these methods EXCEPT?
Select one:
a. free lists
b. bitmaps
c. pre-allocation policy
d. binary tree


The correct answer is: free lists
Question 7

Question text
True or False: opening, reading, or writing a file incur I/O operations.
Select one:
True
False

The correct answer is 'True'.
Question 8

Question text
Fast File System (FFS) does all of the following except?
Select one:
a. Create Files and Directories
b. Allow for long file names
c. Disk defragmentation
d. Disk layout optimized for performance


The correct answer is: Disk defragmentation
Question 9

Question text
FFS uses APIs which include all EXCEPT:
Select one:
a. read()
b. move()
c. write()
d. open()


The correct answer is: move()
Question 10

Question text
True or False: Internal fragmentation not only wastes space within blocks, but bad for transfer as each block might require a positioning overhead to reach it.
Select one:
True
False

The correct answer is 'True'.
True or False: UDP is more reliable than TCP because it is connection oriented communications.
Select one:
True
False

The correct answer is 'False'.
Question 2
Incorrect
Mark 0.00 out of 1.00

Question text
UDP uses all of the following except:
Select one:
a. Checksum
b. Sockets
c. stat() or fstat()
d. Datagrams


The correct answer is: stat() or fstat()
Question 3
Incorrect
Mark 0.00 out of 1.00

Question text
Client-side file system. A client application issues system calls to the client-side file system; which is not:
Select one:
a. mkdir()
b. read()
c. write()
d. disk write ()


The correct answer is: disk write ()
Question 4
Incorrect
Mark 0.00 out of 1.00

Question text
When the file is opened for the first time, the client-side file system sends a The LOOKUP request message from the client side for the pathname ( /home/remzi/foo.txt), the client would send three LOOKUPs which will not include:
Select one:
a. home in the directory
b. remzi in home
c. foo.txt
d. foo.txt in remzi


The correct answer is: foo.txt
Question 5
Incorrect
Mark 0.00 out of 1.00

Question text
True or False: NFSv2 is a stateless protocol which means the server tracks client states.
Select one:
True
False

The correct answer is 'False'.
Question 6
Partially correct
Mark 0.50 out of 1.00

Question text
The cache consistency problem actually has 2 sub problems (pick 2):
Select one or more:
a. Flush-on-close
b. Update visibility
c. Stale cache
d. Write buffering

Your answer is partially correct.
You have correctly selected 1.
The correct answers are: Update visibility, Stale cache
Question 7
Not answered
Marked out of 1.00

Question text
True or False: AFS is whole-file caching on the local disk of the client machine that is accessing a file.
Select one:
True
False

The correct answer is 'True'.
Question 8
Incorrect
Mark 0.00 out of 1.00

Question text
Which two notions were introduced by AFSv2 (pick 2):
Select one or more:
a. Call back
b. state
c. AFSv2
d. File handle


The correct answers are: Call back, File handle
Question 9
Incorrect
Mark 0.00 out of 1.00

Question text
The protocol design of AFS is particularly important in:
Select one:
a. Workstation caching
b. minimizing server interactions
c. single namespace
d. access control lists


The correct answer is: minimizing server interactions
Question 10
Incorrect
Mark 0.00 out of 1.00

Question text
True or False: Server recovery after a crash is more complicated. The problem that arises is that callbacks are kept in-memory; thus, when a server reboots, it has no idea which client machine has which files. Thus, upon server restart, each client of the server must realize that the server has crashed and treat all of their cache contents as validated, and (as above) reestablish the validity of a file before using it.
Select one:
True
False

The correct answer is 'False'.
True or False: UDP is more reliable than TCP because it is connection oriented communications.
Select one:
True
False

The correct answer is 'False'.
Question 2
Incorrect
Mark 0.00 out of 1.00

Question text
UDP uses all of the following except:
Select one:
a. Checksum
b. Sockets
c. stat() or fstat()
d. Datagrams


The correct answer is: stat() or fstat()
Question 3
Incorrect
Mark 0.00 out of 1.00

Question text
Client-side file system. A client application issues system calls to the client-side file system; which is not:
Select one:
a. mkdir()
b. read()
c. write()
d. disk write ()


The correct answer is: disk write ()
Question 4
Incorrect
Mark 0.00 out of 1.00

Question text
When the file is opened for the first time, the client-side file system sends a The LOOKUP request message from the client side for the pathname ( /home/remzi/foo.txt), the client would send three LOOKUPs which will not include:
Select one:
a. home in the directory
b. remzi in home
c. foo.txt
d. foo.txt in remzi


The correct answer is: foo.txt
Question 5
Incorrect
Mark 0.00 out of 1.00

Question text
True or False: NFSv2 is a stateless protocol which means the server tracks client states.
Select one:
True
False

The correct answer is 'False'.
Question 6
Partially correct
Mark 0.50 out of 1.00

Question text
The cache consistency problem actually has 2 sub problems (pick 2):
Select one or more:
a. Flush-on-close
b. Update visibility
c. Stale cache
d. Write buffering

Your answer is partially correct.
You have correctly selected 1.
The correct answers are: Update visibility, Stale cache
Question 7
Not answered
Marked out of 1.00

Question text
True or False: AFS is whole-file caching on the local disk of the client machine that is accessing a file.
Select one:
True
False

The correct answer is 'True'.
Question 8
Incorrect
Mark 0.00 out of 1.00

Question text
Which two notions were introduced by AFSv2 (pick 2):
Select one or more:
a. Call back
b. state
c. AFSv2
d. File handle


The correct answers are: Call back, File handle
Question 9
Incorrect
Mark 0.00 out of 1.00

Question text
The protocol design of AFS is particularly important in:
Select one:
a. Workstation caching
b. minimizing server interactions
c. single namespace
d. access control lists


The correct answer is: minimizing server interactions
Question 10
Incorrect
Mark 0.00 out of 1.00

Question text
True or False: Server recovery after a crash is more complicated. The problem that arises is that callbacks are kept in-memory; thus, when a server reboots, it has no idea which client machine has which files. Thus, upon server restart, each client of the server must realize that the server has crashed and treat all of their cache contents as validated, and (as above) reestablish the validity of a file before using it.
Select one:
True
False

The correct answer is 'False'.

CallTutors Guarantees

  • Work Within Deadline
  • Lowest Price Guranteed
  • Plagiarism Free Guranteed
  • 24 * 7 Availability
  • Native Experienced Experts
  • Free Revisions

Reviews

Total Reviews: 81

Research essay writing02/18/2018

Hi, i have given them my research essay writing work and these guys are just awesome. They have some of the best UK writers. Just love them for their quality service and delivery.

Tani J.
so much perfection02/17/2018

They handle each order with so much perfection. I got the assignment well before the time and it was written nicely. I never knew they could be of such a great help, and after seeing the quality of their work I’ve decided to hire them only for future projects.

Charlie Cassandra
Management Assignment02/16/2018

The subject assigned to me was not clear and as I couldn’t take risk my marks, I made a decision to hire Management Assignment Help service. I got my assignment in time and it was written perfectly. All the important things and points were properly covered and wonderfully written.

Russell Ash
Accounting Assignment Help02/12/2018

I was searching Accounting Assignment Help. I got professionals help and their services are really very good. Thanks

Nadeem Aslam
Great Support Team02/09/2018

Great experience, great service!!

George

Read More...