What does “ps” command in linux do?
Lists running processes
<p></p>
<p>What does the "top" command do in linux?</p>
<p></p>
<p>Displays processes with top resource usage</p>
<p></p>
<p>What does the "kill" / "pkill" / "killall" command do in linux?</p>
<p></p>
<p>terminates a process</p>
<p></p>
<p>What does "jobs" do in linux?</p>
<p></p>
<p>Lists currently running jobs</p>
<p></p>
<p>What does "bg" do in linux?</p>
<p></p>
<p>Backgrounds a job</p>
<p></p>
<p>What does "fg" do in linux?</p>
<p></p>
<p>Foregrounds a job</p>
<p></p>
<p>What does "nice" / "renice" do in linux?</p>
<p></p>
<p>Sets the priority of a process</p>
<p></p>
<p>What makes IPC (inter-process communication) using a named pipe in linux/unix costly?</p>
<p></p>
<p>IPC with a pipe requires the operating system to make a context switch from user space to kernel space, and then back from kernel space to user space</p>
<p></p>
<p>How do threads running in the same process typically communicate?</p>
<p></p>
<p>Directly through shared memory</p>
If an OS kernel supports multithreading through lightweight processes, what does this mean in terms of address spaces?
Lightweight processes will share the same address space, just like threads

<p></p>
<p>Describe how a multi-threaded server which follows the dispatcher/worker design</p>
<p></p>
<p>The dispatcher thread (which does mostly I/O work) receives requests from the network, and feeds them to a pool or worker threads (which do CPU intensive tasks)</p>

Applications caninteract with the hardware’s resources through several ways:
How exactly dothese interactionswork? Are they the same privilege?

What is “virtualization” when running applications?
Applications often run in a virtualized environment such as JRE or JVM. This isolates the applications from the underlying hardware platform (and sometimes the OS)

<p>What are benefits of "virtualization"?</p>
How do networked applications communicate?
How is the format of a message (Binary vs JSON vs text, etc) determined?
<p>What is the difference between an application-specific messaging protocol and an application-independent protocol?</p>
<p>Application specific protocols operate purely on the application layer whereas application-independent protocols use the middleware infrastructure to communicate messages</p>

<p>Suppose we have a server cluster of many applcation/compute servers. What kind of infrastructure does the system need in order to forward requests from the client?</p>
<p>The system needs a load balancer component which opperates as a logical switch (or multiple)</p>
