try {
final Address kernelStart = Unsafe.getKernelStart();
final Address kernelEnd = Unsafe.getKernelEnd();
final Extent kernelSize = kernelEnd.toWord().sub(kernelStart.toWord()).toExtent();
MemoryResourceImpl
.claimMemoryResource(new SimpleResourceOwner("kernel"), kernelStart, kernelSize, MEMMODE_NORMAL);
final Address bootHeapStart = Unsafe.getBootHeapStart();
final Address bootHeapEnd = Unsafe.getBootHeapEnd();
final Extent bootHeapSize = bootHeapEnd.toWord().sub(bootHeapStart.toWord()).toExtent();
MemoryResourceImpl
.claimMemoryResource(new SimpleResourceOwner("bootheap"), bootHeapStart, bootHeapSize, MEMMODE_NORMAL);
ResourceManager rm = new ResourceManagerImpl();
InitialNaming.bind(NAME, rm);
return rm;
} catch (NamingException ex) {