- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
01_linux進程专题讲座v101-王保明
linux进程-应用编程-专题讲座 written by 王保明进程基本概念1程序pk进程什么是程序程序是完成特定任务的一系列指令集合。什么是进程从用户的角度来看进程是程序的一次执行过程从操作系统的核心来看,进程是操作系统分配的内存、CPU时间片等资源的基本单位。进程是资源分配的最小单位每一个进程都有自己独立的地址空间与执行状态。像UNIX这样的多任务操作系统能够让许多程序同时运行,每一个运行着的程序就构成了一个进程进程数据结构进程的静态描述:由三部分组成:PCB、有关程序段和该程序段对其进行操作的数据结构集。进程控制块:用于描述进程情况及控制进程运行所需的全部信息。代码段:是进程中能被进程调度程序在CPU上执行的程序代码段。数据段:一个进程的数据段,可以是进程对应的程序加工处理的原始数据,也可以是程序执行后产生的中间或最终数据进程和程序的区别进程是动态的,程序是静态的进程的生命周期是相对短暂的,而程序是永久的。进程数据结构PCB一个进程只能对应一个程序,一个程序可以对应多个进程。总结:中断早期是没有进程这个概念,当出现中断技术以后才出现进程这个概念分式操作系统 基于时间片轮转进程是操作系统对资源的一种抽象,一个进程:代码段、数据段、堆栈段、+进程控制块(PCB)PCB是操作系统感知进程存在的一个重要数据结构(cpu通过进程控制块来控制进程)2进程状态进程状态 操作系统经典三态就绪等待(阻塞)运行总结状态条件和原因因创建而就绪,因调度而执行;因时间片用完而重新就绪;执行中因I/O请求而阻塞;I/O完成而就绪注意:阻塞以后不能直接执行,必须进入就绪状态。Linux内核中的进程状态运行状态(TASK_RUNNING)可中断睡眠状态(TASK_INTERRUPTIBLE)不可中断睡眠状态(TASK_UNINTERRUPTIBLE)暂停状态(TASK_STOPPED)僵死状态(TASK_ZOMBIE)备注:就绪态深入理解:内存中就绪和交换空间中就绪,操作系统支持虚拟内存。虚拟内存实现需要操作系统支持:内存段式管理、业式管理、段页管理。进程状态编程事件进程调度及调度算法3进程编程相关术语进程控制块进程描述信息进程标识符用于唯一的标识一个进程。进程控制信息进程当前状态进程优先级程序开始地址各种计时信息通信信息资源信息占用内存大小及管理用数据结构指针交换区相关信息I/O设备号、缓冲、设备相关的数结构文件系统相关指针现场保护信息寄存器PC程序状态字PSW栈指针进程标示每个进程都会分配到一个独一无二的数字编号,我们称之为“进程标识”(process identifier),或者就直接叫它PID.是一个正整数,取值范围从2到32768当一个进程被启动时,它会顺序挑选下一个未使用的编号数字做为自己的PID数字1一般为特殊进程init保留的进程创建不同的操作系统所提供的进程创建原语的名称和格式不尽相同,但执行创建进程原语后,操作系统所做的工作却大致相同,都包括以下几点:给新创建的进程分配一个内部标识,在内核中建立进程结构。复制父进程的环境为进程分配资源, 包括进程映像所需要的所有元素(程序、数据、用户栈等),复制父进程地址空间的内容到该进程地址空间中。置该进程的状态为就绪,插入就绪队列。进程撤销进程终止时操作系统做以下工作:关闭软中断:因为进程即将终止而不再处理任何软中断信号;回收资源:释放进程分配的所有资源,如关闭所有已打开文件,释放进程相应的数据结构等;写记帐信息:将进程在运行过程中所产生的记帐数据(其中包括进程运行时的各种统计信息)记录到一个全局记帐文件中;置该进程为僵死状态:向父进程发送子进程死的软中断信号,将终止信息status送到指定的存储单元中;转进程调度:因为此时CPU已经被释放,需要由进程调度进行CPU再分配。进程创建其他实践1)Win PK Linux进程观察工具0号进程(也称为)空闲进程内存===》交换空间,支持虚拟内存。1号进程 第一个用户进程。。。。2)which init /sbin/3)查看内核进程pid最大配置[root@localhost ~]# cat /proc/sys/kernel/pid_max 327684)终止进程方法中SIGABORT进程编程实践 1fork系统调用相关说明复制一个进程映象fork使用fork函数得到的子进程从父进程的继承了整个进程的地址空间,包括:进程上下文、进程堆栈、内存信息、打开的文件描述符、信号控制设置、进程优先级、进程组号、当前工作目录、根目录、资源限制、控制终端等。子进程与父进程的区别在于:1、父进程设置的锁,子进程不继承2、各自的进程ID和父进程ID不同3、子进程的未决告警被清除;4、子进程的未决信号集设置为空集。fork系统调用包含头文件 sys/types.h 和 u
文档评论(0)