Multitasking
Moderator:Moderators
I develop small os.I have a problem with multitasking. I search information of TSS but i not find anything.can you help me in this. possible you have documentation or tutorials.
Re: Multitasking
The best article I can point you at is http://wiki.osdev.org/Context_Switching
I know it isnt much but it does have the information you will need.
~Andrew
I know it isnt much but it does have the information you will need.
~Andrew
Re: Multitasking
The Intel IA-32 Manuals describe the TSS. You probably already have those documents on your computer.
// Jarvix
// Jarvix
Jinix. Kernel programming is a black art that should be avoided if at all possible.
Re: Multitasking
I use Multitasking, Virtual Memory Manager and my os is microkernel oriented. So Keyboard driver is programm. How i can set interrupt vector for keyboard interrupt?
i know just this decision
-> Create small procedure
-> Set interrupt vector to this procedure
-> In procedure tell Process Manager to switch current task to Keyboard Task
-> End
but i think that is very bad decision.
i know just this decision
-> Create small procedure
-> Set interrupt vector to this procedure
-> In procedure tell Process Manager to switch current task to Keyboard Task
-> End
but i think that is very bad decision.
Re: Multitasking
Hello,
I am uncertain of what your "keyboard task" is.
Assuming your keyboard driver is in usermode (as you mentioned Microkernel), the driver would interface with the system to install its IRQ handler when the driver is initialized. Then when the system detects the IRQ is fired, it calls the installed IR in user land to notify the driver.
I hope this helps somewhat, If I misunderstood please describe.
I am uncertain of what your "keyboard task" is.
Assuming your keyboard driver is in usermode (as you mentioned Microkernel), the driver would interface with the system to install its IRQ handler when the driver is initialized. Then when the system detects the IRQ is fired, it calls the installed IR in user land to notify the driver.
I hope this helps somewhat, If I misunderstood please describe.
Lead Programmer for BrokenThorn Entertainment, Co.
Website: http://www.brokenthorn.com
Email: webmaster@brokenthorn.com
Website: http://www.brokenthorn.com
Email: webmaster@brokenthorn.com
Re: Multitasking
you want to say that i create common IR for Keyboard interrupt, which just tell to Keyboard driver in user mode, that interrupt has occured?
But there two problem.
For each Keyboard interrupt i must switch current task to Keyboard Task. ( Keyboard driver run as a user programm).
Сan be that some interruptions will not have time to be processed?
and second problem.
Keyboard driver can send it result to certain programm (example Screen Driver which is also user programm).
This messages with information between process will be long.
and i have a third problem))
How i can realize System calls which send much information (example 10-20 lines of text) ?
i think that i must create packages on determined protocol which is written in share memory and all processes can read it.
But there two problem.
For each Keyboard interrupt i must switch current task to Keyboard Task. ( Keyboard driver run as a user programm).
Сan be that some interruptions will not have time to be processed?
and second problem.
Keyboard driver can send it result to certain programm (example Screen Driver which is also user programm).
This messages with information between process will be long.
and i have a third problem))
How i can realize System calls which send much information (example 10-20 lines of text) ?
i think that i must create packages on determined protocol which is written in share memory and all processes can read it.