码迷,mamicode.com
首页 >  
搜索关键字:堆栈切换    ( 9个结果
操作系统的中断、异常和系统调用
操作系统的中断、异常和系统调用 中断 硬件 设置中断标记【CPU初始化】 将内部、外部事件设置中断标记 中断事件的ID 软件 保存当前处理状态 中断服务程序处理 清除中断标记 恢复之前保存的处理状态 异常 异常编号 保存现场 异常处理 杀死产生异常程序 重新执行异常指令 恢复现场 系统调用 应用程序 ...
分类:其他好文   时间:2020-06-24 17:46:02    阅读次数:64
结合中断上下文切换和进程上下文切换分析Linux内核的一般执行过程
一、fork进程分析 1.1理论分析 什么是fork:fork系统调用用于创建一个新进程,称为子进程,它与进程(称为系统调用fork的进程)同时运行,此进程称为父进程。创建新的子进程后,两个进程将执行fork()系统调用之后的下一条指令。子进程使用相同的pc(程序计数器),相同的CPU寄存器,在父进 ...
分类:系统相关   时间:2020-06-15 20:56:25    阅读次数:53
进程调度
在Intel i386 CPU中,提供了TSS与TR用于任务切换,但是Linux出于效率的考虑自己实现了任务切换。但Linux内核还是使用了TSS,用于完成系统堆栈空间的自动切换(从用户空间进入系统空间时的堆栈切换)。 进程调度与切换 三种不同应用的需求:交互式,批处理,实时 调度政策:内核为系统中 ...
分类:系统相关   时间:2020-04-30 17:25:02    阅读次数:79
理解中断
一. 三种中断 1. 外中断 2. 异常 3. 系统调用 二 . 比较三种中断 三. 外中断 中断使能标志 -> CPU处理中断(CPU初始化时设置)中断向量表 -> 中断源编号中断嵌套 四. 系统调用和库函数调用 系统调用 int 和 iret 存在堆栈切换函数调用 call 和 ret 没有堆栈 ...
分类:其他好文   时间:2018-11-18 13:35:34    阅读次数:194
系统调用和函数调用的区别
系统调用 操作系统服务的编程接口 通常由高级语言编写(C或C++) 程序访问通常通过高层次 的API接口(C标准库的库函数)而不是直接进行系统调用 每个系统调用对应一个系统调用编号 系统调用与函数调用的区别 系统调用 1.使用INT和IRET指令,内核和应用程序使用的是不同的堆栈,因此存在堆栈的切换 ...
分类:其他好文   时间:2018-09-23 15:11:58    阅读次数:148
通过调用门进行控制转移 ——《x86汇编语言:从实模式到保护模式》读书笔记29
通过调用门进行控制转移 1.关于堆栈切换 2.通过调用门进行控制转移和返回的具体过程...
分类:编程语言   时间:2016-05-12 15:29:04    阅读次数:290
基于JOS 80x86 的堆栈切换简要分析
基于JOS 80x86 的堆栈切换简要分析 这个问题一直困扰很久,发现还是有点粗心,源头--堆栈初始化没怎么搞明白. 这里首先强调,一定一定要搞清楚分段和分页保护的机制. 现有分段,后有分页,分页可有可无,看寄存器cr0是否开启PE位(page enable. 在JOS系统的boot.S里就已经开启了) 文章从三个方面对栈进行分析 0. GDT 全局段寻址描述表...
分类:其他好文   时间:2015-04-25 16:43:59    阅读次数:207
linux-0.11内核 任务的堆栈切换
一直缠绕的两个问题:怎样标识的内核栈与用户栈?如何在内核态堆栈与用户态堆栈之间切换? 用户态堆栈指针:ss和esp; 内核态堆栈指针:ss0和esp0; 二者均位于任务的tss结构中。这里的任务是指除任务0和1之外的普通任务。 CPU进行用户态堆栈到内核态堆栈的切换操作时,CPU会从当前任务的任务状...
分类:系统相关   时间:2014-10-10 23:09:25    阅读次数:252
linux-0.11内核 任务的堆栈切换
http://blog.163.com/di_yang@yeah/blog/static/86118492201212534924900/一直缠绕的两个问题:怎样标识的内核栈与用户栈?如何在内核态堆栈与用户态堆栈之间切换?用户态堆栈指针:ss和esp;内核态堆栈指针:ss0和esp0;二者均位于任务...
分类:系统相关   时间:2014-09-22 10:32:22    阅读次数:229
9条  
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!