Linux用户空间编程基础
文章平均质量分 74
makeyourprogress
这个作者很懒,什么都没留下…
展开
-
futex
Futex是fast userspace mutex的缩写,Futex按英文翻译过来就是快速用户空间互斥体。其设计思想其实 不难理解,在传统的Unix系统中,System V IPC(inter process communication),如 semaphores, msgqueues, sockets还有文件锁机制(flock())等进程间同步机制都是对一个内核对象操作来完成的,这个内核对象对原创 2017-03-04 20:53:29 · 1794 阅读 · 0 评论 -
nanosleep
在Linux系统中int nanosleep(const struct timespec *req,struct timespec *rem);返回值0 :请示的时间间隔结束。-1:信号中断或失败,并设置errno。如果rmtp参数不为空,它所引用的timespec结构更新为包含剩余时间的间隔量(请求的时间减去实际睡眠时间)。如果rmtp参数为NULL,不返回的剩余时间。描原创 2017-03-04 20:54:48 · 849 阅读 · 0 评论 -
进程优先级管理
Linux提供一个系统调用运行进程主动让出执行权:sched_yield。进程运行的好好的,为什么需要这个函数呢?有一种情况是用户空间线程的锁定。如果一个线程试图取得另一个线程所持有的锁,则新的线程应该让出处理器直到该锁变为可用。用户空间锁没有内核的支持,这是一个最简单、最有效率的做法。但是现在Linux线程实现引入一个使用futexes的优化解决方案。另一个情况是在有处理器密集型程序可用周期性调原创 2017-03-04 20:57:50 · 773 阅读 · 0 评论