顶部
收藏

操作系统设计与实现

“十二五”普通高等教育本科国家级规划教材

作者:
陈文智
定价:
36.00 元
版面字数:
360千字
开本:
16开
装帧形式:
平装
版次:
1
最新版次
印刷时间:
2017年
ISBN:
978-7-04-046752-9
物料号:
46752-00
出版时间:
2017-02-10
读者对象:
高等教育
一级分类:
计算机/教育技术类
二级分类:
计算机类专业核心课程
三级分类:
操作系统

本书为“基于系统能力培养的计算机专业课程建设研究”项目规划教材。本书定位于初学者的动手实践类操作系统教材,可带领读者一步步从无到有,实现一个近1万行的小型内核Lcore。

全书共10章。第1章简单回顾操作系统的基本原理;第2章从操作系统五大模块入手设计Lcore系统;第3章为Lcore添加VGA显示功能;第4章从时钟中断入手讨论如何在内核中实现中断处理;第5章实现键盘输入功能;第6章分别实现内存管理系统的Bootmem、Buddy、Slub分配器;第7章介绍进程管理初始化、进程创建、页异常处理和进程调度;第8章实现一个能够在Lcore内核中运行的类FAT32文件系统,同时也涉及如何编写一个SD卡的小驱动;第9章实现系统调用模块;第10章开发一款专属、简单的shell。附录是硬件实验平台手册,说明平台的有关使用细节,以便读者在开发过程中随时查阅。

