Sunday, Feb 05th

Last update12:13: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()


Похожие:
Еще по теме:
Советуем прочитать:

В нашем магазине вы можете купить часы самых разный марок - tissot, rado, swatch и т.д.
Сейчас 19 гостей онлайн