going to standby explicit transmission or completion. The queues of
finished streams are organized according
to the FIFO principle, so the
algorithm is called the FIFO algorithm.
As soon as a new stream is created in the system, its control unit is added to
the tail of the queue. When the processor is released, it is provided to the
stream from the queue head.
This algorithm has many disadvantages:
❖
It is
by definition irreversible
❖
The average response time for it may be quite significant (for
example, if the former receives a stream with a long CPU usage
interval, other streams will wait even if they
themselves use only short
intervals)
❖
It is subject to the convoy effect (convoy effect)
The effect of the convoy can be explained by this situation. Suppose there is
a single thread (let's call it T
CPU
) in the system, limited by the processor
capabilities, and many T
io
threads limited by the I / O capabilities. Sooner
or later, the T
CPU
thread will be available to the processor and will execute
instructions with a long interval of use of the CPU. During this time, the
other T
io
streams will complete the I / O, queue the finished threads and
wait there, with the idle I / O devices. When T
CPU
finally block and will
transfer
control of all flows T
io
quickly follow the instructions of their
ranges CPU and then move to the IO. After that, T
CPU
will again capture
the
processor for a long time, etc.