图书介绍

一个64位操作系统的设计与实现PDF|Epub|txt|kindle电子书版本网盘下载

一个64位操作系统的设计与实现
  • 田宇著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115475251
  • 出版时间:2018
  • 标注页数:682页
  • 文件大小:90MB
  • 文件页数:691页
  • 主题词:Linux操作系统

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

一个64位操作系统的设计与实现PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一部分 操作系统相关知识介绍及环境搭建4

第1章 操作系统概述4

1.1 什么是操作系统4

1.2 操作系统的组成结构4

1.3 编写操作系统需要的知识7

1.4 本书操作系统简介8

第2章 环境搭建及基础知识9

2.1 虚拟机及开发系统平台介绍9

2.1.1 VMware的安装9

2.1.2 编译环境CentOS 610

2.1.3 Bochs虚拟机11

2.2 汇编语言14

2.2.1 AT&T汇编语言格式与Intel汇编语言格式14

2.2.2 NASM编译器16

2.2.3 使用汇编语言调用C语言的函数16

2.3 C语言19

2.3.1 GNU C内嵌汇编语言20

2.3.2 GNU C语言对标准C语言的扩展23

第二部分 初级篇30

第3章 BootLoader引导启动程序30

3.1 Boot引导程序30

3.1.1 BIOS引导原理31

3.1.2 写一个Boot引导程序32

3.1.3 创建虚拟软盘镜像文件36

3.1.4 在Bochs上运行我们的Boot程序38

3.1.5 加载Loader到内存40

3.1.6 从Boot跳转到Loader程序52

3.2 Loader引导加载程序54

3.2.1 Loader原理54

3.2.2 写一个Loader程序55

3.2.3 从实模式进入保护模式再到IA-32e模式65

3.2.4 从Loader跳转到内核程序75

第4章 内核层78

4.1 内核执行头程序78

4.1.1 什么是内核执行头程序78

4.1.2 写一个内核执行头程序79

4.2 内核主程序83

4.3 屏幕显示85

4.3.1 在屏幕上显示色彩86

4.3.2 在屏幕上显示log88

4.4 系统异常100

4.4.1 异常的分类101

4.4.2 系统异常处理(一)102

4.4.3 系统异常处理(二)109

4.5 初级内存管理单元121

4.5.1 获得物理内存信息121

4.5.2 计算可用物理内存页数123

4.5.3 分配可用物理内存页126

4.6 中断处理142

4.6.1 8259A PIC142

4.6.2 触发中断148

4.7 键盘驱动152

4.7.1 简述键盘功能152

4.7.2 实现键盘中断捕获函数154

4.8 进程管理155

4.8.1 简述进程管理模块155

4.8.2 PCB156

4.8.3 init进程163

第5章 应用层171

5.1 跳转到应用层171

5.2 实现系统调用API180

5.3 实现一个系统调用处理函数185

第三部分 高级篇190

第6章 处理器体系结构190

6.1 基础功能与新特性190

6.1.1 运行模式190

6.1.2 通用寄存器191

6.1.3 CPUID指令192

6.1.4 标志寄存器EFLAGS193

6.1.5 控制寄存器195

6.1.6 MSR寄存器组199

6.2 地址空间199

6.2.1 虚拟地址200

6.2.2 物理地址200

6.3 实模式200

6.3.1 实模式概述201

6.3.2 实模式的段寻址方式201

6.3.3 实模式的中断向量表201

6.4 保护模式202

6.4.1 保护模式概述202

6.4.2 保护模式的段管理机制206

6.4.3 保护模式的中断/异常处理机制214

6.4.4 保护模式的页管理机制217

6.4.5 保护模式的地址转换过程224

6.5 IA-32e模式226

6.5.1 IA-32e模式概述226

6.5.2 IA-32e模式的段管理机制228

6.5.3 IA-32e模式的中断/异常处理机制234

6.5.4 IA-32e模式的页管理机制234

6.5.5 IA-32e模式的地址转换过程237

第7章 完善BootLoader功能238

7.1 实模式的寻址瓶颈238

7.1.1 错综复杂的1MB物理地址空间238

7.1.2 突破1MB物理内存瓶颈239

7.1.3 实模式下的4GB线性地址寻址240

7.2 获取物理地址空间信息240

7.3 操作系统引导加载阶段的内存空间划分242

7.4 U盘启动244

