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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
P. Brinch Hansen: The architecture of concurrent programs. Prentice-Hall 1977
R.H. Campbell, R.B. Kolstad: Practical applications of Path Pascal in systems programming. Proc. ACM Ann. Conf., 1979
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
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)
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
Proc. Conf. Language Design for Reliable Software. ACM Sigplan Notices 12.3, 1977
K.-P. Löhr: Beyond Concurrent Pascal. ACM Sigops Operating Systems Review 11.5, 1977
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
K.T. Narayana, V.R. Prasad, M. Joseph: Some aspects of concurrent programming in CCNPASCAL. Software — Practice and Experience 9, 1979
D.L. Parnas, H. Vürges: Response to undesired events in software systems. Proc. 2. Int. Conf. Software Engineering, San Francisco 1976
V.R. Prasad: Report on the concurrent programming language CCNPASCAL. TR 28, NCSDCT Tata Institute of Fundamental Research, Bombay 1978
D.M. Ritchie; C Reference Manual. Bell Telephone Laboratories, Murray Hill 1975
A. Silberschatz: On the safety of the IO primitive in Concurrent Pascal. Comp. J. 22.2, 1979
N. Wirth: MODULA: A language for modular multiprogramming. Software — Practice and Experience 7. 1977
W.S. Wulf, D.B. Russell, A.N. Habermann: BLISS: A language for systems programming. Comm. ACM 14.12, 1971
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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