操作系统实验报告

实验一 进程的创建和控制

班 级: 12计算机12班

学 号: 127401219

姓 名: 刘艳仙

成 绩:

2013年

实验目的

1、掌握进程的概念,明确进程的含义

2、复习C语言程序基本知识

3、练习并掌握UNIX提供的vi编辑器来编译C程序

4、学会利用gcc、gdb编译、调试C程序

5、认识并了解并发执行的实质

6、掌握进程另外的创建方法

7、熟悉进程的睡眠、同步、撤消等进程控制方法

实验内容

1)UNIX/LINUX及其使用环境

1、用vi编写一个简单的、显示"Hello,World!"的C程序,用gcc编译并观察编译后的结果

2、利用gdb调试该程序

3、运行生成的可执行文件。

2)进程创建:

1、编写一段程序,使用系统调用fork( )创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示'a',子进程分别显示字符'b'和字符'c'。试观察记录屏幕上的显示结果,并分析原因。

2、修改上述程序,每一个进程循环显示一句话。子进程显示'daughter …'及'son ……',父进程显示 'parent ……',观察结果,分析原因。

3)进程的控制

1、用fork( )创建一个进程,再调用exec( )用新的程序替换该子进程的内容

2、利用wait( )来控制进程执行顺序

三、实验程序和实验结果

根据要求,实验源程序如下:

1)利用vi编写的程序及其结果

main( )

{

printf("Hello,world!\n");

}

2)、进程的创建及其结果

1.#include

#inlude

#include

main( )

{

int p1,p2;

while((p1=fork( ))= = -1); /*创建子进程p1*/

if (p1= =0) {sleep(10);

putchar('b');}

else

{

while((p2=fork( ))= = -1); /*创建子进程p2*/

if(p2= =0) {sleep(10);

putchar('c');}

else {sleep(10);

putchar('a'); }

}

}

执行结果如下:

2.

#include

#inlude

#include

main( )

{

int p1,p2,i;

while((p1=fork( ))= = -1); /*创建子进程p1*/

if (p1= =0)

for(i=0;i<10;i++)

{sleep(5);printf("daughter %d\n",i);}

else

{

while((p2=fork( ))= = -1); /*创建子进程p2*/

if(p2= =0)

for(i=0;i<10;i++)

{sleep(5);printf("son %d\n",i);}

else

for(i=0;i<10;i++)

{sleep(5);printf("parent %d\n",i);}

}

}

实验结果

3)进程控制:

1、用fork( )创建一个进程,再调用exec( )用新的程序替换该子进程的内容

2、利用wait( )来控制进程执行顺序

#include

#include

main( )

{

int pid;

pid=fork( ); /*创建子进程*/

switch(pid)

{

case -1: /*创建失败*/

printf("fork fail!\n");

exit(1);

case 0: /*子进程*/

execl("/bin/ls","ls"

c语言进程控制实验报告,操作系统进程的创建与控制实验报告.doc相关推荐

  1. 大学计算机打开文件过程演示实验记录表,操作系统进程与文件管理 实验报告表 作业 5.doc...

    精品文档 . (本文档包含: 实验5 实验报告 与 第5周作业题) 实验5 操作系统进程与文件管理 实验报告 学号 1404505147 姓名禤雨骅 班级: 临床医学14(1) 实验时间:2015 年 ...

  2. 计算机进程同步实验观察结果记录表,实验5 操作系统进程与文件管理 实验报告表 作业 5.doc...

    实验5操作系统进程与文件管理实验报告表 (本文档包含: 实验5 实验报告 与 第5周作业题) 实验5 操作系统进程与文件管理 实验报告 学号 1404505147 姓名禤雨骅 班级: 临床医学14(1 ...

  3. cupsd进程_关于Linux操作系统进程操作(ps)命令简介

    1.ps 进程状态查询命令. 命令格式#ps [[选项]] 常用选项: ● -a,显示所有用户进程. ● -e,显示进程环境变量. ● -l,给出长列表. ● -r,只显示正在运行的进程. ● -S, ...

  4. windows c语言 进程信息,C语言获取Windows系统进程信息

    #include #include //进程快照函数头文件 #include int main() { int countProcess=0;//当前进程数量计数变量 PROCESSENTRY32 c ...

  5. 数据结构(十五) -- C语言版 -- 树 - 二叉树的操作进阶之创建、插入、删除、查询、销毁

    内容预览 零.读前说明 一.概述 二.数据模型分析创建 2.1.节点的结构模型 2.2.操作函数结构模型 三.创建 四.插入 4.1.在树中的某一个叶子节点位置插入新节点 4.2.在树中的某一个非叶子 ...

  6. 计算机公共基础知识实验报告,实验5-操作系统进程与文件管理--实验报告表-.docx...

    (本文档包含:实验5实验报告 与 第5周作业题) 实验5操作系统进程与文件管理实验报告 学号 1404505147 姓名 榭雨骅 班级: 临床医学14 ( 1 ) 实验时间: 2015 年04月13日 ...

  7. 大学计算机打开文件过程演示实验记录表,实验5-操作系统进程与文件管理--实验报告表-x...

    <实验5-操作系统进程与文件管理--实验报告表-x>由会员分享,可在线阅读,更多相关<实验5-操作系统进程与文件管理--实验报告表-x(14页珍藏版)>请在人人文库网上搜索. ...

  8. DCMTK:使用dcmsr API创建示例结构化报告

    DCMTK:使用dcmsr API创建示例结构化报告 使用dcmsr API创建示例结构化报告 使用dcmsr API创建示例结构化报告 #include "dcmtk/config/osc ...

  9. 按平均成绩排行c语言文件操作,学生成绩管理系统(c语言结构体以及文件操作)实验报告精选.doc...

    学生成绩管理系统(c语言结构体以及文件操作)实验报告精选 C程序设计 实验报告 编号: 姓名院系学号任课教师于萧指导教师实验地点实验时间实验名称文件操作同 组 人无预习报告(对实验主要内容的认识)得分 ...

最新文章

  1. 对某课程的建议和意见_2021年河南专升本专科专业对照和考试课程征求意见
  2. C++ string字符串比较问题
  3. java属于什么行业,吐血整理
  4. java keytool nginx_java 自签名证书转 nginx 所需证书
  5. 前端测试利器--Browser-Sync启动命令
  6. 【算法】剑指 Offer 52. 两个链表的第一个公共节点
  7. 'tensorflow' has no attribute 'sub'
  8. linux yum imagemagick,CentOS7安装 ImageMagick
  9. WIN8禁用休眠功能
  10. eclipse安装SVN插件
  11. 绿坝进程关闭的简单方法
  12. PS如何制作火焰效果图特效步骤教程
  13. 达芬奇17新功能及安装教程
  14. prometheus 配置服务器监控、服务监控、容器中服务监控与告警
  15. ffmpeg读取rtsp并保存到mp4文件
  16. 晨控CK-GW06-E03与TwinCAT软件配置指南
  17. isSymmetric
  18. 常见数据挖掘算法和Python简单实现
  19. 五大方案,教你关于微信公众号的内容定位
  20. JDK8新特性(4)—— stream 流

热门文章

  1. 中国高智商协会(胜寒) 入会智商考试热身题答案
  2. Win7 HTTP 错误 404.17 – Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。
  3. MySQL必备知识表的查询
  4. 文件加密最简单的方法有哪些?
  5. 如何输出html源码,对html代码不进行解析
  6. 无线控制器+FIT AP原理
  7. uniapp中使用弹出层
  8. 南辕北辙:关于研究生培养的断想
  9. keep-alive的生命周期
  10. 请远离让男人性趣全无的伤精食物