Username: 
 Password:

Posted Jul 17, 2006 03:34 by Karen R. Listed in: Applications Tags: Mac OS X, IBM, kernel_task
Ó
0QJ

kernel_task threads


R.Tyler Ballance's blog say that he sucks at computers, yet he's been giving his readers the nitty-gritty about Mac computer. Recently, due to an inquiry by BuildFactory icon graphics designer Fernando, he explains why the kernel_task contains too many threads and takes up a high percentage of the virtual memory.


First, Tyler gives us a bit of background on Mach. He shares, "Mach is one of the more successful stories in microkernel development, Mac OS X is based around the Mach microkernel, as well as the NeXTStep of old, as well as DEC's OSF/1, and IBM's frequently deceased OS/2 (at least for RS6000 machines). In accordance with the basic concept of a microkernel, Mach manages memory, and handles inter-process communication but not much else."


After this backgrounder, Tyler start answering the question, "What exactly is a kernel_task"? Since the kernel_task is a mere "representation of the microkernel itself" it is not, therefore, really a "task". It being a PID 0, we can all assume it is not userland-related.


There may be little documentation on kernel_task but from the little info available, Tyler was able to assume that the kernel task may be the basic (virtual/)memory manager for Mac OS X on top of Mach, which is similar to L4 microkernel's sigma0 concept. He confidently declares that "kernel_task is responsible for handling the allocation of pages of memory in the Xnu kernel (Mach+IOKit+whatever else Apple threw in), which would explain why it has an amazing amount of threads".


Yet another process, dynamic_pager, shows up and it is possible that this task is the one that handles swap file for Mac OS X. If this is indeed true, what is dynamic_pager's connection with kernel_task? Tyler assumes, "It's quite possible that kernel_task and dynamic_pager work together of a Mach port, and when necessary, kernel_task runs out of available resources, it serves up memory from a swap file managed by dynamic_pager."


Although most of the info provided Tyler have no strong document back-up, and some even being mere speculation, he hopes that he was able to put some light on what kernel_task is. Check out Tyler's other article on the Mac OS X internals here.



Permalink  |   Email this  |   Linking Blogs   |   Digg It!

Bookmark / Find this article on:

0 Comments


Sort by:
by Advertising -

   




You appear as unregistered user now. To change this, you must register or login



Post new comment  Submit a trackback URL
You can't post comments anymore on this article!


powered by
QJ.NET Blog Network RSS Feeds
MyQJ Feed / PDA
MyQJ RSS / PDA
Blog of Blogs Feed / PDA
QJ.NET RSS / PDA
Gaming Consoles Feed / PDA
Nintendo DS RSS / PDA
PlayStation 3 RSS / PDA
PSP Updates RSS / PDA
Wii RSS / PDA
Xbox 360 RSS / PDA
PC Gaming Feed / PDA
Games for Windows RSS / PDA
MMORPG RSS / PDA
Tabula Rasa RSS / PDA
World of Warcraft RSS / PDA
Science Feed / PDA
Science RSS / PDA
Technology Feed / PDA
Apple RSS / PDA
Gadgets RSS / PDA
Mobile RSS / PDA
Photography RSS / PDA
User Favorites - January
Most Commented
No available articles!
User Favorites - January
Top Jumps
No available articles!