李治军课程------第三天多进程图像

一、宏观模型

             给CPU地址,CPU去内存中找到对应的数据。每种指令的效率不同(CPU操作比IO操作快1百万倍)为了提高CPU使用率,引入了多进程概念。进程间的切换可以用PC指针来操作,但是还需要PCB(数据结构)来记录切换时进程的状态。

二、组织管理进程,分配资源

             进程的五种状态:新建,就绪,阻塞,运行,终止。每个进程都有自己的状态,CPU利用PCB让进程在不同的状态队列间转化执行。那么其中最为关键的就是不同进程间怎么切换(需要标记每个进程的状态,从就绪队列中找到一个进程执行,再具体切换)。

如何从就绪队列中找到一个就绪进程(先来先服务);以及在切换时,因为进程都在内存中,内存不能冲突(映射表);合理切换进程(死锁)就成了问题的关键。

三、进程切换

1、用户线程切换

进程 = 资源 + 指令序列
线程 的资源是共享(内存)的
进程 间的资源是分隔独立的,内存映射表不同,占用物理内存地址是分隔的

线程 只切换指令序列

用户级线程:调用Yield函数,自己主动让出cpu。

如果是两个执行序列与一个栈,不能正确工作(弹栈的时候会从一个执行序列去到另一个执行序列)。

那么两个执行序列与两个栈,两个TCB(数据结构,来记录栈的信息,切换栈时找到栈的位置)就可以准确的进行线程切换。

问题:用户级线程与内核级线程的区别?它们的并发性的区别?


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值