深入解析内核服务、时钟机制与同步原语
1. 内核服务
内核服务中有一些常见的正常调用函数,它们在系统运行中发挥着重要作用:
- sigalarm2proc :这是一个正常调用。 alarm(2) 系统调用会将 sigalarm2proc 放入调用队列,当定时器到期时生成 SIGALRM 信号。
- ts_update :同样是正常调用,它会检查分时和交互式类线程列表,并根据需要更新它们的优先级。
- seg_pupdate :用于地址空间段回收线程,以查找一段时间未使用的页锁定页面并进行回收。
- kmem_update :执行低级内核内存分配器管理。
这些只是放入调用队列的内核函数的一部分,通常会看到同一函数以不同的 ID 和超时值同时出现在调用队列中。
2. 系统时钟
系统时钟依赖硬件定时器中断来定期执行一些常规任务,例如触发调度器定期重新计算进程优先级,以及启动调用队列处理。
内核(软件)会设置可编程中断发生器(硬件)以定期生成时钟中断,默认情况下每秒 100 次。时钟中断处于中断级别 10(SPARC),系统中没有其他设备在此级别生成中断。每次时钟中断发生时,会进入一个处理程序,执行以下功能:
- 设置可用内核匿名空间( anon_free )值,用于跟踪和报告。
- 设置空闲内存( fr
超级会员免费看
订阅专栏 解锁全文
44

被折叠的 条评论
为什么被折叠?



