Messages in this thread | | | Date | 08 Aug 96 07:38:07 EDT | From | Mike Robinson <> | Subject | RE: real-time on Linux? |
| |
Alex Pikus <gen_mail@webexpress.net> wrote
>Please give an example of when this would be useful? > >Alex.
Alex,
The whole idea of real-time processing is to guarantee fairly deterministically that a response to an event will occur within a specified (normally fairly short) time frame. In our case, we are trying to use Linux, which is not yet really a real time operating system, to achieve real-time performance. There are a number of reasons for this, the primary one being that Linux comes at the right price, especially considering the application we are developing will be installed into at least 500 PCs. Also, it is other-wise a good system, particularly for development.
However, I digress. The application we are developing includes a WAN (Wide Area Network) communications module, running HDLC variants over both synchronous and asynchronous comms links. For these polled protocols to work efficiently, particularly over low speed (read low cost) links, there must be some guarantee that the polled devices will respond to a poll from the primary side of the link within a time frame of the order of ten milliseconds, and preferably better. Therefore, we need to find some way of ensuring that the task responsible for generating and sending these responses will actually be given some priority and scheduled to run almost immediately after a poll from the primary side is received.
Posix 1003.1b specifies a standard way of assigning priorities, etc, and Linux and the GNU libraries have implemented some of the mechanisms specified. However, Linux is not a real time system, so it looks as though we will have to implement some kernel patches ourselves to get close to achieving something approximating real-time performance. The information provided to us by Markus and others has helped us to identify what facilities are available in Linux and the gcc libraries, what some of the shortcomings are, and some ideas about how we can overcome the limitations.
I'll probably try to publish a summary of what we have achieved when we get things sorted out a little more, for the benefit of others who are interested in using Linux as a real-time system. However, I don't currently expect to be ready to do so for another couple of weeks. If I should publish this in some other news group / mailing list, please tell me.
Hope this answers your question, Alex.
Mike
| |