Talk:User space and kernel space
![]() | This article is rated Start-class on Wikipedia's content assessment scale. It is of interest to the following WikiProjects: | ||||||||||||||||||||||||||||||||||||||||||||||
|
Using program language safety
editI'm pretty sure that JX proposed using language-based protection instead of VM separation in a kernel before Unununium (operating system) did, but then I don't actually know when work on the latter started, so I'm not going to change it. JulesH 10:56, 10 October 2006 (UTC)
early user space
editHow does user space relate to early user space?
- Catleeball (talk) 22:42, 6 June 2017 (UTC) I'd argue that initramfs and early user space fall under the user space umbrella. While it's mainly used for mounting the rootfs, kernel modules, LVM logical volumes, etc, it operates as user space would. [1]
Rename?
editI suggest this article should be renamed to kernel space and user space. --Octra Bond (talk) 03:17, 18 April 2011 (UTC)
- I second this.72.174.71.134 (talk) 22:14, 24 September 2020 (UTC)
Userland
editThe term Userland usually refers to the various programs and libraries that the rest of the operating system uses to interact with the kernel The Template:Infobox OS contains the term userland. An example from Debian are the GNU Core Utilities. But what about libraries to interact with the Kernel? Is D-Bus such an IPC? Or the C standard library or uClibc? — Preceding unsigned comment added by Echinacin35 (talk • contribs) 09:40, 12 May 2013 (UTC)
Utter Bullshit
editThis article is totally hosed and utter bullshit. — Preceding unsigned comment added by 96.47.97.42 (talk) 20:21, 30 August 2016 (UTC)
- Fixed lede. User:Dreamer (aka Mark) — Preceding unsigned comment added by 96.47.97.42 (talk) 20:37, 30 August 2016 (UTC)
- How so? -- Evilninja (talk) 21:48, 30 August 2016 (UTC)
"User land", "User mode", "User space"
editWhat's the difference between these three things? The lead section should clarify this. This article is really poorly written at the moment anyway, too.
104.228.101.152 (talk) 05:29, 22 December 2016 (UTC)
User space is an area of memory. Userland is a context within which code executes. "User mode" might be some value that a particular operating system attaches to how it keeps track of programs maybe. — Preceding unsigned comment added by 2605:6000:3AC3:8E00:4825:47AD:FFA:D039 (talk) 20:52, 10 June 2017 (UTC)
As I understand it, the fundamental concept is user mode and kernel mode, which are states that a processor can be put into with different behaviors. Kernel mode is more locked-down for security. To my knowledge, memory is usually physically undifferentiated, however it is can be logically segregated into kernel and user areas. The kernel memory is usually inaccesible to user mode software. Enforcement of these policies can be done in software or hardware, but the approaches vary considerably.
The system "environment" or "runtime environment" is also marked by the distinction between kernel and user modes, since all code will be in one of these two states. Code that runs entirely in user mode is said to be in "user land" or "user space". code that runs entirely in kernel mode is usually said to be in "kernel space". Some code switches these contexts, but this is usually stated explicitly. A window manager might be a good example of code that needs to do this. The general push is to have software run in user mode, as this minimizes security risk. Most application software runs in user space. Most system software runs in kernel space. 47.32.217.164 (talk) 18:37, 20 August 2017 (UTC)
- Yes. A system might have, within a single address space, regions that contain code that runs in user mode and data that's accessible from both user mode and kernel mode, and other regions that contain code that runs in kernel mode and data that's accessible only from kernel mode. See, for example, "Address space options for 32bit systems" in this page about address spaces on Linux. Guy Harris (talk) 22:52, 16 June 2024 (UTC)
Kernelspace redirect
editKernel space currently redirects here. Can we also please have kernelspace redirect here? 47.32.217.164 (talk) 18:21, 20 August 2017 (UTC)
- Done -- intgr [talk] 18:29, 20 August 2017 (UTC)
Lunix bias
edit"The term userland (or User Space) refers to all code that runs outside the operating system's kernel.[1]"
The citation is to Eric Raymond, so it's not going to be an inclusive definition. In Windows, user space refers to code running above the executive. Below the executive the kernel is one piece. The discrepancy is because of basic differences in the microkernel/monolithic kernel approaches. In any case, this entire article does a disservice to non-Linux architectures including other forms of Unix. SchmuckyTheCat (talk) 05:30, 1 January 2019 (UTC)
- @SchmuckyTheCat: Do you have any better OS-independent or Windows-specific sources? I don't think these terms are used much in the Windows world although the concepts are analogous. -- intgr [talk] 17:28, 2 January 2019 (UTC)
- Russonivich (sp?) books on Windows Internals might have a definition. The concepts are analogous and several Windows architecture articles point to this article, so it's important to get it right and neutral. SchmuckyTheCat (talk) 09:55, 4 January 2019 (UTC)
- My key issue with this article is its reliance on Linux as the only example. This implies that "user space" is a feature of Linux and not a concept. The table, using only Linux as its example, drives home this impression. It might be helpful if the table were either clearly labeled to indicate that Linux is being used as but one example, or the table should include non-Linux examples. Both microkernels and monolithic kernels have the concept of "user space" and "kernel space;" the only difference is scope. Similarly, Windows may not use the term "user space" but the concept exists nonetheless. I also take issue with the "Notes" section. One could argue that "user space" is/is not an architectural element of OS design; however, conceptually, CP/M, DOS, Windows, etc. do have the (more rudimentary) concept of "user space" and "kernel space" through the use of services, interrupt hooks, TSRs, etc. @Intgr: There may not be OS-independent sources to cite; as a matter of fact, many different OSes may need to be cited to provide a more rounded impression of the concept. I'm not comfortable with the primary citation being a personal website defining jargon. Rusty.pole (talk) 12:39, 26 February 2019 (UTC)