操作系统
字数: 0
Operating System (OS)本质上是一种系统软件,为其他软件调用计算机硬件提供接口,方便用户使用和管理计算机资源。

基本特征

虚拟

Virtualization
操作系统将物理资源(如 CPU、Memory)转换为更通用、更强大的虚拟资源形式。
因此,操作系统有时被称为虚拟机 (Virtual machine) 或资源操理器 (Resource manager)

进程

Process
可以理解为操作系统在虚拟化资源的过程中的一部分。它是操作系统提供的基本的抽象,作为计算机中正在运行的程序实例,操作系统分配资源的基本单位。

线程

Thread
进程的最小单元,一个进程可以包含多个线程,每个线程共享同一个进程的资源。

并发

操作系统能同时执行多个任务

并发

Concurrency
多个事件在同一个时间间隔内发生。
  • 可能在同一时间段内有多个任务的进程,但实际在任何时刻只有一个任务在执行。
💡
一个厨师,一边切菜一边等待水烧开,这两个任务是 “同时” 进行的。
notion image

并行

Parallel
多个事件在同一时刻同时发生。
  • 真正的同时执行多个任务,需要多个处理器或多个核心来实现。
💡
两个厨师,同时进行不同的任务,一个人切菜,另一个人洗碗。
notion image

共享

多个用户或进程能共同使用系统资源,包括共享内存 / 文件 / CPU 等。
  • 为了保护共享资源,应该使用一些机制以避免数据竞争和不一致性(详见并发管理)。

体系结构

相关机制

系统调用

System call
操作系统提供给应用程序的一种接口。
  • 它便于程序访问文件系统、网络等底层操作,而无需了解底层硬件。
  • 常见的系统调用包括读写文件、创建和删除进程等。

中断

How does hardware communicate with the OS?
This is achieved using Interrupt mechanisms.
Electrical signals are sent from hardware devices to indicate that they need attention or have completed a task.
notion image

上下文切换

Context switch
指在多任务操作系统中,当一个进程被暂停执行以便其他进程可以运行时,保存该进程的状态,加载并运行另一个进程的状态的过程。
  • efficient But incurs performance overhead

系统空间

内核空间和用户空间

为了避免操作系统和关键数据被用户程序破坏,将处理器的执行状态分为用内核模式(Kernel Mode)和用户模式(User Mode)。
  • 内核态能执行所有指令,能够访问系统内所有的存储空间。
  • 用户态不能执行特权指令(Privileged instruction),只能访问受限的资源。
notion image
 

两种模式的转换

操作系统运行时,处理器主要通过系统调用在内核态和用户态之间切换。此外还可以通过异常和外部中断。
notion image
2023 - 2026