kernel resource tracking/controlling
Beat Christen
spiff at longstreet.ch
Sat Jan 20 00:08:54 GMT 2001
I have implemented a kernel-event monitor for Linux as part of my thesis,
which could be used as underlying infrastructure of what you have in mind.
You would still have to instrument your kernel code with the
event-generator calls (what you call central locations).
Based on the events that you gather while you go, you should be able to
recreate the status of each individual resource that you might want to
track, after an initial setup phase.
You can find the documentation on http://novo.longstreet.ch/proc_events/
I can make the source code available to you if necessary.
Regards,
Beat
On Fri, 19 Jan 2001, Amos Blackman wrote:
> 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
>
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