[Operating System] {ud923} P2L1: Processes and Process Management

 

 

 

 

V0-Vmax => max size of the process address space

 heap and data may not be contiguous

stack: last in first out

 

 any access of the process to x will access the correct physical location where x is stored.

not all processes requires the entire address space from V0 to Vmax

There may be portions of this address space that are not allocated. 

Also we may simply not have enough physical memory to store all this state.

the operating system must maintain information where these virtual addresses actually are in memory, on disk, since it maintains the mapping between the virtual addresses and the physical location of every part of the process address space.

https://blog.csdn.net/macrossdzh/article/details/5954763

 

 

PC: at any point of time, cpu needs to know where in the instruction sequence the process currently is 

regs: pc is also maintaining the pc by part of regs

MM: stack pointer/top of the stack of the process

 and other information

OS maintains the Process Control Block, including the information above

 
 

Process Control Block is a data structure that OS maintains for every one of the processes.

cpu has a dedicated register, used to track the current program counter for the currently executing process.

PC register will get automatically updated by the cpu on every new instruction 

 

  

 

 

 

root processes:

once the initial boot process is done, and the OS is loaded on the machine, it will create some number of initial processes.

and then when the user types in commands, like list or emacsm, then the new processes get spawned from that shell parent process.

 

Being efficient means that it's important to have both efficient designs as well as sufficient implementations of the various algorithms that are used, for instance in scheduling.

As well as efficient data structure that are used to representing things like the waitinig process, or any information that's relevant to making scheduling decisions.

 information => priority, history (how long ran in the past)

 

  

 

 

 

Because the OS is out of the way, it no longer supports fixed and well-defined APIs how this particular shared memory region is used.

For that reason, the usage sometimes becomes more error prone, or developers simply

 

原文地址:https://www.cnblogs.com/ecoflex/p/10889085.html