Chapter three process
1, The concept of process ： Procedures in execution
2, The difference between process and program
A program is not a process , A program is just a passive entity , A process is an active entity , When an executable file is loaded into memory , Only a program can be called a process .
* Process is a dynamic concept , Program is a static concept ;
* A process has a life cycle , There are birth and death , Transient ; And the program is relatively long-term .
* Processes are concurrent , And the program didn't ;
* Process is the basic unit competing for computer system resources , Its concurrency is restricted by the system itself ;
* Different processes can contain the same program , As long as the data set corresponding to the program is different
3, Process state and its transformation |||||||
new ： The process is being created
function ： The instruction is being executed
wait for ： The process waits for an event to occur
be ready ： Process waiting to allocate processor
termination ： Process complete execution
4, Process control block
Each process is represented by a program control block in the operating system （PCB）： Include process status , Program counter ,CPU register ,CPU Dispatch information , Memory management information , Accounting information ,I/O status information
PCB It is used to save important information during program running , Unique identification of the existence of the process , Recorded OS All the information needed to describe and control a process , Process and PCB It's a one-to-one correspondence
5, Process scheduling ： Select an available process to CPU Execution on
6, Job queue ： Save all the processes in the system , When a process enters the system, it will be added to the job queue
7, Ready queue ： Memory resident , Programs waiting to run are stored in the ready queue
8, Device queue ： wait for I/O Process of the device , Each device has its own device queue
9, Scheduler ： Process selection has corresponding scheduler execution
10, Long term scheduling （ job scheduling ）： Select a process to enter the memory ready queue , Controlling the degree of multiprogramming （ Number of processes in memory ）, Not often
11, Short term scheduling （CPU dispatch ）： Select a process from the ready queue , And distribute it CPU
12, The difference between the two ： Frequency of execution
13, Medium term scheduling ： Intermediate scheduling mainly completes the virtual memory management related to the swap in and swap out operation
14, Context switch （ Scheduling process ）： When CPU
When switching to another process , The system needs to save the state of the old process , And load the state of the new process , The time of context switching is an extra cost of the system , When switching, the system does not do any useful work , Time is closely related to hardware support
15, Process operation ： Process creation , Process termination
Process creation ： Parent process creates child process , The child process continues to create , So as to form a process tree
Process termination ： The parent process can abort the execution of the child process
16, The reason why the parent process can abort the execution of the child process ：
* The subprocess uses more resources than it is allocated to
* The task of the child process is no longer needed
* If the parent process ends , Some operating systems do not allow child processes to continue
17, Exchange technology , Switching technology ： Process that cannot run in memory , Or temporarily unused data and programs , Swap out to external storage , To make enough memory space , Put the process that already has the running conditions into practice , Or data and programs needed by the process , Swap in memory
18, Process classification ：I/O The main process ,CPU The main process
19, Process termination implementation
The first step ： Based on the identifier of the terminated process , from PCB Set to find the corresponding process control block and read out the status of the process ;
Step two ： If the terminated process is in execution state , The execution of the process is terminated , And set the dispatch flag to true , Used to indicate that the process should be rescheduled after it has been terminated , Select a new process , Assign the processor to it .
The third step ： If the process still has descendants , All its descendants should be terminated , In case they become uncontrollable .
Step four ： Release all resources occupied by the process （ Return to parent process or system ）, Release process control block （ If the progress is in execution state , To schedule a process ）.
Step five ： The process will be terminated （ its PCB） From queue （ Or linked list ） Remove from , Wait for other programs to collect relevant information .
20, The purpose of process collaboration : information sharing , Improve the operation speed , modularization , convenient
21, Basic mode of interprocess communication ：（1） Shared memory （2） message passing
22, Message passing is achieved through system calls , Slow , Useful for exchanging a small amount of data , Because there's no need to avoid conflict .
23, High speed of message passing in shared memory , A system call is required only when a shared memory area is created