1 / 6

CIS 552 Advanced Unix Programming

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.

shay-young
Download Presentation

CIS 552 Advanced Unix Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CIS 552 Advanced Unix Programming Professor Spiegel Kutztown University

  2. Topics: • Concurrency • Unix Internals • pipe, fork, exec, wait, signals, etc; • Interprocess Communication • Shared Memory, Semaphores, Message Queues? • Threads? (maybe) • Process Coordination • Critical Sections • Deadlock

  3. 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

  4. 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

  5. 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?

  6. 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

More Related