Thursday, Sep 09th

Last update09:09:00 PM GMT

Вы находитесь на: FreeBSD Запуск и выключение Запуск потоков ядра - scheduler

Запуск потоков ядра - scheduler

Набор модулей завершает установку всех потоков ядра, необходимых для получения рабочего ядра. Здесь запускаются потоки ядра swapper, init, pagezero, pagedaemon, bufdaemon, vnlru и scheduler, а также потоки ядра для сетевой файловой системы (NFS). До этого места система работала в однопроцессорном режиме.

На многопроцессорной системе модуль SISUBSMP вызывает последнюю часть машинно-зависимого кода, процедуру release_aps(), чтобы запустить в системе другие процессоры. Теперь настало время запустить систему. Модуль SISUBRUNSCHEDULER является потоком, особым в последовательности запуска, поскольку он всегда должен выполняться последним. В списке модулей ему дается наибольший возможный номер подсистемы со всеми установленными - 1-й, чтобы он не был случайно помещен в списке раньше.

Вызывается процедура task scheduler, которая никогда не возвращается. Она немедленно начинает планировать выполнение на процессорах системы потоков ядра и процессов уровня пользователя.

scheduler, task scheduler

Модули потоков ядра

Модуль

Первая процедура

SI_SUB_INTRINSIC_POST

proc0_post()

SISUBKTHREADINIT

kick_init()

SISUBKTHREADPAGE

vm_pageout()

SI_SUB_KTHREAD_VM

vm_daemon()

SISUBKTHREADBUF

buf_daemon()

SISUBKTHREADUPDATE

vnlru_proc()

SISUBKTHREADIDLE

ald_daemon()

SI_SUB_SMP

release_aps()

SI_SUB_RUN_SCHEDULER

scheduler()

Сейчас 14 гостей онлайн

Реклама на сайте:

Центр китайской медицины Тао лечебный массаж спины советуем.

Вы хотите заказать дистанционное образование правильный выбор? Только у нас!