





作者:罗秋明
定价:99元
印次:1-4
ISBN:9787302579984
出版日期:2021.07.01
印刷日期:2025.03.11
图书责编:龙启铭
图书分类:教材
本书作为系统软件系列丛书的第四本,与已出版的《Linux GNU C程序观察》《操作系统之编程观察》《Linux技术内幕》共同组成系统软件学习的递进学习材料。 本书共12章,全面分析了xv6的实现并提供了丰富的实验及其示例代码。在分析方面不仅包含了几乎完整的C代码解读,还包括编译、链接和程序装入细节,并给出了QEMU仿真、GDB调试和底层系统硬件架构相关的必要知识。实验方面安排了入门、中级和高级三个层次的内容: 入门实验指导读者自行增加一个系统调用并通过应用程序验证其功能,开启修改操作系统第一步;中级实验全面体验了调度机制和算法,以及进程间通信中的信号量、共享内存和消息队列的实现,还有内存管理中的离散内存管理和代码数据隔离实验;高级实验综合多方面的知识,实现线程机制、文件功能扩展、虚拟内存实验以及多终端实验。 本书可作为计算机相关专业本科高年级学生和研究生的操作系统实验课程教学用书,也可作为相关专业人员深入了解操作系统的实践用书。
深圳大学计算机与软件学院副教授,广东省国产高性能计算系统工程技术研究中心副主任、深圳市服务计算与应用重点实验室常务副主任,长期从事高性能计算研究。
前言 操作系统一词的内涵比较丰富。当我们听说某人是操作系统高手时,可能指这个人是操作系统“系统管理”高手。也就是说,这个人可以快速架设Web服务,能把崩溃的文件系统修复,能设置复杂的网络绕过防火墙又不失安全,等等;又或者这个人是一个“系统编程”高手,能够编写复杂而高效的服务器程序,将多进程/多线程并发、通信与同步等各种技艺玩得炉火纯青;还可能这个人是一个“内核编程”的高手,不仅会编写实现不同文件系统的各种内核模块、还精通编写各种硬件的设备驱动程序。 无论上述哪种高手,都离不开对操作系统基本原理的认知,如果对操作系统的核心机制和编码实现有所认知,都将如虎添翼。操作系统的基本原理和算法层面的知识,我们在大学本科操作系统课程已经掌握得很好了,但对于操作系统的核心机制——特别是软硬件结合的机制,则明显不足,更别说编码实现了。因此上面提到的高手,大多是在职业生涯中自我修炼而成的。说是修炼,是因为没有系统的指导,也没有系统的训练教材,甚至没有人指出成长学习的路径和步骤。 系统软件系列丛书,为大家提供了明确的学习成长路径和充分的学习材料,尝试将原来刻苦的摸索和修炼,变成人人可以科学实施自学的系列课程。我们将该课程分解成四个步骤逐级推进,这四个步骤是: (1) 打通C语言—可执行文件—进程映像的通路。 (2) 用观测手段将操作系统从黑盒变白盒。 (3) 掌握在“裸硬件”上设计和实现操作系统核心机制的能力。 (4) 钻研真实操作系统代码。《Linux GNU C程序观察》是第一块基石,将打通从C语言源程序一直到操作系统进程映像的通路。C语言编程和进程的概念,大家都很熟悉,...
第1章xv6安装使用1
1.1运行于QEMU的xv61
1.1.1CentOS 7+QEMU+xv61
1.1.2Ubuntu 18+QEMU+xv62
1.2调试观察4
1.2.1xv6 shell命令4
1.2.2QEMU+gdb调试6
1.2.3多核调试10
1.3本章小结12
练习13
第2章入门实验14
2.1新增可执行程序15
2.1.1磁盘映像的生成15
2.1.2添加简单程序16
2.2新增系统调用18
2.2.1系统调用示例19
2.2.2添加系统调用20
2.2.3验证新系统调用22
2.3观察调度过程23
2.4本章小结25
练习25
第3章xv6概述26
3.1xv6代码总览26
3.2xv6二进制代码与镜像27
3.2.1启动扇区27
3.2.2内核代码31
3.2.3磁盘镜像40
3.2.4xv6的Makefile43
3.3xv6内核简介51
3.3.1进程管理52
3.3.2内存管理56
3.3.3文件系统57
3.3.4设备59
3.4本章小结59
练习59
操作系统原型——xv6分析与实验目录
第4章系统启动60
4.1全局性信息60
4.1.1xv6系统常数(param.h)60
4.1.2x86.h硬件相关代码61
4.2bootblock70
4.2.116位/32位模式71
4.2.2bootasm.S72
4.2.3bootmain.c83
4.2.4ELF文件格式87
4.3kernel启动89
4.3.1启动分页9... 查看详情