[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: FinnOS Design Notes, was Re: FocusDrive and Interrupts



On Nov 4, 8:11 am, dog_...@macgui.com (D Finnigan) wrote:
> David Schmenk wrote:
>
> > Oh yeah.  There is a reason the unenhanced //e disables the interrupts
> > when scrolling the screen.  I had to disable interrupts whenever I
> > touched AUX mem in VM02 solely because of the $#%!@^ unenhanced //e.
>
> I had a really strong urge to write the whole thing in VM02. I mean, with 4
> threads, that's almost all I need, anyway.
>

Well, except VM02 already does much of what you are trying to build,
just executing Java bytecode instead of 6502 code.  VM02 is really for
applications, not system development; t's just toooo ssslllloooowwww
for that.  Also, 4 threads was just the default - a tradeoff between a
preallocated thread table and the number that would be useful for
simple multithreaded programs.  You can change it with a define and
rebuild.

> What are some really big Java apps? Like the Cassandra distributed database?
> I need to see if I can get that running on VM02 in 128k. ;-)

A glutton for punishment, you are.  Honestly, I need to rethink the
memory-swapping-to-disk implementation.  It's just too slow right now,
mostly due to thrashing.  Java creates so many little pieces of memory
to deal with.  I'll revisit that later this winter.

However, feel free to check out how VM02 implements some of the same
features you plan for FinnOS.  Thread scheduling and device handling
might be useful, even as just a reference point.

Dave...