JanosVM v0.6.0 Java API Documentation: Package edu.utah.janosvm.sys
Package edu.utah.janosvm.sysProvides the java interface to the JanosVM Team facilities.
Package edu.utah.janosvm.sys Description
Provides the java interface to the JanosVM Team facilities.
There are three basic abstractions provided in this package: Teams, Importables and Exportables. The Team is the basis of separation and control in the JanosVM, it is the hook from which resource controls and access controls are hung. Importables and Exportables represent the two views of an object that is shared between teams: the owner's (Exportable) and the user's (Importable).
A team is a context for execution. It provides the resource limits for threads executing in that context. Most notably the Team embodies the memory available to threads in that context. Another resource associated with a Team is the root name space for classes within the team.
Importables and Exportables
The JanosVM supports separate heaps and garabage collection for each Team. This means the GC thread for team A can run independently of the GC in team B, and that the GC thread for each team looks only at its local roots when performing a GC. References between heaps (say from team A to team B) need to be counted without requiring the GC for team A to look at every other heap in the system. We accomplish this by making all inter-heap references be explicitly managed. This is what Importables and Exportables do. They act as proxies to keep alive local objects referenced remotely, even if the local heap has no references to the object.
This documentation is Copyright (C) 2000-2002 The University of Utah. All Rights Reserved. See the documentation license for distribution terms and restrictions.
Documentation, software, and mailing lists for the JanosVM can be found at the Janos Project web page: http://www.cs.utah.edu/flux/janos/
Generated on Mar 17, 2002