The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Abhinav Rajagopalan <abhinavrajagopalan@gmail.com>
To: Angelo Papenhoff <aap@papnet.eu>, tuhs@tuhs.org
Subject: Re: [TUHS] PDP-7 UNIX filesystem
Date: Mon, 21 Oct 2019 16:13:54 +0530	[thread overview]
Message-ID: <CANOZ5riWWibJ4OY8SnZ7q_o1VaMRFq_-1yXedq2PMXupc1ckMA@mail.gmail.com> (raw)
In-Reply-To: <20191021062242.GA91599@indra.papnet.eu>

[-- Attachment #1: Type: text/plain, Size: 3008 bytes --]

>
> . and ..
>
>         Was this introduced first with PDP-11 unix or did the convention
> start on the PDP-7 already? It certainly seems to be the case with .
> but how about ..? the dd directory seems to take on the role of a sort
> of root directory and the now discovered program pd actually creates a
> file .. (haven't tried to understand what it does though yet)
> What does dd stand for, dotdot? directory directory?
>
>
>
. and .. are quite intuitive the more I think about it, they're essentially
acting as symbolic representations of the 'current' and 'parent' dirs as
in, when we look at it from / :

                   /
       |--|--|--|--|--|--|--|--|
     /etc /bin /root /home /mnt /dev /usr
       |--|--|--|--|--|--|--|--|
     ../ ../ ../ ../ ../ ../ ../ ../

As we see, each of the subdirectories hold a / prefix to them as we're used
to seeing, and this translated to the subfolders having their ../
descriptor denoting their parent (I think of them as recursive pointers to
parent dirs), where the parent holds ../ and child dir has a name like /..
and invoking

I don't know if it wasn't until the mkdir() syscall was added this approach
took form. There was an earlier 'Aha, Unix!' thread where Ken had mentioned
a similar thing, where invoking pwd gave only the /usr/name directory even
if the directory had been changed with chdir, essentially stemming out of
only the forked child changing dirs, when the cd wasn't built into the
shell (this was in the PDP-11 when he was writing the initial set utilities
like cd, ls)

Also, depending on the implementation of 'ls' we were to try this out
today, these are bound to have their differences. The original syscalls on
the PDP-7 had chdir,

swp:			" system call dispatch table
   jmp .		" base instruction
   .save; .getuid; .open; .read; .write; .creat; .seek; .tell
   .close; .link; .unlink; .setuid; .rename; .exit; .time; .intrp
   .chdir; .chmod; .chown; badcal; .sysloc; badcal; .capt; .rele
   .status; badcal; .smes; .rmes; .fork


mkdir was probably in the works at this stage.

We should also touch upon the "cd -" as this one takes you back like a back
button into the directory you were last inside, whereas the cd ../.. takes
you up or down the hierarchy depending on the placement of the / and adding
placeholders i.e directory names in place of the .. (dots).

Of course, only the creators can embark upon the design details of the
hierarchical system and the reasons behind all the above and more.

Since you mentioned the word dd, the utility which serves me like none
other for my frequent rewrites of images, it too has an interesting past,
it seems like 'dd' was non-unixy in it's design approach, if I'm to believe
the lores around, which leads me to think that this might have been another
one of the many idiosyncratic naming conventions used back then. More on
the dd stuff: http://www.catb.org/jargon/html/D/dd.html

Personally, I just like to think of it in my head as disk-disk.

-- 

Abhinav Rajagopalan

[-- Attachment #2: Type: text/html, Size: 6816 bytes --]

  reply	other threads:[~2019-10-21 10:45 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-21  6:22 Angelo Papenhoff
2019-10-21 10:43 ` Abhinav Rajagopalan [this message]
2019-10-21 11:38   ` Abhinav Rajagopalan
2019-10-21 12:00     ` Thomas Paulsen
2019-10-21 13:31       ` Abhinav Rajagopalan
2019-10-22 18:07   ` Peter Jeremy
2019-10-23  0:07     ` Mary Ann Horton
2019-10-23  2:02       ` Kurt H Maier
2019-10-23  2:19         ` Larry McVoy
2019-10-23  8:34       ` Thomas Paulsen
2019-10-24  0:06         ` Warner Losh
2019-10-24  2:23           ` Michael Parson
2019-10-25 21:08             ` Michael Kjörling
2019-10-25 21:34               ` Arthur Krewat
2019-10-25 21:50                 ` reed
2019-10-25 22:54                 ` Warner Losh
2019-10-24  2:29   ` Christopher Browne
2019-10-24  8:25     ` Thomas Paulsen
2019-10-21 16:54 ` Angelo Papenhoff
2019-10-23  5:48 ` Lars Brinkhoff
2019-10-21 11:58 Noel Chiappa
2019-10-21 15:44 ` Abhinav Rajagopalan
2019-10-22  2:09 ` Jaap Akkerhuis
2019-10-23  2:00   ` Christopher Browne

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=CANOZ5riWWibJ4OY8SnZ7q_o1VaMRFq_-1yXedq2PMXupc1ckMA@mail.gmail.com \
    --to=abhinavrajagopalan@gmail.com \
    --cc=aap@papnet.eu \
    --cc=tuhs@tuhs.org \
    /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).