flat assembler
Message board for the users of flat assembler.

Index > OS Construction > Using i386 Task Management

Author
Thread Post new topic Reply to topic
jatos



Joined: 04 Nov 2006
Posts: 20
jatos 09 Dec 2006, 17:53
I have been looking through the Intel development manuals, and I have discovered what Intels task management features are. However, what I have yet to discover is how to use them!!!

I would much appreciate if someone could tell me how to use these features. As I say, I have all the manuals in front of me, and even referring me to the right part of these would of help.

I might add, I have checked the contents of the instruction set manuals.

_________________
Jamie
Post 09 Dec 2006, 17:53
View user's profile Send private message Reply with quote
Mac2004



Joined: 15 Dec 2003
Posts: 314
Mac2004 09 Dec 2006, 18:31
Hi jatos!

Chris Giese has written some task handling examples. I think you can find the examples by using Google.

Are you aware that the newer architectures (AMD64) have dropped the support of hardware task management (except legacy support). In long mode the task management needs to be handled through software.

regards,
Mac2004
Post 09 Dec 2006, 18:31
View user's profile Send private message Reply with quote
jatos



Joined: 04 Nov 2006
Posts: 20
jatos 10 Dec 2006, 19:56
In which case, how do I manage memory protection if I load the threads my self, and how do I load all the register for a different task into the processor?

If I don't use hardware task management, surely that would mean that when I load the registers, and I want to update the stack pointer, I would have a problem the minute I have loaded the stack pointer, I have change to load any other registers.

_________________
Jamie
Post 10 Dec 2006, 19:56
View user's profile Send private message Reply with quote
Mac2004



Joined: 15 Dec 2003
Posts: 314
Mac2004 10 Dec 2006, 21:31
I think the memory protection can be at least in part dealt with kernel ring-- user ring tasks and kernel writer has to take care of register saving/loading into/from data structures before changing the task.

I would suggest you to go to amd's site and download amd64 system programming manual (Volume 2). Secondly I have seen some articles concering linux (amd64) about the matter in the internet. There you can find more information.

regards
Mac2004
Post 10 Dec 2006, 21:31
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.