首页 > 图书中心 > openEuler操作系统

目录

CONTENTS

目录

第1章操作系统概述00

1.1操作系统的基本概念00

1.2操作系统的发展历史00

1.2.1手工操作时代00

1.2.2批处理系统00

1.2.3多道程序系统00

1.2.4分时操作系统00

1.2.5实时操作系统00

1.3操作系统的基本功能00

1.4操作系统的设计目标0

1.5主流操作系统0

1.5.1终端操作系统0

1.5.2服务器操作系统0

1.6操作系统的发展趋势0

1.6.1微内核0

1.6.2库操作系统0

1.6.3外内核0

1.6.4多内核0

1.6.5离散化内核0

1.7openEluer操作系统简介0

本章小结0

第2章鲲鹏处理器0

2.1鲲鹏处理器概述0

2.2体系架构0

2.3CPU编程模型0

2.3.1中断与异常0

2.3.2异常级别0

2.3.3寄存器0

2.3.4指令集0

2.4CPU访存原理0

2.4.1存储器的层次结构0

2.4.2内存0

2.4.3内存管理单元0

2.5鲲鹏处理器与openEuler0

本章小结0

第3章进程与线程0

3.1进程的概念0

3.1.1程序: 从源代码到执行0

3.1.2程序的并发执行与进程抽象0

3.2进程的描述0

3.2.1进程控制块0

3.2.2进程状态0

3.3进程的控制0

3.3.1进程控制原语0

3.3.2进程创建0

3.3.3程序装载0

3.3.4进程终止0

3.3.5openEuler中的进程树0

3.4系统调用0

3.4.1基本概念0

3.4.2系统调用的实现0

3.5进程切换0

3.5.1基本原理0

3.5.2进程切换过程0

3.6线程0

3.6.1基本概念0

3.6.2线程模型0

3.6.3openEuler中线程的实现

本章小结

openEuler操作系统

目录

第4章CPU调度

4.1调度性能指标

4.2常见的调度算法

4.2.1先进先出

4.2.2最短进程优先

4.2.3轮转调度

4.2.4优先级调度

4.3多核调度

4.3.1多核调度的背景

4.3.2多核调度策略

4.4CFS调度

4.4.1调度策略和进程类别

4.4.2调度类

4.4.3调度队列和调度实体

4.4.4CFS调度策略

4.4.5调度过程

本章小结

第5章内存管理

5.1内存访问: 从直接到间接

5.1.1程序中的内存访问

5.1.2虚拟内存

5.2分页

5.2.1基本思想

5.2.2空闲页框管理

5.2.3地址转换

5.2.4内存访问控制

5.3更快的地址转换

5.3.1TLB与局部性原理

5.3.2TLB结构

5.3.3TLB替换

5.4更小的页表

5.4.1多级页表

5.4.2openEuler中的多级页表

5.4.3标准大页

5.5物理内存扩充

5.5.1请求调页

5.5.2交换空间

5.5.3openEuler中页交换的实现

5.5.4页置换策略

本章小结

第6章线程/进程间通信

6.1互斥与锁

6.1.1竞态条件

6.1.2原子性与互斥

6.1.3互斥的实现: 控制中断

6.1.4互斥的实现: 锁

6.2自旋锁

6.2.1基本思想

6.2.2Qspinlock

6.2.3NUMAAware Qspinlock

6.3同步与信号量

6.3.1基本思想

6.3.2信号量的实现

6.3.3生产者与消费者问题

6.4共享内存

6.4.1基本思想

6.4.2共享内存的实现

6.5消息传递

6.5.1基本思想

6.5.2消息传递的实现

6.6内存屏障

6.6.1现代CPU对程序执行的影响

6.6.2内存屏障指令

6.6.3内存顺序模型

6.6.4openEuler中内存屏障的应用

本章小结

第7章文件系统

7.1文件系统概述

7.1.1硬件基础

7.1.2文件系统中的基本概念

7.1.3openEuler中的文件系统

7.1.4Ext4文件系统的发展历程

7.2文件系统的基本实现

7.2.1数据结构及其磁盘布局

7.2.2文件的读取和写入

7.3I/O性能优化

7.3.1缓存与缓冲

7.3.2多级索引与Extent

7.4崩溃一致性

7.4.1简介

7.4.2文件系统检查器

7.4.3日志

7.5虚拟文件系统

7.5.1简介

7.5.2数据结构

本章小结

第8章跨机器通信

8.1计算机网络

8.1.1简介

8.1.2TCP/IP协议栈

8.2网络子系统

8.2.1硬件视角

8.2.2软件视角

8.3网卡驱动程序

8.3.1简介

8.3.2驱动程序的注册与注销

8.3.3设备初始化

8.3.4设备的打开与关闭

8.4套接字

8.4.1简介

8.4.2Socket的连接

8.4.3数据的传输

8.5数据的传输路径

8.5.1数据报文收发的整体流程

8.5.2接收报文的第一阶段: NIC>Rx ring

8.5.3接收报文的第二阶段: Rx ring>sk_buff

8.5.4接收报文的第三阶段: sk_buff>进程

8.6新型网络加速技术

8.6.1RDMA

8.6.2DPDK

8.6.3智能网卡

8.6.4SDN

本章小结

第9章系统虚拟化

9.1虚拟机监视器

9.1.1基本概念

9.1.2虚拟化的好处

9.1.3虚拟化的类型

9.2基于Linux内核的虚拟机监视器

9.2.1VHE

9.2.2KVM

9.2.3QEMU

9.2.4Libvirt

9.3CPU虚拟化

9.3.1基本思想

9.3.2受限制的执行

9.3.3上下文切换

9.3.4openEuler中的实现

9.4内存虚拟化

9.4.1基本思想

9.4.2地址映射

9.4.3访存请求截获

9.4.4openEuler中的实现

9.5I/O虚拟化

9.5.1三个基本任务

9.5.2三种实现方式

9.5.3openEuler中的实现

9.6容器

9.6.1简介

9.6.2命名空间

9.6.3控制组

9.6.4iSulad容器原理

本章小结

第10章openEuler智能调优——ATune

10.1基本原理

10.2智能决策

10.3自动调优

本章小结

参考文献

附录A缩略语

版权所有(C)2023 清华大学出版社有限公司 京ICP备10035462号 京公网安备11010802042911号

联系我们 | 网站地图 | 法律声明 | 友情链接 | 盗版举报 | 人才招聘