《Linux实验》PPT课件.ppt
《《Linux实验》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《Linux实验》PPT课件.ppt(21页珍藏版)》请在三一办公上搜索。
1、,操作系统,2009年,上机实验14,操作系统实验1,实验1 掌握Linux基本命令 和开发环境1.掌握常用的Linux shell命令;2.掌握编辑环境VIM;3.掌握编译环境gcc及跟踪调试工具gdb,操作系统实验2,实验2 进程目的 通过观察、分析实验现象,深入理解进程及进程在调度执行和内存空间等方面的特点,掌握在POSIX 规范中fork和kill系统调用的功能和使用。实验前准备 学习man 命令的用法,通过它查看fork 和kill 系统调用的在线帮助,并阅读参考资料,学会fork 与kill 的用法。复习C 语言的相关内容。,操作系统实验2,/*POSIX 下进程控制的实验程序残缺
2、版*/#include#include#include#include#include/*允许建立的子进程个数最大值*/#define MAX_CHILD_NUMBER 10/*子进程睡眠时间*/#define SLEEP_INTERVAL 2 int proc_number=0;/*子进程的自编号,从0开始*/void do_something();,操作系统实验2,main(int argc,char*argv)/*子进程个数*/int child_proc_number=MAX_CHILD_NUMBER;int i,ch;pid_t child_pid;pid_t pid10=0;/*存
3、放每个子进程的id*/if(argc 1)/*命令行参数第一个参数表示子进程个数*/child_proc_number=atoi(argv1);child_proc_number=(child_proc_number 10)?10:child_proc_number;,操作系统实验2,for(i=0;ichild_proc_number;i+)/*填写代码,建立child_proc_number个子进程要执行*proc_number=i;*do_something();*父进程把子进程的id保存到pidi*/*让用户选择杀死进程,数字表示杀死该进程,q退出*/while(ch=getchar(
4、)!=q)if(isdigit(ch)/*填写代码,向pidch-0发信号SIGTERM,*杀死该子进程*/*在这里填写代码,杀死本组的所有进程*/return;,操作系统实验2,void do_something()for(;)printf(This is process No.%d and its pid is%d,proc_number,getpid();sleep(SLEEP_INTERVAL);/*主动阻塞两秒钟*/kill()函数用于删除执行中的程序或者任务。调用格式为:kill(int PID,int IID);其中:PID是要被杀死的进程号,IID为向将被杀死的进程发送的中断号
5、。,操作系统实验2,实验过程 先猜想一下这个程序的运行结果。假如运行“./process 20”,输出会是什么样?然后按照注释里的要求把代码补充完整,运行程序。可以多运行一会儿,并在此期间启动、关闭一些其它进程,看process 的输出结果有什么特点,记录下这个结果。开另一个终端窗口,运行“ps aux|grep process”命令,看看process 究竟启动了多少个进程。回到程序执行窗口,按“数字键+回车”尝试杀掉一两个进程,再到另一个窗口看进程状况。按q 退出程序再看进程情况。,操作系统实验2,实验2 进程实验报告回答下列问题,写入实验报告。1.你最初认为运行结果会怎么样?2.实际的结
6、果什么样?有什么特点?试对产生该现象的原因进行分析。3.proc_number 这个全局变量在各个子进程里的值相同吗?为什么?4.kill 命令在程序中使用了几次?每次的作用是什么?执行后的现象是什么?5.使用kill 命令可以在进程的外部杀死进程。进程怎样能主动退出?这两种退出方式哪种更好一些?6.把你的程序源代码附到实验报告后。,操作系统实验3,实验3 线程目的 通过观察、分析实验现象,深入理解线程及线程在调度执行和内存空间等方面的特点,并掌握线程与进程的区别。掌握POSIX 规范中pthread_create()函数的功能和使用方法。实验前准备 阅读参考资料,了解线程的创建等相关系统调用
7、。,操作系统实验3,/*POSIX 下线程控制的实验程序残缺版*/#include#include#include#include#include#define MAX_THREAD 3/*线程的个数*/unsigned long long main_counter,counterMAX_THREAD;/*unsigned long long是比long还长的整数*/void*thread_worker(void*);,操作系统实验3,int main(int argc,char*argv)int i,rtn,ch;pthread_t pthread_idMAX_THREAD=0;/*存放线程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux实验 Linux 实验 PPT 课件
链接地址:https://www.31ppt.com/p-5577072.html