[mkc2008] Thread Creation, Destruction and Synchronization - side effects of task destruction

Jan Bierbaum s3306700 at mail.inf.tu-dresden.de
Sun Apr 5 22:15:14 CEST 2009


What happens to mappings created by a (thread of a) task that is
destroyed? Intuitively I'd say they continue to exist and in the mapping
data base the "parent task inherits the mappings". That sounds a bit
awkward, so I'll try a picture:

A --> B ---> C
         \-> D

Some thread in task A established a mapping (of some page) to task B.
Task B did map that page to tasks C and D afterwards. Now we destroy
task B. Does the MDB look like this afterwards?

A ---> C
   \-> D

Another question:
On slide 32, as a solution to the problem of trying to access an invalid
thread lock, there's the approach to "Check [the] validity of [any]
thread lock before every try [to acquire it]". How is this done? How can
the validity of a lock be checked without actually touching it in memory?

BTW: There's a typo on the very first slide ;-)

Thanks, Jan.

More information about the mkc2008 mailing list