




◆国家精品在线开放课程、国家一流本科课程、华为“智能基座”精品慕课、中国高校计算机教育MOOC联盟优秀课程“Linux操作系统分析”。
◆涵盖openEuler操作系统、ARM64汇编语言、虚拟化技术KVM和LXC容器技术。
◎编辑推荐:
本书将可移植操作系统 POSIX 标准和 CPU 指令集架构 ISA 两层接口通过 Linux 操作系统贯通起来,涵盖了 Linux 操作系统的各个主要方面,主要有以 openEuler 操作系统为例的 POSIX 工具集、计算机系统的工作原理、x86 和 ARM64 汇编语言、系统调用的工作机制、进程描述和内存管理、可执行程序工作原理、内核线程和 I/O 驱动框架、进程调度和进程切换、KVM 和容器技术、Linux 安全相关技术等 Linux 系统运作的各个关键机制。
◎内容简介:
本书首先以 Linux 社区规则、Linux 发展的渊源、Linux 基本使用和命令工具作为导引;然后以存储程序计算机相关的工作原理、x86 和 ARM64 汇编语言、指令乱序问题、mykernel 精简内核实验以及 Linux内核源代码编译和系统构建作为 Linux 内核的入门基础;接着焦深入理解系统调用,并在 x86 和 ARM64系统调用实现的基础上延伸到进程的创建、可执行程序的加载和进程的切换,其中涉及了进程描述符、进程地址空间和程序编译构建等相关的内容;最后总结了 Linux 系统的一般执行过程和系统架构,并拓展到KVM 和容器技术,以及 Linux 系统安全相关技术。
作者简介:
孟宁,任职于中国科学技术大学软件学院,梦宁软件创始人,多年来专注于自主可控基础系统软件研发和教学。曾荣获华为欧拉&高斯开源贡献领英教师奖。著作有《代码中的软件工程》和《庖丁解牛Linux操作系统分析》等图书。主讲课程“软件工程”“Linux操作系统分析”等,曾获评“国家精品在线开放课程”和“国家一流本科课程”,被中国高校计算机教育MOOC联盟评为优秀课程,荣获教育部-华为“智能基座”优秀教学资源奖、安徽省教学成果奖二等奖等奖项。 娄嘉鹏,高校教师,研究方向包括Linux内核及安全、密码系统设计与实现、软件工程等。曾承担国家863计划、国家科技专项课题多项,荣获省部级科技进步奖一等奖、三等奖多项,拥有多项发明专利和软件著作权。曾荣获“北京市优秀教师”称号,多次被北京蓝墨大数据技术研究院授予“北京市十大魅力教师”荣誉称号。主讲Java程序设计、Linux... 孟宁,任职于中国科学技术大学软件学院,梦宁软件创始人,多年来专注于自主可控基础系统软件研发和教学。曾荣获华为欧拉&高斯开源贡献领英教师奖。著作有《代码中的软件工程》和《庖丁解牛Linux操作系统分析》等图书。主讲课程“软件工程”“Linux操作系统分析”等,曾获评“国家精品在线开放课程”和“国家一流本科课程”,被中国高校计算机教育MOOC联盟评为优秀课程,荣获教育部-华为“智能基座”优秀教学资源奖、安徽省教学成果奖二等奖等奖项。 娄嘉鹏,高校教师,研究方向包括Linux内核及安全、密码系统设计与实现、软件工程等。曾承担国家863计划、国家科技专项课题多项,荣获省部级科技进步奖一等奖、三等奖多项,拥有多项发明专利和软件著作权。曾荣获“北京市优秀教师”称号,多次被北京蓝墨大数据技术研究院授予“北京市十大魅力教师”荣誉称号。主讲Java程序设计、Linux内核原理与分析、网络攻防实战、密码系统设计等课程。
目录:
第1章 Linux 操作系统概览 1
1.1 自由软件江湖里的“码头”和规矩 1
1.2 操作系统成长记 4
1.3 国产操作系统概述 9
1.4 与 Linux 的第一次亲密接触 13
1.5 openEuler 操作系统中的常用 Linux 命令参考 19
第2章 计算机系统的基本工作原理 27
2.1 存储程序计算机 27
2.2 x86 汇编语言基础 35
2.3 ARM64 汇编语言基础 58
2.4 指令乱序问题 65
2.5 编写一个精简的操作系统内核 75
第3章 Linux 内核源代码及调试环境 90
3.1 Linux 内核源代码 90
3.2 搭建 Linux 内核调试环境 96
3.3 跟踪 Linux 内核的启动过程 103
第4章 深入理解系统调用 112
4.1 系统调用概述 112
4.2 触发系统调用的方法 119
4.3 深入理解 x86 Linux 系统调用 124
4.4 深入理解 ARM64 Linux 系统调用 139
第5章 进程的描述和创建 154
5.1 进程的描述 154
5.2 进程地址空间 163
5.3 进程的创建 172
第6章 可执行程序工作原理 198
6.1 ELF 目标文件格式 198
6.2 程序的编译过程 204
6.3 链接与库 208
6.4 可执行程序的加载 218
6.5 系统调用、fork 和 execve 总结 231
第7章 中断处理、内核线程和设备驱动 234
7.1 中断处理概述 234
7.2 内核线程概述 242
7.3 设备驱动程序 248
第8章 进程调度与进程切换 255
8.1 进程调度概述 255
8.2 进程调度的时机 261
8.3 进程上下文切换 263
第9章 Linux 操作系统的软件架构 283
9.1 Linux 操作系统的一般执行过程 283
9.2 Linux 操作系统的软件架构分析 287
第10章 KVM 及虚拟机技术 291
10.1 虚拟机技术概述 291
10.2 KVM API 的使用方法 294
10.3 QEMU-KVM 的实现原理 300
10.4 StratoVirt 302
第11章 Linux 容器技术 309
11.1 容器技术概述 309
11.2 Linux 容器技术的基本原理 311
11.3 如何创建一个容器 331
11.4 Docker 334
11.5 iSula 338
第12章 Linux 系统安全相关技术 354
12.1 操作系统安全概述 354
12.2 Linux 系统的安全机制 359
12.3 Linux 系统的访问控制 367
12.4 可信计算和机密计算 382
点击下载