kernel resource tracking/controlling

Amos Blackman blackman at eecs.harvard.edu
Fri Jan 19 19:02:20 GMT 2001


Mike Smith thought you folks would be good people to discuss my issue
with.  What I want to be able to do is to track FreeBSD kernel resources
-- which process owns them, which processes are blocked because the
resource is held by another, etc.  So what I'd like, and what doesn't seem
to exist currently, are "central" locations in the kernel where I can
place calls to my code when a process obtains a resource, when it releases
it, and when a process blocks on a resource held by another.  (There's an
example in the forwarded message below.) The end goal is to use this
information in making scheduling decisions, not access control, but since
AC requires similar information, I thought it was appropriate for this
list.

Suggestions/thoughts?  Anything would be appreciated.

-amos


---------- Forwarded message ----------
Date: Fri, 19 Jan 2001 10:35:52 -0800
From: Mike Smith <msmith at FreeBSD.ORG>
To: Amos Blackman <blackman at eecs.harvard.edu>
Subject: Re: kernel resource tracking/controlling 


The short answer to your question is "no".  You might want to talk to the
TrustedBSD people, though, since the access control mechanisms are
effectively the authentication side of resource control, and the gates 
that they are implementing could become part of a wider "resource" 
management infrastructure.

Note that the word "resource" is heavily overloaded in the kernel's 
context, and you might want to try looking for a more general term (if 
such a thing is possible).

> I've been digging through a lot of unfamiliar code trying to figure this
> out on my own, and have decided it would be more efficient to see if
> there's an expert around. :)
> 
> I'm trying to implement a kernel resource tracking/controlling system in
> as general a manner as possible.  Essentially, for any resources that are
> currently held by a process, I need to know which process holds it and
> which processes are blocked on it.  For example, if a given tty is owned
> by a process and three other processes are blocked waiting on it, i want
> to be able to track that. 
> 
> So, basically, my question is: are there some "central" locations in the
> kernel where I can place calls to my code when a process obtains a
> resource and when a process blocks on a resource held by another process?
> If so, pointers to the code (and any other thoughts) would be greatly
> appreciated.
> 
> Thanks!
> 
> -amos


To Unsubscribe: send mail to majordomo at trustedbsd.org
with "unsubscribe trustedbsd-discuss" in the body of the message



More information about the trustedbsd-discuss mailing list