# 桌面系統:個人電腦 * 個人計算機 (PC) - 專供單個用戶使用的計算機系統 * 用戶便利性和響應能力 - GUI * I/O 設備——鍵盤、鼠標、屏幕、打印機 * 多種不同類型的操作系統 * Windows、MacOS、Unix、Linux * 缺乏對用戶的文件和操作系統保護 * 蠕蟲、病毒 ## 並行系統(Parallel System) * 又名多處理器(multiprocessor)或緊耦合系統(coupled system) * 多個CPU/核心緊密通訊 >通常通過共享內存進行通信 * 目的 * 提高系統的吞吐量 * 實現經濟性 * 提供可靠性 * 提高系統的吞吐量(Throughput) * 吞吐量即單位時間內完成的任務數量或處理的數據量。 * 通過同時執行多個任務和共享資源,並行系統能夠同時處理多個任務,從而提高系統的整體吞吐量。 * 經濟性(Economy): * 通過共享資源和提高系統效能,並行系統能夠更有效地利用硬件資源,從而節省成本和能源。 * 相對於使用多個獨立的計算機來處理任務,並行系統可以提供更高的性能和效益,同時降低硬件和維護成本 * 可靠性(Reliability): * 通過使用多個處理器和冗餘資源,並行系統可以提供更高的可靠性。 * 當一個處理器或資源發生故障時,其他處理器可以接管任務並繼續運行,從而保持系統的持續可用性。 ![](https://hackmd.io/_uploads/SJJVNqCP2.png) ## 對稱多處理器系統(Symmetric multiprocessing) (SMP) * 每個處理器運行相同的操作系統 * 最流行的多處理器架構 * 需要廣泛同步以保護數據完整性 * 非對稱多處理器系統 * 每個處理器都被分配了一個特定的任務 * 一個主 CPU & 多個從 CPU * 在超大型系統中更常見 ![](https://hackmd.io/_uploads/Bk9CFqAP2.png) 刀片服務器(blade servers): 每個刀片處理器板獨立啟動並運行自己的操作系統 多核處理器(Multi-Core processor) * 同一個裸片(芯片)上有多個內核的 CPU * 片內通信比片間通信更快 * 一顆多核芯片比多顆單核芯片耗電少得多 眾核處理器(Many-Core Processor) * Nvidia 通用 GPU(Nvidia General-Purpose GPU) * 2008 年 4 月首次發布 * 使用圖形處理單元 (GPU) * 單指令多數據 * 2,880 線程處理器,1.43TGlops(比單個 Intel Core i7 快 200 倍) * 245 瓦,時鐘頻率。 600~750兆赫 * 3000 美元 * 英特爾至強融核(Intel Xeon Phi) * 2012 年 11 月首次發布 * 基於 Intel 多核集成 (MIC) TRIPA 的協處理器計算機架構 * 61 核,1.2TFlops,300WATTS * TILE64 * 由 64 個“瓦片”組成的網狀網絡 * 每個瓦片都有一個通用處理器 ## 計算機系統(Computer System) 四個組成部分:硬體(Hardware)、作業系統(OS)、應用程序(Application)、用戶(User) ![](https://hackmd.io/_uploads/HyNAK7W_3.png) * 用戶(User) - 人、機器、其他計算機 * 應用程序(Application) - 定義系統資源用於解決計算問題的方式 * 作業系統(OS) — 控制和協調(controls/coordinates) 硬體/資源的使用 * 硬體(Hardware) — 提供基本的計算資源(CPU、內存、I/O設備) 作業系統(OS)是“永久”軟體,為用戶應用程序控制/提取(controls/abstracts)硬體資源 ![](https://hackmd.io/_uploads/BJ702QWuh.png) ## 多任務作業系統(Multi-tasking Operating Systems) * 管理資源和流程以支持不同的用戶應用程序 * 為用戶應用程序提供應用程序編程接口 (Applications Programming Interface) (API) ![](https://hackmd.io/_uploads/HJD30Xbdh.png) ## 通用作業系統(General-Purpose Operating Systems) ![](https://hackmd.io/_uploads/B11RJjrun.png) ## 作業系統(OS)的定義 * 資源分配器(Resource allocator) - 管理和分配資源以確保效率和公平 * 控製程序(Control program) — 控制用戶程序的執行和I/O設備的操作,防止計算機出錯和不當使用 * 核心(Kernel) — 始終運行的一個程序(其他都是系統/應用程序) * **沒有普遍接受的定義** ## 作業系統的目標 * 方便 * 使計算機系統易於使用和計算 * 尤其適用於小型 PC * 效率 * 有效地使用計算機硬件 * 特別適用於大型、共享、多用戶系統 * 兩個目標有時是矛盾的 * 過去,效率更重要 ## 作業系統的重要性 * 系統 API 是用戶應用程序和硬件之間的唯一接口 * API 是為通用目的而設計的,而不是性能驅動的 * 作業系統代碼不允許任何錯誤 * 任何 interrupt(例如無效訪問)都會導致重啟 * 作業系統技術的擁有者控制著軟體和硬體行業 * 作業系統和計算機體系結構相互影響 ## 現代操作系統 * x86平台 * Linux(CentOS、Redhat、openSUSE、Ubuntu 等) * Windows(Windows10、XP、2000等) * PowerPC 平台 - Mac 操作系統 * 智能手機移動操作系統 * Android、iOS、Windows 10 移動版、Ubuntu Touch * 嵌入式操作系統 * 嵌入式Linux(Andriod、WebOS)、Windows CE * 樹莓派(Raspberry Pi)、Xbox等