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 3875432
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 19, 20262026-05-19T22:15:59+00:00 2026-05-19T22:15:59+00:00

Sorry, simple question but it is something that is always confused me when speaking

  • 0

Sorry, simple question but it is something that is always confused me when speaking about Operating Systems theory.

My book claims that reentrancy is made possible by using “the stack” – does this mean that there is one ‘stack’ and it is, somehow, shared among all routines, or does “the stack” refer to the abstract idea of a stack, and a stack is created and stored in main memory every time some subroutine is called ? (Assuming it is needed).

And what about the Stack Pointer in the CPU in this case ? How does that function, in either of these cases ?

Apologies for the vagueness of my description, the whole idea is just kind of shrouded in conflicting ideas for me !

  • 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-05-19T22:16:00+00:00Added an answer on May 19, 2026 at 10:16 pm

    This is platform specific (depends on used hardware and software).

    Windows on x86/x64 has a memory for system stack ready for each thread. It is reused anytime you do a system call in that thread.

    System is re-entrant when multiple independent processes or threads can call system routines at once. In this case each of those threads uses its own system stack. System stack (technically ring 0 stack) is independent from user mode (ring 3) stack.

    I can also provide more information, just ask if you wish to know something more specific.

    Stack pointer:

    • During normal execution, each thread has its own normal stack and its own stack pointer. It moves down on each call etc.
    • When one particular thread calls operating system routine, current stack pointer value is stored and stack pointer is set to always the same address – system (ring 0) stack.
    • Each thread has its own system (ring 0) stack.
    • When system call ends, original value of stack pointer is restored. So here we actually abandon system stack and go back to normal stack.
    • Size of “normal” stack is set in compiler/linker. It can grow to megabytes. But system stack has a limited static size and you can never change its location or size. It is created exactly so big so any system call can fit there.
    • If one system routine internally calls another system routine, this is detected by hardware and it is called directly, i.e. in that case no special arrangement of stack pointers is made.
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Sorry for the simple question but I feel like there's a smarter way to
Note: I'm sorry if this is an extremely simple question but I'm somewhat obsessive
Sorry for really simple question, but I wasnt able to find anything in the
I'm sorry to ask such a simple question, but it's a specific question I've
Sorry to bother - perhaps this is a very simple question - but for
Sorry if I missed something and this is a silly question...but can I enter
Sorry for this not being a real question, but Sometime back i remember seeing
Sorry if this sounds like a really stupid question, but I need to make
Sorry for the newb question but I am an experienced old-school programmer but I
I am new to rails so sorry for the simple question. I have followed

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.