- 1、本文档共79页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第03章进程管理2014 [兼容模式]
第三章
进程管理进程管理
Unix/linux操作系统分析课件USTB
进程的概念
进程就是处于执行期的程序进程就是处于执行期的程序 ((目标码存放在某种存储介质上目标码存放在某种存储介质上))
代码段(text section ):一段可执行程序代码
数据段数据段::用来存放全局变量用来存放全局变量
一个或多个具有内存映射的内存地址空间
一个或多个执行线程个或多个执行线程(( threadthread ofof execution)execution)
其他资源:打开的文件,挂起的信号,内核内部数据,处
理器状态理器状态,,
实际上,进程就是正在执行的程序代码的实时结果。内核需要
有效而又透明地管理所有细节有效而又透明地管理所有细节。。
Unix/linux操作系统分析课件USTB
Linux线程(thread )
执行线程执行线程,,简称线程简称线程 ((threadthread ))
是在进程中活动的对象是在进程中活动的对象
每个线程都拥有每个线程都拥有
一个独立的程序计数器
进程栈进程栈
一组进程寄存器
Unix/linux操作系统分析课件USTB
Linux线程(thread )
内核调度的对象是线程,而不是进程
在传统的Unix系统中,一个进程只包含一个线程
现代的现代的UnixUnix系统中系统中,,一个进程包含多个线程个进程包含多个线程
LiLinux系统的线程实现非常特别系统的线程实现非常特别
对线程和进程并不特别区分
对Linux而言,线程只不过是一种特殊的进程
Unix/linux操作系统分析课件USTB
进程提供两种虚拟机制
在现代操作系统中,进程提供两种虚拟机制:
虚拟处理器
虚拟内存
虽然实际上可能是许多进程正在分享一个处理器,但虚拟处理
器给进程一种假象,让这些进程觉得自己在独享处理器(第4
章章))
虚拟内存让进程在分配和管理内存时觉得自己拥有整个系统的
所有内存资源所有内存资源 ((第第1212章章))
同一个进程中的线程之间可以共享虚拟内存,但每个都拥有各
自的虚拟处理器自的虚拟处理器
Unix/linux操作系统分析课件USTB
程序、进程和线程
程序本身并不是进程
进程是处于执行期的程序以及相关的资源的总称
两个或多个不同的进程,可能执行的是同一个程序
两个或两个以上并存的进程还可以共享许多诸如打开的文件、
地址空间之类的资源
Unix/linux操作系统分析课件USTB
进程创建:fork ()
进程在创建它的时刻开始存活,这通常是调用fork()系统调用的
结果结果,在现代在现代LiLinux内核中内核中,ffork()k()实际上是由实际上是由cllone()()系统调用系统调用
实现的
forkfork ()()系统调用通过复制系统调用通过复制一个现有进程来创建个现有进程来创建一个全新的进个全新的进
程。
调用调用fork()fork() 的进程称为的进程称为父进程父进程
新产生的进程称为子进程
在该调用结束时,在返回点这个相同位置上,父进程恢复执行,子进程
开始执行。
fork()系统
文档评论(0)