[comp.unix.wizards] filenames and the kernel

scott@bbxsda.UUCP (Scott Amspoker) (02/02/90)

In article <-5G1KF6xds13@ficc.uu.net> peter@ficc.uu.net (Peter da Silva) writes:
>In article <17829@rpp386.cactus.org> jfh@rpp386.cactus.org (John F. Haugh II) writes:
>> Early MS-DOS and CP/M didn't include directories.  Nor do many old versions
>> of TRS-DOS.
>
>But they did include the concept of a "current directory", the current drive,
>which was inherited by programs running in the TPA. The thrust of the original
>poster's argument seemed to be that the "current directory" or "default
>directory" or "current volume" was a mistake.

About the time I stopped using CP/M (years ago) it started supporting
a thing call "user number" which, I believe, gave some of the
functionality of multiple directories on a single disk.

-- 
Scott Amspoker
Basis International, Albuquerque, NM
(505) 345-5232
unmvax.cs.unm.edu!bbx!bbxsda!scott

cks@white.toronto.edu (Chris Siebenmann) (02/03/90)

 One good reason to keep namei()'s functionality in the kernel is that
old boogy-man, effeciency. Local figures show that the kernel spends
about 25% of its time in namei(), and between 25% and 50% (the
percentage goes down as the load goes up) of the block reads done on
typical systems are done by namei() -- and this doesn't count symlink
reads done during name resolution (appallingly common on our Ultrix
systems).

 A efficient system with namei() in user space might not look very
Unix-like internally; I'd expect it to have good, fast kernel<->user
process and user<->user communication methods (perhaps based on
remapping VM pages) and a very fast context switch.

[A reminder: please avoid casual use of "usa" distribution; otherwise,
 many interested people will never see your article.]
--
	"I shall clasp my hands together and bow to the corners of the world."
			Number Ten Ox, "Bridge of Birds"
cks@white.toronto.edu		   ...!{utgpu,utzoo,watmath}!utcsri!white!cks

tanner@cdis-1.UUCP (Dr. T. Andrews) (02/06/90)

From: jfh@rpp386.cactus.org (John F. Haugh II)
) Early MS-DOS and CP/M didn't include directories.
Both CP/M and early MS-DOS not only included directories, but they
also included several syscalls to deal with them (on top of which you
might build opendir() and friends).  Note functions 0x11 and 0x12 to
scan the directory.

One directory per disk.  To change current directory, use syscall 0x0E.
To get current directory, use 0x19.
-- 
{attctc gatech!uflorida}!ki4pv!cdis-1!tanner {bpa uunet}!cdin-1!cdis-1!tanner

jfh@rpp386.cactus.org (John F. Haugh II) (02/08/90)

In article <00000FN@cdis-1.UUCP> tanner@cdis-1.UUCP (Dr. T. Andrews) writes:
>From: jfh@rpp386.cactus.org (John F. Haugh II)
>) Early MS-DOS and CP/M didn't include directories.
>Both CP/M and early MS-DOS not only included directories, but they
>also included several syscalls to deal with them (on top of which you
>might build opendir() and friends).  Note functions 0x11 and 0x12 to
>scan the directory.
>
>One directory per disk.  To change current directory, use syscall 0x0E.
>To get current directory, use 0x19.

Sorry, I was referring to their lack of directory trees ala UNIX
and friends.  Virtually all operating systems which support some form
of mass storage device support at least a single level directory.
However, many do not support subdirectories.  Most ancient OSs for
PCs fall into that catagory.

Subdirectories did not exist in the initial release of MS-DOS.  It
was not until 2.1 [ or something like that ] that more than one
directory could exist per volume.
-- 
John F. Haugh II                             UUCP: ...!cs.utexas.edu!rpp386!jfh
Ma Bell: (512) 832-8832                           Domain: jfh@rpp386.cactus.org