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

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



mdj wrote:
> On Nov 4, 11:50�am, dog_...@macgui.com (D Finnigan) wrote:
> 
>> I'd imagine the first testing of the context-switching will be three
>> programs: one printing an A to screen, the second a B, and the third a C.
>>
>> So if I see some output like:
>>
>> A
>> B
>> C
>> A
>> B
>> C
>>
>> Then I know that it's working. :-)
> 
> That'll work, but note that most OS's have a buffer size > 1 for IO
> streams ;-)
> 

I'll add a line buffer in version 2.0. ;-)

>>
>> Wouldn't that be fun? Remember, this would be swapping on to a FocusDrive
>> (or similar) so it might not even be that bad.
> 
> Keeping in mind you'll only be able to swap an entire process in/
> out... VM's that run (presumably) on top of your OS would be able to
> implement their own swapping of course.
> 

Not if I have a process keep track of data segments and have it tell the
kernel which segments to swap in and out (and their address and length). I
don't see why I'd need a VM to do that.

We could build, for example, a screen-oriented text editor which keeps as
many screens as possible in RAM, but swaps when the user scrolls beyond the
range of text in RAM.

> If we assume your OS kernel resides in main memory, requires some
> 'init' style process that is always resident ala Unix and resides in
> bank 0 (which has limited utility to hold a user process due to
> overloaded use of the text/graphics pages) and then loads some sort of
> shell, you've still got 14 processes left to play with assuming the
> simplest mapping of 1 bank == 1 process. More than enough to have a
> great deal of fun without swapping ;-)

Hence why it's Milestone 5, with those "off in the future, wouldn't it be
nice" features, like TCP/IP.

> 
> Your Milestones look OK, but I'd consider IO redirection and pipes as
> part of your core design. 

Yeah, I was looking at them again the other day, and I do think that I have
a few goals mis-prioritized.

-- 
Mac GUI Vault - A source for retro Apple II and
Macintosh computing.
http://macgui.com/vault/