Системный вызов контекста в ферме
Взяв ферму процесса в Solaris 10, я нашел следующее утверждение
<pid>/2: 70.7602 context(1, 0xFC47ABF8)
Пожалуйста, объясните, что этот системный вызов context
Значит также после этого вызова я увидел поток 2, ведущий себя как другой поток 4.
1 ответ
<ucontext.h>
int getcontext(ucontext_t *ucp);
int setcontext(const ucontext_t *ucp);`
Эти два вызова сохраняют и восстанавливают контекст в Solaris. Я не знаю точно, поскольку в McDougal And Mauro 'Solaris Internals' нет явного упоминания context (). Я предполагаю context()
фактический вызов ядра, который соответствует этим точкам входа API. возможно context(1, <addr> )
соответствует getcontext()
, Я не знаю.
Переключение контекста - это то, как ОС позволяет данному процессу использовать системные ресурсы для данного кванта (временного интервала). Часть планирования.