Teaching the concepts of concurrency is a task requiring an understanding of how the operating system allocates resources for the processes and how concurrent processes may share data. The difficulty of trying to understand the asynchronous execution behavior of processes is compounded by the need to understand the syntax and required parameters for making the system calls. Providing wrappers for system calls that make more intuitive function calls to allocate and manage resources can help students understand the issues involved with shared memory multiprocessing and message passing systems without having to understand the details of the syntax associated with making the system calls. This paper describes a library of C functions, the Parallel Library, that can be used to introduce the concepts of shared memory multiprocessing, message passing, and related synchronization issues, but hide the details of the actual system calls used to implement them. This library has been successfully used to introduce students with minimal operating system knowledge and programming skills to the ideas associated with concurrent processing
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.