- 48
- 0
- 约7.63千字
- 约 11页
- 2019-08-12 发布于广东
- 举报
西 安 邮 电 大 学
(计算机学院)
课内实验报告
实验名称: 进程管理
专业名称: 软件工程
班 级:
学生姓名:
学号(8位):
指导教师: 舒新峰
实验日期: 2014年11月4日
实验目的及实验环境
(一)、实验环境
1. 硬件(1) 主机:Pentium III 以上;(2) 内存:128MB 以上;(3) 显示器:VGA 或更高;(4) 硬盘空间:至少100MB 以上剩余空间。2. 软件
Ubuntu下gcc编译器、gdb调试工具。
(二)、实验目的
进程: 1、通过观察、分析实验现象,深入理解多进程并发执行的过程、fork函数在创建子进程时对内存的操作;2、加深对进程概念的理解,明确进程和程序的区别; 3、进一步认识并发执行的实质; 4、分析进程争用资源的现象,学习解决进程互斥的方;5、了解Linux系统中进程通信的基本原理。
线程:1、理解多线程的概念,学会Linux编程中的线程的创建与终止。2、理解多线程并发工作时对资源的抢占,通过本实验掌握在Linux操作系统中遵循Posix线程标准接口进行多线程程序编程,熟练掌握线程的创建pthread_create()。
互斥与死锁:1、理解死锁的产生原因与Linux编程中对临界资源进行加锁使得多进程或多线程对临界资源进行互斥访问。2、利用信号量或者互斥锁实现线程间的同步。
二、实验内容
1、完成程序填空
2、回答下列问题
进程:
1、你最初认为运行结果会怎么样?
答:会持续输出0-9号进程,直到输入数字键+回车,则会杀死该进程,接下来的输出将不会有该进程号,当输入q+回车,则退出程序。
2、实际的结果什么样?有什么特点?试对产生该现象的原因进行分析。
答:实际的结果与预期差不多。因输入进程总数3小于设定的最大进程数,因此按进程数3来处理。随机输出0-2号进程,sleep(SLEEP_INTERVAL),循环输出,输入数字键,则会杀死该数字对应的进程,直到输入q退出循环,然后kill杀死本组所有进程。分析:每创建一个子进程时,将其pid存储在pid[i]中,i存储在proc_number,然后调用死循环函数do_something(),输出该进程的代号proc_number;当输入数字键时,主进程会执行kill(pid[ch-0],SIGTERM),从而杀死(ch-‘0’)号进程。当输入q时循环退出,kill(0,SIGTERM),杀死本组所有进程,程序退出。
3、proc_number 这个全局变量在各个子进程里的值相同吗?为什么?
答:相同,因为子进程相互独立,资源互不影响。?
4、kill 命令在程序中使用了几次?每次的作用是什么?执行后的现象是什么?
答:kill命令在程序中使用了2次:kill(pid[ch-0],SIGTERM)和kill(0,SIGTERM);?
第一次是杀死该进程号pid[ch-‘0’],执行后接下来的结果中不会有该进程号,就会使该子进程真正结束。?
第二次是杀死本组所有进程。即主进程以及它创建的所有子进程。执行后程序退出,进程结束。
5、使用kill 命令可以在进程的外部杀死进程。进程怎样能主动退出?这两种退出方式哪种更好一些?
答:进程在main函数中return,或调用exit()函数都可以正常退出。?而使用kill命令则是异常退出。?当然是正常退出比较好,若在子进程退出前使用kill命令杀死其父进程,则系统会让init进程接管子进程。当用kill命令使得子进程先于父进程退出时,而父进程又没有调用wait函数等待子进程结束,子进程处于僵死状态,并且会一直保持下去,直到系统重启。子进程处于僵死状态时,内核只保存该进程的必要信息以被父进程所需,此时子进程始终占着资源,同时减少了系统可以创建的最大进程数。
6.在do_something()输出pro_number的地址,把do_something里的死循环改成10次,问实际创建的子进程个数有什么变化?
答:pro_number的地址不变,当把死循环改成10次后,子进程个数只有10个,并且杀死后的进程还是会重新输出。
线程:
1、你最初认为前三列数会相等吗?最后一列斜杠两边的数字是相等,还是大于或者小于关系?
答:我认为前三列数不会相等,因为线程之间在抢占cpu资源,三个线程运行次数是随机的,最后一列的数字左边等于右边。
2、最后的结果如你所料吗?有什么特点?试对原因进行分析。
答:最后的结果不是我所预料的,最后斜杠两边的数字时一样的,原因在与我在
您可能关注的文档
- 草原有效阅读案例分析.doc
- 药品GSP质量管理人员培训教育考核试卷及答案.doc
- 药品经营企业日常监督管理内容.doc
- 药店营业员聘用协议书.doc
- 莎士比亚及其作品简介.doc
- 莎士比亚哈姆雷特罗密欧与朱丽叶威尼斯商人李尔王知识点复习.doc
- 莫尔-库伦准则计算题.doc
- 获得博士后科学基金面上一等资助的申请心得.doc
- 营业网点建设规划探讨.doc
- 营销系统低压集抄建档操作指引.doc
- 2026中国金融行业边缘计算应用及实时决策与带宽节省研究报告.docx
- 2026年电子商务平台商业模式创新及盈利能力分析报告.docx
- 2026润滑油行业终端用户需求变化与产品开发报告.docx
- 2026欧洲石油化工产业市场供需分析竞争格局投资评估策略规划分析报告.docx
- 2026农业科技研发投入研究报告与发展策略分析.docx
- 2026眼科医疗器械技术发展与市场推广策略及管理方法研究报告.docx
- 2026亚洲新能源汽车产业链现状供需趋势投资规划分析调研报告.docx
- 2026宠物医疗连锁机构扩张模式与盈利能力报告.docx
- 2026耳聋基因检测商业化应用与政策准入壁垒分析报告.docx
- 2026矿产资源应用场景及能源调配规划分析指南.docx
最近下载
- 江苏航空职业技术学院单招职业适应性考试题库含答案详解【达标题】.docx VIP
- 【行业白皮书】赛迪:中国生物芯片白皮书.docx VIP
- 初中课堂注意力提升策略与项目式学习研究教学研究课题报告.docx
- 初中数学几何模型大全+经典题型(含答案)(可编辑修改word版).pdf VIP
- 《力度与速度》教案 2026人教版音乐一年级下册.doc VIP
- 小学生创造力发展与培养.ppt VIP
- 信息技术(基础模块):信息安全基础PPT教学课件.pptx VIP
- 2026人教版音乐八年级下册 第一单元《学习项目一:统一、变化与平衡》第1课时课件.ppt
- 07.中电建新能源集团有限公司智能光伏电站技术规范(2024版).pdf VIP
- 第二十九章 性发育异常疾病.pptx VIP
原创力文档

文档评论(0)