电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

进程的创建67VIP免费

进程的创建67_第1页
1/8
进程的创建67_第2页
2/8
进程的创建67_第3页
3/8
1. 进程的基本原理 进程的作用就是担当分配系统资源(CPU 时间,存储器等)的实体。 1.1 程序执行的原理 Linux 中的程序和命令通常由命令解释器执行,这一命令解释器称为 shell。 用户输入命令之后,shell 会在搜索路径(shell 变量PATH 中包含搜索路径)指定的目录中搜索和输入命令匹配的映象(可执行的二进制代码)名称。如果发现匹配的映象,shell 负责装载并执行该映像。shell 首先利用 fork 系统调用建立子进程,然后用找到的可执行映象文件覆盖子进程正在执行的 shell 二进制映象。 在执行fork()之后,同一进程有两个拷贝都在运行,也就是说,子进程具有与父进程相同的可执行程序和数据(简称映像)。但是,子进程肯定不满足于仅仅成为父进程的“影子”,因此,父进程就要调用execve()装入并执行子进程自己的映像。execve()函数必需定位可执行文件的映像,然后装入并运行它。当然开始装入的并不是实际二进制映像的完全拷贝,拷贝的完全装入是用请页装入机制(demand pageing loading)逐步完成的。开始时只需要把要执行的二进制映像头装入内存,可执行代码的 inode 节点被装入当前进程的执行域中就可以执行了。 例如:$ ls -l /usr/bin 以获得在/usr/bin 目录下的全部文件列表时,shell 进程创建一个新进程执行这个命令。这个新进程装入/bin/ls 可执行文件。在这样做的过程中,从shell 继承的大多数执行上下文被丢弃,但三个单独的参数ls、 -l 和 /usr/依然被保持。一般情况下,新进程可以接受任意个参数。 2. 进程描述【/include/linux/sched.h】 包含进程所有信息的task_struct 数据结构是比较庞大的,但是该数据结构本身并不复杂,我们将它的所有域按其功能可做如下划分: ( 1)进程状态(State) ( 2)进程调度信息(Scheduling Information) ( 3)各种标识符(Identifiers) ( 4)进程通信有关信息(IPC: Inter_Process Communication) ( 5)时间和定时器信息(Times and Timers) ( 6)进程链接信息(Links) ( 7)文件系统信息(File System) ( 8)虚拟内存信息(Virtual Memory) ( 9)页面管理信息(page) ( 10)对称多处理器(SMP)信息 ( 11)和处理器相关的环境(上下文)信息(Processor Specific Context) ( 12)其它信息 ( 1)进程状态(volatile long State) 进程执行时,它会根据具体情况改变状态。进程状态是调度和对...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

进程的创建67

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部