电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPT文档下载
分享到微信 分享到微博 分享到QQ空间

四川大学 linux 第4章unix进程管理及进程通信

  • 资源ID:56622770       资源大小:594KB        全文页数:152页
  • 资源格式: PPT        下载积分:10金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要10金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

四川大学 linux 第4章unix进程管理及进程通信

第4章 Linux进程管理及进程通信,刘 循,4.1 Linux进程及描述,4.1.1 Linux系统中的进程 Linux操作系统是多进程并发环境,进程和进程之间的关系呈现为多级结构,如图4.1所示。,4.1 Linux进程及描述,最上层的进程是系统的根进程,也称为0进程,是系统所有进程的起点,在系统引导时创建。根进程通过系统函数调用fork创建初始化进程(init进程,也称为1进程)。跟进程在创建初始化进程之后,变为对换进程(swapper)存在,其功能为完成内存与外存之间的进程对换工作。 初始化进程通过系统函数调用fork创建一系列的系统进程,如logger、update、cron、lpsched、getty进程等。这些进程长期运行在系统中,被称为驻守进程(daemon进程)。如果系统承担网络服务功能,则还需包含网络服务进程,如httpd、sendmail、ftp等。getty进程负责用户登录,监视每个终端上的用户注册情况。当用户登录进入系统后,便生成相应的子进程,即shell进程。,4.1 Linux进程及描述,所有进程都会生成一个或多个子进程。除根进程之外,所有进程都有一个父进程。 为了管理方便,Linux操作系统给每个进程分配一个唯一的进程标识符pid。操作系统通过进程标识符管理进程。 无论何时,当用户注册登录后,系统为用户创建一个shell进程(即用户的login shell),键入一个命令或执行一个程序时,shell进程会产生一个相应的子进程;在子进程中还可以创建子进程,待用户退出(exit)后,又把控制权还给shell进程。 进程拥有者的标识符为进程的用户标识符。用户标识符反映了用户在系统中的地位,决定了用户进程的各种特权,如进程对文件的存取权限等。子进程会继承父进程的用户标识符。,4.1 Linux进程及描述,所有进程都会生成一个或多个子进程。除根进程之外,所有进程都有一个父进程。 为了管理方便,Linux操作系统给每个进程分配一个唯一的进程标识符pid。操作系统通过进程标识符管理进程。 无论何时,当用户注册登录后,系统为用户创建一个shell进程(即用户的login shell),键入一个命令或执行一个程序时,shell进程会产生一个相应的子进程;在子进程中还可以创建子进程,待用户退出(exit)后,又把控制权还给shell进程。 进程拥有者的标识符为进程的用户标识符。用户标识符反映了用户在系统中的地位,决定了用户进程的各种特权,如进程对文件的存取权限等。子进程会继承父进程的用户标识符。,4.1 Linux进程及描述,如果进程的拥有者和进程运行所对应的代码文件拥有者具有相同的用户标识符,则称该用户标识符为有效用户标识符。 直接从终端读写的进程为前台进程,正在运行却又无法直接从终端读写的进程为后台进程。任何时候,一个终端只有一个前台进程但可以拥有多个后台进程。 如果要调度一个进程在后台进程运行,运行时在执行的程序名后加“&”(注意:程序名和符号“&”之间需要有空格),如:$ ./httpd & 表示启动进程httpd在后台运行。,4.1.2 进程状态及其转换,4.1.2 进程状态及其转换,Linux操作系统采用如下的进程状态描述进程的动态过程: (1) 就绪(Running):进程处于预备运行状态,等待系统分配处理器; (2) 核心态运行(Running):进程运行在操作系统核心空间。在用户程序中如果有系统函数调用,则进程状态会从用户态执行转入核心态执行。任何一个进程都不可能抢占一个处于核心态执行的进程,除非处于核心态执行的进程正从核心态到用户态切换; (3) 用户态运行(Running):进程运行在用户空间。处于用户态运行的进程可被抢占; (4) 可中断睡眠(interruptible):由于进程CPU运行时发生了需要等待I/O事件或进程通信时需要相互配合而等待,此时,进程会在内存中处于一种相对静止状态。如果等待的事件已经完成,此时进程可被唤醒,被唤醒后的进程转入内存就绪状态;,4.1.2 进程状态及其转换,(5) 不可中断睡眠(uninterruptible):进程在内存中处于一种相对静止状态,此时进程不会被唤醒。产生不可中断睡眠的原因一般是睡眠进程还未进入睡眠,而唤醒它的进程的唤醒操作已经发生。由于错过了唤醒操作,当睡眠进程进入睡眠后则不能唤醒了。不可中断睡眠状态较少使用,可用于进程必须等待时。 (6) 僵死(zombie):由于父进程死亡而被终止的进程,虽然进程已经死亡,但没有释放系统资源,如没有释放内存和task_struct结构等,所以被称为处于僵死状态。如果系统中处于僵死状态的进程很多,则会引发系统资源短缺问题。用命令“ps el”可查看进程状态,如果进程状态标识是Z,则进程处于僵死状态。有些处于僵死状态的进程,用命令“kill -9”也不能杀死。例如,如果系统在shutdown时,屏幕显示信息:some process wouldnt die。则表明系统中存在不能被reboot发出的“kill 9”杀掉的进程,这些进程很可能处于僵死状态;,4.1.2 进程状态及其转换,(7) 停止(stopped):进程被停止。如果进程接收到信号,如信号SIGSTOP 或 SIGTSTP 等时,进程则进入停止状态。正在被调试的进程可能处于停止状态。当停止状态的进程接收到SIGCONT信号之后,将再次成为可运行进程。通常,将处于内核态运行和用户态运行的进程状态统一称为进程的运行态。,4.1.2 进程状态及其转换,4.1.3 进程映像与进程上下文 一个程序经过编译和链接之后,成为可执行文件。操作系统核心将可执行文件作为进程的实体装入内存时,进程实体分为正文段、数据段和堆栈段。 正文段由程序中的代码构成; 数据段由程序运行所用到的数据构成; 堆栈段由函数调用传递参数、保留现场、存放返回地址和局部变量构成。在程序运行过程中,堆栈段由操作系统创建并不断刷新。堆栈段分为核心堆栈和用户堆栈两种。核心堆栈为进程在核心态下运行的工作区;用户堆栈为进程在用户态下运行的工作区。,4.1.2 进程状态及其转换,进程控制块分为常驻内存和非常驻内存两部分。 常驻内存部分为进程描述符,非常驻内存部分为USER区,也称为U区。进程描述符可由核心访问,U区只能由在核心态运行的进程访问。 每个进程都有一个U区。为了便于访问U区,操作系统会用一个固定的虚地址对应U区。内核将正处于核心态运行进程的U区地址映射到该固定虚地址上。 虽然每个进程都有U区,不同进程的U区有不同的地址,但是,内核每次都将正在核心态下运行的进程的U区映射到固定的地址,进程访问U区总可以用相同的地址。,4.1.2 进程状态及其转换,U区中的主要信息有: (1) 与进程对应的用户标识符; (2) 记录进程已打开文件的文件描述符; (3) 描述进程位于文件系统的当前目录和根目录; (4) 具有系统函数调用结果的返回值字段和出错字段; (5) 记录进程与子进程在用户态和核心态运行时的时间; (6) 各种输入/输出参数,如进程要读写的数据量、用户地址空间中的数据地址、读写文件的字节数、读写方式、缓冲区长度及地址等; (7) 限制进程大小的字段及限制进程读写文件大小的字段; (8) 对进程所创建的所有文件设置的许可权方式字段的屏蔽模式; (9) 指向进程表的指针。,4.1.2 进程状态及其转换,进程上下文是进程的环境,当一个进程在执行时,可以看成系统在进程的上下文中执行。通常把进程上下文理解为进程映像,进程切换被认为是进程上下文的切换。 进程上下文由用户级上下文、寄存器上下文和系统级上下文组成。 用户级上下文由进程的正文、数据、用户栈和共享存储区组成,占据进程的虚地址空间。 寄存器上下文由程序计数器、处理器状态寄存器、栈指针和通用寄存器组成。 系统级上下文由进程表表项(进程描述符)、正在核心态运行进程的U区、进程区表表项和区表、页表、核心栈。,4.1.2 进程状态及其转换,4.1.4 进程描述符与进程表进程描述符是Linux系统用于描述进程的数据结构,是操作系统管理进程最重要的依据。进程描述符包含的信息可以归纳为以下几大类:,4.1.2 进程状态及其转换,进程的运行信息 进程标示信息 进程的标识符(pid); 进程的父进程标识符(ppid); 进程的父进程组标识符(pgrp); 进程的会话号(session); 进程的会话头(leader); 进程的用户标识符(uid); 进程的有效用户标识符(euid); 进程保存的用户标识符(suid); 进程的用户组标识符(gid); 进程的有效组标识符(egid); 进程的保存组标识符(sgid);,4.1.2 进程状态及其转换,进程状态描述 在include/linux/sched.h中,将进程的状态描述具体化: TASK_RUNNING为0; TASK_INTERRUPTIBLE为1; TASK_UNINTERRUPTIBLE为2; TASK_STOPPED为4; TASK_ZOMBIE为8; TASK_DEAD为16。 当进程的状态描述为-1时,表示进程不可运行。,4.1.2 进程状态及其转换,进程在内存中的分布信息: 进程的代码段地址(start_code); 进程的代码段长度(end_code,字节数); 进程的代码长度加进程的数据段长度(end_data,字节数); 进程的总长度(brk,字节数); 进程的堆栈段地址(start_stack); 进程运行时间片递减计数(counter); 进程运行优先数(priority:数字越大优先级越低); 发送和接收信号的信号位图(signal),每个比特位代表一种信号; 信号将要执行的操作和标志信息结构(sigaction32); 进程信号屏蔽码(blocked); 进程执行停止的退出码,由停止进程的父进程收取(exit_code);,4.1.2 进程状态及其转换,2进程的时间信息 报警定时时间(alarm); 用户态运行时间(utime); 系统态运行时间(stime); 子进程用户态运行时间(cutime); 子进程系统态运行时间(cstime); 进程开始运行时刻(start_time);,4.1.2 进程状态及其转换,3.进程运行的部分硬件设备信息 进程使用协处理器标志(used_math:是,否); 进程使用终端设备号(tty:-1 表示没有使用); 进程的文件系统信息; 文件创建属性屏蔽位(umask); 当前工作目录i 节点结构(m_inode * pwd); 根目录i节点结构(m_inode * root); 执行文件i节点结构(m_inode * executable); 执行时关闭文件句柄位图标志(close_on_exe); 文件结构指针表(file * filpNR_OPEN,表项号为文件描述符值,最多32 项);,4.1.2 进程状态及其转换,4进程局部信息 进程的局部描述符表(desc_struct ldt3:空null为0,代码段cs为1,数据和堆栈段ds&ss为2); 进程状态段信息结构(tss_struct tss);,4.1.2 进程状态及其转换,例 在linux 0.11版本中,进程描述符用结构(task_struct)表示,在文件linuxsched.h中定义,其源代码如下:,struct task_struct long state;long counter;long priority;long signal;struct sigaction sigaction32;long blocked; int exit_code;unsigned long start_code;unsigned long end_code;unsigned long end_data;unsigned long brk;unsigned long start_stack;long pid;long father;long pgrp;long session;long leader;unsigned short uid;unsigned short euid;unsigned short suid;,

注意事项

本文(四川大学 linux 第4章unix进程管理及进程通信)为本站会员(飞***)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.