The programmer's workbench—a machine for software development
Communications of the ACM
Techniques of Program Structure and Design
Techniques of Program Structure and Design
Reliable software through composite design
Reliable software through composite design
Experience with porting the Portable C Compiler
ACM '82 Proceedings of the ACM '82 conference
Hi-index | 0.00 |
Several authors have discussed methodology for making software portable, but less has been written about the specific components of programs which are likely to be system-dependent. This paper is based on several years of successful experience in making a major software product (MARK IV) transportable among many operating systems and machines. The product is implemented in assembly language and developed on a single support system for all of the "target" systems. The specific strategies and conclusions presented here are based on more general principles, and should be more or less applicable to systems developed in higher-level languages. The system dependencies are isolated in as few modules as possible. Various techniques are used to include system-dependent code at assembly time, at installation tape creation time and at customer installation time. The system-dependent functions addressed by this paper are: program start and termination, input/output, primary storage management, interrupt control, checkpointing, module loading, overlay structures and object module format and other installation considerations.