操作系统笔记-1.1.3 操作系统的特征

王道操作系统的笔记,原视频链接:1.1.3 操作系统的特征

操作系统的四个特征

四个特征分别为:并发、共享、虚拟、异步

  1. 并发
  • 并发定义:两个或多个事件在同一事件间隔内发生。宏观上同时发生,微观上交替发生。
    并行定义:两个或多个事件在同一时刻同时发生。
    举例:有两只猫,在一定时间内,我两只猫换着撸,撸完这只撸另一只,撸完另一只又换回来,这叫并发。如果两只手一只手负责一只猫,同时撸,同一时刻两只都在撸,这叫并行。
  • 操作系统的并发性指的就是这里的"同时"运行多个程序,宏观是同时,微观是交替。
  • 单核CPU同一时刻只能执行一个程序,各个程序只能并发。
    多核CPU可以同时执行多个程度,多个程序可以并行。
    也就是CPU的多个核之间的程序是并行,单个核之内的程序是并发。
  1. 共享
  • 共享定义:即资源共享,指系统种的资源可供内存中多个并发执行的进程共同使用。
  • 两种共享方式:
    互斥共享:一个时间段内只允许一个进程访问该资源。
    同时共享:允许一个时间段内多个进程"同时"对它们进行访问,这里的同时也是并发。
    这里的资源说的是操作系统中的资源(包括硬件资源和软件资源)。
    与并发的关系:没有并发,共享没有存在的必要(同时只有一个程序,资源全给它即可),没有共享,那么并发不能同时访问资源,不能很好进行(比如都要访问硬盘资源这种),两者互为存在条件。
  1. 虚拟
  • 虚拟定义:把物理上的实体变为若干逻辑上的对应物。物理实体实际存在,但是逻辑对应物仅为用户感知。
    举例:虚拟存储器(利用了空分复用技术,操作系统的存储器特指内存,类似硬盘之类的外存属于IO设备),虚拟处理器(利用了时分复用技术)。
  1. 异步
  • 异步定义:在多道程序环境下,允许多个程度并发执行,但是由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。
    操作系统应该提供"进程同步机制",以解决开发进程的异步性带来的问题。
  • 乍一看与并发好像一样,但是却依然被单独提出来了,问了deepseek,给出的解释我觉得还是很合理的:
    我(这是指的deepseek)的原始回答提到"并发是原因,异步是结果Concurrency is the cause, asynchrony is the result.",这个因果关系在汤小丹教材中也是明确写出的。但教材之所以必须把"异步"单列,还有一个更硬核的理由:
    • "并发"是操作系统的"主观能动性"(我主动去切换);
      "异步"是操作系统的"客观局限性"(我控制不了外部中断和I/O速度)。
    • 并发是OS主动设计的(时间片轮转)。
      异步是被迫接受的(因为磁盘读写速度、用户敲键盘的速度、网络包到达的时间,OS根本无法预测)。
    • 如果只提"并发"不提"异步",学生就会误以为"操作系统掌控一切,运行时间精确可控"。单独提出"异步",是为了告诉所有学操作系统的人:这个世界是不确定的,因此我们必须引入"进程同步"机制(PV操作、信号量)来收拾这个烂摊子。 这个逻辑链,完全是针对内核开发者的,跟用户视角八竿子打不着。
相关推荐
岑梓铭几秒前
《考研408数据结构》第七章(B树 和 B+树)复习笔记
数据结构·笔记·b树·考研·408
SeaExculbur3 小时前
MIT 6.S081 操作系统工程:lab3-页表实验笔记
操作系统
Go Work5 小时前
docker 占满根分区时先分清谁在吃盘
经验分享·笔记
3095566665 小时前
股票接口返回 404 与空数组的排查笔记:证书状态与级别参数
java·笔记·python·ios·iphone·股票数据api·股票数据接口
蒸蒸yyyyzwd6 小时前
从邓明学习的后端笔记
笔记·学习
岑梓铭6 小时前
《考研408数据结构》第八章(排序)复习笔记
数据结构·笔记
Rabitebla18 小时前
【Linux】进程控制(十二) 自定义 Shell(二):内建命令与进程工作目录管理
linux·c++·笔记·学习·bash
坤坤子吖1 天前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
YLCHUP1 天前
【思维&图论建模】题解:债权(debt)_图论_建模_思路转化_思维题目_C++算法竞赛
c++·笔记·算法·数学建模·贪心算法·深度优先·图论
旖旎夜光1 天前
【C++ 基础入门】C++11 新特性(中):右值引用、移动语义与完美转发
开发语言·c++·笔记·学习