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

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

在这里插入图片描述

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

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

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

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

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

在这里插入图片描述

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

你可能感兴趣的文章
mysql创建数据库指定字符集
查看>>
MySql创建数据表
查看>>
MySQL创建新用户以及ERROR 1396 (HY000)问题解决
查看>>
MySQL创建用户与授权
查看>>
MySQL创建用户报错:ERROR 1396 (HY000): Operation CREATE USER failed for 'slave'@'%'
查看>>
MySQL创建索引时提示“Specified key was too long; max key length is 767 bytes”
查看>>
mysql初始密码错误问题
查看>>
MySQL删除数据几种情况以及是否释放磁盘空间【转】
查看>>
Mysql删除重复数据通用SQL
查看>>
mysql判断某一张表是否存在的sql语句以及方法
查看>>
mysql加入安装策略_一键安装mysql5.7及密码策略修改方法
查看>>
mysql加强(1)~用户权限介绍、分别使用客户端工具和命令来创建用户和分配权限
查看>>
mysql加强(3)~分组(统计)查询
查看>>
mysql加强(4)~多表查询:笛卡尔积、消除笛卡尔积操作(等值、非等值连接),内连接(隐式连接、显示连接)、外连接、自连接
查看>>
mysql加强(5)~DML 增删改操作和 DQL 查询操作
查看>>
mysql加强(6)~子查询简单介绍、子查询分类
查看>>
mysql加强(7)~事务、事务并发、解决事务并发的方法
查看>>
MySQL千万级多表关联SQL语句调优
查看>>
mysql千万级大数据SQL查询优化
查看>>
MySQL千万级大表优化策略
查看>>