Sun, 30 Aug 1998 21:51:04 +0200 (CEST)
>>>>> "David" == David Manifold <firstname.lastname@example.org> writes:
David> OK, I'd like to request a project status report. I want to
David> make two lists:
David> 1. What everyone is working on for TUNES.
I (Basile STARYNKEVITCH) am working on my spare time only on KUT, a
Kernel Usable for Tunes.
Of course, I did'nt go far yet! Current KUT snapshot is available
(usually I change it every night) on
"http://perso.wanadoo.fr/starynkevitch/basile/kutsnap.tgz" (a 70Kb tar
gnuzipped file, about 2000 lines of source code).
The only goal of KUT is transient: code a minimal operating system
suitable for bootstrapping the Tunes project. Essentially, this means
a kernel running only in ring 0 protected mode, no user (ring 3) code,
and a Scheme interpreter inside the kernel.
Eric W Biederman <email@example.com> offered some help and
suggested me in a private mail
Eric> The fastest way I can imagine getting this working is to
Eric> take a linux (or other open source) kernel and stripping it
Eric> down to just what you need. And building your interpreter
Eric> upon that.
I (Basile) replied to him:
The problem with current Linux kernel is that they are really too
big. I'm definitely not a kernel expert (although I believe I know
linux quite well -eg I know many syscalls- but not from inside the
kernel [but I did read Remy Card's book on Linux 2.0 internals]
Perhaps I should take a VSTa or TINOS kernel and strip it.
On the other hand, coding from scratch is hard, but I feel I
understand my code. And KUT has a pecularity that other systems don't
have: 1) it runs only in 32 bits protected ring 0 mode (all kernel, no
user application code, no system calls) 2) it is transient by nature
(once Tunes is bootstrapped KUT becomes useless) so don't need good
performance. In a certain way, KUT is more a 32 bits BIOS (but these
are not opensourced!).
David> 2. What things we are looking for help on,
I won't answer for the TUNES community, but more selfishly for myself,
while I'm trying to code KUT.
First, I really need some encouragement regarding KUT. Is KUT a
reasonable way to get TUNES working? I'm not sure! Perhaps starting
from VSTa (or TINOS) might be easier. (starting from a Linux 2.x
kernel seems really much too hard for me). However, KUT should only
run in 32 bits ring 0 (no tasks no user application code) so have a
Second I now need some help by a PC hardware expert. Probably, I made
stupid mistakes in my code, but I have a bizarre problem in KUT:
interrupts. Catching an INT3 interrupt (from an INT3 instruction) is
OK. Catching timer interrupt is strange (it seems that I am getting
timer interrupt all the time, even when asking a slow clock tick). But
I don't catch any keyboard interrupt. If you have a few minutes to
spare, try looking into my code (comments and name are in english) to
give me some help. I believe my problems are stupid, and I might fix
them soon, but I'll appreciate some help now!
Third, and this is a more general concern, I think that we should
define what a minimal TUNES should be. Our main concern should be to
say what TUNES should not contain at first.
Nearly 10 years ago, I wrote a [bad] PhD thesis on reflective system,
and deciding what should *not* be in it was a major problem [both
psychological, since we all want our system to be everything, and
technical, since defining the minimal base to be able to *easily*
bootstrap itself is still a challenge].
Same apply to KUT; what kernel feature are useless for KUT & Tunes?
NB Is Faré working on some great ideas, or is he in vacation?
Basile STARYNKEVITCH - 8 rue de la Faiencerie, 92340 BOURG LA REINE (France)
tel 01.46.65.45.53. mél = basile point starynkevitch at wanadoo point fr
boulot=work= basile point starynkevitch at cea point fr