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