Архитектура современных операционных систем

125 4.6. Ядро Все операции, связанные с процессором, выполняются только ядром. Для выполнения таких операций другие компоненты исполнительной си- стемы вызывают специальные функции ядра. Ядро в WindowsNT решает следующие основные задачи: 1) планирование и диспетчеризация потоков; 2) вызов процедур обработки прерываний и исключений; 3) выполнение межпроцессорной синхронизации; 4) вызов процедур восстановления после отказа питания. Ядро имеет ряд особенностей по сравнению с остальными компонентами исполнительной системы: 1) ядро никогда не выгружается из памяти; 2) ядро никогда не вытеснялся (за исключением обработки прерываний); 3) ядро всегда работает в привилегированном режиме, т.е. на уровне 0; 4) для снижения системных издержек при работе с объектами ядро не ис- пользует описатели объектов и маркеры доступа, а работает с указателями на объекты. Эти упрощенные объекты называются объектами ядра. Планирование потоков Windows NT реализует полную вытесняющую многозадачность и многопо- точность, поэтому время CPU выделяется потокам квантами. Каждый поток за время своей жизни может пройти через следующие со- стояния (рис. 4.14.): 0 – только что созданный объект поток, находящийся в состоянии «иници- ализированный». Объект создан, но поток еще не готов к выполнению. 1 – готовый к выполнению поток помещается в очередь готовых потоков и переводится в состояние «готовый». 2 – выбранный на выполнение следующим, поток переводится в состояние «резервный». Для каждого процессора может быть свой резервный поток.

RkJQdWJsaXNoZXIy MTY0OTYy