大连理工大学操作系统实验报告.docVIP

  • 264
  • 0
  • 约 18页
  • 2016-12-07 发布于重庆
  • 举报
大连理工大学操作系统实验报告

大连理工大学 本科实验报告 课程名称: 操作系统实验 学院(系): 计算机科学与技术学院 专 业: 计算机科学与技术 班 级: 电计 学 号: 学生姓名: 年 月 日 实验项目列表 序号 实验项目名称 学时 成 绩 指导教师 预习 操作 结果 1 进程管理 2 存储管理 3 磁盘移臂调度 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 总计 学分: 大连理工大学实验报告 学院(系):计算机科学与技术学院 专业: 计算机科学与技术 班级:电计1301 姓 名: 学号: 组: ___ 实验时间: 2016.6.3 实验室: 综412 实验台: 指导教师签字: 成绩: 进程管理实验 实验目的 加深对于进程并发执行概念的理解。实践并发进程的创建和控制方法。观察和体验进程的动态特性。进一步理解进程生命期期间创建、变换、撤销状态变换的过程。掌握进程控制的方法,了解父子进程间的控制和协作关系。练习Linux系统中进程创建与控制有关的系统调用的编程和调试技术。 实验原理和内容 原理 (2)exec 系统调用有一组6个函数,其中示例实验中引用了 execve 系统调用语法: #include unistd.h int execve(const char *path, const char *argv[], const char * envp[]); path 要装入的新的执行文件的绝对路径名字符串. argv[] 要传递给新执行程序的完整的命令参数列表(可以为空). envp[] 要传递给新执行程序的完整的环境变量参数列表(可以为空). Exec执行成功后将用一个新的程序代替原进程,但进程号不变,它绝不会再返回到调用进程了。exec调用失败,它会返回-1。 内容: 每个进程都执行自己独立的程序,打印自己的pid,每个父进程打印其子进程的pid; 每个进程都执行自己独立的程序,打印自己的pid,父进程打印其子进程的pid; 编写一个命令处理程序,能处理max(m,n), min(m,n)和 average(m,n,l)这几个命令。(使用exec函数族) 三 实验代码及结果 (1) #includestdio.h #includeunistd.h int main() { if(fork() == 0) { printf(子进程的pid为:%d.\n,getpid()); if(fork() == 0) { printf(二级子进程的pid为:%d.\n,getpid()); } } else { printf(父进程的pid为%d.\n,getpid()); } return 0; } 运行结果: (2) #includestdio.h #includeunistd.h int main() { if(fork() == 0) { printf(子进程的pid为 %d.\n,getpid()); } else { if(fork() == 0) { printf(子进程2的pid %d.\n,getpid()); } else { printf(父进程的pid为 %d.\n\n,getpid()); } } return 0; } (3) 调用函数为: include unistd.h #include string.h #include stdio.h #define N 10 int main() { int i;

文档评论(0)

1亿VIP精品文档

相关文档