9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Bakul Shah <bakul+plan9@bitblocks.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] files vs. directories
Date: Thu,  3 Feb 2011 08:58:58 -0800	[thread overview]
Message-ID: <20110203165859.E501C5B66@mail.bitblocks.com> (raw)
In-Reply-To: Your message of "Thu, 03 Feb 2011 12:45:33 +0100." <201102031245.33842.dexen.devries@gmail.com>

On Thu, 03 Feb 2011 12:45:33 +0100 dexen deVries <dexen.devries@gmail.com>  wrote:
>
> why do we keep distinction between files and directories?

David Cheriton's `thoth' operating system didn't keep this
distinction. But every other OS I know of keeps them
separate.  IIRC thoth provided functions for getting the
first child or next sibing given a path name. [Cheriton used
words like father, son, brother -- this was pre-PC!]

> Does it provide any extra value over model with unified file/directory?

They serve functions. A directory is an associative table,
indexed by a string key. A file is an array, indexed by an
integer. But most filesystems do store some attributes with a
file thus breaking this simple model.

One advantage of always storing a directory with a file is
that you can represent file attributes via a directory.  Then
you can have an extensible attributes model.  XML probably
maps well to this model.

Not sure doing so in plan9 makes any sense but you could
build an experimental OS around it! But if you go this path,
do consider providing a few more datatypes in the filesystem
(integers, file-id, strings, ...).  Basically persistent data
types. Or just use an object or relational database as your
filesystem.

There are some uses for cloud based strings :-)



  parent reply	other threads:[~2011-02-03 16:58 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-03 11:45 dexen deVries
2011-02-03 13:05 ` erik quanstrom
2011-02-03 13:40   ` dexen deVries
2011-02-03 13:59     ` erik quanstrom
2011-02-03 13:36 ` roger peppe
2011-02-03 13:40   ` erik quanstrom
2011-02-03 13:44   ` dexen deVries
2011-02-03 14:15     ` roger peppe
2011-02-03 14:27       ` dexen deVries
2011-02-03 18:42         ` smiley
2011-02-03 22:33           ` dexen deVries
2011-02-04  1:42           ` Robert Ransom
2011-02-04  1:49             ` erik quanstrom
2011-02-04  3:30               ` Robert Ransom
2011-02-04  4:11                 ` Eric Van Hensbergen
2011-02-04  4:17                   ` andrey mirtchovski
2011-02-04  5:36                   ` erik quanstrom
2011-02-03 14:35       ` dexen deVries
2011-02-03 16:58 ` Bakul Shah [this message]
2011-02-03 23:13   ` Eric Van Hensbergen
2011-02-04  0:24     ` smiley
2011-02-04  0:45       ` Skip Tavakkolian
2011-02-04  1:29         ` Nick LaForge
2011-02-04 18:26 Lucio De Re
2011-02-04 18:28 Lucio De Re
2011-02-04 18:31 Lucio De Re
2011-02-04 18:41 ` Lucio De Re
2011-08-21 17:33 ` Enrico Weigelt
2011-02-04 18:38 Lucio De Re

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110203165859.E501C5B66@mail.bitblocks.com \
    --to=bakul+plan9@bitblocks.com \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).