[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Multithreading OS for the C64
csbruce@ccnga.uwaterloo.ca (Craig Bruce) wrote:
>In article <Dtvnp8.9p3@inter.NL.net>,
>Maarten Ruigrok <M.Ruigrok@inter.nl.net> wrote:
>
>>fs1@aixterm2.urz.uni-heidelberg.de (Andre Fachat) wrote:
>>> - preemptive multitasking/multithreading
>> how did you make it pre-emptive when the 6502 processor
>> itself has no way to check for boundaries or anything
>> (so called trap errors coming from the processor itself
>> (in pc systems btw)). In what way can the operating system
>> take back and control software running under it?. Maybe
>> someone from microsoft could implement it in their own products
>> ;-).
Notice that normally the 6502 address space is full
with additional memory (if available) banked in by an external
memory management arrangement. So if the 6502 *had* 'boundary
errors' it would be pointless -- I believe the Andre's original
6502 box had memory banking on 4K boundaries (is that right?)
which give 16 different relocatable chunks of memory in the
memory space. So the assumption that
(logical address space) > (physical address space)
is often strictly false for a 6502 machine. (That includes
the original 6502, with 64K RAM, 16K ROM, and 0K < IO < 4K
space, for a total physical address space (not counting
duplicated register locations) of 80K < physical addresses < 84K.
> Um, Timer Interrupts (IRQ). They have been around for a
> long time. I personally have implemented them to implement
> multitasking in my VIC-20 and in my course-project Real-Time
> 486 multitasking OS. It's not that hard. PC-industry OS
> developers just don't know what they're doing. :-)
That's not fair. There was really only one
set of PC-industry OS developers that didn't know what
they were doing, and a lot of people since trying to
live with that legacy. (A hysterical raisin, so to speak).
Virtually,
Bruce R. McFarling, Newcastle, NSW
ecbm@cc.newcastle.edu.au