Re: Newbie Questions
Re: Newbie Questions
- Subject: Re: Newbie Questions
- From: Michael Smith <email@hidden>
- Date: Sat, 1 Dec 2007 09:49:30 -0800
On Nov 29, 2007, at 1:38 PM, Thomas Inskip wrote:
I am not completely new to the darwin underpinnings, but I have been
assigned a task that definitely requires pretty good knowledge of
the mach kernel. First I'd like to ask what's a good introduction
to the kernel (let's call it a crash course).
I hate to say this, but there is no such thing. There's simply no way
that you can absorb that much information and background in a 'crash
course'.
Amit's book is good, and will help you get your feet, but expect to
spend months if not years getting comfortable.
Next I'd like to explain what I need to be able to do. I basically
need to be able to detect when someone is reading from a shared
resource (in this case the display buffer).
Allow me to split a hair here.
Do you want to know when they *are reading*, or when they are *granted
permission to read*?
For what I understand, any such resources are arbitrated through
mach ports.
Resource access control is handled in a number of different ways.
The framebuffer itself is rarely accessed directly by a client; there
are high-level interfaces for obtaining its contents.
If a process needs access to one, it obtains either read or write
rights to it (multiple reader, single writer?), and then is able to
access the resource. Is this correct?
It's a uselessly gross oversimplification.
If so, I should be able to determine when someone obtains read
access to such a port via the kernel trace facility or something
similar. At least that's my idea. Perhaps I am wayyyyyyy off.
Feel free to let me know if that's so or if I am oversimplifying
things.
Let me ask the usual question:
What are you actually trying to do?
= Mike
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden