• DocumentCode
    970080
  • Title

    Implementing Language Support in High-Level Languages

  • Author

    McKendry, Martin S. ; Campbell, Roy H.

  • Author_Institution
    School of Information and Computer Science, Georgia Institute of Technology, Atlanta, GA 30332.
  • Issue
    3
  • fYear
    1984
  • fDate
    5/1/1984 12:00:00 AM
  • Firstpage
    227
  • Lastpage
    236
  • Abstract
    One of the requirements for building an operating system in a high-level operating system language, such as Ada, Concurrent Pascal, or Modula, is the construction of a language support system, or kernel. This paper presents a model that generalizes the concept of a kernel, and defines a kernel and the processes it supports to be at different levels of abstraction. A high-level language mechanism, the Execute statement, is then proposed as the basis of the interface between a kernel and the processes it supports. Software capabilities control access between levels and the Execute statement controls processor context switching between levels. The mechanisms rely on data typing for reliability and protection. They encourage systems that are well protected and exhibit an explicit hierarchical structure. Software capabilities and the Execute statement are illustrated with a pilot implementation on the Prime 650. An experimental operating system that encompasses their use is discussed. Extensions are presented which manage interrupts, timeslicing and preemption, and hardware protection mechanisms.
  • Keywords
    Assembly systems; Buildings; Concurrent computing; Hardware; High level languages; Kernel; Modular construction; Operating systems; Protection; Runtime environment; Capabilities; Pascal; context switching; high-level languages; operating systems; run-time kernel;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.1984.5010231
  • Filename
    5010231