關于我們
書單推薦
新書推薦
|
操作系統(tǒng)——精髓與設計原理(第九版) 讀者對象:本書可作為高等學校計算機科學與技術專業(yè)操作系統(tǒng)課程的教材,也可供其他專業(yè)學生參考。
本書既是關于操作系統(tǒng)概念、結構和機制的教材,目的是盡可能清楚和全面地展示現(xiàn)代操作系統(tǒng)的本質(zhì)和特點;也是講解操作系統(tǒng)的經(jīng)典教材,不僅系統(tǒng)地講述了操作系統(tǒng)的基本概念、原理和方法,而且以當代最流行的操作系統(tǒng)Windows 10、UNIX、Android、Linux為例,展現(xiàn)了當代操作系統(tǒng)的本質(zhì)和特點。全書共分背景知識、進程、內(nèi)存、調(diào)度、輸入/輸出和文件、嵌入式系統(tǒng)六部分,內(nèi)容包括計算機系統(tǒng)概述、操作系統(tǒng)概述、進程描述和控制、線程、并發(fā)性:互斥和同步、并發(fā):死鎖和饑餓、內(nèi)存管理、虛擬內(nèi)存、單處理器調(diào)度、多處理器和實時調(diào)度、I/O管理和磁盤調(diào)度、文件管理、嵌入式操作系統(tǒng)、虛擬機、計算機安全技術、云操作系統(tǒng)和IoT操作系統(tǒng)等。此外,本書配套網(wǎng)站提供了及時、生動的材料。
William Stallings,美國圣母大學電氣工程專業(yè)學士,麻省理工學院計算機科學系博士。William Stallings已出版圖書18種,含修訂版在內(nèi)共出版圖書40種,內(nèi)容涉及計算機安全、計算機網(wǎng)絡和計算機體系結構。在多家期刊上發(fā)表了大量論文,包括Proceedings of the IEEE、ACM Computing Reviews和Cryptologia。13次榮獲教材與學術作者協(xié)會頒發(fā)的最佳計算機科學教材獎。在計算機科學領域的30多年,William Stallings一直是一位技術貢獻者、技術管理者和多家高科技公司的主管;針對許多計算機和操作系統(tǒng),設計和實現(xiàn)了基于TCP/IP與基于OSI的協(xié)議套件。
關于作者William Stallings,美國圣母大學電氣工程專業(yè)學士,麻省理工學院計算機科學專業(yè)博士。William Stallings已出版圖書近20種,含修訂版在內(nèi)共出版圖書40種,內(nèi)容涉及計算機安全、計算機網(wǎng)絡和計算機體系結構。在多家期刊上發(fā)表了大量論文,包括《IEEE進展》《ACM計算評論》和《密碼術》。13次榮獲教材與學術作者協(xié)會頒發(fā)的最佳計算機科學教科書獎。在計算機科學領域工作的30多年,William Stallings一直是一位技術貢獻者、技術管理者和多家高科技公司的主管;針對許多計算機和操作系統(tǒng),設計和實現(xiàn)了基于TCP/IP與基于OSI的協(xié)議套件。William Stallings還是政府機構、計算機和軟件供應商以及設計、選用網(wǎng)絡軟件與產(chǎn)品的用戶的顧問。創(chuàng)建與維護了計算機科學專業(yè)學生資源網(wǎng)站ComputerScienceStudent.com,為計算機科學專業(yè)的學生(及專業(yè)人員)提供文獻及大量專題鏈接,也是學術期刊《密碼術》的編委會成員。
第一部分 背景知識
第1章 計算機系統(tǒng)概述 2 1.1 基本構成 2 1.2 微處理器的發(fā)展 3 1.3 指令的執(zhí)行 4 1.4 中斷 6 1.4.1 中斷和指令周期 7 1.4.2 中斷處理 8 1.4.3 多個中斷 10 1.5 存儲器的層次結構 11 1.6 高速緩存 13 1.6.1 動機 13 1.6.2 高速緩存原理 13 1.6.3 高速緩存設計 15 1.7 直接內(nèi)存存取 15 1.8 多處理器和多核計算機組織結構 16 1.8.1 對稱多處理器 16 1.8.2 多核計算機 17 1.9 關鍵術語、復習題和習題 19 1.9.1 關鍵術語 19 1.9.2 復習題 19 1.9.3 習題 19 附錄1A 兩級存儲器的性能特征 21 第2章 操作系統(tǒng)概述 26 2.1 操作系統(tǒng)的目標和功能 26 2.1.1 作為用戶/計算機接口的 操作系統(tǒng) 26 2.1.2 作為資源管理器的操作系統(tǒng) 27 2.1.3 操作系統(tǒng)的易擴展性 28 2.2 操作系統(tǒng)的演化 29 2.2.1 串行處理 29 2.2.2 簡單批處理系統(tǒng) 29 2.2.3 多道批處理系統(tǒng) 31 2.2.4 分時系統(tǒng) 33 2.3 主要成就 34 2.3.1 進程 34 2.3.2 內(nèi)存管理 36 2.3.3 信息保護和安全 37 2.3.4 調(diào)度和資源管理 38 2.4 現(xiàn)代操作系統(tǒng)的特征 39 2.5 容錯性 40 2.5.1 基本概念 41 2.5.2 錯誤 41 2.5.3 操作系統(tǒng)機制 42 2.6 多處理器和多核操作系統(tǒng)設計 考慮因素 42 2.6.1 對稱多處理器操作系統(tǒng)設計 考慮因素 42 2.6.2 多核操作系統(tǒng)設計考慮因素 43 2.7 微軟Windows系統(tǒng)簡介 44 2.7.1 背景 44 2.7.2 體系結構 44 2.7.3 客戶-服務器模型 46 2.7.4 線程和SMP 47 2.7.5 Windows對象 47 2.8 傳統(tǒng)的UNIX系統(tǒng) 48 2.8.1 歷史 48 2.8.2 描述 49 2.9 現(xiàn)代UNIX系統(tǒng) 50 2.9.1 System V Release 4(SVR4) 51 2.9.2 BSD 51 2.9.3 Solaris 11 51 2.10 Linux操作系統(tǒng) 51 2.10.1 歷史 51 2.10.2 模塊結構 52 2.10.3 內(nèi)核組件 53 2.11 Android 55 2.11.1 Android軟件體系結構 56 2.11.2 Android運行時 57 2.11.3 Android系統(tǒng)體系結構 59 2.11.4 活動 60 2.11.5 電源管理 60 2.12 關鍵術語、復習題和習題 60 2.12.1 關鍵術語 60 2.12.2 復習題 61 2.12.3 習題 61 第二部分 進程 第3章 進程描述和控制 64 3.1 什么是進程 64 3.1.1 背景 64 3.1.2 進程和進程控制塊 65 3.2 進程狀態(tài) 66 3.2.1 兩狀態(tài)進程模型 67 3.2.2 進程的創(chuàng)建和終止 68 3.2.3 五狀態(tài)模型 69 3.2.4 被掛起的進程 71 3.3 進程描述 74 3.3.1 操作系統(tǒng)的控制結構 75 3.3.2 進程控制結構 75 3.4 進程控制 79 3.4.1 執(zhí)行模式 79 3.4.2 進程創(chuàng)建 80 3.4.3 進程切換 81 3.5 操作系統(tǒng)的執(zhí)行 82 3.5.1 無進程內(nèi)核 82 3.5.2 在用戶進程內(nèi)運行 83 3.5.3 基于進程的操作系統(tǒng) 84 3.6 UNIX SVR4進程管理 84 3.6.1 進程狀態(tài) 84 3.6.2 進程描述 85 3.6.3 進程控制 87 3.7 小結 87 3.8 關鍵術語、復習題和習題 88 3.8.1 關鍵術語 88 3.8.2 復習題 88 3.8.3 習題 88 第4章 線程 91 4.1 進程和線程 91 4.1.1 多線程 91 4.1.2 線程的功能 93 4.2 線程分類 95 4.2.1 用戶級和內(nèi)核級線程 95 4.2.2 其他方案 97 4.3 多核和多線程 99 4.3.1 多核系統(tǒng)上的軟件性能 99 4.3.2 應用示例:Valve游戲軟件 100 4.4 Windows的進程和線程管理 101 4.4.1 后臺任務管理和應用生命 周期 102 4.4.2 Windows進程 103 4.4.3 進程對象和線程對象 103 4.4.4 多線程 104 4.4.5 線程狀態(tài) 104 4.4.6 對操作系統(tǒng)子系統(tǒng)的支持 105 4.5 Solaris的線程和SMP管理 106 4.5.1 多線程體系結構 106 4.5.2 動機 106 4.5.3 進程結構 107 4.5.4 線程的執(zhí)行 108 4.5.5 把中斷當作線程 108 4.6 Linux的進程和線程管理 109 4.6.1 Linux任務 109 4.6.2 Linux線程 110 4.6.3 Linux命名空間 111 4.7 Android的進程和線程管理 112 4.7.1 安卓應用 112 4.7.2 活動 113 4.7.3 進程和線程 114 4.8 Mac OS X的GCD技術 114 4.9 小結 116 4.10 關鍵術語、復習題和習題 116 4.10.1 關鍵術語 116 4.10.2 復習題 116 4.10.3 習題 117 第5章 并發(fā):互斥和同步 121 5.1 互斥:軟件解決方法 122 5.1.1 Dekker算法 122 5.1.2 Peterson算法 125 5.2 并發(fā)的原理 126 5.2.1 一個簡單的例子 127 5.2.2 競爭條件 128 5.2.3 操作系統(tǒng)關注的問題 128 5.2.4 進程的交互 128 5.2.5 互斥的要求 131 5.3 互斥:硬件的支持 131 5.3.1 中斷禁用 131 5.3.2 專用機器指令 132 5.4 信號量 133 5.4.1 互斥 136 5.4.2 生產(chǎn)者/消費者問題 137 5.4.3 信號量的實現(xiàn) 142 5.5 管程 142 5.5.1 使用信號的管程 142 5.5.2 使用通知和廣播的管程 145 5.6 消息傳遞 146 5.6.1 同步 147 5.6.2 尋址 148 5.6.3 消息格式 149 5.6.4 排隊原則 149 5.6.5 互斥 149 5.7 讀者/寫者問題 150 5.7.1 讀者優(yōu)先 151 5.7.2 寫者優(yōu)先 152 5.8 小結 154 5.9 關鍵術語、復習題和習題 154 5.9.1 關鍵術語 154 5.9.2 復習題 154 5.9.3 習題 155 第6章 并發(fā):死鎖和饑餓 164 6.1 死鎖原理 164 6.1.1 可重用資源 167 6.1.2 可消耗資源 167 6.1.3 資源分配圖 168 6.1.4 死鎖的條件 169 6.2 死鎖預防 169 6.2.1 互斥 170 6.2.2 占有且等待 170 6.2.3 不可搶占 170 6.2.4 循環(huán)等待 170 6.3 死鎖避免 170 6.3.1 進程啟動拒絕 171 6.3.2 資源分配拒絕 171 6.4 死鎖檢測 174 6.4.1 死鎖檢測算法 174 6.4.2 恢復 175 6.5 一種綜合的死鎖策略 175 6.6 哲學家就餐問題 176 6.6.1 基于信號量的解決方案 177 6.6.2 基于管程的解決方案 178 6.7 UNIX并發(fā)機制 178 6.7.1 管道 179 6.7.2 消息 179 6.7.3 共享內(nèi)存 179 6.7.4 信號量 179 6.7.5 信號 180 6.8 Linux內(nèi)核并發(fā)機制 180 6.8.1 原子操作 181 6.8.2 自旋鎖 182 6.8.3 信號量 183 6.8.4 屏障 184 6.9 Solaris線程同步原語 185 6.9.1 互斥鎖 186 6.9.2 信號量 186 6.9.3 多讀者/單寫者鎖 186 6.9.4 條件變量 187 6.10 Windows的并發(fā)機制 187 6.10.1 等待函數(shù) 187 6.10.2 分派器對象 187 6.10.3 臨界區(qū) 188 6.10.4 輕量級讀寫鎖和條件變量 188 6.10.5 鎖無關同步機制 189 6.11 Android進程間通信 189 6.12 小結 190 6.13 關鍵術語、復習題和習題 190 6.13.1 關鍵術語 190 6.13.2 復習題 190 6.13.3 習題 191 第三部分 內(nèi)存 第7章 內(nèi)存管理 196 7.1 內(nèi)存管理的需求 196 7.1.1 重定位 196 7.1.2 保護 197 7.1.3 共享 197 7.1.4 邏輯組織 197 7.1.5 物理組織 198 7.2 內(nèi)存分區(qū) 198 7.2.1 固定分區(qū) 198 7.2.2 動態(tài)分區(qū) 200 7.2.3 伙伴系統(tǒng) 202 7.2.4 重定位 203 7.3 分頁 204 7.4 分段 206 7.5 小結 207 7.6 關鍵術語、復習題和習題 207 7.6.1 關鍵術語 207 7.6.2 復習題 208 7.6.3 習題 208 附錄7A 加載和鏈接 210 第8章 虛擬內(nèi)存 214 8.1 硬件和控制結構 214 8.1.1 局部性和虛擬內(nèi)存 215 8.1.2 分頁 216 8.1.3 分段 222 8.1.4 段頁式 223 8.1.5 保護和共享 224 8.2 操作系統(tǒng)軟件 224 8.2.1 讀取策略 225 8.2.2 放置策略 226 8.2.3 置換策略 226 8.2.4 駐留集管理 230 8.2.5 清除策略 234 8.2.6 加載控制 234 8.3 UNIX和Solaris內(nèi)存管理 235 8.3.1 分頁系統(tǒng) 235 8.3.2 內(nèi)核內(nèi)存分配器 237 8.4 Linux內(nèi)存管理 238 8.4.1 虛擬內(nèi)存 239 8.4.2 內(nèi)核內(nèi)存分配 240 8.5 Windows內(nèi)存管理 240 8.5.1 Windows虛擬地址映射 241 8.5.2 Windows分頁 241 8.5.3 Windows交換 242 8.6 Android內(nèi)存管理 242 8.7 小結 242 8.8 關鍵術語、復習題和習題 243 8.8.1 關鍵術語 243 8.8.2 復習題 243 8.8.3 習題 243 第四部分 調(diào)度 第9章 單處理器調(diào)度 248 9.1 處理器調(diào)度的類型 248 9.1.1 長程調(diào)度 249 9.1.2 中程調(diào)度 250 9.1.3 短程調(diào)度 250 9.2 調(diào)度算法 250 9.2.1 短程調(diào)度規(guī)則 250 9.2.2 優(yōu)先級的使用 251 9.2.3 選擇調(diào)度策略 252 9.2.4 性能比較 258 9.2.5 公平共享調(diào)度 261 9.3 傳統(tǒng)的UNIX調(diào)度 263 9.4 小結 264 9.5 關鍵術語、復習題和習題 264 9.5.1 關鍵術語 264 9.5.2 復習題 264 9.5.3 習題 265 第10章 多處理器、多核和實時調(diào)度 268 10.1 多處理器和多核調(diào)度 268 10.1.1 粒度 268 10.1.2 設計問題 269 10.1.3 進程調(diào)度 270 10.1.4 線程調(diào)度 271 10.1.5 多核線程調(diào)度 275 10.2 實時調(diào)度 276 10.2.1 背景 276 10.2.2 實時操作系統(tǒng)的特點 276 10.2.3 實時調(diào)度 278 10.2.4 限期調(diào)度 279 10.2.5 速率單調(diào)調(diào)度 282 10.2.6 優(yōu)先級反轉 284 10.3 Linux調(diào)度 285 10.3.1 實時調(diào)度 285 10.3.2 非實時調(diào)度 286 10.4 UNIX SVR4調(diào)度 287 10.5 FreeBSD調(diào)度程序 288 10.5.1 優(yōu)先級 288 10.5.2 對稱多處理器與多核支持 289 10.6 Windows調(diào)度 290 10.6.1 進程和線程優(yōu)先級 290 10.6.2 多處理器調(diào)度 291 10.7 小結 291 10.8 關鍵術語、復習題和習題 292 10.8.1 關鍵術語 292 10.8.2 復習題 292 10.8.3 習題 292 第五部分 輸入/輸出和文件 第11章 I/O管理和磁盤調(diào)度 296 11.1 I/O設備 296 11.2 I/O功能的組織 297 11.2.1 I/O功能的發(fā)展 297 11.2.2 直接內(nèi)存訪問 298 11.3 操作系統(tǒng)設計問題 299 11.3.1 設計目標 299 11.3.2 I/O功能的邏輯結構 300 11.4 I/O緩沖 301 11.4.1 單緩沖 301 11.4.2 雙緩沖 302 11.4.3 循環(huán)緩沖 302 11.4.4 緩沖的作用 302 11.5 磁盤調(diào)度 303 11.5.1 磁盤性能參數(shù) 303 11.5.2 磁盤調(diào)度策略 304 11.6 RAID 307 11.6.1 RAID級別0 310 11.6.2 RAID級別1 310 11.6.3 RAID級別2 311 11.6.4 RAID級別3 311 11.6.5 RAID級別4 312 11.6.6 RAID級別5 312 11.6.7 RAID級別6 312 11.7 磁盤高速緩存 313 11.7.1 設計考慮因素 313 11.7.2 性能考慮因素 314 11.8 UNIX SVR 4 I/O 315 11.8.1 緩沖區(qū)高速緩沖 315 11.8.2 字符隊列 316 11.8.3 無緩沖I/O 316 11.8.4 UNIX設備 316 11.9 Linux I/O 317 11.9.1 磁盤調(diào)度 317 11.9.2 Linux頁面緩存 319 11.10 Windows I/O 320 11.10.1 基本I/O機制 320 11.10.2 異步I/O和同步I/O 320 11.10.3 軟件RAID 321 11.10.4 卷影復制 321 11.10.5 卷加密 321 11.11 小結 321 11.12 關鍵術語、復習題和習題 322 11.12.1 關鍵術語 322 11.12.2 復習題 322 11.12.3 習題 322 第12章 文件管理 324 12.1 概述 324 12.1.1 文件和文件系統(tǒng) 324 12.1.2 文件結構 325 12.1.3 文件管理系統(tǒng) 326 12.2 文件組織和訪問 327 12.2.1 堆 328 12.2.2 順序文件 328 12.2.3 索引順序文件 329 12.2.4 索引文件 329 12.2.5 直接文件或散列文件 330 12.3 B樹 330 12.4 文件目錄 332 12.4.1 內(nèi)容 332 12.4.2 結構 333 12.4.3 命名 334 12.5 文件共享 335 12.5.1 訪問權限 335 12.5.2 同時訪問 335 12.6 記錄組塊 336 12.7 輔存管理 337 12.7.1 文件分配 337 12.7.2 空閑空間管理 339 12.7.3 卷 341 12.7.4 可靠性 341 12.8 UNIX文件管理 341 12.8.1 索引節(jié)點 342 12.8.2 文件分配 343 12.8.3 目錄 344 12.8.4 卷結構 344 12.9 Linux虛擬文件系統(tǒng) 344 12.9.1 超級塊對象 345 12.9.2 索引節(jié)點對象 346 12.9.3 目錄項對象 346 12.9.4 文件對象 346 12.9.5 緩存 346 12.10 Windows文件系統(tǒng) 347 12.10.1 NTFS的重要特征 347 12.10.2 NTFS卷和文件結構 347 12.10.3 可恢復性 349 12.11 Android文件系統(tǒng) 350 12.11.1 文件系統(tǒng) 350 12.11.2 SQLite 350 12.12 小結 351 12.13 關鍵術語、復習題和習題 351 12.13.1 關鍵術語 351 12.13.2 復習題 351 12.13.3 習題 352 第六部分 嵌入式系統(tǒng) 第13章 嵌入式操作系統(tǒng) 354 13.1 嵌入式系統(tǒng) 354 13.1.1 嵌入式系統(tǒng)概念 354 13.1.2 通用處理器和專用處理器 355 13.1.3 微處理器 355 13.1.4 微控制器 356 13.1.5 深度嵌入式系統(tǒng) 357 13.2 嵌入式操作系統(tǒng)的特性 357 13.2.1 主環(huán)境和目標環(huán)境 358 13.2.2 開發(fā)方法 359 13.2.3 適配現(xiàn)有的操作系統(tǒng) 359 13.2.4 根據(jù)目標建立的嵌入式 操作系統(tǒng) 359 13.3 嵌入式Linux 360 13.3.1 嵌入式Linux系統(tǒng)的特性 360 13.3.2 嵌入式Linux文件系統(tǒng) 361 13.3.3 嵌入式Linux的優(yōu)勢 361 13.3.4 μClinux 362 13.3.5 Android 363 13.4 TinyOS 364 13.4.1 無線傳感器網(wǎng)絡 364 13.4.2 TinyOS的目標 365 13.4.3 TinyOS的組件 365 13.4.4 TinyOS的調(diào)度程序 367 13.4.5 配置示例 367 13.4.6 TinyOS的資源接口 369 13.5 關鍵術語、復習題和習題 370 13.5.1 關鍵術語 370 13.5.2 復習題 370 13.5.3 習題 370 第14章 虛擬機 372 14.1 虛擬機概念 372 14.2 虛擬機管理程序 374 14.2.1 虛擬機管理程序 374 14.2.2 半虛擬化 375 14.2.3 硬件輔助虛擬化 376 14.2.4 虛擬設備 376 14.3 容器虛擬化 377 14.3.1 內(nèi)核控制組 377 14.3.2 容器的概念 377 14.3.3 容器文件系統(tǒng) 379 14.3.4 微服務 380 14.3.5 Docker 380 14.4 處理器問題 381 14.5 內(nèi)存管理 382 14.6 輸入/輸出管理 383 14.7 VMware ESXi 384 14.8 微軟Hyper-V與Xen系列 385 14.9 Java虛擬機 386 14.10 Linux VServer虛擬機架構 386 14.10.1 架構 387 14.10.2 進程調(diào)度 387 14.11 小結 388 14.12 關鍵術語、復習題和習題 388 14.12.1 關鍵術語 388 14.12.2 復習題 389 14.12.3 習題 389 第15章 操作系統(tǒng)安全技術 390 15.1 入侵者與惡意軟件 390 15.1.1 系統(tǒng)訪問威脅 390 15.1.2 應對措施 391 15.2 緩沖區(qū)溢出 392 15.2.1 緩沖區(qū)溢出攻擊 392 15.2.2 編譯時防御 394 15.2.3 運行時防御 396 15.3 訪問控制 397 15.3.1 文件系統(tǒng)訪問控制 397 15.3.2 訪問控制策略 399 15.4 UNIX訪問控制 402 15.4.1 傳統(tǒng)UNIX文件訪問控制 402 15.4.2 UNIX中的訪問控制列表 403 15.5 操作系統(tǒng)加固 404 15.5.1 操作系統(tǒng)安裝:初始安裝 與后續(xù)更新 404 15.5.2 刪除不必要的服務、應用 與協(xié)議 405 15.5.3 對用戶、組和認證過程 進行配置 405 15.5.4 對資源控制進行配置 405 15.5.5 安裝額外的安全控制工具 406 15.5.6 對系統(tǒng)安全進行測試 406 15.6 安全性維護 406 15.6.1 記錄日志 406 15.6.2 數(shù)據(jù)備份和存檔 407 15.7 Windows安全性 407 15.7.1 訪問控制方案 407 15.7.2 訪問令牌 408 15.7.3 安全描述符 408 15.8 小結 410 15.9 關鍵術語、復習題和習題 411 15.9.1 關鍵術語 411 15.9.2 復習題 411 15.9.3 習題 411 第16章 云與物聯(lián)網(wǎng)操作系統(tǒng) 413 16.1 云計算 413 16.1.1 云計算要素 413 16.1.2 云服務模型 414 16.1.3 云部署模型 415 16.1.4 云計算參考架構 416 16.2 云操作系統(tǒng) 418 16.2.1 基礎設施即服務 419 16.2.2 云操作系統(tǒng)的需求 420 16.2.3 云操作系統(tǒng)的基本架構 420 16.2.4 OpenStack 424 16.3 物聯(lián)網(wǎng) 428 16.3.1 物聯(lián)網(wǎng)中的物 429 16.3.2 升級換代 429 16.3.3 物聯(lián)網(wǎng)支持設備的組件 429 16.3.4 物聯(lián)網(wǎng)和云環(huán)境 429 16.4 物聯(lián)網(wǎng)操作系統(tǒng) 431 16.4.1 受限設備 431 16.4.2 物聯(lián)網(wǎng)操作系統(tǒng)的要求 432 16.4.3 物聯(lián)網(wǎng)操作系統(tǒng)架構 433 16.4.4 RIOT 434 16.5 關鍵術語和復習題 435 16.5.1 關鍵術語 435 16.5.2 復習題 436 附錄A 并發(fā)主題 437 附錄B 編程和操作系統(tǒng)項目 446 參考文獻 450
你還可能感興趣
我要評論
|