当前位置: 首页 > wzjs >正文

深圳公司做网站网站与app的本质区别

深圳公司做网站,网站与app的本质区别,内网建站工具,wordpress菜单插件内核级线程概述 上一讲我们学习了用户级线程,了解了其切换和创建方式。用户级线程切换核心在于从一个栈变为两个栈,每个线程有自己的栈和线程控制块(tcb),切换时先切换tcb再切换栈,创建时将切换的pc指针放…

内核级线程概述

上一讲我们学习了用户级线程,了解了其切换和创建方式。用户级线程切换核心在于从一个栈变为两个栈,每个线程有自己的栈和线程控制块(tcb),切换时先切换tcb再切换栈,创建时将切换的pc指针放入栈中并创建tcb

本讲聚焦内核级线程。进程切换本质上是切换内核级线程,因为进程在内核中运行,且进程分配资源、访问内存等操作需在内核态完成,用户态无法进行

核心级线程的优点

在这里插入图片描述

从多核角度来看,多核处理器中每个CPU有自己的缓存和内存管理单元(mmu),而多核共享同一个mmu。一套映射表对应多个执行序列符合线程特征,只有在内核中才能将线程分配到具体的物理设备(如CPU核)上,实现多核并行。用户级线程操作系统无法感知,不能分配硬件资源,多进程切换mmu开销大,无法充分发挥多核价值,所以核心级线程有其优势。

核心级线程与用户级线程的区别

在这里插入图片描述

用户级线程使用两个栈,而核心级线程使用两套栈,即每个线程要有自己的用户栈和内核栈。因为核心级线程需进入内核态,在用户态执行时用用户栈,进入内核态时需内核栈用于函数调用等操作。

内核栈相关原理

在这里插入图片描述

进入内核的唯一方式是中断,如int指令、鼠标键盘硬件中断、时钟中断等。中断发生时,硬件自动启用内核栈,并将用户态执行时的栈段寄存器ss、栈指针sp,以及代码段寄存器cs、指令指针ip等压入内核栈,通过指针将用户栈和内核栈关联起来。中断返回(iret)时,弹出寄存器内容,回到用户栈和用户态继续执行。

核心级线程切换示例

在这里插入图片描述

以函数调用为例,在用户栈执行时调用read库函数,会展开成int指令。执行int指令时,硬件做好相关操作,将控制权转移到内核栈。
在这里插入图片描述

在内核中执行启动磁盘读操作可能导致阻塞,进而引发调度。调度时找到下一个线程的tcb,通过“switch to”操作切换内核栈指针,完成内核栈切换。切换后执行iret指令,回到用户态继续执行线程的用户态代码。
在这里插入图片描述

切换五段论

在这里插入图片描述

  1. 中断中断是进入内核的开端,只有通过中断才能为切换做好准备,拉好相关链路
  2. 中断处理:在中断处理过程中,可能因阻塞等情况引发调度,如时钟中断可能引出切换,调度时需找到下一个要执行的tcb。
  3. 根据tcb切换内核栈:找到tcb后,通过“switch to”操作完成内核栈的切换
  4. 内核栈切换完成:完成内核栈切换后,为中断返回做准备。
  5. 中断返回:执行iret指令,完成用户栈和用户态执行地址的切换,回到用户态继续执行

线程创建相关

在这里插入图片描述

从ThreadCreate开始创建线程,调用get_free_page 函数。该函数负责申请内存空间创建tcb,以及创建内核栈和用户栈并关联栈和tcb等操作。同时,将执行地址等信息放入tcp中,设置线程状态为可运行(TASK_RUNNING),为线程执行做准备。

总结

在这里插入图片描述

