linux 进程管理实验.ppt
《linux 进程管理实验.ppt》由会员分享,可在线阅读,更多相关《linux 进程管理实验.ppt(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、成都信息工程学院 徐虹第四章第四章 进程管理实验进程管理实验4.1 实验目的 一、加深对进程概念的理解,明确进程和程序的区别 二进一步认识并发执行的实质 三分析进程争用资源的现象,学习解决进程互斥的方法 四了解Linux系统中进程通信的基本原理 4.2 准备知识 4.2.1 基本概念 进程的概念 进程与程序的区别 并发执行的概念 进程互斥的概念 进程通信的基本原理 1成都信息工程学院 徐虹4 4.2.2 .2.2 系统调用系统调用图4-1 系统调用的参数表方式变元表:N 参数1 参数2 参数n (a)直接方式 trap 参数1 参数2 参数n 变元表:N 指针 (b)间接方式 系统调用是一种进
2、入系统空间的办法。通常,在OS的核心中都设置了一组用于实现各种系统功能的子程序,并将它们提供给程序员使用。程序员在需要OS提供某种服务的时候,便可以调用一条系统调用命令,去实现希望的功能,这就是系统调用。因此,系统调用就像一个黑箱子一样,对用户屏蔽了操作系统的具体动作而只是提供了调用功能的接口。2成都信息工程学院 徐虹4 4.2.3 .2.3 相关函数相关函数 一fork()函数:用于创建一个新进程(子进程)int fork();pid=fork();if(pid 0)printf(The parent process is running now!n);exit(0);4成都信息工程学院 徐
3、虹图图3-2 3-2 父进程和子进程的内存映像父进程和子进程的内存映像用户内存区 父进程的vm_arce_struct vm start vm start count=2 vm start vm start count=2 子进程的vm_arce_struct 子进程数据区 子进程堆栈区 父进程数据区 父进程堆栈区 共享正文区 5成都信息工程学院 徐虹二wait()函数:用来控制父进程与子进程的同步。#include#include (pid_t)wait(int*statloc);三exit()函数:进程结束最常调用的函数#include void exit(int status);四kil
4、l()函数:用于删除执行中的程序或者任务 kill(int PID,int IID);6成都信息工程学院 徐虹五五signal()signal()函数函数signal()函数是允许调用进程控制软中断信号的处理#include int sig;void(*func)();signal(sig,function);7成都信息工程学院 徐虹信号信号功能功能值值SIGHUPSIGHUP挂起挂起1 1SIGINTSIGINT键盘中断,键盘按键盘中断,键盘按DeleteDelete键或键或BreakBreak键键2 2SIGQUITSIGQUIT键盘按键盘按QuitQuit键键3 3SIGILLSIGIL
5、L非法指令非法指令4 4SIGTRAPSIGTRAP跟踪中断跟踪中断5 5SIGIOTSIGIOTIOTIOT指令指令6 6SIGBUSSIGBUS总线错总线错7 7SIGFPESIGFPE浮点运算溢出浮点运算溢出8 8SIGKILLSIGKILL要求终止进程要求终止进程9 9SIGUSR1SIGUSR1用户定义信号用户定义信号#1#11010SIGSEGVSIGSEGV段违法段违法1111SIGUSR2SIGUSR2用户定义信号用户定义信号#2#21212SIGPIPESIGPIPE向没有读进程的管道上写向没有读进程的管道上写1313SIGALRMSIGALRM定时器告警,时间到定时器告警,
6、时间到1414SIGTERMSIGTERMkillkill发出的软件结束信号发出的软件结束信号1515SIGCHLDSIGCHLD子进程死子进程死1717SIGCONTSIGCONT若已停止则继续若已停止则继续1818SIGPWRSIGPWR电源故障电源故障30308成都信息工程学院 徐虹六六pipe()pipe()函数函数pipe()函数用于创建一个管道。其调用格式为:#include pipe(int fp2);9成都信息工程学院 徐虹4 4.3.1 .3.1 编制实现软中断通信的程序编制实现软中断通信的程序 Child process 1 is killed by parent!Chil
7、d process 2 is killed by parent!Parent process is killed!多运行几次编写的程序,简略分析出现不同结果的原因。4 4.3 .3 实验内容实验内容10成都信息工程学院 徐虹4 4.3.2 .3.2 编制实现进程的管道通信的程序编制实现进程的管道通信的程序 使用系统调用pipe()建立一条管道线,两个子进程分别向管道写一句话:Child process 1 is sending a message!Child process 2 is sending a message!而父进程则从管道中读出来自于两个子进程的信息,显示在屏幕上。要求:父进程先
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 进程管理实验 进程 管理 实验
限制150内