編輯推薦
《UNIX操作係統教程(第3版)》即可作為高等院校相關專業的操作係統課程教材,也可為需要瞭解和研究UNIX技術和應用的設計開發人員提供有益的支持和參考。UNIX操作係統和所包含的核心技術在經曆瞭近半個世紀的風雨和磨難後,在新的流行操作係統如火如荼發展的今天又重新受到大傢的關注,因為學術界、産業界和教育界都意識到瞭此項技術對於今天操作係統發展所起到的不可替代的作用和産生的重要影響。因此如何科學地研究、學習和掌握UNIX技術?如何把握好UNIX技術研究和UNIX應用技術學習的尺度?如何將操作係統的理論學習和實際係統的設計技術相結閤?如何在係統學習操作係統技術的同時,給學生或讀者提供概念清晰、易於實踐的教學讀本?是很多操作係統授課老師時常思考的問題。經過多年的教學實踐,作者對上述問題有瞭自己獨特的理解,並力求將這些解決方案集中體現在本教程的第3次修訂中,希望廣大讀者和教師能從中獲益。
在本次修訂中,特彆增添瞭一些UNIX實用編程設計技術,同時為滿足學生和讀者提齣的自學要求,添加瞭一些指導性的實例教學內容。為配閤部分高校老師的教學,對有些教學內容和教學層次也做瞭適當修訂。
內容簡介
本教材第3版修訂中刪減瞭第2版中一些過時的UNIX技術和描述,增加瞭針對Linux係統設計技術和使用技術的闡述,增加瞭對UNIX環境編程實用技術的描述。其中第1章是有關UNIX技術的概述,第2~4章描述UNIX應用技術,第5~6章重點說明UNIX環境的編程技術,第7~11章闡述UNIX內核實現技術,第12~14章描述UNIX擴展知識。《UNIX操作係統教程(第3版)》講解細緻,由淺入深,全麵論述瞭UNIX係統的核心技術與操作係統的基本原理。新版教材更加實用,非常適閤作為高等院校計算機及相關專業的操作係統等課程的教材,同時也適閤對UNIX係統技術感興趣的廣大讀者自學。
內頁插圖
目錄
第1章 緒論
1.1 操作係統概述
1.1.1 建立操作係統的目標
1.1.2 操作係統是用戶與計算機的接口
1.1.3 操作係統是資源管理器
1.2 UNIX係統的主要特性
1.3 UNIX係統的發展史
1.4 開源軟件與UNIX的推廣發展
1.4.1 開源軟件
1.4.2 促進UNIX發展的重要組織機構
1.4.3 各種UNIX係統分支
習題
第2章 UNIX基本概念及入門技術
2.1 UNIX係統基本常識
2.1.1 兩種前端機
2.1.2 用戶的注冊與注銷
2.1.3 賬戶的管理
2.1.4 用戶口令的管理
2.1.5 用戶組信息
2.2 初識UNIX的shell
2.2.1 什麼是shell程序
2.2.2 shell的內部命令和外部命令
2.3 UNIX係統啓動及用戶登錄過程
2.3.1 UNIX係統的啓動方式
2.3.2 UNIX係統的啓動過程
2.3.3 Linux引導過程實例
2.3.4 用戶的登錄過程
2.4 UNIX常用命令介紹
2.4.1 UNIX命令使用方法
2.4.2 多命令行及多行命令
2.4.3 一般常用命令
2.4.4 用於目錄操作的命令
2.4.5 用於文件操作的命令
2.4.6 有關狀態及信息查詢的命令
2.4.7 用於網絡和通信的命令
2.5 UNIX係統體係結構
2.5.1 傳統UNIX係統體係結構
2.5.2 現代UNIX係統體係結構
2.6 UNIX係統使用注意事項
2.6.1 正確選擇用戶訪問權限
2.6.2 移動存儲設備的使用
2.6.3 UNIX對多種文件係統類型的支持
2.7 本章小結
習題
第3章 編輯UNIX的文本文件
3.1 標準編輯器ed
3.1.1 使用edc的基本常識
3.1.2 元字符和正則錶達式
3.1.3 如何進入ed.c退齣ed及保存文本文件
3.1.4 ed中的常用命令
3.2 全屏幕編輯器vi
3.2.1 如何進入vi.c退齣vi及保存一個文件
3.2.2 命令行方式下的常用命令
3.2.3 末行命令方式下的常用命令
3.2.4 進入插入編輯方式的常用命令
3.2.5 使用vi的注意事項
3.2.6 vi環境的設置
3.3 Emacs編輯器
3.3.1 Emacs的使用方法
3.3.2 Emacs主菜單功能簡介
3.3.3 Emacs中的功能鍵
3.4 本章小結
習題
第4章 UNIX係統的shell
4.1 shell概述
4.1.1 shell的基本功能
4.1.2 多種UNIX的shell
4.2 shell的內部特性
4.2.1 shell的命令解釋過程
4.2.2 UNIX係統定義的標準流
4.2.3 shell語法管理
4.2.4 c標準流重定嚮與管道綫控製
4.2.5 錯誤流重定嚮
4.2.6 命令執行控製及濾波功能
4.3 shell的環境設置
4.3.1 shell環境變量
4.3.2 Linux係統的shell環境配置
4.3.3 Korncshell環境設置
4.3.4 Ccshell環境設置
4.4 本章小結
習題
第5章 shell程序設計
5.1 shell編程的基本知識
5.1.1 shell程序可完成的工作
5.1.2 shell程序編寫格式
5.1.3 shell程序的運行方式
5.2 shell變量的使用
5.2.1 shell變量及變量賦值
5.2.2 變量的訪問及變量參數替換
5.2.3 變量的作用域
5.2.4 shell的預定義變量和環境變量
5.2.5 shell中命令的位置變量
5.2.6 變量替換
5.2.7 用命令做變量替換
5.3 test命令的使用
5.3.1 對文件特性的測試
5.3.2 對字符串內容的測試_
5.3.3 對整數n的測試
5.4 shell程序的控製流
5.4.1 命令的返迴狀態
5.4.2 程序的控製結構
5.5 條件控製語句
5.6 循環語句
5.7 shell編程中常用的其他語句
5.8 shell程序的輸齣
5.9 shell程序的調試方法
5.10 本章小結
習題
第6章 UNIX係統編程基礎
6.1 程序設計環境
6.1.1 理想中的程序設計環境
6.1.2 多任務環境下的程序執行
6.2 基於操作係統支持的程序設計
6.2.1 建立係統編程思想
6.2.2 UNIX提供的係統支持
6.2.3 關於UNIX的係統調用
6.2.4 係統調用與庫函數的關係
6.3 在UNIX環境中完成C編程
6.3.1 編程需要掌握的工具
6.3.2 makefile文件編寫
6.3.3 C程序的編譯與調試
6.3.4 鏈接特殊庫函數
6.4 常用函數庫glib的使用
6.4.1 glib基本類型定義
6.4.2 glib的宏
6.4.3 內存管理函數
6.4.4 字符串處理函數
6.4.5 glib可支持的數據結構
6.4.6 GString
6.4.7 計時器函數
6.4.8 錯誤處理函數
6.5 其他有關函數庫
6.5.1 libxml庫
6.5.2 readline庫
6.5.3 curses庫
6.6 本章小結
習題
第7章 UNIX文件管理係統
7.1 UNIX文件的概念
7.2 UNIX文件分類
7.2.1 普通文件
7.2.2 目錄文件
7.2.3 特殊文件
7.2.4 管道文件
7.2.5 鏈接文件
7.3 UNIX文件係統
7.3.1 文件的組織及命名
7.3.2 文件的許可機製
7.3.3 文件係統功能及結構
7.3.4 係統中的特殊目錄
7.3.5 文件係統的安裝與卸載
7.4 UNIX文件係統內部存儲方式
7.4.1 邏輯捲與物理捲
7.4.2 文件係統的存儲結構
7.4.3 索引節點和目錄文件的作用
7.4.4 多重索引存儲結構
7.5 UNIX文件係統的動態管理技術
7.5.1 支持多種文件係統的機製
7.5.2 文件信息的動態管理
7.5.3 文件的檢索過程
7.5.4 文件共享方式
7.6 用於文件管理的係統調用
7.6.1 文件描述符
7.6.2 用於文件創建和文件鏈接的係統調用
7.6.3 文件打開與關閉的係統調用
7.6.4 文件的讀、寫係統調用
7.7 文件隨機存取技術
7.7.1 改變文件指針位置
7.7.2 捕獲當前文件指針位置
7.8 文件記錄管理技術
7.8.1 記錄鎖定技術描述
7.8.2 記錄鎖定技術舉例
7.9 常用文件係統備份與恢復技術
7.10 本章小結
習題
第8章 UNIX的進程管理
8.1 進程的基本概念
8.1.1 程序的並發執行
8.1.2 進程的定義和描述
8.1.3 進程的狀態
8.1.4 進程控製基本概念
8.2 UNIX進程管理機製
8.2.1 進程創建
8.2.2 進程描述
8.2.3 進程管理數據結構
8.3 IJNIX命令執行及進程屬性
8.3.1 命令執行與進程相關
8.3.2 進程屬性說明
8.4 UNIX進程調度與管理
8.4.1 UNIX進程狀態及其轉換
8.4.2 UNIX進程調度程序
8.4.3 IJNIX進程調度策略及其實現
8.5 UNIX進程管理的係統調用
8.5.1 進程管理係統調用的作用
8.5.2 進程的創建
8.5.3 控製進程執行特定任務
8.5.4.控製進程的終止
8.5.5 進程的同步
8.5.6 庫函數system
8.6 本章小結
習題
第9章 UNIX存儲管理
9.1 存儲管理基本概念
9.1.1 存儲器配置原則
9.1.2 存儲管理基本任務
9.2 地址重定位
9.2.1 邏輯地址空間
9.2.2 物理地址空間
9.2.3 地址重定位
9.3 常用存儲管理技術
9.3.1 連續內存分配方式
9.3.2 覆蓋和交換技術
9.3.3 分頁管理技術
9.3.4 段式管理技術
9.4 虛擬存儲技術
9.4.1 局部性原理
9.4.2 虛擬存儲思想
9.4.3 虛擬存儲實現方法
9.4.4 虛擬存儲頁麵置換算法
9.5 UNIX存儲管理策略
9.5.1 交換策略
9.5.2 請求調頁策略
9.6 Linux為存管理實現技術
9.6.1 Linux存儲地址識彆
9.6.2 Linux進程存儲空間
9.6.3 Linux的分段模型
9.6.4 Linux的分頁模型
9.6.5 Linux進程虛地址空間描述
9.6.6 Linux物理內存空間管理
9.6.7 基於Slab的緩存管理
9.7 本章小結
習題
第10章 UNIX係統的進程通信
10.1 進程通信的基本概念
10.1.1 進程通信的分類
10.1.2 進程間通信
10.1.3 進程通信實現方式
10.2 UNIX的基本通信技術
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.5 UNIX的IP-l
10.5.1 UNIX SystemV IPC基本機製
10.5.2 消息隊列
10.5.3 Linux係統的IPC機製
10.6 本章小結
習題
第11章 UNIX的設備管理
11.1 設備管理的基本概念
11.1.1 設備管理模塊的功能
11.1.2 設備分類管理
11.1.3 I/O傳輸控製技術
11.1.4 虛擬設備管理技術
11.2 UNIX的設備管理結構
11.2.1 設備管理體係結構
11.2.2 UNIX的設備分類標識
11.2.3 UNIX的設備特殊文件
11.2.4 邏輯設備描述及訪問
11.3 設備狀態及設備控製
11.3.1 設備狀態及其轉換
11.3.2 設備控製策略
11.4 設備驅動與係統內核間的關聯
11.4.1 設備驅動程序
11.4.2 驅動程序與內核間的關聯
11.4.3 設備驅動程序與文件係統的關係
11.5 塊設備的數據高速緩存機製
11.5.1 緩衝控製塊的設置
11.5.2 緩衝池的結構
11.5.3 緩衝區的分配與釋放
11.6 對設備做讀寫操作
11.6.1 塊設備的讀寫
11.6.2 字符設備的讀寫
11.7 Linux係統設備管理問題
11.7.1 Linux設備驅動程序的特點
11.7.2 驅動程序與外界的接口
11.7.3 驅動程序的基本結構
11.7.4 常用設備接口
11.7.5 外設連接自動檢測技術
11.8 本章小結
習題
第12章 UNIX的多綫程環境
12.1 綫程的基本概念
12.1.1 多綫程基礎
12.1.2 包含綫程的進程模型
12.2 多綫程平颱特性
12.2.1 設計中可利用綫程改進程序的響應能力
12.2.2 處理器結構改善直接影響程序執行效率
12.2.3 綫程的執行狀態及運行特性
12.3 多綫程管理模式
12.3.1 純用戶級綫程管理模式
12.3.2 純核心級綫程管理模式
12.3.3 組閤型的綫程管理模式
12.4 UNIX的多綫程管理結構
12.5 多綫程編程
12.5.1 多綫程程序結構的改變
12.5.2 多綫程標準庫
12.5.3 多綫程編程規則
12.6 多綫程程序設計技術
12.6.1 創建和使用簡單綫程
12.6.2 對綫程的常用操作
12.6.3 綫程中使用的數據
12.7 多綫程程序設計綜閤舉例
12.8 本章小結
習題
第13章 UNIX網絡特性及支撐環境
13.1 計算機網絡基本知識
13.1.1 通信子網
13.1.2 資源子網
13.1.3 計算機網絡的主要功能
13.1.4 計算機網絡分類
13.1.5 計算機網絡體係結構
13.1.6 網絡中的傳輸介質和連接
13.1.7 網絡操作係統
13.2 UNIX網絡結構及支持協議
13.2.1 LINIX網絡分層結構
13.2.2 UNIX中的TCP/IP協議
13.2.3 UNIX係統支持的UUCP協議
13.2.4 基於協議的Internet應用
13.3 網絡間進程通信
13.3.1 套接字解決的問題
13.3.2 套接字通信的基本知識
13.3.3 套接字和套接字地址
13.3.4 套接字在虛電路服務中的應用
13.3.5 套接字在數據報服務中的應用
13.3.6 套接字協議族
13.3.7 套接字類型
13.3.8 套接字函數
13.4 用UNIX平颱構建Internet網絡環境
13.4.1 用戶域名和IP地址
13.4.2 TCP/IP配置信息
13.4.3 電子郵件服務
13.4.4 遠程文件傳輸服務
13.4.5 遠程登錄telnet服務
13.4.6 網絡文件係統
13.5 本章小結
習題
第14章 X-Window及其他實用程序
14.1 X-Window
14.1.1 x-Window的特徵
14.1.2 x-Window的工作方式
14.1.3 x-Window的組成部件
14.1.4 x-Window編程環境介紹
14.2 數據檢索加工工具awk
14.2.1 awk基本描述
14.2.2 awk中的記錄和字段
14.2.3 awk中使用的模式
14.2.4 awk中的操作語句
14.3 程序管理器
14.3.1 源代碼控製係統SCCS
14.3.2 並行開發程序管理器
14.4 詞法分析和語法分析生成工具
14.5 本章小結
習題
附錄A UNIX係統中的常用係統調用
附錄B Linux係統中的C環境
附錄C UNIX/Linux常用命令
參考文獻
精彩書摘
1.2 UNIX係統的主要特性
UNIX係統實現技術中有很多優秀的技術特點,在操作係統的發展曆程中,它們一直占據著技術上的製高點。很長一個階段中,UNIX是許多其他操作係統學習模仿的樣闆。UNIX係統的特點和優勢很多,此處我們僅列齣幾個主要的特徵,便於大傢對UNIX係統有一個初步的瞭解。
1.用簡單的設計技術和方法去完成較復雜、較全麵的功能
在UNIX係統的設計中,所采用的最基本的設計思想是將復雜的問題進行分解,用最簡單、最基本的功能模塊做堆積、連接、組閤來解決復雜問題。這樣在設計上不但可以保證每個基本模塊功能單一、易於實現、設計結構清晰,而且組閤使用的效果也會比較理想。也正是因為這種設計思想的齣現,纔引發瞭軟件規範化模塊化設計、軟件構件可重用理論與方法的研究,這也是當今軟件工程設計的重要思想。隨著基本設計模塊的不斷積纍,設計庫的不斷豐富壯大,UNIX係統的延展性、可移植性得到瞭充分的發揮,並大大縮減瞭設計的工作量和工程實現時間。這也是UNIX係統不斷被新的計算機係統所接受的重要原因之一。
2.支持多用戶、多任務的運行環境
由於UNIX係統內部采用分時多任務調度管理策略,它不但可以支持某一用戶在某一時刻和某一地點上的多種請求,而且能夠同時滿足多個用戶的相同或不同的請求。采用多用戶分時多任務調度管理策略,計算機可為多個用戶的一般性請求提供服務。比如,用戶可以在進行數據處理的同時嚮另一個用戶發送電子郵件;在邊播放音樂的同時瀏覽相關網站的信息。這種方式與我們在日常生活中做事的情況很相似。一般微機上的UNIX係統就可以支持多個用戶的同時請求,在大型機中運行的UNIX係統,更是可以支持幾百個用戶同時進行工作。由於UNIX具有良好的多用戶分時多任務調度管理特點,這些共同使用UNIX係統的用戶並不會感覺到所使用的計算機資源被分割、被搶占,而是感覺自己在獨占計算機資源。
3.文件係統可隨意裝卸
由於UNIX係統采用模塊化的結構進行設計,為瞭便於
UNIX操作係統教程(第3版)/普通高等教育“十一五”國傢級規劃教材 下載 mobi epub pdf txt 電子書 格式