Hello everyone. I am a newbie to kernel development. I am using MacOS X and I'm trying to get Darwin (it's hell not having DSL or Cable modem available in my area, do you think the Apple Store would burn it for me?). Anyway, I am pretty experienced with C/C++ and UNIX and still remember many OS basics from university classes in OS, distributed and parallel systems. I would like to know where to start. The first thing I would like to ask, before getting to any specific task is, do you have any performance testing plan or system benchmark that could allow us to test the performance of Darwin (in all areas), both to test performance of kernel improvements and to compare those results to other OSs or UNIXes?. I would like to focus on kernel performance (scheduling, memory management, drivers, multithreading, SMP). I have one question for which you may have an answer. Why is the maxproc limit in OS X set so low?. Granted, in most Linuxes its 256 (and that's the max) but in OS X 10.1.1 its 100. If one is to have an enterprise server, this may seem too little. Now, I don't know what Darwin's processing unit is, threads or processes. I guess it should be processes, which would mean that this limit does not apply to threads, which would mean that a process could have an (unlimited?) number of them. Am I right?. Now, what do the stack and datasize limits mean?. I used to think that in modern virtual memory systems there was no limit to a process datasize or stack space but the VM limit itself. What did I get wrong?. In Linux these values default to 8192KB and unlimited respectively. Any reason why OS X has 6144KB (odd amount, don't you think?) for datasize and 512KB for stack size. Another question, is there any documentation that would describe the internals of the kernel so I can start looking at the source code? Thanks a lot, and I hope I can help improve what I think is a remarkable effort. Eduardo Jimenez
participants (1)
-
Eduardo I. Jiménez