ast@cs.vu.nl (Andy Tanenbaum) (10/30/89)
Here is the proposed "official" MINIX file system layout as of 1.4b. It is not entirely academic, because I was having a lot of trouble with <minix/*.h> etc. Having two copies, one in /usr/include and one in ../h became unmanageable. They couldn't be links because I have them on different disks. I have added /usr/include/blocksize.h, which is all that most programs wanted anyway, and changed the other programs like ls and diskcheck to #include "/usr/src/fs/const.h". There are only a few such programs and they are all programs that have to know about the inner workings of the system. Ordinary user programs are not affected. Andy Tanenbaum (ast@cs.vu.nl) / root directory /bin heavily used binaries /dev special files for the I/O devices /etc /etc/passwd, /etc/rc, etc. /lib heavily used libraries /tmp tmp files /usr users /usr/adm used by 'at' etc /usr/ast sample home dir /usr/bin system binaries (superset of /bin) /usr/doc documentation lives here /usr/etc misc. (superset of /etc) /usr/lib compiler, libc.a, etc. (superset of /lib) /usr/man man pages live here /usr/tmp alternative tmp dir /usr/include ANSI/POSIX header files /usr/include/sys <sys/types.h> etc. /usr/spool spooling dir /usr/spool/at 'at' program uses this /usr/spool/mail holds user mailboxes /usr/spool/uucp uucp spooling directory /usr/spool/lpd line printer daemon spooling dir /usr/src the entire source tree /usr/src/amoeba amoeba tree /usr/src/commands sources of the utilities /usr/src/compiler C compiler source (if you have it) /usr/src/fs file system source code /usr/src/h operating system specific headers /usr/src/kernel kernel source code /usr/src/mm memory manager source code /usr/src/pascal Pascal compiler source (if you have it) /usr/src/test test programs sources and binaries /usr/src/tools tools for building MINIX /usr/src/lib library sources /usr/src/lib/IBM_PC IBM specific sources (assembler) /usr/src/lib/M68000 Motorola 68000 sources (assembler)
maart@cs.vu.nl (Maarten Litmaath) (10/31/89)
ast@cs.vu.nl (Andy Tanenbaum) writes:
\... I was having a lot of trouble with
\<minix/*.h> etc. Having two copies, one in /usr/include and one in
\../h became unmanageable. They couldn't be links because I have them
\on different disks. [...]
I think there exists a neat solution to this problem...
(It was 1 of the Operating Systems class assignments, about 2 years ago!)
--
A symbolic link is a POINTER to a file, | Maarten Litmaath @ VU Amsterdam:
a hard link is the file system's GOTO. | maart@cs.vu.nl, mcsun!botter!maart
stailey@iris613.gsfc.nasa.gov (Ken Stailey) (10/31/89)
In article <4381@ast.cs.vu.nl> ast@cs.vu.nl (Andy Tanenbaum) writes: >Here is the proposed "official" MINIX file system layout as of 1.4b. > /usr/src/lib library sources > /usr/src/lib/IBM_PC IBM specific sources (assembler) > /usr/src/lib/M68000 Motorola 68000 sources (assembler) I find hugh directories unmanagable. I broke apart /usr/src/lib in the version 7 fashion: /usr/src/libc/stdio stdio, printf et. al. /usr/src/libc/sys system call interface routines read(), fork() /usr/src/libc/crt c runtime support _xxx.s /usr/src/libc/gen malloc(), regexp(), strcpy() I was pleased with the balanced load that this approach provided. INET stailey@iris613.gsfc.nasa.gov UUCP {backbone}!dftsrv!iris613!stailey
linas@hpuarca.HP.COM (Linas Petras) (11/06/89)
I second the motion for splitting the library source directory. It would get rid of the problem of not being able to "ls" the directory after you have compiled all the library source and I belive, make the library more manageable. Linas Petras Hewlett Packard Aust Ltd Australasian Response Center 31 Joseph St, Blackburn. UUCP: ...!hplabs!hpcea!hpausla!hpuarca!linas Victoria 3130., Australia ACSNET: linas@hpuarca.hp.oz [ The comments, views, opinions and requests expressed in this note are my own] [ and have nothing to do with my employeer, nor do I know why I am making them] [ as I have nothing to say :-) ]