2.3 KiB
2.3 KiB
L01 Overview 概述
What is an OS?
操作系统是一个软件。它像是一个协调人,或者幻术师,简化硬件细节,给程序提供更友好、安全的接口。

- 程序认为的“机器”实际上是操作系统提供的抽象接口,而不是物理硬件。
- 每个正在运行的程序只需关心它自己,而无需协调其他程序的运行。
- 操作系统提供更易于使用、安全的接口,隐藏了底层硬件。
操作系统不一定要实现全部功能。有时候,在特定环境下(比如在一个月球探测车上),会构建简化的操作系统。这种操作系统可能会缺乏很多功能,比如不支持网络或者缺乏安全措施。
Process Abstraction 进程抽象
一个进程有:
- 地址空间 Address Space
- 一个或多个线程,用以执行任务
- 其他的系统状态(打开的文件、网络连接,etc.)
separate 分割
在进程运行时,每个程序都会假设自己独占处理器。它无需关心是否有别的进程会和它产生冲突,或者抢占它的CPU时间。操作系统通过提供一个抽象的“机器”来实现这一点,使得每个进程都感觉自己独占了整个系统。
同样地,为了保护,操作系统一般也不会允许程序访问其他程序的内存或资源。这么做会让系统立刻终止该程序,并生成一份core dump。

Service Provider 提供服务
操作系统还会提供一些服务:
- 文件系统、网络、UI, etc.
- 传输文件、权限管理、用户管理, etc.
- Look and feel
- 电源状态
Conclusion 结论
操作系统:
- 提供便于使用的抽象层,应付各种各样的硬件
- 便利性、保护、可靠性...
- 统合可用的硬件资源,保护用户进程
- 通过提供标准化的服务,简化应用开发
- 提供fault containment(错误隔离), fault tolerance(容错), 以及fault recovery(错误恢复)机制。