多道程序技术
考试要求: 掌握     
知识路径:  > 嵌入式系统软件基础知识  > 嵌入式操作系统基础知识  > 处理器管理  > 多道程序


 
       嵌入式操作系统可以分为两种类型:单道程序设计和多道程序设计。所谓单道程序设计,就是在操作系统当中,在任何时候只能有一个程序在运行。所谓多道程序设计,就是在操作系统当中,允许多个程序同时存在并运行。在现代操作系统当中,为了提高系统资源的利用率,普遍采用多道程序技术。
       下图是单道和多道程序设计的一个例子。甲、乙两个程序,它们在运行过程中都要用到CPU和输入/输出设备。如下图所示,我们用不同的方框来表示这两个程序对两种资源的使用情况,方框的长度表示使用的时间。
       
       单道与多道程序技术
       在单道程序设计的环境下,在任何时候,系统中只能有一个程序在运行,因此,这两个程序的执行只能顺序运行:首先执行程序甲,从t0时刻开始,到t6时刻结束。然后再执行程序乙,从t6时刻开始,一直到它所有的工作都已完成。
       在多道程序设计的环境下,允许多个程序同时运行,当一个程序在访问I/O设备时,会主动把CPU交出来,交由另一个程序去运行,这样就提高了系统资源的使用效率。具体来说,首先,在t0时刻,甲和乙都打算运行,它们的第一件事情都是进行I/O操作,由于资源有限,只能满足一个程序的请求。假设甲的请求得到满足,它先开始执行,从t0到t1,甲一直在使用I/O设备,在此期间,乙一直处于等待状态。在到达了t1时刻后,甲已经执行完了I/O操作,下一步要执行一小段CPU操作。这样,它就把刚刚占用的I/O设备释放出来,交给程序乙去使用。因此,在t1到t2期间,程序甲在使用CPU,程序乙在使用I/O设备,它们互不影响。在到达t2时刻后,甲又要执行一小段I/O操作,而乙恰巧要执行一小段CPU操作,因此,在t2到t3期间,它们相互交换了资源,继续执行。同样的情形也发生在t3时刻和t4时刻。但是在t5时刻,甲已经使用完了I/O设备,而乙仍然在使用CPU,因此甲只能处于等待状态,等到t6时刻再交换资源。这样一直进行下去,在t7时刻,甲执行完毕,在t8时刻,乙也执行完毕。显然,在多道程序设计的操作系统中,由于CPU和输入/输出设备的使用是并行进行的,因此在总的执行时间上要明显少于单道程序系统。
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有