操作系统的问题与解答(管道,随机数,dup)
1、什么是操作系统的管道?回答:a)管道是单工FIFO通信通道,可用于单向进程间通信(IPC)。

3、我们如何创建管道?创建管道的结果是什么?回答:a)使用pipe()系统调用,参数为int数组。

5、如果我们从一个空的管道中读取数据,并且a)管道上有打开的写描述符,或者b)管道上没有任何打开的写描述符,那会发生什么?回答:a)读者被阻止。b)EOF返回。

7、dup2函数系统调用对描述符做了什么?回答:a)将一个文件描述符条目复制到文件描述符表中的另一个条目。

9、在C语言中,rand库函数可用于生成伪随机数。 rand如何在连续调用中返回不同的撕良滤儆值?回答:由于rand()的内部实现是使用线性同余方法完成的,因此它不是真正的随机数,因为其周期很长,因此可以将其视为某个范围内的随机数。但是该算法也存在一个问题,即对于“启动程序”,rand的最小初始值为1,并且将此1作为算法参数引入,最终结果是相同的,即此运行与上一个运行的输出随机数结果相同(但是,如果它是在同一程序中多次调用rand()的结果,则结果是不同的,因为最后一次调用rand()的参数参数是前一个调用rand()的结果。因此,您需要使用srand(种子参数)来引入与上次运行不同的参数,并且每次运行的时间都不相同,因此使用time作为参数来引入,然后您可以不同的价值。那是srand(time(NULL))。更简单的是,如果算法返回x * 2,但是由于序列值x均为1,则最终结果也是2。但是让x随时更新,则最终结果会有所不同

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:96
阅读量:73
阅读量:51
阅读量:55
阅读量:81