The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* Re: [TUHS] A question about ls(1)
@ 2019-04-27 23:03 Noel Chiappa
  0 siblings, 0 replies; 23+ messages in thread
From: Noel Chiappa @ 2019-04-27 23:03 UTC (permalink / raw)
  To: tuhs; +Cc: jnc

    > From: Norman Wilson

    > Quite a while ago, someone asked how multiplexing was handled in the
    > stream world.  I meant to write a reply but never did.  In a sentence,
    > by a paired device driver and stream module.  If someone wants more
    > details I'll be glad to write more about that.

Please. Thanks!

	Noel

^ permalink raw reply	[flat|nested] 23+ messages in thread
* Re: [TUHS] A question about ls(1)
@ 2019-04-28 16:54 Norman Wilson
  2019-04-28 19:45 ` Jon Forrest
  0 siblings, 1 reply; 23+ messages in thread
From: Norman Wilson @ 2019-04-28 16:54 UTC (permalink / raw)
  To: tuhs

Bakul Shah:

  This could've been avoided if there was a convention about
  where to store per user per app settings & possibly state. On
  one of my Unix machines I have over 200 dotfiles.

====

Some, I think including Ken and Dennis, might have argued
that real UNIX programs aren't complex enough to need
lots of configuration files.

Agree with it or not, that likely explains why the Research
stream never supplied a better convention about where to
store such files.  I do remember some general debate in the
community (e.g. on netnews) about the matter back in the
early 1980s.  One suggestion I recall was to move all the
files to subdirectory `$HOME/...'.  Personally I think
$HOME/conf would have been better (though I lean toward
the view that very few programs should need such files
anyway).

But by then BSD had spread the convention of leaving
`hidden' files in $HOME had spread too far to call
back.  It wouldn't surprise me if some at Berkeley
would rather have moved to a cleaner convention, just
as the silly uucp-baud-rate flags were removed from
wc, but the cat was already out of the bag and too
hard to stuff back in.

On the Ubuntu Linux systems I help run these days, there
is a directory $HOME/.config.  The tree within has 192
directories and 187 regular files.  I have no idea what
all those files are for, but from the names, most are
from programs I may have run once years ago to test
something, or from programs I run occasionally but
have no context I care about saving.  The whole tree
occupies almost six megabytes, which seems small
by current standards, but (as those on this list
certainly know) in the early 1980s it was possible
to run a complete multi-user UNIX system comfortably
from a single 2.5MB RK05 disk.

Norman Wilson
Toronto ON

^ permalink raw reply	[flat|nested] 23+ messages in thread
* Re: [TUHS] A question about ls(1)
@ 2019-04-27 20:11 Norman Wilson
  0 siblings, 0 replies; 23+ messages in thread
From: Norman Wilson @ 2019-04-27 20:11 UTC (permalink / raw)
  To: tuhs

On Sat, Apr 27, 2019 at 09:38:27AM -0600, Warner Losh wrote:
  But I find this interesting, since the 8th edition was based on BSD 4.1c I
  thought....

`Based on' is an overstatement, except in the kernel.

The system described in the 8th Edition manual (as noted in the
past, there was only sort of a real V8 release) had a kernel
that started as 4.1x BSD.  I'm not sure of the value of x.
It had the Joy/Babaolgu paging code and the complicated changes
to signals, and a lot of the gratuitous asms, but not a trace
of the BSD networking API.  Neither was the BSD FFS present.

