[NTLK] Geek Question: TTask and TUTask

Matthias Melcher mm at matthiasm.com
Wed Feb 18 17:53:11 EST 2015


Hi guys,

My simulation is stuck at task switching. Newton OS uses cooperative task switching. In order to get rid of limitations in the simulation during a DataAbort error, I need to implement task switching and make that transparent to the simulator.

I found a great cross-platform library that implements cooperative multitasking in user mode, just the way I need: GNU Pth. I know where exactly the task switching is happening within the ROM code, and I understand very well by now how this is used to implement faulty memory access and how it's fixed and used to the systems advantage (what a clever system!).

I know that everything revolves around the TTask class which is relatively easy to understand. What I don;t understand yet is the TUTask class.

Why did the engineers create TTask and TUTask?

TUTask ist not derived from TTask as I would have expected. It seems to be a more lightweight task system on top of the regular system tasks TTask. But does that mean that all TUTasks are running within the same TTask? Is that what a TUTaskWorld is?

Geee, I wish we had the complete documentation. Oh, wait, I wish weh had the full documented source code ;-)

Thanks,

 Matthias


More information about the NewtonTalk mailing list