作品简介

本书讲述了一个64位多核操作系统的自制过程。此操作系统自制过程是先从虚拟平台构筑起一个基础框架,随后再将基础框架移植到物理平台中进行升级、完善与优化。为了凸显64位多核操作系统的特点,物理平台选用搭载着Intel Core-i7处理器的笔记本电脑。与此同时,本书还将Linux内核的源码精髓、诸多官方白皮书以及多款常用协议浓缩于其中,可使读者在读完本书后能够学以致用,进而达到理论联系实际的目的。

全书共分为16章。第1~2章讲述了操作系统的基础概念和开发操作系统需要掌握的知识;第3~5章在虚拟平台下快速构建起一个操作系统模型;第6~16章将在物理平台下对操作系统模型做进一步升级、优化和完善。

本书既适合在校学习理论知识的初学者,又适合在职工作的软件工程师或有一定基础的业余爱好者。

田宇

Linux内核爱好者,曾在多家大中型软件公司从事软件开发工作,参与过多款高端嵌入式产品的开发研制,主要负责Linux内核和驱动的研发,以及开源操作系统环境的深度定制。

作品目录

  • 前言
  • 阅读指导
  • 保留英文缩写
  • 鸣谢
  • 第一部分 操作系统相关知识介绍及环境搭建
  • 第 1 章 操作系统概述
  • 1.1 什么是操作系统
  • 1.2 操作系统的组成结构
  • 1.3 编写操作系统需要的知识
  • 1.4 本书操作系统简介
  • 第 2 章 环境搭建及基础知识
  • 2.1 虚拟机及开发系统平台介绍
  • 2.2 汇编语言
  • 2.3 C语言
  • 第二部分 初级篇
  • 第 3 章 BootLoader引导启动程序
  • 3.1 Boot引导程序
  • 3.2 Loader引导加载程序
  • 第 4 章 内核层
  • 4.1 内核执行头程序
  • 4.2 内核主程序
  • 4.3 屏幕显示
  • 4.4 系统异常
  • 4.5 初级内存管理单元
  • 4.6 中断处理
  • 4.7 键盘驱动
  • 4.8 进程管理
  • 第 5 章 应用层
  • 5.1 跳转到应用层
  • 5.2 实现系统调用API
  • 5.3 实现一个系统调用处理函数
  • 第三部分 高级篇
  • 第 6 章 处理器体系结构
  • 6.1 基础功能与新特性
  • 6.2 地址空间
  • 6.3 实模式
  • 6.4 保护模式
  • 6.5 IA-32e模式
  • 第 7 章 完善BootLoader功能
  • 7.1 实模式的寻址瓶颈
  • 7.2 获取物理地址空间信息
  • 7.3 操作系统引导加载阶段的内存空间划分
  • 7.4 U盘启动
  • 7.5 在物理平台上启动操作系统
  • 7.6 细说VBE功能的实现
  • 第 8 章 内核主程序
  • 8.1 内核主程序功能概述
  • 8.2 操作系统的Makefile编译脚本
  • 8.3 操作系统的kernel.lds链接脚本
  • 8.4 操作系统的线性地址空间划分
  • 8.5 获得处理器的固件信息
  • 第 9 章 高级内存管理单元
  • 9.1 SLAB内存池
  • 9.2 基于SLAB内存池技术的通用内存管理单元
  • 9.3 调整物理页管理功能
  • 9.4 页表初始化
  • 第 10 章 高级中断处理单元
  • 10.1 APIC概述
  • 10.2 Local APIC
  • 10.3 I/O APIC
  • 10.4 中断控制器的模式选择与初始化
  • 10.5 高级中断处理功能
  • 第 11 章 设备驱动程序
  • 11.1 键盘和鼠标驱动程序
  • 11.2 硬盘驱动程序
  • 第 12 章 进程管理
  • 12.1 进程管理单元功能概述
  • 12.2 多核处理器
  • 12.3 进程调度器
  • 12.4 内核同步方法
  • 12.5 完善进程管理单元
  • 第 13 章 文件系统
  • 13.1 文件系统概述
  • 13.2 解析FAT32文件系统
  • 13.3 虚拟文件系统
  • 第 14 章 系统调用API库
  • 14.1 系统调用API结构
  • 14.2 基于POSIX规范实现系统调用API库
  • 第 15 章 Shell命令解析器及命令
  • 15.1 Shell命令解析器
  • 15.2 基础命令
  • 第 16 章 一个彩蛋
  • 术语表
  • 参考资料
  • Intel技术文档
  • 其他技术文档
  • 参考图书
  • 看完了
展开全部