操作系统 概述
本文将介绍操作系统。
一、操作系统是什么?
操作系统是一类软件,它们负责确保系统既易于使用又正确高效地运行。
操作系统充当了以下角色:
- 虚拟机:将物理资源转换为更通用、更强大、更易于使用的虚拟形式
- 标准库:提供大量接口,以供应用程序调用
- 资源管理器:操作系统将管理 CPU、内存、磁盘等资源,尽量做到高效、公平
- 保护者:在应用程序之间以及应用程序与操作系统之间提供保护,避免因某个程序的恶意或偶然不良行为损害其它程序的运行。
二、虚拟化
1. 虚拟化 CPU
在硬件的一些帮助下,操作系统可以营造 “系统拥有非常多虚拟 CPU” 的假象,使得多个程序可以 “同时运行”。
虚拟化 CPU 的原理是 时分共享,CPU 会以时间片为单位轮番交叉地运行不同的进程,从而表现出 “同时” 运行多个进程的 “假象”。
2. 虚拟化内存
我们往往不希望一个应用程序可以访问另一个应用程序的内存。因此,操作系统通过虚拟化内存,使每个进程都拥有自己的私有虚拟地址空间,该空间会以某种方式映射到机器的物理内存上。因此,一个正在运行的程序的内存引用不会影响其它进程。
三、并发
通过虚拟 CPU,操作系统赋予了用户并发执行的能力。
为了解决并发问题,操作系统会给出一系列解决措施。
并发问题具体请看:
四、持久性
操作系统不会像对待 CPU 和内存那样对它们进行抽象(为每个应用程序创建专用的虚拟磁盘),而是让不同应用程序可以共享磁盘中的内容。
为了保证性能,操作系统往往会将改动异步刷回磁盘。
为了保证数据完整性,操作系统会使用日志等机制,以确保系统可以在故障后恢复到合理的状态。
参考
- 操作系统导论