Re: kernel stack challenge
From: Horst von Brand
Date: Tue Apr 06 2004 - 21:27:32 EST
Sergiy Lozovsky <serge_lozovsky@xxxxxxxxx> said:
[...]
> I didn't just pick up LISP - I EXPLAINED my reasons.
> if you missed my explanation here is a short summary.
>
> 1. I needed solution to implement some procedural
> functionality within the kernel.
Fair enough, if really needed.
> This functionality
> should be expressed with some high level language
> (shorter development time and more compact source
> code).
That it is _expressed_ in a sky-high-level-language has nothing at all to
do with _implementing_ said language (fully?) inside the kernel. Heck, the
kernel has no built-in C compiler + development environment + runtime
either!
> This functionality should be
> loadable/unloadable to the kernel.
A compact, easy to interpret blob pushed into the kernel, a module hooking
into the "right places", ...
> 2. Size of the interpreter should be minimal.
Zero is just about right for me.
> 3. Kind of real time - no ordinary garbage collector.
> And automatic memory management at the same time.
Oxymoron.
> 4. Easiest syntax possible - so interpreter would be
> compact. Simpler - the better :-) I don't like
> complicated things :-)
Why do you need the interpreter in kernel? If you do need it, why does it
have to be a general-purpose language, and not an "interpreter" for a
stylized data structure, carefully designed for the task?
> 5. Well known. So there would be people around who
> already know this language and expectations are clear.
> And there are books around about this language.
C is fine in that sense. Even much better than LISP. Specially among the
sysadmin/kernel hacker/general Unix geek crowd...
> 6. Ability to handle/represent complex data
> structures.
C qualifies.
> 7. Errors/bugs in loadable functions should not cause
> trouble for other tasks and kernel itself. (To the
> extent possible for sure).
Hard to do in any case. Just be careful...
> 8. It should be universal (general purpose) language
> which gives ability to make any manipulations with
> numbers, strings, bits and data structures. So I would
> be sure that functionality I want to express is not
> limited by the language.
But _why_?
--
Dr. Horst H. von Brand User #22616 counter.li.org
Departamento de Informatica Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria +56 32 654239
Casilla 110-V, Valparaiso, Chile Fax: +56 32 797513
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/