def spin!
            start!
            @run = true
            @hibernation = false
            while @run and (@sys_fifo.length>0 or @app_fifo.length>0)
                while @run and @sys_fifo.length>0
                    p = @sys_fifo.shift
                    p.dst.process_sys_p p
                end
                while @run and @app_fifo.length>0
                    p = @app_fifo.shift
                    p.dst.process_p p
                    break
                end
            end
            stop!
        end
def spin!
            start!
            @run = true
            @hibernation = false
            while @run and (@sys_fifo.length>0 or @app_fifo.length>0)
                while @run and @sys_fifo.length>0
                    p = @sys_fifo.shift
                    p.dst.process_sys_p p
                end
                while @run and @app_fifo.length>0
                    p = @app_fifo.shift
                    p.dst.process_p p
                    break
                end
            end
            stop!
        end
starts the system mainloop

 first Iota#start! is called on each children unless the system is resuming from hibernation
 then while there is Particle in the fifo, first process all system Particle then 1 application Particle
 after all Iota#stop! is called on each children, unless the system is going into hibernation