public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jesse Pollard <pollard@tomcat.admin.navo.hpc.mil>
To: cat@zip.com.au, Larry McVoy <lm@work.bitmover.com>,
	Rob Landley <landley@trommello.org>,
	linux-kernel@vger.kernel.org
Subject: Re: Alright, I give up.  What does the "i" in "inode" stand for?
Date: Fri, 19 Jul 2002 08:32:56 -0500 (CDT)	[thread overview]
Message-ID: <200207191332.IAA65963@tomcat.admin.navo.hpc.mil> (raw)

CaT <cat@zip.com.au>:
> On Thu, Jul 18, 2002 at 09:38:57PM -0700, Larry McVoy wrote:
> > On Thu, Jul 18, 2002 at 06:33:54PM -0400, Rob Landley wrote:
> > > I've been sitting on this question for years, hoping I'd come
> > > across the answer, and I STILL don't know what the "i" is short for.
> > > Somebody here has got to know this. :)
> > 
> > Incore node, I believe.  In the original Unix code there was dinode and
> > inode if I remember correctly, for disk node and incore node.
> 
> That's a new one. I always thought it was 'information node' so in the
> above it'd be disk information node and just information node.
> 
> Makes sense to me in any case. :)

I believe the original description was "index node" since it contains
the contents of the file index - dinode was the disk resident file
index node, which is converted to the memory resident version "inode".

This index node also contains the index references to the disk blocks
allocated to the file.

In even earlier OSs (DEC RSX, TOPS 10) the file index table was actually a file
in the filesystem (usually named index.idx (or was it file.idx...). I don't
know what it was called in MULTICs where the UNIX varient would have
started.

Most of these filesystems were based on contigeuous allocation, or allocations
of contigeous segments. Hence the first file on the system would be a
contigeuous file, containing the references to all files. Since it was
contiguous, the files could be referenced directly by index, without
requiring special handling to retrieve pointers to where the next
segment of the index file - which is still true for most filesystems
under UNIX (the really large ones are moving to tree structures which
require multiple lookups just to find the inode entry...). Directory
structures (at least on the ones I worked with) contained:
	index number, version, name
triples.

Note - the version number had nothing to do with the file version -
it was used to aid file recovery and was only a reuse count of the index
node. The index node contents had to have the same version number as the
directory entry, or the directory entry was considered invalid. The
file name was a rad50, or sixbit (packed) characters, and sometimes was
stored in both inode and directory - again, for rebuilding the file system.

The pointers in the index node were (block, count) pairs
where the count was the number of blocks in the segment, starting at
"block" location. When the list of pointers in the index node were used
up, the last entry would be another (index number, version) pair pointing
to another index node.

This made it fairly fast for I/O since large chunks of the file could be
loaded in one disk access. Faster access could be had by preallocating
the file (useing the copy utility with a "contig" option).

Fragmentation, however, did force a relatively frequent backup/restore cycle
(took all afternoon on the first Saturday of every month for 8 80MB disks).

Sorry - irrestable nostalgia struck....
-------------------------------------------------------------------------
Jesse I Pollard, II
Email: pollard@navo.hpc.mil

Any opinions expressed are solely my own.

             reply	other threads:[~2002-07-19 13:30 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-19 13:32 Jesse Pollard [this message]
2002-07-30 20:07 ` Alright, I give up. What does the "i" in "inode" stand for? Mark H. Wood
  -- strict thread matches above, loose matches on Subject: below --
2002-07-30 20:58 Jesse Pollard
2002-07-25 13:54 Jesse Pollard
2002-07-20  2:51 Kevin Puetz
     [not found] <fa.m2aun2v.khulp2@ifi.uio.no>
2002-07-20  2:20 ` Kevin Buhr
2002-07-19 13:21 Nicholas Berry
2002-07-19  5:08 Mohamed Ghouse , Gurgaon
2002-07-18 22:33 Rob Landley
2002-07-19  4:38 ` Kelledin
2002-07-19  4:38 ` Larry McVoy
2002-07-19  4:45   ` CaT
2002-07-18 23:34     ` Rob Landley
2002-07-19  5:40       ` Thunder from the hill
2002-07-19  0:21         ` Rob Landley
2002-07-19 12:38           ` Kelledin
2002-07-19 13:09           ` Ryan Cumming
2002-07-19  7:00       ` dalecki
2002-07-19 19:58       ` Måns Rullgård
2002-07-19 20:17         ` Cort Dougan
2002-07-20  1:06           ` Kelsey Hudson
2002-07-19 14:20   ` yodaiken
2002-07-20 14:22     ` Georg Nikodym
2002-07-20 14:31       ` yodaiken
2002-07-22 13:10       ` Jesse Pollard
2002-07-20  6:01   ` John Kacur
2002-07-19  4:52 ` Albert D. Cahalan
2002-07-22 22:23 ` Joe DiMartino
2002-07-22 22:49 ` Hiten Pandya
2002-07-25  0:24 ` Daniel Mose
2002-07-25  1:16   ` Andrew Rodland
2002-07-25  2:43   ` jw schultz
2002-07-25  3:18     ` Christian Lavoie
2002-07-25  5:30       ` Ross Vandegrift
2002-07-25 11:08       ` Alan Cox
2002-07-25  6:03   ` Thunder from the hill
2002-07-26  8:24     ` jbradford
2002-07-28  9:01       ` Thunder from the hill
2002-08-04 15:11         ` Gert Menke
2002-07-26 12:54     ` Rob Landley
2002-07-25 18:06   ` Kevin Buhr
2002-07-26 23:39   ` Daniel Mose

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=200207191332.IAA65963@tomcat.admin.navo.hpc.mil \
    --to=pollard@tomcat.admin.navo.hpc.mil \
    --cc=cat@zip.com.au \
    --cc=landley@trommello.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lm@work.bitmover.com \
    /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