What kind of access should a scheduler provide to its thread management in order to allow a Java virtual machine implementation that relies on operating system threads instead of green threads? What kinds of data structures would then be needed in the virtual machine?