前言
在操作系统(I)中,简单介绍了一下操作系统的概念,想了解的朋友也可以在专栏中进行相关的阅读,在本文章中将结合我学习过程中所了解的,为大家简单介绍一下操作系统的四个特征。
操作系统的四个特征
(1)并发
指两个或多个事件在同一时间间隔内发生。在操作系统中,多个程序或任务可以在同一时间段内交替执行,宏观上看起来像是同时运行。
简单来说,在我们使用电脑的时候,我们可以一边听音乐一边做PPT,还能在后台运行杀毒软件,这些事情在宏观上是同时进行的,但是在微观上,其实它们是在短时间内通过交替占用CPU资源,实现并发执行。
与并发一起容易混淆的概念还有并行,并行是指两个或者多个事件在同一时刻同时发生,又应该如何区分呢?现在从生活上为大家简单说明一下这个区别:
你是一名大学生,你面临一个崩溃瞬间,在选课的时候发现你在周四的早八需要同时上操作系统原理课和高等数学课,这叫做并行(同一时刻同时发生);你在9点上操作系统原理,在10点上高等数学,在11点上操作系统原理....,这叫做并发(从宏观看,你在上午同时进行操作系统原理、高等数学两门课,但是只看一个时刻,你只在上一门课)。
同时也需要注意一下单核CPU和多核CPU的区别,这是一个比较重要的考点,简单来说就是,
👉 想象你在超市收银台结账,虽然收银员只有一个人(单核CPU),但他可以:先扫商品、再收钱、再装袋,中间还能回答顾客问题。虽然每次只做一件事,但快速切换,看起来像同时处理。
👉 如果是多核CPU,就像多个收银员同时工作,真正意义上实现同时处理多任务!
操作系统就是为了实现“多道程序技术”而出现的。
(2)共享(资源共享)
系统中的资源(如硬件资源、软件资源、数据等)可以被多个并发执行的程序共同使用,而不是被某个程序独占。
举一个互斥共享的实例,比如你如果要使用QQ和微信进行视频,这时候摄像头只能分配给其中一个;
如果是同时共享的话,你在QQ发送一个文件,这个文件还正在发送的时候,你可以在微信中也发送一份文件,从宏观看,两边都在读取并且发送文件,但是微观上,两边是交替访问硬盘的。
「资源不能独占,大家分着用」
👉 比如你和室友合租,厨房只有一个(资源有限),但你们可以:
-
错峰用:A早上做饭,B晚上做饭(时间上分时共享)
-
一起用:A用灶台炒菜,B同时用冰箱拿饮料(空间上分区共享)
操作系统干的活:协调程序们别抢资源(比如内存、硬盘),公平分配不打架。
(3)虚拟
是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。操作系统中的虚拟技术可以让用户感觉自己拥有比实际更多的资源,或者将物理资源以更易于管理和使用的形式呈现给用户。
虚拟内存技术就是一个典型的例子。当物理内存不够用时,操作系统会把一部分硬盘空间当作内存来使用,让程序以为自己有足够大的内存空间可以使用。还有虚拟机技术,它可以在一台物理计算机上模拟出多个不同的计算机环境,每个环境都可以独立运行不同的操作系统和软件,就好像有多个真实的计算机一样。
👉 举个栗子:
-
虚拟内存:电脑实际只有8GB内存,但系统让你感觉有16GB可用(不够时偷偷用硬盘临时顶替)。
-
虚拟机:一台电脑能分身成多个独立电脑,每个都能装不同系统(比如Mac里跑Windows)。
本质:用有限的硬件,忽悠程序们以为自己有专属资源。
(4)异步
在多道程序环境下,允许多个程序并发执行,但由于资源有限,它们并不是一直不间断地执行,而是走走停停,以不可预知的速度向前推进。
「任务干到一半可能被打断,但结果不会错」
👉 比如你去餐厅点餐:
-
服务员(操作系统)接到多个订单(任务),但上菜顺序不固定(谁先做好就先上)。
-
你点的红烧肉可能因为缺食材(资源有限)暂停,但最后一定会端上来(结果正确)。
关键:任务可能走走停停,但系统保证最终「该完成的都会完成」。