如果系统中只有1个正在运行的应用程序(并且默认100个睡眠进程),并且它执行阻塞系统调用(我有兴趣阻止recv或阻塞读取)。请问linux内核从task_t *current
指针中删除这个应用程序?在系统中没有其他负载的情况下阻塞系统调用(linux内核)
0
A
回答
0
你在问运行的应用程序会睡吗?
如果有数据满足读取,那么它将不会休眠 - 内核会将排队的数据复制到缓冲区并从系统调用返回。如果没有等待数据,那么这个过程将会休眠。这不取决于系统上其他进程的状态。如果所有进程都处于休眠状态,那么内核将执行有用的操作,例如将CPU置于低功耗状态,直至发生中断,这可能意味着您的进程正在等待的数据现在可用。
+0
这是没有数据可读。任务会睡觉。我问,内核'current'指针(内核堆栈)指向这个任务。 – osgx 2010-05-04 13:47:04
相关问题
- 1. Linux内核中的系统调用
- 2. 没有内核的Linux文件系统
- 3. Linux阻止系统调用
- 4. 冗余的Linux内核系统调用
- 5. Linux内核AIO,开放系统调用
- 6. 更改linux内核系统调用号
- 7. 在没有kldload的情况下向FreeBSD添加系统调用
- 8. 在没有堆栈的情况下在Linux上进行系统调用
- 9. Qt - 系统级调用阻塞的QThreads
- 10. Linux内核系统调用返回没有给出的指针
- 11. Linux内核模块(内核3.5)中的系统调用拦截
- 12. 追踪C阻塞系统调用
- 13. 哪个进程在Linux内核中调用系统调用?
- 14. linux内核模块阻止卸载文件系统
- 15. 阻塞来电android系统
- 16. 是否有任何系统调用阻塞内存
- 17. Linux内核2.6中有多少系统调用?
- 18. Linux系统调用
- 19. 在没有X-Window系统的情况下使用OpenGL
- 20. 在Linux的NFS挂载系统调用
- 21. linux内核中的系统调用表在哪里?
- 22. 在Linux内核3.3中添加一个新的系统调用
- 23. 在系统调用中访问Linux内核的SuperBlock对象
- 24. 我想让接受系统调用为非阻塞。我如何使接受系统调用为非阻塞?
- 25. 在Linux内核源代码中执行系统调用/陷阱
- 26. 在linux 2.6.39.4内核中测试系统调用
- 27. 其他操作系统是否实现Linux系统调用拼接?
- 28. Matlab,在没有simulink的情况下研究非线性系统
- 29. Linux内核3.3.4中的自定义系统调用
- 30. Linux内核中的系统调用错误处理
似乎'current'将指向swapper(pid 0)任务 – osgx 2010-11-09 02:46:06