[comp.sys.amiga.tech] IEEE libraries, lists v.s. tables

cg@myrias.UUCP (Chris Gray) (09/15/88)

In article <2627@sugar.uu.net> peter@sugar.uu.net (Peter da Silva) writes:

>What would it cost to use a bunch of static tables for things like file
>handles and libraries. Things that could be tracked. All these pointers
>flying around are pretty dangerous...

It costs flexibility and capability. Programmers should strive hard to not
build any fixed limits into their programs. This is most important in the
case of the operating system, which can't so easily be upgraded.

There have been days when I felt like murdering someone for putting a fixed
table of file descriptors into UNIX. Even CP/M didn't have that limit!!

-- 
Chris Gray		Myrias Research, Edmonton	+1 403 428 1616
	{uunet!mnetor,ubc-vision,watmath,vax135}!alberta!myrias!cg

peter@sugar.uu.net (Peter da Silva) (09/17/88)

In article <631@myrias.UUCP>, cg@myrias.UUCP (Chris Gray) writes:
> In article <2627@sugar.uu.net> peter@sugar.uu.net (Peter da Silva) writes:
> >What would it cost to use a bunch of static tables for things like file
> >handles and libraries. Things that could be tracked. All these pointers
> >flying around are pretty dangerous...

> It costs flexibility and capability. Programmers should strive hard to not
> build any fixed limits into their programs. This is most important in the
> case of the operating system, which can't so easily be upgraded.

If you make the tables large anough there's no problem. If the tables are
fixed size but configurable, say at boot, then there's no problem. If the
tables can be chained there's no problem. The thing I want to avoid is
having something that was once a file lock or library suddenly turn into
the middle of a bitmap, but with programs out there that think it still is
a file lock or a library... Better it become an invalid lock or library.

> There have been days when I felt like murdering someone for putting a fixed
> table of file descriptors into UNIX. Even CP/M didn't have that limit!!

What about the inode table, or the in-core inode table, or the process table.
The number of times I've run into these can be counted on my fingers... and
when I've run into them it's almost always been because of a bug. It's bad
to have the limit too low (like the number of signal bits in AmigaDOS, or file
descriptors in UNIX), but there's nothing inherently wrong with a limit.
-- 
		Peter da Silva  `-_-'  peter@sugar.uu.net
		 Have you hugged  U  your wolf today?