> Why is Linux kernel considered a (hard) realtime OS? I already
> understand the basic reason is that the linux kernel does not
> guarantee that a task will be completed on time. But I would
> appreciate answers in terms of more of kernel jargons.
>
> What stops us from classifying kernel as hard RTOS? Is it because at
> times the kernel is non-preemptive (for e.g. while holding spinlocks)?
> Has it got something to do with interrupt latency / scheduling latency
> etc?
>
> Is the behaviour of the kernel (when it is preemptive) similar to hard
> real time OS ??
From what I've read, the preemption in the kernel is mostly a hack because
nobody's found a way to reduce the latency of certain long functions yet.
And there is a separate RTOS version called Real-Time Linux or RTL...I
think. Try googling. It's used in life-support machinery and so forth.