搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
x86汇编语言(编写64位多处理器多线程操作系统)
0.00     定价 ¥ 128.00
图书来源: 浙江图书馆(由浙江新华配书)
此书还可采购25本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787121479083
  • 作      者:
    作者:李忠//王晓波//李双圆|责编:缪晓红
  • 出 版 社 :
    电子工业出版社
  • 出版日期:
    2024-06-01
收藏
畅销推荐
内容介绍
编写一个简单的、简易的操作系统雏形,用来演示64位环境下的多处理器管理、动态内存分配、多处理器多任务的调度和切换、多处理器多线程的调度和切换、数据竞争和锁,但它不包括文件管理、设备管理等内容。本书主要聚焦与IA-32架构进行对比,介绍64位处理器的基本架构,包括寄存器的变化、指令集和工作模式的变化、系统表的变化、内存组织和内存访问模式的变化等等。
展开
目录
第1章 基本要求和相关说明
1.1 配书代码和工具
1.2 NASM的下载和安装
1.3 NASMIDE的下载和使用
1.4 下载和安装VirtualBox
1.5 使用FixVhdWr将程序写入虚拟硬盘
1.6 本书的代码组织
第2章 x64架构的基本执行环境
2.1 x64架构的由来
2.2 物理地址、有效地址和线性地址
2.3 x64架构的工作模式
2.3.1 x86处理器的工作模式
2.3.2 IA-32e模式及其子模式
2.4 x64架构的寄存器
2.4.1 x64架构对通用寄存器的扩展
2.4.2 x64架构的通用寄存器访问规则
2.5 x86处理器的物理地址空间
2.6 传统模式的内存访问
2.6.1 传统模式下的线性地址和物理地址
2.6.2 传统模式下的32位4KB分页技术
2.6.3 传统模式下如何利用超过4GB的物理内存
2.6.4 传统模式下的32位4MB分页技术
2.6.5 传统模式下的32位PAE分页技术
2.6.6 传统模式下的32位PAE-4KB分页技术
2.6.7 传统模式下的32位PAE-2MB分页技术
2.7 IA-32e模式的内存访问
2.7.1 x64架构的线性地址空间
2.7.2 扩高(Canonical)地址
2.7.3 扩高地址的特点和处理器检查
2.7.4 兼容模式的内存访问
2.7.5 64位模式的内存访问
2.7.6 x64架构的段寄存器
2.7.7 x64架构的代码段描述符
2.7.8 x64架构的数据段描述符
2.7.9 x64架构的4级和5级分页
2.8 x64架构的系统表和系统描述符
2.8.1 x64架构的GDTR
2.8.2 x64架构的IDTR
2.8.3 x64架构的LDT描述符和LDTR
2.8.4 x64架构的TSS描述符和TR
2.9 x64架构的标志寄存器和指令指针寄存器
2.10 x64架构的寻址方式
2.10.1 x64架构下传统模式的寻址方式
2.10.2 x64架构下IA-32e模式的寻址方式
2.10.3 64位模式的RIP相对寻址方式
2.10.4 64位模式下的指令变化情况
2.11 IA-32e模式下的中断和异常处理概述
第3章 进入IA-32e模式
3.1 如何进入IA-32e模式
3.2 本章代码清单
3.3 执行主引导程序
3.3.1 NASM的文件包含
3.3.2 主引导程序的说明
3.3.3 用BIOS硬盘扩展读加载内核加载器
3.3.4 通过数据段访问栈中的数据结构
3.3.5 读取内核加载器程序的剩余部分
3.3.6 转入内核加载器执行
3.4 执行内核加载器
3.4.1 检测处理器是否支持IA-32e模式
3.4.2 位测试指令BT
3.4.3 获取处理器的商标和地址尺寸
3.5 进入保护模式
3.6 加载内核程序
3.7 为进入IA-32e模式准备4级分页
3.7.1 2MB和1GB页面的4级分页方式
3.7.2 4级头表的格式
3.7.3 页目录指针项的格式
3.7.4 页目录项和页表项的格式
3.7.5 4级头表的创建和初始化
3.7.6 创建指向4级头表自身的4级头表项
3.7.7 准备映射物理内存的低端2MB空间
3.7.8 创建与低端2MB物理内存对应的分页系统表项
3.7.9 将物理内存低端的2MB映射到线性地址空间的高端
3.7.10 为多任务环境准备必要的4级头表项
3.7.11 为多任务环境预分配254个页目录指针表
3.7.12 进程上下文标识PCID
3.7.13 控制寄存器CR3的内容格式
3.7.14 设置控制寄存器CR3并开启物理地址扩展功能
3.7.15 型号专属寄存器IA32_EFER的设置和分页的开启
3.8 进入IA-32e的兼容模式执行
3.9 进入64位模式的内核执行
3.10 让内核工作在线性地址空间的高端
3.10.1 启用GDT和栈区的高端线性地址
3.10.2 使用RIP相对寻址方式计算内核的高端线性地址
3.10.3 让处理器转到内核程序对应的高端位置继续执行
3.11 初始化IA-32e模式下的中断系统
3.11.1 IA-32e模式下的中断门和陷阱门
3.11.2 IA-32e模式下的中断处理过程
3.11.3 通用的中断和异常处理策略
3.11.4 通用异常服务例程的工作过程
3.11.5 加载有效地址指令LEA
3.11.6 创建通用异常处理过程的中断门
3.11.7 安装通用异常处理过程的中断门
3.11.8 安装通用中断处理过程的中断门
3.11.9 初始化8259中断控制器
3.11.10 打印64位模式下的第一条信息
3.12 本章代码的编译和运行
第4章 单处理器环境下的多任务管理和调度
4.1 本章代码清单
4.2 初始化快速系统调用环境
4.2.1 快速系统调用的原理
4.2.2 为快速系统调用安装段描述符
4.2.3 为快速系统调用准备段选择子
4.2.4 设置快速系统调用的入口点
4.2.5 快速系统调用时的RFLAGS和栈切换
4.3 动态内存分配
4.3.1 内核空间的分配策略
4.3.2 内核可用线性地址的获取和更新
4.3.3 立即数在64位模式下的长度限制
4.3.4 计算本次内存分配涉及的线性地址范围
4.3.5 获取与指定线性地址对应的4级头表项的线性地址
4.3.6 页面分配与页
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证