7.4.1 USB-FDD、USB-ZIP和USB-HDD启动模式的简介244

7.4.2 将Boot引导程序移植到U盘中启动251

7.5 在物理平台上启动操作系统255

7.6 细说VBE功能的实现261

7.6.1 VBE规范概述261

7.6.2 获取物理平台的VBE相关信息272

7.6.3 设置显示模式279

第8章 内核主程序282

8.1 内核主程序功能概述282

8.2 操作系统的Makefile编译脚本282

8.3 操作系统的kernel.lds链接脚本286

8.4 操作系统的线性地址空间划分289

8.5 获得处理器的固件信息290

第9章 高级内存管理单元297

9.1 SLAB内存池297

9.1.1 SLAB内存池概述及相关结构体定义298

9.1.2 SLAB内存池的创建与销毁299

9.1.3 SLAB内存池中对象的分配与回收302

9.2 基于SLAB内存池技术的通用内存管理单元308

9.2.1 通用内存管理单元的初始化函数slab_init308

9.2.2 通用内存的分配函数kmalloc312

9.2.3 通用内存的回收函数kfree317

9.3 调整物理页管理功能321

9.3.1 内存管理单元结构及相关函数调整321

9.3.2 调整alloc_pages函数323

9.3.3 创建free_pages函数327

9.4 页表初始化330

9.4.1 页表重新初始化331

9.4.2 VBE帧缓存区地址重映射334

第10章 高级中断处理单元337

10.1 APIC概述337

10.2 Local APIC338

10.2.1 Local APIC的基础信息338

10.2.2 Local APIC整体结构及各功能描述344

10.3 I/O APIC352

10.3.1 I/O APIC控制器的基础信息353

10.3.2 I/O APIC整体结构及各引脚功能356

10.4 中断控制器的模式选择与初始化358

10.4.1 中断模式359

10.4.2 Local APIC控制器的初始化362

10.4.3 I/O APIC控制器的初始化368

10.5 高级中断处理功能375

10.5.1 Linux的中断处理机制概述375

10.5.2 实现中断上半部处理功能377

第11章 设备驱动程序382

11.1 键盘和鼠标驱动程序382

11.1.1 键盘和鼠标控制器382

11.1.2 完善键盘驱动389

11.1.3 实现鼠标驱动398

11.2 硬盘驱动程序403

11.2.1 硬盘设备初探403

11.2.2 完善硬盘驱动程序418

第12章 进程管理428

12.1 进程管理单元功能概述428

12.2 多核处理器429

12.2.1 超线程技术与多核技术概述429

12.2.2 多核处理器间的IPI通信机制介绍434

12.2.3 让我们的系统支持多核437

12.3 进程调度器464

12.3.1 Linux进程调度器简介465

12.3.2 墙上时钟与定时器468

12.3.3 内核定时器479

12.3.4 实现进程调度功能486

12.4 内核同步方法498

12.4.1 原子变量498

12.4.2 信号量499

12.4.3 完善自旋锁501

12.5 完善进程管理单元503

12.5.1 完善PCB与处理器运行环境503

12.5.2 完善进程调度器和AP处理器引导程序508

12.5.3 关于线程514

第13章 文件系统516

13.1 文件系统概述516

13.2 解析FAT32文件系统517

13.2.1 FAT32文件系统简介517

13.2.2 通过实例深入解析FAT32文件系统523

13.2.3 实现基于路径名的文件系统检索功能532

13.3 虚拟文件系统552

13.3.1 Linux VFS简介552

13.3.2 实现VFS554

第14章 系统调用API库566

14.1 系统调用API结构566

14.2 基于POSIX规范实现系统调用API库567

14.2.1 POSIX规范下的系统调用API简介567

14.2.2 升级系统调用模块568

14.2.3 基础文件操作的系统调用API实现574

14.2.4 进程创建的系统调用API实现599

14.2.5 内存管理的基础系统调用API实现618

第15章 Shell命令解析器及命令626

15.1 Shell命令解析器626

15.1.1 Shell命令解析器概述626

15.1.2 实现Shell命令解析器627

15.2 基础命令641

15.2.1 重启命令reboot641

15.2.2 工作目录切换命令cd642

15.2.3 目录内容显示命令ls645

15.2.4 文件查看命令cat654

15.2.5 程序执行命令exec655

第16章 一个彩蛋665

附录 术语表676

参考资料679

热门推荐