openEuler操作系统

《openEuler操作系统》

  • 出版社:清华大学出版社
  • ISBN:9787302563280
  • 版次:1
  • 商品编码:12976580
  • 品牌:清华大学
  • 包装:平装
  • 丛书名:华为智能计算技术丛书
  • 开本:16
  • 出版时间:2020-09-01
  • 用纸:胶版纸
  • 页数:448
  • 字数:579000
基本介绍书籍目录点评信息
  • 书籍内容

    本书是一部系统解析操作系统原理及openEuler核心技术著作。为便于读者高效学习,本书结合openEuler中的实现代码,详细介绍了操作系统的基本原理和核心技术。全书共分为10章: 第1章操作系统概述,介绍了操作系统的基本概念、发展历史、基本功能、设计目标、发展趋势,以及openEuler简介; 第2章鲲鹏处理器,介绍了鲲鹏处理器的体系架构、CPU编程模型、CPU访存原理,以及鲲鹏处理器与openEuler; 第3章进程与线程,介绍了进程的概念、进程描述、进程控制、系统调用、进程切换机制及线程; 第4章CPU调度,介绍了调度性能指标、常见调度算法、多核调度策略及CFS调度器; 第5章内存管理,介绍了虚拟内存、分页机制、地址转换加速机制、多级页表及物理内存扩充机制; 第6章线程/进程间通信,介绍了互斥与锁、自旋锁、同步与信号量、共享内存、消息传递等机制及内存屏障技术; 第7章文件系统,介绍了文件系统的基本实现、I/O性能优化、崩溃一致性及虚拟文件系统; 第8章跨机器通信,介绍了TCP/IP协议栈、openEuler的网络子系统架构、网卡驱动程序、套接字、数据传输路径及新型网络加速技术; 第9章系统虚拟化,介绍了虚拟机监视器的基本概念和基本任务、基于Linux内核的虚拟机监视器及容器技术; 第10章openEuler智能调优——ATune,介绍了ATune的基本原理及其智能决策和自动调优两个核心模块的关键技术。 本书适合作为广大高校计算机专业操作系统课程的辅助教材,也可以作为操作系统内核开发者的自学参考用书。

    编辑推荐

    华为公司官方出品!著名计算机科学家张尧学院士主编!深入解析操作系统原理及openEuler核心技术!华为技术有限公司 创立于1987年,是全球领先的ICT(Information and Communications Technology,信息和通信技术)基础设施和智能终端提供商,致力于把数字世界带入每个人、每个家庭、每个组织,构建万物互联的智能世界。目前,华为约有19.4万名员工,业务遍及170多个国家和地区,为30多亿人提供服务。华为在通信网络、IT、智能终端和云服务等领域为客户提供有竞争力、安全可信赖的产品、解决方案与服务,与生态伙伴开放合作,持续为客户创造价值,释放个人潜能,丰富家庭生活,激发组织创新。华为坚持围绕客户需求持续创新,加大基础研究投入,厚积薄发,推动世界进步。

    作者简介

    张尧学:中国工程院院士,清华大学计算机系教授,湖南省科协主席,教育部软件工程专业教学指导委员会主任委员。长期从事操作系统、新型网络计算模式、计算机网络等领域研究。以第一完成人获得国家自然科学一等奖1项(2014年),国家技术发明二等奖1项(2004年),国家科学技术进步二等奖2项(2001年和1998年),省部级奖励5项,何梁何利科学与技术进步奖(2005年)。曾任中南大学校长(2011—2017年)。现担任Chinese Journal of Electronics主编,曾主编《计算机操作系统》等多本畅销教材。任炬 中南大学计算机学院教授,湖南省杰出青年基金获得者,中国科协青年托举人才,湖南省湖湘青年英才。研究方向包括物联网、操作系统、网络计算、网络大数据等。在国际著名期刊和会议上发表80多篇论文,曾获2019年IEEE TCSC早期职业成就奖以及多个国际会议最佳论文奖。现任IEEE TVT和PPNA两个国际期刊编委,曾任多个国际会议主席、程序委员会主席、领域主席等职务。 任炬:中南大学计算机学院教授,湖南省杰出青年基金获得者,中国科协青年托举人才,湖南省湖湘青年英才。研究方向包括物联网、操作系统、网络计算、网络大数据等。在国际著名期刊和会议上发表80多篇论文,曾获2019年IEEE TCSC早期职业成就奖以及多个国际会议最佳论文奖。现任IEEE TVT和PPNA两个国际期刊编委,曾任多个国际会议主席、程序委员会主席、领域主席等职务。
  • 第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缩略语
  • 精彩书评

    韩乃平 麒麟软件有限公司执行总裁 国际上基于Linux内核的操作系统社区版本有很多,但与国内CPU深入优化融合的很少;openEuler作为一个开源、免费、通用的 Linux服务器操作系统社区平台,通过开放的形式与国内外开发者共同构建开放、多元和架构包容的软件生态体系。本书从介绍操作系统概念、鲲鹏处理器开始,较为全面地描述了openEuler的原理与实现,对于参与openEuler社区开发工作,以及基于openEuler二次开发研制操作系统版本,都具有较高的参考价值。 陈海波 上海交通大学软件学院教授,国家杰出青年科学基金获得者 操作系统是计算机的“灵魂”,而对操作系统原理的深刻理解则依赖于实践。本书内容较新、知识点覆盖较为全面,并结合openEuler源码,对操作系统的核心模块做了详尽的介绍。对于想掌握操作系统原理的初学者,或是想致力于openEuler社区贡献的研发人员,本书都具有重要的参考价值。期待广大开发者从本书开始,从openEuler社区开始,共同促进国内系统软件的发展与繁荣。 武延军 中科院软件所智能软件研究中心主任 操作系统因其重要的学术和产业价值,成为国内外备受关注的领域。作为一门实践性质很强的学科,操作系统的高质量发展需要更多的实战型人才。本书针对工业级开源操作系统社区发行版openEuler,结合鲲鹏处理器的微架构特性,详细讲解操作系统的原理和实践,既扩充了openEuler开源社区的教学版图,又有望引导操作系统教学向实践倾斜。作为openEuler的深度参与者,我相信本书能够为广大学生和一线工程师提供更为直接的原理和实战指导。 张磊 统信软件技术有限公司高级副总裁 中国在基础核心软硬件,尤其在操作系统与处理器方面与世界水平仍有相当大的差距。在当前形势下,发展我们自己的操作系统具有更为重要的意义。openEuler是一款优秀的操作系统,统信软件也是openEuler的积极贡献者之一。本书对openEuler操作系统关键模块的原理与实现娓娓道来,也进一步分析其特有的实现,对于学习openEuler,进而参与相应系统的研发人员具有极大的帮助。“积水成渊,蛟龙生焉”,要想成就真“龙”,从本书开始是一个不错的选择。 江大勇 华为计算鲲鹏领域副总裁(基础软件) 操作系统是计算产业生态的关键,在软硬件堆栈中承上启下,是基础软件的基点、是生态的起点。开源社区是一种快速技术创新,提高社会、企业协作效率的软件生产模式,共建、共享、共治是openEuler社区的协作文化。本书对操作系统最关键的调度、文件系统、通信、内存管理、虚拟化等做了详尽的讲解,对操作系统与ARM处理器的结合进行了深入的分析。相信本书能引领openEuler操作系统系列书的出版,期待看到更多、更丰富的书,期待广大开发者、企业、组织加入openEuler社区,共同创造历史。
微信公众号

热门文章

更多