软硬件系统编程PPT (21).pdf
处理器管理处理器管理 Processor Processor managementmanagement Processor management Processor management is also called job management or process management.It main function is:Distribute the processor,and control and manage its operation.Determines who can use CPU and how to use it When multiple users request to use CPU at the same time,it determines who can or cannot use,and what the execution order should be.Reasons for processor management:“Concurrent execution”of multiple programs is adopted by modern computers.2 Concurrence execution is Multiple programs operate at the same period of time.3 About Concurrence execution Given that there is only one CPU,how to do this?1.Execution of multitasks Execution of multitasks in computer has two approaches:Parallel execution Concurrent execution 4 1 1)Parallel execution Each program is executed in a specific order.Suppose a program contains three segments:input(I),calculate(C),and output(P),parallel execution of it should be:5 Input segment 1 Calculate 1 Output 1 Input segment 2 Output 2 Calculate 2 E.g.Execute the following statements S1:a=x+b S2:b=a-3 S3:c=b+1 Execution order of the above statements must be:6 Example of parallel execution S1 S2 S3 Features of parallel execution:Execute in order Enjoy all system resources solely during execution Execution results are reproducible 7 2)Concurrence execution Input Input segment 1segment 1 calculate calculate segment 1segment 1 Output Output segment 1segment 1 Input Input segment 2segment 2 calculate calculate segment 2segment 2 Output Output segment 2segment 2 Input Input segment 3segment 3 Input Input segment 4segment 4 calculate calculate segment 3segment 3 calculate calculate segment 4segment 4 Output Output segment 3segment 3 Output Output segment 4segment 4 Multiple programs are operating at the same period of time E.g.Execute the following statements S1:a=x+1 S2:b=y-3 S3:c=a+b Execution order of the above statements can be:8 Example of concurrent execution:S1 S3 S2 Example of concurrent execution:Assume:Program A:Do operation of N=N+1 at each execution;Program B:Do operation of Print(N)at each execution,and then let N=0.Assume N=n at a time There will be three orders of execution:Execute A first,then B,the result of N will be:n+1,n+1,0 Execute B first,then A,the result of N will be:n,0,1 Execute Print(N)of B first,then A,then N=0 of B,the result of N will be:n,n+1,0 The results of the three orders are different Based on the above example,concurrent execution has the following features:The result is reproducible:the result depends on the execution speed(order)of program segments Multiple programs can be executed at the same time in a macro level System resources are shared by multiple programs 10 Only one CPU doesnt support simultaneous execution;Static programs cannot be executed concurrently.thus“process”is introduced 11 2.Process Process is an executing process of a program.It is a“live”program.A program may have several processes,and a process may have several programs as well When multiple programs are to be executed,process is the basic unit for distributing and managing system resources.All programs must be given a process before execution.Processes in the windows task manager 12 13 Basic states of a process Due to the restriction of resources,the execution of a process is not continuous during its life cycle.There are three basic states:Ready state The process has already occupied all system resources except the CPU.Once it acquires CPU,it can execute at once.Running state The process has already occupied all system resources including CPU,and it is executing.Waiting state The process is temporarily suspended due to the lack of a particular resource,so it has to wait for execution after acquiring that resource.14 Transformation of states State of the process is constantly changing during its life cycle Waiting Waiting statestate Times up Acquire resources Wait for resources Process call RunningRunning statestate New New processprocess Ready Ready statestate TerminationTermination receive finish Composition of process Program module Programs describing the necessary operations of a process Data collection Data and working regions required by execution Process Control Block(PCB)Record all information of the process,including:process identification,current state,live information,family information The important factor to ensure reproducibility of the result Processor Management Introduction of process makes concurrent execution possible,and ensures reproducibility of the result;Process management is the core of processor management.It mainly solves the problems of:Who can use CPU and how to use?When multiple users request to use CPU at the same time,it determines who can or cannot use,and what the execution order should be.