- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章_进程和线程
第2章 进程管理;本章内容提要;2.1 进程概念;2.1.2程序并发执行及其特征;▲多道技术下作业执行过程
;■程序并发执行的特征
① 失去封闭性
② 程序与计算不再一一对应
③ 并发程序在执行期间相互制约;2.1.3 进程概念的引入和定义;★生活中事例——按菜谱做菜
●进程和程序的区别
动态性 并发性 非对应性 异步性
;■进程特征
(1)动态性
(2)并发性
(3)调度性
(4)异步性
(5)结构性 ;2.2 进程状态描述及组织方式; 进程的5种状态及其转换;■进程状态的转换
(1)就绪→运行
(2)运行→阻塞
(3)阻塞→就绪
(4)运行→就绪;2.2.2 进程的组成 ; 进程描述;3.进程控制块的作用
每个进程有惟一的进程控制块
操作系统根据PCB对进程实施控制和管理
进程的动态、并发等特征是利用PCB表现出来的
PCB是进程存在的唯一标识 ;2.2.3 进程组织方式; 进程队列; PCB索引结构示意图;2.3 进程管理和有关命令;■进程创建
引发创建进程的事件:
▲调度新作业 ▲用户登录
▲操作系统提供特定服务 ▲派生新进程
●创建新进程时要执行创建进程的系统调用(如UNIX/Linux系统中的fork)
●其主要操作过程有如下四步:
(1)申请一个空闲的PCB
(2)为新进程分配资源
(3)将新进程的PCB初始化
(4)将新进程加到就绪队列中
;#include unistd.h
#include sys/types.h
#include stdio.h
int main(int argc,char *argv[])
{
int pid;
pid = fork(); /* fork another process */
if (pid 0) { /* error occurred */
fprintf(stderr, Fork Failed);
exit(-1);
}
else if (pid == 0) { /* child process */
execlp( /bin/ls, ls,NULL);
}
else { /* parent process */
wait(NULL); /* parent will wait for the child to complete */
printf( Child Complete );
exit(0);
}
};■进程终止
●导致进程终止的三种情况:
正常终止 异常终止 外部干扰
●终止进程的主要操作过程如下:
找到指定进程的PCB,终止该进程的运行
回收该进程所占用的全部资源
终止其所有子孙进程,回收它们所占用的全部资源。
将被终止进程的PCB从原来队列中摘走;■进程阻塞
进程阻塞的过程如下:
立即停止当前进程的执行
现行进程的CPU现场保存
现行状态由“运行”改为“阻塞”
转到进程调度程序;■进程唤醒
唤醒原语执行过程如下:
把阻塞进程从相应的阻塞队列中摘下
将现行状态改为就绪状态,然后把该进程插入就绪队列中
如果被唤醒的进程比当前运行进程的优先级更高,则设置重新调度标志
;■进程映像的更换
改变进程映像的工作很复杂,其主要过程是:
释放子进程原来的程序和数据所占用的内存空间;
从磁盘上找出子进程所要执行的程序和数据(通常以可执行文件的形式存放);
分配内存空间,装入新的程序和数据;
为子进程建立初始的运行环境——主要是对各个寄存器初始化,返回到用户态,运行该进程的程序。
;2.3.2 Linux进程管理;■进程的模式和类型
;■ Linux进程结构
●task_struct结构
Linux系统中的每个进程都有一个名为task_struct的数据结构,它相当于“进程控制块”。
task_str
您可能关注的文档
最近下载
- 山东省泰安市2025届高三四模检测(泰安四模)英语试题及答案.docx VIP
- 2024-2025学年深圳中学初中部七年级入学分班考试数学试卷附答案解析.pdf
- GB50424-2015 油气输送管道穿越工程施工规范.docx VIP
- (2025秋新版)人教版三年级数学上册全册教案.docx
- 采矿工程毕业设计论文-麦地掌煤矿150万吨矿井初步设计.doc VIP
- 德隆煤矿90万吨初步设计.doc VIP
- 2025年山东黄金集团井下技能工人招聘(2000人)考试备考题库及答案解析.docx VIP
- 直肠癌手术编码.pptx VIP
- 2025秋统编版(2024)道德与法治一年级上册教学设计(全册) .pdf
- Unlock2 Unit4 第一篇听力讲解及答案.pptx VIP
文档评论(0)