[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/