操作系统的特征
四大特征:并发 共享 虚拟 异步
并发
区分并发和并行:
并发是指宏观上同时发生,实际上交替发生,例如单核CPU处理多个程序,可以并行执行
并行是指多个事件在时间维度上同时发生,例如多核CPU处理多个程序,可以并发执行
共享
两种资源共享方式:互斥共享,同时共享。在时间维度上进行区分,就是一个时间段能不能访问一个资源。
同时共享:多个进程“同时(实际上还是宏观上的同时)访问一个资源。
互斥共享:一个时间段只允许一个进程访问该资源
并发与共享之间的关系:失去并发,那么只会存在一个程序运行,就不会出现共享;失去共享,多个程序就不能同时访问资源,也就无法并发
虚拟
将物理意义上的变为逻辑上对应的。
空分复用技术(如虚拟存储器技术):
问题:N多个程序的运行内存超出一台电脑的运行内存,为什么还可以跑呢
答案:在计算机中,内存是用于存储正在运行的程序及其数据的地方,而CPU(中央处理器)则是实际执行程序的“大脑”。如果一个程序需要的内存大于CPU内存,那么它可能需要在硬盘上进行大量的数据交换,这将会导致计算速度变慢。但是,大多数现代操作系统中都会使用虚拟内存技术,这意味着它们会在硬盘上创建一个称为“页面文件”的特殊文件,用于保存内存中的部分内容。当CPU需要访问在内存中不存在的数据时,它会从页面文件中检索出这些数据,并将它们放入内存中。虚拟内存技术使得即使程序需要的内存大于CPU内存,它也可以在计算机上运行,只是速度较慢。但是,在一些情况下,程序可能会因为内存不足而崩溃或者运行缓慢。
时分复用技术(如虚拟处理器):
问题:单核CPU为什么能同时运行多个程序
答案:单核CPU能够同时运行多个程序的原因是因为操作系统采用了时间分片技术。即CPU执行某个程序一段时间后,暂停该程序的执行,切换到另外一个程序的执行,然后再切换回来,循环执行这个过程。每个程序都会被分配一小段时间来执行,这样就可以模拟出同时运行多个程序的效果。当多个程序同时运行时,操作系统会对它们进行调度,为每个程序分配一个时间片,时间片的长度一般非常短,以毫秒为单位。当一个程序的时间片用完后,操作系统会将该程序的状态保存起来,然后将CPU调度给另外一个程序执行,如此轮流执行多个程序。这样,即使只有单核CPU,也可以让用户感觉到多个程序在同时运行。当然,多个程序同时运行也会对CPU造成较高的负载,导致系统运行变慢或出现卡顿等情况。所以,在设计或使用计算机时,需要考虑CPU的数量、性能等因素来保证系统运行效率。
异步
多道程序环境下,允许多个程序并发执行,但因为资源的问题,进程可能不是一直执行的,可能会出现等待等等情况
只有系统拥有并发性才可能导致异步性。