60 likes | 194 Views
CIS 552 Advanced Unix Programming. Professor Spiegel Kutztown University. Topics: Concurrency Unix Internals pipe, fork, exec, wait, signals, etc; Interprocess Communication Shared Memory, Semaphores, Message Queues? Threads? (maybe) Process Coordination Critical Sections Deadlock.
E N D
CIS 552 Advanced Unix Programming Professor Spiegel Kutztown University
Topics: • Concurrency • Unix Internals • pipe, fork, exec, wait, signals, etc; • Interprocess Communication • Shared Memory, Semaphores, Message Queues? • Threads? (maybe) • Process Coordination • Critical Sections • Deadlock
Here’s where we start Time – used to order events Event – A (potentially) sensed change • Process – An executing program • Is a program an executing process? • No. A program can, when executed, cause the occurrence of multiple processes
A Couple of Definitions n. union; concurrence of events Concurrent – adj. acting in conjunction; agreeing; taking place at the same time; accompanying; n. a joint or contributory cause Concurrently – adv. to run together Parallel – adv. continuously at equal distance apart; precisely corresponding; similar; n. a line equidistant from another at all points; a thing exactly like another
B B D B D A C A C Precedence Graphs Directed Edge – Arrow from one node to another e.g. Assume A & B are processes A occurs before (precedes) B, OR, B occurs after (follows) A A Sequential • Facts: • A precedes B • A precedes C • A precedes D • B precedes D • C precedes D Question: What is B’s relationship to C?
Compiling & Debugging Run gdb under emacs to debug your programs Manual is available at URL: http://faculty.kutztown.edu/spiegel/Debugging/DebugPrimer.htm You must also be able to write makefiles on your own Manual is available at URL: http://faculty.kutztown.edu/spiegel/Makefile/Makefile.htm There is a link to each of these on my faculty home page