欢迎来到天天文库
浏览记录
ID:12177834
大小:749.16 KB
页数:25页
时间:2018-07-16
《01_linux进程专题讲座v1.0.1-王保明》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、轻松入门实战应用从项目开发角度为你搭建完整的知识体系wangbaominglinux进程-应用编程-专题讲座writtenby王保明进程基本概念1程序pk进程什么是程序程序是完成特定任务的一系列指令集合。什么是进程从用户的角度来看进程是程序的一次执行过程从操作系统的核心来看,进程是操作系统分配的内存、CPU时间片等资源的基本单位。进程是资源分配的最小单位每一个进程都有自己独立的地址空间与执行状态。像UNIX这样的多任务操作系统能够让许多程序同时运行,每一个运行着的程序就构成了一个进程进程数据结构进程的静态描述:由三部分组成:PCB、有关程序段和该程序段对其进行操作的
2、数据结构集。进程控制块:用于描述进程情况及控制进程运行所需的全部信息。代码段:是进程中能被进程调度程序在CPU上执行的程序代码段。数据段:一个进程的数据段,可以是进程对应的程序加工处理的原始数据,也可以是程序执行后产生的中间或最终数据进程和程序的区别进程是动态的,程序是静态的进程的生命周期是相对短暂的,而程序是永久的。进程数据结构PCB一个进程只能对应一个程序,一个程序可以对应多个进程。总结:中断早期是没有进程这个概念,当出现中断技术以后才出现进程这个概念分式操作系统基于时间片轮转进程是操作系统对资源的一种抽象,一个进程:代码段、数据段、堆栈段、+进程控制块(PCB
3、)PCB是操作系统感知进程存在的一个重要数据结构(cpu通过进程控制块来控制进程)轻松入门实战应用从项目开发角度为你搭建完整的知识体系wangbaoming2进程状态进程状态操作系统经典三态q就绪q等待(阻塞)q运行总结状态条件和原因因创建而就绪,因调度而执行;因时间片用完而重新就绪;执行中因I/O请求而阻塞;I/O完成而就绪注意:阻塞以后不能直接执行,必须进入就绪状态。Linux内核中的进程状态q运行状态(TASK_RUNNING)q可中断睡眠状态(TASK_INTERRUPTIBLE)q不可中断睡眠状态(TASK_UNINTERRUPTIBLE)q暂停状态(TA
4、SK_STOPPED)q僵死状态(TASK_ZOMBIE)轻松入门实战应用从项目开发角度为你搭建完整的知识体系wangbaoming备注:就绪态深入理解:内存中就绪和交换空间中就绪,操作系统支持虚拟内存。虚拟内存实现需要操作系统支持:内存段式管理、业式管理、段页管理。进程状态编程事件进程调度及调度算法3进程编程相关术语进程控制块q进程描述信息q进程标识符用于唯一的标识一个进程。q进程控制信息轻松入门实战应用从项目开发角度为你搭建完整的知识体系wangbaomingq进程当前状态q进程优先级q程序开始地址q各种计时信息q通信信息q资源信息q占用内存大小及管理用数据结构
5、指针q交换区相关信息qI/O设备号、缓冲、设备相关的数结构q文件系统相关指针q现场保护信息q寄存器qPCq程序状态字PSWq栈指针进程标示q每个进程都会分配到一个独一无二的数字编号,我们称之为“进程标识”(processidentifier),或者就直接叫它PID.q是一个正整数,取值范围从2到32768q当一个进程被启动时,它会顺序挑选下一个未使用的编号数字做为自己的PIDq数字1一般为特殊进程init保留的进程创建q不同的操作系统所提供的进程创建原语的名称和格式不尽相同,但执行创建进程原语后,操作系统所做的工作却大致相同,都包括以下几点:q给新创建的进程分配一个
6、内部标识,在内核中建立进程结构。q复制父进程的环境q为进程分配资源,包括进程映像所需要的所有元素(程序、数据、用户栈等),q复制父进程地址空间的内容到该进程地址空间中。q置该进程的状态为就绪,插入就绪队列。进程撤销q进程终止时操作系统做以下工作:q关闭软中断:因为进程即将终止而不再处理任何软中断信号;q回收资源:释放进程分配的所有资源,如关闭所有已打开文件,释放进程相应的数据结构等;q写记帐信息:将进程在运行过程中所产生的记帐数据(其中包括进程运行时的各种统计信息)记录到一个全局记帐文件中;q置该进程为僵死状态:向父进程发送子进程死的软中断信号,将终止信息statu
7、s送到指定的存储单元中;q转进程调度:因为此时CPU已经被释放,需要由进程调度进行CPU再分配。进程创建其他实践1)WinPKLinux进程观察工具轻松入门实战应用从项目开发角度为你搭建完整的知识体系wangbaoming0号进程(也称为)空闲进程内存===》交换空间,支持虚拟内存。1号进程第一个用户进程。。。。2)whichinit/sbin/3)查看内核进程pid最大配置[root@localhost~]#cat/proc/sys/kernel/pid_max327684)终止进程方法中SIGABORT进程编程实践1fork系统调用相关说明复制一个进程映象f
此文档下载收益归作者所有