linux原理及应用

linux原理及应用

ID:20791931

大小:568.00 KB

页数:65页

时间:2018-10-15

linux原理及应用_第1页
linux原理及应用_第2页
linux原理及应用_第3页
linux原理及应用_第4页
linux原理及应用_第5页
资源描述:

《linux原理及应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、LINUX原理及应用武汉大学计算机学院郑鹏Email:pzheng51@163.com第2章Linux进程管理程序是为了完成某种任务而设计的软件,是存储在磁盘上包含可执行的机器指令和数据的静态实体。进程是一个程序的一次执行的过程,在操作系统中执行特定的任务,是一个随执行过程不断变化的实体。进程是Linux系统中基本的调度单位。进程具有独立的权限与职责,如果系统中某个进程崩溃,它不会影响到其余的进程。每个进程运行在其各自的虚拟地址空间中,通过内核控制下的通信机制,它们之间才能发生联系。进程在生命期内将使用系统中的资源。

2、它利用系统中的CPU来执行指令,用物理内存来放置指令和数据。使用文件系统提供的功能打开并使用文件,同时直接或者间接地使用物理设备。2.1Linux进程在Linux系统中,进程被称为任务。进程存在于系统的内存之中,是操作系统可感知、可控制的动态实体。Linux的进程在处理机上运行时,处理机提供了两种不同的执行状态:内核态(kernelmode)用户态(usermode)2.1Linux进程内核态又称系统态,它具有较高的特权,能执行所有的机器指令,能访问所有的寄存器和存储区域,能直接控制所有的系统资源。Linux在执行内

3、核程序时是处于内核态下。用户态是进程的普通执行状态,在用户态下进程具有较低的特权,只能执行规定的机器指令,不能执行特权指令。进程在用户态下只能访问进程的存储空间。在用户态下进程不能与系统硬件相互作用,不能访问系统资源。在I386结构中,内核态的特权级为0,用户态的特权级为3。2.1Linux进程存放在磁盘上的可执行文件的代码和数据的集合称为可执行映象(ExecutableImage)。当它被装入系统中运行时,它就形成了一个进程。Linux进程是由三部分组成:(1)正文段(text):存放程序代码的数据,假如机器中有数

4、个进程运行相同的一个程序,那么它们就可以使用相同的正文段,正文段具有只读的属性。(2)用户数据段(usersegment):是进程在运行过程中处理数据的集合,它们是进程直接进行操作的所有数据(包括全部变量在内),以及进程使用的进程堆栈。(3)系统数据段(systemsegment):存放着进程的控制信息,即进程控制块(PCB),它存放了程序的运行环境。Linux中进程控制块PCB是名字为task_struct的数据结构,它称为任务结构体。任务结构体是进程存在的唯一标志。2.1Linux进程系统为每个进程分配一个独立的

5、虚拟地址空间。进程的虚拟地址空间被分做两个部分:用户空间。用户进程本身的程序和数据(可执行映象)映射到用户空间中。系统空间。内核被映射到所有进程的系统空间中。它们只允许在具有较高特权的内核态下访问。进程运行在特权较低的用户态下时,不允许它直接访问系统空间。进程只能通过系统调用(systemcall)转换为内核态后,才能访问系统空间。一个进程在运行过程中,总是在两种执行状态之间不断地转换。2.1Linux进程进程上下文:系统提供给进程的处于动态变化的运行环境总和。系统中的每一个进程都有它自己的上下文。Linux操作系统

6、包括三种不同类型的进程,每种进程都有自己的特点和属性。(1)交互进程——由一个Shell启动的进程。交互进程既可以在前台运行,也可以在后台运行。(2)批处理进程——这种进程和终端没有联系,是一个进程序列。(3)守护进程——Linux系统启动时启动的进程,并在后台运行。2.2描述进程的数据结构Linux的进程控制块用任务结构体task_struct描述。Linux在内核空间专门开辟一个指针数组task,该数组的每一个元素是一个指向任务结构体的指针,所以task数组又称为task向量。将所有进程控制块task_struc

7、t的指针存储在task数组中,以便有效地管理。task数组大小限制了系统并发执行的进程总数,而物理内存的大小决定了系统中的最大进程数。在2.4.0版本中,每个task_struct结构占1680字节。2.2描述进程的数据结构task_struct容纳了一个进程的所有信息,我们主要对如下几个方面的信息进行介绍。(1)进程的状态和标志信息(2)进程的调度信息(3)进程的标识信息(4)进程间通信信息(5)进程的家族关系(6)时间和定时信息(7)文件系统信息(8)存储管理信息(9)CPU现场保留信息2.2.1进程的状态和标志

8、信息2.2.1进程的状态和标志信息1.state项task_struct中的state项表示进程当前的状态。Linux系统的不同版本,其进程也略有不同。2.2.1进程的状态和标志信息Linux系统(2.2.x-2.4.x版本)进程状态表进程状态值说明TASK_RUNNING0运行态TASK_INTERRUPTIBLE1等待态,可中断TASK_U

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。