On Wed, 10 Aug 2005, Momtchil Momtchev wrote: > No, kqueue/kevent is not realtime, as the whole FreeBSD kernel doesn't > support hard real-time scheduling. In order to have hard real-time > scheduling you should have a fully preemtible kernel, which schedules > and preempts everything (even interrupt handlers). The RTCoreBSD uses a > two-kernel approach with a real-time microkernel which runs the FreeBSD > kernel as a process, providing a virtual interrupt controller. The > real-time processes run directly on the microkernel and can't directly > use the FreeBSD kernel services. While FreeBSD is not a hard realtime system, it does have increasing propertis of one: FreeBSD 6.0 ships with kernel preemption enabled by default, and the priority propagation and priority management in the SMPng locking primitives moves in that direction also. FreeBSD will preempt one running ithread with one associated with a new interrupt if the scheduler decides that's appropriate based on their priorities. With Giant off most of the kernel, a lot of problems with deferred processing due to large lock size have gone away. Robert N M WatsonReceived on Wed Aug 10 2005 - 10:14:09 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:41 UTC