multitasking howto

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
Wacky

multitasking howto

Post 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
BI lazy

Re:multitasking howto

Post by BI lazy »

go to www.distantvoices.org

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

Re:multitasking howto

Post 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
BI lazy

Re:multitasking howto

Post 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.
Wacky

Re:multitasking howto

Post by Wacky »

OK, we've sent you an E-Mail some seconds ago... :D

Do you have an ICQ number?


cheers Wacky
Wacky

Re:multitasking howto

Post 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)
BI lazy

Re:multitasking howto

Post 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.
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:multitasking howto

Post 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 ::)
BI lazy

Re:multitasking howto

Post 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.
Candy-lazy

Re:multitasking howto

Post 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 ;)
Post Reply