| Embedded Virtualization | Company | Products | Applications | Downloads | Support | Contact Us |
|
|
|
|
Isolating real-time and non-real-time processesThe key to delivering hard real-time control alongside Windows is INtime for Windows’ unique architecture. Separate hardware tasks isolate and protect the INtime for Windows real-time operating system (RTOS) and real-time applications from Windows and its associated processes.
With single thread CPUs, the user has the choice of running INtime in dedicated mode in which case a proprietary INtime feature called OS Encapsulation (OSEM) creates two separate virtual machines: one for Windows and the other for INtime (see figure x(a)). In this environment, the real-time INtime processes that are being run always have higher priority than any Windows processes and Windows becomes essentially a subtask to INtime. Most state of the art CPUs, even single core processors, support a multi-thread front end via HyperThreading, which looks to operating systems like a multi-processor environment. In the case of single-core processors, INtime can be setup in dedicated mode whereby one thread is allocated to Windows and the other to INtime (See figure x(b)). In the case of multicore processors, INtime can be configured to have Windows running on one core while each instance of INtime runs on a dedicated a CPU core. This permutation is multiplied with processors that support multi-threading, as shown in figure x (d). Using this partitioning, multicore INtime platforms can exhibit measured worst case interrupt latencies as low as three microseconds! Protection for real-time processesINtime provides complete protection for real-time processes. All real-time threads run in user-mode (ring 3) within the memory address space of their INtime process. That means that they can only access memory associated with their real-time process. Attempts to access memory outside their address space will cause a page fault that will be trapped by the processor and managed by the INtime OS. This results in the suspension of the thread that caused the fault, ensuring that no real-time processes can crash the system or affect other real-time or Windows processes/applications. Direct Hardware AccessDirect access to the full I/O space, allowing DOS-like port I/O (IN/OUT) access to the hardware, can be performed in a secure manner with the aid of INtime APIs without any performance penalty. This provides the ability to handle interrupts from the application and allows ultimate flexibility in the design of real-time applications while ensuring the protection and robustness of executing from user-mode. Services available to real-time applicationsINtime real-time applications have direct access to a TCP/IP stack without requiring Windows as an intermediary. Applications use a standard sockets API that interfaces to dedicated, real-time Ethernet hardware. INtime also supports access to dedicated USB interfaces and other standard PC hardware with appropriate middleware. The INtime API includes calls to transparently move data between a real-time application and its Windows host file system. These standard file I/O calls apply to any file system supported by Windows that uses UNC filenames. In addition, other services provide real-time process access to the Windows registry and Windows event log. |