操作系统 概述

本文将介绍操作系统。

一、操作系统是什么?

操作系统是一类软件,它们负责确保系统既易于使用又正确高效地运行。

操作系统充当了以下角色:

  • 虚拟机:将物理资源转换为更通用、更强大、更易于使用的虚拟形式
  • 标准库:提供大量接口,以供应用程序调用
  • 资源管理器:操作系统将管理 CPU、内存、磁盘等资源,尽量做到高效、公平
  • 保护者:在应用程序之间以及应用程序与操作系统之间提供保护,避免因某个程序的恶意或偶然不良行为损害其它程序的运行。

二、虚拟化

1. 虚拟化 CPU

在硬件的一些帮助下,操作系统可以营造 “系统拥有非常多虚拟 CPU” 的假象,使得多个程序可以 “同时运行”。

虚拟化 CPU 的原理是 时分共享,CPU 会以时间片为单位轮番交叉地运行不同的进程,从而表现出 “同时” 运行多个进程的 “假象”。

2. 虚拟化内存

我们往往不希望一个应用程序可以访问另一个应用程序的内存。因此,操作系统通过虚拟化内存,使每个进程都拥有自己的私有虚拟地址空间,该空间会以某种方式映射到机器的物理内存上。因此,一个正在运行的程序的内存引用不会影响其它进程。

三、并发

通过虚拟 CPU,操作系统赋予了用户并发执行的能力。

为了解决并发问题,操作系统会给出一系列解决措施。

并发问题具体请看:

并发编程 分工、同步、互斥

四、持久性

操作系统不会像对待 CPU 和内存那样对它们进行抽象(为每个应用程序创建专用的虚拟磁盘),而是让不同应用程序可以共享磁盘中的内容。

为了保证性能,操作系统往往会将改动异步刷回磁盘。

为了保证数据完整性,操作系统会使用日志等机制,以确保系统可以在故障后恢复到合理的状态。

参考

  • 操作系统导论