【OS】L02a OS Structure OverView

2017-03-226871
AI 快速预览详细 收起
本文介绍了操作系统(OS)的系统服务、重要性和目标,以及三种主流的操作系统结构:Monolithic, DOS-like, Microkernel-based。Monolithic结构使OS和应用程序直接对接,提高了运行速度,但缺乏定制化。DOS-like结构则容易被程序员误操作导致崩溃。Microkernel结构虽然提供了更好的保护和可扩展性,但牺牲了部分性能。通过对比这三种结构的优缺点,帮助读者理解如何在性能、保护和可扩展性之间找到平衡点。
楼主今天进度条走慢了……花了俩小时居然只刷了L2四分之一的内容……

特来刷帖。


-----------------------------------------------------------------------------------------------------
1. OS System Services

【OS】L02a OS Structure OverView图7
主要包括
Process/Thread management and scheduling,
Memory Management,
Interprocess Communication,
File System,
Access to I/O devices such as microphones + speaker,
Access to the network


2. Importance and Goals of OS Structure

OS作为硬件和上层应用程序之间的桥梁,当然是很重要的 = =

【OS】L02a OS Structure OverView图1【OS】L02a OS Structure OverView图2
其重要性体现在:
Protection - 不能让系统能直接被小白程序员搞奔溃啊……
Performance - 处理速度要快啊……
Flexibility - 要灵活可扩展啊……
Scalability - 硬件上去了,性能啥的必定得跟上啊……
Agility - 要迎合一下程序的需求
Responsiveness - 外围设备比如鼠标键盘啥的响应得快啊……

3. Commercial OS
目前三大主流商业操作系统是
Mac OS
Windows
Linux

4. Monolithic, DOS-like, Microkernel-based OS Structure

【OS】L02a OS Structure OverView图3【OS】L02a OS Structure OverView图4【OS】L02a OS Structure OverView图5

Monolithic Structure - 每个App有自己的硬件内存地址(HDA)(hardware address space),OS有自己的HDA, hardware由OS管理。
DOS-like Structure - 同用一块HDA,彼此坦诚,万一来了小白程序员,就会把操作系统搞坏。。由于早期计算机功能比较单一,而且也没有什么多线程,因此采用了这种方式。
MicroKernel-based OS Structure - 每个App有自己的HDA, OS Services有自己的HDA, MicroKernel有自己的HDA(以及simple abstraction,Interprocess Commnuication)。

【OS】L02a OS Structure OverView图8
上述三图简洁来说就是
DOS-like Structure把操作系统直接裸露在程序员面前让程序员动它的内核比较容易崩溃。
Monolithic Structure让OS和App能够直接对接加快了运行速度,但是它木有Customization,比如,Video Game首要需求是硬件响应快,计算质数首要需求是CPU运算速度快,Monolithic Structure木有对此的调节?(这块不是太懂),但是后面说到可以通过算法来进行优化。另外,由于Monolithic Structure只给了有限的权限给用户,要进行OS Services的扩展就有点不太好搞了。
而MicroKernel由于App和OS Services之间通信还要通过Microkernel,地址要传输两次,数据要拷贝两次,还是来回,就会牺牲速度。

下图简明地表示了以上三种Struture的各自优缺点。

【OS】L02a OS Structure OverView图6

而我们的目标就是找到一个平衡点来努力实现Performance, Protection和Extensibility三者。






扩展阅读:
http://www.buyya.com/microkernel/chap2.pdf

Screen Shot 2017-03-22 at 5.22.24 PM.png (297.57 KB, 下载次数: 3532)

OS Structure Overview · 操作系统结构详解_image_3.webp

Screen Shot 2017-03-22 at 5.27.18 PM.png (181.22 KB, 下载次数: 3475)

OS Structure Overview · 操作系统结构详解_image_6.webp

Screen Shot 2017-03-22 at 10.08.40 AM.png (260.09 KB, 下载次数: 3552)

OS Structure Overview · 操作系统结构详解_image_9.webp

Screen Shot 2017-03-22 at 10.08.40 AM.png (260.09 KB, 下载次数: 3546)

OS Structure Overview · 操作系统结构详解_image_12.webp

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
gada888
gada888
没太看懂
- 没有更多了 -