电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

2012级操作系统实验报告.doc

15页
  • 卖家[上传人]:灯火****19
  • 文档编号:137991666
  • 上传时间:2020-07-13
  • 文档格式:DOC
  • 文档大小:281.50KB
  • / 15 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、哈 尔 滨 学 院实 验 报 告课程名称: 计算机操作系统 专 业: 软件工程 班 级: 12-8 学 号: 12031801 姓 名: 常燕如 教务处制实验一 进程管理【实验目的与要求】 加深对进程概念的理解,明确进程与程序的区别。 掌握Linux进程创建及撤销的方法,进一步认识并发执行的实质。 掌握Linux系统下守护进程的创建方法。【实验原理】 Linux进程管理命令进程查看进程终止进程优先级设置 Linux进程控制函数创建和修改进程设置进程属性获取进程属性进程的退出 Linux守护进程独立启动守护进程超级守护进程守护进程的编写流程 守护进程的编写遵循特定的流程,主要包括五个步骤: Step 创建子进程,退出父进程 Step 在子进程中创建新会话 Step 改变当前目录为根目录 Step 重设文件权限掩码 Step 关闭文件描述符【实验主要仪器与材料】 带Linux操作系统的PC机 GCC编译器【实验内容】 获取进程信息通过管理命令,获取系统当前执行进程的信息,包括进程名称与ID、PID和PGID等。 创建进程编程程序,实现父进程创建一个子进程,返回后父子进程都分别循环输出字符串

      2、“I am parent.”或“I am child.”5次,每输出一次延时1秒(sleep(1),然后进入下一次循环。观察并分析运行结果。然后将程序改为父子进程同步执行:子进程循环输出字符串“I am child.”5次,然后父进程再循环输出字符串“I am parent.”5次。再次观察并分析运行结果。【实验步骤及实验结果分析】 实验内容1 通过进程实现及验证父进程及子进程的id号的命令ps -lg 实验内容2实现父进程创建一个子进程,返回后父子进程都分别循环输出字符串“I am parent.”或“I am child.”5次,每输出一次延时1秒(sleep(1),然后进入下一次循环。 #include#include#includeint main() pid_t pt; printf(Hello world!n); int i; pt=fork(); for(i=0;i5;i+) if(pt=-1) printf(Fork error.n); else if printf(I am a parent.n);Sleep(1); else printf(I am a child.

      3、n);Sleep(1); return 0; 父子进程同步执行:子进程循环输出字符串“I am child.”5次,然后父进程再循环输出字符串“I am parent.”5次。#include#include#includeint main() pid_t pt; printf(Hello world!n); int i; pt=fork(); for(i=0;i5;i+) if(pt=-1) printf(Fork error.n); else if printf(I am a parent.n); else printf(I am a child.n); return 0;【思考题】 程序和进程的区别。 (1)程序是动态的,程序是静态的:程序是有序代码的集合;进程是程序的执行。通常进程不可在计算机之间迁移;而程序通常对应着文件、静态和可以复制。 (2)进程是暂时的,程序是永久的:进程是一个状态变化的过程,程序可长久保存。 (3)进程和程序的组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)。 (4)进程和程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关

      4、系,一个进程可包括多个程序。 Linux操作系统下有哪些进程类型。 交互进程; 批处理进程; 守护进程; 进程创建函数fork和vfork的区别。 (1)fork()用于创建一个新进程。由fork()创建的子进程是父进程的副本。即子进程 获取父进程数据空间,堆和栈的副本。父子进程之间不共享这些存储空间的部分。而vfork()创建的进程并不将父进程的地址空间完全复制到子进程中,因为子进程会立即调用exec (或exit)于是也就不会存放该地址空间。相反,在子进程调用exec或exit之前,它在父进程的空间进行。 (2)vfork()与fork()另一个区别就是:vfork保证子进程先运行,在调用exec或exit之前与父进程数据是共享的,在它调用exec或exit之后父进程才可能被调度运行。 (3)vfork和fork之间的还有一个区别是:vfork保证子进程先运行,在她调用exec或exit之后父进程才可能被调度运行。如果在调用这两个函数之前子进程依赖于父进程的进一步动作,则会导致死锁。 进程的退出函数有哪些?有何区别?C程序是如何被启动终止的? exit 函数; return 函数;

      5、 abort函数 _exit函数。 exit和_exit函数用于正常终止一个程序 exit先执行一些清除处理.然后进入内核清除操作包括调用执行各终止处理程序,关闭所有标准I/O流 _exit立即进入内核 abort函数用于异常终止一个程序 exit是一个函数,有参数,把控制权交给系统 return是函数执行完后的返回,将控制权交给调用函数实验二 进程通信【实验目的与要求】 了解基于信号的进程通信机制。 熟悉LINUX系统中进程之间软中断通信的基本原理。【实验原理】 一、信号 信号的基本概念 信号的发送 对信号的处理 二、所涉及的中断调用 kill() signal() wait() waitpid() lockf()【实验主要仪器与材料】 带Linux操作系统的PC机 GCC编译器【实验内容】 编写程序:用fork()创建两个子进程,再用系统调用signal()让父进程捕捉键盘上来的中断信号(即按c键);捕捉到中断信号后,父进程用系统调用kill()向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止:Child process1 is killed by parent!Ch

      6、ild process2 is killed by parent!父进程等待两个子进程终止后,输出如下的信息后终止:Parent process is killed! 分析利用软中断通信实现进程同步的机理。【实验步骤及实验结果分析】 编写程序:用fork()创建两个子进程,再用系统调用signal()让父进程捕捉键盘上来的中断信号(即按c键);捕捉到中断信号后,父进程用系统调用kill()向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止:Child process1 is killed by parent!Child process2 is killed by parent!父进程等待两个子进程终止后,输出如下的信息后终止:Parent process is killed! 对软中断信号的处理分三种情况进行: (1)如果进程收到的软中断是一个已决定要忽略的信号,不做处理便立即返回。 (2)进程收到软中断后便退出。 (3)执行用户设置的软中断处理程序。【思考题】实验内容的参考程序如下,请仔细阅读、调试、分析,回答下述问题:#include #include #include

      7、 #include #include void waiting(),stop();int wait_mark; int main()int p1, p2, stdout=1;while(p1=fork() = -1); /*创建子进程p1*/if (p1 0)while(p2=fork() = -1);/*创建子进程p2*/if(p2 0)wait_mark=1;signal(SIGINT, stop);/*接收到c信号,转stop*/waiting();kill(p1, 16);/*向p1发软中断信号16*/kill(p2, 17);/*向p2发软中断信号17*/wait(0);/*同步*/wait(0);printf(Parent process is killed!n);exit(0);elsewait_mark=1;signal(17, stop);/*接收到软中断信号17,转stop*/waiting();lockf(stdout, 1, 0);printf(Child process 2 is killed by parent!n);lockf(stdout, 0, 0);exit(0);elsewait_mark=1;signal(16, stop);/*接收到软中断信号16,转stop*/waiting();lockf(stdout, 1, 0);printf(Child process 1 is killed by parent!n);lockf(stdout, 0, 0);exit(0);return 0;void waiting()while(wait_mark != 0);void stop()wait_mark=0; 参考程序段前面部分用了两个wait(0),它们起什么作用?

      《2012级操作系统实验报告.doc》由会员灯火****19分享,可在线阅读,更多相关《2012级操作系统实验报告.doc》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结
     
    收藏店铺
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.