CS162 L01

This commit is contained in:
2026-04-05 18:04:37 +08:00
parent 166d3a9de9
commit f53eb2275e
3 changed files with 52 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
# L01 Overview 概述
- [What is an OS? 什么是操作系统?](#what-is-an-os)
- [Process Abstraction 进程抽象](#process-abstraction-进程抽象)
- [Separate 分割](#separate-分割)
- [Service Provider 提供服务](#service-provider-提供服务)
- [Conclusion 结论](#conclusion-结论)
## What is an OS?
操作系统是一个软件。它像是一个协调人,或者幻术师,简化硬件细节,给程序提供更友好、安全的接口。
![操作系统将硬件变为更友好的接口](images/L01-OS-Overview.png)
- 程序认为的“机器”实际上是操作系统提供的抽象接口,而不是物理硬件。
- 每个正在运行的程序只需关心它自己,而无需协调其他程序的运行。
- 操作系统提供更易于使用、安全的接口,隐藏了底层硬件。
操作系统不一定要实现全部功能。有时候,在特定环境下(比如在一个月球探测车上),会构建简化的操作系统。这种操作系统可能会缺乏很多功能,比如不支持网络或者缺乏安全措施。
## Process Abstraction 进程抽象
一个进程有:
- 地址空间 Address Space
- 一个或多个线程,用以执行任务
- 其他的系统状态打开的文件、网络连接etc.
## separate 分割
在进程运行时每个程序都会假设自己独占处理器。它无需关心是否有别的进程会和它产生冲突或者抢占它的CPU时间。操作系统通过提供一个抽象的“机器”来实现这一点使得每个进程都感觉自己独占了整个系统。
同样地为了保护操作系统一般也不会允许程序访问其他程序的内存或资源。这么做会让系统立刻终止该程序并生成一份core dump。
![操作系统禁止非法内存访问](images/L01-OS-stop-illegal-memory-access.png)
## Service Provider 提供服务
操作系统还会提供一些服务:
- 文件系统、网络、UI, etc.
- 传输文件、权限管理、用户管理, etc.
- Look and feel
- 电源状态
## Conclusion 结论
操作系统:
- 提供便于使用的抽象层,应付各种各样的硬件
- 便利性、保护、可靠性...
- 统合可用的硬件资源,保护用户进程
- 通过提供标准化的服务,简化应用开发
- 提供fault containment(错误隔离), fault tolerance(容错), 以及fault recovery(错误恢复)机制。