Skip to main content

Concurrent programming : Microcomputers

  • Chapter
  • First Online:
Microcomputer System Design

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 126))

  • 194 Accesses

Abstract

This paper considers the construction of algorithms in a concurrent programming environment where several microcomputers share the same memory or each microcomputer has its own local memory. Not only does a programmer require the abstractions of a sequential programming language but also a means of specifying and controlling parallel activity.

There are two major situations in which processes or tasks need to be controlled; when they are competing for a shared variable or when they are co-operating to their mutual benefit. Two major techniques have been proposed to solve these problems namely, monitors with condition variables and message passing primitives. The evolution of both techniques is examined.

Finally two concurrent programming languages, namely Pascal Plus and Ada which are based on these techniques are considered. The Bounded Buffer Problem is used to illustrate the different program design and construction methods required when using such techniques.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

7. References

  1. Brinch Hansen, P. (1972a). A comparison of two synchronising concepts. Acta Informatica 1. 190–199.

    Article  Google Scholar 

  2. Brinch Hansen, P. (1972b). Structured multiprogramming. Comm. ACM. 15, 574–578.

    Article  Google Scholar 

  3. Brinch Hansen, P. (1973). Operating Systems Principles. Prentice-Hall, Englewood Cliffs, New Jersey.

    Google Scholar 

  4. Brinch Hansen, P. (1978). Distributed Processes. Comm. ACM. 21, 11, 934–940.

    Article  Google Scholar 

  5. Conway, M.E. (1963). Design of a separate transition-diagram compiler. Comm. ACM. 6, 7, 396–408.

    Article  Google Scholar 

  6. Dijkstra, E.W. (1965). Solution of a problem in concurrent programming control. Comm. ACM. 8, 569.

    Article  Google Scholar 

  7. Dijkstra, E.W. (1968). Co-operating Sequential Processes. in Programming Languages. (F. Genuys, ed.), 43–112. Academic Press, London and New York.

    Google Scholar 

  8. Dijkstra, E.W. (1972). Hierarchical Ordering of Sequential Processes. in Operating Systems Techniques. (C.A.R. Hoare and R.H. Perrott, eds.) 72–9, Academic Press, London and New York.

    Google Scholar 

  9. Dijkstra, E.W. (1975). Guarded commands, non-determinacy, and formal derivation of problems. Comm. ACM. 18, 8, 453–457.

    Article  Google Scholar 

  10. Hoare, C.A.R. (1972). Towards a theory of parallel programming. in Operating Systems Techniques. (C.A.R. Hoare and R.H. Perrott, eds.) 6I–7, Academic Press, London and New York.

    Google Scholar 

  11. Hoare, C.A.R. (1974). Monitors: An operating system structuring concept. Comm. ACM. 17, 10, 549–557.

    Article  Google Scholar 

  12. Hoare, C.A.R. (1978). Communicating sequential processes. Comm. ACM. 21, 8, 666–677.

    Article  Google Scholar 

  13. Ichbiah, J.D. et al. (1979). Preliminary ADA Reference Manual. Sigplan Notices, 14, 6.

    Google Scholar 

  14. Welsh, J. and Bustard, D.W. (1979). Pascal-Plus — Another Language for Modular Multi-programming. Software — Practice and Experience, 9, 947–957.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Michael J. Flynn Neville R. Harris Daniel P. McCarthy

Rights and permissions

Reprints and permissions

Copyright information

© 1981 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Perrott, R.H. (1981). Concurrent programming : Microcomputers. In: Flynn, M.J., Harris, N.R., McCarthy, D.P. (eds) Microcomputer System Design. Lecture Notes in Computer Science, vol 126. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-11172-7_7

Download citation

  • DOI: https://doi.org/10.1007/3-540-11172-7_7

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-11172-6

  • Online ISBN: 978-3-540-38949-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics