1755545 Members
3582 Online
108835 Solutions
New Discussion юеВ

Re: Unix Real Time?

 
Andy Cole_1
Frequent Advisor

Unix Real Time?

Just to check whether which Unix variant Operating System support Real time application?

If so, may i know where can i get that information regarding: process management, CPU scheduling, memory management, I/O system, and File system management? Thanks a lot
9 REPLIES 9
Steven E. Protter
Exalted Contributor

Re: Unix Real Time?

HP-UX 11.11

It requires HP PA-RISC hardware.

Lots of people including AOL use it the way you want to use it.

SEP
Steven E Protter
Owner of ISN Corporation
http://isnamerica.com
http://hpuxconsulting.com
Sponsor: http://hpux.ws
Twitter: http://twitter.com/hpuxlinux
Founder http://newdatacloud.com
Ramkumar Devanathan
Honored Contributor

Re: Unix Real Time?

Hi,

check out these links -

http://www.rtlinux.com/products/rtlinuxpro/rtlinuxpro.html

http://www.ddj.com/topics/realtime/sites/

The second above is a real good list of links to sites serving details of real-time operating systems.

Hope this helps.

- ramd.
HPE Software Rocks!
Andy Cole_1
Frequent Advisor

Re: Unix Real Time?

Thanks guys.
Ramkumar, thanks for the website. But what i need is Unix Variant OS that support Real Time Application. The second website that you give, which i think is not a unix variant OS. Thanks anyway.

Steven, thanks. Can check with you whether HP-UX is a unix variant Operating system that support real time? I don't think so, HP-UX is. Thanks

A. Clay Stephenson
Acclaimed Contributor

Re: Unix Real Time?

HP-UX definitely supports real-time process scheduling; anything beyond System V release 4 (SVR4) does. Any process with real-time priority is gauranteed to before any time-share (or system) process.
If it ain't broke, I can fix that.
Andy Cole_1
Frequent Advisor

Re: Unix Real Time?

Thanks clay. Cause i am doing a research on Unix OS that support real time application, so i am not sure whether HP-UX is a OS that support real time? Because i heard from others that HP-UX is not, but the application inside it is. So i am wondering what is it?
Frank Slootweg
Honored Contributor

Re: Unix Real Time?

"real time (application)" means different things to different people.

So please explain what *you* mean by it, and perhaps we can give you answers.

For example for most *real* real-time people, "real-time" means a guaranteed (maximum) response time from a (normally device) interrupt to the start/continuation of a process. While HP-UX has the rtprio(2) system call and rtprio(1) command, it can not guarantee this response time.
In the old days, HP-UX (on the Series 800) had the required kernel-preemption, but due to lack of demand, it no longer has.
Leif Halvarsson_2
Honored Contributor

Re: Unix Real Time?

Hi,
For some years ago HP had a serie of Industrial computers (VME) based on HP-UX and PA-RISC (I don't know if they still exists). In the specifications for this computers you can find "IEEE POSIX 1003.1b Real-time API support (Phase1)" . I am not sure what this mean exact, we have a number of such computers but they are not used for Real time applications.

http://www.hp.com/products1/vmesystems/model745/745_overview_print.html
Bill Hassell
Honored Contributor

Re: Unix Real Time?

As Frank S. stated: what do you mean by realtime? HP sold a realtime operating system based on a proprietary microprogrammable processor for more than two decades called the HP 1000. As mentioned, realtime is usually defined as a deterministic response time to an external event, something virtually no Unix (or Windows) based system can claim. The problem is that the opsystem itself will preempt processes to handle special kernel events such as a core dump for a program or paging or some networking activities.

True, if you open the window of acceptable response time to dozens of seconds, then most Unices will get things started within that time frame, but I would NEVER use a typical Unix system for process control. For instance, the HP 1000 computers could guarentee a maximum response time of 1ms from the initiation of a priority interrupt on a card to the start of the driver to handle the interrupt. And if the driver was coded as a microprogrammed instruction, the response time could be as little as 15 microseconds.

For true realtime applications, programs almost never control devices directly because they are just too slow. Instead, the driver performs the interrupt handling and the program simply changes the behavior of the driver through special interfaces. And filesystems are only useful for slow (100's of ms) activities such as logs or configurations. Typical process control systems will be manipulating giant machines where instant response is not just desirable, it can be a serious safety concern.

So before you look for a realtime opsystem, you must clearly define the expected response times, issues about safety, the ability to collect or transmit data at a specific rate, and most important, the availability of development tools designed for realtime processing.

HP-UX has a realtime processing priority which must be used with care. For instance, setting a shell to a realtime priority and then running this simple script:

while :
do
:
done

will lock up the entire machine, allowing no one to login or run anything.


Bill Hassell, sysadmin
rick jones
Honored Contributor

Re: Unix Real Time?

As others have pointed-out, HP-UX being a real time OS depends on ones definition of real time.

In addition to the rtprio et al things, with 11.11, one can add some software from software.hp.com (search for "interrupt") that will allow the explicit assignment of I/O cards and their interrupts to specific CPUs. This means that you can either make sure that nothing but a given I/O card interrupts a given CPU, or that a given CPU takes no I/O interrupts etc. Not "real-time" but it does help "control" behaviour further.
there is no rest for the wicked yet the virtuous have no pillows