A home-control platform and architecture includes a plurality of serial
buses that provide communications among processing devices that are
connected to the home-control platform. A bus control unit is configured
to allocate the buses among the devices that request communications
services. The platform supports one or more control processors that
provide an interface to legacy devices, user and network interfaces,
browsers, and the like. The platform also accepts optional plug-in cards
that perform as coprocessors for specific tasks, such as MPEG encoding
and decoding, signal processing, video and audio CODECs, and so on. The
software architecture employed to support this platform includes the use
of a real-time microkernel Operating System (OS) at the control
processors that interfaces with the task coprocessors, and interfaces
with a standard OS, such as Vxworks, WinCE, or LINUX. The microkernel OS
provides primitives for task memory and CPU space isolation, virus
protection, and secure financial transaction services.