Name: __________________________________

 

 

gtID: _______________________  (e.g. gtg123a)

 

 

 

 

1.

Do you know the conditions under which a process/thread may join the ready queue and leave the ready queue?

Y / N

2.

Can you name all the steps that happen during a context switch?

Y / N

3.

Can you name at least three different types of interprocess communication?

Y / N

4.

Do you know what is meant by Data Race in a parallel program?

Y / N

5.

In a preemptive scheduler, do you understand what the word “preemptive” refers to?

Y / N

6.

Do you understand the difference between “round robin”, “shortest-job-first”, and “priority scheduling”?

Y / N

7.

Do you know the name for a section of code that accesses variables or resources that are shared between multiple threads of execution?

Y / N

8.

Do you know the necessary and sufficient conditions for deadlock to occur?

Y / N

9.

Do you understand why, when, and how to use mutual exclusion?

Y / N

10.

Can you describe the role the translation look-aside buffer (TLB) plays in a virtual memory system?

Y / N

11.

Do you understand the difference between a “segment” and a “page” in a memory hierarchy?

Y / N

12.

Do you know the difference between a “page” and a “frame” in a virtual memory system?

Y / N

13.

Do you know the difference between “first-in, first-out”, “least-recently-used”, and “least-frequently-used” replacement policies?

Y / N

14.

Do you know what it means for a process to “trap” to the kernel?

Y / N

15.

Can you name the mechanism by which asynchronous hardware events may notify the CPU (and thus the kernel) of an event?

Y / N

16.

Can you explain why “ports” are necessary in network communication?

Y / N

17.

Do you know what processor cache (e.g. L1, L2) has to do with context switches?

Y / N

18.

Have you written a substantial (i.e. not “Hello World”) program in C or C++?

Y / N

19.

Have you written a multi-threaded program?

Y / N

20.

Have you written a networked program using a sockets API (e.g. Linux/POSIX sockets or winsock)?

Y / N

21.

Have you written a program that handles one or more signals in Linux/POSIX?

Y / N

22.

Do you know how to take timing measurements of a program?

Y / N