[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: DogCows or Polymorphism in the Hurd

From: Patrick Negre
Subject: Re: DogCows or Polymorphism in the Hurd
Date: Mon, 6 Feb 2006 16:05:02 +0100
User-agent: KMail/1.8.3

I apologize for my bad english.

> > Is it really a good idea to create new name in the filesystem tree ? I
> > mean, a file must have only one path, create new nodes with binding is
> > confusing.
> Why must a file only have one path? This seems like a completely
> artificial and unnecessary restriction.

  Yes, you are right "Must" is a little bit strong.
But, (correct me if i'm wrong) if a program ( view_1.exe ) open "thing.xml" 
with a dir facet , then the directory "thing" is created in the fs. 
Suppose an other program ( view_2.exe ) open the same file with a file facet 
"sort", then a file "thing.sort" is created in the fs. 
So, as a user if i explore the directory i will see 3 objects which are the 
same, and if view_1.exe exits then the directory desapear, and same thing if 
view_2.exe exits. 
   In a user point of view, i think it will be confusing, and even not wanted.
In the case of a view used only by programs, the user didn't need or want to 
have the corresponding file in his fs.
   Isn't the following case possible ? When a program, wanna access a file, 
according to the filetype there are several translator that manage a facet 
for the file. The program choose the facet it need and after that communicate 
with the corresponding translator. That mean, programs can have a different 
sub-filesystem rooted at the file if they access it with different 

> In the case of the Windows setup.exe example, the problem is that setup
> discovers the location of the distribution directory by computing the
> path to the setup.exe binary, so if you have
> foo/bar/setup.exe
> the setup program assumes that the rest of the installation is described
> by a file
> foo/bar/setup.ins

I think setup.exe will need to access ./setup.ins. So that put no constraint 
over the name of the containing directory, so it can be 
"foo.tar.gz/bar/setup.ins", isn't it ?

And, how this problem is handled by the system :
Consider a file "foo.gz" that contain 2 file "a.txt" and "b.txt".
Suppose a program "p1.exe" open "foo.gz/a.txt" with a translator
and want an exclusive access to the file.
Suppose a program "gzip" open "foo.gz," and want to update it, whith a fresh 
"b.txt".Then, gzip need access to rewrite "foo.gz", and then a write access  
to "foo.gz/b.txt", and that is forbidden by "p1.exe" request.
But, gzip don't want to modify "foo.gz/b.txt", so his request don't  hurt the 
"p1.exe" request.
How the contradiction is resolved ?

Regards, Patrick N.

Nouveau : téléphonez moins cher avec Yahoo! Messenger ! Découvez les tarifs 
exceptionnels pour appeler la France et l'international.
Téléchargez sur http://fr.messenger.yahoo.com

reply via email to

[Prev in Thread] Current Thread [Next in Thread]