1. An industrial controller comprising: a multicore electronic computer having a first and second processor, each processor having respective memory caches; a shared electronic memory communicating with the first and second processors through their memory caches; the electronic memory holding a first and second operating system; and a startup sequence circuit responding to a startup signal to: (a) load the first operating system onto the first processor; (b) load the second operating system onto the second processor; (c) assign application programs to the first processor and to the second processor based on the characteristics of the first and second operating systems; and (d) communicate between the application programs on the first and second data by exchange data using shared space in the electronic memory.