補充資料 作業系統 複習 1. https://www.wikihow.com/Make-a-Computer-Operating-System 2. OS Overview 3. OS 示意圖 4. 5. (1~5)https://www.mropengate.com/2015/01/operating-system-ch1-introduction.html 常見系統類型
1. Multiprogramming System
系統中存在多組行程同時(concurrent)執行,避免 CPU 閒置,提升 CPU 利用度。(注意,不是並行執行(parallel))。
Multiprogramming Degree : 指系統內所存在的等待執行 process 的數目,Multiprogramming Degree 愈高,則 CPU 使用度可能愈高(非必定的原因是可能產生 Thrashing 現象)。
2. 分時系統(Time Sharing System)
Multiprogramming System 的一種,OS 透過資源分享,使得每個使用者都認為有一套專屬的系統存在,反應時間(Response Time)通常是一秒內。
常見配置:
行程排程採用 RR 排程 記憶體空間所有使用者共享 使用虛擬記憶體技術 I/O Device 透過 Spooling 技術(把磁碟當成一個巨大緩衝區使用)共享。
3. 分散式系統(Distributed System)
須符合兩個條件,硬體上每台電腦都是自主的,軟體上用戶將整個系統看做是一臺電腦。一般分為兩類,分別是 Client-Server System 和 Peer-to-peer。
舉例:志願計算,使用志願者電腦的閒置計算能力,通過網際網路進行資料傳輸(如 Folding@home 蛋白質摺疊研究計畫)。
構建分散式系統的好處:
資源共享 (Resource Sharing) 加快計算速度 (Speed Up) 可靠性 (Reliability) 通訊需求 (Communication Need) [murmur] 很多教材把 Multiprocessor 歸類在分散式系統看起來很怪,現在很少這樣用了。
[補記] Multiprocessor System and Parallel System
Symmetric Multiprocessing (SMP) : 對稱式多元處理,每一個處理器具有相同的功能,可靠度較高,強調負載平衡。 Asymmetric Multiprocessing (ASMP) : 非對稱式多元處理,Master/Slave 架構。
4. 即時系統 (Real Time System)
定義嚴謹的固定時間限制,電腦在處理工作時必須在這個定義的時間內完成,否則工作就算失效。
硬性即時系統(Hard Real Time System) :對於完成工作的時間有極嚴格的限制。若 Process 未能於規定的時間內完成,則 Process 即屬失效。(意義同即時系統之定義)
工廠自動化系統、軍事系統、核能安控等。 Application Program 設計上非常重要。 Data 及 Program 皆存在ROM或RAM中。 不使用虛擬記憶體,因為 Page Fault 的處理時間過長。 減少 OS 的干預以降低 Dispatch Latency 軟性即時系統 (Soft Real Time System) :保証高優先權的Process必須先於所有低優先權的Process完成。
Multimedia System、Virtual Reality等 CPU 的 Scheduling 應能支援 Priority Scheduling 且不能提供類似 Aging 技術。 可和分時系統、virtual memory 並存。
5. 叢集系統(Clustered System)
叢集系統共享儲存裝置,集合許多 CPU 並且經由 LAN 連線緊密地連結以完成工作。叢集系統主要是利用多台獨立的的電腦系統或是工作站來共同完成大型數值的平行計算。
6.作業系統筆記 & Quiz OS必讀章節:處理程序、死結、虛擬記憶體、page faulthttps://hackmd.io/@frakw/S1hFU0Vdt [LINK ] Rasberry Pi 樹莓派 7.https://www.youtube.com/watch?v=GjNp0bBrjmU
8. Operating System
Neso Academy
77 部影片 上次更新日期: 2021 年 7 月 20 日
https://www.youtube.com/playlist?list=PLBlnK6fEyqRiVhbXDGLXDk_OQAeuVcp2OOperating systems are an essential part of any computer system. Similarly, a course on operating systems is an essential part of any Computer Science as well as Electronics course. This field is undergoing rapid change, as computers are now prevalent in virtually every application. Yet the fundamental concepts remain fairly clear and that is what will be taught in this course.
In brief, an operating system acts as an intermediary between the user of a computer and the computer hardware. The purpose of an operating system is to provide an environment in which a user can execute programs in a convenient and efficient manner.
Every important aspects of an Operating System will be taught in this course so as to get a proper understanding about Operating Systems and their design and working.
You will find lectures on the following topics:
1) Introduction to OS
2) Operating System Structures
3) Process Management
3.1) Processes
3.2) Threads
3.3) CPU Scheduling
3.4) Process Synchronization
3.5) Deadlocks
4) Memory Management
4.1) Main Memory
4.2) Virtual Memory
5) Storage Management
5.1) File System Interface
5.2) File-System Implementation
5.3) Mass-Storage Structure
5.4) I/O Systems
6) Protection and Security
7) Distributed Systems
7.1) Distributed System Structures
7.2) Distributed File Systems
7.3) Distributed Coordination
8) Special Purpose Systems 9. Stories