Some overly simple answers: 1) Where to start? First, as you have learned, there are not good documents describing the Hurd. After reading the overviews you have little choice but to jump in and start reading the program code. The best way I've found to do that is to start with a question (any question will do) and try to track down an answer. You will likely get at best an incomplete answer. Be happy. You have made progress. Then pick a different question and try to track down an answer. Over time your questions will become more productive and your answers more complete. The phrase "code is the best documentation" is misleading. As documentation, code is often poor, but at least it is accurate.
2) Translators are important, and, like anything that is truely new, it is full of surprizes for the future. I think it is best described as way for a developer to create new features that look as if they had been build into the operating system from the beginning. It makes possible elegant solutions to problems that before were complex. Initially it will be used to do some of the same old things, just differently. When we finally get the idea, we'll be inspired to try things we had never considered before. 3) Hurd is built on top of Mach. Certainly true. Mach is a means to an end, not a foundation. Some of the Hurd developers have become very frustrated with some of the things Mach didn't do or didn't do well. Over time, if Hurd begins to live up to its promise, those limitations will be addressed. Perhaps Mach will be improved, perhaps it will be replaced. I don't think it matters which. Once it works well enough, most of use will probably just ignore it and focus on the new possibilities that Hurd offers. -----Original Message----- From: Zsombor Gergely [mailto:[EMAIL PROTECTED] Sent: Friday, March 10, 2000 4:55 PM To: [email protected] Subject: Three silly questions to the Hurd-Core Dear Hurd-Core guys, I have 3 silly questions. 1) Reading "all" the docs available, I still can not find the rationale for several things (for having a non-logged in user, the design of the networking layer(s), etc). I still can not build a bridge between the verbal (easy readings) and the "real" part (code and description for programmers: data types, buckets and the hell knows whatever...). It has been mentioned that code is the best documentation, but what do you suggest to somebody, who hase no _real knowledge_ of programming, but has an understanding of the possible underlying logic? I have the Gnumach and the hurd sources, but I can not figure out, where to start. I think I should start somewhere earlier (structure of a generic C program), right? Or is it feasible to go right into the stuff itself? Any ideas out there? 2) Discussing features of the Hurd with another guy, he asked me what the real benefits of it were. I tried to explain the possibilities of the translator structure, but even I did not find myself too convincing. Since then, I think that the possible security features (capabilities - see earlier thread on Eros and another post on a french interview - [sorry for no exact references]) and scalability of the Hurd is at least as important as the translator concept. I am right? If it is so, readings should stress this, and these could be a focal point of the Hurd "marketing" as well. 3) Hurd -- nowadays -- still relies heavily on the mach microkernel. What chance does it (Hurd) have to get ported on another one? Is there another candidate anyway, or this is just a theoretical possibility? If I understand well, the kernel (even a microcernel) have crucial role in making good SMP work. Can Mach offer a good foundation for the Hurd in this sense?

