操作系统lab:Xv6 and Unix utilities

lab1:Xv6 and Unix utilities

实验的主要内容,xv6的系统调用以及实现一些基础的shell操作。实验链接

实验总结

  1. xv6环境配置,教程。注意事项,在配置的过程中出现问题,infinite-recursion错误。解决方法详见:error .

  2. 实现sleep:主要考察知识点,读取命令行参数,以及调用系统调用sleep

  3. 实现pingpong:主要考察知识点,建立fork和pipe,以及父进程中wait的使用,等待子进程退出。fork()可以创建子进程,子进程会完整的拷贝父进程的内存参数等。pipe是一个建立在内存中的管道,用来进行数据传输,主要的方法有read以及write。注意管道分为读出端和写入端,分别是不同的文件描述符。文件描述符是一个整数变量,是特定文件的标志。fork()的子进程的返回值为0,父进程的返回值为子进程id,可以凭借这个特征来在子进程和父进程中分别编程实现不同功能。

  4. 实现primes:并发编程实现素数的筛选。并发编程比较难懂,有待研究。主要考查点还是fork和pipe。

  5. 实现find:主要考查点,目录文件的递归查询,借鉴ls的实现,读取打开路径的类型,分为目录和文件。值得注意的是递归的时候要把当前目录“.”和父目录“…”排除掉。

  6. 实现xargs:主要考查点fork和exec的使用,在子进程中使用exec命令。

实验参考代码

代码

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值