The extensibility of SPIN makes it an excellent vehicle
for operating systems research. Listed below are some of the
interesting projects that use SPIN as a development platform.
The Kimera project incorporates experience from the
SPIN project into a distributed Java virtual machine implementation.
We are investigating ways of coping with security concerns in
extensible systems such as SPIN and Java. For further information,
We are using SPIN to implement a high performance persistent
storage system. For further information, click
We are investigating the use of dynamic compilation to improve the
performance of SPIN. For more information, consult the
Dynamic Compilation page.
We have been studying different techniques for emulating Unix on
SPIN. Included in this discussion are tools to integrate
system call interfaces and handlers into SPIN. For more
We have developed a framework to allow applications to control portions
of the system-wide block cache. This framework is being used to improve
filing performance and also to implement distributed shared memory. For
more information, click
We are exploring system designs in which applications can compute
directly on the network interface. Several network interfaces, for
example MYRINET, and the FORE PCI ATM interface, as well as some
research systems (Washington University's ARPA-sponsored gigabit
networking interface), provide the infrastructure necessary to compute
on the network interface itself. We intend to apply the SPIN
technology (use of a safe language, extensible interfaces, and
resource management) to the network interface, thereby allowing
applications to customize their interaction with the network to
improve both performance and reliability.
For more information, click
We are building a distributed Java virtual machine in which the
system services such as security, resource management and execution,
have been factored out of clients into network services. Extracting
the services out of the clients enhances security, management, and
scalability compared to traditional enterprise-wide systems which are
based on replicated monolithic virtual machines. The services produce
self-certifying, self-regulating, self-optimizing programs via binary
code inspection and binary rewriting. For more information, visit the
Kimera home page.
The security of networks connected to the Internet is a very important
and contemporary issue that is currently receiving a lot of attention
and research. Firewalls are one of the tools used to contribute to the
security of such networks. In our project we are taking a different
approach to building firewalls. We are not using the conventional
monolithic operating systems as our platform; however, we are using an
extensible micro-kerneloperating system as our platform. We took this
approach because we believe that such a platform gives us the ability
to build a more stable, secure and fast firewall. The extensible micro
operating system we are using is the SPIN operating system, which is a
research project in the University of Washington. For more
the project page.
Compatibility with the existing installed base of IPv4 nodes is
essential for ensuring a successful transition to IPv6. This is
recognized by the IPng working group as a major issue that must be
resolved in order for the deployment of IPv6 to be feasible. The
focus of this project is to implement a gateway in the context of the
SPIN that will perform configured IPv6-over-IPv4 tunneling to route
IPv6 packets over the test network of the 6bone.
For further information, click
SPIN currently only works on uniprocessor systems. This project is
devoted to the adaptation of the SPIN operating system from the
current Intel ported version to a version which supports SMP. For
further information, click
This project is devoted to improving the existing socket support
for both the Intel x86 and ALPHA platforms.