处理器总处于以下状态中的一种:

1、内核态,运行于进程上下文,内核代表进程运行于内核空间;
2、内核态,运行于中断上下文,内核代表硬件运行于内核空间;
3、用户态,运行于用户空间;
一个进程的上下文可以分为三个部分:用户级上下文、寄存器上下文以及系统级上下文。
用户级上下文: 正文、数据、用户堆栈以及共享存储区;
寄存器上下文: 通用寄存器、程序寄存器(IP)、处理器状态寄存器(EFLAGS)、栈指针(ESP);
系统级上下文: 进程控制块task_struct、内存管理信息(mm_struct、vm_area_struct、pgd、pte)、内核栈。
当发生进程调度时,进行进程切换就是上下文切换(context switch).操作系统必须对上面提到的全部信息进行切换,新调度的进程才能运行。而系统调用进行的模式切换(mode switch)。模式切换与进程切换比较起来,容易很多,而且节省时间,因为模式切换最主要的任务只是切换进程寄存器上下文的切换。系统中的每一个进程都有自己的上下文。一个正在使用处理器运行的进程称为当前进程(current)。当前进程因时间片用完或者因等待某个事件而阻塞时,进程调度需要把处理器的使用权从当前进程交给另一个进程,这个过程叫做进程切换。此时,被调用进程成为当前进程。在进程切换时系统要把当前进程的上下文保存在指定的内存区域(该进程的任务状态段TSS中),然后把下一个使用处理器运行的进程的上下文设置成当前进程的上下文。当一个进程经过调度再次使用CPU运行时,系统要恢复该进程保存的上下文。所以,进程的切换也就是上下文切换。在系统内核为用户进程服务时,通常是进程通过系统调用执行内核代码,这时进程的执行状态由用户态转换为内核态。但是,此时内核的运行是为用户进程服务,也可以说内核在代替当前进程执行某种服务功能。在这种情况下,内核的运行仍是进程运行的一部分,所以说这时内核是运行在进程上下文中。内核运行在进程上下文中时可以访问和修改进程的系统数据。此外,若内核运行在进程上下文中需要等待资源和设备时,系统可以阻塞当前进程。
Linux下的线程实质上是轻量级进程(light weighted process),线程生成时会生成对应的进程控制结构,只是该结构与父线程的进程控制结构共享了同一个进程内存空间。 同时新线程的进程控制结构将从父线程(进程)处复制得到同样的进程信息,如打开文件列表和信号阻塞掩码等。创建线程比创建新进程成本低,因为新创建的线程使用的是当前进程的地址空间。相对于在进程之间切换,在线程之间进行切换所需的时间更少,因为后者不包括地址空间之间的切换。
线程切换上下文切换的原理与此类似,只是线程在同一地址空间中,不需要MMU等切换,只需要切换必要的CPU寄存器,因此,线程切换比进程切换快的多。
以上就是小编为大家带来的浅谈linux线程切换问题全部内容了,希望大家多多支持~
# linux
# 线程切换
# Java常见面试题之多线程和高并发详解
# linux线程间的同步与互斥知识点总结
# Linux之多线程以及多线程并发访问同一块内存的处理问题
# 运行于
# 自己的
# 的是
# 都有
# 不需要
# 可以说
# 所需
# 要把
# 仍是
# 与此
# 只需要
# 最主要
# 文件列表
# 相对于
# 浅谈
# 在这种情况下
# 不包括
# 转换为
# 用完
# 小编
相关文章:
如何做网站制作流程,*游戏网站怎么搭建?
潍坊网站制作公司有哪些,潍坊哪家招聘网站好?
如何获取PHP WAP自助建站系统源码?
建站之星安全性能如何?防护体系能否抵御黑客入侵?
宝塔面板创建网站无法访问?如何快速排查修复?
建站主机如何安装配置?新手必看操作指南
建站主机选购指南:核心配置与性价比推荐解析
宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?
如何在IIS中配置站点IP、端口及主机头?
建站之星安装路径如何正确选择及配置?
建站之星后台密码遗忘?如何快速找回?
青浦网站制作公司有哪些,苹果官网发货地是哪里?
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
如何注册花生壳免费域名并搭建个人网站?
建站之星如何快速更换网站模板?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?
如何用PHP工具快速搭建高效网站?
香港网站服务器数量如何影响SEO优化效果?
网站代码制作软件有哪些,如何生成自己网站的代码?
如何通过.red域名打造高辨识度品牌网站?
常州自助建站费用包含哪些项目?
北京制作网站的公司,北京铁路集团官方网站?
太平洋网站制作公司,网络用语太平洋是什么意思?
魔毅自助建站系统:模板定制与SEO优化一键生成指南
如何选择高效便捷的WAP商城建站系统?
如何高效配置香港服务器实现快速建站?
自助网站制作软件,个人如何自助建网站?
网站制作需要会哪些技术,建立一个网站要花费多少?
网站app免费制作软件,能免费看各大网站视频的手机app?
如何在局域网内绑定自建网站域名?
如何在万网主机上快速搭建网站?
如何选择服务器才能高效搭建专属网站?
浅谈Javascript中的Label语句
宝塔建站教程:一键部署配置流程与SEO优化实战指南
如何制作算命网站,怎么注册算命网站?
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
如何用花生壳三步快速搭建专属网站?
如何快速搭建响应式可视化网站?
建站之星如何配置系统实现高效建站?
上海网站制作网站建设公司,建筑电工证网上查询系统入口?
如何挑选优质建站一级代理提升网站排名?
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
微信小程序制作网站有哪些,微信小程序需要做网站吗?
专业网站建设制作报价,网页设计制作要考什么证?
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成
如何用y主机助手快速搭建网站?
如何用wdcp快速搭建高效网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。