Re: x86 architecture questions

From: David A. Caabeiro (me_at_privacy.net)
Date: 03/26/04


Date: Fri, 26 Mar 2004 18:26:33 +0000 (UTC)


> The best way is if the kernel does not
> even reveal any of its code to the target (user) processes. Each
> run in their own virtual space. There is no "key" to protected space
> required, because such space is not mapped in common to user space
> unless the kernel wants that.

Latest SPARC uses something like this, which is exploited by Solaris..
Other plus is giving user processes the whole address space..
Unfortunately, current intel chips make this difficult (from performance
point of view)

> Whats really odd is (to my understanding) Windows uses do-it-yourself
> TSS and Linux uses the hardware supported TSS. You would think it
> would be the opposite.

Linux dropped support for TSS task switching, in favor of software based
approach (IIRC, this was since 2.4 kernel)

Regards,
David.-



Relevant Pages

  • Re: Kernel stack
    ... The problem is each process does not have a TSS of its own.Only one ... in another structure.A kernel stack of size 8k ... esp entry. ... This made me believe that the stack base is the ...
    (Linux-Kernel)
  • RE: Kernel stack
    ... linux kernel do not make use of SS element in the TSS of ... >time of stack switching, so we need to initialize them to the right ... At stack switching time CPU expects the SS and SP ... >elements of TSS to be right, it's just going to copy those values in SS ...
    (Linux-Kernel)
  • RE: Kernel stack
    ... You discussed that kernel do not keep track of SS for process specific ... time of stack switching, so we need to initialize them to the right ... elements of TSS to be right, it's just going to copy those values in SS ... process will be scheduled by the scheduler or a process enters the ...
    (Linux-Kernel)
  • Re: Task State Segment
    ... > process" and contain all detail information about them.Also Kernel ... > Stack is there for further information. ... TSS is a hardware feature supported by the i386+ processors. ... handling an exception which goes through a task gate. ...
    (comp.os.linux.development.system)