ScholarGate
助手

操作系统

操作系统是管理计算机硬件并为应用程序提供服务的软件层,它在程序之间多路复用处理器、内存、存储和设备,同时强制执行保护和抽象。

用 PaperMind 寻找选题即将推出Find papers & topics
Tools & resources
下载幻灯片
Learn & explore
视频即将推出

Definition

操作系统是管理硬件资源、提供进程、文件和地址空间等抽象、并在应用程序和底层机器之间进行协调的系统软件,同时强制执行隔离和公平共享。

Scope

该领域涵盖操作系统的原理和结构:进程和线程、CPU调度、内存管理和虚拟内存、文件系统、并发和同步、设备和I/O管理以及保护。它将操作系统视为硬件和应用程序之间的资源管理器和抽象层。它与内存层次结构和缓存(它管理虚拟内存)以及存储和I/O系统(它管理设备和持久性)接壤,但不包括跨机器的分布式协调,这在分布式和并行计算中处理。

Sub-topics

Core questions

  • 操作系统如何在共享硬件上创建独立进程和线程的抽象?
  • 调度器如何决定运行哪个就绪任务,以及基于什么目标?
  • 操作系统如何管理内存并实现虚拟内存和分页?
  • 文件系统如何在存储设备上可靠地组织持久数据?
  • 操作系统如何提供保护、隔离和对资源的受控访问?

Key concepts

  • 内核模式和用户模式
  • 进程和线程
  • 上下文切换
  • CPU调度
  • 虚拟内存和分页
  • 文件系统
  • 并发和同步
  • 死锁
  • 系统调用
  • 保护和隔离

Key theories

进程和地址空间抽象
操作系统虚拟化CPU和内存,使每个程序都像拥有机器一样运行:一个进程捆绑了地址空间、执行上下文和资源,内核在进程之间切换并保护它们免受彼此影响。
工作集内存管理
Denning的工作集模型描述了进程在一段时间内活跃使用的页面集合;保持每个进程的工作集驻留可以避免颠簸,并指导虚拟内存系统中的分页和准入决策。

Mechanisms

内核以特权模式运行,并协调对硬件的访问。它将运行中的程序表示为进程和线程,通过调度器驱动的上下文切换在它们之间进行切换。内存通过分页和虚拟地址转换进行管理;持久数据由文件系统组织;共享状态通过锁、信号量和监视器等同步原语进行协调。系统调用为应用程序提供了进入内核服务的受控入口。

Clinical relevance

操作系统支撑着几乎所有的计算:从服务器和台式机到手机和嵌入式设备。它们的设计决定了性能、可靠性和安全性——调度影响响应能力,内存管理影响吞吐量,隔离机制是系统安全和虚拟化的基础。Linux和Windows等广泛部署的内核在全球范围内体现了这些原则。

History

操作系统从20世纪50年代的批处理监视器演变而来,经过20世纪60年代的CTSS和Multics等多道程序设计和分时系统。Thompson和Ritchie在1970年左右创建的UNIX确立了在现代系统中仍然可见的持久抽象。Dijkstra关于信号量和并发的工作以及Denning的工作集模型奠定了理论基础,个人、移动和虚拟化系统在随后的几十年中扩展了该领域。

Debates

宏内核与微内核设计
一场长期存在的争论权衡了宏内核(为性能而在特权模式下运行大多数服务)与微内核(为模块化和可靠性将服务移至用户空间);现代系统混合了这两种方法。

Key figures

  • Edsger W. Dijkstra
  • Peter J. Denning
  • Per Brinch Hansen
  • Ken Thompson
  • Dennis Ritchie
  • Abraham Silberschatz
  • Andrew S. Tanenbaum

Related topics

Seminal works

  • silberschatz2018
  • tanenbaum2014os
  • denning1968

Frequently asked questions

进程和线程有什么区别?
进程是具有自己地址空间和资源的独立程序执行。线程是进程内的一个执行单元;多个线程共享进程的地址空间,这使得通信成本低廉,但需要同步以避免竞争。
内核能做什么普通程序不能做?
内核以特权处理器模式运行,这使其能够直接访问硬件、管理内存映射、处理中断和切换进程。应用程序通过系统调用请求这些特权服务,而不是自行执行,这保持了隔离和保护。

Methods for this concept

Related concepts