In a system where every thread holds at most one lock at a time, deadlock is impossible.
Blog
Consider the following program: int x = 0; void *worker(void…
Consider the following program: int x = 0; void *worker(void *arg) { x = x + 1; return NULL; } int main() { pthread_t t1, t2; pthread_create(&t1, NULL, worker, NULL); pthread_create(&t2, NULL, worker, NULL); pthread_join(t1, NULL); pthread_join(t2, NULL); printf(“%d\n”, x); return 0; } Which of the following best describes the behavior of this program?
Does Lock A provide mutual exclusion?
Does Lock A provide mutual exclusion?
Locks prevent the OS scheduler from performing a context swi…
Locks prevent the OS scheduler from performing a context switch during a critical section.
When the OS switches between two threads in the same process…
When the OS switches between two threads in the same process, it must flush the TLB.
For questions 23–24, consider the following code snippet: i…
For questions 23–24, consider the following code snippet: int bytesLeft = MAX_HEAP_SIZE; cond_t c; mutex_t m; void* allocate(int size) { mutex_lock(&m); while (bytesLeft < size) cond_wait(&c, &m); void *ptr = ...; // get mem from heap bytesLeft -= size; mutex_unlock(&m); return ptr; } void free(void *ptr, int size) { mutex_lock(&m); bytesLeft += size; cond_signal(&c); mutex_unlock(&m); }
A spinlock implemented with an atomic compare-and-swap (CAS)…
A spinlock implemented with an atomic compare-and-swap (CAS) provides bounded waiting (no starvation).
You want to use condition variables to implement a traffic l…
You want to use condition variables to implement a traffic light controller for a standard traffic light with three colors (red, green, yellow). Waiting cars can only go when the light is green. Which of these is a possible correct use of condition variables?
Would you personally have rather lived in Ancient Athens or…
Would you personally have rather lived in Ancient Athens or Ancient Sparta? Why?
How did Plato and Aristotle approach philosophy differently?
How did Plato and Aristotle approach philosophy differently?