In the
Choices operating system [11, ]
so called agents can be inserted into the kernel. Agents are written
in a simple, flexible scripting language similar to TCL, and are
interpreted. Agents batch a series of system calls into a single
procedure that requires only one trap into the kernel to be
executed. Agents use existing kernel services and do not extend the
functionality of the kernel or provide services that are not
available at user level. Agents are a simple optimizations to
eliminate the overhead of several system calls.
Methods to safely execute untrusted code in a privileged environment
are compared in [86]. Among the methods chosen is
interpreted TCL because of its mention in the
Choices papers.
As might be expected, TCL's execution speed is orders of magnitudes
slower than some of the other methods. Therefore, the authors claim
that interpretation in general is too slow. However, TCL
interpreters are not optimized for speed. Furthermore, with
appropriate restrictions to the language and application of advanced
interpretation techniques, it might be possible to speed-up
interpretation considerably.