上下文系统调用桁架

问题描述 投票:0回答:1

在Solaris 10中获取进程的桁架时,我发现了以下声明

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

请解释一下这个系统调用context的意思。在这次调用之后,我看到线程2表现得像另一个线程4。

multithreading solaris truss
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(),我不知道。

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

© www.soinside.com 2019 - 2024. All rights reserved.