在好例子网,分享、交流、成长!
您当前所在位置:首页C/C++ 开发实例Windows系统编程 → Bochs项目源码分析与注释.pdf

Bochs项目源码分析与注释.pdf

Windows系统编程

下载此实例
  • 开发语言:C/C++
  • 实例大小:2.22M
  • 下载次数:22
  • 浏览次数:302
  • 发布时间:2021-01-25
  • 实例类别:Windows系统编程
  • 发 布 人:wanghua131
  • 文件格式:.pdf
  • 所需积分:2
 相关标签: 分析 注释 OC 项目 源码

实例介绍

【实例简介】

开源虚拟机源码分析

【实例截图】

from clipboard

【核心代码】

Table of Content
Chapter 1 x86 体系结构与 PC 系统概要 .....................................1
1.1 x86 CPU 结构...............................................................................................................1
1.1.1 冯诺依曼架构和 CISC 指令集......................................................................1
1.1.2 CPU 结构........................................................................................................1
1.1.3 CPU 工作模式................................................................................................2
1.2 x86 体系结构概览........................................................................................................3
1.3 PC 系统.........................................................................................................................5
1.3.1 PC 系统概述...................................................................................................5
2.3.2 总线拓扑.........................................................................................................6
2.3.3 存储器与 I/O 编址 .........................................................................................6
2.3.4 关于系统的启动与引导.................................................................................8
Chapter 2 Bochs 工程概述....................................................... 11
2.1 开源项目 Bochs 介绍.................................................................................................11
2.2 版本 2.2.1 源码组织..................................................................................................11
2.3 工程类结构.................................................................................................................12
2.4 主体框架结构分析.....................................................................................................13
2.4.1 Bochs 工程中的重要类................................................................................13
(1) VM 控制台界面类 .............................................................................................13
(2) CPU 模拟............................................................................................................14
(3) Memory 模拟......................................................................................................14
(4).I/O device 模拟...................................................................................................15
2.4.2 入口函数 main()及 Win32 Gui 初始化........................................................15
2.5 Bochs 的工作方式......................................................................................................18
Chapter 3 CPU 类的源码分析 ...................................................20
3.1 CPU 类概述................................................................................................................20
3.1.1 CPU 逻辑结构框图......................................................................................20
3.1.2 类 BX_CPU_C 成员归纳.............................................................................20
3.2 类 BX_CPU_C 源码分析..........................................................................................21
3.2.1 CPU 特性声明..............................................................................................21
3.2.2 类 bxInstruction_c 成员分析........................................................................22
3.2.3 类 BX_CPU_C 源码注释.............................................................................22
3.3 通用寄存器.................................................................................................................29
3.3.1 数据结构与注释...........................................................................................29
3.3.2 通用寄存器归纳...........................................................................................30
3.4 段寄存器、全局寄存器 GDI 和 IDT ........................................................................31
3.4.1 数据结构与注释...........................................................................................31
3.4.2 段寄存器结构分析.......................................................................................33
3.5 CPU 状态字 EFLAGS................................................................................................35
3.5.1 数据结构与注释...........................................................................................35 
Bochs 项目源码分析与注释 MAY 2006
Understanding the source code of bochs
3.5.2 源码分析.......................................................................................................39
3.6 函数 CPU_LOOP()结构分析.....................................................................................40
3.6.1 CPU_LOOP()函数总体结构........................................................................40
3.6.2 函数 CPU_LOOP()源码注释.......................................................................41
3.7 函数 handleAsyncEvent()分析...................................................................................44
3.7.1 函数 handleAsyncEvent()知识准备.............................................................44
3.7.2 函数 handleAsyncEvent()结构分析.............................................................46
3.7.3 函数 handleAsyncEvent()源码注释.............................................................47
3.8 取指与执行.................................................................................................................50
3.8.1 Intel IA-32 指令结构....................................................................................50
3.8.2 类 bxInstruction_c 的数据成员....................................................................53
3.8.3 取指译码函数 FetchDecode()分析 ..............................................................55
3.8.4 模拟指令的执行...........................................................................................59
Chapter 4 CPU 中断处理任务管理............................................60
4.1 IA-32 体系结构中断知识准备 ..................................................................................60
4.1.1 中断和异常概述...........................................................................................60
4.1.2 异常和中断向量...........................................................................................60
4.1.3 中断和异常来源...........................................................................................61
4.1.4 与中断处理相关的数据结构.......................................................................62
4.1.5 异常和中断的处理方法...............................................................................64
4.2 Bochs 对中断的模拟..................................................................................................68
4.2.1 概述...............................................................................................................68
4.2.2 主要函数的源码注释...................................................................................69
4.3 虚拟机的任务管理.....................................................................................................82
4.3.1 IA-32 任务管理知识准备 ...........................................................................82
4.3.2 函数 task_switch()源码注释 ........................................................................89
Chapter 5 存储器源码分析........................................................104
5.1 IA-32 体系的存储器结构 ........................................................................................104
5.2 Bochs 对存储器的模拟............................................................................................105
5.3 存储器类 BX_MEM_C 部分源码分析...................................................................107
5.3.1 相关数据结构与类定义.............................................................................107
5.3.2 相关函数分析.............................................................................................108
5.3 模拟分页机制...........................................................................................................115
5.3.1 分页 (Paging)概述.....................................................................................115
5.3.2 页目录与页表.............................................................................................116
5.3.3 线形地址转换.............................................................................................117
5.3.4 实现分页机制的源码分析.........................................................................120
Chapter 6 系统板与外设模拟 ..................................................136
6.1 Bochs 系统板描述类 bx_pc_system_c ...................................................................136
6.1.1 类 bx_pc_system_c 功能概述 ....................................................................136
6.1.2 PC system 定时器管理...............................................................................136 
Bochs 项目源码分析与注释 MAY 2006
Understanding the source code of bochs
6.1.3 类 bx_pc_system_c 源码分析与注释 ........................................................138
6.2 设备集合类 bx_devices_c........................................................................................146
6.2.1 类 bx_devices_c 成员变量分析.................................................................146
6.2.2 类 bx_devices_c 成员函数分析与注释 .....................................................149
6.2.3 设备的初始化.............................................................................................150
6.2.4 设备复位.....................................................................................................154
6.2.5 设备访问(读写)的处理.........................................................................155
6.2.6 已注册的 I/O handlers 和 IRQ 清单 ..........................................................159
6.3 定时器(PIT)类分析.............................................................................................166
6.3.1 类 bx_pit_c 概述.........................................................................................166
6.3.2 类 bx_pit_c 源码注释.................................................................................166
6.3.3 关于类 bx_virt_timer_c ..............................................................................173
6.4 IDE 设备...................................................................................................................173
6.4.1 磁盘控制器 controller_t .............................................................................173
6.4.2 IDE 驱动器描述类 bx_hard_drive_c .........................................................174
6.4.3 读写磁盘映象.............................................................................................175
6.4.4 ATA/IDE 控制器(通道)和设备初始化.................................................176
6.4.5 ATA 控制器的寄存器读写 ........................................................................184
6.4.6 CD ROM 设备............................................................................................193
6.5 PCI 子系统 ...............................................................................................................203
6.5.1 PCI 概述 .....................................................................................................203
6.5.2 PCI 主桥描述类 bx_pci_c 分析.................................................................209
6.6 VGA 设备模拟.........................................................................................................215
6.6.1 模拟 VGA 的类..........................................................................................215
6.6.2 VGA 在 svga_timer 中的更新 ...................................................................216
Appendix ...................................................................................217
Appendix A.Bochs 配置文本说明 ....................................................................................217
Appendix B.ATA 和 ATAPI 编程介绍.............................................................................225
Appendix C.Sound Blaster 16 编程...................................................................................230
Appendix D.VESA 编程介绍............................................................................................240
Appendix E.Bochs 上运行的操作系统示范.....................................................................261 

实例下载地址

Bochs项目源码分析与注释.pdf

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警