- 博客(5)
- 资源 (1)
- 收藏
- 关注
原创 Linux引导初始化--代码搬移过程
Bootsect过程应用程序通过int 0x80中断将CPU从用户态USER切换到核心态KERNEL。Linux内核由内存管理模块、进程调度模块、文件系统模块、进程间通信模块和网络接口模块构成。boot目录下三个汇编程序,其中bootsect.s和setup.s使用的是Intel格式的汇编语言编写,编译器需...
2019-02-28 23:16:24 290
原创 中断和异常
中断常用于处理CPU外部的异步事件,异常则是处理CPU在执行过程中检测到的问题。外部中断源有两类,一类是由CPU中断引脚INTR输入的可屏蔽中断另一类是NMI引脚输入的不可屏蔽中断。异常也有两类,一类是由CPU检测到的出错、陷阱或放弃事件,另一类是编程设置的软中断比如int 3.中断和异常编号 NMI引脚输入的不可屏蔽中断 0-31 INTR输入的可屏蔽中断 32-...
2019-02-26 23:33:29 268
原创 Linux多任务相关的TR寄存器和TSS任务状态段数据结构
TR寄存器和TSS任务状态段数据结构可以帮助Linux操作系统快速的完成任务切换并保存原有任务的内容,具体的过程分析如下: 任务状态段TSS先来看下任务状态段TSS的结构:如上图所示:整个TSS可分成两类:> 只读静态字段集(图中灰色部分)>每次任务切换时处理器将...
2019-02-24 21:51:00 1290
原创 80386 内存寻址机制
本文主要介绍80386在保护模式下,将分段形式的逻辑地址段选择符:偏移地址(ES:BX)转换成实际的物理内存地址的过程。整个转换分成两个阶段:段转换(逻辑地址转换成线性地址)和页转换(线性地址转换成实际物理地址)。 段转换如上图所示,描述符表是操作系统初始化时,在内存区域创建...
2019-02-24 14:43:55 1232
原创 80386 CPU资源
一、通用寄存器EAX、EBX、ECX、EDX、EBP、ESP、ESI和EDI 8个32位的通用寄存器。通用寄存器结构 AH AL BH BL CH CL DH DL SI ...
2019-02-23 22:09:08 551
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人