Semaphore

Kristof Provost kristof at sigsegv.be
Wed Feb 22 04:48:44 EST 2012


On 2012-02-22 11:01:52 (+0200), Konstantin Zertsekel <zertsekel at gmail.com> wrote:
> On Tue, Feb 21, 2012 at 6:14 PM, Dave Hylands <dhylands at gmail.com> wrote:
> > I'm assuming that the semaphore is one which is held across multiple
> > calls into the kernel, otherwise you don't have an issue in the first
> > place, unless there is a bug on the kernel side of things which
> > actually caused the process to terminate.
> 
> Ok, but what happens if things go wrong?
> For example, it driver exists abnormally (segmentation fault or something)?
> Anyway, it seems very strange that the responsibility is of a driver alone!
> There is the *kernel* in the system to take care of abnormal
> situation, not the exit function of a driver...
> 
The driver is part of the kernel. If it dies the whole kernel can
(perhaps even should) die.

There are systems, like Minix, where drivers don't run in kernel mode
and where a crashing driver won't take the system down.
There are advantages and disadvantages to that approach.
See http://en.wikipedia.org/wiki/Microkernel

Kristof




More information about the Kernelnewbies mailing list