A simulation model has been designed to evaluate the performance of distributed object-oriented database systems. By adjusting parameters, a variety of different hardware configurations and workloads can be represented. The model has been used to study a number of performance issues relating to ORION-2, a distributed object-oriented database system being… (More)
A method for reducing semaphore and ready-list contention in multiprocessor operating systems is described. Its correctness is established. Its performance is compared with conventional implementations. A ready list implemented as a ring network is proposed and evaluated.
The data collection and the automatic run-length control features provided in the CSIM18 library allow model builders to easily collect valid data from a simulation model and to be assured that statistically valid results have been achieved at a reasonable computational cost. This paper gives an overview of the CSlMl8 library and then presents these… (More)
Programming projects in an operating systems course expose students to issues involved in the design and implementation of operating systems. The Modula-2 language provides features needed in such projects. This paper overviews the capabilities of Modula-2 and describes a programming project in which students implement a process manager for an operating… (More)
This paper describes a concurrent process manager that has been developed for the Modula-2 programming language. Using this software, students can gain practical experience in designing and implementing concurrent programs using processes, semaphores, and message links. The use of abstraction in describing the process manager is advocated, and a variety of… (More)
This paper examines flow balance, a basic assumption used in the operational analysis of queues and other discrete-state systems. Violation of this assumption can lead to large errors in estimates of state occupancies and average performance measures. However. if the state occupancies of a state sequence are approximated using a subsequence, then the… (More)
Concurrency is a major trend in computer science; it can be taught from the point of view of operating systems, programming languages, algorithm design, database design, software engineering, systems engineering, and computer architecture. The panel will address the following questions among others: When should students be exposed to concurrency? In… (More)
The purpose of this guide is to introduce students who are beginning research on operating systems to the various sources of literature. This document is divided into six sections: periodicals, conferences, general texts, bibliographies, theses and dissertation, and technical reports.
Flow balance and homogeneity assumptions are needed to derive operational counterparts of M/M/1 queue length and response time formulas. This paper presents relationships between the assumption errors and the errors in the queue length and response time estimates. A simpler set of assumption error measures is used to derive bounds on the error in the… (More)