Page 1 of 1

Therx OS Development Library and OSID Updates

Posted: Sat Mar 08, 2003 4:17 am
by Therx
I've noticed a lot of people wanting info on multitasking recently and also noticed the lack of a tutorial on the net so I've writen one. You'll find it under OS Theory at http://xinit.port5.com

Enjoy!

Re:Multitasking Tutorial

Posted: Sat Mar 08, 2003 5:06 am
by Perica
..

Re:Multitasking Tutorial

Posted: Sat Mar 08, 2003 5:20 am
by Therx
Thanks for the hint. I've added a bit about priorities and having kernel and user tasks with different GDTs to restrict access to certain memory areas, etc.

Re:Therx OS Development Library and OSID Updates

Posted: Sat Mar 08, 2003 6:14 am
by Therx
Ok now the OSID Modify feature should work
xinit.port5.com/osid/

Re:Therx OS Development Library and OSID Updates

Posted: Sat Mar 08, 2003 7:03 am
by Tim
Nice tutorial :). A few points:
I do not know of a successful OS which uses this method as it requires ALL apps to co-operate.
Are 16-bit Windows and MacOS not successful? :) They used co-operative multi-tasking for years on hardware where the overhead of pre-emptive multitasking would have been too great.
Other useful ideas are giving each task its own GDT so that it can only access its own memory and not interfere with the kernel.
This doesn't mean anything -- there can be only one GDT (hence the name 'global'). You should instead talk about either: giving each task its own segments; giving each task its own LDT; or (with paging) giving each task its own page directory.

I think you should also mention threading: that a thread is the basic unit of multitasking and that a process can contain several threads. You'd apply memory protection to the process rather than individual threads.

PS: could you provide HTML versions of these pages, either as well as or instead of the PDFs? I find it a pain having to read pure text documents in Acrobat Reader when I could read them in IE.

Re:Therx OS Development Library and OSID Updates

Posted: Sat Mar 08, 2003 7:18 am
by Therx
Ok, made that correction.

Any hints for the site itself. Do you think I need to find tutorials for any other key sections? Can you recommend any tutorials which I could put up? I know that I'm missing anything todo with Memory Management. I have several things in mind which I could put up:-
[0]Tim's two brilliant tutorials
[0]Some things from the OSD seem quite good so I might see if I can use them
[0]The Cottontail document on Memory Management by Frank Millea

Re:Therx OS Development Library and OSID Updates

Posted: Sat Mar 08, 2003 11:15 am
by Therx
Ok added Tim's tutorials (MM1, MM2 and DM) and Cottontail Memory Management(more of a document) but still interesting