Difference between Emulation & Virtualization
Virtualiztion: 模擬出整套系統真實的環境(包含模擬硬體),ex. VirtualBox。- Pros: 被模擬的環境比較真實,容易安裝或測試想跑的程式。
- Cons: 消耗原本系統較大的資源(就像是你Mac會卡住)。
Emulation: 在原本系統中複製類似的環境,ex. WINE(可以讓你在linux/mac上面裝Windows程式的,很有名)。
- Pros: 比較便宜、不耗成本的做法。
- Cons: 不好用,被模擬的程式看到的環境比較差,容易壞、不易當測試環境。
What is "System Call"
- 先知道有個東西叫作API,是系統提供使用者的控制系統的方法,printf, read, write, open..都是。
- “The system-call interface intercepts function calls in the API and invokes the necessary system calls within the operating system.”
- “The intended system returns the status of the system call and any return values.”
What is "static"
課本裡說”Thread-Local Storage”(TLS)類似於static,而不同處在於TLS在不同thread中是unique的。而static: "a static variable is a variable that has been allocated statically—whose lifetime or "extent" extends across the entire run of the program” (from Wikipedia) 表示static變數不是一般會動態分配的變數(heap memory)也不是函式呼叫時候的變數(call stack)。
而在C/C++語言中(http://en.wikipedia.org/wiki/Static_(keyword)) ,static變數表示:Lifetime為整份program執行期間、只能被內部(如同一class裡面)看見的變數。
No comments:
Post a Comment