Local additions included Dennis's original stream implementation,
which completely replaced the old tty code and rewrote the drivers
for serial-port devices.  The tty driver (responsible for cooked
mode, interrupt and quit signals, and the like) was a stream
module.  The BSD-style `new tty line discipline' was a separate
module, for the few people who couldn't live without csh.

Tom Killian's original version of /proc and Peter Weinberger's original
network file system (neta) client were there.  These were accessed
through a file system switch, also Peter's work.

Instead of FFS, Peter made a simple speedup to the V7 file system:
adding 64 to the minor device number meant the file system used 4KiB
blocks.  The unused space at the end of the now-4KiB superblock was a
bitmap of free blocks, allowing somewhat-smarter block allocation.

There was a hacky implementation of TCP/IP which we didn't really use:
4.Y BSD (I don't know the value of Y) protocol code, wrapped up to
work as stream modules* and shoehorned in, with a custom API quite
different from the BSD one.  The work was done by a summer student,
Robert T. Morris, who later became rather famous for a smaller but
rather more troublesome bit of network code.  Our production network
was Datakit, which was also implemented as stream devices and modules
(it was the network whose use inspired the stream design, in fact).

[* Quite a while ago, someone asked how multiplexing was handled
in the stream world.  I meant to write a reply but never did.  In
a sentence, by a paired device driver and stream module.  If someone
wants more details I'll be glad to write more about that.]

That's just the kernel, though.  The user-mode world was largely
descended from V7 rather than from BSD.  Most people used sh, which
had been augmented a bit by Rob Pike (perhaps et al) to add functions
and a simple external history mechanism (Tom Duff's idea, I think).
wc had no uucp-dependent flags, and cat had no flags at all.  ls did
sniff at whether standard output was a tty and put things in columns.

Things mutated further as time went on, further diverging from and
discarding aspects of the BSD origin.  (I can take credit or blame
for a lot of that, though not all.)  But that happened later, and
is reflected in the 9th and especially 10th editions of the manual.

Norman Wilson
Toronto ON

^ permalink raw reply	[flat|nested] 23+ messages in thread
* [TUHS] A question about ls(1)
@ 2019-04-27 14:16 Anthony Martin
  2019-04-27 15:38 ` Warner Losh
  2019-04-28 11:47 ` Dan Cross
  0 siblings, 2 replies; 23+ messages in thread
From: Anthony Martin @ 2019-04-27 14:16 UTC (permalink / raw)
  To: tuhs

From at least V2 to V6, the ls(1) command would not
show directory entries whose names began with a '.'
unless the -a flag was supplied.

This was changed in V7: only the directory entries
for "." and ".." would be skipped by default.

All further versions of Research Unix retain the
convention of V7 and Plan 9 ultimately made it
unnecessary. However, BSD and its descendants did
not follow suit. Instead, they continued behaving
like V6 with an additional -A flag to emulate V7.

Was the initial behavior intentional or just a
matter of expediency?

Who made the change and what was their motivation?
Was it a reaction to the intentional hiding of what
came to be known as "dot files"?

Thanks,
  Anthony

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2019-04-30 12:01 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-27 23:03 [TUHS] A question about ls(1) Noel Chiappa
  -- strict thread matches above, loose matches on Subject: below --
2019-04-28 16:54 Norman Wilson
2019-04-28 19:45 ` Jon Forrest
2019-04-28 20:00   ` Bakul Shah
2019-04-29 18:05     ` Michael Kjörling
2019-04-29 20:37       ` Warner Losh
2019-04-29 20:44       ` Christopher Browne
2019-04-30  6:44         ` Michael Kjörling
2019-04-30  7:24           ` Kurt H Maier
2019-04-30 10:35             ` Wesley Parish
2019-04-29 22:32       ` Bakul Shah
2019-04-30 11:52         ` Theodore Ts'o
2019-04-28 22:16   ` Thoma Paulsen
2019-04-29  0:53     ` John P. Linderman
2019-04-27 20:11 Norman Wilson
2019-04-27 14:16 Anthony Martin
2019-04-27 15:38 ` Warner Losh
2019-04-27 15:42   ` Larry McVoy
2019-04-28 23:59   ` Warner Losh
2019-04-28 11:47 ` Dan Cross
2019-04-28 12:00   ` arnold
2019-04-28 14:44   ` jcs
2019-04-28 16:15   ` Bakul Shah

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).