《《计算机控制技术》 机械第3版 习题及答案 第4章 计算机控制系统的软件.docx》由会员分享,可在线阅读,更多相关《《计算机控制技术》 机械第3版 习题及答案 第4章 计算机控制系统的软件.docx(16页珍藏版)》请在第一文库网上搜索。
1、第4章计算机控制系统的软件习题与思考题4-1计算机操作系统有哪些功能?4-2计算机操作系统有哪些种类?4-3计算机控制系统采用的操作系统有什么特点?4-4组态软件有哪些功能?4-5组态软件有哪些常用的组态方式?4-6查阅文献或网络搜索,了解常用的组态软件特点及其应用。4-7在计算机控制系统中采用数据库的意义是什么?4-8计算机控制系统应用软件的设计方法有哪些?4-9查阅文献,了解计算机控制系统设计中采用的现代软件技术。参考答案4-1计算机操作系统有哪些功能?答:计算机操作系统(简称为操作系统),是指用于管理和控制计算机软硬件资源,并且能为用户创造便利的工作环境的一组计算机程序的集合。计算机操作
2、系统的功能:一个操作系统主要有进程管理、作业管理、文件管理、设备管理和存储器管理5种基本功能。1)进程管理进程和作业是计算机系统资源的分配对象,也是系统中的运行单位。进程可以定义为“是程序关于某个数据集合的可并发的一次运行活动”。这样的定义可能抽象了一点,但也可以这样来理解:首先,进程是一个动态的概念,也就是说进程是程序运行的动态过程,而程序是进程的静态文本;其次,进程的实体是程序和数据的集合;再者,进程是可并发的运行单位。读者还应该清楚的是,进程和程序之间并不存在一一对应的关系,多个进程可以执行同一个程序;反之,一个进程也可以包括多个程序,即多个程序共同组成一次运行活动。由于现代计算机系统多
3、数为多任务系统,也就是说计算机往往要“同时”运行多个程序,所以,操作系统要对这些程序的运行进行管理。操作系统对进程的管理包括:进程的建立、终止、挂起、激活、阻塞和唤醒。同时,操作系统还要为运行的程序以及相关的数据分配内存空间,并为各进程间的通信进行管理。在相当长的一段时间内,进程都是可调度的最小单位,直到Microsoft在WindowsNT中提出了线程的概念。关于线程的概念本书将在稍后介绍。2)作业管理作业就是用户为完成一次事务处理而交给计算机的一项任务。它是系统中最大的工作单位。例如,用户为了完成某种科学汁算;首先用C语言编制一个源程序USERC完成编辑后,再利用编译程序对USER.C进行
4、编译,从而得到目标程序USER.OBJ,再利用连接程序进行连接后,得到可执行文件USER.EXE,最后运行USER.EXE,即可得到运算结果。完成以上全过程的工作就称为一次作业,而其中的各步骤就称为作业步。确切地说,一次作业可能需要执行为完成同一任务的若干个程序,这些程序不仅包括用户自己编写的程序,也包括为用户服务的系统程序。作业管理的任务就是为方便用户建立作业,组织调用系统内部资源执行,并在完成任务后将其撤消。3)存储器管理存储器是计算机系统重要的硬件资源,任何程序和数据都必须占有一定的存储空间。存储器分为内存和外存两部分,存储器管理主要是指内存管理。存储器管理的两个基本目的:一是为用户使用
5、存储器提供方便,二是充分提高内存的利用率。存储器管理涉及以下4个问题:(1)内存分配:主要是解决如何为多个程序(确切地说是进程或作业)分配其运行所需要的内存空间。有静态分配和动态分配两种方法。(2)地址映射:作用是将用户给出的逻辑地址变换成内存空间中的物理地址。地址映射也有静态映射和动态映射两种方式。(3)内存保护:内存保护为多个进程共存于内存提供了保证,确保各个进程的内存区不受其他进程侵犯。仅靠内存分配和地址映射并不能完全解决内存保护问题,必须在程序执行过程中随时检查对内存的访问,以保证各个程序都在自己所属的内存空间中工作。(4)内存扩充:由于内存空间是有限的,为了既满足大作业存储的需要,又
6、能够在内存中尽可能多些用户程序,给它们分配能够有效运行的内存空间,许多计算机系统都采用内存扩充技术。这种扩充并不是增大内存的物理容量,而是对内存空间的逻辑扩充,即通过软件方法将内存空间扩充成比实际容量更大的逻辑存储空间。4)设备管理设备管理的任务是根据用户的需求接入外部设备,并尽可能地提高设备的利用率。设备管理的功能包括:按照一定的算法分配设备;控制和实现输入输出操作,如通道程序控制、启动设备、及时响应及处理中断信号;对输入输出缓冲区进行管理;实现虚拟设备技术。5)文件管理程序、数据等在计算机系统中都以文件的形式存放,计算机操作系统的一项重要任务就是对其进行管理。文件管理的功能包括:文件目录管
7、理、文件存储空间管理、文件的保护与保密、文件系统的使用与执行。4-2计算机操作系统有哪些种类?答:按照不同的分类方法,可以将操作系统进行不同的分类,一般分为以下6类:D顺序执行系统即系统内只含一个运行程序,该程序独占CPU的时间,并按程序语句的顺序执行,直至执行完毕,另一程序才能启动执行。例如,DoS操作系统就属于这种类型。2)分时操作系统分时操作系统将时间分为多个时间片。例如,每个时间片的时间为几十到几百亳秒。由于CPU的运行速度非常快,而用户的操作速度和反应速度相对比较缓慢。因此,只要用户的数目不是很多,每个用户都会感到自己是在独享计算机的全部资源。UNIX就是典型的分时操作系统。只要不是
8、实时性要求非常强的计算机监控系统,也可以使用分时操作系统。3)实时操作系统实时操作系统内可以“同时.”有多道程序在运行,每道程序都有相应的优先级别。程序的运行是事件驱动的,当有多个事件同时出现时,操作系统就按事件的优先级别确定哪道程序此时此刻占有CPU,以保证优先级别高的事件实时信息被采集。实时操作系统是操作系统的一个分支,也是最复杂的一个分支之一。4)批处理操作系统批处理操作是指操作员将用户提供的若干个作业以“成批”的方式提交给计算机,而计算机操作系统根据系统的资源,统一对作业进行处理。批处理操作系统又可以进一步分为:单道批处理操作系统和多道批处理操作系统。5)网络操作系统计算机网络是多台位
9、于不同地理位置的计算机通过通信介质连接起来的系统,其目的是为了达到资源共享。网络操作系统可以视为网络用户与网络之间的接口。网络操作系统提供了网络用户之间进行通信的协议。用户在使用其他用户的资源是必须知道其网络地址。常用的网络操作系统有WindOWSNT、NetWare等。UN1X操作系统虽然往往不被人们认为是网络操作系统,但是,它实际上具有网络操作系统的功能。6)分布式操作系统分布式操作系统用于管理分布式计算机系统,而分布式计算机是指多台不具有共享内存的计算机通过通信介质连接在一起的一台虚拟的计算机。用户在使用分布式计算机时,不必关心计算机系统的资源在什么地方、什么时间工作以及系统资源是如何调
10、配的。当用户将一个复杂的任务交给计算机时,分布式操作系统就可以根据分布计算机系统现有的资源,将任务分解到各个计算机,并且在完成任务的过程中,各计算机相互通信、相互协调。以上分类方式并不是绝对的,有的操作系统可以同时具有除了分布式操作系统外的几种特征,如UNIXo4-3计算机控制系统采用的操作系统有什么特点?答:计算机控制系统一般包括三大部分;一是以计算机为核心的连接生产过程的硬件部分:二是根据描述工艺流程或生产规律的数学模型对生产过程进行监测与控制的应用软件部分,或称为实时作业部分;三是用于对计算机硬件、实时作业进行控制与管理的实时操作系统部分。实时操作系统是具有实时特性,能管理控制实时系统有
11、效工作的操作系统。“实时”在这里不仅是指系统能及时响应外部“事件”的请求,在规定的时间内完成对事件的处理,而且对系统中各种有很强定时限制的任务活动给予足够的支持和保证。虽然各类操作系统的基本原理是相同的,但实时操作系统与通用操作系统在设计目标、技术性能及功能上有许多不同之处;即使同是实时操作系统,也会随设计目标、所基于的硬件及适应的应用环境不同,其性能有程度上的差别。例如,用于过程控制的计算机实时控制系统与用于银行、旅馆、机票订购等方面的实时信息处理系统,它们配置的尽管都是实时操作系统,但在实时性、交互作用性及时钟、中断、设备管理等方面存在着差异。(1)正确性正确性是实时操作系统存在的基础,保
12、证实时操作系统正确性的措施要贯穿在设计、调试、维护整个过程中。实时操作系统是并发系统,其规模不但较大,复杂程度亦不言而喻。因此,在设计过程中,应采用工程化设计方法,在技术上则应根除死锁及那些与时间有关的错误。(2)实时性在计算机控制系统中,实时性一般是指:系统要以足够快的速度响应外部事件的请求。对于一些闭环控制系统的特定事件请求,不仅要考虑响应事件请求所需时间的长短,还要考虑事件处理时间及根据处理结果进行反馈控制的时间。实时系统中的许多任务都有显式定时限制,要求在规定的时刻或一定的时间范围内完成其处理,系统的正确性不仅依赖于任务的逻辑结果,而且依赖于产生该逻辑结果所需要的时间。系统中一些数据的
13、产生及保存也有很强的时间性,有一定的时效期,过时就会变得无意义,并使由此而做出的决策或推导失效。不同的控制对象,对实时性的要求也是不同的,有的为微秒级或毫秒级,有的为秒级甚至更长。因此,实时性不能单纯以绝对的时间长短来衡量,快或慢仅为相对量,应当根据不同的对象,在相对意义上进行评价。实时操作系统对以上实时需求应有足够的支持和保证,这就需要在设计实时操作系统时采用支持上述实时应用的技术、算法和机制。相对通用操作系统,实时操作系统是专用系统,但在一定范围内又具有通用性。因此,在设计实时操作系统时,有关实时性的考虑就不仅要满足特定对象的需求,还应当满足在一定范围内对实时性的要求。影响实时性的因素较多
14、,实时性的高低往往受计算机软、硬件性能的制约。在硬件方面,如内存访问时间,磁盘的存取时间,处理器、通道、总线的速度,中断响应延迟时间等。在软件方面,任务调度策略、共享冲突的协调、中断优先级安排及中断管理策略、输入输出控制策略及相关算法的优劣等。在硬件性能一定的情况下,实时性主要由实时操作系统及实时任务的正确设计来保证。应当说,设计一个实时性要求不高的实时操作系统并不存在什么技术困难,然而,对一个实时性要求很高或较高的系统,与上述有关的设计就非轻而易举。(3)高度可靠性可靠性是计算机实时控制系统一个很重要的性能指标。可靠性是指在规定条件下和给定的时间内,系统正确运行的概率。显然,正确运行的时间越
15、长,可靠性越高。可靠性差的系统不但不能体现计算机控制的优越性,反而会造成浪费,甚至会带来灾难性的后果。可靠性是计算机控制系统设计中的关键问题之O可靠性很高的系统也不能保证其不出差错,即使在系统设计(包括软硬件设计)完全正确的情况下,也可能因器件异常、环境干扰等导致系统失误,问题在于系统能否随机诊断出错误以及发现错误后是否具有容错能力,以便系统能继续正确运行或降级运行。影响可靠性的因素较多,例如环境干扰、掉电、器件损坏失效、工作状态无目的地改变、程序执行异常、内存数据跳变等,这些随机发生的故障可能是瞬时的,也可能是永久性的,无规律可寻,给可靠性设计带来困难。目前己见使用的提高可靠性的措施有硬软件
16、冗余、故障诊断,指令复执与程序卷回、降级使用等技术。需要注意的是,任何一个可靠的计算机实时控制系统,无不是软硬件共同作用的结果,单靠软件或硬件方法只能在一定范围内解决问题;同时还应注意到,可靠性设计必然会对系统的时空开销、效率及实时性产生影响,耗费代价亦不可忽视,因此,需要在可行性、功效性、副作用及软硬分担方面进行权衡。(4)安全性安全性指实时操作系统对可能使计算机控制系统遭受危害、影响系统正确运行的防护能力。尽管安全性与可靠性在概念上有区别,然而一个安全性差的系统,其可靠性必然会受到影响。为了保证和提高系统的安全性,实时操作系统应区分不同情况采取不同的防护措施。对程序、数据的安全保护,尤其是操作系统本身的安全问题,可采用隔离、充分备份等方法,如果可能的话,将程序和一些常量固化在只读存储器中效果更好。可以采用口令、