openEuler 操作系統

任炬、張堯學、彭許紅

  • openEuler 操作系統-preview-1
  • openEuler 操作系統-preview-2
  • openEuler 操作系統-preview-3
openEuler 操作系統-preview-1

買這商品的人也買了...

商品描述

本書是一部系統解析操作系統原理及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的基本原理及其智能決策和自動調優兩個核心模塊的關鍵技術。 
本書適合作為廣大高校電腦專業操作系統課程的輔助教材,
也可以作為操作系統內核開發者的自學參考用書。

目錄大綱



CONTENTS

目錄
第1章操作系統概述
1.1操作系統的基本概念
1.2操作系統的發展歷史
1.2.1手工操作時代
1.2.2批處理系統
1.2.3多道程序系統

1.2.4分時操作系統
1.2.5實時操作系統
1.3操作系統的基本功能
1.4操作系統的設計目標
1.5主流操作系統
1.5.1終端操作系統
1.5.2服務器操作系統
1.6操作系統的發展趨勢

1.6.1微內核
1.6.2庫操作系統

1.6.3外內核

1.6.4多內核

1.6.5離散化內核

1.7openEluer操作系統簡介

本章小結

第2章鯤鵬處理器

2.1鯤鵬處理器概述
2.2體系架構
2.3CPU編程模型
2.3.1中斷與異常
2.3.2異常級別
2.3.3寄存器
2.3.4指令集
2.4CPU訪存原理
2.4.1存儲器的層次結構
2.4.2內存
2.4.3內存管理單元
2.5鯤鵬處理器與openEuler

本章小結

第3章進程與線程
3.1進程的概念

3.1.1程序: 從源代碼到執行
3.1.2程序的並發執行與進程抽象
3.2進程的描述

3.2.1進程控制塊

3.2.2進程狀態
3.3進程的控制
3.3.1進程控制原語

3.3.2進程創建

3.3.3程序裝載

3.3.4進程終止
3.3.5openEuler中的進程樹
3.4系統調用
3.4.1基本概念
3.4.2系統調用的實現
3.5進程切換
3.5.1基本原理

3.5.2進程切換過程

3.6線程

3.6.1基本概念

3.6.2線程模型

3.6.3openEuler中線程的實現

本章小結

第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縮略語