xv6 与 Unix 实用程序
实验二: 根据题目要求,需要通过管道将输入的 pingpong 得到输出的 pong,ping。并通过 getpid 得 到前面对应的进程识别码。设计方案则是利用管道将父进程将一个字节发给子进程,子进程 通过 getpid 获得进程识别码,子进程再将字节发给父进程,然后退出子进程,父进程从子进 程读取字节,通过 getpid 获得进程识别码并输出,然后退出父进程,结束代码。 实验三: 根据题目要求,需要通过 primes.c 将 2-35 之间的质数输出打印出来。设计方案是将 2-35 之 间压入管道中,为素数创建一个进程,通过管道从左邻居读取,通过判断并在另一个管道上 在那向右邻居写入,为素数创建的进程需要在 35 处停止,而主进程需要等待所有进程全部 退出后并且所有输出均打印结束后停止。判断方式则为从左邻居读取到的所有数字如果可以 被管道得到的输入的最小值,如果可以整除则不传给右邻居,如果不可以整除则传递给右邻 居,并循环直至传递给右邻居的数据数目为 0。 实验四: 根据题目要求,在目录树中寻找与字符串匹配的所有文件,并将其输出展示。根据 user 库中 的 ls.c 的文件可以