本书可作为本科计算机类专业操作系统课程配套的实践教材,也可供有关技术人员参考。

  • 目录
    • 前辅文
      • 第1章 操作系统开发介绍
        • 1.1 操作系统原理
          • 1.1.1 进程管理
            • 1.1.2 内存管理
              • 1.1.3 文件管理
                • 1.1.4 I/O设备管理
                  • 1.1.5 用户接口
                  • 1.2 实验平台简介
                    • 1.2.1 物理实验平台
                      • 1.2.2 计算机硬件体系结构
                        • 1.2.3 QS模拟器
                          • 1.2.4 平台指令集
                          • 1.3 开发环境搭建
                            • 1.3.1 交叉编译工具链
                              • 1.3.2 QS模拟器使用
                                • 1.3.3 其他工具
                                • 小结
                                • 第2章 系统设计与初始化
                                  • 2.1 Lcore整体设计
                                    • 2.1.1 进程管理
                                      • 2.1.2 内存管理
                                        • 2.1.3 文件系统
                                          • 2.1.4 I/O设备
                                            • 2.1.5 用户接口
                                            • 2.2 建立初始化框架
                                              • 2.2.1 init_kernel函数
                                                • 2.2.2 中断异常入口
                                                  • 2.2.3 内核页表初始化
                                                    • 2.2.4 其他初始化
                                                    • 小结
                                                    • 第3章 VGA显示功能
                                                      • 3.1 VGA初始化
                                                        • 3.1.1 实验平台VGA介绍
                                                          • 3.1.2 实现VGA初始化
                                                          • 3.2 实现put_char函数
                                                            • 3.2.1 scroll_screen函数
                                                              • 3.2.2 put_char_ex函数
                                                                • 3.2.3 put_char函数
                                                                • 3.3 实现printk函数
                                                                  • 3.3.1 可变参数函数
                                                                    • 3.3.2 相关子函数的实现
                                                                      • 3.3.3 printk函数的实现
                                                                      • 小结
                                                                      • 第4章 处理时钟中断
                                                                        • 4.1 硬件的外部中断
                                                                          • 4.1.1 机制剖析
                                                                            • 4.1.2 相关硬件接口
                                                                            • 4.2 中断处理注册机制
                                                                              • 4.2.1 相关数据结构
                                                                                • 4.2.2 中断处理入口
                                                                                  • 4.2.3 中断处理注册
                                                                                  • 4.3 时钟中断实现
                                                                                    • 4.3.1 时钟中断注册
                                                                                      • 4.3.2 显示信息规划
                                                                                        • 4.3.3 系统时间显示
                                                                                        • 小结
                                                                                        • 第5章 键盘输入功能
                                                                                          • 5.1 键盘中断处理
                                                                                            • 5.1.1 相关硬件接口
                                                                                              • 5.1.2 实现键盘中断处理
                                                                                              • 5.2 键盘扫描码解析
                                                                                                • 5.2.1 键盘扫描码
                                                                                                  • 5.2.2 解析扫描码
                                                                                                  • 小结
                                                                                                  • 第6章 物理内存管理
                                                                                                    • 6.1 内存管理策略
                                                                                                      • 6.2 Bootmem管理实现
                                                                                                        • 6.2.1 Bootmem数据结构
                                                                                                          • 6.2.2 Bootmem初始化
                                                                                                          • 6.3 Buddy系统实现
                                                                                                            • 6.3.1 Buddy系统数据结构
                                                                                                              • 6.3.2 Buddy系统初始化
                                                                                                                • 6.3.3 Buddy系统内存释放
                                                                                                                  • 6.3.4 Buddy系统内存分配
                                                                                                                  • 6.4 Slub系统实现
                                                                                                                    • 6.4.1 Slub系统数据结构
                                                                                                                      • 6.4.2 Slub系统初始化
                                                                                                                        • 6.4.3 Slub系统分配内存
                                                                                                                          • 6.4.4 Slub系统释放内存
                                                                                                                          • 小结
                                                                                                                          • 第7章 实现进程管理
                                                                                                                            • 7.1 进程管理初始化
                                                                                                                              • 7.1.1 进程数据结构
                                                                                                                                • 7.1.2 进程初始化
                                                                                                                                • 7.2 进程创建
                                                                                                                                  • 7.3 页异常处理
                                                                                                                                    • 7.3.1 缺页异常处理
                                                                                                                                      • 7.3.2 写保护异常
                                                                                                                                      • 7.4 进程调度
                                                                                                                                        • 7.4.1 调度初始化
                                                                                                                                          • 7.4.2 执行调度
                                                                                                                                          • 小结
                                                                                                                                          • 第8章 实现文件系统
                                                                                                                                            • 8.1 SD卡驱动程序实现
                                                                                                                                              • 8.1.1 SD卡通信方式简介
                                                                                                                                                • 8.1.2 实现SPI通信
                                                                                                                                                  • 8.1.3 指令处理
                                                                                                                                                    • 8.1.4 实现SD卡初始化
                                                                                                                                                      • 8.1.5 实现SD卡读操作
                                                                                                                                                        • 8.1.6 实现SD卡写操作
                                                                                                                                                        • 8.2 文件系统实现
                                                                                                                                                          • 8.2.1 文件控制块的实现
                                                                                                                                                            • 8.2.2 缓存机制的实现
                                                                                                                                                              • 8.2.3 FAT表
                                                                                                                                                                • 8.2.4 文件系统初始化
                                                                                                                                                                  • 8.2.5 打开文件
                                                                                                                                                                    • 8.2.6 关闭文件
                                                                                                                                                                      • 8.2.7 文件读取
                                                                                                                                                                        • 8.2.8 文件写入
                                                                                                                                                                          • 8.2.9 创建文件
                                                                                                                                                                          • 小结
                                                                                                                                                                          • 第9章 添加系统调用
                                                                                                                                                                            • 9.1 系统调用框架
                                                                                                                                                                              • 9.1.1 系统调用入口
                                                                                                                                                                                • 9.1.2 系统调用初始化
                                                                                                                                                                                  • 9.1.3 系统调用定义
                                                                                                                                                                                  • 9.2 添加系统调用
                                                                                                                                                                                    • 9.2.1 进程管理相关
                                                                                                                                                                                      • 9.2.2 输入显示相关
                                                                                                                                                                                        • 9.2.3 文件系统相关
                                                                                                                                                                                        • 小结
                                                                                                                                                                                        • 第10章 实现简单shell
                                                                                                                                                                                          • 10.1 实现用户态库
                                                                                                                                                                                            • 10.2 实现shell程序
                                                                                                                                                                                              • 10.2.1 解析程序
                                                                                                                                                                                                • 10.2.2 内建命令
                                                                                                                                                                                                • 10.3 其他基本程序
                                                                                                                                                                                                  • 10.3.1 ls命令
                                                                                                                                                                                                    • 10.3.2 ps命令
                                                                                                                                                                                                      • 10.3.3 kill命令
                                                                                                                                                                                                      • 小结
                                                                                                                                                                                                      • 结束语
                                                                                                                                                                                                        • 附录A 实验平台手册
                                                                                                                                                                                                          • A.1 实验平台详细介绍
                                                                                                                                                                                                            • A.1.1 Sword实验平台
                                                                                                                                                                                                              • A.1.2 物理地址分配
                                                                                                                                                                                                                • A.1.3 CP0寄存器组
                                                                                                                                                                                                                  • A.1.4 中断处理
                                                                                                                                                                                                                    • A.1.5 MMU功能
                                                                                                                                                                                                                      • A.1.6 外设接口
                                                                                                                                                                                                                      • A.2 实验平台指令集
                                                                                                                                                                                                                        • A.2.1 算术运算指令
                                                                                                                                                                                                                          • A.2.2 逻辑运算指令
                                                                                                                                                                                                                            • A.2.3 移位指令
                                                                                                                                                                                                                              • A.2.4 读写指令
                                                                                                                                                                                                                                • A.2.5 跳转指令
                                                                                                                                                                                                                                  • A.2.6 自陷指令
                                                                                                                                                                                                                                    • A.2.7 CP指令
                                                                                                                                                                                                                                    • A.3 实验平台寄存器
                                                                                                                                                                                                                                      • A.3.1 通用寄存器
                                                                                                                                                                                                                                        • A.3.2 CP0寄存器
                                                                                                                                                                                                                                    课程网址: null

                                                                                                                                                                                                                                    相关图书