Re: Java and the FSSTND

Albert Cahalan (albert@ccs.neu.edu)
Mon, 13 May 1996 23:32:31 -0400 (EDT)


>> #define _PATH_JAVA "/usr/bin/java"
>> #define _PATH_APPLET "/usr/bin/appletviewer"
>> #define _PATH_BASH "/bin/bash"
>
> I really like the Java idea, because we can add in the very same way
> directly executable LISP code
> automagically displaying PostScript (via ghostscript)
> FORTH
> ..what else..?
>
> I always thought Java is somthing inside the HTTP world, but now it's
> in the OS. Please ignore my ironic message, but I always thought the
> kernel is policy-free.
>
> Ulrich

Java is an executable format.

The kernel has _many_ hardcoded paths. The obvious two are
/bin/sh and /sbin/init. The kernel searches many hardcoded
paths to find init, and it even writes some sort of quota
or accounting file. The kernel must set the policy which
is required to define Linux. Other things may be left to
the local system administrator. If the kernel did not set
policy, it would require options to specify many things.

You'd need something like this in /etc/lilo.conf:
append = "init=/sbin/init sh=/bin/sh"

If I put some shell commands in a file without the "#!/bin/sh"
magic, the kernel uses /bin/sh to interpret the script.
Yes, the kernel _does_ set policy. A little bit is good.
Now, if the kernel kept root from reading people's mail...

Java may become a way to distribute programs for unix, at least
the programs that are not performance critical. Someone is planning
to make the Java VM a target for gcc even, so you can compile C
something like this: "gcc -b Java-VM -o hello hello.c".