CS322: Concurrent Processes and Programming

Introduction: The Notion and Importance of Concurrent Processes

  1. Processes

  2. Some tasks have inherent parallelism that can be exploited by concurrent processes.

  3. Types of multiprocessing

  4. As mentioned above, may tasks lend themselves to a parallel solution and so concurrent processes are useful even on uniprocessor systems. In this case concurrency is being used as an abstraction tool.

    For example: Suppose we needed a program to read punched cards (or scantron forms, etc.) and copy the data to a disk file. Assume that each card contains 80 characters and we need to add a CR/LF sequence at the end of each record in the disk file. Also, assume that data is written to the disk in blocks of 512 characters.

    Here are some possible ways that we could approach this problem, along with some commentary about them.

  5. Some examples of concurrent programs:

  6. Concurrency affects operating systems in at least three way:

  7. Key issues for the remainder of our discussion:


$Id: concurrency1.html,v 1.2 1998/03/03 23:42:03 senning Exp $

These notes were written by Prof. R. Bjork of Gordon College. In February 1998 they were editied and converted into HTML by J. Senning of Gordon College.