Операционные системы, среды и оболочки. Макаренко С.И. - 35 стр.

UptoLike

Составители: 

активизации данного потока, он переходит в состояние выполнения и
находится в нем до тех пор, пока либо он сам освободит процессор (перейдя
в состояние ожидания какого-нибудь события), либо будет принудительно
«вытеснен» из процессора (например, вследствие исчерпания отведенного
данному потоку кванта процессорного времени). В последнем случае поток
возвращается в состояние готовности. В это же состояние поток переходит из
состояния ожидания, после того как ожидаемое событие произойдет.
2.3 Алгоритмы планирования процессов
2.3.1 Вытесняющие и невытесняющие алгоритмы планирования
С самых общих позиций множество алгоритмов планирования можно
разделить на два класса:
1.
Вытесняющие (preemptive) алгоритмы это такие способы
планирования потоков, в которых решение о переключении
процессора с выполнения одного потока на выполнение другого
потока принимается операционной системой, а не активной
задачей. При вытесняющем мультипрограммировании функции
планирования потоков целиком сосредоточены в операционной
системе и программист пишет свое приложение, не заботясь о том,
что оно будет выполняться одновременно с другими задачами. При
этом операционная система выполняет следующие функции:
определяет момент снятия с выполнения активного потока,
запоминает его контекст, выбирает из очереди готовых потоков
следующий, запускает новый поток на выполнение, загружая его
контекст.
2.
Невытесняющие (non-preemptive) алгоритмы основаны на том,
что активному потоку позволяется выполняться, пока он сам, по
собственной инициативе, не отдаст управление операционной
системе для того, чтобы та выбрала из очереди другой готовый к
выполнению поток. При невытесняющем мультипрограммировании
механизм планирования распределен между операционной системой
и прикладными программами. Прикладная программа, получив
управление от операционной системы, сама определяет момент
завершения очередного цикла своего выполнения и только затем
передает управление ОС с помощью какого-либо системного
вызова. ОС формирует очереди потоков и выбирает в соответствии с
некоторым правилом (например, с учетом приоритетов) следующий
поток на выполнение. Такой механизм создает проблемы как для
пользователей, так и для разработчиков приложений.
35
активизации данного потока, он переходит в состояние выполнения и
находится в нем до тех пор, пока либо он сам освободит процессор (перейдя
в состояние ожидания какого-нибудь события), либо будет принудительно
«вытеснен» из процессора (например, вследствие исчерпания отведенного
данному потоку кванта процессорного времени). В последнем случае поток
возвращается в состояние готовности. В это же состояние поток переходит из
состояния ожидания, после того как ожидаемое событие произойдет.

             2.3 Алгоритмы планирования процессов

    2.3.1 Вытесняющие и невытесняющие алгоритмы планирования

     С самых общих позиций множество алгоритмов планирования можно
разделить на два класса:

     1. Вытесняющие (preemptive) алгоритмы — это такие способы
        планирования потоков, в которых решение о переключении
        процессора с выполнения одного потока на выполнение другого
        потока принимается операционной системой, а не активной
        задачей. При вытесняющем мультипрограммировании функции
        планирования потоков целиком сосредоточены в операционной
        системе и программист пишет свое приложение, не заботясь о том,
        что оно будет выполняться одновременно с другими задачами. При
        этом операционная система выполняет следующие функции:
        определяет момент снятия с выполнения активного потока,
        запоминает его контекст, выбирает из очереди готовых потоков
        следующий, запускает новый поток на выполнение, загружая его
        контекст.
     2. Невытесняющие (non-preemptive) алгоритмы основаны на том,
        что активному потоку позволяется выполняться, пока он сам, по
        собственной инициативе, не отдаст управление операционной
        системе для того, чтобы та выбрала из очереди другой готовый к
        выполнению поток. При невытесняющем мультипрограммировании
        механизм планирования распределен между операционной системой
        и прикладными программами. Прикладная программа, получив
        управление от операционной системы, сама определяет момент
        завершения очередного цикла своего выполнения и только затем
        передает управление ОС с помощью какого-либо системного
        вызова. ОС формирует очереди потоков и выбирает в соответствии с
        некоторым правилом (например, с учетом приоритетов) следующий
        поток на выполнение. Такой механизм создает проблемы как для
        пользователей, так и для разработчиков приложений.




                                    35