本讲详细讲解了内核级线程,包括其与用户级线程的区别、切换原理及创建方式等。内核级线程切换涉及中断、tcb切换、内核栈切换和用户栈切换等多个环节,通过五段论进行梳理。创建内核级线程需申请内存、初始化栈和tcb等。理解这些内容对掌握操作系统中线程相关机制至关重要,后续课程将进一步剖析Linux 0.11中关于进程(与内核级线程密切相关)的代码。 同时对比了用户级线程和内核线程在利用多核性质、并发度、代价、内核改动、灵活性等方面的差异,强调两者在操作系统中都有价值。学完本部分内容,应能在不支持线程的操作系统上尝试实现支持用户级线程或核心级线程的代码,而这也是相关实验的目标,如在Linux 0.11上实现内核级线程,虽然难度较大,但对真正学会操作系统意义重大。


文章转载自:

http://MTfDUkIr.kdjtt.cn
http://P16tK0q9.kdjtt.cn
http://pMRtj66Y.kdjtt.cn
http://0Kgo4RMV.kdjtt.cn
http://X1vAUC8T.kdjtt.cn
http://7qFe9ULX.kdjtt.cn
http://t5gIukMx.kdjtt.cn
http://hiyqIhfC.kdjtt.cn
http://fSneQzOX.kdjtt.cn
http://ARg0WW8M.kdjtt.cn
http://S90jKair.kdjtt.cn
http://1xXoYFYJ.kdjtt.cn
http://ZCdm86Bk.kdjtt.cn
http://DlfxbN1N.kdjtt.cn
http://ogbMPy35.kdjtt.cn
http://eWtvW9OM.kdjtt.cn
http://dERmqucO.kdjtt.cn
http://qBNACjFo.kdjtt.cn
http://i9HeKXht.kdjtt.cn
http://m2kqFO33.kdjtt.cn
http://WjFQJK7T.kdjtt.cn
http://SIW4BgWU.kdjtt.cn
http://E7ZYeotb.kdjtt.cn
http://5lJlHfF0.kdjtt.cn
http://dpcj4SOn.kdjtt.cn
http://z0mb5ZSi.kdjtt.cn
http://AxIc2yvm.kdjtt.cn
http://jZGzxzdD.kdjtt.cn
http://Iftglt1A.kdjtt.cn
http://CuJEq7rK.kdjtt.cn
http://www.dtcms.com/wzjs/755204.html

相关文章:

  • 泰安商城网站开发设计网站解析记录值
  • 黄浦网站推广公司中小型网站建设与管理 唐军民
  • 低多边形网站梅州市城乡建设局网站
  • ps6做网站点哪里保存有没有可以看的网址
  • 长春网站建设找新生科技一键做单页网站
  • pc端网站开发总结关于珠海网站建设的优势
  • 科技网站哪个好制作一个工厂小程序收费
  • 站酷网下载网站优化快速排名软件
  • 智慧团建pc版官网优化大师专业版
  • sae 企业网站通州做网站
  • 组建一个网站网站整合营销
  • 网站图片尺寸大小wordpress主题 插件
  • 中邮通建设咨询有限公司官方网站长沙电商优化
  • 长沙 网站建设凡科网站建设平台好么
  • 网站推荐男生正能量2021seo排名软件价格
  • 手机网站搭建多少钱做外贸的人经常逛的网站
  • 彩票网站做一级代理犯法吗wordpress手机评论
  • 上门做网站公司哪家好郑州做网站推
  • 怎么做试玩平台推广网站淄博市建设档案馆网站
  • 上海建设工程造价信息网站广西企业网站建设
  • 四川建设人才考试网官方网站密云重庆网站建设
  • 线上推广宣传方式有哪些太原百度快速优化
  • 济南天桥区网站建设为什么网站权重会掉
  • 通州网站建设多少钱巫山那家做网站厉害
  • 播州区住房和城乡建设局网站网站cms识别
  • 百度站长论坛金融网站模板免费下载
  • 网站建站网站80s隐秘而伟大建网站过程
  • o2o平台都有哪些网站公司小程序公众平台官网
  • 自贡建设局网站建网站 免费
  • 江苏省建设考试信息管理系统网站深圳展览设计公司