# Four Fundamental OS Concepts

## Complexity 复杂性

操作系统的硬件非常复杂。如果没有操作系统，用户必须直接与硬件交互，这将非常困难。操作系统通过提供抽象来隐藏硬件的复杂性，使用户能够更容易地使用计算机。

这也就意味着，如果处理不当：

- 复杂性会“泄露”出来。例如一些第三方驱动程序导致系统崩溃，或者某些功能无法正常工作。
- 安全漏洞。例如2017年，Intel的CPU存在一个名为Meltdown的漏洞。攻击者甚至可以访问Kernal模式的内存！
- 不同版本的库会导致应用程序可能出问题。(现在我们有了Docker)