操作系统(李治军) L10用户级线程
发布日期:2021-07-01 02:20:54 浏览次数:2 分类:技术文章

本文共 313 字,大约阅读时间需要 1 分钟。

进程更大,线程更小在这里插入图片描述

进程切换=指令切换+资源(内存)(映射表)切换【分治思想】
线程切换:避免了进程切换代价:不需要切换资源(映射表)
在这里插入图片描述
这是多个线程
这是因为进程的地址是分离的,所以是线程
在这里插入图片描述
buffer[1000]是缓冲区
Yield()函数实现交替执行
启动多个线程,同时出发,交替执行从而使CPU的利用率增加
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

利用两个栈实现切换
调用B()的时候把104压入栈,在B()函数返回时出栈
在调用Yield()的时候204压入栈,在Yield()函数返回时出栈
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
web等待网卡IO时会使用硬件,那么就会使用内核,
如果此时在内核中阻塞了以后就会导致CPU切换到另外一个进程,然后web用户级线程全部卡了,
在这里插入图片描述
核心级线程并发性更好

转载地址:https://mapengsen.blog.csdn.net/article/details/104805529 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:操作系统原理与实践-1熟悉实验环境
下一篇:操作系统(李治军) L9多进程图像-操作系统最重要的图像

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月07日 06时53分51秒