import java.util.Vector; /** * Each device in the system will have a DeviceDescriptor that contains its name * and a queue on which processes performing I/O on the device can be blocked. * * @author Grant Braught * @author Dickinson College * @version Mar 4, 2005 */ class DeviceDescriptor { private String name; private Vector blocked; public DeviceDescriptor(String name) { this.name = name; blocked = new Vector(5, 5); } public void block(ProcessDescriptor proc) { blocked.add(proc); } public ProcessDescriptor unblock() { return (ProcessDescriptor) (blocked.remove(0)); } /* * Needed so that DeviceDescriptors can be put in a Hashtable. */ public boolean equals(Object o) { return name.equals(((DeviceDescriptor) o).name); } }