Skip to main content

A Basis for Secure Systems Implementation Languages

  • Conference paper
  • 35 Accesses

Part of the book series: Informatik-Fachberichte ((INFORMATIK,volume 25))

Zusammenfassung

Die Sicherheit der heute gebräuchlichen Implementierungssprachen ist begrenzt, da der Programmierer bei Bedarf auf die Hardware-Ebene heruntergehen und dort beliebig viel Unheil anrichten kann. Nun ist zwar die Zugriffsmöglichkeit auf Prozessorstatus, Geräteregister, Speicherabbildungs-Hardware etc. unverzichtbar — jedenfalls für die Betriebssystem-Programmierung. Das bedeutet aber nicht, daß der Programmierer in der Lage sein muß, beliebig auf die Feinstruktur dieser „Hardware-Objekte“ zuzugreifen (wodurch die Programmzuverlässigkeit gefährdet wird). Wenn man auf der Hardware-Ebene das Prinzip der Datenabstraktion anwendet, kann man mit Sprachen arbeiten, die die Implementierungsdetails von Hardware-Objekten in einem Standard Prelude verbergen. In der vorliegenden Arbeit werden einige Eigenschaften solcher Sprachen untersucht. Der Zugriff auf Peripheriegeräte läßt sich relativ einfach abhandeln; deshalb wird vor allem auf die schwierigeren Probleme der Prozessor- und Speicherverwaltung eingegangen.

Abstract

Contemporary high-level languages for systems implementation suffer from language insecurities which arise from their ability to deal directly with the hardware. It is certainly indispensible, at least for operating systems programming, to have access to the processor status, device registers, memory management hardware, etc. There is no need, however, for revealing their implementational details to the programmer, thus compromising reliability. Data abstraction on the machine level allows for the design of safe systems programming languages which hide the declaration of “hardware objects” in a standard prelude. Some characteristics of such languages are investigated. As device handling can be managed in a straightforward way, emphasis is placed on the more critical issues, viz. processor and memory management.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   54.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. P. Brinch Hansen: The architecture of concurrent programs. Prentice-Hall 1977

    MATH  Google Scholar 

  2. R.H. Campbell, R.B. Kolstad: Practical applications of Path Pascal in systems programming. Proc. ACM Ann. Conf., 1979

    Google Scholar 

  3. J.D. Ichbiah, J.G.P. Barnes, J.C. Heliard, B. Krieg-Brückner, O. Roubine, B.A. Wichmann: Preliminary ADA Reference Manual. ACM Sigplan Notices 14.6, 1979

    Google Scholar 

  4. M. Joseph, V.R. Prasad, K.T. Narayana, I.V. Ramakrishnan, S. Desai: Language and structure in an operating system. Proc. 2. Int. Symp. Operating Systems, IRIA Rocquencourt, 1978 (Operating Systems — Theory and Practice, D. Lanciaux(Ed.), North-Holland 1979)

    Google Scholar 

  5. B.W. Lampson, J.J. Horning, R.L. London, J.G. Mitchell, G.L. Popek: Report on the programming language EUCLID. ACM Sigplan Notices 12.2, 1977

    Google Scholar 

  6. Proc. Conf. Language Design for Reliable Software. ACM Sigplan Notices 12.3, 1977

    Google Scholar 

  7. K.-P. Löhr: Beyond Concurrent Pascal. ACM Sigops Operating Systems Review 11.5, 1977

    Google Scholar 

  8. R. Massar, K. Nagel, H. Ortheil, H.D. Schmidtlein: COLA — an object-oriented language and its application in the design of well-structured operating systems. Diplomarbeit, Fachbereich Informatik, TU Berlin 1977

    Google Scholar 

  9. K.T. Narayana, V.R. Prasad, M. Joseph: Some aspects of concurrent programming in CCNPASCAL. Software — Practice and Experience 9, 1979

    Google Scholar 

  10. D.L. Parnas, H. Vürges: Response to undesired events in software systems. Proc. 2. Int. Conf. Software Engineering, San Francisco 1976

    Google Scholar 

  11. V.R. Prasad: Report on the concurrent programming language CCNPASCAL. TR 28, NCSDCT Tata Institute of Fundamental Research, Bombay 1978

    Google Scholar 

  12. D.M. Ritchie; C Reference Manual. Bell Telephone Laboratories, Murray Hill 1975

    Google Scholar 

  13. A. Silberschatz: On the safety of the IO primitive in Concurrent Pascal. Comp. J. 22.2, 1979

    Google Scholar 

  14. N. Wirth: MODULA: A language for modular multiprogramming. Software — Practice and Experience 7. 1977

    Google Scholar 

  15. W.S. Wulf, D.B. Russell, A.N. Habermann: BLISS: A language for systems programming. Comm. ACM 14.12, 1971

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1980 Springer-Verlag Berlin · Heidelberg

About this paper

Cite this paper

Löhr, KP. (1980). A Basis for Secure Systems Implementation Languages. In: Hoffmann, HJ. (eds) Programmiersprachen und Programmentwicklung. Informatik-Fachberichte, vol 25. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-67600-0_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-67600-0_15

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-642-67600-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics