虽然不同类型的操作系统各有其特点,但一般都具有并发性、共享性、虚拟性和异步性等共同的特征。
(1)并发性
并发指两个或多个事件在同一时间段内发生,而并行则指两个或多个事件在同一时刻发生。并发和并行是有区别的,在多处理器系统中,可以有多个进程并行执行,一个处理器执行一个进程。在单处理器系统中,多个进程是不可能并行执行的,但可以并发执行,即多个进程在一段时间内同时运行,但是每一时刻,只能有一个进程在运行,多个并发的进程在交替地使用处理器运行,操作系统负责进程之间的执行切换。简单地说,进程就是指处于运行状态的程序。
并发性改进了在一段时间内一个进程对CPU的独占,可以让多个进程交替使用CPU,从而有效提高系统资源的利用率,提高系统的处理能力,但也使系统管理变得复杂,操作系统要具备控制和管理各种并发活动的能力。
(2)共享性
共享是指系统中的资源可供多个并发执行的进程共同使用,共享可以提高系统资源的利用率。
并发性和共享性是操作系统的两个最基本的特征,它们互为存在条件。一方面,资源共享是以进程的并发执行为条件的,若系统不允许进程并发执行,也就不存在资源共享问题;另一方面,若操作系统不能对资源共享实施有效管理,则必将影响进程正确地并发执行,甚至根本无法并发执行。
(3)虚拟性
操作系统中的虚拟是指通过某种技术把一个物理实体变成若干个逻辑上的对应物。物理实体是实际存在的,对应物是虚拟的。例如,在分时系统中,虽然只有一个CPU,但每个终端用户都认为有一个CPU在专门为自己服务,即利用分时技术可以把物理上的一个CPU虚拟为逻辑上的多个CPU,逻辑上的CPU称为虚拟处理器。在操作系统中,虚拟主要是通过分时使用的方式实现的。(www.daowen.com)
(4)异步性
在多道程序环境下,允许多个进程并发执行,但由于资源及控制方式等因素的限制,进程的执行并非一次性地连续执行完,通常是以“断断续续”的方式进行。内存中的每个进程在何时执行,何时暂停,以怎样的速度进行,每个进程总共需要多长时间才能完成,都是不可预知的。先进入内存的进程不一定先完成,而后进入内存的进程也不一定后完成,即进程是以异步方式运行的。操作系统要严格保证,只要运行环境相同,多次运行同一进程,都应获得完全相同的结果。
前面提到操作系统像一个管理者,不过仔细观察其行为后可发现,其实操作系统是世界上最懒的管理者,因为它无时无刻不在“休息”。那它是如何工作的呢?
①操作系统的常态是睡觉,它不会主动做任何事。它是被“中断”后才起来做服务的,做完后又睡觉了。
②叫醒操作系统的方式叫作“中断”。中断的来源有三,有从硬件来的要求中断,有从软件来的要求中断,也有运行时碰到异常时来的要求中断。
③操作系统不是神,它的执行也需要CPU。它不过是一个复杂的软件罢了(现在的Linux是个百万行的程序),操作系统被叫醒后也需要CPU才能执行。
每当需要操作系统处理事务时,沉睡中的操作系统将会被唤醒,完成相应事务的处理。比如用户从键盘按下“A”键时,键盘会发出中断信号去叫醒操作系统,告诉它:“嘿,键盘的“A”键已经按下去了,你处理一下吧。”这时,操作系统醒来处理这个事件。又如用户程序在执行的过程中,需要读写文件,程序会产生一个中断请求,叫醒操作系统去处理读写文件事务。另外,如果程序在运行中出现了除以0等非正常事件,沉睡中的操作系统也会被唤醒,并处理相应的异常事件。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。