Switching run-time contexts
KIRK.TYM%office-2 at sri-unix.UUCP
KIRK.TYM%office-2 at sri-unix.UUCP
Sat Feb 4 18:05:00 AEST 1984
From: Kirk Kelley <KIRK.TYM at office-2>
I get the impression that a high overhead may be involved when switching runtime
contexts in UNIX. For an extremely large hypertext system (AUGMENT) already
implemented in a sophisticated procedure oriented compiled language (L10), we
are thinking of compiling L10 I/O calls into machine code to emulate a C call on
the stdio library for standard I/O functions needed by programs written in L10.
I think this means having two different runtime contexts that get switched every
time a call to a C procedure, like fopen, is made. So there are a variety of
related questions here:
* How much work do you have to do to safely launch a C-style call? Is it
enough to save registers and use the right argument/result passing
conventions, or will it also require allocated storage management facilities,
error handlers of some type, or other rather involved things? and if so, how
much work is it to emulate those facilities, and how heavy to maintain a
whole C runtime and "swap" it somehow?
* How will this affect the performance of applications written in L10 vs
having the whole thing written in C?
* Would 4.2BSD behave significantly different than, say, System V?
* How about VAX vs 68000?
* How farest the existing applications that do this?
O unix wizards, we await your reply.
-- kirk
More information about the Comp.unix.wizards
mailing list