2:什么是OS?
Von Neumann计算体系(略):Fetch->Decode->Execute。
核心问题:OS是如何虚拟化资源的?
OS使用了怎样的Mechanism和Policy来达到虚拟化?
OS怎么很有效率地做到这些?
需要怎么样的硬件支持?
2.1 虚拟化CPU
允许多个程序“同时”运行,共用CPU资源。
Mechanism:机制。基本机制,提供如运行多个程序的能力。
Policy:策略。在OS机制基础上制定的策略,如多个同优先级程序同时运行时如何分配资源,谁优先执行的策略。
2.2 虚拟化内存
OS提供了沙盒虚拟化内存空间。
每个进程可以访问其私有地址空间,互不干扰。
2.3 并行问题(Concurrency)
指那些因为多线程,或者想要多线程运行所造成的一系列问题。
核心问题:如何做出正确的并行程序?
2.4 持久性(Persistence)
IO,文件系统,如何存储、读取文件?
2.5 设计原则
- 高性能
- 提供程序间的保护
- 高度可靠性
- 其他:能耗、移动性、安全等
2.6 OS历史(略)
注:
三大点:
- Virtualization
- Concurrency
- Persistence