shay-young
Uploaded by
6 SLIDES
206 VUES
60LIKES

Advanced Unix Programming: Concurrency, IPC, and Process Coordination

DESCRIPTION

This course, taught by Professor Spiegel at Kutztown University, dives into advanced concepts in Unix programming, focusing on concurrency, Unix internals, and interprocess communication. Students will explore essential topics like processes, critical sections, deadlocks, and various IPC mechanisms, including shared memory, semaphores, and message queues. The course emphasizes practical skills, including debugging and makefile creation, with resources linked for further learning. Ideal for those looking to deepen their understanding of operating systems and Unix programming.

1 / 6

Télécharger la présentation

Advanced Unix Programming: Concurrency, IPC, and Process Coordination

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