Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8366337
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 9, 20262026-06-09T12:53:32+00:00 2026-06-09T12:53:32+00:00

my understanding is that user task can access both 3G of user space and

  • 0

my understanding is that user task can access both 3G of user space and 1G of kernel space. But kernel task can only access its only 1G kernel space. But in task_struct, it links to vm_area_struct which points to user space, am I right? If right, then this means kernel task can also access user space directly?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-09T12:53:33+00:00Added an answer on June 9, 2026 at 12:53 pm

    Below is from Robert Love’s LKD3: The mm_struct and Kernel Threads (P309)

    Kernel threads do not have a process address space and therefore do not have an associ-
    ated memory descriptor.Thus, the mm field of a kernel thread’s process descriptor is NULL .
    This is the definition of a kernel thread—processes that have no user context.

    This lack of an address space is fine because kernel threads do not ever access any user-
    space memory. (Whose would they access?) Because kernel threads do not have any pages
    in user-space, they do not deserve their own memory descriptor and page tables. (Page
    tables are discussed later in the chapter.) Despite this, kernel threads need some of the
    data, such as the page tables, even to access kernel memory.To provide kernel threads the
    needed data, without wasting memory on a memory descriptor and page tables, or wast-
    ing processor cycles to switch to a new address space whenever a kernel thread begins
    running, kernel threads use the memory descriptor of whatever task ran previously.

    Whenever a process is scheduled, the process address space referenced by the process’s
    mm field is loaded.The active_mm field in the process descriptor is then updated to refer
    to the new address space. Kernel threads do not have an address space and mm is NULL .
    Therefore, when a kernel thread is scheduled, the kernel notices that mm is NULL and keeps
    the previous process’s address space loaded.The kernel then updates the active_mm field
    of the kernel thread’s process descriptor to refer to the previous process’s memory
    descriptor.The kernel thread can then use the previous process’s page tables as needed.
    Because kernel threads do not access user-space memory, they make use of only the
    information in the address space pertaining to kernel memory, which is the same for all
    processes.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Am I correct in my understanding that I can only pass-through one custom variable
My understanding is that both JAAS and SQL Server can be configured to use
I'm new to Symfony. Is my understanding correct that the User class is actually
It is my understanding that two unequal objects can have the same hashcode. How
So it's my understanding that on a ReaderWriterLock (or ReaderWriterLockSlim more specifically), both the
I could be wrong about this, but it is my understanding that it is
My goal is to have a program that sleeps in the background but can
Understanding that I should probably just dig into the source to come up with
It's my understanding that in Spring, all objects are treated by default as singletons.
It's my understanding that all three of these lines below should return an ARRAY

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.