Operating system 如何在根级别的FreeBSD内核中生成随机数?
在我的操作系统课程中,我实现了彩票调度算法,而不是FreeBSD已经给出的算法 为了实现彩票调度,我必须能够使用随机数。然而,我不能在FreeBSD内核中使用C标准库(使用rand函数) 我正在从根目录(Operating system 如何在根级别的FreeBSD内核中生成随机数?,operating-system,kernel,freebsd,Operating System,Kernel,Freebsd,在我的操作系统课程中,我实现了彩票调度算法,而不是FreeBSD已经给出的算法 为了实现彩票调度,我必须能够使用随机数。然而,我不能在FreeBSD内核中使用C标准库(使用rand函数) 我正在从根目录(sched_ule.c和kern_switch.c)修改/sys/kern中的两个.c文件,并尝试使用/sys/code>中的random.h在sched_ule.c文件中创建随机变量 到目前为止,我希望在运行makebuildkernel并重新启动后,迈出一小步,打印出随机数 实现您自己的伪R
sched_ule.c
和kern_switch.c
)修改/sys/kern
中的两个.c
文件,并尝试使用/sys/code>中的random.h
在sched_ule.c
文件中创建随机变量
到目前为止,我希望在运行makebuildkernel
并重新启动后,迈出一小步,打印出随机数
实现您自己的伪RNG。C Rand不会生成安全随机性,因此您也可以这样做
如果您使用的是post-ivybridge intel-x86,您可以只执行rdrand(这是一种黑客攻击,但可以正常工作)。我怀疑其他执政官也有类似的指示或机制
使用FreeBSD的随机函数。它几乎肯定有一个随机性提取器实现