| Regardless of the fact that OpenVMS offers the "real-time"
process priority range from 16-31, it's not a true real-time
operating system due to several factors, such as the lack of a
maximum time to service an interrupt. I've had painful experi-
ences with customers trying to mix real-time processes and time-
sharing processes on VAX Systems running OpenVMS. It's a dif-
ficult task and one which most customers do not have the disci-
pline or skills to manage. It's much better if the real-time
tasks can be assigned to dedicated real-time systems with well-
defined interfaces between the time-sharing systems and the
real-time systems.
You might try asking this question in the REALTIME Notes
conference. I believe it's at HELIX::NOTES$LIBRARY.
From a historical perspective, the real-time operating systems
that Digital sold (and which I recall) were RT-11 and VAXeln. If
there are any descendents of these for Alpha, they are probably
good candidates for the most time-sensitive tasks.
Greg
|
|
:1) Is it possible, on OpenVMS, to reserve one or more CPU for specific
:realtime-like operations, excluding them from being used by other processes?
:2) if yes, with what kind of code this could be done (something similar to a
:PPL$ routines, or only with macro code)?
:3) if yes, there should be also the capability to help these realtime- like
:processes to have a sort of realtime access to the I/O devices on the bus. Is
:this possible, and how?
See HELP SET PROCESS /AFFINITY on an OpenVMS Alpha V7.0 or later system,
and see Chapter 4 (CPU Scheduling) in the V7.0 New Features Manual.
If you need real-time access from a real-time process beyond what $qio[w]
or the fast-I/O services can provide, I'd look at creating a device driver,
and operating in kernel mode. Under OpenVMS Alpha, one can write device
drivers in C.
DECthreads superceded PPL quite some time ago, and -- with V7.0 and later
(noticing a trend in OpenVMS version numbers? :-) -- can take advantage
of Kernel Threads and can run the threads of a process on seperate
processors. And again, see the V7.0 New Features Manual.
Depending on what these folks mean by "real-time" -- there is no general
definition of this phrase --- mixing real-time and time-share may not be
a good idea -- even with the dedicated processors and/or user-written
(class) scheduler...
|