fbpx
Wikipedia

CPU modes

CPU modes (also called processor modes, CPU states, CPU privilege levels and other names) are operating modes for the central processing unit of some computer architectures that place restrictions on the type and scope of operations that can be performed by certain processes being run by the CPU. This design allows the operating system to run with more privileges than application software.[1]

Ideally, only highly trusted kernel code is allowed to execute in the unrestricted mode; everything else (including non-supervisory portions of the operating system) runs in a restricted mode and must use a system call (via interrupt) to request the kernel perform on its behalf any operation that could damage or compromise the system, making it impossible for untrusted programs to alter or damage other programs (or the computing system itself).

In practice, however, system calls take time and can hurt the performance of a computing system, so it is not uncommon for system designers to allow some time-critical software (especially device drivers) to run with full kernel privileges.

Multiple modes can be implemented—allowing a hypervisor to run multiple operating system supervisors beneath it, which is the basic design of many virtual machine systems available today.

Mode types edit

The unrestricted mode is often called kernel mode, but many other designations exist (master mode, supervisor mode, privileged mode, etc.). Restricted modes are usually referred to as user modes, but are also known by many other names (slave mode, problem state, etc.).[2]

Kernel
In kernel mode, the CPU may perform any operation allowed by its architecture; any instruction may be executed, any I/O operation initiated, any area of memory accessed, and so on. In the other CPU modes, certain restrictions on CPU operations are enforced by the hardware. Typically, certain instructions are not permitted (especially those—including I/O operations—that could alter the global state of the machine), some memory areas cannot be accessed, etc. User-mode capabilities of the CPU are typically a subset of those available in kernel mode, but in some cases, such as hardware emulation of non-native architectures, they may be significantly different from those available in standard kernel mode.
User
Some CPU architectures support multiple user modes, often with a hierarchy of privileges. These architectures are often said to have ring-based security, wherein the hierarchy of privileges resembles a set of concentric rings, with the kernel mode in the center. Multics hardware was the first significant implementation of ring security, but many other hardware platforms have been designed along similar lines, including the Intel 80286 protected mode, and the IA-64 as well, though it is referred to by a different name in these cases.

Mode protection may extend to resources beyond the CPU hardware itself. Hardware registers track the current operating mode of the CPU, but additional virtual-memory registers, page-table entries, and other data may track mode identifiers for other resources. For example, a CPU may be operating in Ring 0 as indicated by a status word in the CPU itself, but every access to memory may additionally be validated against a separate ring number for the virtual-memory segment targeted by the access, and/or against a ring number for the physical page (if any) being targeted. This has been demonstrated with the PSP handheld system.

Hardware that meets the Popek and Goldberg virtualization requirements makes writing software to efficiently support a virtual machine much simpler. Such a system can run software that "believes" it is running in supervisor mode, but is actually running in user mode.

Architectures edit

RISC-V edit

RISC-V has three main CPU modes: User Mode (U), Supervisor Mode (S), and Machine Mode (M).[3]

References edit

  1. ^ "Processor Modes". flint.cs.yale.edu. Retrieved 2023-08-23.
  2. ^ aviviano (2022-11-04). "User mode and kernel mode - Windows drivers". learn.microsoft.com. Retrieved 2023-08-23.
  3. ^ Harris, Sarah; Harris, David (2021-07-12). Digital Design and Computer Architecture, RISC-V Edition. Morgan Kaufmann. ISBN 978-0-12-820065-0.

modes, this, article, needs, additional, citations, verification, please, help, improve, this, article, adding, citations, reliable, sources, unsourced, material, challenged, removed, find, sources, news, newspapers, books, scholar, jstor, november, 2016, lear. This article needs additional citations for verification Please help improve this article by adding citations to reliable sources Unsourced material may be challenged and removed Find sources CPU modes news newspapers books scholar JSTOR November 2016 Learn how and when to remove this template message CPU modes also called processor modes CPU states CPU privilege levels and other names are operating modes for the central processing unit of some computer architectures that place restrictions on the type and scope of operations that can be performed by certain processes being run by the CPU This design allows the operating system to run with more privileges than application software 1 Ideally only highly trusted kernel code is allowed to execute in the unrestricted mode everything else including non supervisory portions of the operating system runs in a restricted mode and must use a system call via interrupt to request the kernel perform on its behalf any operation that could damage or compromise the system making it impossible for untrusted programs to alter or damage other programs or the computing system itself In practice however system calls take time and can hurt the performance of a computing system so it is not uncommon for system designers to allow some time critical software especially device drivers to run with full kernel privileges Multiple modes can be implemented allowing a hypervisor to run multiple operating system supervisors beneath it which is the basic design of many virtual machine systems available today Contents 1 Mode types 2 Architectures 2 1 RISC V 3 ReferencesMode types editFurther information on interoperation between CPU and OS levels of abstraction Protection ring The unrestricted mode is often called kernel mode but many other designations exist master mode supervisor mode privileged mode etc Restricted modes are usually referred to as user modes but are also known by many other names slave mode problem state etc 2 Kernel In kernel mode the CPU may perform any operation allowed by its architecture any instruction may be executed any I O operation initiated any area of memory accessed and so on In the other CPU modes certain restrictions on CPU operations are enforced by the hardware Typically certain instructions are not permitted especially those including I O operations that could alter the global state of the machine some memory areas cannot be accessed etc User mode capabilities of the CPU are typically a subset of those available in kernel mode but in some cases such as hardware emulation of non native architectures they may be significantly different from those available in standard kernel mode User Some CPU architectures support multiple user modes often with a hierarchy of privileges These architectures are often said to have ring based security wherein the hierarchy of privileges resembles a set of concentric rings with the kernel mode in the center Multics hardware was the first significant implementation of ring security but many other hardware platforms have been designed along similar lines including the Intel 80286 protected mode and the IA 64 as well though it is referred to by a different name in these cases Mode protection may extend to resources beyond the CPU hardware itself Hardware registers track the current operating mode of the CPU but additional virtual memory registers page table entries and other data may track mode identifiers for other resources For example a CPU may be operating in Ring 0 as indicated by a status word in the CPU itself but every access to memory may additionally be validated against a separate ring number for the virtual memory segment targeted by the access and or against a ring number for the physical page if any being targeted This has been demonstrated with the PSP handheld system Hardware that meets the Popek and Goldberg virtualization requirements makes writing software to efficiently support a virtual machine much simpler Such a system can run software that believes it is running in supervisor mode but is actually running in user mode Architectures editRISC V edit RISC V has three main CPU modes User Mode U Supervisor Mode S and Machine Mode M 3 References edit Processor Modes flint cs yale edu Retrieved 2023 08 23 aviviano 2022 11 04 User mode and kernel mode Windows drivers learn microsoft com Retrieved 2023 08 23 Harris Sarah Harris David 2021 07 12 Digital Design and Computer Architecture RISC V Edition Morgan Kaufmann ISBN 978 0 12 820065 0 Retrieved from https en wikipedia org w index php title CPU modes amp oldid 1188685314, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.