Skip to main content

Where concurrent processes originate

  • Session Papers
  • Conference paper
  • First Online:
Programming Languages and System Architectures

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

  • 180 Accesses

Abstract

Direct control over short- and medium-term scheduling algorithms is of primary importance in systems programming, real-time programming and multiprocessor parallel programming. Such algorithms can be implemented in high level language programs if low level synchronisation primitives are incorporated into the language. The objective of the paper is to discuss an extension of the Modula-2 low level synchronisation primitives (meant for a uniprocessor system) to multi-processor systems. Its aim is to investigate how elementary the low level primitives can be without losing their integrity. The solution introduces idling processes and two rudimentary operations for the delay and the immediate resumption of a process inside the monitor.

This work was supported by Kuwait University under the grant number SM 087

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.

References

  1. Dijkstra, E. W. The Structure of the THE Multiprogramming System. Comm. ACM, Vol. 11, No. 5. pp. 341–346. (1968)

    Google Scholar 

  2. Brinch Hansen, P. Operating Systems Principles, Englewood Cliffs, NJ, Prentice-Hall (1973).

    Google Scholar 

  3. Hoare, C. A. R. Monitors: An Operating System Structuring Concept. Comm. ACM, Vol. 17, No. 10. pp. 549–557.(1974)

    Google Scholar 

  4. Brinch Hansen, P., Deamy: a Structured Operating System, Information Science Technical Report No. 11. (1974)

    Google Scholar 

  5. Brinch Hansen, P. The Programming Language Concurrent Pascal. IEEE Trans. on Software Engineering, SE-1, (2), pp. 190–207.(1975)

    Google Scholar 

  6. Hoare, C. A. R. Communicating Sequential Processes, Comm. ACM, Vol. 21, No. 8, pp. 666–678.(1978)

    Google Scholar 

  7. Rovner, P., Extending Modula-2 to Build Large, Integrated Systems, IEEE Software, Vol. 3. No 6, pp. 46–57, (1986).

    Google Scholar 

  8. Cardelli, L., Donahue, J., Glassman, L., Jordan, M., Kalsow, B., Nelson, G., Modula-3 Language Definition, ACM SIGPLAN Notices Vol. 27, No. 8, pp. 15.42, (1992).

    Google Scholar 

  9. Powell, M. L., Kleiman, S. R., Barton, D., Shah, D., Stein, D., Weeks, M., SunOS Multi-thread Architecture. Usenix, Winter '91, Dallas, TX. (1991)

    Google Scholar 

  10. United States Department of Defence Reference Manual for the ADA Programming Language, ANSI/ML-STD 1815A. (1983)

    Google Scholar 

  11. Birel, A. D., Nelson, B. J. Implementing Remote Procedure Calls, ACM Trans. on Computer Systems, Vol. 2, No. 1, pp. 39–59.(1984)

    Google Scholar 

  12. Sewry, D. A. Modula-2 Process Facilities. ACM SIGPLAN Notices, Vol. 19, No. 11, pp. 23–41.(1984)

    Google Scholar 

  13. Wirth, N. Programming in MODULA-2. Springer-Verlag. (1985)

    Google Scholar 

  14. INMOS Limited occam2 Reference Manual, Prentice-Hall. (1988)

    Google Scholar 

  15. Bal, H. E., Tanenbaum, A. S. Distributed Programming with Shared Data. Comput. Lang. Vol. 16, No. 2, pp. 129–146. (1991)

    Google Scholar 

  16. Silbershatz, A., Peterson, J., Gelvin, P., Operating System Concepts. Addison-Wesley. (1991)

    Google Scholar 

  17. Scott, M. L., LeBlanc, T. J., Marsh, B. D., Multi-Model Programming in Psyche. Proceedings of the 2nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 70–78, (1990).

    Google Scholar 

  18. Morriset, J. G., Tolmach, A., Procs and Locks: A Portable multiprocessing Platform for Standard ML of New Jersey, 4th ACM PPOPP, 5/93, CA, USA, SIGPLAN Notices, Vol. 28. No. 7. (1993).

    Google Scholar 

  19. Anderson, E., Bershard, B. N., Lazowska, E. D., Levy, H. M., Scheduler Activation: Effective Kernel Support for the User-Level Management of Parallelism. ACM Transactions on Computer systems, Vol. 10, No. 1, pp 53–79, (1993).

    Google Scholar 

  20. Mccann, C, Vaswani, R., Zahorjan, J. A Dynamic Processor Allocation Policy for Multiprogrammed Shared-Memory Multiprocessors. ACM Transaction on Computer Systems, Vol. 11, No. 2, (1993).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jürg Gutknecht

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Chrobot, S. (1994). Where concurrent processes originate. In: Gutknecht, J. (eds) Programming Languages and System Architectures. Lecture Notes in Computer Science, vol 782. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57840-4_30

Download citation

  • DOI: https://doi.org/10.1007/3-540-57840-4_30

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-48356-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics