码迷,mamicode.com
首页 >  
搜索关键字:内核栈    ( 62个结果
【学习&理解】基于TSS和基于内核栈两种机制的进程切换
在Linux0.11中,进程的切换是基于intel提供的TSS机制的,要从一个进程切换到别的进程,就是切换TSS这个结构。但是,这样的切换方式效率太低,所以后来Linux和Windows都改成采用基于内核栈来切换这种方式。由于TSS机制比较简单,所以大部分精力用于讲解基于内核栈机制。 以下的基于内核 ...
分类:系统相关   时间:2018-01-28 11:27:33    阅读次数:342
计算机基础理论知识梳理篇(二):目态(用户态)、管态(内核态)
当一个应用程序执行系统调用而陷入内核代码执行时,则处于内核态,此时CPU执行处于特权0级的内核代码,内核代码使用当前进程的内核栈(每个进程都有自己的内核栈)。 当一个应用程序执行自己的代码时,则处于用户态,此时CPU执行处于特权3级用户代码。 从目态转换为管态的唯一途径是中断, 从管态到目态可以通过... ...
分类:其他好文   时间:2017-12-09 14:51:31    阅读次数:282
存储模型(上)
进程地址空间: 可以看到进程分成内核地址空间和用户地址空间(可能这就为什么trap要涉及到内核栈与用户栈的切换) 地址重定位: 原因:在进程运行之前因为不知道进程地址空间到底放到什么地方,所以无法计算出物理地址,所以需要地址重定位 逻辑地址(相对地址): 用户程序经过编译,汇编后形成的目标代码,目标 ...
分类:其他好文   时间:2017-07-20 01:02:32    阅读次数:251
用户栈和内核栈
1. 操作系统中,每个进程会有两个栈,一个用户栈,存在于用户空间,一个内核栈,存在于内核空间。 2. 当进程在用户空间运行时,cpu堆栈指针寄存器里面的内容是用户堆栈地址,使用用户栈;当进程在内核空间时,cpu堆栈指针寄存器里面的内容是内核栈空间地址,使用内核栈。 3. 内核栈是内存中属于操作系统空 ...
分类:其他好文   时间:2017-07-14 23:07:15    阅读次数:205
Linux内核中的中断栈与内核栈的补充说明【转】
转自:http://blog.chinaunix.net/uid-12461657-id-3487463.html 原文地址:Linux内核中的中断栈与内核栈的补充说明 作者:MagicBoy2010 原文地址:Linux内核中的中断栈与内核栈的补充说明 作者:MagicBoy2010 中断栈与内核 ...
分类:系统相关   时间:2017-06-24 21:49:01    阅读次数:255
操作系统: 用户级线程和内核级线程
http://www.cnblogs.com/yxzfscg/p/4758728.html 三种线程——内核线程、轻量级进程、用户线程 内核线程 内核线程就是内核的分身,一个分身可以处理一件特定事情。这在处理异步事件如异步IO时特别有用。内核线程的使用是廉价的,唯一使用的资源就是内核栈和上下文切换时 ...
分类:编程语言   时间:2017-05-03 19:20:28    阅读次数:237
进程与线程
1. 切换页目录 2. 切换内核栈和硬件上下文 1. 不需要切换页目录,因为线程在同一个进程中,虚拟空间是相同的 2. 切换内核栈和硬件上下文 线程私有的东西:程序计数器pc、寄存器组、栈、私有数据TSD(如errno)。 ...
分类:编程语言   时间:2017-03-23 16:11:28    阅读次数:199
系统机制
当一个硬件异常或者终端产生的时候,处理器在被中断的线程的内核栈中记录下足够多的机器状态信 息,因而它可以回到控制流中该点出继续进行。如果线程在用户模式下执行,那么windows就切换到 该线程的内核模式栈,在被中断的线程的内核栈上创建一个陷阱帧,并且把线程的执行状态保存到陷 阱帧中。用dt nt!_ ...
分类:其他好文   时间:2017-01-03 18:58:02    阅读次数:174
内核态和用户态的区别
当一个任务(进程)执行系统调用而陷入内核代码中执行时,我们就称进程处于内核运行态(或简称为内核态)。此时处理器处于特权级最高的(0级)内核代码中执行。当进程处于内核态时,执行的内核代码会使用当前进程的内核栈。每个进程都有自己的内核栈。当进程在执行用户自己的代码时,则称其处于用户运行态(用户态)。即此 ...
分类:其他好文   时间:2016-12-27 09:59:43    阅读次数:228
linux内核情景分析之execve()
用来描述用户态的cpu寄存器在内核栈中保存情况.可以获取用户空间的信息struct pt_regs {long ebx; //可执行文件路径的指针(regs.ebx中long ecx; //命令行参数的指针(regs.ecx中)long edx; //环境变量的指针(regs.edx中)。long.... ...
分类:系统相关   时间:2016-10-27 12:24:47    阅读次数:571
62条   上一页 1 2 3 4 5 ... 7 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!