H3sm and retro
Rick Hohensee
humbubba@smarty.smart.net
Thu, 10 Feb 2000 04:03:21 -0500 (EST)
Hi folks.
I've got a 3-stack Forth-like in gcc and gas for Linux. I'm looking at
clobbering the Forth in retro with it. I'm not really ready to write an
OS, what I was thinking about for now was a linux bootloader, as a show
of utility for my 3-stacker.
BUT, since hypothetical OSes are la-la land anyway, let me rattle on a
bit. I think I want 4 levels, as reflected in the 386 architecture.
Also, I mention my ideas because I think they're orthogonal to the
concerns I've heard about Tunes, retro, EROS etc.
kernel, owner, guest, and pig.
Kernel level is a H3sm interpreter running in kernel memory space, i.e. not
virtual addresses, or segment 0 I guess in 386-speak, with a console
interface with pixel and char-cell (and vector?) modes, vt's and so on.
Kernel level may also spawn hard-realtime stuff.
Owner level is like what I call unix root permissions in my cLIeNUX Linux
distro. Virtualized addresses, multiple owner processes in multiple
memory management sectors. There are some differences though. See pig
level.
Guest is unix plain user, filesystem perms limitations apply.
Pig level is the only level that a process can do virtual memory in, whether
swapped or paged. The other levels can spawn pigs if they want, but in all
cases pig level processes are last in line for the CPU, and the scheduler is
designed so that the extra scheduling cost of pigs is borne by the pigs.
Maybe things that malloc to much can be converted to pigs on the fly.
This layout is a bit less collegial/communistic than unix. He that sits
at the console can do anything. Fast. How this pertains to persistance,
reflection, objects... I don't know.
ANYway, I am looking REAL close at retro vis-a-vis H3sm. You may care to
do the obverse....
ftp://linux01.gwdg.de/pub/cLIeNUX/interim and get H3sm<version>.
Rick Hohensee
cLIeNUX user 0
Oh, and expect to see Tunes or retro bundled with cLIeNUX :o)