Evaluation for OS

Arvind Santhanam (arvind@cwc.ucsd.edu)
Tue, 18 Apr 2000 07:27:18 -0700 (PDT)

Hi Dr. Voelker,

I'm attaching the evaluations for the Pilot and OPAL.

\documentclass[article, 10pt]{IEEEtran2e}


Pilot: An operating system for the personal computer

This paper is one of the first proponents of an OS for a PC. The goal is to provide a efficient platform for a single user with a support for a large number of utilities using a high-level programming language MESA. THe OS is more a run-time package for a single language than anything else. How different it is from a single user working on a UNIX-like system is not very clear, and not enough details are given in the way processes are implemented. This OS presciences the notion of single address space although its not explicit in that regard.

The integration of a TCP-like protocol stack with the OS for communication between various machines in the network is definitely a key contribution of this paper. It is a commonly held belief that no single language can support (efficiently) all possible applications. One of the handicaps of this OS is that all the applications have to be written in MESA. This might be useful for enhancement of certain functionality but need not be efficient for a wide variety of applications. It would be desirable that the OS support a set of languages. The concept of the scavenger program appears to be a novel idea, although i really haven't delved into crash recovery mechanisms.

Sharing and Protection in a Single Address Space OS

This paper introduces the notion of a single address space architecture to improve sharing and protection among processes while separating program execution, resource ownership and resource naming from protection domains. The interprocess communication is much quicker in this approach as execution is at the speed of memory access. I think use of wide-addressing might actually not be as beneficial because a 64-bit bus would require much larger area on silicon (inspite of a fabrication process change) and which might plausibly retard the overall turn-around time of jobs in the system.

One advantage that the single address space scheme presents (that is not mentioned in the paper) is that they might not take a serious hit on a context switch. Usually in prior architectures when a context switch occurs between two processes X and Y, the TLBs need to be flushed, but in the single address scheme with the use of a larger enough TLB we do not need to flush the TLB's. Since i'm not aware of any OS which uses this approach singularly, i would imagine that this idea though novel does not increase the efficacy of resource handling in the overall sense although interprocess communication is definitely improved. Use of larger size segments can help provide contiguity in memory to a greater extent.