Skip to main content
Log in

Some extended semaphore primitives

  • Published:
Acta Informatica Aims and scope Submit manuscript

Summary

This paper presents a proposal for synchronizing primitives obtained as an extension of Dijkstra's P, V primitives. The extended primitives are shown to be complete: they can represent any desired interaction between processes without the use of conditionals. The usefulness of these primitives is illustrated by presenting simple solutions to a series of coordination problems of increasing complexity. Two selected problems are used to illustrate disadvantages of existing synchronizing mechanisms. The extended primitives shift some of the burden from the programmer to the system since they are easier to use but more difficult to implement. However, even though each primitive operation may take longer to execute (as compared to the simple P, V primitives) the total system overhead can be substantially less especially for complex coordination problems. The paper presents a straightforward but efficient implementation of the extended primitives.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Agerwala, T.: A complete model for representing the coordination of asynchronous processes. The Johns Hopkins University, Baltimore (Maryland), Computer Science Program, Hopkins Computer Research Report # 35, July 1974

    Google Scholar 

  2. Agerwala, T.: Towards a theory for the analysis and synthesis of systems exhibitting concurrency. The Johns Hopkins University, Baltimore (Maryland), Ph. D. Dissertation, 1975

    Google Scholar 

  3. Agerwala, T., Flynn, M.J.: On the completeness of representation schemes for concurrent systems. Conference on Petri Nets and Related Methods, MIT, Cambridge (Mass.), July 1975

    Google Scholar 

  4. Agerwala, T., Lint, B.: A comparison of semaphore based synchronizing mechanisms. Proceedings of the 10th Annual Hawaii International Conference on Systems Sciences, January 1977, pp. 244–247

  5. Cerf, V.G.: Multiprocessors, semaphores and a graph model of computation. ENG-7226, Computer Science Department, University of California, Los Angeles (Calif.), Ph. D. Dissertation, April 1972

    Google Scholar 

  6. Courtois, P.J., Heymans, F., Parnas, D.L.: Concurrent control with readers and writers. Commun. ACM 15, 667–668 (1971)

    Google Scholar 

  7. Courtois, P.J., Heymans, F., Parnas, D.L.: Comments on lsA comparison of two synchronizing concepts’ by P.B. Hansen. Acta informatica 1, 375–376 (1972)

    Google Scholar 

  8. Dijkstra, E.W.: Cooperating sequential processes. Programming languages (F. Genuys, ed.), pp. 43–112. New York: Academic Press 1968

    Google Scholar 

  9. Dijkstra, W.W.: Hierarchical ordering of sequential processes. Acta Informatica 1, 115–138 (1971)

    MATH  Google Scholar 

  10. Brinch-Hansen, P.: A comparison of two synchronizing concepts. Acta Informatica 1, 190–199 (1972)

    Google Scholar 

  11. Hopcroft, J.E., Ulmann, J.D.: Formal languages and their relation to automata. Reading (Mass.): Addison-Wesley 1969

    Google Scholar 

  12. Parnas, D.L.: On a solution to the cigarette smokers problem. Carnegie Mellon Computer Science Departmental Report, Carnegie Mellon University, Pittsburgh (Pennsylvania), July 1972

    Google Scholar 

  13. Patil, S.S.: Limitations and capabilities of Dijkstra's semaphore primitives for coordination among processes. Project MAC, MIT, Computation Structure Group Memo 57, February 1971

  14. Presser, L.: Multiprogramming coordination. Computing Surveys 7, 21–44 (1975)

    Google Scholar 

  15. Vantiborgh, H., van Lamsweerde, A.: On an extension to Dijkstra's semaphore primitives. Inform. Processing Letters 1, 181–186 (1972)

    Google Scholar 

  16. Wodon, P.: Still another tool for controlling cooperating algorithms. Carnegie Mellon University Report, 1972

Download references

Author information

Authors and Affiliations

Authors

Additional information

This work was supported in part by the U.S. Atomic Energy Commision under contract AT(11-1 3288) and in part by the Joint Services Electronics Program under contract AFOSR F4620-76-C-0089

Rights and permissions

Reprints and permissions

About this article

Cite this article

Agerwala, T. Some extended semaphore primitives. Acta Informatica 8, 201–220 (1977). https://doi.org/10.1007/BF00264467

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00264467

Keywords

Navigation