博客
关于我
操作系统内核级线程
阅读量:663 次
发布时间:2019-03-15

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

在这里插入图片描述

为了充分应用多核的CPU,应该使用内核级的线程。可以给每个CPU并行使用内核线程,在用户级线程的时候,操作系统无法感知,所以用户级线程同一时间只能使用一个核心。

内核级线程维护着两套栈,一套用户栈,一套内核栈。int指令触发的时候,发生中断,硬件里有写入内核栈的指令,此时触发内核栈,进行切换。并且内核栈也会连上用户栈,形成一套栈。
在这里插入图片描述
在这里插入图片描述

A调用B,B进行read,然后读取到中断,中断的时候,read内核调用,使用到硬件写入的内容,用户栈和内核站进行了关联,然后再内核中执行,执行的时候会磁盘读写,这时候就会阻塞了,会调度让其他的线程工作。找到TCB,去完成内核栈的切换,内核的切换之后,在使用iret,去直接切换到用户栈中。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

进程的切换还会加上映射表

在这里插入图片描述

转载地址:http://uqamz.baihongyu.com/

你可能感兴趣的文章
mysql远程连接设置
查看>>
MySql连接出现1251Client does not support authentication protocol requested by server解决方法
查看>>
Mysql连接时报时区错误
查看>>
MySql连接时提示:unknown Mysql server host
查看>>
MySQL连环炮,你扛得住嘛?
查看>>
mysql逗号分隔的字符串如何搜索
查看>>
MySQL通用优化手册
查看>>
Mysql通过data文件恢复
查看>>
MYSQL遇到Deadlock found when trying to get lock,解决方案
查看>>
MYSQL遇到Deadlock found when trying to get lock,解决方案
查看>>
mysql部署错误
查看>>
MySQL配置信息解读(my.cnf)
查看>>
Mysql配置文件my.ini详解
查看>>
MySQL配置文件深度解析:10个关键参数及优化技巧---强烈要求的福利来咯。
查看>>
Mysql配置表名忽略大小写(SpringBoot连接表时提示不存在,实际是存在的)
查看>>
mysql配置读写分离并在若依框架使用读写分离
查看>>
MySQL里为什么会建议不要使用SELECT *?
查看>>
MySQL里的那些日志们
查看>>
mysql重新安装?忘记root密码?重装Windows、Linux系统导致mysql没法用吗? 这里有你想要的答案
查看>>
mysql重置root密码
查看>>