I have read that when a context switch happens, the context of that particular process will be saved in the process control block. But I wonder why the context couldn't be saved in the process itself so the CPU only had to remind itself which process it had to resume instead of making a copy of the context to the PCB.
Why is the context not saved in the process itself instead of the PCB?
168 Views Asked by NimaJan At
1
There are 1 best solutions below
Related Questions in OPERATING-SYSTEM
- the end of the I/O operation is notified to the system by an interrupt.how much system time do the mentioned operations occupy?
- Problem on CPU scheduling algorithms in OS
- OS-wide text autocomplete service with popup
- mkssecreenshotmgr taking a screenshot
- How to prevent app from crashing on android emulator
- Is there a function to end a child process?
- Swapping a healthy and unallocated partition in Windows 10
- ubuntu OS : Why my battery is completely drained of in just 2 hours in suspend mode
- 1 filenames = [] 2 ----> 3 for file in os.zipfile('images.zip'):
- Worth it to access data by blocks on modern OS/hardware?
- How does outlook disable screenshot
- How can I enable my app to access a specific partition directory for reading and writing without showing popup to user?
- Exception of type 'System.Exception' was thrown. Error in Cosmos Project
- Maximum CPU Voltage reading
- Java: get username from uid
Related Questions in CPU
- the end of the I/O operation is notified to the system by an interrupt.how much system time do the mentioned operations occupy?
- Python process CPU usage going high suddenly. how to detect the place?
- Problem on CPU scheduling algorithms in OS
- Will a processor with such a defect work?
- Google Chrome is consuming a lot of CPU on a video call?
- access fan and it's speed, in linux mint on acer predator helios 300
- I am trying to calculate the cpu percentage a certain process take but the values are very differnt than that of the task manger
- Can out-of-order execution of CPU affect the order of new operator in C++?
- Unexpected OS Shutdown
- Maximum CPU Voltage reading
- ClickHouse Materialized View consuming a lot of Memory and CPU
- Use of OpenVINO on a computer with 2 physical cpus
- How is cpu's state saved by os without altering it?
- why the CPU utilization and other indicators collected by glances are larger than those collected?
- Python serial communication causing high CPU Usage when baudrate is 1000000
Related Questions in CONTEXT-SWITCH
- How is cpu's state saved by os without altering it?
- Why doesn't this pop instruction restore the register values?
- what's the exact performance cost of context switch within the same thread? (memory access -> page fault -> memory access again)
- Change Shipping method will throw out exception in Shopware6, although id exists in database
- Can a context switch between threads of the same process occure during signal handling?
- Difference in overhead of a mode switch vs intra-process context switch on Linux
- Linux vhost kvm exit upon guest sending a packet
- Too much context switches - how to be sure that it is actual problem?
- Is there a downside to using too many threads with pytest-xdist?
- Measure the performance impact of context switching within a executable binary
- How do real schedulers involved processes and threads work?
- From an fxsave dump, how to determine whether in x87 or MMX mode?
- RTOS on ARM microcontroller: why do we save the state of registers R4-R11 upon context switching
- ARM64 SVE registers not preserved when issuing a syscall, why does Linux discard SVE registers with sve_user_discard()?
- switch loses its state while scrolling even after getting saved
Related Questions in CONTEXT-SWITCHING
- Context Switching between multiple projects on STM32CUBEIDE
- Context Switching RTOS
- Which is more costly in terms of performance: a few threads with many context switches or many threads with few context switches?
- Does the context switch retain (keep state of variables) the value of the variables when it resumes the task?
- Can anyone explain this assembly code for the "stack" point of view?
- Saving the value of registers during context switch
- Do we need to handle weak reference and context switching?
- How to check performace of Multi Threading over using only a single thread?
- How does the Windows dispatcher load the next process to run on CPU?
- Why is this code acting different with a single printf? ucontext.h
- How does the scheduler interrupt the CPU?
- Is context switching is the only factor that affects the bounded waiting in process synchronization?
- ASP.NET MVC thread context switching overhead
- Why the arm port of Linux kernel did not backup the "cpsr" register during the context switch?
- How to calculate context swicthing for anonymous plsql block
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
The context is saved in the Process CONTEXT Block. The state of a process is defined by the values in the process's registers. What you are suggesting would require having a separate set of registers for each process which would make hardware design a nightmare.
The CPU is only aware of the currently running process. If the Process Context Block were in the user address space of the process, its values would be inaccessible.