Path: utzoo!mnetor!uunet!husc6!hao!boulder!sunybcs!bingvaxu!leah!itsgw!imagine!pawl19.pawl.rpi.edu!jesup From: jesup@pawl19.pawl.rpi.edu (Randell E. Jesup) Newsgroups: comp.arch Subject: Re: Jerry Pournelle on UNIX (From BYTE) Message-ID: <206@imagine.PAWL.RPI.EDU> Date: 12 Jan 88 05:15:45 GMT References: <1495@osiris.UUCP> <28200084@ccvaxa> Sender: news@imagine.PAWL.RPI.EDU Reply-To: beowulf!lunge!jesup@steinmetz.UUCP Organization: RPI Public Access Workstation Lab - Troy, NY Lines: 21 In article <28200084@ccvaxa> aglew@ccvaxa.UUCP writes: >Several people have expressed worry about the maintainability, >or vulnerability to bugs, of UNIX in ROM. > >The appropriate way to use ROM is as a library, with, perhaps, >minimal glue code. All calls to ROM routines should be via a >dispatch table which ROM loads into RAM. The dispatch table can >then be patched, perhaps to pint to new RAM code for bug fixes. Sounds like the Amiga sharable libraries. Consists of a library base (returned by OpenLibrary); jmp vectors at negative offsets; a library node, public data, and private data at positive offsets. At boot, these are built in ram from the roms, where the routines live. You can also have ram-resident libraries that can survive re-boot if they checksum correctly. You can change a library entry via SetFunction(). // Randell Jesup Lunge Software Development // Dedicated Amiga Programmer 13 Frear Ave, Troy, NY 12180 \\// beowulf!lunge!jesup@steinmetz.UUCP (518) 272-2942 \/ (uunet!steinmetz!beowulf!lunge!jesup) BIX: rjesup