Today i read the first RTLinux paper from Victor named "A Real-Time Linux". This paper is really a good paper in my opinion which has no sophisticated theory but it is very important in this field because RTLinux has lots of successors.
Whatever the present design of RTLinux but in this paper we could see following points:
1)reduce interrupt latency to enhance the real-time performance of GPOS. This method has been used widely until now. Ingo Molnar did lots of work to reduce Linux interrupt latency and this method has been the mainstream of Real-Time Linux field. Similarly, they replace the these macro definitions:
sti, cli, spin_lock_irqsave, spin_unlock_irqrestore, local_save_flags, local_irq_restore, local_irq_disable, local_irq_enable. ( In the paper they only modify the STI and CLI. It is the Linux 1.x so they only need to fix these two macros).
All these hardware interrupts enable/disable operation are replaced by the software interrupt controlled by a global variable. Linux uses there macros to get synchronization but it could reduce the real-time responding. So if the Linux tries to disable the interrupt the RTLinux executive could clear a global variable to control the software interrupt.
2)Interrupt delivery from RTLinux executive to the Linux
We know hacking the interrupt operation macros already but Linux indeede needs the interrupt to handle the Linux task. That is interrupts delivery including timer interrupt and hardware interrupt. When new interrupt happens the RTLinux could handle this interrupt and if there is nothing to do this interrupt will be passed to the Linux.
3)He avoids the hardware interrupt handling. So in the paper all the interrupt definitely means the timer interrupt. Of course it is possible to handle hardware interrupts in the RT executive because RT executive grabs all the interrupt when RT executive doesn't like to handle these events will be delivered to Linux.
4)one-shot timer to replace the periodic timer