|
From: Casper H. <ch...@us...> - 2002-05-22 23:45:05
|
tor, 2002-05-23 kl. 00:35 skrev Robert K.: > Hi, I'd like to warm up the theme about Directory structure and multiple > installations, again. > > Hyper and I had a discussion in this context, and I want to give us a base > via posting it. > Conclusion up to now is: > -very different views for some ss > -multiple distinct installations should be possible on one partition but > cause dir-inconsistency (who has the true view) There should be no trouble with multiple installations on one parition unless you run badly behaving applications that expect \windows and \program files to be there. Well-written applications use the OS APIs to get these paths (which ultimately is saved in the registry). > > Let's start clearing this problem., > > KJK::Hyperion: about Unix dirs... > I think they *really* should stay in the disk root. All systems with a > POSIX subsystem (MacOS/X, QNX, BeOS) do that, I don't see why we have to > differ The unix standard directories will show up in all subsystems then? > NonVolatil: I don't want to pollute the root > KJK::Hyperion: the root is no-one's land What root are we talking about? The Object Manager root or the Win32 shell namespace root? System drive? POSIX subsystem root? Other? > NonVolatil: AND I want to have a subdir for each sub system, also win32 > KJK::Hyperion: Win32 can, by design, be installed everywhere > Unix systems cannot. They have a rigid structure, and more important > there's no way to determine dynamically the location of directories Yes, unix applications expect a certain disk layout. However the POSIX subsystem can emulate this layout so the unix applications are happy. > NonVolatil: thats ok and unchangeable. But with virtual dirs there is a > possibility to locate the real dirs under the OS' dir > KJK::Hyperion: virtual directories are an administration and programming > hell > NonVolatil: i don't think so > NonVolatil: 'cos a programmer of a certain ss knows what he knows > KJK::Hyperion: they introduce yet another special file system object, for > example Now I'm confused. Which special file system object? Symbolic links are handled by the object manager in cooperation with it's clients. > KJK::Hyperion: do they take in account all the possible paths? > X:\dir\..\config.sys? X:\config.sys.? X:\dir1\dir2\..\..\config.sys? > NonVolatil: OS/2's config.sys resides in the boot drives root > KJK::Hyperion: what if some program reads it with an "indirect" path like > those? do you have to check every damn file open? > NonVolatil: whats an indierect path? > KJK::Hyperion: the dot and double-dot entries, for example > NonVolatil: the ss's open implementation has to monitor if a special file > is opened and treat that differently. - Its possible but hard > KJK::Hyperion: X:\..\..\dir\.\dir2\..\.\..\config.sys.... > this is the same as X:\config.sys The subsystem translates relative paths into fully qualified paths. > KJK::Hyperion: there's another problem with the "every SS has its root" > approach. That they cannot work together Each subsystem can provide symbolic links to a central location. > KJK::Hyperion: if they share the same root, file paths can be exchanged > freely with little or no processing required Just configure your subsystems to have the same view of your volumes then. |