实验一-进程控制实验.doc

上传人:sk****8 文档编号:2213244 上传时间:2019-05-02 格式:DOC 页数:5 大小:89KB
下载 相关 举报
实验一-进程控制实验.doc_第1页
第1页 / 共5页
实验一-进程控制实验.doc_第2页
第2页 / 共5页
实验一-进程控制实验.doc_第3页
第3页 / 共5页
实验一-进程控制实验.doc_第4页
第4页 / 共5页
实验一-进程控制实验.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、实验一 进程控制一、实验目的:加深对进程概念的理解,明确进程和程序的区别;掌握 Linux 操作系统的进程创建和终止操作,体会父进程和子进程的关系及进程状态的变化;进一步认识并发执行的实质,编写并发程序。二、实验平台:虚拟机:VMWare9 以上操作系统:Ubuntu12.04 以上编辑器:Gedit | Vim编译器:Gcc三、实验内容:(1)编写一段程序,使用系统调用 fork()创建两个子进程,当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示“身份信息”:父进程显示“Parent process! PID=xxx1 PPID=xxx2”;子进程显示“Chil

2、dx process! PID=xxx PPID=xxx” 。多运行几次,观察记录屏幕上的显示结果,并分析原因。说明:xxx1 为进程号,用 getpid()函数可获取进程号;xxx2 为父进程号,用 getppid()函数可获取父进程号;Childx 中 x 为 1 和 2,用来区别两个子进程;wait()函数用来避免父进程在子进程终止之前终止。程序源码:#include#include#include#define NUM 2int main(void)pid_t pid1,pid2;if(pid1=fork() #define NUM 5 int main(void) void prin

3、t_msg(char *m); print_msg(“Good “); print_msg(“Morning “); print_msg(“007n“); /将007替换为本人学号return 0; void print_msg(char *m) int i; for(i = 0; i#include#include#define NUM 5int main(void) pid_t pid3;int i;for(i=1;i=3;i+)pidi-1=fork();if(pidi-1=0|pidi-1=-1)break;if(pid0=0)execl(“print“,“print“,“Good“,

4、NULL);else if(pid1=0)execl(“print“,“print“,“Hello“,NULL);elseif(pid2=0)execl(“print“,“print“,“201300814113“,NULL);wait();wait();wait();exit(0);return 0; 实验分析:第二个实验结果,第二个程序的多线程因为是并发执行,而且是有三个线程,所以在时间上几乎是单线程的 1/3,而且因为是并发的,所以打印结果是无序的。实验总结本次实验首先要明确进程和程序的区别,我通过在 Linux 操作系统的进程创建和终止操作,运行父进程和子进程,查看运行结果和进程状态的变化。实验过程中也了解了父进程与子进程的运行过程及其机制。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 课程笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。