Just quickly looking at the Kernal class I saw a few problems. In the run method you have a local variable called loops that is set to 0 and never changed. In the execute function I'm pretty sure calling remove in the new for loop like that throws an Exception, the easiest solution is to use an old for loop and either iterate backwards or decrement i after you remove an item to compensate.
Refactoring is probably a good idea especially if you are going to show your code to other people.
I would recommend renaming all your variables to more standard names, at least rename the one letter variables.
In the execute function you are iterating over the loop twice, when you should be using an else.
In the run method remove everything except the contents of the inner run function. Then where you call Kernal.run() change it to something like:
1 2
| Thread thread = new Thread( new Kernal() ); thread.start(); |
As DavidX said use System.out.println to give you feedback on whats happening, you can also use try/ catch blocks and tools built into your IDE like breakpoints and memory viewer.