本文参考《计算机操作系统》(第四版)
编著:汤小丹、梁红兵、哲凤屏、汤子瀛
批处理系统有着高的资源利用率和系统吞吐量;分时系统能获得及时的响应;实时系统具有实时特征。
除此之外,他们还共同具有并发、共享、虚拟和异步四个特征。
并发
并行性:
是指两个或多个事件在同一时刻发生(例如A和B一起到营业厅同时办理业务)
并发性:
是指两个或多个事件在同一时间间隔内发生(例如B排在A后面,等A办理完了业务才轮到B)
所以并行是同时,并发是分时
进程:
所谓进程,是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。多个进程间可以并发执行和交换信息。
共享
在OS环境下的资源共享或称为资源复用,是指系统中的资源可供内存中多个并发执行的进程共同使用。这里再宏观上既限定了时间(进程在内存期间),也限定了地点(内存)。目前主要实现资源共享的方式有如下两种:
互斥共享方式
系统中的某些资源,例如打印机、磁带机等,虽然可以提供给多个进程(线程)使用,但应规定在一段时间内,只允许一个进程访问该资源。
当进程A要访问某资源时,必须先提出请求。若此时该资源时空闲的,系统便可以将之分配给请求进程A使用。伺候若有其他进程也要访问该资源,只要A未用完就必须等待。仅当A进程访问玩并释放系统资源后,才允许另一进程对该资源进行访问。
把这种在一段时间内只允许一个进程访问的资源,称为临界资源。
同时访问方式
系统中还存在另一类资源,允许在一段时间内由多个进程“同时”对它们进行访问。这里所谓的“同时”,在单处理机环境下是宏观意义上的,而在微观上,这些进程对该资源的访问是交替进行的。
虚拟
在OS中,把通过某种技术将一个物理实体变为若干个逻辑上对应物的功能称为“虚拟”。在OS中利用时分复用技术和空分复用技术来实现“虚拟”。
简单理解,时分复用技术是通过利用处理机的空闲时间运行其他程序,提高了处理机的利用率;空分复用技术则是利用存储器的空闲时间分区域存放和运行其他的多道程序,以此提高内存利用率。但是,单纯的空分复用存储器只能提高内存的利用率,并不能实现在逻辑上扩大存储器容量的功能,还必须引入虚拟存储技术才能达到此目的。
虚拟存储技术在本质上是实现内存的分时复用,即它可以通过分时复用内存的方式,使一道程序仅在远小于它的内存空间中运行。例如一个100M的应用程序之所以可以运行在30MB的内存空间,实质上就是每次只把用户程序的一部分调入内存运行,运行完成后将该部分换出,再还如另一部分到内存中运行,通过这样的置换功能,便实现了用户程序的各个部分分时地进入内存运行。
异步
在多道程序环境下,系统允许多个进程并发执行。在但处理机环境下,由于系统中只有一条处理机,因而每次只允许一个进程执行,其余进程只能等待。
对于内存中的每个进程,在何时能获得处理机运行,何时又因提起某种资源请求而暂停,以及以怎样的速度向前推进,每道程序总共需要多少时间才能完成等等,都是不可预知的。
进程是以人们不可预知的速度向前推进的,这就是进程的异步性。