操作系统并发性(并发性是共享、虚拟、异步的前提,其中并发与共享互为前提)
并发是指同一时间间隔内执行和调度多个程序的能力。宏观上,处理机同时执行多道程序。微观上,处理机在多道程序间高速切换交替进行。(也是实际上处理机的操作,也称为分时交替执行)。(并发性主要指在一个时间间隔之内)
并行性(是同一时刻,发生的事件的数量。是平时理解的同时发生)并行性是有物理 极限的,与电脑的核数和线程数是有关系的。最大不能超过核数或是线程数。
操作系统共享性
同时共享:同一时间段允许多个程序同时访问共享资源
异步共享:独占式共享,允许多个线程在同一个共享资源上独立而互不干扰的工作。
(打印机、音频设备、设备设备)都是独占设备。
操作系统虚拟技术
通过虚拟技术把以物理实体虚拟成一个逻辑实体。有时分复用技术和空分复用技术。
时分复用,多个进程在同一处理器上,轮流交替使用处理器,每次占用一小片时间段迅速轮流交替执行。
空分复用,将物理内存抽象成地址空间每个进程都有各自的地址空间。地址空间的页被映射到物理内存,地址空间的页并不需要全部在物理内存中,当使用到一个没有在物理内存的页时,执行页面置换算法,将该页置换到物理内存中。(也就是指磁盘分卷)
操作系统的异步性
异步性,在(并发)执行多道程序时,每到程序何时获得运行时间片,因何暂停执行,每道程序需要多少时间,不同程序的性能(如计算量、输入/输出的多少)。都是不可预知的,所以在程序运行的过程中总是走走停停。
为什么共享和并发互为前提?为什么共享虚拟异步都以并发为前提?
并发是指在一个时间间隔内发生的,进程在这个时间间隔内轮流快速切换,在不同的进程中也许需要的数据是一样的,这样已经读取的数据是可以供不同的进程使用。
共享虚拟异步都是因为进程在执行的过程中轮流快速切换,交替进行引起的。
(上述笔记,作者自己总结。如果不正确的地方,欢迎指正。)