实验二系最统调用.docVIP

  • 30
  • 0
  • 约1.01万字
  • 约 13页
  • 2016-12-28 发布于湖南
  • 举报
实验目的编辑 建立对系统调用接口的深入认识 掌握系统调用的基本过程 能完成系统调用的全面控制 为后续实验做准备 实验内容编辑 此次实验的基本内容是:在Linux 0.11上添加两个系统调用,并编写两个简单的应用程序测试它们。 iam() 第一个系统调用是iam(),其原型为: int iam(const char * name); 完成的功能是将字符串参数name的内容拷贝到内核中保存下来。要求name的长度不能超过23个字符。返回值是拷贝的字符数。如果name的字符个数超过了23,则返回“-1”,并置errno为EINVAL。 在kernal/who.c中实现此系统调用。 whoami() 第二个系统调用是whoami(),其原型为: int whoami(char* name, unsigned int size); 它将内核中由iam()保存的名字拷贝到name指向的用户地址空间中,同时确保不会对name越界访存(name的大小由size说明)。返回值是拷贝的字符数。如果size小于需要的空间,则返回“-1”,并置errno为EINVAL。 也是在kernal/who.c中实现。 测试程序 运行添加过新系统调用的Linux 0.11,在其环境下编写两个测试程序iam.c和whoami.c。最终的运行结果是: $ ./iam lizhijun $ ./whoami liz

文档评论(0)

1亿VIP精品文档

相关文档