Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Sep 2002 18:47:28 +0200 (MEST)
From:      porte10@free.fr
To:        freebsd-hackers@freebsd.org
Subject:   Runlevels and opcodes
Message-ID:  <1033145248.3d948ba01aeae@imp.free.fr>

next in thread | raw e-mail | index | archive | help
Runlevels and opcodes

I am a bit familiar with the design of operating systems
but i definitely lack practical experience so please
apologize if i am confusing things ... Anyway i think
the subject is likely to interest our readers !

On most modern operating systems, system calls provide
control and isolation for resource access (memory, drivers...)
and thereby security.

*** But what does prevent a user-level process from executing
wild instructions (RESET, traps, other dangerous instructions
and undocumented features) ?

More generally, does any of you know if some architectures
provide the possibility of designing custom transitions
between processor "runlevels" (usually there are only 2
available, superuser and user modes) ?

E.g.

processor starts in super-user mode ----> thread 1: switch to user-level
                                          with some opcodes masked

                                    ----> thread 2: switch to another
                                          user-level
                                          with other opcodes masked

How do context switches occur on existing architectures ?
Is it some kind of "forking" from super-user mode to user mode and
multiple simultaneous user mode contexts (no switching back to
super-user mode) ?

Basically, what are the main differences between (intel, sparc, alpha, ...)
from this point of view ?

Best regards
Phil

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1033145248.3d948ba01aeae>