Concurrency
Each student will be able to:
- Given a loop-dominated C program, insert fork and shared
memory commands to break the program into multiple processes
during execution.
- Describe the similarities and differences between concurrency
obtained through multiple processes and that generated by
multiple threads.
- Consider a "broken" C program that attempts to use fork and
shared memory commands to provide concurrency. Given the
program code and a description of the (flawed) program behavior,
identify what change(s) are necessary to make the program
"work."
- Using words and/or diagrams, describe the difference in
the amount of context state maintained by a process compared
to a thread.
- Describe the similarities and differences among the following
three different methods of interprocess communication.
- Pipes
- Shared memory among processes generated by
fork.
- Shared memory among threads generated by
Posix thread commands.