[net.unix] why are object libraries stored in archive files?

doug@hcr.UUCP (Doug Moen) (04/11/84)

Why aren't they stored in directories?
That is, why aren't the object files comprising the C library stored
in a directory called /lib/libc, together with a symbol table cross
reference file?

This would seem like the obvious way to do it.

The best explanation I've been able to get is that object libraries
are stored in archive files for historical reasons, and it's never
occurred to anyone to change things.
-- 
Doug Moen
{cbosgd,decvax,duke,ihnp4,research,utzoo,watmath}!hcr!doug

grt@hocda.UUCP (G.TOMASEVICH) (04/11/84)

Good idea to use a directory instead of an archive.  Then 'make' would
work correctly without the subterfuge I use.
	George Tomasevich, AT&T Bell Laboratories

jlw@ariel.UUCP (04/12/84)

Object libraries are stored in archive format because archives are
much more efficient in disk space and inode space for the typically
small object module stored in an archive.  Inode space has always
been and always will be a scarce resource with respect to doing things
this way, and with the advent of large block disk systems on UNIX
the average amount of wasted space increases tremendously.



					Joseph L. Wood, III
					AT&T Information Systems
					Laboratories, Holmdel
					(201) 834-3759
					ariel!jlw

fair@dual.UUCP (Erik E. Fair) (04/13/84)

Well, for one thing there's less filesystem overhead. It is expensive under
the Bell Filesystem to successively open, read and close lots of files.

	Erik E. Fair	ucbvax!fair	fair@ucb-arpa.ARPA

	dual!fair@Berkeley.ARPA
	{ihnp4,ucbvax,cbosgd,decwrl,amd70,fortune,zehntel}!dual!fair
	Dual Systems Corporation, Berkeley, California

alanr@drutx.UUCP (RobertsonAL) (04/13/84)

Also, under System 5, an archive symbol table is stored in the
archive, and automatically updated upon updating the archive.
This way, symbol lookup is faster than could be done if everything is
in a directory.  (Of course, that doesn't explain it historically...)

	-- Alan Robertson
	   ihnp4!drutx!alanr
	   AT&T Information Systems