/* test program for process package, using resources */ import sim.*; class user extends process { /* simulation system global variables */ static resource disk; int on, off; user(String n, int on_, int off_) { super(n); on = on_; off = off_; } public void print() { System.out.println("User " + name + " (on="+on+", off="+off+")"); } void body() { while (scheduler.clock < 50) { scheduler.hold(off); System.out.println("task " + name + " requests at time " + scheduler.clock); disk.request(); System.out.println(" task " + name + " granted request at time " + + scheduler.clock); scheduler.hold(on); System.out.println(" task " + name + " releases at time " + scheduler.clock); disk.release(); }; terminate(); } public static void main(String av[]) { disk = new resource("Disk"); scheduler.activate(new user("u1", 2, 3)); scheduler.activate(new user("u2", 3, 2)); scheduler.activate(new user("u3", 4, 1)); scheduler.run_simulation(); } }