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