A description is given of the KRTM kernel which has been designed in order to facilitiate real-time multiprogramming during the development of TELEX-M, a dedicated operating system for telex exchanges. KRTM creates a ...
详细信息
A description is given of the KRTM kernel which has been designed in order to facilitiate real-time multiprogramming during the development of TELEX-M, a dedicated operating system for telex exchanges. KRTM creates a run-time environment supporting execution of all the operating system programs. Although the KRTM characteristics have been derived from the very concrete real life program (to design and implement a reliable operating system capable to provide a satisfactory service for 512 telex abonents and trunks to other switching systems), the resulting product seems to be more general, covering a wider class of strongly multiprogramed, real-time minicomputersystems with high reliability and modularity requirements. The KRTM itself has been designed with the requirement for modifiability in mind, and therefore it is easy to obtain new versions of the kernel, adapted to a particular application.
A model of computation is introduced which permits the analysis of both the time and space requirements of non-oblivious programs. Using this model, it is demonstrated that any algorithm for sorting n inputs which is ...
详细信息
A model of computation is introduced which permits the analysis of both the time and space requirements of non-oblivious programs. Using this model, it is demonstrated that any algorithm for sorting n inputs which is based on comparisons of individual inputs requires time-space product proportional to n**2. Uniform and non-uniform sorting algorithms are presented which show that this lower bound is nearly tight.
Synchronization is an area that exhibits rich hardware-software interactions in multiprocessors. It was studied extensively using microbenchmarks a decade ago. However, its performance implications are not well unders...
详细信息
Synchronization is an area that exhibits rich hardware-software interactions in multiprocessors. It was studied extensively using microbenchmarks a decade ago. However, its performance implications are not well understood on modern systems or on real applications. We study the impact of synchronization primitives and algorithms on a modern, 64-processor, hardware-coherent shared address space multiprocessor: the SGI Origin 2000. In addition to the actual results on a modern system, we examine the key methodological issues in studying synchronization, for both microbenchmarks and applications. We find that although the efficient hardware support (Fetch&Op) for synchronization provided on our machine usually helps lock and barrier microbenchmarks, it does not help in improving application performance when compared to good software algorithms that use the processor-provided LL-SC instructions. This is true even in applications that spend a significant amount of time in synchronization operations. More elaborate hardware support is unlikely to have a significant benefit either. From the applications' perspective, it is usually the waiting time due to load imbalance or serialization that dominates synchronization time, not the overhead of the synchronization operations themselves, even in apparently balanced cases where the overhead may be expected to be substantial.
The LADY programming environment has been developed to support the design, implementation, testing, debugging and monitoring of distributed systems with special focus on operating systems. This paper describes the str...
详细信息
The LADY programming environment has been developed to support the design, implementation, testing, debugging and monitoring of distributed systems with special focus on operating systems. This paper describes the structuring model of the system implementation language LADY. In LADY, a distributed system is viewed as a collection of cooperating objects connected through typed interfaces. The language offers dynamic modifications of the program structure such as generation and deletion of objects and their interconnections as well as migration and checkpointing of objects. Further features include the extensibility of programs and recursive definition of objects. The structuring facilities of LADY are demonstrated by an example and experiences with the language are discussed.
Virtual computersystems can improve software reliability by localizing and controlling the impact of operating system errors and by permitting large systems to be constructed from a set of independent and less comple...
详细信息
Virtual computersystems can improve software reliability by localizing and controlling the impact of operating system errors and by permitting large systems to be constructed from a set of independent and less complex modules. In this discussion, the authors used availability as an indicator of reliability; characterized the overall value of a system in terms of a utility function defined on the possible degrees of availability; demonstrated a number of conditions under which virtual computersystems would be superior to comparable multiprogrammingsystems organized in the conventional manner.
A new method for the control of a multiprogrammed virtual memory computer system is proposed. A mathematical model solved by decomposition shows that the method avoids thrashing. Simulation experiments are used to tes...
详细信息
A new method for the control of a multiprogrammed virtual memory computer system is proposed. A mathematical model solved by decomposition shows that the method avoids thrashing. Simulation experiments are used to test the robustness of the predictions of the mathematical model when certain simplifying assumptions are relaxed and when a slightly simpler control technique based on the same principle is used. Comparisons are given with the case where an ″optimal″ control is used and with that with no control.
The concepts of structured programming attempt to provide a rational basis for writing programs with useful and easily understood structures. As well, they promote a programming methodology called stepwise constructio...
详细信息
The concepts of structured programming attempt to provide a rational basis for writing programs with useful and easily understood structures. As well, they promote a programming methodology called stepwise construction, which is particularly valuable in the design of large and complex program. This paper describes the design and implementation of a language for structured programming - SPL.
In practice, a pure top-down and refinement-based development process is not applicable. A more iterative and incremental approach is usually applied with respect to changing requirements. We call such an approach an ...
详细信息
In practice, a pure top-down and refinement-based development process is not applicable. A more iterative and incremental approach is usually applied with respect to changing requirements. We call such an approach an evolutionary approach. As existing methodologies rely on refinement concepts they do not support an evolutionary development. In this paper, we present the basic concepts of a suitable overall methodology based on componentware and software evolution. We clarify the difference between refinement steps and evolution steps in a document-based development methodology. We propose an evolutionary development process during system design. To support this process at the best, we need to be able to model and track the dependencies between the various development documents. Currently there is no adequate modeling technique available. To close this gap, we introduce the concept of Requirements/Assurances Contracts. These contracts could be rechecked whenever the specification of a component evolves. This allows the impacts of that evolutionary step to be determined. Developers are able to track and manage the software evolution process. A short example shows the usefulness of the presented concepts and introduces a description technique for requirements/assurances contracts in componentware.
This paper is concerned with the nature of large scale software developments; with methodology and experience to date and with consideration of possible - and some probable - future trends.
This paper is concerned with the nature of large scale software developments; with methodology and experience to date and with consideration of possible - and some probable - future trends.
programming 'comments' are a more important aspect of documentation than is generally recognized. Often these comments, written into the program code, are the only form of documentation a maintenance programme...
详细信息
programming 'comments' are a more important aspect of documentation than is generally recognized. Often these comments, written into the program code, are the only form of documentation a maintenance programmer uses when trying to navigate an unfamiliar program. In theory they are the programmer's guide to how a program works. Comments are part of the 'internal' documentation written for the programmer, as differentiated from the end-user's manual. But the industry is, as yet, without a standard for such comments or a widely accepted format for their placement. As many companies have found, rarely does this internal documentation - which includes flowcharts, pseudo-code, and the listing itself, as well as the comments - contain all the information necessary for maintaining a program.
暂无评论