Homework: shell
1.预备知识:
1.XV6讲义P7-P14
2.源码中部分常用函数的了解:
3.文件描述符:
在xv6内核中,每个进程都有一张文件描述符表,表项描述了文件的各种信息,一个表项对应一个文件,文件描述符即是文件在表中对应表项的下标,进程通过文件描述符对文件进行读写等各种操作,按照约定,进程一般通过标准输入文件(fd=0)读取数据,对标准输出文件(fd=1)进行写操作,将错误信息输出到标准错误文件(fd=2)上,并且这三个文件描述符默认都是打开状态,通过利用这些约定,使用close,dup,open等函数,重新分配0,1等文件描述符,能够达到实现I/O重定向,管道通信的目的。
2.实现简单的命令(如ls)
parsecmd已经实现了命令解析,我们只要在runcmd中实现case’'的部分即可,调用execv()函数,该函数可能因给定的绝对路径不正确而找不到对应程序,此时修改路径名即可。**
3.实现I/O重定向
对于文件描述