diff --git a/UCB-CS162/L01 Overview 概述.md b/UCB-CS162/L01 Overview 概述.md new file mode 100644 index 0000000..2e5a678 --- /dev/null +++ b/UCB-CS162/L01 Overview 概述.md @@ -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(错误恢复)机制。 diff --git a/UCB-CS162/images/L01-OS-Overview.png b/UCB-CS162/images/L01-OS-Overview.png new file mode 100644 index 0000000..346ee04 Binary files /dev/null and b/UCB-CS162/images/L01-OS-Overview.png differ diff --git a/UCB-CS162/images/L01-OS-stop-illegal-memory-access.png b/UCB-CS162/images/L01-OS-stop-illegal-memory-access.png new file mode 100644 index 0000000..8a706a2 Binary files /dev/null and b/UCB-CS162/images/L01-OS-stop-illegal-memory-access.png differ