Page 1 of 1

multitasking howto

Posted: Tue Jan 13, 2004 4:52 am
by Wacky
We have a big problem. We should do, as projekt for school, a multitasking OS.
Our deadline is at the 16. Jan. 2004.
We urgently need a very good tuturial about simple multitasking or much better EXAMPLES about that. :-\

Thanks for every help... Wacky

Re:multitasking howto

Posted: Tue Jan 13, 2004 5:00 am
by BI lazy
go to www.distantvoices.org

in section EDV->OS you 'll find a nice multitasking howto.

Re:multitasking howto

Posted: Tue Jan 13, 2004 5:17 am
by Wacky
Thank you BI lazy, we've also found this tutorial, but we don't really understand this one. There're some missing parts...

Is there any "examle OS" out there.. because the deadline is in a few days, so we haven't got really enough time to study this tutorial and implement this in our OS.. :'(


greets 'n thx Wacky

Re:multitasking howto

Posted: Tue Jan 13, 2004 5:23 am
by BI lazy
missing parts....

ask, what you want to know. I've written it. It's taken from the way I do it in BlueIllusion OS.

Re:multitasking howto

Posted: Tue Jan 13, 2004 5:34 am
by Wacky
OK, we've sent you an E-Mail some seconds ago... :D

Do you have an ICQ number?


cheers Wacky

Re:multitasking howto

Posted: Tue Jan 13, 2004 6:28 am
by Wacky
Now, some questions are:

What's that for Variables?

Code: Select all

console_t *prozess_console;
memtree_t *vmm_alloc;
Where and how are these Variables declared

Code: Select all

mov eax, [p]           <- this one (p)
mov esp, [eax]
mov ebx, [eax+8]
mov [sys_tss+4], ebx   <- this one (sys_tss)

Re:multitasking howto

Posted: Tue Jan 13, 2004 6:38 am
by BI lazy
the variable p is a global available pointer of type prozess_t, which holds the *running* process.

the variable sys_tss is a global available variable of type tss_t, which holds the task state segment the cpu uses to fetch several values (ring 0 esp ring 0 ss f. ex.). these two are crucial.

the variables console_t *process_console and memtree_t *vmm_alloc are deprecated at this place. Best you forget about them, for I've already have removed them from the process structure the kernel uses. they were intended to keep information about the virtual console the process owns and te process' adress space/allocated memory.

Re:multitasking howto

Posted: Tue Jan 13, 2004 6:40 am
by Pype.Clicker
Wacky wrote: Is there any "examle OS" out there.. because the deadline is in a few days, so we haven't got really enough time to study this tutorial and implement this in our OS.. :'(
beware ... teachers usually dislike rip-off and are pretty good at discovering them ::)

Re:multitasking howto

Posted: Tue Jan 13, 2004 7:08 am
by BI lazy
@rip_off: that's never a nice thing. One should consider all the things needed for such a project prior to announcing it in some sort of prestudies and case studies.

Re:multitasking howto

Posted: Tue Jan 13, 2004 7:40 am
by Candy-lazy
for a reference, maybe check out AtlantisOS (www.sf.net/projects/atlantisos) for software-multitasking. Teachers don't know about my os yet :D ;)