-
>
闖進數學世界――探秘歷史名題
-
>
中醫基礎理論
-
>
當代中國政府與政治(新編21世紀公共管理系列教材)
-
>
高校軍事課教程
-
>
思想道德與法治(2021年版)
-
>
毛澤東思想和中國特色社會主義理論體系概論(2021年版)
-
>
中醫內科學·全國中醫藥行業高等教育“十四五”規劃教材
操作系統實踐-基于Linux的應用與內核編程 版權信息
- ISBN:9787302405276
- 條形碼:9787302405276 ; 978-7-302-40527-6
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
操作系統實踐-基于Linux的應用與內核編程 本書特色
本書結合多年操作系統課程理論與實踐教學經驗,基于當前流行的開源操作系統ubuntu14.04lts (linux內核3.13.0)設計了一組操作系統課程實驗。全書可分為兩大部分,**部分是linux操作與應用編程,包括linux常用命令、c語言編程工具和典型的linux應用開發,如多進程、進程通信等,并提供一個基于開源的qt框架和mysql數據庫的綜合實訓案例; 第二部分是linux內核編程,這一部分緊密結合操作系統課程的教學內容,包含進程管理、內存管理、設備驅動程序和虛擬文件系統等。實驗安排循序漸進,每個實驗都有相應的原理性內容作為鋪墊。配套電子資源提供所有實驗的源代碼及其他相關資料,可從清華大學出版社網站下載。本書特點是實驗環境新、內容結構層次分明、經典與前沿兼顧,并與理論教學內容相呼應。 本書既可作為高等院校計算機、電子信息類等專業的操作系統實驗課程教材,也可作為linux編程相關課程的教材。另外,致力于轉向*新linux開源開發環境的讀者也可以將其作為快速入門教程。
操作系統實踐-基于Linux的應用與內核編程 內容簡介
本書結合多年操作系統課程理論與實踐教學經驗,基于當前流行的開源操作系統Ubuntu14.04LTS (Linux內核3.13.0)設計了一組操作系統課程實驗。全書可分為兩大部分,**部分是Linux操作與應用編程,包括Linux常用命令、C語言編程工具和典型的Linux應用開發,如多進程、進程通信等,并提供一個基于開源的Qt框架和MySQL數據庫的綜合實訓案例; 第二部分是Linux內核編程,這一部分緊密結合操作系統課程的教學內容,包含進程管理、內存管理、設備驅動程序和虛擬文件系統等。實驗安排循序漸進,每個實驗都有相應的原理性內容作為鋪墊。配套電子資源提供所有實驗的源代碼及其他相關資料,可從清華大學出版社網站下載。本書特點是實驗環境新、內容結構層次分明、經典與前沿兼顧,并與理論教學內容相呼應。 本書既可作為高等院校計算機、電子信息類等專業的操作系統實驗課程教材,也可作為Linux編程相關課程的教材。另外,致力于轉向*新Linux開源開發環境的讀者也可以將其作為快速入門教程。
操作系統實踐-基于Linux的應用與內核編程 目錄
第1章linux概述
1.1linux的發展
1.1.1linux概念
1.1.2linux和unix的淵源
1.1.3與linux相關的協議和標準
1.2linux的內核架構
1.2.1linux操作系統結構
1.2.2linux內核體系結構
1.2.3內核版本和獲取
1.2.4內核源代碼目錄結構
1.3linux的主要版本
1.3.1linux版本介紹
1.3.2ubuntu的首次使用
1.4本章小結
習題
第2章linux基本命令與應用
2.1認識命令行
2.1.1terminal
2.1.2命令用法初體驗
2.1.3其他虛擬終端
2.1.4相關概念
2.2使用文本文件
2.2.1創建文本文件
2.2.2查看文本文件內容
2.2.3查找及統計
2.3目錄和文件
2.3.1目錄及文件的基本操作
2.3.2文件權限
2.4管理用戶和用戶組
2.4.1相關配置文件
2.4.2相關操作
2.5其他常見命令
2.5.1掛載和卸載設備
2.5.2安裝和卸載軟件
2.6本章小結
習題
練習
第3章從hello linux程序開始
3.1hello linux
3.1.1hello_linux的誕生
3.1.2linux平臺c語言編碼風格
3.1.3開發工具
3.2gcc編譯
3.2.1單文件的編譯
3.2.2多個源文件的編譯
3.2.3其他介紹
3.3gdb調試
3.3.1gdb介紹
3.3.2使用gdb調試c語言文件
3.4本章小結
習題
練習
第4章利用makefile管理一個工程
4.1**個makefile
4.1.1利用make編譯一個程序文件
4.1.2利用make編譯多個程序文件
4.2makefile的基本概念與規則
4.2.1makefile的基本概念
4.2.2規則
4.3本章小結
習題
練習
第5章linux系統中的時間
5.1時間表示
5.1.1linux系統時間
5.1.2linux應用程序時間函數
5.2利用程序顯示系統時間
5.2.1常用時間函數
5.2.2高級時間函數
5.3時間的測量與計時
5.3.1時間測量
5.3.2計時器
5.4本章小結
習題
練習
第6章多進程程序開發
6.1進程概念
6.2進程的創建
6.3連續調用多次fork函數
6.4啟動外部程序
6.5本章小結
習題
練習
第7章進程間通信
7.1概述
7.2管道通信
7.2.1管道概述
7.2.2無名管道
7.2.3命名管道
7.3套接字通信
7.3.1用文件套接字實現本地進程通信
7.3.2用網絡套接字實現網絡進程通信
7.4本章小結
習題
練習
第8章利用qt開發gui應用程序
8.1qt及qt creator
8.1.1qt簡介
8.1.2qt creator
8.1.3qt的安裝和啟動
8.1.4qt creator的界面組成
8.2用qt creator完成一個gui項目
8.2.1創建qt gui項目
8.2.2程序的運行
8.3信號和槽
8.3.1信號和槽的概念
8.3.2用信號槽機制響應gui事件
8.3.3關于信號槽的進一步說明
8.4qt設計師
8.4.1簡介
8.4.2qt設計師的功能
8.5本章小結
習題
練習
第9章mysql數據庫
9.1安裝mysql
9.2mysql的基本用法
9.2.1mysql管理
9.2.2數據庫操作
9.2.3數據類型
9.2.4表操作
9.2.5創建一個數據庫
9.3使用c語言訪問mysql數據庫
9.3.1連接數據庫
9.3.2執行sql語句
9.3.3處理數據
9.4本章小結
習題
練習
第10章linux綜合應用
10.1概述
10.1.1系統需求
10.1.2本章內容結構
10.2原型設計
10.2.1添加資源文件
10.2.2界面設計
10.2.3界面布局
10.2.4添加動作
10.3系統設計
10.3.1系統架構
10.3.2客戶端功能設計
10.3.3服務器功能設計
10.4系統實現
10.4.1數據結構(通信協議)
10.4.2客戶端實現
10.4.3服務器端實現
10.4.4幾點說明
10.5linux應用綜合實訓
10.6本章小結
第11章構建linux內核系統
11.1概述
11.2內核初始化
11.3內核配置
11.4內核構建
11.5本章小結
練習
第12章添加*簡單的linux內核模塊
12.1用戶態與內核態
12.1.1c/c++應用程序的運行機制
12.1.2linux內核模塊
12.2添加*簡單的linux內核模塊
12.2.1lkm代碼框架
12.2.2lkm編譯
12.2.3kello.c的編譯、添加和刪除
12.2.4lkm與c應用程序的差異
12.3printk和某些常見宏
12.3.1實時顯示內核模塊運行信息
12.3.2顯示位置信息
12.4本章小結
練習
第13章基于proc的linux進程控制塊信息讀取
13.1proc偽文件系統
13.1.1proc中的文件
13.1.2proc中文件的內容
13.1.3proc偽文件系統介紹
13.2linux中的進程控制塊
13.2.1linux進程控制塊task_struct
13.2.2進程重要信息解讀
13.3通過proc讀取linux進程信息
13.3.1創建proc文件
13.3.2基于seq_file機制的proc文件操作
13.3.3task_struct信息讀取過程
13.3.4tasklist內核模塊編譯和添加
13.3.5tasklist內核模塊工作流程
13.4task_struct重要信息
13.4.1linux進程調度策略
13.4.2進程優先級
13.4.3進程控制塊中的其他信息
13.5向proc文件寫入數據
13.5.1用戶空間和內核空間之間傳遞數據
13.5.2內核空間內存分配
13.5.3proc文件的寫操作函數
13.6本章小結
習題
練習
第14章posix多任務及同步機制
14.1fork創建進程
14.1.1fork創建進程的流程
14.1.2fork/exec創建進程的流程
14.1.3fork進階問題
14.2posix線程機制
14.2.1posix概述
14.2.2posix線程創建
14.3posix多線程及同步機制
14.3.1多個線程的資源競爭訪問
14.3.2posix同步機制
14.4條件變量與生產者消費者問題
14.4.1同步與互斥
14.4.2posix條件變量
14.4.3條件變量在生產者消費者問題中的應用
14.5本章小結
習題
練習
第15章用戶態和內核態信號量
15.1信號量與同步問題
15.1.1信號量概述
15.1.2同步問題
15.2posix信號量
15.2.1無名信號量
15.2.2有名信號量
15.2.3posix信號量用于線程同步問題
15.2.4posix信號量用于進程間同步
15.2.5linux中的信號量技術
15.3內核信號量和內核線程
15.3.1linux內核信號量
15.3.2linux內核線程
15.3.3內核信號量和線程的例子
15.3.4linux內核同步技術
15.4本章小結
習題
練習
第16章基于共享內存的進程間通信
16.1共享內存
16.2共享內存映射文件
16.2.1單個進程的內存映射文件
16.2.2多個進程間的內存映射文件的同步
16.3posix共享內存對象
16.4本章小結
習題
練習
第17章linux內存管理
17.1linux物理內存管理機制
17.1.1內存結點node
17.1.2內存結點zone
17.1.3物理頁框page
17.2ia32的尋址機制
17.2.1ia32的段機制
17.2.2ia32的頁面映射機制
17.2.3ia32中的控制寄存器以及pae、pse
17.3ia32結構上的linux地址映射機制
17.3.1linux中段地址映射機制
17.3.2ia32 linux段地址映射實驗
17.3.3ia32 linux頁地址映射
17.3.4ia32 linux頁地址映射實驗
17.4linux進程地址空間
17.4.1linux中進程的虛擬地址空間
17.4.2獲取進程虛擬地址空間信息
17.4.3linux中進程的虛擬存儲區域vma
17.4.4獲取進程的虛擬內存區域信息
17.4.5linux中進程、內存和文件的關系
17.5本章小結
習題
練習
第18章linux設備驅動程序
18.1概述
18.1.1設備管理基本概念
18.1.2linux字符設備管理
18.2字符設備cmos驅動程序
18.2.1cmos rtc信息
18.2.2獲取cmos rtc信息的驅動程序內核模塊
18.2.3cmos rtc驅動程序內核模塊測試
18.3基于內存映射的雜項設備驅動程序
18.3.1linux中的雜項設備
18.3.2設備驅動中的內存映射
18.3.3基于內存映射的雜項設備驅動程序
18.3.4測試
18.4本章小結
習題
練習
第19章linux虛擬文件系統
19.1概述
19.1.1vfs在linux中的作用
19.1.2vfs支持的文件系統類型
19.1.3vfs的基本數據結構
19.2vfs對象的操作
19.2.1注冊文件系統
19.2.2文件系統裝載
19.2.3與進程相關的文件系統數據結構
19.2.4從當前進程訪問linux內核vfs文件系統
19.3proc文件系統
19.3.1主要數據結構
19.3.2proc文件系統的操作
19.4本章小結
習題
練習
參考文獻
實驗目錄
第2章linux基本命令與應用
實驗1: 認識命令行的相關實驗
實驗2: 創建文本文件
實驗3: 查看文本文件
實驗4: 文本文件查找及統計
實驗5: 目錄及文件基本操作
實驗6: 文件權限
實驗7: 管理用戶和用戶組
實驗8: 其他常見操作
第3章從hello linux程序開始
實驗1: 簡單程序開發
實驗2: 單步編譯和多步編譯
實驗3: 瀏覽gdb內置命令
實驗4: 利用gdb調試程序
第4章利用makefile管理一個工程
實驗1: makefile與命令行編譯的比較
實驗2: 編寫makefile
第5章linux系統中的時間
實驗1: 編程顯示系統時間
實驗2: linux中的時間測量
實驗3: linux中的計時器
第6章多進程程序開發
實驗1: 利用fork創建進程
實驗2: 連續調用多次fork函數
實驗3: 啟動外部程序
第7章進程間通信
實驗1: 管道通信
實驗2: 文件套接字通信
實驗3: 網絡套接字通信
第8章利用qt開發gui應用程序
實驗1: qt的安裝與啟動
實驗2: 創建qt gui項目
實驗3: 信號槽機制
第9章mysql數據庫
實驗1: mysql數據庫操作
實驗2: mysql表操作
實驗3: 創建一個mysql數據庫
實驗4: 用c語言訪問mysql數據庫
第12章添加*簡單的linux內核模塊
實驗1: 添加*簡單的內核模塊kello
實驗2: 內核模塊輸出信息顯示
第13章基于proc的linux進程控制塊信息讀取
實驗1: 測試proc文件系統功能
實驗2: 創建顯示系統進程信息的proc模塊
實驗3: 顯示linux進程控制塊中更多的信息
第14章posix多任務及同步機制
實驗1: linux進程創建
實驗2: posix線程創建
實驗3: posix線程互斥和參數傳遞
實驗4: 使用posix條件變量實現線程同步
第15章用戶態和內核態信號量
實驗1: 使用posix信號量實現線程同步
實驗2: 使用posix信號量實現進程同步
實驗3: 創建linux內核線程并使用內核信號量實現同步
第16章基于共享內存的進程間通信
實驗1: 使用內存映射文件實現進程間通信
實驗2: 使用共享內存對象實現進程同步
第17章linux內存管理
實驗1: 獲取ia32段寄存器中的描述符
實驗2: 獲取ia32中的全局段表信息
實驗3: 獲取c程序中一個邏輯地址對應的物理地址
實驗4: 顯示進程的虛擬內存地址空間分布信息
實驗5: 獲取一個進程的虛擬存儲區域信息
第18章linux設備驅動程序
實驗1: 實現讀取cmos實時時鐘信息的驅動程序
實驗2: 實現一個基于內存映射的設備驅動程序
第19章linux虛擬文件系統
實驗1: 訪問linux內核虛擬文件系統
實驗2: 加載newproc文件系統
- >
我與地壇
- >
史學評論
- >
我從未如此眷戀人間
- >
新文學天穹兩巨星--魯迅與胡適/紅燭學術叢書(紅燭學術叢書)
- >
回憶愛瑪儂
- >
小考拉的故事-套裝共3冊
- >
隨園食單
- >
李白與唐代文化