Gregory M. Kapfhammer
Details in the Textbook
Check dependencies between cells
Handle user interaction
Backup the spreadsheet to the cloud
Exploit the multiple cores on the CPU
What would a spreadsheet be like without multiple processes and threads? Why?
Program in execution
Process table tracks all of the processes
CPU register values, memory maps, and open files
Accounting details and access privileges
Similar to a process
Has a distinct code segment
Very little context is stored
Does not achieve full concurrency transparency
What are the trade-offs between processes and threads?
What is the general meaning of this term?
How is it specialized for operating systems?
One key approach is resource virtualization
So, "pick an interface and emulate it"
What is the motivation behind this technique?
HDW to SW: all machine instructions
HDW to SW: privileged instructions
Systems calls: user to kernel level
Library calls: user to user level
Virtualization mimics behavior at interfaces!
Servers have hosts and ports
Iterative versus concurrent
Super-server versus daemon
Stateless versus stateful
What are the trade-offs of these design decisions?
Remember the segments of a process
Strong versus weak
Receiver versus sender initiated
See Figure 3-18 for the alternatives
How would we classify a Java applet?