我对所有这些细节以及它们如何在Linux中相互关联感到有点困惑。"Unix内部“一书指出,lightweight process (LWP)是内核支持的用户线程,内核看不到进程内部的线程。对于Linux,这仍然是正确的吗?
据我所知,用户空间线程被安排在进程内部,通过更高层次的抽象作为pthread库,而不需要内核的干预。我说的对吗?
我很难理解setscheduler函数中的sched_priority角色。
我使用的是linux 2.4.X,文档中写道:
Valid priorities for SCHED_OTHER is 0, Valid priorities for SCHED_RR\FIFO are 1...MAX_USER_RT_PRIO-1
但是,我记得rt进程的优先级是0-99,SCHED_OTHER的优先级是100-139,所以...我错过了什么?struct sched_param中的sched_priority指的是什么?
当使用SO_RECVBUF调用setsockopt,然后转过来并使用SO_RECVBUF调用getsockopt时,它似乎在告诉我,它将缓冲区大小设置为我要求设置的缓冲区大小的两倍。有人知道为什么吗?
有关守则:
产出:
setting it as 2222
[udp @ 0x1a72ec0] end receive buffer size reported is 4444
只有在linux中,在其他操作系统上,它似乎报告为我设置的值。谢谢。
我是Rtlinux的新手,试着了解基本原理。我在某个地方读到,也可以使用rtlinux命令运行可执行文件,但我没有找到关于该命令的太多信息。使用Rtlinux命令运行可执行文件与使用FIFO策略调度进程/线程与使用rtlinux修补程序有什么区别。
提前谢谢!!
更新:从下载的rtlinux图书中使用的相同命令:页码:7
The resulting object binary must be inserted into the kernel, where it will be executed by RTLinux.
Use the command 'rtlinux' (you