|
From: Phillip S. <ps...@cf...> - 2002-04-30 03:36:47
|
At 04:20 AM 4/30/2002 +0200, you wrote: >Ah, and don't forget we aren't the only OS to have a POSIX subsystem, >still we are the only to question whether its root directory should match >the "system" root, whether /dev is visible to other subsystems, and so on. >Designers of MacOS/X had no doubt, apparently, and they solved the >"usability" issue (i.e. the user wondering what are all those strange >directories in the root) raised by some by just... hiding the POSIX >directories in the GUI. MacOS/X is a Unix you say? Partially true, but >BeOS wasn't at all. Still, also its POSIX subsystem accessed the same >namespace of native programs, and /dev was visible to all programs. One >wonders why those fools at Be and Apple decided so, given the elaborate >rationales the members of this project use to justify the opposite approach They decided to do so because their entire systems were based on POSIX, our is not. It is easy enough to use a single posix filesystem when the kernel and applications are all based on posix, it is not when the kernel and applications are based on NT. Windows applications assume that there are drive letters, that files have extensions to indicate their type, and that they have an ACL, not a chmod mask. Trying to run these apps on a posix filesystem requires dirty compromises - just look at WINE. The issue here is not what the user sees in the gui, but what the applications see the filesystem as, and win32 apps expect to see a win32 type filesystem, not a posix one. OSX and BeOS apps expect to see a posix filesystem, which is why they have no problems doing so. >One more thing: NT is NOT a microkernel, so please stop considering it >such. It may make sense to have special filesystems (think /proc) >implemented by subsystems, ON A MICROKERNEL SYSTEM, that will surely >provide facilities to implement system calls as IPC calls. But, alas, NT >isn't, so it's just not going to work. At least, not to the extent you'd hope This is something I have been asserting for a long time now, yes, NT is NOT a microkernel despite what MS says. It is a modular kernel. As for implementing /proc in the posix subsystem vs. the kernel, why should it be implemented in the kernel if it is only going to be seen by the posix subsystem? It makes sense to me to just leave it in the posix subsystem in user space in that case. If win32 and native apps could also see it, then sure, put it in the kernel, but I don't think you can do this, as /proc is a posix filesystem, and as mentioned above, win32 and NT native apps can't deal with posix filesystems. Note that it is currently my opinion that the posix and win32 filesystems are too different to reconcile them ( without unacceptable sacrifices in functionality ), but if you think it can be done, then figure out how to do so, and implement it and/or explain how to the rest of us. Who knows, maybe you can come up with a way to reconcile them, if so, I'd love to hear it. If you are ever on irc, we could discuss this in #ReactOS. |