作为一种系统软件,操作系统有着与其他软件相比所不同的特征。
并发性
并发性是指计算机系统中同时存在若干个运行着的程序,从宏观上看,这些程序在同时向前推进。
进一步分析,计算机程序的并发性体现在如下具体两个方面,用户程序与用户程序之间并发执行,用户程序与操作系统程序之间并发执行。
实际上从微观上看,在单处理器的环境下,这些同时运行着的程序是交替在处理器上运行的,在多处理器系统的环境中,多个程序的并发特征,不仅在宏观上是并发的,而且在微观上,即在处理器一级上,程序也是并发执行的。而在分布式系统中,多个计算机的并存,使得程序并发特征得到了更充分的体现,因为在每个计算机上都可以有程序执行,它们共同构造成了程序并发执行的图景。
这里有说到两个相似的概念,并发现以及并行性。这两个概念是有区别的,并行性是指两个或多个事件在同一时刻发生,这是一个具有微观意义的概念,即在物理上这些事件是同时发生的。而并发性是指两个或多个事件在同一时间间隔内发生,它是一个较为宏观的概念,与所使用的时间间隔相对应的、有某种程度的统计意义,换句话说,这里并行的若干个事件一定是并发的,反之则不然。在单处理器系统中,多个程序的并发执行,不具有任何的并行性,因为他们在微观上确实是顺序执行的,没有任何两条指令是并行执行的。
共享性
共享性是指操作系统程序与多个用户程序,共用系统中的各种资源。这种共享性是在做系统控制下实现的,资源的共享性主要针对计算机系统的如下几个重要资源。
中央处理器。中央处理器是所有程序都必须使用的最重要的资源,操作系统必须采用恰当的调度策略,对多个并发程序分配处理器资源。
内存储器。任何一个程序必须首先调入内存之后才能执行,管理内存的公共使用是操作系统的重要功能之一。
外存储器。外存储器主要用于保存各种程序和数据,这些程序和数据一般以文件的形式存储在外存储器上,外存储器有各种类型,如硬盘,软盘,时代,可读写光盘等,这些外存储器都是为所有的程序和数据共享的,操作系统同样必须对外存储器的共享进行管理,并且保证外存储器中所有程序和数据的完整性和正确性。
外部设备。计算机中的外部设备是供所有的用户使用的,这些用户包括操作系统,系统用户(如管理员)和普通用户。操作系统必须对这些用户,对外部设备的使用要求作出管理,使所有外部设备能够按照一定的策略被全部用户所共享。
在计算机系统中,对资源的共享一般有两种形式:互斥共享和同时共享。
互斥共享。系统中的有些资源,比如打印机,磁带机,扫描仪等,虽然可以供多个用户程序同时使用,但是在一段特定的时间内,只能由某一个用户程序使用。当这个资源正在被用户使用的时候,其他请求该资源的程序必须等待,并且在这个资源被使用完了之后才有操作系统,根据一定的策略在选择一个用户程序占有资源,通常把这样的资源称为临界资源,许多操作系统维护的重要系统数据都是临界资源,他们都要求被互斥共享。
同时共享。系统中还有一类资源,他们在同一段时间内可以被多个程序同时访问,需要说明的一点是,这种同时访问是指宏观上的同时,微观上这些程序访问这些这个资源有可能还是交替进行的,而且它们交替访问这个资源的顺序,对访问结果没有什么影响,一个典型可以同时共享的资源就是硬盘,当然那些可以重入的操作系统代码也是可以被同时共享的。
随机性
操作系统的运行是在一种随机的环境下进行的,这种随机环境的含义是,操作系统不能对所有运行的程序的行为以及硬件设备的情况作出任何事先的假定,显然,一个设备可能在任何时候向处理器发出中断请求,而用户提交的运行着的程序,要做什么事情也无法事先预知到。婴儿一般来说操作系统正在处于什么状态之中,是无法确切知道的,这就是随机性的含义,但是,随机性并不意味着操作系统不能很好的控制资源的使用和程序的运行随机性突出强调了在操作系统的设计与实现时要充分考虑各种各样的可能性,操作系统本身应该稳定,可靠,安全,高效,实现程序并发和资源共享的目的。