comp.lang.ada
 help / color / mirror / Atom feed
From: Mark Lorenzen <mark.lorenzen@ofir.dk>
Subject: Re: Deadlock resolution
Date: 26 Jul 2004 09:46:48 +0200
Date: 2004-07-26T09:46:48+02:00	[thread overview]
Message-ID: <m3acxnp5w7.fsf@0x5358ef10.boanxx18.adsl-dhcp.tele.dk> (raw)
In-Reply-To: opsbp6g9xzp4pfvb@bram-2

"Nick Roberts" <nick.roberts@acm.org> writes:

> I would appreciate answers from people who have experience
> of real life multi-tasking software written in Ada.
> 
> Does this software tend to have deadlock detection and/or
> resolution mechanisms explicitly programmed in Ada, or is
> it expected that deadlocks will be managed elsewhere (for
> example, in the operating system or run time system or
> RTMS or whatever)?

I would say that it should be managed elsewhere preferably by
hardware.

> Alternatively, have you ever come across software written
> in Ada using techniques to eliminate deadlock (for example,
> a lock ordering strategy)?

Use one of the normal analysis methods to analyse if your tasks always
meet their deadlines f.x. the Rate Monotonic Analysis method (see
"Meeting Deadlines in Hard Real-Time Systems" ISBN: 0-8186-7406-7)
together with the Ravenscar Ada profile.

> Which approach do you think is best, in reality (handle in
> Ada, handle elsewhere, eliminate altogether)?

Eliminate deadlocks in the first place is the best
solution. Everything else is just a hack trying to fix a bad design.

> I would appreciate brief descriptions of how deadlock
> detection and/or resolution is performed in real Ada
> programs (where it is performed in Ada).

In some systems, a watchdog is monitoring the CPU to detect if it
halts and then resets the system. But again, avoiding deadlocks is
better than resetting the system.

> Thanks,
> Nick Roberts

Regards,
- Mark Lorenzen



  reply	other threads:[~2004-07-26  7:46 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-07-26  3:25 Deadlock resolution Nick Roberts
2004-07-26  7:46 ` Mark Lorenzen [this message]
2004-07-27 15:31   ` Nick Roberts
2004-07-28  9:34     ` Mark Lorenzen
2004-07-28 13:53       ` Nick Roberts
2004-07-28 14:21         ` Dmitry A. Kazakov
2004-08-02 11:00     ` Ole-Hjalmar Kristensen
2004-07-26  7:48 ` Jano
2004-07-27 15:33   ` Nick Roberts
2004-07-27 16:52     ` Jano
2004-07-28 14:14       ` Nick Roberts
2004-07-29  1:04         ` Randy Brukardt
2004-07-26 14:05 ` Marc A. Criley
2004-07-27 15:50   ` Nick Roberts
2004-07-27 17:31     ` Marc A. Criley
2004-07-27 21:29       ` Robert I. Eachus
2004-07-28 14:29         ` Nick Roberts
2004-07-27 17:53 ` Martin Dowie
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox