0

在 Solaris 10 中获取进程的 truss 时,我发现了以下语句

<pid>/2:    70.7602 context(1, 0xFC47ABF8)

请解释这个系统调用的context含义在这个调用之后我看到线程 2 的行为就像另一个线程 4。

4

1 回答 1

0
<ucontext.h>
int getcontext(ucontext_t *ucp);
int setcontext(const ucontext_t *ucp);`

这两个调用在 Solaris 中保存和恢复上下文。我不确定,因为在 McDougal 和 Mauro 的“Solaris Internals”中没有明确提到 context()。我假设context()是对应于这些 api 入口点的实际内核调用。也许context(1, <addr> )对应getcontext(),我不知道。

上下文切换是操作系统允许给定进程为给定时间片(时间片)使用系统资源的方式。调度的一部分。

于 2012-10-19T20:48:15.887 回答