主页 详情

《一个64位操作系统的设计与实现》_田宇著_14448937_9787115475251

【书名】:《一个64位操作系统的设计与实现》
【作者】:田宇著
【出版社】:北京:人民邮电出版社
【时间】:2018
【页数】:682
【ISBN】:9787115475251
【SS码】:14448937

最新查询

内容简介

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

第1章 操作系统概述

1.1 什么是操作系统

1.2 操作系统的组成结构

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

1.4 本书操作系统简介

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

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

2.1.1 VMware的安装

2.1.2 编译环境CentOS 6

2.1.3 Bochs虚拟机

2.2 汇编语言

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

2.2.2 NASM编译器

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

2.3 C语言

2.3.1 GNU C内嵌汇编语言

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

第二部分 初级篇

第3章 BootLoader引导启动程序

3.1 Boot引导程序

3.1.1 BIOS引导原理

3.1.2 写一个Boot引导程序

3.1.3 创建虚拟软盘镜像文件

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

3.1.5 加载Loader到内存

3.1.6 从Boot跳转到Loader程序

3.2 Loader引导加载程序

3.2.1 Loader原理

3.2.2 写一个Loader程序

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

3.2.4 从Loader跳转到内核程序

第4章 内核层

4.1 内核执行头程序

4.1.1 什么是内核执行头程序

4.1.2 写一个内核执行头程序

4.2 内核主程序

4.3 屏幕显示

4.3.1 在屏幕上显示色彩

4.3.2 在屏幕上显示log

4.4 系统异常

4.4.1 异常的分类

4.4.2 系统异常处理(一)

4.4.3 系统异常处理(二)

4.5 初级内存管理单元

4.5.1 获得物理内存信息

4.5.2 计算可用物理内存页数

4.5.3 分配可用物理内存页

4.6 中断处理

4.6.1 8259A PIC

4.6.2 触发中断

4.7 键盘驱动

4.7.1 简述键盘功能

4.7.2 实现键盘中断捕获函数

4.8 进程管理

4.8.1 简述进程管理模块

4.8.2 PCB

4.8.3 init进程

第5章 应用层

5.1 跳转到应用层

5.2 实现系统调用API

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

第三部分 高级篇

第6章 处理器体系结构

6.1 基础功能与新特性

6.1.1 运行模式

6.1.2 通用寄存器

6.1.3 CPUID指令

6.1.4 标志寄存器EFLAGS

6.1.5 控制寄存器

6.1.6 MSR寄存器组

6.2 地址空间

6.2.1 虚拟地址

6.2.2 物理地址

6.3 实模式

6.3.1 实模式概述

6.3.2 实模式的段寻址方式

6.3.3 实模式的中断向量表

6.4 保护模式

6.4.1 保护模式概述

6.4.2 保护模式的段管理机制

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

6.4.4 保护模式的页管理机制

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

6.5 IA-32e模式

6.5.1 IA-32e模式概述

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

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

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

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

第7章 完善BootLoader功能

7.1 实模式的寻址瓶颈

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

7.1.2 突破1MB物理内存瓶颈

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

7.2 获取物理地址空间信息

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

7.4 U盘启动

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

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

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

7.6 细说VBE功能的实现

7.6.1 VBE规范概述

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

7.6.3 设置显示模式

第8章 内核主程序

8.1 内核主程序功能概述

8.2 操作系统的Makefile编译脚本

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

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

8.5 获得处理器的固件信息

第9章 高级内存管理单元

9.1 SLAB内存池

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

9.1.2 SLAB内存池的创建与销毁

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

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

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

9.2.2 通用内存的分配函数kmalloc

9.2.3 通用内存的回收函数kfree

9.3 调整物理页管理功能

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

9.3.2 调整alloc_pages函数

9.3.3 创建free_pages函数

9.4 页表初始化

9.4.1 页表重新初始化

9.4.2 VBE帧缓存区地址重映射

第10章 高级中断处理单元

10.1 APIC概述

10.2 Local APIC

10.2.1 Local APIC的基础信息

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

10.3 I/O APIC

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

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

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

10.4.1 中断模式

10.4.2 Local APIC控制器的初始化

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

10.5 高级中断处理功能

10.5.1 Linux的中断处理机制概述

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

第11章 设备驱动程序

11.1 键盘和鼠标驱动程序

11.1.1 键盘和鼠标控制器

11.1.2 完善键盘驱动

11.1.3 实现鼠标驱动

11.2 硬盘驱动程序

11.2.1 硬盘设备初探

11.2.2 完善硬盘驱动程序

第12章 进程管理

12.1 进程管理单元功能概述

12.2 多核处理器

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

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

12.2.3 让我们的系统支持多核

12.3 进程调度器

12.3.1 Linux进程调度器简介

12.3.2 墙上时钟与定时器

12.3.3 内核定时器

12.3.4 实现进程调度功能

12.4 内核同步方法

12.4.1 原子变量

12.4.2 信号量

12.4.3 完善自旋锁

12.5 完善进程管理单元

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

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

12.5.3 关于线程

第13章 文件系统

13.1 文件系统概述

13.2 解析FAT32文件系统

13.2.1 FAT32文件系统简介

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

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

13.3 虚拟文件系统

13.3.1 Linux VFS简介

13.3.2 实现VFS

第14章 系统调用API库

14.1 系统调用API结构

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

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

14.2.2 升级系统调用模块

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

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

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

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

15.1 Shell命令解析器

15.1.1 Shell命令解析器概述

15.1.2 实现Shell命令解析器

15.2 基础命令

15.2.1 重启命令reboot

15.2.2 工作目录切换命令cd

15.2.3 目录内容显示命令ls

15.2.4 文件查看命令cat

15.2.5 程序执行命令exec

第16章 一个彩蛋

附录 术语表

参考资料


书查询(www.shuchaxun.com)本网页唯一编码:
1e8c9db68752139bf5c6d4bb78194d2b#d67e809e30e0deab8a8b84c2bf3e10e8#97688735#一个64位操作系统的设计与实现_14448937.zip